OSDN Git Service

* function.c (assign_stack_temp_for_type): Clear alias set before
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2
3         * function.c (assign_stack_temp_for_type): Clear alias set before
4         setting new one.
5
6 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
7
8         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
9         format.
10         * rs6000.md (cmptf): Fix typo.
11
12 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
13
14         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
15         * varasm.c (output_constructor): Use assemble_integer rather
16         than ASM_OUTPUT_BYTE.
17
18 2001-11-23  Andreas Jaeger  <aj@suse.de>
19
20         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
21         extension.
22
23 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
24
25         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
26         default definition.
27         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
28         (MULTILIB_DEFAULTS): Remove previous definition.
29
30 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
31
32         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
33         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
34
35 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
36
37         * cris.h: Revert thinko in last patch.
38
39 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
40
41         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
42         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
43         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
44         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
45         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
46         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
47
48         * predict.c, reg-stack.c: Fix spelling errors.
49
50 2001-10-09  Andrew Haley  <aph@redhat.com>
51
52         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
53         start of stack slot.
54
55 2001-11-22  Graham Stott  <grahams@redhat.com>
56
57         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
58         replacement jump after original jump.
59
60         (verify_flow_info): Remove redundent initialisation.
61         Handle reaching end of insn list before finding a BARRIER.
62         Only issue one missing barrier diagnostic.
63
64 2001-11-22  Graham Stott  <grahams@redhat.com>
65
66         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
67
68 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
69
70         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
71         insn actually does.
72
73 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
74
75         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
76         Fix typo -mm32rx=> -m32rx.
77
78         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
79         targets.
80
81         * config.gcc (xscale-coff): Add necessary header files to
82         tm_file variable.
83
84 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
85
86         * rs6000.c (output_cbranch): Use $, not %$, in output template.
87
88 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
89
90         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
91         (lang_type_quals): Declare.
92         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
93         retrieve language-specific qualifiers for a type node, instead of
94         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
95         lang_dump_tree.
96         * tree-dump.h: Rename from c-dump.h.
97         * c-common.h (C_TYPE_QUALS): Removed.
98         Move declarations for tree-dump.c interface to...
99         * tree.h: ... here. Remove lang_dump_tree.
100         * langhooks.h (struct lang_hooks_for_tree_dump): New.
101         (struct lang_hooks): Add tree_dump hooks.
102         * langhooks.c (lhd_tree_dump_dump_tree): New function.
103         (lhd_tree_dump_type_quals): New function.
104         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
105         Declare.
106         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
107         * Makefile.in: Move tree-dump.o to language-independent back-end.
108
109 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
110
111         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
112         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
113         * arc.h (DBX_REGISTER_NUMBER): Likewise.
114         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
115         * avr.h (DBX_REGISTER_NUMBER): Likewise.
116         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
117         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
118         * convex.h (DBX_REGISTER_NUMBER): Likewise.
119         * cris.h (DBX_REGISTER_NUMBER): Likewise.
120         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
121         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
122         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
123         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
124         * i370.h (DBX_REGISTER_NUMBER): Likewise.
125         * i860.h (DBX_REGISTER_NUMBER): Likewise.
126         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
127         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
128         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
129         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
130         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
131         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
132         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
133         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
134         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
135         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
136         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
137         * romp.h (DBX_REGISTER_NUMBER): Likewise.
138         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
139         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
140         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
141         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
142         * v850.h (DBX_REGISTER_NUMBER): Likewise.
143         * vax.h (DBX_REGISTER_NUMBER): Likewise.
144         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
145
146         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
147         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
148
149 2001-11-21  H.J. Lu <hjl@gnu.org>
150
151         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
152
153 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
154
155         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
156         emit_cmp_and_jump_insns.
157
158         * stormy16.c (xstormy16_expand_builtin_va_arg,
159         xstormy16_expand_casesi): Likewise.
160
161 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
162
163         * function.c (keep_stack_depressed): Major rework.
164         (handle_epilogue_set, emit_equiv_load): New functions.
165         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
166         has return value.
167         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
168         * rtl.h (SET_IS_RETURN_P): New macro.
169
170         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
171         and also support TREE_ADDRESSABLE.
172         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
173
174 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
175
176         * rs6000.md (cmptf_internal1): Replace %$ with $.
177
178 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
179
180         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
181         (read_include_file): Use STAT_SIZE_TOO_BIG.
182
183         * cppinit.c (INO_T_COPY): Define.
184         (INO_T_EQ): Uppercase parameters.
185         (append_include_chain): Use INO_T_COPY.
186
187 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
188
189         * cfg.c: Fix typos and formatting in the introductory comment.
190
191 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
192
193         * profile.c (compute_branch_probabilites):  Compute probabilities
194         for entry/exit edges; estimate probabilities for zero counts.
195
196 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
197
198         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
199         to emit_library_call.
200         * function.c (expand_main_function, expand_function_start,
201         expand_function_end): Likewise.
202         * profile.c (output_func_start_profiler): Likewise.
203         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
204         second argument to emit_library_call.
205         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
206         as second argument to emit_library_call.
207         * calls.c (emit_library_call): Update fn_type description.
208
209 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
210
211         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
212         if fndecl is still DECL_INLINE and has DECL_RESULT.
213
214 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
215
216         * clipper.c (clipper_movstr): Avoid uninitialized warning.
217         * i960.c (is_mask, legitimize_address): Likewise.
218         * m88k.c (m88k_expand_prologue): Likewise.
219         * m88k.md: Likewise.
220         * mcore.c (emit_new_cond_insn): Likewise.
221         * stormy16.c (xstormy16_emit_cbranch): Likewise.
222
223 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
224
225         * config.gcc: Delete powerpcle-*-solaris2* stanza.
226         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
227         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
228         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
229         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
230         config/rs6000/t-ppcos: Expunge all references to Solaris.
231
232         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
233
234         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
235         output templates.
236         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
237         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
238
239 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
240
241         * sh.md: Avoid uninitialized warnings.
242         * vax.c (vax_rtx_cost): Likewise.
243
244 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
245
246         * rs6000.c (direct_return): Check if we are saving altivec
247         registers.
248         (first_altivec_reg_to_save): New.
249         Updated stack frame layout comments.
250         (rs6000_stack_info): Calculate altivec register save size.
251         Save link register if we saved some altivec registers.
252         (rs6000_stack_info): Align save size to 16 if altivec abi or
253         abi_darwin.
254         (rs6000_stack_info): Calculate altivec register offsets.
255         (rs6000_stack_info): Add altivec info to save_size.
256         (debug_stack_info): Add altivec debug info.
257         (rs6000_emit_prologue): Save altivec registers and vrsave.
258         (compute_vrsave_mask): New.
259         (altivec_expand_builtin): Remove unused variables.
260         (rs6000_parse_abi_options): Add static qualifier.
261         (rs6000_expand_builtin): Remove unused parameters.
262         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
263         (altivec_init_builtins): Same.
264         (is_altivec_return_reg): New.
265         (vrsave_operation): New.
266         (ALTIVEC_REG_BIT): New.
267         (generate_set_vrsave): New.
268
269         * rs6000.md (get_vrsave): New.
270         (set_vrsave): New.
271         (*set_vrsave_internal): New.
272
273         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
274         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
275         altivec_padding_size, vrsave_mask.
276         (TOTAL_ALTIVEC_REGS): New.
277         (EPILOGUE_USES): Add VRSAVE_REGNO.
278
279 2001-11-20  Jeff Law <law@redhat.com>
280
281         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
282         exit label as necessary.
283
284 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
285
286         * reload1.c (elimination_effects): Use function_invariant_p
287         instead of CONSTANT_P when considering register equivalences.
288
289 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
290
291         * config.gcc: Add FreeBSD/PowerPC target.
292         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
293         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
294         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
295         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
296         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
297         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
298         freebsd-spec.h to tm_file.
299         (rs6000-*-lynxos*): Add lynx.h to tm_file.
300         * config/freebsd.h: Tidy up.
301         (USING_CONFIG_FREEBSD): Define.
302         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
303         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
304         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
305         (TARGET_HAS_F_SETLKW): Define.
306         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
307         * config/freebsd-spec.h: New file.
308         * config/rs6000/freebsd.h: New file.
309         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
310         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
311         USING_SVR4_H to know when to turn on ELF support.
312         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
313         define only if not already defined.
314         Add FreeBSD support.
315         * config/rs6000/aix.h (TARGET_VERSION): Define.
316         * config/rs6000/beos.h: Likewise.
317         * config/rs6000/darwin.h: Likewise.
318         * config/rs6000/mach.h: Likewise.
319         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
320         Don't include lynx.h directly.
321
322 2001-11-20  Graham Stott  <grahams@redhat.com>
323
324         * unwind-dw2-fde.c (__deregister_frame_info_bases):
325         Fix lossage in last change return OB.
326
327 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
328
329         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
330         Remove unneeded exit related macros.
331
332 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
333
334         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
335
336         * rs6000.c (rs6000_emit_move): Add TFmode case.
337         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
338         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
339         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
340         * rs6000.h: ... to here.
341         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
342         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
343         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
344
345 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
346
347         * emit-rtl.c (get_mem_attrs): Fix typo.
348
349 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
350
351         * c-lang.c (finish_file): Backout 2001-11-16
352         changes, instead set DECL_DEFER_OUTPUT for static inline functions
353         before calling c_expand_deferred_function.
354
355 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
356
357         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
358         Don't register empty .eh_frame sections.
359         (__deregister_frame_info_bases, __deregister_frame): Don't
360         unregister them either.
361
362 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
363
364         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
365         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
366         * configure: Regenerate.
367         * config.in: Add dummy definitions of new flags.
368         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
369         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
370         * gcc.c (ASM_DEBUG_SPEC): New macro.
371         (asm_debug): New static variable.
372         (default_compilers): Add asm_debug when assembling from
373         user input.
374         (static_specs): Add asm_debug.
375
376 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
377
378         * config.gcc (*-*-freebsd*): Remove configuration block.
379
380 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
381
382         bootstrap/4422
383         * configure.in: Setup ability to run ./stage[1234]/xgcc in
384         fixinc *as if* it were a proper lang subdirectory.
385         * configure: Rebuilt.
386
387 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
388
389         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
390
391 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
392
393         * 1750a.md: Don't use hex format for a const_int.
394
395 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
396
397         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
398
399 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
400
401         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
402         defined (prevents link errors when gettext isn't in the system
403         library).
404
405 2001-11-19  DJ Delorie  <dj@redhat.com>
406
407         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
408         (validate_const_int): New.
409         (read_rtx): Validate constant integers.
410         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
411
412 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
413
414         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
415
416 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
417
418         * toplev.c (DUMPFILE_FORMAT): Define default.
419         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
420         (close_dump_file, compile_file): Likewise.
421         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
422         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
423
424 2001-11-19  Jeff Law <law@redhat.com>
425
426         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
427         a nop-jump.
428
429 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
430
431         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
432         Don't fall off the base token run.
433
434 2001-11-19  Jason Wilkins <fenix@io.com>
435
436         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
437
438 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
439
440         * tree.def (VIEW_CONVERT_EXPR): New tree code.
441         * tree.h (handled_component_p): New declaration.
442         * alias.c (handled_component_p): Move function from here ...
443         * expr.c (handled_component_p): ... to here and non longer static.
444         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
445         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
446         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
447         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
448         (expand_expr, case VIEW_CONVERT_EXPR): New case.
449         (expand_expr, cse ADDR_EXPR): No need to copy if already
450         BIGGEST_ALIGNMENT.
451         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
452         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
453         (output_constant): Handle VIEW_CONVERT_EXPR.
454         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
455         Add new case for VIEW_CONVERT_EXPR.
456
457 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
458
459         * a29k/unix.h (ASM_FILE_START): Const-ify.
460         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
461         * i386/isc.h (ASM_FILE_START): Const-ify.
462         * i386/sun386.h (ASM_FILE_START): Likewise.
463         * m32r.md: Likewise.
464         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
465         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
466         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
467         * mn10200.md: Initialize variable.
468
469 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
470
471         * gcse.c (try_replace_reg): Copy RTX before creating note.
472
473         * df.h (df_ref_flags): New uenum.
474         (DF_REF_FLAGS): New macro.
475         (struct ref): Add field "flags".
476         * df.c (HANDLE_SUBREG): Remove.
477         (df_ref_create): Likewise; set flags field of ref.
478         (df_def_record_1): Strip down read_write subreg; remove
479         commented out code; set READ_WRITE flag.
480         (read_modify_subreg_p): New static function.
481         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
482         new argument "flags".
483         (df_insn_refs_record): Update call of df_uses_record.
484         (df_insn_modify): Avoid #if 0 around comment.
485         (df_dump): Dump the read/write flag.
486
487         * predict.c (propagate_freq): Make cyclic_probability and frequency
488         volatile
489
490         * i386.c (ix86_cc_mode): Accept USE.
491
492         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
493         jump is turned into simplejump.
494
495 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
496
497         * doc/fragments.texi, doc/trouble.texi: Remove links to old
498         installation chapter.
499         * doc/gcc.texi: Don't claim that this manual documents
500         installation.  Mark Installation menu entry as being out of date.
501
502 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
503
504         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
505         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
506         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
507
508 2001-11-19  Jason Merrill  <jason@redhat.com>
509
510         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
511         cur_token, not after.
512
513         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
514         Lose ASM_OUTPUT_CONSTRUCTOR.
515         * system.h: Poison it and INT_ASM_OP.
516         * c-lang.c (finish_file): Don't check for it.
517         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
518
519 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
520
521         * mmix.c (mmix_cc1_ignored_option): Const-ify.
522         (mmix_init_machine_status): Make static to match declaration.
523         (mmix_unique_section): Const-ify.
524         (mmix_output_quoted_string): Avoid automatic aggregate
525         initialization.
526         (mmix_output_register_setting): Likewise.
527         (mmix_output_shiftvalue_op_from_str): Likewise.
528
529         * mmix.h (mmix_cc1_ignored_option): Const-ify.
530         (ASM_OUTPUT_BYTE): Fix format specifier warning.
531         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
532
533 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
534
535         PR c/4448
536         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
537         name __objc_thread_exit_status so that it matches the
538         variable defined in objc/thr.h.
539
540 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
541
542         PR bootstrap/4020
543         * mklibgcc.in: Add missing semi-colons.
544         * Makefile.in: Same.
545
546 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
547
548         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
549         after re-laying out decl in incomplete case.
550         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
551
552 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
553
554         * doc/install-old.texi: Move some sections out to ...
555         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
556         ... here.  New files.  Make into chapters rather than sections.
557         * doc/gcc.texi: Include the new files and add menu entries for
558         them.
559         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
560
561 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
562
563         * tree.h (TYPE_ALIGN_OK): New flag.
564         * emit-rtl.c (set_mem_attributes): Handle it.
565         * expr.c (emit_single_push_insn): Only set to alias set 0 if
566         doing sibcall optimization.
567         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
568         when make temporary.
569         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
570         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
571
572         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
573
574 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
575
576         * c-decl.c (c_decode_option): Give deprecation warning for
577         -traditional.
578         * doc/invoke.texi (-traditional): Note that this option is
579         deprecated.
580
581 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
582
583         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
584         arg to HOST_WIDE_INT, not long.
585
586         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
587         (HAS_INIT_SECTION): Define.
588         (REAL_ARITHMETIC): Don't undefine.
589
590 2001-11-18  Egor Duda  <deo@logos-m.ru>
591
592         * config/i386/cygwin.h: Strip leading '*' from name, if any.
593
594 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
595
596         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
597         * c-common.c: Include diagnostic.h.
598         (c_common_finish): New.
599         * c-common.h (c_common_finish): New.
600         * c-lang.c (LANG_HOOKS_FINISH): Override.
601         * c-parse.in: Don't include diagnostic.h.
602         (finish_parse): Remove.
603         * langhooks.h: Update comments.
604         * toplev.c (lang_dependent_init): New prototype.
605         (finalize): New.
606         (compile_file): Split cleanup code out to finalize.
607         (lang_dependent_init): Stop if lang_hooks.init fails.
608         (toplev_main): Update.
609         * tree.h (finish_parse): Remove.
610 objc:
611         * objc-act.c (LANG_HOOKS_FINISH): Override.
612
613 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
614
615         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
616         * config/alpha/vms_tramp.asm: New file.
617         * config/alpha/vms-tramp.asm: Removed.
618
619 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
620
621         * c-common.c (struct disabled_builtin, disabled_builtins,
622         disable_builtin_function, builtin_function_disabled_p): New.
623         (builtin_function_2): Check for disabled built-in functions.
624         * c-common.h (disable_builtin_function): Declare.
625         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
626         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
627         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
628
629 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
630
631         PR target/4606
632         * config.gcc: Remove reference to va-clipper.h.
633
634 2001-11-17  Stan Shebs  <shebs@apple.com>
635
636         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
637         AltiVec-related bitfields.
638
639 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
640
641         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
642         (mark_eh_region, case ERT_UKNONW): New case.
643
644 2001-11-17  Christopher Faylor  <cgf@redhat.com>
645             Corinna Vinschen  <vinschen@redhat.com>
646
647         * config/i386/cygwin.h: Search target specific include directory for
648         w32api stuff, if appropriate.
649
650 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
651
652         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
653
654 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
655
656         * config/rs6000/rs6000.md: Change all ldvx to lvx.
657
658 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
659
660         * gensupport.c (process_rtx): Don't assume filename is the first
661         argument of any rtl.
662
663 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
664
665         * vax-protos.h (reg_was_0_p): New prototype.
666         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
667         * vax.c (follows_p, reg_was_0_p): New functions.
668
669 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
670
671         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
672         (casesi1): Likewise.  Define new pattern which arises by simplification
673         when operand 1 is a constant int.  Correct pattern which arises by
674         simplification when operand 1 is zero.
675
676 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
677
678         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
679         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
680         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
681         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
682         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
683         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
684         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
685         * config/arm/aof.h: Don't include arm.h.
686         * config/arm/aout.h: Likewise.
687         * config/arm/coff.h: Don't include semi.h and aout.h.
688         * config/arm/elf.h: Don't include aout.h.
689         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
690         (TARGET_VERSION): Undef before defining.
691         (ARM_OS_NAME): Likewise
692         (TARGET_DEFAULT): Likewise
693         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
694         * config/arm/pe.h: Don't include arm/coff.h.
695         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
696         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
697         * config/arm/riscix1-1.h: Likewise.
698         * config/arm/rix-gas.h: Don't include riscix.h.
699         (DBX_CONTIN_LENGTH): Undef before defining.
700         * config/arm/semi.h: Don't include aout.h.
701         * config/arm/semiaof.h: Don't include aof.h.
702         * config/arm/strongarm-coff.h: Don't include coff.h.
703         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
704         * config/arm/vxarm.h: Don't include arm/coff.h.
705         * config/arm/xscale-coff.h: Don't include coff.h.
706
707 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
708
709         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
710         emit_cmp_insn.
711
712 2001-11-16  Andreas Jaeger  <aj@suse.de>
713
714         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
715         to ....
716         (fixup_fallthru_exit_predecessor): ... this.
717         Change callers and prototype.
718
719 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
720
721         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
722         hand; don't use gen_setcc_2.
723         (ix86_expand_builtin): Fix pshufw.
724         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
725         case UNORDERED to emit the right assembler instruction.
726         (mmx_pshufw): Lose operand 2.
727         (cvtsi2ss): Fix representation.
728         From Graham Stott:
729         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
730
731 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
732
733         * doc/include/linux-and-gnu.texi: Remove.
734         * doc/gnu.texi: New.
735         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
736         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
737
738 2001-11-16  Kazu Hirata  <kazu@hxi.com>
739
740         * config/a29k/a29k.c: Fix comment formatting.
741         * config/a29k/a29k.h: Likewise.
742         * config/arc/arc.c: Likewise.
743         * config/arc/arc.h: Likewise.
744         * config/vax/vax.c: Likewise.
745         * config/vax/vax.h: Likewise.
746         * config/we32k/we32k.c: Likewise.
747         * config/we32k/we32k.h: Likewise.
748
749 2001-11-16  Jeff Law  <law@redhat.com>
750
751         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
752         creating a new jump insn.
753
754 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
755
756         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
757         copy misaligned data.
758         * varasm.c (assemble_variable): Set alignment into MEM when changed.
759
760 2001-11-16  Graham Stott  <grahams@redhat.com>
761
762         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
763         OPALIGN type.
764
765 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
766
767         * except.c: Support for catching a list of types with a single handler
768         (struct eh_region): Change type and filter to lists for catch regions.
769         (mark_eh_region): Mark the filter list for GC also.
770         (expand_start_catch): Always build a list if argument not NULL and
771         register each type of the list through add_type_for_runtime.
772         (duplicate_eh_region_1): Change type into type_list for catch regions.
773         (assign_filter_values): Assign a filter to each type associated with a
774         catch region. Assign filter for NULL types in a unique entry in the
775         filter list.
776         (build_post_landing_pads): Emit compare and jump for each filter of
777         the list associated with a catch region.
778         (reachable_next_level): When the type thrown is known, stop the search
779         as soon as one type within a catch list matches. Also, a handler is
780         potentially reachable only if at least one of the types it catches
781         has not been previously caught.
782         (collect_one_action_chain): Retrieve the filter for a NULL type list
783         from the first filter list entry. For non NULL type lists, add an
784         action record for every filter assigned.
785         * except.h: Reflect changes in comment before expand_start_catch.
786
787 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
788
789         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
790         BLKmode.
791
792 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
793
794         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
795
796 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
797
798         * c-lang.c (finish_file): Don't emit static inline functions if
799         they weren't referenced.
800
801 2001-11-15  Stan Shebs  <shebs@apple.com>
802
803         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
804
805 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
806
807         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
808         call.
809         * config/i386/i386.md: Likewise.
810
811 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
812
813         * timevar.c (rtl.h): Include so get fancy abort.
814
815 2001-11-15  Dale Johannesen  <dalej@apple.com>
816
817         * config/darwin.h (SELECT_RTX_SECTION):  Force address
818         initializers into 'const' section
819         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
820         if_then_else to match result, not operands
821
822 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
823
824         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
825         * emit-rtl.c (change_address): Fix typo in default alignment.
826         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
827         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
828         * rtl.h (REGNO_PTR_FRAME_P): New macro.
829
830         * expr.c (store_field): Pass tree instead of max size; callers changed.
831         Change handling of alignment.
832         Only copy to_rtx if is TARGET.
833         (expand_expr_unaligned): Delete; callers now use expand_expr.
834         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
835         (expand_assignment): Change handling of alignment.
836         Only copy to_rtx if was original.
837         (get_inner_reference): No longer return alginment; callers changed.
838         (expand_expr, case COMPONENT_REF): Change handling of alignment.
839         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
840         (compare_from_rtx): Delete ALIGN parm; all callers changed.
841         (do_compare_rtx_and_jump): Likewise.
842         * expr.h: Reflect above changes.
843         * tree.h: Likewise.
844         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
845         to get_inner_reference.
846         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
847         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
848         * optabs.c: Likewise.
849         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
850         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
851         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
852         compare_rtx_and_jump, and emit_cmp_jump_insns.
853         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
854         * function.c (assign_stack_temp_for_type): No longer static.
855         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
856         (prepare_cmp_insn): Delete declaration.
857         * rtl.h (assign_stack_temp_for_type): Add declaration.
858         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
859         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
860         * config/i386/i386.c,config/mips/mips.c: Likewise.
861         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
862         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
863
864 2001-11-15  Stan Shebs  <shebs@apple.com>
865
866         * config/rs6000/rs6000.h: Fix a comment typo.
867         (RTX_COSTS): Sort processor versions better.
868
869 2001-11-15  Kazu Hirata  <kazu@hxi.com>
870
871         * config/h8300/h8300.md: Fix insn length of bit insns.
872
873 2001-11-15  Jason Merrill  <jason@redhat.com>
874
875         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
876         DIEs if there were errors in the source.
877
878         * config/alpha/alpha-interix.h, config/alpha/elf.h,
879         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
880         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
881         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
882         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
883         config/elfos.h, config/lynx.h, config/netware.h,
884         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
885         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
886         uses to use ASM_LONG.
887
888 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
889
890         * gensupport.c  process_include : Change call to alloca to
891         xmalloc.
892
893 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
894
895         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
896         templates.
897
898 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
899
900         * final.c (alter_subreg): If simplify_subreg can't do anything,
901         handle REG ourselves and abort for others.
902
903 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
904
905         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
906         routines.
907
908 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
909
910         * fix-header.c (read_scan_file): Update.
911
912 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
913
914         * toplev.c (toplev_main): Don't start timing until after
915         command-line options are parsed.
916
917 2001-11-15  Andreas Schwab  <schwab@suse.de>
918
919         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
920         makefile frag, not host makefile frag.
921         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
922         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
923         used.
924         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
925         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
926         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
927         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
928         * config/i386/t-dgux (STMP_FIXPROTO): Define.
929         * config/x-interix: Don't define STMP_FIXPROTO and
930         FIXPROTO_DEFINES.
931         * config/t-interix: New file, define STMP_FIXPROTO.
932         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
933         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
934         * config/t-svr4 (FIXPROTO_DEFINES): Define.
935         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
936         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
937         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
938         * config/m68k/t-hp3200: Renamed from x-hp3200.
939         * config/i370/t-oe: Renamed from x-oe.
940         * config/mips/t-iris: Renamed from x-iris.
941         * config/pa/t-bsd: Renamed from x-pa.
942         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
943         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
944         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
945         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
946         config/rs6000/x-cygwin: Remove files.
947
948         * configure.in: Check for target objdump and use that in eh_frame
949         optimization test.
950         * configure: Regenerated.
951
952 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
953
954         * jump.c (squeeze_notes): Return true if no real insns were found.
955         * rtl.h (squeeze_notes): Adjust prototype.
956         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
957         squeeze_notes finds no real instructions, abort.
958         (merge_blocks_move_successor_nojumps): Likewise.
959         * loop.c (find_and_verify_loops): Likewise.
960         * stmt.c (expand_end_case): Likewise.
961         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
962         find any real instructions.
963
964         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
965
966         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
967         conditional jump, request updating life into for the block
968         containing it.  Fix a typo which prevented life info update.
969         Clear blocks bitmap before using it.
970
971 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
972
973         * c-common.c: Include c-lex.h.
974         (c_common_lang_init): Change prototype.  Call init_c_lex and
975         init_pragma from here.
976         * c-common.h (c_common_lang_init): Change prototype.
977         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
978         * c-lang.c (c_init): Change prototype.  Update.
979         (c_init_options): Update.
980         * c-lex.c (cpp_filename): Remove.
981         (init_c_lex): Update.  Read the main file, and get the original
982         file name.
983         (yyparse): Finish the command line options.
984         * c-parse.in (c_parse_init): Call init_reswords here.
985         (init_parse): Remove.
986         * c-tree.h (c_init_decl_processing): New.
987         * cpphash.c (_cpp_init_hashtable): After initializing the hash
988         table, populate it.
989         * cppinit.c (read_original_filename, cpp_finish_options): New.
990         (cpp_create_reader): New prototype. Defer hash table initialization.
991         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
992         hash table.  Get the original filename.
993         * cpplib.h (cpp_create_reader): Update.
994         (cpp_start_read): Remove.
995         (cpp_read_main_file, cpp_finish_options): New.
996         * cppmain.c (main, do_preprocessing): Update.
997         * langhooks.h (struct langhooks): Update init prototype.
998         * toplev.c (general_init, parse_options_and_default_flags,
999         process_options, lang_indpendent_init, lang_dependent_init,
1000         init_asm_output): New; perform the bulk of initialization.
1001         (compile_file): Move most of initialization to above functions.
1002         (debug_hooks): Initialize statically.
1003         (set_Wunused): Relocate.
1004         (toplev_main): Move most of initialization to other init functions.
1005         Have a clear logic flow.
1006         * tree.h (init_parse, init_decl_processing): Remove.
1007 objc:
1008         * objc-act.c (objc_init): Update prototype, combine with old
1009         init_parse.
1010         (objc_init_options): Update.
1011
1012
1013 2001-11-15  Andreas Jaeger  <aj@suse.de>
1014
1015         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
1016         portability.
1017         * basic-block.h: Adjust prototype.
1018
1019 2001-11-15  Kazu Hirata  <kazu@hxi.com>
1020
1021         * config/rs6000/aix31.h: Fix comment formatting.
1022         * config/rs6000/beos.h: Likewise.
1023         * config/rs6000/darwin.h: Likewise.
1024         * config/rs6000/eabi.asm: Likewise.
1025         * config/rs6000/linux.h: Likewise.
1026         * config/rs6000/linux64.h: Likewise.
1027         * config/rs6000/lynx.h: Likewise.
1028         * config/rs6000/netbsd.h: Likewise.
1029         * config/rs6000/rs6000.c: Likewise.
1030         * config/rs6000/rs6000.h: Likewise.
1031         * config/rs6000/rs6000.md: Likewise.
1032         * config/rs6000/sol2.h: Likewise.
1033         * config/rs6000/tramp.asm: Likewise.
1034         * config/rs6000/xcoff.h: Likewise.
1035         * config/rs6000/xm-beos.h: Likewise.
1036
1037 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
1038
1039         * rtl.def (INCLUDE) : Define.
1040         * gensupport.c  (init_include_reader, process_include,
1041         save_string) :  New functions to implement an include facility
1042         in .md files.
1043         * gensupport.h : Add prototype for init_md_reader_args.
1044         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
1045         genextract.c genflags.c genopinit.c genoutput.c
1046         genpeep.c genrecog.c: Change call to init_md_reader to
1047         init_md_reader_args.
1048         * md.texi: Document (include "path") and -I directives for RTL
1049         generation tools.
1050
1051 2001-11-14  DJ Delorie  <dj@redhat.com>
1052
1053         * integrate.c (get_hard_reg_initial_reg): New.
1054         * integrate.h (get_hard_reg_initial_reg): Prototype.
1055         * local-alloc.c (block_alloc): Don't tie pseudos that
1056         represent call-saved hard regs' initial values.
1057
1058 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1059
1060         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
1061         recursion.
1062
1063 2001-11-14  Roger Sayle <roger@eyesopen.com>
1064
1065         * fold-const.c (fold): Optimize strlen comparisons against zero.
1066
1067 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
1068
1069         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
1070         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
1071         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
1072         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
1073         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
1074         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
1075         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
1076         Include various CPU headers via tm_file.  a.out based platforms now
1077         properly include sparc/aout.h.  sol2.h usage now implies including
1078         elfos.h, svr4.h, and sparc/sysv4.h.
1079         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
1080         Also define to '1'.
1081         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
1082         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1083         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
1084         Remove.  They are a.out specific and belong in sparc/aout.h.
1085         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
1086         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
1087         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
1088         sparc/sparc.h.
1089         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
1090         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
1091         Moved here from sparc/sparc.h.
1092         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
1093         defining.
1094         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
1095         * config/sparc/lynx.h:  Don't include lynx.h.
1096         (SELECT_SECTION): Do not undef.
1097         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
1098         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
1099         and sparc/sysv4.h.
1100         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
1101         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
1102         sparc/aout.h now.
1103         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1104         Don't undef, there is no need.
1105         * config/sparc/splet.h (CPP_PREDEFINES): Define.
1106         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
1107         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
1108         Don't include sparc/sparc.h.
1109         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
1110         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1111         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
1112         elfos.h and svr4.h.
1113         (TARGET_VERSION): Define.
1114         * config/sparc/vxsim.h (TARGET_VERSION): Define.
1115
1116 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1117
1118         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
1119         (cfg_layout_finalize): Use it.
1120         * bb-reorder.c (HAVE_epilogue): Remove.
1121         (make_reorder_chain): Do not care special placement of
1122         last basic block.
1123
1124         * predict.c (expected_value_to_br_prob): Delete the note
1125         once transformed.
1126
1127         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
1128         measure integration time separately.
1129
1130 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1131
1132         * function.c (struct temp_slot): ALIGN now unsigned.
1133
1134 2001-11-14  Kazu Hirata  <kazu@hxi.com>
1135
1136         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
1137         * config/dsp16xx/dsp16xx.h: Likewise.
1138         * config/dsp16xx/dsp16xx.md: Likewise.
1139
1140 2001-11-14  Kazu Hirata  <kazu@hxi.com>
1141
1142         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
1143         that deals with 7-bit shifts in HImode.
1144
1145 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
1146
1147         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
1148         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
1149         (final_scan_insn): Update call of alter_subreg.
1150         (cleanup_subreg_operands): Likewise.
1151         (alter_subreg): Rewrite using simplify_subreg.
1152         (output_address, output_operand): Update call of alter_subreg.
1153         * output.h (alter_subreg): Update prototype.
1154         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
1155         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
1156         * Makefile.in (final.o): Add dependency on expr.h
1157
1158 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1159
1160         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
1161
1162 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
1163
1164         * doc/install.texi (sparc-*-linux*): Mention requirements for
1165         binutils and glibc.
1166
1167 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1168
1169         * Makefile.in (POD2MAN): Don't include --section=1.
1170         (manext): Rename to man1ext.  All users changed.
1171         (man7ext): New.
1172         (man7dir): New.
1173         (generated-manpages): Also depend on $(docdir)/gfdl.7,
1174         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
1175         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
1176         --section=1 in calls to $(POD2MAN).
1177         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
1178         (maintainer-clean, install, uninstall): Handle the new man pages.
1179         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
1180         (installdirs): Create man7dir.
1181         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
1182         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
1183         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
1184         the SEE ALSO man page section.
1185         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
1186         and fsf-funding(7) in the SEE ALSO man page section.
1187         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
1188         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
1189         * doc/include/fdl.texi, doc/include/funding.texi,
1190         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
1191         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
1192
1193 2001-11-13  Richard Henderson  <rth@redhat.com>
1194
1195         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
1196         as appropriate for the artificial decl.
1197
1198 2001-11-13  Richard Henderson  <rth@redhat.com>
1199
1200         * loop.c (combine_movables): Turn off combination until
1201         move_movables validation bugs are fixed.
1202
1203 2001-11-13  DJ Delorie  <dj@redhat.com>
1204
1205         * config.gcc (powerpc|rs6000): Set default cpp options based
1206         on --with-cpu settings.
1207         * config/rs6000/softfloat.h: New.
1208
1209 2001-11-13  Kazu Hirata  <kazu@hxi.com>
1210
1211         * config/h8300/h8300.c (shift_alg_si): Use special code for
1212         25-bit shifts on H8/S.
1213         (get_shift_alg): Generate special code for 25-bit shifts on
1214         H8/S.
1215
1216 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
1217
1218         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
1219         (adjust_automodify_address_1): New.
1220         * expr.h (adjust_address, adjust_address_nv): Adjust.
1221         (adjust_automodify_address, adjust_automodify_address_nv): Define.
1222         (adjust_address_1): Update prototype.
1223         (adjust_automodify_address_1): Add prototype.
1224         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
1225         (store_by_pieces_2): Likewise.
1226
1227 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1228
1229         * Makefile.in (explow.o): Now depends on ggc.h.
1230         * explow.c (ggc.h): Include.
1231         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
1232
1233         * Makefile.in (expr.o): Depends on insn-attr.h.
1234         * expr.c (insn-attr.h): New include.
1235         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
1236         of MEM.
1237         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
1238         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
1239         clean up related usage in ADDR_EXPR.
1240         (expand_expr_unaligned): Likewise.
1241
1242         * emit-rtl.c (change_address): Fix typo in alias setting.
1243
1244 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1245
1246         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
1247
1248 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1249
1250         PR bootstrap/3451
1251         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
1252         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
1253
1254 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
1255
1256         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
1257         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
1258         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
1259         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
1260         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
1261         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
1262         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
1263         sparc64-*-linux*):  Include various CPU headers via tm_file.
1264         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
1265         (SELECT_SECTION): Likewise.
1266         (SELECT_RTX_SECTION): Likewise.
1267         * config/sparc/sparc_bi.h: New file.
1268         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
1269         * config/sparc/linux-aout.h: Likewise.
1270         * config/sparc/linux.h: Don't include sparc/sysv4.h.
1271         * config/sparc/linux64.h: Likewise.
1272         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
1273         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
1274         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
1275         and dbxcoff.h
1276         (ASM_OUTPUT_IDENT): Do not #undef.
1277         (SELECT_SECTION): Likewise.
1278         (SELECT_RTX_SECTION): Likewise.
1279         * config/sparc/liteelf.h: Don't include gofast.h.
1280         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
1281         * config/sparc/lynx.h: Don't include sparc/sparc.h.
1282         * config/sparc/pbd.h: Likewise.
1283         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
1284         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
1285         * config/sparc/rtemself.h: Don't include rtems.h.
1286         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
1287         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
1288         sparc_bi.h instead.
1289         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
1290         * config/sparc/sol2.h: Include sparc/sparc.h directly.
1291         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
1292         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
1293         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
1294         * config/sparc/sp86x-elf.h: Don't include gofast.h.
1295         * config/sparc/splet.h: Don't include sparc/aout.h.
1296         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
1297         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
1298         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
1299         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
1300         * config/sparc/vxsparc64.h: Don't include gofast.h.
1301         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
1302
1303 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1304
1305         * doc/standards.texi: Mention C99 TC1.
1306
1307 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1308
1309         * mips-protos.h (mips_output_conditional_branch): Const-ify.
1310         * mips.c (mips_output_conditional_branch): Likewise.
1311
1312 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1313
1314         * config/h8300/h8300.c (shift_alg_si): Use special code for
1315         15-bit logical shifts and 31-bit logical shifts.
1316         (get_shift_alg): Generate special code for 15-bit and 31-bit
1317         logical shifts.
1318
1319 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1320
1321         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
1322         doing 6-bit logical shifts on H8/S.
1323         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
1324         (get_shift_alg): Generate special code for 21-bit shifts on
1325         H8/S.
1326
1327 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1328
1329         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
1330         label.
1331
1332 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1333
1334         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
1335         if both size and offset known.
1336
1337 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
1338
1339         * config/ia64/freebsd.h: Fix misspelling.
1340
1341 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1342
1343         * doc/gcc.texi: Move several chapters out to ...
1344         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
1345         doc/include/linux-and-gnu.texi, doc/interface.texi,
1346         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
1347         ... here.  New files.
1348         * doc/gcc.texi, doc/contrib.texi: Move section headings into
1349         contrib.texi.
1350         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1351
1352 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1353
1354         * config/alpha/alpha-interix.h: Fix comment formatting.
1355         * config/alpha/alpha.c: Likewise.
1356         * config/alpha/alpha.h: Likewise.
1357         * config/alpha/alpha32.h: Likewise.
1358         * config/alpha/freebsd.h: Likewise.
1359         * config/alpha/unicosmk.h: Likewise.
1360         * config/alpha/vms.h: Likewise.
1361
1362 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1363
1364         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1365
1366 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
1367
1368         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
1369         numbers.
1370
1371 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1372
1373         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
1374         from type.
1375         (replace_equiv_address): Call update_temp_slot_address.
1376
1377         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
1378
1379         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
1380
1381 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1382
1383         * config/h8300/h8300.c (shift_alg_qi): New.
1384         (shift_alg_hi): Likewise.
1385         (shift_alg_si): Likewise.
1386         (get_shift_alg): Change the type of count to unsigned int.
1387         Use the tables.
1388
1389 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
1390
1391         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
1392         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
1393         to decide whether to defer a function.
1394         (finish_function): Adjust.
1395         (c_expand_deferred_function): New function.
1396         * c-lang.c (deferred_fns): New variable.
1397         (c_init): Initialize it, and mark it as a root.
1398         (defer_fn): New function.
1399         (finish_file): Expand all deferred functions.
1400         * c-tree.h (defer_fn): Declare.
1401         (c_expand_deferred_function): Likewise.
1402         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
1403         * objc-act.c (deferred_fns): New variable.
1404         (objc_init): Initialize it, and mark it as a root.
1405         (defer_fn): New function.
1406         (finish_file): Expand all deferred functions.
1407
1408 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1409
1410         * alpha.c (unicosmk_special_name): Prototype.
1411         (unicosmk_ssib_name): Delete unused variable.
1412         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
1413         * alpha/vms.h (PREFIX): Undef before defining.
1414         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
1415         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
1416         controlling usage.  Const-ify.
1417         (alias_number): Delete unused variable.
1418         * m32r/m32r.c (m32r_sched_init): Add missing argument.
1419         (m32r_expand_block_move): Fix uninitialized warnings.
1420         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
1421         always true' warnings.
1422         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
1423         * sh/sh.c: Include "integrate.h".
1424         (output_far_jump): Fix uninitialized warning.
1425         * final.c (shorten_branches): Avoid automatic aggregate
1426         initialization.
1427         * integrate.c (subst_constants): Likewise.
1428
1429 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1430
1431         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
1432         (get_shift_alg): Remove redundant code.
1433
1434 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1435
1436         * config/pa/milli64.S: Fix comment formatting.
1437         * config/pa/pa-64.h: Likewise.
1438         * config/pa/pa-linux.h: Likewise.
1439         * config/pa/pa-protos.h: Likewise.
1440         * config/pa/pa.c: Likewise.
1441         * config/pa/pa.h: Likewise.
1442         * config/pa/pa32-linux.h: Likewise.
1443         * config/pa/pa32-regs.h: Likewise.
1444         * config/pa/pa64-hpux.h: Likewise.
1445         * config/pa/pa64-regs.h: Likewise.
1446         * config/pa/som.h: Likewise.
1447
1448 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1449
1450         * doc/gcc.texi: Move several chapters out to ...
1451         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
1452         doc/service.texi, doc/standards.texi, doc/trouble.texi,
1453         doc/vms.texi: ... here.  New files.
1454         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1455
1456 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1457
1458         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
1459         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
1460         collect2.c, combine.c, config.in, configure, configure.in,
1461         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
1462         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
1463         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
1464         spelling errors.
1465
1466 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1467
1468         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1469         Adjust operand number in CONST_DOUBLE.
1470
1471         * expmed.c (extract_bit_field): No longer pass in alignment.
1472         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1473         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1474         Likewise.
1475         * expr.c (store_constructor, store_constructor_field): Likewise.
1476         (store_field, emit_group_load, emit_group_store): Likewise.
1477         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
1478         (store_bit_field, extract_bit_field): Likewise.
1479         * calls.c, expr.c, function.c: Change calls to above functions.
1480         * ifcvt.c, stmt.c: Likewise.
1481
1482         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
1483         constant and one is on frame.
1484         If know memref offset, adjust size from decl.
1485
1486 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1487
1488         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
1489         format specifier warning.
1490         * convex.h (ASM_OUTPUT_BYTE): Likewise.
1491         * elfos.h (ALIGN_ASM_OP): Undef before defining.
1492         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1493         warning.
1494         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1495         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1496         * i386-interix.h (gen_stdcall_suffix): Prototype.
1497         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1498         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1499         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1500         * i386/interix.c (gen_stdcall_suffix): Const-ify.
1501         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1502         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
1503         specifier warnings.
1504         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1505         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1506         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1507         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1508         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1509         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1510         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1511         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1512         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1513         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1514         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1515         Likewise.
1516         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1517         Likewise.
1518         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1519         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1520         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1521         Likewise.
1522         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1523         Likewise.
1524         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1525         Likewise.
1526         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1527         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1528         * m68k/news.h (PRINT_OPERAND): Likewise.
1529         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1530         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1531         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1532         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1533         definition.
1534         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1535         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1536         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1537         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1538         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1539         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1540         PRINT_OPERAND): Likewise.
1541         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1542         Likewise.
1543         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1544         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1545         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1546         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1547         * mips.c (mips_output_external_libcall): Mark parameter with
1548         ATTRIBUTE_UNUSED.
1549         (mips_asm_file_start): Move variable into the scope where it's
1550         used.
1551         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1552         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1553         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1554         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1555         * ns32k.c (print_operand): Likewise.
1556         * pa.c (print_operand, output_div_insn): Likewise.
1557         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1558         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1559         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1560         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1561         specifier warnings.
1562         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1563         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1564         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1565         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1566         specifier warnings.
1567         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1568
1569         * sdbout.c (sdbout_end_epilogue): Mark parameter with
1570         ATTRIBUTE_UNUSED.
1571         * varasm.c (assemble_global): Likewise.
1572
1573 2001-11-11  H.J. Lu <hjl@gnu.org>
1574
1575         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1576
1577 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
1578
1579         * final.c (*_MAX_SKIP): Use *_max_skip variables.
1580         * flags.h (align_loops_max_skip, align_jumps_max_skip,
1581         align_labels_max_skip): New global variables.
1582         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1583         align_labels_max_skip): New global variables.
1584         (toplev_main): Set new variables.
1585         * i386.c (override_options): Set max_skip values.
1586
1587 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
1588
1589         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1590         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1591         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1592         don't print an @fptr for labels either.
1593         (xstormy16_output_addr_vec): Don't print @fptr here.
1594         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1595
1596 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
1597
1598         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1599         an ANSI/ISO definitino.
1600         (ssa_const_prop): Likewise.
1601
1602 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
1603
1604         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1605         altivec registers.
1606
1607 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1608
1609         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1610         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1611         * cppmain.c (general_init): Call hex_init.
1612         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1613
1614         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1615
1616         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1617         of dgux.c:output_file_start().
1618
1619         * i386/dgux.c: Delete file.
1620
1621 2001-11-09  Richard Henderson  <rth@redhat.com>
1622
1623         * config/alpha/alpha.c (decl_in_text_section): New.
1624         (current_file_function_operand): Use it.
1625         (alpha_encode_section_info, alpha_end_function): Likewise.
1626
1627 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
1628
1629         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1630         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1631         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1632         so OS specific files and use CPP_PREDEFINES for their needs.
1633         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
1634         target headers to tm_file.
1635         * config/ia64/aix.h (TARGET_VERSION): Likewise.
1636         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1637         * config/ia64/linux.h (TARGET_VERSION): Likewise.
1638         (FUNCTION_PROFILER): Remove.
1639         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
1640         version in config/ia64/linux.h.
1641         * config/ia64/freebsd.h: New file.
1642         * config/freebsd.h: Tidy up.
1643         (_USING_CONFIG_FREEBSD): Define.
1644         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1645         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1646         (FBSD_STARTFILE_SPEC): Likewise.
1647         (FBSD_ENDFILE_SPEC): Likewise.
1648         (FBSD_LIB_SPEC): Likewise.
1649         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1650         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1651         set an ELF-improper one.
1652
1653 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1654
1655         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1656         constant can be loaded in a single instruction to a register.  When
1657         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
1658         depdi for insertion of most significant 32-bits on 64-bit hosts.
1659         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1660         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1661         * pa.md: New addmove pattern for adding constant_int to HImode
1662         register and moving result to HImode register.  Remove HImode HIGH
1663         and LO_SUM patterns.
1664
1665 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1666
1667         * Makefile.in: Update.
1668         * c-decl.c (print_lang_decl, print_lang_type): Remove.
1669         (print_lang_identifier): Rename c_print_identifier.
1670         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1671         (print_lang_statistics, lang_print_xnode): Remove.
1672         * c-parse.in (set_yydebug): Rename c_set_yydebug.
1673         * c-tree.h (c_set_yydebug, c_print_identifier): New.
1674         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1675         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1676         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1677         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1678         (LANG_HOOKS_INITIALIZER): Update.
1679         * langhooks.h (struct lang_hooks): New members.
1680         (lang_print_tree_hook): New.
1681         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1682         * print-tree.c: Include langhooks.h.
1683         (print_node): Update.
1684         * toplev.c (decode_d_option): Update.
1685         * tree.c: Include langhooks.h.
1686         (dump_tree_statistics): Update.
1687         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1688         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1689 objc:
1690         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1691         LANG_HOOKS_SET_YYDEBUG): Override.
1692         (lang_print_xnode, print_lang_statistics): Remove.
1693
1694 2001-11-09  Richard Henderson  <rth@redhat.com>
1695
1696         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1697         on the symbol string.
1698
1699 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1700
1701         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1702         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1703         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1704
1705         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1706
1707         * tlink.c (recompile_files): Copy strings passed to `putenv'.
1708
1709 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
1710
1711         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1712         (TYPE_READONLY): Likewise.
1713
1714         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1715
1716         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1717         don't pass --gdwarf2 to the assembler if the compiler will also
1718         provide debug info.
1719
1720         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
1721         Don't change INDEX.
1722
1723 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1724
1725         * alias.c (nonoverlapping_memrefs_p): New function.
1726         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1727
1728         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1729
1730 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
1731
1732         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1733         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1734         generating altivec code.
1735         (FIXED_REGISTERS): VRSAVE is fixed.
1736         (CALL_USED_REGISTERS): VRSAVE is call used.
1737
1738 2001-11-09  Jason Eckhardt  <jle@rice.edu>
1739
1740         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1741         code the branch target as ".+16/.+12", but rather use labels.
1742
1743 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
1744
1745         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
1746         to work around limitations of certain versions of GAS.
1747
1748         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1749         (muldi3): Update due to SUBREG_BYTE changes.
1750         (casesi): Similarly.
1751
1752 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
1753
1754         * doc/invoke.texi: Remove comment referring to -xf77-version.
1755
1756 2001-11-09  Kazu Hirata  <kazu@hxi.com>
1757
1758         * config/convex/convex.c: Fix comment formatting.
1759         * config/convex/convex.h: Likewise.
1760
1761 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
1762
1763         * Makefile.in (.po.pox): Look both in srcdir and builddir
1764         for $(PACKAGE).pot.
1765         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1766         to the source directory.
1767
1768 2001-11-09 Ben Elliston  <bje@redhat.com>
1769            Michael Meissner  <meissner@redhat.com>
1770            Andrew MacLeod  <amacleod@redhat.com>
1771            Richard Henderson  <rth@redhat.com>
1772            Nick Clifton  <nickc@redhat.com>
1773            Catherine Moore  <clm@redhat.com>
1774
1775         * m32r.c: Add support for m32rx processor.
1776         * m32r.h: Ditto.
1777         * m32r.md: Ditto.
1778         * t-m32r: Ditto.
1779         * m32r-protos.h: Add prototypes for m32rx functions.
1780         * doc/invoke.texi: Document -m32rx option.
1781
1782 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1783
1784         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1785         or after reload.
1786
1787 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1788
1789         * doc/install.texi2html: Use $MAKEINFO --no-split.
1790
1791 2001-11-09  Andreas Schwab  <schwab@suse.de>
1792
1793         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1794         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
1795         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1796         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1797         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1798
1799 2001-11-09  H.J. Lu <hjl@gnu.org>
1800
1801         * config/mips/mips.c (mips_output_function_prologues): Cast
1802         `tsize' to long for output.
1803
1804 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1805
1806         * c-lang.c (LANG_HOOKS_NAME): New.
1807         (lang_hooks): Constify.
1808         (c_init_options): Update.
1809         (lang_identify): Remove.
1810         * c-parse.in (language_string): Remove.
1811         * dbxout.c: Include langhooks.h.
1812         (dbxout_symbol_location): Update.
1813         * dwarf2out.c: Include langhooks.h.
1814         (gen_compile_unit_die): Update.
1815         * dwarfout.c: Include langhooks.h.
1816         (prototyped_attribute, output_compile_unit_die): Update.
1817         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1818         (LANG_HOOKS_INITIALIZER): Update.
1819         * langhooks.h (struct lang_hooks): New members.  Constify.
1820         * stringpool.c: Don't include toplev.h.
1821         (set_identifier_size): Remove.
1822         * toplev.c (toplev_main): Initialize identifier size.
1823         (print_version): Update.
1824         * tree.h (language_string, init_lex, lang_identify,
1825         set_identifier_size): Remove.
1826         * Makefile.in: Update dependencies.
1827         * config/darwin.c: Include langhooks.h.
1828         (func_name_maybe_scoped): Update.
1829         * config/darwin.h (ASM_END_FILE): Update.
1830         * config/nextstep.h (ASM_END_FILE): Update.
1831         * config/nextstep21.h (ASM_END_FILE): Update.
1832         * config/i386/sun386.h (ASM_END_FILE): Update.
1833         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1834         (rs6000_output_function_epilogue): Update.
1835 objc:
1836         * objc-act.c (LANG_HOOKS_NAME): Override.
1837         (struct lang_hooks): Constify.
1838         (objc_init_options): Update.
1839         (lang_identify): Remove.
1840
1841 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
1842
1843         * fold-const.c (lshift_double): Honor PREC.
1844         (rshift_double): Likewise.
1845
1846 2001-11-08  Kazu Hirata  <kazu@hxi.com>
1847
1848         * config/1750a/1750a.c: Fix comment formatting.
1849         * config/1750a/1750a.h: Likewise.
1850
1851 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
1852
1853         * configure.in (--enable-languages): Be more permissive about
1854         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
1855         * configure: Regenerated.
1856
1857 2001-11-08  Richard Henderson  <rth@redhat.com>
1858
1859         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1860
1861 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
1862
1863         * config.gcc: Rename stormy16 to xstormy16.
1864         * config/stormy16/stormy-abi: Likewise.
1865         * config/stormy16/stormy16-protos.h: Likewise.
1866         * config/stormy16/stormy16.c: Likewise.
1867         * config/stormy16/stormy16.h: Likewise.
1868         * config/stormy16/stormy16.md: Likewise.
1869
1870 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
1871
1872         * tree.h (TYPE_VOLATILE): Add enable-checking code.
1873         (TYPE_READONLY): Likewise.
1874
1875 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1876
1877         * reload1.c (reload): Don't delete equiv insn if can throw.
1878
1879         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1880         (clear_storage): Likewise, for OBJECT.
1881
1882 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
1883
1884         * pa.c (emit_move_sequence): Fix SUBREG expression to
1885         use proper byte offset when extending a constant from
1886         SImode to DImode.
1887
1888 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1889
1890         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1891         which cannot throw.
1892
1893 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1894
1895         * explow.c (convert_memory_address, case SUBREG): Only return
1896         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1897
1898 2001-11-08  Richard Henderson  <rth@redhat.com>
1899
1900         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1901         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1902         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1903
1904 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
1905
1906         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1907
1908 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1909
1910         * dwarf2out.c (debug_str_hash): New.
1911         (struct indirect_string_node): New.
1912         (struct dw_val_struct): Change type of val_str to it.
1913         (DEBUG_STR_SECTION_FLAGS): Define.
1914         (add_AT_string): Push string into hashtable, increment reference
1915         counter.
1916         (AT_string): Return string from ht_identifier.
1917         (AT_string_form): New.
1918         (free_AT): For dw_val_class_str, just decrement reference counter.
1919         (size_of_string): Remove.
1920         (size_of_die): Use AT_string_form to decide what size the string
1921         occupies in DIE.
1922         (size_of_pubnames): Use strlen instead of size_of_string.
1923         (value_format): Use AT_string_form for dw_val_class_str.
1924         (output_die): Output DW_FORM_strp strings using
1925         dw2_asm_output_offset.
1926         (indirect_string_alloc, output_indirect_string): New.
1927         (dwarf2out_finish): Emit .debug_str strings if there are any.
1928
1929 2001-11-08  Andreas Franck  <afranck@gmx.de>
1930
1931         * configure.in: Add AC_ARG_PROGRAM to support program name
1932         transformation with --program-prefix, --program-suffix and
1933         --program-transform-name.
1934         * configure: Regenerated.
1935         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1936         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1937         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1938         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1939         program_transform_name the way suggested by autoconf.
1940         (GCC_TARGET_INSTALL_NAME): Define.
1941         (install-driver): Use the transformed target alias name.
1942
1943 2001-11-08  Richard Henderson  <rth@redhat.com>
1944
1945         * config/mips/mips.c (save_restore_insns): Remove GP from the
1946         restore registers mask early instead of special casing it inside
1947         the loop.
1948
1949 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1950
1951         * cp/decl.c (shadow_warning): New function.
1952         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
1953         and an error when a block scope decl shadows a parameter.
1954
1955 2001-11-08  Richard Henderson  <rth@redhat.com>
1956
1957         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1958         case as well.
1959
1960 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1961
1962         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1963         to implement floating negation on processors prior to PA 2.0.
1964
1965 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1966
1967         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1968         (USE_LINKONCE_INDIRECT): Define.
1969         (dw2_output_indirect_constant_1): Try to output indirect constants
1970         into linkonce sections if possible.
1971         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
1972         (dw2_output_indirect_constants): Likewise.
1973
1974 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1975
1976         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1977
1978 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1979
1980         * c-decl.c (pushdecl): Remove file and line.
1981         * c-typeck.c (pop_init_level): Remove size.
1982
1983 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1984
1985         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1986         for rs6000.
1987
1988         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1989         (TARGET_ALTIVEC): New.
1990         (TARGET_SWITCHES): Add altivec.
1991         (FIRST_PSEUDO_REGISTER): Change to 109.
1992         (CALL_USED_REGISTERS): Same.
1993         (FIRST_ALTIVEC_REGNO): New.
1994         (LAST_ALTIVEC_REGNO): New.
1995         (ALTIVEC_REGNO_P): New.
1996         (UNITS_PER_ALTIVEC_WORD): New.
1997         (ALTIVEC_VECTOR_MODE): New.
1998         (FIXED_REGISTERS): Add altivec registers.
1999         (REG_ALLOC_ORDER): Same.
2000         (HARD_REGNO_NREGS): Adjust for altivec registers.
2001         (HARD_REGNO_MODE_OK): Same.
2002         (MODES_TIEABLE_P): Same.
2003         (REGISTER_MOVE_COST): Same.
2004         (REGNO_REG_CLASS): Same.
2005         (reg_class): Add ALTIVEC_REGS.
2006         (REG_CLASS_NAMES): Same.
2007         (REG_CLASS_CONTENTS): Same.
2008         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
2009         (ALTIVEC_ARG_RETURN): New.
2010         (FUNCTION_VALUE): Handle VECTOR_TYPE.
2011         (LIBCALL_VALUE): Handle altivec vector modes.
2012         (VECTOR_MODE_SUPPORTED_P): New.
2013         (ALTIVEC_ARG_MIN_REG): New.
2014         (ALTIVEC_ARG_MAX_REG): New.
2015         (ALTIVEC_ARG_NUM_REG): New.
2016         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
2017         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
2018         (REGISTER_NAMES): Add altivec regs.
2019         (DEBUG_REGISTER_NAMES): Same.
2020         (ADDITIONAL_REGISTER_NAMES): Same.
2021         (rs6000_builtins): New.
2022         (MD_EXPAND_BUILTIN): New.
2023         (MD_INIT_BUILTINS): New.
2024         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
2025         for AltiVec instructions.
2026         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
2027         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
2028         registers.
2029         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
2030         (TARGET_SWITCHES): Add no-altivec.
2031         (DATA_ALIGNMENT): Align vectors to 128 bits.
2032         (TARGET_OPTIONS): Add abi= option.
2033         Add rs6000_abi_string extern.
2034         (LOCAL_ALIGNMENT): New.
2035         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
2036         (MASK_ALTIVEC_ABI): New.
2037         (TARGET_ALTIVEC_ABI): New.
2038         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
2039         call-saved.
2040         (STACK_BOUNDARY): Adjust for altivec.
2041         (BIGGEST_ALIGNMENT): Same.
2042         (rs6000_args): Add vregno.
2043         (USE_ALTIVEC_FOR_ARG_P): New.
2044         (FIXED_REGISTERS): Add vrsave register.
2045         (CALL_USED_REGISTERS): Same.
2046         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
2047         (VRSAVE_REGNO): New.
2048         (reg_class): Add VRSAVE_REGS.
2049         (REG_CLASS_NAMES): Same.
2050         (REG_CLASS_CONTENTS): Same.
2051         (REGNO_REG_CLASS): Same.
2052
2053         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
2054         (ABI_STACK_BOUNDARY): Same.
2055         (BIGGEST_ALIGNMENT): Same.
2056         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
2057         (ROUND_TYPE_ALIGN): Same.
2058
2059         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2060         to 64.
2061
2062         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2063         to 64.
2064
2065         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2066         to 64.
2067
2068         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
2069         (altivec_expand_builtin): New.
2070         (altivec_init_builtins): New.
2071         (TARGET_EXPAND_BUILTIN): New.
2072         (TARGET_INIT_BUILTINS): New.
2073         (rs6000_init_builtins): New.
2074         (struct builtin_description): New.
2075         (bdesc_2arg): New.
2076         (rs6000_reg_names): Add altivec registers.
2077         (alt_reg_names): Same.
2078         (secondary_reload_class): Altivec regs can hold altivec regs and
2079         memory.
2080         (rs6000_emit_move): Force constants into memory for AltiVec moves.
2081         (print_operand): Add 'y' case for printing altivec memory
2082         operands.
2083         (rs6000_legitimize_address): Legitimize vector addresses into
2084         [REG+REG] or [REG].
2085         (altivec_expand_binop_builtin): New.
2086         New string rs6000_current_abi.
2087         (rs6000_override_options): Call rs6000_parse_abi_options.
2088         (rs6000_parse_abi_options): New.
2089         (function_arg_boundary): Vector arguments must be 16
2090         byte aligned.
2091         (function_arg_advance): Handle vector arguments.
2092         (function_arg_partial_nregs): Same.
2093         (init_cumulative_args): Same.
2094         (function_arg): Same.
2095
2096         * config/rs6000/rs6000.md (altivec_lvx): New.
2097         (type): Add altivec attribute.
2098         (movv4si): New.
2099         (*movv4si_internal): New.
2100         (movv16qi): New.
2101         (*movv16qi_internal): New.
2102         (movv8hi): New.
2103         (*movv8hi_internal1): New.
2104         (movv4sf): New.
2105         (*movv4sf_internal1): New.
2106         (altivec_stvx): New.
2107         (vaddubm): New.
2108         (vadduhm): New.
2109         (vadduwm): New.
2110         (vaddfp): New.
2111         (vaddcuw): New.
2112         (vaddubs): New.
2113         (vaddsbs): New.
2114         (vadduhs): New.
2115         (vaddshs): New.
2116         (vadduws): New.
2117         (vaddsws): New.
2118         (vand): New.
2119         (vandc): New.
2120         (vavgub): New.
2121         (vavgsb): New.
2122         (vavguh): New.
2123         (vavgsh): New.
2124         (vavguw): New.
2125         (vavgsw): New.
2126         (vcmpbfp): New.
2127         (vcmpequb): New.
2128         (vcmpequh): New.
2129         (vcmpequw): New.
2130         (vcmpeqfp): New.
2131         (vcmpgefp): New.
2132         (vcmpgtub): New.
2133         (vcmpgtsb): New.
2134         (vcmpgtuh): New.
2135         (vcmpgtsh): New.
2136         (vcmpgtuw): New.
2137         (vcmpgtsw): New.
2138         (vcmpgtfp): New.
2139         (vcmpgefp): New.
2140         (vcmpgtub): New.
2141         (vcmpgtsb): New.
2142         (vcmpgtuh): New.
2143         (vcmpgtsh): New.
2144         (vcmpgtuw): New.
2145         (vcmpgtsw): New.
2146         (vcmpgtfp): New.
2147         (vmaxub): New.
2148         (vmaxsb): New.
2149         (vmaxuh): New.
2150         (vmaxsh): New.
2151         (vmaxuw): New.
2152         (vmaxsw): New.
2153         (vmaxfp): New.
2154         (vmrghb): New.
2155         (vmrghh): New.
2156         (vmrghw): New.
2157         (vmrglb): New.
2158         (vmrglh): New.
2159         (vmrglw): New.
2160         (vminub): New.
2161         (vminsb): New.
2162         (vminuh): New.
2163         (vminsh): New.
2164         (vminuw): New.
2165         (vminsw): New.
2166         (vminfp): New.
2167         (vmuleub): New.
2168         (vmulesb): New.
2169         (vmuleuh): New.
2170         (vmulesh): New.
2171         (vmuloub): New.
2172         (vmulosb): New.
2173         (vmulouh): New.
2174         (vmulosh): New.
2175         (vnor): New.
2176         (vor): New.
2177         (vpkuhum): New.
2178         (vpkuwum): New.
2179         (vpkpx): New.
2180         (vpkuhss): New.
2181         (vpkshss): New.
2182         (vpkuwss): New.
2183         (vpkswss): New.
2184         (vpkuhus): New.
2185         (vpkshus): New.
2186         (vpkuwus): New.
2187         (vpkswus): New.
2188         (vrlb): New.
2189         (vrlh): New.
2190         (vrlw): New.
2191         (vslb): New.
2192         (vslh): New.
2193         (vslw): New.
2194         (vsl): New.
2195         (vslo): New.
2196         (vsrb): New.
2197         (vrsh): New.
2198         (vrsw): New.
2199         (vsrab): New.
2200         (vsrah): New.
2201         (vsraw): New.
2202         (vsr): New.
2203         (vsro): New.
2204         (vsububm): New.
2205         (vsubuhm): New.
2206         (vsubuwm): New.
2207         (vsubfp): New.
2208         (vsubcuw): New.
2209         (vsububs): New.
2210         (vsubsbs): New.
2211         (vsubuhs): New.
2212         (vsubshs): New.
2213         (vsubuws): New.
2214         (vsubsws): New.
2215         (vsum4ubs): New.
2216         (vsum4sbs): New.
2217         (vsum4shs): New.
2218         (vsum2sws): New.
2219         (vsumsws): New.
2220         (vxor): New.
2221
2222 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
2223
2224         * Makefile.in (df.o): Add fibheap.h to dependencies.
2225
2226         * df.h: Add prototypes for transfer functions, iterative_dataflow
2227         functions.
2228         (enum df_flow_dir): New enum.
2229         (enum df_confluence_op): New enum.
2230         (struct df): Add inverse_rts_map.
2231
2232         * df.c: Add sbitmap.h to the list of includes.
2233         (df_rd_global_compute): Removed.
2234         (df_ru_global_compute): Removed.
2235         (df_lr_global_compute): Removed.
2236         (df_rd_transfer_function): New function.
2237         (df_ru_transfer_function): New function.
2238         (df_lr_transfer_function): New function.
2239         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
2240         Use iterative_dataflow_bitmap instead of df_*_global_compute.
2241         (iterative_dataflow_sbitmap): New function.
2242         (iterative_dataflow_bitmap): New function.
2243
2244 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2245
2246         * doc/gcc.texi: Move terminology and spelling conventions to
2247         htdocs/codingconventions.html.
2248
2249 2001-11-07  Graham Stott  <grahams@redhat.com>
2250
2251         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
2252
2253 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
2254
2255         * expmed.c (expand_mult): Force operand to register before computing
2256         cost.
2257         * i386.c (x86_decompose_lea): New global vairable.
2258         * i386.h (x86_decompose_lea): Declare.
2259         (TARGET_DECOMPOSE_LEA): New macro.
2260         (RTX_COST): Handle leas properly.
2261
2262 2001-11-06  Richard Henderson  <rth@redhat.com>
2263
2264         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
2265         defined for a CONSTRUCTOR; don't check it.
2266
2267 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
2268
2269         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
2270         test for absolute pathnames.
2271
2272 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
2273
2274         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
2275         instructions up to the target pc inclusive.
2276
2277 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
2278
2279         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
2280
2281 2001-11-06  Eric Christopher  <echristo@redhat.com>
2282
2283         * config/mips/mips.md(movdf_internal2): Add constraints for float
2284         to general register move.
2285         * config/mips/elf64.h: Add default ABI.
2286
2287 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2288
2289         * alias.c:: Include langhooks.h.
2290         * emit-rtl.c: Similarly.
2291         * toplev.c: Similarly.
2292         * tree-inline.c: Similarly.
2293         * langhooks-def.h: New, the old langhooks.h.  Give the default
2294         hooks a common prefix.
2295         * langhooks.h: Contents extracted from toplev.h.
2296         * toplev.h: Move langhook stuff to langhooks.h.
2297         * langhooks.c: Give default hooks a common prefix.
2298
2299         * c-lang.c: Include langhooks-def.h.
2300         * objc/objc-act.c: Similarly.
2301         * Makefile.in: Update.
2302         * objc/Make-lang.in: Update.
2303
2304 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2305
2306         * doc/install.texi: Document that configure options not listed in
2307         this file are unsupported.  Document --with-system-zlib.
2308
2309 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2310
2311         * rtl.h (mem_for_const_double): New declaration.
2312         * varasm.c (mem_for_const_double): New function.
2313         * config/convex/convex.md (movdf): Use it.
2314         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
2315         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
2316         * config/m68k/m68kv4.h: Likewise.
2317
2318         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
2319         of new GP reg classes.
2320
2321         * expr.c (store_field): When making temp object for unaligned
2322         component, set it to alias set 0.
2323
2324 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2325
2326         * c-common.c (c_expand_expr_stmt): Apply default conversions to
2327         non-lvalue arrays if C99.
2328         * c-typeck.c (default_conversion): Split out code handling
2329         array-to-pointer and function-to-pointer conversions into a
2330         separate default_function_array_conversion function.
2331         (default_function_array_conversion): New function.  Keep track of
2332         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
2333         arrays unchanged outside C99 mode instead of giving an error for
2334         them.
2335         (build_component_ref): Use pedantic_non_lvalue when handling
2336         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
2337         (convert_arguments): Use default_function_array_conversion.
2338         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
2339         non-lvalues are OK.
2340         (unary_complex_lvalue): Likewise.
2341         (internal_build_compound_expr): Use
2342         default_function_array_conversion.  Apply default conversions to
2343         function in compound expression.
2344         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
2345         Use default_function_array_conversion.
2346         * doc/extend.texi: Update documentation of subscripting non-lvalue
2347         arrays.
2348         Fixes PR c/461.
2349
2350 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
2351
2352         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
2353         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
2354         corresponding to the complete set of .po and .gmo files in
2355         the source directory's po subdir, modified by LINGUAS.  Don't
2356         look at ALL_LINGUAS.
2357         * configure.in: Don't set ALL_LINGUAS.
2358         * configure: Regenerate.
2359
2360         * Makefile.in (.po.gmo): Don't move into source directory.
2361         (.po.pox): Clarify comments.
2362         (install-po): Look for .gmo files in both srcdir and objdir;
2363         don't fail if a file is totally missing.
2364         (distclean): rmdir ada subdirectory too.
2365
2366 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
2367
2368         * config/rs6000/rs6000.c (rs6000_select_section): Handle
2369         CONSTRUCTORs _correctly_.
2370
2371 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2372
2373         * c-decl.c (delete_block): Remove.
2374         * c-tree.h (delete_block): Remove.
2375
2376 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2377
2378         * cppexp.c (lex, parse_defined): Update warning about defined.
2379
2380 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
2381
2382         * config/rs6000/rs6000.c (rs6000_select_section): Handle
2383         CONSTRUCTORs too.
2384
2385 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
2386
2387         * config/arm/arm.c (arm_return_in_memory): Cope with
2388         int_size_in_bytes returning -1.
2389
2390         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
2391         DECL being NULL.
2392
2393 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
2394
2395         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
2396         remove unneeded dependencies;
2397         (cfglayout.o): New.
2398         * cfglayout.c, cfglayout.h: New files; break out from ...
2399         * bb-reorder.c: ... here; Remove unneeded includes;
2400
2401 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
2402
2403         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
2404
2405 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
2406
2407         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
2408         mode as well.  Do not explicitly create intermediate regs.
2409
2410 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2411
2412         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
2413         (common_section): Delete unused variable.
2414         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
2415         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2416         * arm-protos.h (arm_poke_function_name, aof_add_import,
2417         aof_delete_import): Const-ify.
2418         * arm.c (legitimize_pic_address): Wrap variables in the macro
2419         controlling their usage.
2420         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
2421         (arm_poke_function_name, pic_chain, import, aof_add_import,
2422         aof_delete_import): Const-ify.
2423         * i386.c (ix86_osf_output_function_prologue): Const-ify.
2424         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2425         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
2426         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
2427         * i860/sysv3.h: Add missing comment closure.
2428         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
2429         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
2430         to symbolic_operand.
2431
2432         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
2433         (i960-*-*): Set tmake_file.
2434         (sparc86x-*-elf*): Fix typo in header name.
2435
2436         * sched-rgn.c (schedule_insns): Delete unused variable.
2437
2438 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2439
2440         PR c/2820
2441         * c-typeck.c (lookup_field): Rework to return a chain down to
2442         the looked-up field.
2443         (build_component_ref): Use the new lookup_field to handle
2444         nested anonymous entities correctly.
2445
2446 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2447
2448         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
2449         Change parameters to gen_rtx_CONST_DOUBLE.
2450         (GEN_INT64, sparc_emit_set_const64): Likewise.
2451         * config/sparc/sparc.md (movdf split): Likewise.
2452
2453 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
2454
2455         * unroll.c (calculate_giv_inc): Use find_last_value rather
2456         than just hoping the last instruction is the right SET.
2457         [Fixes 990604-1.c on stormy16.]
2458
2459         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
2460         library at all if -T is used.
2461
2462         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
2463         some uses of uninitialized variables in error cases.
2464
2465         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
2466         look at 'temp' if we won't be using it.
2467
2468         * config/stormy16/stormy16.h (CONST_COSTS): Define.
2469         (RTX_COSTS): Define.
2470         (ADDRESS_COST): Define.
2471         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2472
2473         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2474
2475         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2476         stormy16_asm_output_mi_thunk.
2477         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
2478         function.
2479         * config/stormy16/stormy16-protos.h
2480         (stormy16_asm_output_mi_thunk): New prototype.
2481
2482 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2483
2484         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
2485         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
2486         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
2487         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
2488         sched-int.h, toplev.c, config/alpha/alpha.c,
2489         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
2490         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
2491         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
2492         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
2493         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
2494         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
2495         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
2496
2497 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2498
2499         * Makefile.in (dbxout.o): Depend on function.h.
2500         * collect2.c (is_in_list): Hide unused function.
2501         * dbxout.c: Include function.h.
2502         (source_label_number, dbxout_source_line, dbxout_source_file,
2503         dbxout_function_end, dbxout_begin_function): Wrap/move inside
2504         macros controlling usage.
2505         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
2506         * output.h (exports_section): Prototype.
2507
2508         * convex.c (convex_output_function_prologue): Fix format specifier
2509         warning.
2510         (asm_declare_function_name): Fix signed/unsigned warning.
2511         (print_operand): Fix format specifier warning.
2512         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2513         * dsp16xx-protos.h (uns_comparison_operator,
2514         num_1600_core_shifts): Prototype.
2515         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2516         (frame_size, frame_pointer_offset): Delete.
2517         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2518         Make static.  Fix format specifier warnings.
2519         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2520         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2521         * dsp16xx.md: Add default case in switches.
2522         * fr30.h (IN_RANGE): Delete.
2523         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2524         * mcore-protos.h (mcore_output_cmov): Const-ify.
2525         * mcore.c (mcore_output_cmov): Likewise.
2526         * mcore.h (switch_to_section): Make static and prototype.
2527         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2528         unsigned>=0 warnings.
2529         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2530         * rs6000-protos.h (read_only_data_section,
2531         read_only_private_data_section): Prototype.
2532         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2533         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2534         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2535
2536 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2537
2538         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2539         ATTRIBUTE_UNUSED.
2540         * final.c (final_scan_insn): Add brackets around body of if-stmt.
2541         * gcc.c (convert_filename): Add static prototype.  Const-ify.
2542         Wrap variable in macros controlling its use.
2543         * output.h (sdata_section): Add prototype.
2544
2545         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2546         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2547         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2548         (ASM_FILE_START): Const-ify.
2549         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2550         specifier warning.
2551         * c4x.md: Don't use the 'U' integer suffix.
2552         * clipper.md (clipper_movstr): Delete declaration.
2553         * d30v-protos.h (d30v_move_2words): Const-ify.
2554         (debug_stack_info): Add prototype.
2555         * d30v.c: Include "integrate.h".
2556         (d30v_function_arg_boundary, d30v_function_arg,
2557         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2558         signed/unsigned warnings.
2559         (d30v_print_operand_memory_reference, d30v_move_2words):
2560         Const-ify.
2561         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2562         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2563         * fr30.md: Const-ify.
2564         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2565         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2566         (mvs_get_label_page): Hide unused static function.
2567         * i860.c (current_function_original_name): Const-ify.
2568         * i860/sysv3.h (current_function_original_name): Likewise.
2569         * i860/sysv4.h (current_function_original_name): Likewise.
2570         * i960.md: Add default case in switches.  Remove unused variable.
2571         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2572         * m32r.md: Const-ify.
2573         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2574         * m68hc11.c: Include "reload.h".
2575         (static_chain_reg, print_options, m68hc11_asm_file_start):
2576         Const-ify.
2577         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
2578         around & in comparison.
2579         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2580         * mn10200.c (shift_mode): Remove trailing comma.
2581         * mn10300-protos.h (output_tst): Const-ify.
2582         * mn10300.c (output_tst): Likewise.
2583         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2584         warnings.
2585         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2586         * pa.c (output_ascii): Likewise.
2587         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2588         * pdp11.md (expand_unop): Delete declarations.
2589         * pj-protos.h (pj_output_addsi3): Const-ify.
2590         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2591         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2592         unique_src_operand): Add prototypes.
2593         (pj_output_store_into_lval): Make definition static.
2594         (pj_function_incoming_arg): Don't use unary plus.
2595         (pj_output_addsi3): Const-ify.
2596         * romp.md (get_symref): Delete declarations.
2597         * v850-c.c (mark_current_function_as_interrupt): Don't return
2598         value from void function.
2599         * v850.c: Include "integrate.h".
2600         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2601         * vax-protos.h (const_section): Add prototype.
2602
2603 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
2604
2605         * machmode.def: Add documentation for the seventh argument in
2606         vector modes.
2607
2608 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
2609
2610         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2611         consistently.
2612         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2613         <-melf>: Don't have markup for ELF acronym.
2614
2615 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
2616
2617         * config.gcc (mmix-*-*): New target.
2618         * doc/invoke.texi: Document MMIX options.
2619         * doc/contrib.texi: Add note about MMIX port to my entry.
2620         * config/mmix/t-mmix: New file.
2621         * config/mmix/mmix.h: New file.
2622         * config/mmix/mmix-protos.h: New file.
2623         * config/mmix/mmix.c: New file.
2624         * config/mmix/mmix.md: New file.
2625         * config/mmix/crti.asm: New file.
2626         * config/mmix/crtn.asm: New file.
2627
2628 2001-11-03  Kazu Hirata  <kazu@hxi.com>
2629
2630         * config/sparc/linux-aout.h: Fix comment formatting.
2631         * config/sparc/linux.h: Likewise.
2632         * config/sparc/linux64.h: Likewise.
2633         * config/sparc/lynx.h: Likewise.
2634         * config/sparc/pbd.h: Likewise.
2635         * config/sparc/sol2-sld-64.h: Likewise.
2636         * config/sparc/sol2.h: Likewise.
2637         * config/sparc/sparc.c: Likewise.
2638         * config/sparc/sparc.h: Likewise.
2639         * config/sparc/sparc.md: Likewise.
2640         * config/sparc/sunos4.h: Likewise.
2641         * config/sparc/vxsim.h: Likewise.
2642         * config/sparc/vxsparc.h: Likewise.
2643         * config/sparc/vxsparc64.h: Likewise.
2644
2645 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2646
2647         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
2648         reference to CONST_DOUBLE_MEM in comment.
2649         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2650         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2651         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2652         * function.c (pop_function_context_from): Don't call
2653         restore_varasm_status.
2654         * function.h (restore_varasm_status): Delete declaration.
2655         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2656         * rtl.c: Likewise.
2657         * rtl.def (CONST_DOUBLE): Update comment.
2658         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2659         (CONST_DOUBLE_CHAIN): Likewise.
2660         (CONST_DOUBLE_MEM): Delete.
2661         (gen_rtx_CONST_DOUBLE): Update parameters.
2662         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2663         Remove reference to CONST_DOUBLE_MEM.
2664         (const_alias_set): New variable.
2665         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2666         (immed_real_const_1): Adjust tests for 0, 1, and 2.
2667         Don't set CONST_DOUBLE_MEM.
2668         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2669         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2670         Put constant in const_alias_set.
2671         (struct pool_constant): ALIGN now unsigned.
2672         OFFSET now HOST_WIDE_INT.
2673         Delete LABEL.
2674         (restore_varasm_status): Deleted.
2675         (mark_pool_constant): Mark desc->rtl.
2676         (force_const_mem): Rework to store rtl in hash table,
2677         not CONST_DOUBLE_MEM.
2678         Put constant in const_alias_set.
2679         (find_pool_constant): Check desc->rtl.
2680         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2681         (init_varasm_once): Initialize const_alias_set.
2682
2683         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2684         force_const_mem.
2685
2686         * reload.c (combine_reloads): Don't combine an output reload if there
2687         are other reloads around for part of the output.
2688
2689         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2690         constant expression.
2691         (set_mem_decl): New function.
2692         * expr.h (set_mem_decl): New declaration.
2693         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2694         (output_asm_operand_names): Add tab.
2695         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2696
2697         * builtins.c (get_memory_rtx): Properly set MEM alias set and
2698         attributes.
2699
2700 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2701
2702         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2703         Use "invalid" instead of "illegal".  Use @r in comments in
2704         examples.
2705
2706 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2707
2708         * c-decl.c (pushdecl): Move block inside if conditional to remove
2709         possibility of a segfault.  Lookup block-level extern
2710         variables in enclosing scopes correctly.
2711
2712         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2713
2714 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2715
2716         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2717         SUBREG so we avoid SUBREGing memory.
2718
2719         * expmed.c (store_bit_field): Same.
2720
2721 2001-11-02  DJ Delorie  <dj@redhat.com>
2722
2723         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2724         using FP registers for DImode mem-mem moves is acceptable.
2725
2726 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2727
2728         * builtins.c (apply_args_size): Handle vector arguments.
2729         (apply_result_size): Same.
2730
2731         * machmode.def: Set WIDER mode field for all vector entries.
2732
2733 2001-11-02  Graham Stott  <grahams@redhat.com>
2734
2735         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
2736
2737 2001-11-01  Eric Christopher  <echristo@redhat.com>
2738
2739         * config.gcc: Revert part of earlier patch.
2740         * config/mips/linux.h: Ditto.
2741         * df.c: Include tm_p.h to avoid warnings.
2742         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
2743         #if/#endif.
2744         * config/mips/mips.c: Define mips_abi regardless.
2745         (mips_output_function_prologues): Add long casts for .frame
2746         output.
2747         (override_options): Allow use of ABI_32.
2748
2749 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2750
2751         * config/m68hc11/m68hc11.c: Fix comment formatting.
2752         * config/m68hc11/m68hc11.h: Likewise.
2753         * config/m68hc11/m68hc11.md: Likewise.
2754
2755 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2756
2757         * c-typeck.c (default_conversion): Retain the original expression
2758         codes.
2759         * gcc.dg/Wparentheses.c: New tests.
2760
2761 2001-11-01  David S. Miller  <davem@redhat.com>
2762
2763         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2764         64-bit Sparc description more in line with reality.
2765
2766 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2767
2768         * Makefile.in (GCOV_OBJS): Add version.o.
2769         * gcov.c: Include "version.h" and <getopt.h>.
2770         (gcov_version_string): Remove.
2771         (print_usage): Take a parameter to determine whether this is a
2772         call from --help or an error message.  Give fuller output that
2773         follows the GNU Coding Standards for --help.
2774         (print_version): New function.
2775         (options): New.
2776         (process_args): Use getopt_long.  Support long options.  Follow
2777         GNU Coding Standards for --help and --version.
2778         * doc/gcov.texi: Document long options.
2779         Addresses part of PR other/704.
2780
2781 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2782
2783         * pa.c (output_move_double): Fix typo in double load.
2784
2785 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2786
2787         * config/h8300/h8300.c (h8300_encode_label): Compute a string
2788         before passing it to ggc_alloc_string.
2789
2790 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2791
2792         * config/m68k/3b1.h: Fix comment formatting.
2793         * config/m68k/3b1g.h: Likewise.
2794         * config/m68k/a-ux.h: Likewise.
2795         * config/m68k/amix.h: Likewise.
2796         * config/m68k/apollo68.h: Likewise.
2797         * config/m68k/atari.h: Likewise.
2798         * config/m68k/aux-exit.c: Likewise.
2799         * config/m68k/ccur-GAS.h: Likewise.
2800         * config/m68k/crds.h: Likewise.
2801         * config/m68k/dpx2.h: Likewise.
2802         * config/m68k/dpx2g.h: Likewise.
2803         * config/m68k/hp310.h: Likewise.
2804         * config/m68k/hp320.h: Likewise.
2805         * config/m68k/isi.h: Likewise.
2806         * config/m68k/linux.h: Likewise.
2807         * config/m68k/lynx.h: Likewise.
2808         * config/m68k/m68k-psos.h: Likewise.
2809         * config/m68k/m68k.c: Likewise.
2810         * config/m68k/m68k.h: Likewise.
2811         * config/m68k/m68k.md: Likewise.
2812         * config/m68k/m68kelf.h: Likewise.
2813         * config/m68k/m68kv4.h: Likewise.
2814         * config/m68k/mot3300.h: Likewise.
2815         * config/m68k/news.h: Likewise.
2816         * config/m68k/next.h: Likewise.
2817         * config/m68k/pbb.h: Likewise.
2818         * config/m68k/plexus.h: Likewise.
2819         * config/m68k/sgs.h: Likewise.
2820         * config/m68k/sun3.h: Likewise.
2821         * config/m68k/tower.h: Likewise.
2822         * config/m68k/vxm68k.h: Likewise.
2823
2824 2001-10-31  DJ Delorie  <dj@redhat.com>
2825
2826         * config/mips/mips.h (mips_cache_flush_func): Prototype.
2827         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2828         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2829         * config/mips/mips.c (mips_cache_flush_func): New.
2830         * doc/invoke.texi: Document the new options.
2831
2832 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
2833
2834         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2835         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2836
2837         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2838
2839         * config/cris/cris.c: Include output.h after tree.h but before
2840         target.h.
2841
2842 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
2843
2844         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2845         (INTL_SUBDIRS): Just intl.
2846         (.SUFFIXES): Add .gmo .po .pox.
2847         (native): Also depend on build-@POSUB@.
2848         (intl.all, intl.install): Depend on config.h and things it includes.
2849         (po-generated): New target; depend on c-parse.c and tradcif.c.
2850         (install-normal): Also depend on install-@POSUB@.
2851         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2852         (build-, install-, build-po, update-po, install-po,
2853         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2854
2855         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2856         * configure.in: Don't munge XGETTEXT.  Don't generate
2857         po/Makefile.in.
2858         * configure: Regenerate.
2859
2860         * exgettext: Delete.
2861         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2862         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2863
2864 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2865
2866         * config/h8300/h8300.md (two anonymous patterns): New.
2867
2868 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
2869
2870         * tree.h (tree_index): Add support for V16QI and V8HI.
2871         (V8HI_type_node): New.
2872         (V16QI_type_node): New.
2873
2874         * tree.c (build_common_tree_nodes_2): Same.
2875
2876         * c-common.c (type_for_mode): Same.
2877
2878 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2879
2880         * config/i386/att.h: Fix comment formatting.
2881         * config/i386/beos-elf.h: Likewise.
2882         * config/i386/bsd.h: Likewise.
2883         * config/i386/bsd386.h: Likewise.
2884         * config/i386/crtdll.h: Likewise.
2885         * config/i386/cygwin.asm: Likewise.
2886         * config/i386/cygwin.h: Likewise.
2887         * config/i386/djgpp.h: Likewise.
2888         * config/i386/freebsd-aout.h: Likewise.
2889         * config/i386/freebsd.h: Likewise.
2890         * config/i386/gas.h: Likewise.
2891         * config/i386/i386-interix.h: Likewise.
2892         * config/i386/i386-protos.h: Likewise.
2893         * config/i386/i386.c: Likewise.
2894         * config/i386/i386.h: Likewise.
2895         * config/i386/i386.md: Likewise.
2896         * config/i386/i386elf.h: Likewise.
2897         * config/i386/interix.c: Likewise.
2898         * config/i386/isc.h: Likewise.
2899         * config/i386/isccoff.h: Likewise.
2900         * config/i386/iscdbx.h: Likewise.
2901         * config/i386/linux.h: Likewise.
2902         * config/i386/lynx.h: Likewise.
2903         * config/i386/mingw32.h: Likewise.
2904         * config/i386/netbsd-elf.h: Likewise.
2905         * config/i386/next.h: Likewise.
2906         * config/i386/osf1elf.h: Likewise.
2907         * config/i386/osfrose.h: Likewise.
2908         * config/i386/sco5.h: Likewise.
2909         * config/i386/seq-gas.h: Likewise.
2910         * config/i386/seq-sysv3.h: Likewise.
2911         * config/i386/sequent.h: Likewise.
2912         * config/i386/sol2.h: Likewise.
2913         * config/i386/sun386.h: Likewise.
2914         * config/i386/uwin.asm: Likewise.
2915         * config/i386/uwin.h: Likewise.
2916         * config/i386/vxi386.h: Likewise.
2917         * config/i386/win32.h: Likewise.
2918         * config/i386/winnt.c: Likewise.
2919         * config/i386/xm-cygwin.h: Likewise.
2920         * config/i386/xm-mingw32.h: Likewise.
2921
2922 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2923
2924         * builtins.def: Fix comment typos.
2925         * config/alpha.c: Likewise.
2926         * config/arm/arm.c: Likewise.
2927         * config/avr/avr.h: Likewise.
2928         * config/d30v/d30v.c: Likewise.
2929         * config/d30v/d30v.h: Likewise.
2930         * config/d30v/d30v.md: Likewise.
2931         * config/dsp16xx/dsp16xx.c: Likewise.
2932         * config/fr30/fr30.c: Likewise.
2933         * config/fr30/fr30.md: Likewise.
2934         * config/i386/i386.c: Likewise.
2935         * config/i860/i860.c: Likewise.
2936         * config/i960/i960.c: Likewise.
2937         * config/ia64/ia64.c: Likewise.
2938         * config/mips/mips.c: Likewise.
2939         * config/pa/pa.c: Likewise.
2940         * config/rs6000/rs6000.c: Likewise.
2941         * config/s390/s390.c: Likewise.
2942         * config/sparc/sparc.c: Likewise.
2943
2944 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2945
2946         * config/mips/elf.h: Fix comment formatting.
2947         * config/mips/elf64.h: Likewise.
2948         * config/mips/iris5.h: Likewise.
2949         * config/mips/iris5gas.h: Likewise.
2950         * config/mips/iris6.h: Likewise.
2951         * config/mips/isa3264.h: Likewise.
2952         * config/mips/linux.h: Likewise.
2953         * config/mips/mips.c: Likewise.
2954         * config/mips/mips.h: Likewise.
2955         * config/mips/mips.md: Likewise.
2956         * config/mips/mips16.S: Likewise.
2957         * config/mips/netbsd.h: Likewise.
2958         * config/mips/osfrose.h: Likewise.
2959         * config/mips/r3900.h: Likewise.
2960         * config/mips/sni-svr4.h: Likewise.
2961         * config/mips/svr4-t.h: Likewise.
2962         * config/mips/ultrix.h: Likewise.
2963
2964 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
2965
2966         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2967         when we update head->current.
2968
2969 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2970
2971         * tree.c (id_string_size): Remove.
2972         (dump_tree_statistics): Update.
2973         * toplev.c (compile_file): If dumping stats, dump tree stats too.
2974
2975 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
2976
2977         * sched-rgn.c (schedule_insns): Fix comment.
2978
2979 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
2980
2981         * configure.in: Correct previous change: don't assume that
2982         gas's version number _isn't_ the last thing on the line, or
2983         isn't the only number on the line, either.
2984         * configure: Regenerate.
2985
2986 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2987
2988         * cfgcleanup.c: Fix a comment typo.
2989
2990 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2991
2992         * alias.c: Fix comment formatting.
2993         * recog.c: Likewise.
2994         * config/cris/cris.c: Likewise.
2995         * config/cris/cris.h: Likewise.
2996         * config/i960/i960.c: Likewise.
2997         * config/i960/i960.h: Likewise.
2998
2999 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3000
3001         * config/arm/arm.c: Fix a comment typo.
3002         * config/arm/arm.h: Likewise.
3003         * config/ia64/ia64.c: Likewise.
3004
3005 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
3006
3007         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
3008         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
3009         * rtl.h (set_unique_reg_note): Change return value.
3010         * gcse.c (try_replace_reg): Use set_unique_reg_note.
3011         * cse.c (cse_insn): Likewise.
3012         * expr.c (emit_move_insn): Likewise.
3013         * explow.c (force_reg): Likewise.
3014         * local-alloc (update_equiv_regs): Likewise.
3015         * loop.c (move_moveables, load_mems): Likewise.
3016         * reload (find_reloads): Likewise.
3017
3018 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
3019
3020         Localization fixes.
3021         * c-decl.c (parmlist_tags_warning, start_struct,
3022         check_for_loop_decls): Separate messages for struct, union and
3023         enum cases to allow for languages in which they have different
3024         genders.
3025         * c-format.c (scanf_flag_specs): Separate short and long name of
3026         the assignment suppression feature.
3027         (check_format_types): Localize "pointer" and "different types"
3028         strings.
3029         * c-lex.c (lex_number): Localize "an unsigned long int" and
3030         related strings.
3031         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
3032         warning message.
3033         * c-typeck.c (build_unary_up): Separate messages for increment and
3034         decrement cases to allow for languages in which they use different
3035         articles.  Localize the strings "increment" and "decrement" in one
3036         case.
3037
3038 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
3039
3040         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
3041         when no changes has been made.
3042
3043         * gcse.c (reg_set_bitmap): Turn into reg_set.
3044         (modify_mem_list_set, canon_modify_mem_list_set)
3045         (clear_modify_mem_tables, free_modify_mem_tables): New.
3046         (gcse_main); Use free_modify_mem_tables.
3047         (free_gcse_mem): Likewise; free the bitmaps.
3048         (alloc_gcse_main): Initialize the bitmaps.
3049         (canon_list_insert): Set canon_modify_mem_list_set.
3050         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
3051         (compute_hash_table): Use clear_modify_mem_tables.
3052         (reset_opr_set_tables): Likewise.
3053         (oprs_not_set_p): reg_set_bitmap is regset.
3054         (mark_set, mark_clobber): Likewise.
3055
3056         * df.h (DF_EQUIV_NOTES): New constant.
3057         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
3058         when asked for.
3059
3060         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
3061         (init_regions, schedule_insns): Conditionalize the checking
3062         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
3063
3064 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
3065
3066         * i386.md (movti_rex64 splitter): Fix condition.
3067
3068 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
3069
3070         * configure.in: Do not assume that gas's version number is the
3071         last thing on the first line of as --version output.
3072         * configure: Regenerate.
3073
3074         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
3075         MT_WARNING, MT_ERROR, MT_FATAL.
3076         (main): Call gcc_init_libintl.
3077         (v_message): Call gettext on msgid and "warning: "
3078         * tradcif.y: Include intl.h.
3079         (yyerror): Make parameter definition consistent with
3080         prototype.  Call gettext on msgid argument.
3081
3082 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3083
3084         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
3085         warnings.
3086
3087         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
3088
3089 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3090
3091         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
3092         before referencing it.
3093
3094 2001-10-26  DJ Delorie  <dj@redhat.com>
3095
3096         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
3097         override -G, and force -G0.
3098
3099 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3100
3101         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
3102         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
3103         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
3104         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
3105
3106         * loop.h (struct induction): Rename ext_dependant to
3107         ext_dependent.
3108         * loop.c: Change all uses.
3109         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
3110         All callers changed.
3111         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
3112
3113 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3114
3115         * c-parse.in (expr_no_commas, primary), c-typeck.c
3116         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
3117
3118 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
3119
3120         Undo assemble_name change in earlier patch.
3121
3122 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3123
3124         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
3125         determining the type of the receiver, do not check that TREE_CODE
3126         of receiver is CALL_EXPR before calling receiver_is_class_object().
3127         (receiver_is_class_object): For the GNU runtime: recognize
3128         the case that the receiver is self in a class method context.
3129         Check that TREE_CODE of receiver is CALL_EXPR when checking that
3130         the receiver is a call to objc_get_class.
3131
3132 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3133
3134         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
3135
3136 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3137
3138         * Makefile.in (OBJS): Put all files in alphabetical order.
3139
3140         * dwarf2out.c (add_const_value_attribute): Fix error in last
3141         change.
3142
3143 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
3144
3145         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
3146         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
3147         fix warning.
3148         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
3149         (life_analysis): call purge_all_dead_edges after deleting noops.
3150         (delete_noop_move): Do not purge CFG.
3151         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
3152
3153 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
3154
3155         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
3156         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
3157         (ASM_GLOBALIZE_LABEL): Use assemble_name.
3158         (ASM_OUTPUT_COMMON): Likewise.
3159         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
3160         (rs6000_output_function_epilogue): Likewise.
3161         (output_mi_thunk): Fix typo.
3162         (rs6000_output_symbol_ref): Use assemble_name.
3163         (output_toc): Likewise.
3164         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
3165         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
3166         assemble_name calls STRIP_NAME_ENCODING.
3167         (ASM_OUTPUT_LABEL): Use assemble_name.
3168         (ASM_GLOBALIZE_LABEL): Likewise.
3169         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3170         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
3171         (ASM_OUTPUT_LOCAL): Likewise.
3172
3173 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3174
3175         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
3176         (expand_builtin_apply, expand_builtin_return): Likewise.
3177         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
3178
3179 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
3180
3181         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3182         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
3183         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
3184         configure, configure.in, except.c, except.h, flow.c, function.c,
3185         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
3186         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
3187         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
3188         unroll.c: Fix spelling errors.
3189
3190         * doc/extend.texi, doc/invoke.texi: Fix spelling.
3191
3192         * doc/gcc.texi: Document use of "dependent" and American spelling.
3193
3194 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
3195
3196         * expr.c (emit_group_load): Support CONCATs by storing them to memory
3197         and reloading.
3198
3199 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3200
3201         * expr.c (store_constructor_field): Only call adjust_address on MEM.
3202
3203 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
3204
3205         * genrecog.c (write_switch):  Output if before switch for
3206         DT_elt_zero_wide_safe.
3207
3208 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3209
3210         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
3211         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
3212         (FUNCTION_PROFILER): Const-ify.
3213         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
3214         (eliminate_constant_term, assemble_name, output_addr_const):
3215         Remove declarations.
3216         (ptr_half_pic_address_p, half_pic_hash): Prototype.
3217         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
3218         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
3219         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
3220         (half_pic_declare, half_pic_external): Const-ify.
3221         * toplev.c: Include "halfpic.h".
3222
3223 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
3224
3225         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
3226         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
3227         config/i386/i386.c, config/i386/i386-interix.h,
3228         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
3229         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
3230         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
3231         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
3232         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
3233         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
3234         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
3235         spelling errors.
3236
3237         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3238         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
3239         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
3240         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
3241         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
3242         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
3243         system.h, toplev.c: Fix spelling errors.
3244
3245 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3246
3247         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
3248
3249         * dwarf2out.c (reg_number): Abort if pseudo.
3250         (reg_loc_descriptor): Return 0 if pseudo.
3251         (is_based_loc): Return 0 if pseudo.
3252         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
3253         recursive calls.
3254         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
3255         (loc_descriptor): Return 0 if can't find location and handle 0
3256         return from recursive calls.
3257         (loc_descriptor_from_tree): Likewise.
3258         Fix handling of indirect.
3259         Also return 0 for PLACEHOLDER_EXPR.
3260         Clean up COMPONENT_REF cases.
3261         (add_AT_location_descriptor): Simplify, but handle 0 return from
3262         loc_descriptor.
3263         (add_const_value_attribute): Avoid shift count warning.
3264         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
3265         Set comp_unit_die as context if not in function.
3266
3267         * config/mips/mips-protos.h: Break up long lines.
3268         Remove needless #ifdef/#endif blocks.
3269         Don't declare functions declared in file made by genpreds or recog.h.
3270         * config/mips/mips.c (mips_output_function_prologue): TSIZE
3271         is now HOST_WIDE_INT; delete unneeded casts.
3272         * config/mips/mips.h: Don't use #elif.
3273
3274         * expr.c (stor_constructor_field): Always call adjust_address.
3275         Copy TARGET before changing its alias set.
3276         (store_field): Likewise, for TO_RTX.
3277         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
3278         replacement.
3279         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
3280         (find_placeholder): Return 0 if can't find object.
3281         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
3282         returns 0.
3283
3284 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3285
3286         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
3287
3288 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
3289
3290         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
3291         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
3292         (merge_blocks): Properly udpate life after making edge nonfallthru.
3293         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
3294
3295 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3296
3297         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3298
3299 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3300
3301         * c-typeck.c (convert_arguments): When comparing for enumeral
3302         type equality, use TYPE_MAIN_VARIANT.
3303         * gcc.dg/Wconversion.c: New tests.
3304
3305 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3306
3307         * s390/s390.c: Fix comment typos.
3308         * s390/s390.h: Likewise.
3309         * s390/s390.md: Likewise.
3310
3311 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3312
3313         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
3314         (walk_tree): Use it for tail calls where appropriate.
3315
3316 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3317
3318         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
3319         non-local label_refs.
3320
3321 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3322
3323         * config/h8300/h8300.md (4 anonymous patterns): New.
3324
3325 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3326
3327         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
3328         algorithm through the shift_info structure.
3329         (emit_a_shift): Update the use of get_shift_alg.
3330
3331 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
3332
3333         * sched-rgn.c: Remove bitset typedef.
3334         Change bitset to sbitmap in prototypes / variable types.
3335         Remove bbset_size.
3336         Remove edgeset_bits.
3337         Remove edgeset_size.
3338         s/BITSET_ADD/SET_BIT/g
3339         s/BITSET_INVERT/sbitmap_ones/g
3340         s/BITSET_INTER/sbitmap_a_and_b/g
3341         s/BITSET_UNION/sbitmap_a_or_b/g
3342         s/BITSET_DIFFER/sbitmap_difference/g
3343         s/bitset_member/TEST_BIT/g
3344         (BITSET_*): Removed.
3345         (bitset_member): Removed.
3346         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
3347         EXECUTE_IF_SET_IN_SBITMAP.
3348         (split_edges): Rewrite, use sbitmap functions instead of bitset
3349         operations.
3350         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
3351
3352 2001-10-26  Andreas Schwab  <schwab@suse.de>
3353
3354         * reload1.c (emit_input_reload_insns): Fix parens in last
3355         (undocumented) change that was supposed to change only whitespace.
3356
3357 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3358
3359         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
3360
3361         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
3362         ASM_OPERANDS.
3363
3364 2001-10-26  Andreas Jaeger  <aj@suse.de>
3365
3366         * flow.c (clear_log_links): Remove unused variable.
3367         * cfgcleanup.c (cleanup_cfg): Likewise.
3368
3369 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3370
3371         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
3372         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
3373
3374 2001-10-26  Richard Henderson  <rth@redhat.com>
3375
3376         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
3377         rename PV_REG to R27_REG.
3378         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
3379         (REG_CLASS_FROM_LETTER): Update.
3380         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
3381         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
3382         (udivsi3, modsi3, umodsi3): Likewise.
3383         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
3384
3385 2001-10-26  Richard Henderson  <rth@redhat.com>
3386
3387         * cfg.c (clear_aux_for_blocks): Split out of ...
3388         (free_aux_for_blocks): here.
3389         (clear_aux_for_edges): Split from ...
3390         (free_aux_for_edges): here.
3391         * basic-block.h: Declare them.
3392         * lcm.c (compute_antinout_edge): Use them.
3393         (compute_laterin, compute_available, compute_nearerout): Likewise.
3394         (optimize_mode_switching): Likewise.
3395
3396 2001-10-26  Richard Henderson  <rth@redhat.com>
3397
3398         * Makefile.in (unstage*): Remove as, ld, collect-ld before
3399         moving everything back to the main build directory.
3400
3401 2001-10-26  Christopher Faylor  <cgf@redhat.com>
3402
3403         * config/i386/cygwin.h: Search target specific include directory, if
3404         appropriate.
3405
3406 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3407
3408         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
3409         of macro guards. Fix #endif comment.
3410
3411         * output.h (default_exception_section, default_eh_frame_section):
3412         Move prototypes outside of macro guard.
3413
3414         * crtstuff.c: Fix #endif comment.
3415
3416 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
3417
3418         * doc/md.texi (movMM): Clarify semantics of storing into a
3419         non-paradoxical SUBREG.
3420
3421 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
3422
3423         * langhooks.c (lang_hook_default_clear_binding_stack): New.
3424         (lang_hook_default_get_alias_set): Move next to other alias
3425         hooks.
3426         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
3427         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
3428         (LANG_HOOKS_INITIALIZER): Add it.
3429         * toplev.h (struct lang_hooks): Add clear_binding_stack.
3430         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
3431         instead of a loop calling poplevel.
3432
3433 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
3434
3435         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
3436         occurrences of #elif with #if...#endif.
3437
3438 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3439
3440         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
3441
3442 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3443
3444         * alias.c (can_address_p): No longer static.
3445         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
3446         Return 0 if all parameters are default values.
3447         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
3448         (adjust_address_1): Try harder to compute a size.
3449         * expr.c (expand_assignment, store_constructor): If can't address,
3450         set MEM_KEEP_ALIAS_SET_P.
3451         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
3452         (store_field): Likewise.
3453         (store_constructor): Simplify call to store_constructor_field.
3454         * expr.h (can_address_p): New declaration.
3455         * gensupport.c (gen_rtx_CONST_INT): New function.
3456         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
3457         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
3458         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
3459
3460         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
3461
3462 2001-10-24  Christopher Faylor  <cgf@redhat.com>
3463
3464         * config/i386/cygwin.h: Use proper path for mingw crt files when
3465         -mno-cygwin.
3466
3467 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3468
3469         * dwarf2out.c (file_info_cmp): Always return consistent results.
3470
3471 2001-10-24  Roger Sayle <roger@eyesopen.com>
3472
3473         * stmt.c (expand_end_case): Index jumptables from zero for
3474         suitably small values of minval.
3475
3476 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3477
3478         * stor-layout.c (place_union_field): If any field was aligned with
3479         attribute aligned, set record type's TYPE_USER_ALIGN.
3480         (place_field): Likewise.
3481         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
3482         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
3483
3484 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
3485
3486         * c-common.h (struct c_common_identifier): Remove rid_code field.
3487         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
3488
3489         * c-typeck.c (constructor_designated): New local flag.
3490         (struct constructor_stack): Add "designated" field to match.
3491         (start_init): Clear it.
3492         (really_start_incremental_init, push_init_level): Push and
3493         clear it.
3494         (pop_init_level): Pop it.
3495         (set_designator): Set it.
3496
3497         (pop_init_level): Suppress "missing initializer" warnings if
3498         constructor_designated is true.
3499         (process_init_element): Suppress warning about union
3500         initialization under traditional C, if constructor_designated
3501         is true.
3502
3503 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3504
3505         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
3506         change.
3507
3508 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
3509
3510         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3511
3512 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
3513
3514         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3515         the node was already a set to a constant.
3516
3517 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3518
3519         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3520         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3521
3522 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3523
3524         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3525         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
3526         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3527         * s390.c (s390_final_chunkify): Don't use string concatenation.
3528         (s390_function_prologue, s390_function_epilogue): Const-ify.
3529         * s390.h (FUNCTION_PROFILER): Remove unused variable.
3530
3531 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3532
3533         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3534         prototypes.
3535
3536 2001-10-23  Stan Shebs  <shebs@apple.com>
3537
3538         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3539         -traditional-cpp in first-stage compilation.
3540
3541 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3542
3543         * gensupport.c (target_flags): Add.
3544
3545 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
3546
3547         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3548         if needed.
3549         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3550         * except.c (expand_builtin_frob_return_addr): Likewise.
3551         (expand_builtin_eh_return): Likewise.
3552         * stmt.c (expand_computed_goto): Likewise.
3553         * explow.c (memory_address): Likewise.
3554         (allocate_dynamic_stack_space): Clean up predicate testing.
3555         (probe_stack_range): Convert SIZE to Pmode.
3556         * calls.c (rtx_for_function_call): Only call convert_memory_address
3557         if needed.
3558         Pass function call operand as ptr_mode, not Pmode.
3559         * expr.c (expand_assignment): Clean up calls to convert_memory
3560         address by only doing so when needed and making offsets Pmode.
3561         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3562         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3563         is in Pmode, not ptr_mode.
3564
3565 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3566
3567         * darwin-protos.h (constructor_section, destructor_section,
3568         mod_init_section, mod_term_section): Prototype.
3569         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3570         Const-ify.
3571         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3572         Likewise.
3573         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
3574         objc_section_init declaration.
3575         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3576         (objc_section_init, try_section_alias): Make static.
3577         (alias_section): Make static and hide unused function.
3578         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3579
3580 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3581
3582         * alias.c (can_address_p): Compnonents are not addressable if
3583         the containing type has alias set 0.
3584         (get_alias_set): Rework to use STRIP_NOPS.
3585         Only call front-end routine on object, type, or object with
3586         NOPs stripped, not inner values.
3587         Use language hook to call front-end routine.
3588         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3589         (expand_builtin_apply): Call set_mem_align on MEMs we make.
3590         Don't pass alignment to emit_block_move.
3591         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3592         (expand_builtin_memset): Likewise, but for clear_storage.
3593         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3594         and remove C++ specific parts.
3595         * c-common.h (c_common_get_alias_set): Add declaration.
3596         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3597         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3598         (save_fixed_argument_area): Call set_mem_align.
3599         Remove alignment in call to emit_block_move.
3600         (emit_library_call_value_1, store_one_arg): Likewise.
3601         (target_for_arg): Remove; disabled long ago.
3602         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3603         once and similar cleanups.
3604         (offset_address): Use proper introductory comment.
3605         * expr.c (emit_block_move): Use alignment from that of MEM args, not
3606         from explicit operand; all callers changed.
3607         (clear_storage): Likewise.
3608         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3609         (store_field): Remove kludge on alias set used for to_rtx.
3610         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3611         (expand_expr_unaligned): Call set_mem_attributes instead of
3612         set_mem_alias_set.
3613         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3614         * function.c (assign_stack_temp_for_type): Set MEM alignment.
3615         (expand_function_end): Track MEM attributes of trampolines.
3616         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3617         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3618         attributes from original.
3619         * langhooks.c (lang_hook_default_get_alias_set): New function.
3620         (hook_get_alias_set_0): New function.
3621         * langhooks.h (hook_get_alias_set_0): New declaration.
3622         (lang_hook_default_get_alias_set): Likewise.
3623         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3624         * reload1.c (alter_reg): Use adjust_address_nv.
3625         * rtl.c (get_mode_alignment): Moved to here.
3626         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3627         change default if unknown from 1 to BITS_PER_UNIT.
3628         * stor-layout.c (get_mode_alignment): Remove from here.
3629         * toplev.h (struct lang_hoks): Add get_alias_set field.
3630         * tree.h (lang_get_alias_set): Delete declaration.
3631         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3632         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3633         (ix86_va_arg): Likewise.
3634         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3635         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3636         * config/sparc/sparc.c (sparc_va_arg): Likewise.
3637         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3638         (expand_block_move_mem): Remove dead code.
3639
3640 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
3641
3642         * c-common.c (warn_div_by_zero): New.
3643         * c-common.h (warn_div_by_zero): New.
3644         * c-decl.c (c_decode_option): Take it on the command line.
3645         * c-typeck.c (build_binary_op): Warn about division by zero.
3646         * doc/invoke.texi: Document the new command line option, fix
3647         documentation of -Wmultichar.
3648         * testsuite/gcc.dg/divbyzero.c: New tests.
3649         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
3650
3651 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3652
3653         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3654
3655         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3656         to avoid update_life_info call.
3657         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3658         * cfgcleanup.c (bb_flags): New enum.
3659         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3660         (notice_new_block, update_forwarder_flag): New functions.
3661         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3662         (try_forward_edges): Likewise; update flags.
3663         (merge_blocks): Likewise.
3664         (outgoing_edges_match): Likewise.
3665         (try_crossjump_to_edge): Likewise.
3666         (try_optimize_cfg): Likewise; initialize and clear the flags;
3667         recompute life info if needed.
3668         (cleanup_cfg): No need to clear aux pointers.
3669
3670 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
3671
3672         * config/i386/i386.c (override_options): Default to minimum
3673         stack alignment when optimizing for code size.
3674         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3675         change.
3676
3677         * config/i386/i386.c (override_options): Set upper limit of
3678         -mpreferred-stack-boundary to 12.
3679
3680 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
3681
3682         * recog.c (peephole2_optimize): Add default case to switch.
3683
3684 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3685
3686         * doc/gcc.texi (Sending Patches): Remove.
3687
3688 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
3689
3690         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3691         fields when comparing.
3692
3693 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3694
3695         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
3696         * arm.c (HOST_INT, HOST_UINT): Likewise.
3697
3698 2001-10-22  Stan Shebs  <shebs@apple.com>
3699
3700         * config/darwin-protos.h (darwin_exception_section): Declare.
3701         (darwin_eh_frame_section): Declare.
3702
3703 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
3704
3705         * i386.md (movti_rex64): Fix mode.
3706
3707 2001-10-22  Stan Shebs  <shebs@apple.com>
3708
3709         * target.h (struct gcc_target): Add asm_out.exception_section,
3710         asm_out.eh_frame_section.
3711         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3712         (TARGET_ASM_EH_FRAME_SECTION): New.
3713         (TARGET_INITIALIZER): Update.
3714         * output.h (default_exception_section): Declare.
3715         (default_eh_frame_section): Declare.
3716         * dwarf2out.c: Include target.h.
3717         (output_call_frame_info): Call target hook for eh frames.
3718         (default_eh_frame_section): New function.
3719         * except.c: Include target.h.
3720         (output_function_exception_table): Call target hook for exception
3721         section.
3722         * varasm.c (default_exception_section): Rename from
3723         exception_section, remove EXCEPTION_SECTION macro.
3724
3725         * config/darwin.h (darwin_eh_frame_section): New function.
3726         (EXCEPTION_SECTION): Remove.
3727         (TARGET_ASM_EXCEPTION_SECTION): Define.
3728         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3729         (nextstep_exception_section): New function.
3730         (nextstep_eh_frame_section): New function.
3731         (TARGET_ASM_EXCEPTION_SECTION): Define.
3732         (TARGET_ASM_EH_FRAME_SECTION): Define.
3733
3734         * config/pa/som.h (EXCEPTION_SECTION): Remove.
3735         (TARGET_ASM_EXCEPTION_SECTION): Define.
3736         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3737         (EXCEPTION_SECTION): Remove.
3738         (TARGET_ASM_EXCEPTION_SECTION): Define.
3739         * config/stormy16/stormy16.h: Remove comments referencing
3740         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3741
3742         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3743         TARGET_ASM_EH_FRAME_SECTION.
3744
3745 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
3746
3747         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3748         terms.
3749
3750         * c-format.c: Fix spelling typo in comment.
3751
3752         * sched-int.h: Fix typo in GCC preamble.
3753
3754 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3755
3756         PR debug/4252
3757         * doc/invoke.texi: Remove references to -fdump-translation-unit.
3758
3759 2001-10-22  Richard Henderson  <rth@redhat.com>
3760
3761         * config/i386/i386.c (ix86_expand_clear): New.
3762         * config/i386/i386-protos.h: Declare it.
3763         * config/i386/i386.md (setcc peep2s): Use it.
3764         (movsi_xor): Unexport.
3765
3766 2001-10-22  Richard Henderson  <rth@redhat.com>
3767
3768         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3769         free_EXPR_LIST_list for LOG_LINKS.
3770
3771 2001-10-21  Robert Lipe  <robertlipe@usa.net>
3772
3773         * config/i386/i386.c (sco_asm_named_section): Delete.
3774         (sco_asm_out_constructor): Delete.
3775         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3776         (ASM_OUTPUT_DOUBLE_INT): Likewise.
3777         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
3778         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3779         (EXCEPTION_SECTION): Delete EH scn renaming hack.
3780
3781 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3782
3783         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3784         and/or fold extra calls into fewer ones.
3785         * collect2.c (dump_file): Likewise.
3786         * cppexp.c (parse_number): Likewise.
3787         * cpplex.c (_cpp_lex_direct): Likewise.
3788         * final.c (output_asm_insn, asm_fprintf): Likewise.
3789         * fix-header.c (inf_scan_ident, main): Likewise.
3790         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3791         Likewise.
3792         * fold-const.c (real_hex_to_f): Likewise.
3793         * gen-protos.c (parse_fn_proto): Likewise.
3794         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3795         * genrecog.c (change_state, write_action): Likewise.
3796         * gensupport.c (shift_output_template): Likewise.
3797         * local-alloc.c (requires_inout): Likewise.
3798         * mips-tfile.c (IS_ASM_IDENT): Likewise.
3799         * protoize.c (is_id_char, main): Likewise.
3800         * real.c (asctoeg): Likewise.
3801         * recog.c (asm_operand_ok): Likewise.
3802         * reload.c (find_reloads): Likewise.
3803         * scan.c (scan_identget_token): Likewise.
3804         * sched-vis.c (print_value): Likewise.
3805         * stringpool.c (ggc_alloc_string): Likewise.
3806         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3807         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3808         * tradcpp.c (rescan): Likewise.
3809         * tree.c (clean_symbol_name): Likewise.
3810         * varasm.c (decode_reg_name): Likewise.
3811
3812         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3813         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3814         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3815         * m88k.c (output_ascii): Likewise.
3816         * m88k.h (OVERRIDE_OPTIONS): Likewise.
3817         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3818         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3819         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3820
3821 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3822
3823         * langhooks.c (lang_hook_default_do_nothing,
3824         lang_hook_default_decode_option): New defaults.
3825         * langhooks.h: Make hooks unconditional and non-NULL.
3826         * toplev.c (compile_file, toplev_main): Update.
3827         * toplev.h: Update comments.
3828         * objc/objc-act.c (lang_hooks): Update to new paradigm.
3829
3830 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3831
3832         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3833
3834         * system.h (IN_RANGE): New macro.
3835
3836 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
3837
3838         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3839         INTLDEPS variable, which does not include $LIBICONV.
3840         * Makefile.in: Use INTLDEPS in LIBDEPS.
3841         * configure: Regenerate.
3842
3843 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3844
3845         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3846         * cpplex.c (lex_percent, lex_dot): Remove.
3847         (get_effective_char, skip_block_comment, skip_line_comment,
3848         parse_identifier_slow, parse_number, parse_string, save_comment,
3849         _cpp_lex_direct): Update to do lookback freely.
3850         (IF_NEXT_IS, BACKUP): New macros.
3851         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3852         * cppmacro.c (paste_tokens): Update.
3853
3854 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
3855
3856         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3857
3858 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
3859
3860         * reload1.c (reload): Check CONSTANT_P before calling
3861         LEGITIMATE_PIC_OPERAND_P.
3862         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3863         workaround of 2001-10-13.
3864
3865 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
3866
3867         * i386.c (split_di): Handle splitting of DFmode.
3868
3869 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3870
3871         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3872         (adjust_address_1, offset_address): Likewise.
3873
3874         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3875         (output_asm_insn): Call it for each line output.
3876         Don't record an operand more than once.
3877
3878         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3879         * main.c: Include config.h and system.h, but not ansidecl.h.
3880         * Makefile.in (main.o): Update accordingly.
3881
3882 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3883
3884         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3885
3886 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
3887
3888         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3889         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3890         Break out from ...
3891         (find_sub_basic_blocks): ... here;
3892         (find_many_sub_basic_blocks): New.
3893         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3894
3895         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3896
3897         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3898
3899         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3900
3901         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3902         * flow.c (update_life_info): Measure time.
3903         * c-decl.c: Include timevar.h
3904         (c_expand_body): Measure time.
3905         * toplev.c (rest_of_compilation): Measure time of mode switching
3906         separately.
3907         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
3908
3909         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3910         (lang_independent_options): Add asynchronous-unwind-tables
3911         (toplev_main): flag_asynchronous_unwind_tables implies
3912         flag_unwind_tables.
3913         * flags.h (flag_asynchronous_unwind_tables): Declare.
3914         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3915         flag_asynchronous_unwind_tables.
3916         (output_call_frame_info): Likewise.
3917         * invoke.texi (-fasynchronous-unwind-tables): Document.
3918         * i386.c (optimization_options): Enable
3919         flag_asynchronous_unwind_tables.
3920
3921         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
3922         * i386.md (s* expanders): Destination is QImode.
3923
3924         * toplev.c (rest_of_compilation): Do not call clear_log_links.
3925         * rtl.h (clear_log_links): Kill.
3926         * flow.c (clear_log_links): Make static; accept blocks parameter;
3927         do no clear life info.
3928         (update_life_info): Call clear_log_links.
3929
3930         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3931
3932 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3933
3934         * cpplex.c (handle_newline, skip_escaped_newlines,
3935         get_effective_char, skip_block_comment, skip_line_comment,
3936         parse_identifier_slow, parse_number, parse_string,
3937         _cpp_lex_direct): Update to do more stepping back.
3938         (trigraph_ok): Similarly.  Rename trigraph_p.
3939         (SAVE_STATE, RESTORE_STATE): Remove.
3940         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
3941
3942         * cpplib.c (destringize): Rename destringize_and_run, and
3943         call run_directive directly.
3944         (_cpp_do__Pragma): Simplify.
3945
3946 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3947
3948         * pe.c (arm_pe_unique_section): Const-ify.
3949         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3950         (switch_to_section): Add static prototype.
3951
3952         * output.h (drectve_section): Prototype.
3953
3954 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3955
3956         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3957         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3958         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3959         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3960         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3961         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3962         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3963         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3964         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3965         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3966         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3967         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3968         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3969         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3970         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3971         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3972         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3973         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3974         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3975         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3976         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3977         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3978         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3979         cris-*-none, cris-*-linux*: Update ${tmfile} list.
3980         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3981         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3982         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3983         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3984         v850-*-*): Delete superflous ${cpu_type} setting.
3985         * config/linux.h: Delete svr4.h include.
3986         (SET_ASM_OP): Delete.
3987         * config/netware.h (INT_ASM_OP): Undef before define.
3988         * config/ptx4.h: Delete elfos.h include.
3989         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3990         * config/svr4.h: Delete elfos.h include. Update commentary.
3991         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3992         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3993         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3994         config/v850/v850.h: Delete svr4.h include.
3995         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3996         config/m68k/m68kv4.h, config/m88k/sysv4.h,
3997         config/sparc/sysv4.h: Update includes.
3998         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3999         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
4000         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
4001         config/m88k/dguxbcs.h: Delete includes.
4002         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
4003         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
4004         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
4005         it.
4006         * config/m88k/dgux.h: Delete include.
4007         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
4008         defining it.
4009         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
4010         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
4011         * config/sh/elf.h: Update include.
4012         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
4013         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
4014
4015 2001-10-19  Catherine Moore  <clm@redhat.com>
4016
4017         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
4018         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
4019         base and count fields.
4020         (stormy16_expand_builtin_va_start):  last_reg_count changed to
4021         size_of_reg_args.  Use count + size in first comparison.
4022
4023 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4024
4025         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
4026         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
4027         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
4028         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
4029         Set alignment from type if INDIRECT_REF.
4030         (adjust_address_1, offset_address): Simplify alignment compuitation.
4031         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
4032         here; done by set_mem_attributes.
4033
4034 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4035
4036         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
4037         * arm-protos.h (rdata_section, zero_init_section, common_section):
4038         Prototype.
4039         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
4040         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
4041         traditional mode stringification.
4042         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
4043         in macros controling its use.
4044         * rtlanal.c: Include tm_p.h.
4045         * varasm.c (asm_output_aligned_bss): Mark parameter with
4046         ATTRIBUTE_UNUSED.
4047         (assemble_constant_align, assemble_start_function, assemble_align,
4048         assemble_variable, assemble_trampoline_template,
4049         output_constant_def_contents): Wrap potentially empty if-stmt body
4050         in brackets.
4051
4052 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4053
4054         * a29k-protos.h (literal_section): Prototype.
4055         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
4056         * a29k.md: Ensure function pointers are prototyped.
4057         * genattrtab.c (write_eligible_delay): Mark parameter with
4058         ATTRIBUTE_UNUSED.
4059
4060 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4061
4062         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
4063         * 1750a.c (print_operand): Fix format specifier warning.
4064         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
4065         * 1750a.md: Likewise.
4066         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
4067         * genemit.c (output_add_clobbers): Mark parameter with
4068         ATTRIBUTE_UNUSED.
4069         * genrecog.c (write_subroutine): Likewise.
4070         * integrate.c (expand_inline_function): Delete unused variable.
4071         * varasm.c (remove_from_pending_weak_list): Wrap with
4072         ASM_WEAKEN_LABEL.
4073
4074 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
4075
4076         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
4077         field is different to previous argument's neg field.
4078
4079         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
4080
4081 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4082
4083         * final.c (get_decl_from_op): New function.
4084         (output_asm_insn): Call it; write "*" when item with decl is address.
4085
4086 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
4087
4088         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
4089         about 64-bit support from the 3.0_branch version.
4090
4091 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
4092
4093         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
4094         USE_INCLUDED_LIBINTL when appropriate.
4095         * configure, config.in: Regenerate.
4096         * Makefile.in (datadir): Set to @datadir@.
4097         (intl.o): Also depend on $(CONFIG_H) and system.h.
4098
4099         * intl.c: Factor out common gettext initialization sequence.
4100         (gcc_init_libintl):  New function.
4101         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
4102         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
4103         off NLS.  Add multiple include guard.  No need to #ifdef-guard
4104         an #undef.  Prototype gcc_init_libintl here.
4105
4106         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
4107         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
4108         Use gcc_init_libintl.
4109
4110 2001-10-19  Catherine Moore  <clm@redhat.com>
4111
4112         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
4113
4114         * config/stormy16/stormy16.c (stormy16_split_move):  Make
4115         sure that REG_INC notes are present for auto_inc operands.
4116
4117 2001-10-19  Andreas Jaeger  <aj@suse.de>
4118
4119         * configure: Regenerated.
4120         * configure.in: Add x86_64 to switch statements.
4121
4122 2001-10-18  Richard Henderson  <rth@redhat.com>
4123
4124         * config/alpha/alpha.md (sibcall_osf_1): Load destination
4125         address into $27 explicitly.
4126         (sibcall_value_osf_1): Likewise.
4127
4128 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4129
4130         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
4131         (offset_address): New function.
4132         (free_emit_status): Free regno_decl.
4133         (init_emit): Pass proper number of elements to xcalloc.
4134         Allocate regno_decl.
4135         (mark_emit_status): Mark regno_decl values.
4136         * expr.c (highest_pow2_factor): New function.
4137         (expand_assigment): Use it and offset_address.
4138         Properly handle ptr_mode vs. Pmode in offset calculation.
4139         (store_constructor, expand_expr_unaligned): Likewise.
4140         (expand_expr, case COMPONENT_EXPR): Likewise.
4141         * expr.h (offset_address): New decl.
4142         * function.h (struct emit_status): Add regno_decl.
4143         (REGNO_DECL): New macro.
4144         * final.c (output_asm_name): Move in file and don't conditionalize
4145         on flag_print_asm_name.
4146         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
4147         Output names of operands, if known.
4148         * function.c (assign_parms): Set REGNO_DECL.
4149         * integrate.c (integrate_decl_tree): Likewise.
4150         * stmt.c (expand_decl): Likewise.
4151         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
4152
4153 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
4154
4155         * attribs.c (handle_noinline_attribute): New function.
4156         (handle_used_attribute): Likewise.
4157         (c_common_attribute_table): Added noinline and used.
4158         * doc/extend.texi (Function Attributes): Document them.
4159         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
4160         Warn when merging inline with attribute noinline.
4161         (start_decl, start_function): Warn if inline and attribute
4162         noinline appear in the same declaration.
4163
4164 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4165
4166         * config.gcc: Update c4x and i370 for C front end-specific
4167         dependencies.
4168         * config/c4x/c4x-c.c: New.
4169         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
4170         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4171         New declarations.
4172         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
4173         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4174         Make extern.
4175         (c4x_init_pragma): Remove.
4176         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
4177         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
4178         c4x_pr_ignored): Move to c4x-c.c.
4179         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
4180         * config/c4x/t-c4x: Update.
4181         * config/i370/i370-c.c: New.
4182         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
4183         (i370_pr_map): Move to i370-c.c.
4184         * config/i370/t-i370: New.
4185
4186         * doc/tm.texi: Update.
4187
4188 2001-10-17  Stan Shebs  <shebs@apple.com>
4189
4190         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
4191         typo fixes throughout.
4192         (machopic_output_stub): Remove some dead code.
4193
4194 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
4195
4196         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
4197         leak.
4198
4199 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4200
4201         * Makefile.in (print-rtl.o): Depend on TREE_H.
4202         * alias.c (get_alias_set): Make two passes over objects to first
4203         see if inner object is access via restricted pointer.
4204         Defer allocating alias set for restricted pointer until here.
4205         Call find_placeholder with second arg nonzero.
4206         Minor cleanups.
4207         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
4208         set for restricted pointer types.
4209         * emit-rtl.c (set_mem_attributes): Set more attributes.
4210         (set_mem_align, change_address, adjust_address_1): New functions.
4211         (change_address_1): Now static.
4212         (adjust_address, adjust_address_nv): Deleted.
4213         (replace_equiv_address): Call change_address_1.
4214         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
4215         (find_placeholder): Get starting point from PLIST arg.
4216         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
4217         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
4218         (adjust_address, adjust_address_nv): New macros.
4219         * print-rtl.c (tree.h): New include.
4220         (print_rtx, case MEM): Print all memory attributes.
4221
4222 2001-10-17  Richard Henderson  <rth@redhat.com>
4223
4224         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
4225
4226 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
4227
4228         * c-tree.texi: Eliminate duplicated word.
4229         * cpp.texi: Likewise.
4230         * install.texi: Likewise.
4231         * invoke.texi: Likewise.
4232         * tm.texi: Likewise.
4233
4234 2001-10-17  Michael Collison  <collison@isisinc.net>
4235
4236         * dsp16xx.c: Fix comment formatting to match GNU standards.
4237         (dsp16xx_output_function_prologue): Change type of 'size'
4238         parameter from 'int' to HOST_WIDE_INT.
4239         (dsp16xx_output_function_epilogue): Change type of 'size'
4240         parameter from 'int' to HOST_WIDE_INT.
4241
4242 2001-10-16  Richard Henderson  <rth@redhat.com>
4243
4244         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
4245         * configure, config.in: Rebuild.
4246
4247         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
4248         (ix86_output_addr_diff_elt): New.
4249         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
4250         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4251         (JUMP_TABLES_IN_TEXT_SECTION): New.
4252         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
4253         * config/i386/i386-protos.h: Update.
4254
4255         * config/i386/386bsd.h, config/i386/beos-elf.h,
4256         config/i386/freebsd-aout.h, config/i386/freebsd.h,
4257         config/i386/i386-interix.h, config/i386/i386elf.h,
4258         config/i386/linux.h, config/i386/netbsd-elf.h,
4259         config/i386/netbsd.h, config/i386/openbsd.h,
4260         config/i386/ptx4-i.h, config/i386/rtemself.h,
4261         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
4262         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
4263
4264 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
4265
4266         * stmt.c (expand_asm_operands): Update commentary.
4267
4268 2001-10-16  Stan Shebs  <shebs@apple.com>
4269
4270         * config/darwin.h (GCC_NAME): Remove, no longer used.
4271         (NO_MATH_LIBRARY): Ditto.
4272         (MATH_LIBRARY): Define to emptiness.
4273         (DWARF2_DEBUGGING_INFO): Define.
4274         (PREFERRED_DEBUGGING_TYPE): Define.
4275         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
4276         (EXCEPTION_SECTION): Define.
4277         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4278         * config/darwin.c (darwin_encode_section_info): Handle case of
4279         DECL_INITIAL being error_mark_node.
4280
4281 2001-10-16  Richard Henderson  <rth@redhat.com>
4282
4283         * alpha.c (current_file_function_operand): Don't fail for profiling.
4284         (direct_call_operand): New.
4285         * alpha-protos.h: Declare it.
4286         * alpha.h (EXTRA_CONSTRAINT): Use it.
4287         (PREDICATE_CODES): Add it.
4288         (ASM_OUTPUT_MI_THUNK): Remove.
4289         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
4290         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
4291
4292 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
4293
4294         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
4295         (JUMP_TABLES_IN_TEXT_SECTION): Define.
4296
4297 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
4298
4299         * cfg.c (free_edge): Break out from ....
4300         (remove_edge): ... here.
4301         (clear_edges): Use free_edge.
4302
4303         * att.h (ASM_QUAD): Add comment.
4304         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
4305
4306 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
4307
4308         * i386.c (split_ti): New function.
4309         (ix86_split_to_parts): Support TImodes.
4310         * i386.h (VALID_INT_MODE_P): Add TImode.
4311         * i386.md (movdi splitter): Fix.
4312         (movti): Support 64bit integer registers.
4313         (movti_rex64): New function and splitter.
4314
4315         * i386.c (*_cost): Add movsx/movzx cost.
4316         * i386.h (struct processor_costs): Add movsx/movzx fields.
4317         (RTX_COSTS): Handle zero/sign extend + avoid believing that
4318         64bit operations require split on 64bit machine.
4319         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
4320
4321         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
4322         (ix86_expand_move): Avoid pushes of memory if size does not match;
4323         move long constants to register.
4324         (x86_initialize_trampoline): Fix mode.
4325         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
4326         Use ASM_QUAD on 64bit.
4327         * i386.md (test pattern): Disallow impossible constants.
4328         (tablejump PIC expander): Fix emitting of sum.
4329         (movdicc_rex64): Rename to movdicc.
4330         * linux64.h (LINK_SPEC): Add missing '%'.
4331
4332 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
4333
4334         * tree-inline.c (inlinable_function_p): Leave it up to the
4335         front-end to turn -finline-functions into DECL_INLINE set for all
4336         functions.
4337
4338 2001-10-16  Stan Shebs  <shebs@apple.com>
4339
4340         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
4341
4342 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
4343
4344         * recog.c: Formatting and comment typo fixes.
4345
4346         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
4347         version in single tree build.
4348         * configure: Regenerate.
4349
4350 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
4351
4352         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
4353         MODE arguments to gen_rtx and compare operand with const0_rtx.
4354
4355 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4356
4357         * system.h: Poison old unused target macros.
4358         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
4359         * config/stormy16/stormy16.c: Update references to obsolete macros.
4360         * config/stormy16/stormy16.h: Similarly.
4361         * config/stormy16/stormy16.md: Similarly.
4362         * config/cris/cris.h: Similarly.
4363
4364 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4365
4366         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
4367         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
4368         cpp_register_pragma): Update accordingly.
4369
4370 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4371
4372         * c-pragma.h (cpp_register_pragma_space): Remove.
4373         * cpplib.h (cpp_register_pragma_space): Remove.
4374         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
4375         (cpp_register_pragma_space): Remove.
4376         (cpp_register_pragma): Simplify using lookup_pragma_entry,
4377         add sanity checks.
4378         (do_pragma): Similarly.
4379         (_cpp_init_internal_pragmas): Don't register namespaces.
4380
4381         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
4382         Don't register namespaces.
4383         * cp/lex.c (init_cp_pragma): Similarly.
4384         * doc/tm.texi: Update.
4385
4386 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4387
4388         PR c/4157
4389         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
4390
4391 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
4392
4393         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
4394         add scheduling support.
4395         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
4396         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
4397         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
4398
4399
4400 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
4401
4402         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
4403         missing CONSTANT_P test in core GCC.
4404
4405 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4406
4407         * cppmain.c (struct printer): New member source.
4408         (scan_translation_unit): Fix spacing at start of lines.
4409         (cb_line_change): Update.
4410
4411         * gcc.dg/cpp/spacing2.c: New test.
4412
4413 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
4414
4415         * config/cris/arit.c: Use __builtin_labs, not abs.
4416
4417         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
4418
4419         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
4420         misplaced sprintf and fprintf argument.
4421
4422 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
4423
4424         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
4425         * configure.in, Makefile.in: Take out obsolete check-po logic.
4426         * configure, config.in: Regenerate.
4427
4428 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
4429
4430         * objc/objc-act.c (finish_objc): Correct precondition for emitting
4431         symtab declarations.
4432
4433 2001-10-12  Stan Shebs  <shebs@apple.com>
4434
4435         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
4436         declarations of arguments and local variables.
4437
4438 2001-10-12  Christopher Faylor  <cgf@redhat.com>
4439
4440         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
4441         ENDFILE_SPEC definition.
4442
4443 2001-10-12  Kazu Hirata  <kazu@hxi.com>
4444
4445         * gthr-dce.h: Fix comment formatting.
4446         * gthr-posix.h: Likewise.
4447         * gthr-single.h: Likewise.
4448         * gthr-solaris.h: Likewise.
4449         * gthr-vxworks.h: Likewise.
4450         * gthr-win32.h: Likewise.
4451
4452 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
4453
4454         * final.c (output_asm_insn): Make sure assembly dialects are
4455         terminated, not nested.  Output `|' and `}' characters if they
4456         don't appear inside assembly dialect selection.
4457         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
4458         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
4459         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
4460         strsetsi_rex_1): Add {} braces.
4461
4462 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
4463
4464         * toplev.c (compile_file): Ignore return value from yyparse.
4465         Always pop any nested binding levels after yyparse returns.
4466
4467 2001-10-11  Richard Henderson  <rth@redhat.com>
4468
4469         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
4470
4471 2001-10-11  Richard Henderson  <rth@redhat.com>
4472
4473         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
4474         fall back to add_AT_long_long for large CONST_INT.
4475
4476 2001-10-11  Richard Henderson  <rth@redhat.com>
4477
4478         * config/i386/i386.md (setcc splitters): Add four splitters to
4479         simplify compound compares that simplify_comparison can't handle.
4480
4481 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
4482
4483         * cpplex.c (digraph_spellings, token_spellings): Make static.
4484
4485 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4486
4487         * unroll.c (loop_iterations): Fixup last patch.
4488
4489 2001-10-11  Richard Henderson  <rth@redhat.com>
4490
4491         * rtl.h (REG_VTABLE_REF): New.
4492         * rtl.c (reg_note_name): Add it.
4493         * combine.c (distribute_notes): Handle it.
4494         * final.c (final_scan_insn): Handle it.
4495         * tree.def (VTABLE_REF): New.
4496         * expr.c (expand_expr): Handle it.
4497         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
4498         * output.h: Declare them.
4499
4500 2001-10-11  Richard Henderson  <rth@redhat.com>
4501
4502         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
4503         for a DECL_INITIAL.
4504
4505 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
4506
4507         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4508         available in 64-bit mode.
4509
4510 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4511
4512         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4513         cris-*-linux* cases.
4514         * config/cris/cris-protos.h: New file.
4515         * config/cris/cris.c: New file.
4516         * config/cris/cris.h: New file.
4517         * config/cris/cris.md: New file.
4518         * config/cris/linux.h: New file.
4519         * config/cris/aout.h: New file.
4520         * config/cris/arit.c: New file.
4521         * config/cris/cris_abi_symbol.c: New file.
4522         * config/cris/mulsi3.asm: New file.
4523         * config/cris/t-aout: New file.
4524         * config/cris/t-cris: New file.
4525         * config/cris/t-elfmulti: New file.
4526         * config/cris/t-linux: New file.
4527         * doc/invoke.texi: Add CRIS options.
4528         * doc/install.texi (Specific): Add blurb for CRIS.
4529
4530 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
4531
4532         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
4533         before using it.
4534         * config/float/i32.h: Likewise.
4535         * config/float-i386.h: Likewise.
4536         * config/float-i64.h: Likewise.
4537         * config/float-m68k.h: Likewise.
4538         * config/float-sh.h: Likewise.
4539         * config/float-sparc.h: Likewise.
4540
4541 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4542
4543         * doc/contrib.texi: Add note about CRIS port to my entry.
4544
4545 2001-10-11  Kazu Hirata  <kazu@hxi.com>
4546
4547         * basic-block.h: Fix formatting.
4548         * bitmap.h: Likewise.
4549         * cpplib.h: Likewise.
4550         * c-tree.h: Likewise.
4551         * diagnostic.h: Likewise.
4552         * flags.h: Likewise.
4553         * ggc.h: Likewise.
4554         * longlong.h: Likewise.
4555         * real.h: Likewise.
4556         * reload.h: Likewise.
4557         * rtl.h: Likewise.
4558         * tree.h: Likewise.
4559
4560 2001-10-10  Richard Henderson  <rth@redhat.com>
4561
4562         * c-parse.in (asm_operand): Allow named operands.
4563         * genconfig.c (max_recog_operands): Set to 29.
4564         * local-alloc.c (requires_inout): Skip multiple digits.
4565         * recog.c (asm_operand_ok): Likewise.
4566         (preprocess_constraints): Use strtoul for matching constraints.
4567         (constrain_operands): Likewise.
4568         * regmove.c (find_matches): Likewise.
4569         * reload.c (find_reloads): Likewise.
4570         * stmt.c (parse_output_constraint): Don't reject in-out
4571         constraint on operands > 9.  Reject '[' in constraint.
4572         (expand_asm_operands): Handle named operands.  Use strtoul
4573         for matching constraints.
4574         (check_operand_nalternatives): Split out from expand_asm_operands.
4575         (check_unique_operand_names): New.
4576         (resolve_operand_names, resolve_operand_name_1): New.
4577
4578         * doc/extend.texi (Extended Asm): Document named operands.
4579         * doc/md.texi (Simple Constraints): Document matching constraints
4580         on operands > 9.
4581
4582 2001-10-10  Richard Henderson  <rth@redhat.com>
4583
4584         * combine.c (try_combine): Handle a SEQUENCE of one insn.
4585
4586         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
4587         (jcc splitters): Add two splitters to simplify compound compares
4588         that simplify_comparison can't handle.
4589
4590 2001-10-10  Richard Henderson  <rth@redhat.com>
4591
4592         * langhooks.c: Include langhooks.h.
4593         * Makefile.in (langhooks.o): Depend on it.
4594
4595 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
4596
4597         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4598         should not be considered as a no-op.
4599         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4600
4601 2001-10-10  Stan Shebs  <shebs@apple.com>
4602
4603         * alias.c: Remove uses of "register" specifier in declarations
4604         of arguments and local variables.
4605         * c-common.c: Ditto.
4606         * c-convert.c: Ditto.
4607         * c-decl.c: Ditto.
4608         * c-format.c: Ditto.
4609         * c-semantics.c: Ditto.
4610         * c-typeck.c: Ditto.
4611         * caller-save.c: Ditto.
4612         * calls.c: Ditto.
4613         * cfg.c: Ditto.
4614         * cfgbuild.c: Ditto.
4615         * cfgrtl.c: Ditto.
4616         * collect2.c: Ditto.
4617         * combine.c: Ditto.
4618         * convert.c: Ditto.
4619         * cppexp.c: Ditto.
4620         * cppfiles.c: Ditto.
4621         * cse.c: Ditto.
4622         * dbxout.c: Ditto.
4623         * defaults.h: Ditto.
4624         * df.c: Ditto.
4625         * dwarf2out.c: Ditto.
4626         * dwarfout.c: Ditto.
4627         * emit-rtl.c: Ditto.
4628         * explow.c: Ditto.
4629         * expmed.c: Ditto.
4630         * expr.c: Ditto.
4631         * final.c: Ditto.
4632         * fix-header.c: Ditto.
4633         * floatlib.c: Ditto.
4634         * flow.c: Ditto.
4635         * fold-const.c: Ditto.
4636         * function.c: Ditto.
4637         * gcc.c: Ditto.
4638         * gcse.c: Ditto.
4639         * gen-protos.c: Ditto.
4640         * genattrtab.c: Ditto.
4641         * gencheck.c: Ditto.
4642         * genconfig.c: Ditto.
4643         * genemit.c: Ditto.
4644         * genextract.c: Ditto.
4645         * genflags.c: Ditto.
4646         * gengenrtl.c: Ditto.
4647         * genoutput.c: Ditto.
4648         * genpeep.c: Ditto.
4649         * genrecog.c: Ditto.
4650         * gensupport.c: Ditto.
4651         * global.c: Ditto.
4652         * gmon.c: Ditto.
4653         * graph.c: Ditto.
4654         * haifa-sched.c: Ditto.
4655         * hard-reg-set.h: Ditto.
4656         * hash.c: Ditto.
4657         * integrate.c: Ditto.
4658         * jump.c: Ditto.
4659         * lists.c: Ditto.
4660         * local-alloc.c: Ditto.
4661         * loop.c: Ditto.
4662         * mips-tdump.c: Ditto.
4663         * mips-tfile.c: Ditto.
4664         * optabs.c: Ditto.
4665         * prefix.c: Ditto.
4666         * print-rtl.c: Ditto.
4667         * read-rtl.c: Ditto.
4668         * real.c: Ditto.
4669         * recog.c: Ditto.
4670         * reg-stack.c: Ditto.
4671         * regclass.c: Ditto.
4672         * regmove.c: Ditto.
4673         * reload.c: Ditto.
4674         * reload1.c: Ditto.
4675         * reorg.c: Ditto.
4676         * resource.c: Ditto.
4677         * rtl.c: Ditto.
4678         * rtlanal.c: Ditto.
4679         * scan.c: Ditto.
4680         * sched-deps.c: Ditto.
4681         * sched-rgn.c: Ditto.
4682         * sdbout.c: Ditto.
4683         * simplify-rtx.c: Ditto.
4684         * stmt.c: Ditto.
4685         * stor-layout.c: Ditto.
4686         * toplev.c: Ditto.
4687         * tradcif.y: Ditto.
4688         * tradcpp.c: Ditto.
4689         * tree.c: Ditto.
4690         * unroll.c: Ditto.
4691         * varasm.c: Ditto.
4692         * xcoffout.c: Ditto.
4693
4694 2001-10-10  Richard Henderson  <rth@redhat.com>
4695
4696         * rtl.h (can_reverse_comparison_p): Remove.
4697
4698 2001-10-10  Christopher Faylor <cgf@redhat.com>
4699
4700         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
4701         used.
4702
4703 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4704
4705         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
4706         (Thanks to Chris Faylor for suggesting macro name).
4707         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
4708         WIN32 defines.
4709         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
4710         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
4711         (MATH_LIBRARY): Undef before definition.
4712         (OUTPUT_QUOTED_STRING): Likewise.
4713         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
4714
4715 2001-10-10  Richard Henderson  <rth@redhat.com>
4716
4717         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
4718         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
4719         a tristate comparison value.
4720         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
4721
4722 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4723
4724         PR c++/4512
4725         * unroll.c (loop_iterations): Ignore insns generated by loop
4726         unrolling.
4727
4728         * config.gcc (mips*-*-gnu*): Delete support.
4729         * config/mips/gnu.h: Remove.
4730
4731 2001-10-10  Kazu Hirata  <kazu@hxi.com>
4732
4733         * calls.c: Fix formatting.
4734         * c-decl.c: Likewise.
4735         * cfgcleanup.c: Likewise.
4736         * combine.c: Likewise.
4737         * cppfiles.c: Likewise.
4738         * cpplib.c: Likewise.
4739         * cppmacro.c: Likewise.
4740         * crtstuff.c: Likewise.
4741         * cse.c: Likewise.
4742         * dwarf2out.c: Likewise.
4743         * expmed.c: Likewise.
4744         * expr.c: Likewise.
4745         * fold-const.c: Likewise.
4746         * function.c: Likewise.
4747         * gcse.c: Likewise.
4748         * genattrtab.c: Likewise.
4749         * ggc-page.c: Likewise.
4750         * integrate.c: Likewise.
4751         * libgcc2.c: Likewise.
4752         * loop.c: Likewise.
4753         * optabs.c: Likewise.
4754         * profile.c: Likewise.
4755         * protoize.c: Likewise.
4756         * real.c: Likewise.
4757         * recog.c: Likewise.
4758         * reload1.c: Likewise.
4759         * reload.c: Likewise.
4760         * reorg.c: Likewise.
4761         * resource.c: Likewise.
4762         * sched-rgn.c: Likewise.
4763         * sdbout.c: Likewise.
4764         * stmt.c: Likewise.
4765         * toplev.c: Likewise.
4766         * varasm.c: Likewise.
4767
4768 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
4769
4770         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
4771         * Makefile.in (langhooks.o): Add dependencies.
4772
4773 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
4774
4775         * rs6000.c (rs6000_emit_load_toc_table): Don't
4776         strdup the toc label.
4777         (create_TOC_reference): Likewise.
4778
4779 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4780
4781         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
4782         version default.
4783
4784 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4785
4786         * config/i386/i386.c (ix86_attribute_table): Correct
4787         min_len, max_len fields for dllimport, dllexport and shared.
4788
4789 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4790
4791         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
4792         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
4793         Consistently use "nonzero" instead of "non-zero".
4794
4795 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4796
4797         * acconfig.h: Fix comment formatting.
4798         * c-dump.h: Likewise.
4799         * c-tree.h: Likewise.
4800         * conditions.h: Likewise.
4801         * expr.h: Likewise.
4802         * function.h: Likewise.
4803         * gthr.h: Likewise.
4804         * hwint.h: Likewise.
4805         * integrate.h: Likewise.
4806         * intl.h: Likewise.
4807         * loop.h: Likewise.
4808         * optabs.h: Likewise.
4809
4810 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4811
4812         * c-common.h: Fix comment formatting.
4813         * c-dump.c: Likewise.
4814         * cfg.c: Likewise.
4815         * diagnostic.h: Likewise.
4816         * except.c: Likewise.
4817         * gcc.h: Likewise.
4818         * gcov-io.h: Likewise.
4819         * genattrtab.c: Likewise.
4820         * output.h: Likewise.
4821         * predict.h: Likewise.
4822         * reload1.c: Likewise.
4823         * reload.h: Likewise.
4824         * resource.h: Likewise.
4825         * scan.h: Likewise.
4826         * system.h: Likewise.
4827         * tree.h: Likewise.
4828         * tree-inline.c: Likewise.
4829         * tsystem.h: Likewise.
4830         * varasm.c: Likewise.
4831         * xcoffout.h: Likewise.
4832
4833 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4834
4835         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
4836
4837 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4838
4839         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
4840         config/i386/i386elf.h, config/i386/netbsd-elf.h,
4841         config/i386/netware.h, config/mcore/gfloat.h,
4842         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
4843         config/netware.h, gccbug.in: Update FSF address.
4844
4845 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4846
4847         * c-common.c: Fix comment typos.
4848         * cfgrtl.c: Likewise.
4849         * collect2.c: Likewise.
4850         * cpplex.c: Likewise.
4851         * doloop.c: Likewise.
4852         * dwarf2out.c: Likewise.
4853         * dwarfout.c: Likewise.
4854         * expr.c: Likewise.
4855         * fold-const.c: Likewise.
4856         * gcc.c: Likewise.
4857         * gcov.c: Likewise.
4858         * gcse.c: Likewise.
4859         * global.c: Likewise.
4860         * ifcvt.c: Likewise.
4861         * loop.c: Likewise.
4862         * optabs.c: Likewise.
4863         * protoize.c: Likewise.
4864         * regclass.c: Likewise.
4865         * reorg.c: Likewise.
4866         * rtl.h: Likewise.
4867         * stmt.c: Likewise.
4868         * tree.h: Likewise.
4869         * doc/cpp.texi: Likewise.
4870         * doc/c-tree.texi: Likewise.
4871         * doc/extend.texi: Likewise.
4872         * doc/invoke.texi: Likewise.
4873         * doc/objc.texi: Likewise.
4874         * doc/tm.texi: Likewise.
4875
4876 2001-10-08  Richard Henderson  <rth@redhat.com>
4877
4878         * varasm.c (set_named_section_flags): Initialize "declared".
4879
4880 2001-10-08  Robert Lipe  <robertlipe@usa.net>
4881
4882         * varasm.c (struct in_named_entry): Add declared.
4883         (named_section_first_declaration): New function.
4884         (default_elf_asm_named_section): Use it.
4885         * output.h (named_section_first_declaration): New.
4886
4887 2001-10-08  Richard Henderson  <rth@redhat.com>
4888
4889         * i386.md (movsi_xor): Export.
4890         (setcc peep2): Use it when available; add an alternative to
4891         match zero_extendhisi2_and.
4892
4893 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4894
4895         * romp-protos.h (romp_initialize_trampoline): New function.
4896         * romp.c (romp_initialize_trampoline): Likewise.
4897         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
4898         romp_initialize_trampoline.
4899
4900 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4901
4902         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
4903         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4904         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4905         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4906
4907 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4908
4909         * unroll.c (loop_iterations): Extend check for multiple back edges.
4910
4911 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
4912
4913         * langhooks.h: New file.
4914         * Makefile.in (OBJS): Added langhooks.o.
4915         (c-lang.o): Depend on langhooks.h.
4916         (c-common.o): Don't depend on tree-inline.h.
4917         (tree-inline.o): Depend on toplev.h.
4918         (langhooks.o): New rule.
4919         * c-common.c: Don't include tree-inline.h.
4920         (c_mark_lang_decl): Mark argument c as unused.
4921         (c_common_lang_init): Don't initialize hooks here.
4922         * c-lang.c: Include langhooks.h, then override some macros.
4923         (lang_hooks): Initialize with macros in langhooks.h.
4924         (c_init): Don't initialize hooks here.
4925         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
4926         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
4927         * tree-inline.c: Include toplev.h.  Don't define hook variables.
4928         * tree-inline.h: Don't define hook types nor declare hook
4929         variables.  Move macros to...
4930         * langhooks.c: ... new file, as functions.  Adjust all callers.
4931
4932 2001-10-08  Jeffrey A Law  <law@cygnus.com>
4933
4934         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
4935         purge_mem_unchanging_flag on all instructions, not just on those
4936         before NOTE_INSN_FUNCTION_BEG.
4937
4938 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4939
4940         * cppmacro.c (_cpp_create_definition): Leave comments off.
4941
4942         * doc/cpp.texi: Update.
4943
4944 2001-10-08  DJ Delorie  <dj@redhat.com>
4945
4946         * c-decl.c (grokfield): Make sure the only unnamed fields
4947         we're allowing are either structs or unions.
4948         * doc/extend.texi: Add documentation for the unnamed field
4949         extension.
4950
4951 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
4952
4953         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
4954         * configure.in: Use it.
4955         * configure: Regenerated.
4956         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
4957         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
4958
4959 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4960
4961         * cppfiles.c (open_file): Don't mark zero-length files
4962         never-reread here.  Don't output diagnostics here either.
4963         (stack_include_file): Mark them never-reread here.
4964         (_cpp_read_file): Update.
4965
4966 2001-10-08  Richard Henderson  <rth@redhat.com>
4967
4968         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4969
4970 2001-10-08  Richard Henderson  <rth@redhat.com>
4971
4972         * expr.c (store_expr): When converting a CONST_INT for storage
4973         in a SUBREG, convert it to both SUBREG modes before stripping
4974         the SUBREG.
4975
4976 2001-10-08  Richard Henderson  <rth@redhat.com>
4977
4978         * varasm.c (restore_varasm_status): New.
4979         * function.h: Declare it.
4980         * function.c (pop_function_context_from): Call it.
4981
4982 2001-10-08  Richard Henderson  <rth@redhat.com>
4983
4984         * c-common.h (struct c_lang_decl): Add declared_inline.
4985         * c-tree.h (DECL_DECLARED_INLINE_P): New.
4986         * c-lang.c (c_disregard_inline_limits): Use it.
4987         * c-decl.c (duplicate_decls): Likewise.
4988         (pushdecl, redeclaration_error_message): Likewise.
4989         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
4990         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
4991         Set DECL_INLINE if -finline-functions.
4992         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
4993
4994 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4995
4996         * cppmacro.c (funlike_invocation_p): Move some logic to caller
4997         in enter_macro_context.  Create a padding token in its own context
4998         if necessary when the search for '(' fails.
4999         (enter_macro_context): Update.
5000
5001 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5002
5003         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
5004         genmultilib, toplev.c: Fix spelling errors of "separate" as
5005         "seperate", and corresponding spelling errors of related words.
5006
5007 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5008
5009         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
5010         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
5011         Likewise.
5012         * c-dump.c (dump_option_value_info): Likewise.
5013         * c-format.c (format_length_info, format_char_info,
5014         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
5015         * collect2.c (names): Likewise.
5016         * cppdefault.h (default_include): Likewise.
5017         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
5018         * flow.c (life_analysis): Likewise.
5019         * gcc.c (dir_separator_str, modify_target, option_map,
5020         target_option_translations, spec_list_1, extra_specs_1,
5021         init_spec): Likewise.
5022         * gcov.c (gcov_version_string): Likewise.
5023         * genattr.c (write_units): Likewise.
5024         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
5025         * gengenrtl.c (rtx_definition, defs): Likewise.
5026         * genrecog.c (pred_table): Likewise.
5027         * global.c (global_alloc): Likewise.
5028         * lcm.c (optimize_mode_switching): Likewise.
5029         * local-alloc.c (find_free_reg): Likewise.
5030         * params.h (param_info): Likewise.
5031         * predict.c (predictor_info): Likewise.
5032         * protoize.c (unexpansion_struct): Likewise.
5033         * real.c (bmask): Likewise.
5034         * recog.h (insn_operand_data, insn_data): Likewise.
5035         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
5036         * stmt.c (expand_nl_goto_receiver): Likewise.
5037         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
5038         target_switches, target_options): Likewise.
5039         * tradcif.y (token, tokentab2, yylex): Likewise.
5040         * tree.h (attribute_spec): Likewise.
5041
5042         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
5043         Likewise.
5044         * arc.c (arc_output_function_epilogue): Likewise.
5045         * arm.c (processors, all_cores, all_architectures,
5046         arm_override_options, isr_attribute_arg, isr_attribute_args,
5047         arm_isr_value): Likewise.
5048         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
5049         Likewise.
5050         * c4x.c (c4x_int_reglist): Likewise.
5051         * d30v.c (override_options): Likewise.
5052         * h8300.c (shift_insn): Likewise.
5053         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
5054         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
5055         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
5056         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
5057         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
5058         * i386.h (processor_costs, ix86_cost): Likewise.
5059         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
5060         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
5061         * m68k.c (codes_68881, codes_FPA): Likewise.
5062         * m88k.c (mode_from_align, max_from_align, all_from_align,
5063         best_from_align, m_options): Likewise.
5064         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
5065         * mcore.c (mode_from_align): Likewise.
5066         * mips/elf64.h (UNIQUE_SECTION): Likewise.
5067         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
5068         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
5069         * mips.h (mips_regno_to_class): Likewise.
5070         * ns32k.c (scales): Likewise.
5071         * pa.c (import_string, magic_milli): Likewise.
5072         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
5073         * sparc.c (leaf_reg_remap, sparc_override_options,
5074         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
5075         Likewise.
5076         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
5077
5078 2001-10-07  Dale Johannesen  <dalej@apple.com>
5079
5080         * reload1.c (reload_reg_free_p): Teach register interference
5081         checking that multiple output reloads are emitted in
5082         reverse order.
5083         reload1.c (reload_reg_reaches_end_p):  Ditto.
5084         reload1.c (reloads_conflict):  Ditto.
5085
5086 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5087
5088         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
5089         NULL_TREE inside @code.
5090
5091 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5092
5093         * doc/gcc.texi: Document consistent style of "32-bit",
5094         "Objective-C", and "@code{NULL}".
5095
5096 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
5097
5098         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
5099         (cpp_token_len, cpp_spell_token, cpp_output_token,
5100         _cpp_equiv_tokens): Handle it.
5101         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
5102         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
5103         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
5104         error messages.
5105
5106 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5107
5108         * gcc.c (default_compilers): Remove .ada.
5109
5110 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5111
5112         * doc/cppinternals.texi: Update.
5113
5114 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
5115
5116         * gcc.c (main): Set this_file_error if the appropriate
5117         compiler for a language has not been installed.
5118
5119 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
5120
5121         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
5122
5123 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
5124
5125         * gccbug.in (CATEGORIES): Add ada.
5126
5127 2001-10-05  Catherine Moore  <clm@redhat.com>
5128
5129         * config/stormy16/stormy-abi:  Document abi changes.
5130         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
5131         (ICALL_REGS): New register class.
5132         (NUM_ARGUMENT_REGISTERS): Now 6.
5133         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
5134         in registers.
5135         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
5136         * config/stormy16.md (call_internal, call_value_internal,
5137         indirect_jump): Use new 'z' constraint.
5138
5139 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5140
5141         * doc/cppinternals.texi: Update.
5142
5143 2001-10-05  Richard Henderson  <rth@redhat.com>
5144
5145         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
5146         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
5147         the gas section-name-as-label feature.
5148
5149 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5150
5151         * doc/cppinternals.texi: Update.
5152
5153 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5154
5155         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
5156         to ensure valid SImode constants.
5157
5158 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
5159
5160         * Makefile.in (c-decl.o): Depend on tree-inline.h.
5161         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
5162         * c-decl.c: Include tree-inline.h.
5163         (c_expand_body): Call optimize_inline_calls. Determine whether
5164         a function is inlinable upfront, and only clear
5165         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
5166         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
5167         (c_disregard_inline_limits): New function.
5168         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
5169         (c_post_options): Enable tree inlining if inlining is enabled.
5170         Don't inline trees when instrumenting functions.
5171         (c_init): Initialize lang_disregard_inline_limits and
5172         lang_cannot_inline_tree_fn.
5173         * tree-inline.c (initialize_inlined_parameters): Handle calls
5174         with fewer arguments than declared parameters, and fewer
5175         parameters than passed arguments.  Don't assume value is a
5176         DECL.
5177         (declare_return_variable): Convert return value back to the
5178         original type, if it was promoted.
5179         (tree_inlinable_function_p): New function.
5180         (inlinable_function_p): Don't look at DECL_INLINE if we're
5181         inlining all functions.  Make it work with a NULL id.
5182         Re-check DECL_UNINLINABLE after language-specific checks.
5183         * tree-inline.h (tree_inlinable_function_p): Declare it.
5184         * integrate.c (save_for_inline): Don't bother to prepare argvec
5185         when not inlining.
5186         * cse.c (check_for_label_ref): Don't check deleted labels.
5187
5188         * Makefile.in (tree-inline.o): Depend on newly-included headers.
5189         * tree-inline.c: Include headers needed for the functions moved in.
5190         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
5191         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
5192         (copy_body, initialize_inlined_parameters): Likewise.
5193         (declare_return_variable, inlinable_function_p): Likewise.
5194         (expand_call_inline, expand_calls_inline): Likewise.
5195         (optimize_inline_calls, clone_body): Likewise.
5196         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
5197         (copy_tree_r, remap_save_expr): Likewise.
5198
5199 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
5200
5201         * Makefile.in (OBJS): Added tree-inline.o.
5202         (c-common.o): Depend on tree-inline.h.
5203         (tree-inline.o): New target.
5204         * c-common.c: Include tree-inline.h.
5205         (c_mark_lang_decl): Don't mark saved_tree.
5206         (c_common_lang_init): Set lang_anon_aggr_type_p.
5207         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
5208         (struct c_lang_decl): Moved saved_tree to tree_decl.
5209         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
5210         * integrate.h (function_attribute_inlinable_p): Declare it.
5211         * integrate.c (function_attribute_inlinable_p): Export it.
5212         * tree-inline.c: New file.  Define variables declared in...
5213         * tree-inline.h: New file.  Declare functions to be moved to
5214         tree-inline.c.  Define macros and declare types and hooks for
5215         language-specific tree inlining.
5216         (flag_inline_trees): Moved definition from cp/decl2.c.
5217         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
5218         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
5219         (struct tree_decl): Moved saved_tree from c_lang_decl and
5220         inlined_fns from C++'s lang_decl.
5221
5222 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
5223
5224         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
5225         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
5226
5227 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5228
5229         * doc/cppinternals.texi: Update.
5230
5231 2001-10-04  Eric Christopher  <echristo@redhat.com>
5232
5233         * config/mips/mips.c (init_cumulative_args): Remember to set
5234         cum->prototype.
5235         * config.gcc: Redo linux configuration. Add target_cpu_default
5236         of soft-float to all mipsisa32 combinations and tx39.
5237         * config/mips/linux.h: Remove include of mips.h.
5238
5239 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
5240
5241         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
5242         HOST_LDFLAGS and HOST_CPPFLAGS.
5243
5244 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
5245
5246         * c-parse.in (objc_inherit_code, objc_pq_context,
5247         objc_public_flag): Make static.
5248         (objc_interface_context, objc_implementation_context,
5249         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
5250         global tree array in objc/objc-act.[ch].
5251         (methoddef): Remove unnecessary code.
5252
5253         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
5254         Hoist struct definitions to objc-act.h.
5255         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
5256         cat_count): Place declaration in objc-act.h.
5257         (objc_tree_index): Move enumeration to objc-act.h.
5258         (objc_global_trees): Place declaration and macro accessors in
5259         objc-act.h.
5260         (implementation_context): Remove duplicate; use
5261         objc_implementation_context instead:
5262         (method_context): Remove duplicate; use objc_method_context
5263         instead.
5264         (objc_ellipsis_node, objc_method_prototype_template,
5265         implemented_classes, function_type): Move global vars to
5266         objc_global_trees.
5267         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
5268         (build_message_expr): Move actual construction of ObjC message
5269         send nodes to finish_message_expr.
5270         (finish_message_expr): New routine, contains code formerly in
5271         build_message_expr.
5272         * objc/objc-act.h (finish_message_expr): New prototype.
5273         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
5274         declarations; these vars are now part of objc_global_trees.
5275         (objc_tree_index, objc_global_trees): Move definitions from
5276         objc-act.c.
5277         * objc/objc-tree.def: Update copyright info.
5278
5279 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
5280
5281         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
5282         op is NULL.
5283         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
5284         only if TARGET_ARCH64.
5285
5286 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
5287
5288         * doc/extend.texi: Fix some problems with previous checkin.
5289         * doc/invoke.texi: Likewise.
5290
5291 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5292
5293         * cpphash.h: Update comments.
5294         (cpp_context): Update.
5295         (spec_nodes): Remove n__Pragma.
5296         * cppinit.c (cpp_create_reader): Update.
5297         (builtin_array): Add _Pragma.
5298         * cpplib.h: Update comments.
5299         (NODE_DISABLED, BT_PRAGMA): New.
5300         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
5301         * cppmacro.c (struct cpp_macro): Remove disabled.
5302         (builtin_macro): Return int, handle _Pragma, push the new token
5303         on the context stack.
5304         (funlike_invocation_p): Unconstify, update.
5305         (enter_macro_context): Handle builtins here.
5306         (replace_args, push_token_context, push_ptoken_context):
5307         Update for prototype changes.
5308         (_cpp_pop_context): Update.
5309         (cpp_get_token): Don't handle buitins, nor _Pragma here.
5310         (cpp_sys_macro_p): Update.
5311         (_cpp_free_definition): Clear disabled flag.
5312         (_cpp_create_definition): Upate.
5313         * cppmain.c: Update comments.
5314
5315 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
5316                                 Andreas Jaeger <aj@suse.de>,
5317                                 Jan Hubicka    <jh@suse.cz>
5318
5319         * doc/invoke.texi (i386 Options): Document x86-64 options.
5320         (i386 and x86-64 Options): Rename i386 options section.
5321
5322         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
5323         (TARGET_SWITCHES): Add -munwind-info.
5324         (MASK_NO_UNWIND_INFO): New.
5325         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
5326         biarch compilation.
5327         (ASM_OUTPUT_DOUBLE_INT): New.
5328
5329         * config/i386/linux64.h: New spec file for Linux x86-64 support.
5330         * config.gcc: Fix tm_file settings for x86-64.
5331         * config/i386/x86-64.h: New file with OS independent x86-64
5332         definitions.
5333         * config/i386/biarch64.h: New file used to configure compiler
5334         to biarch/64bit compilation.
5335
5336         * config/i386/i386.c: (override_options): Set flags default
5337         for 64bit compilation.
5338
5339 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
5340
5341         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
5342         (ix86_expand_int_movcc): Optimize DImode conditional moves with
5343         constants on x86_64.
5344         (ix86_attr_length_immediate_default): Support MODE_DI.
5345         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
5346         condition.
5347         (indirect_jump, tablejump): Turn into expander.
5348
5349 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5350
5351         * c-common.c (c_format_attribute_table): Make format and
5352         format_arg attributes apply to function types rather than to
5353         decls.
5354         (is_valid_printf_arglist): Construct an attribute list and pass
5355         that to check_function_format rather than a name.
5356         * c-common.h (check_function_format): Adjust prototype.
5357         * c-decl.c (duplicate_decls): Preserve attributes from type of
5358         built-in decl when allowing for harmless conflict in types.
5359         * c-format.c (record_function_format,
5360         record_international_format, function_format_list,
5361         international_format_info, international_format_list): Remove.
5362         (function_format_info): Remove next, name and assembler_name.
5363         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
5364         (decode_format_attr): New.
5365         (handle_format_attribute): Handle receiving a type rather than a
5366         decl.  Call decode_format_attr.  Store format information in a
5367         function_format_info.
5368         (handle_format_arg_attribute): Correct comment.  Handle receiving
5369         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
5370         arg_num.
5371         (check_format_info_recurse, check_format_info_main): Take argument
5372         numbers as unsigned HOST_WIDE_INT.
5373         (check_function_format): Take a list of attributes from the
5374         function type rather than a name or assembler name.  Check for
5375         format attributes in that list and the attributes on the type of
5376         the current function rather than looking through
5377         function_format_list.
5378         (check_format_info): Use unsigned HOST_WIDE_INT for argument
5379         numbers.
5380         (check_format_info_recurse): Take format_arg attributes from the
5381         type of the function calls rather than using
5382         international_format_list.  Allow for multiple format_arg
5383         attributes.
5384         * c-typeck.c (build_function_call): Pass type attributes to
5385         check_function_format rather than name or assembler name.  Don't
5386         require there to be a name or assembler name to check formats.
5387
5388 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5389
5390         * attribs.c (decl_attributes): Possibly call
5391         insert_default_attributes to insert default attributes on
5392         functions in a lazy manner.
5393         * builtin-attrs.def: New file; define the default format and
5394         format_arg attributes.
5395         * c-common.c (c_format_attribute_table): Move to earlier in the
5396         file.
5397         (c_common_nodes_and_builtins): Initialize format_attribute_table.
5398         (enum built_in_attribute, built_in_attributes,
5399         c_attrs_initialized, c_init_attributes,
5400         c_common_insert_default_attributes): New.
5401         (c_common_lang_init): Don't initialize format_attribute_table.  Do
5402         call c_init_attributes.
5403         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
5404         * c-common.h (init_function_format_info): Don't declare.
5405         (c_common_insert_default_attributes): Declare.
5406         * c-decl.c (implicitly_declare, builtin_function): Call
5407         decl_attributes.
5408         (init_decl_processing): Don't call init_function_format_info.
5409         (insert_default_attributes): New.
5410         * c-format.c (handle_format_attribute,
5411         handle_format_arg_attribute): Be quiet about inappropriate
5412         declaration when applying default attributes.
5413         (init_function_format_info): Remove.
5414         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
5415         (insert_default_attributes): Declare.
5416
5417 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5418
5419         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
5420
5421 2001-10-01  Jim Wilson  <wilson@redhat.com>
5422
5423         * sched-deps.c (add_dependence): When elide conditional dependence,
5424         check that insn doesn't modify cond2.
5425
5426 2001-10-01  Dale Johannesen  <dalej@apple.com>
5427
5428         * config/rs6000/rs6000.h (enum processor_type): Add support
5429         for 7400 (G4) and 7450.
5430         (RTX_COSTS): Ditto.
5431         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
5432         (rs6000_issue_rate): Ditto.
5433         (rs6000_adjust_cost): Fix cycle counts for compares.
5434         (debug_stack_info):  Fix an obvious typo.
5435         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
5436         * doc/invoke.texi: Document.
5437         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
5438         for Darwin.
5439         (PROCESSOR_DEFAULT): Ditto.
5440
5441 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
5442
5443         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
5444         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
5445         later recursive make invocation.
5446
5447 2001-10-01  Hans Boehm  <boehm@acm.org>
5448
5449         * optabs.c (emit_libcall_block): When using non-call exceptions,
5450         don't add REG_LIBCALL reg notes to trapping calls.
5451
5452 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
5453
5454         * flow.c (propagate_block_delete_libcall): Remove unused first arg
5455         (propagate_one_insn):  Update for above change
5456
5457 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
5458
5459         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
5460         _Unwind_GetTextRelBase): Argument is unused.
5461
5462 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5463
5464         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
5465         Loop through NOPs, placeholders, and components.
5466         Don't go through NOPs if change mode.
5467         (record_alias_subset): Do nothing if SUBSET and SET are the same.
5468         * emit-rtl.c (set_mem_alias_set): Enable check.
5469         * expr.c (find_placeholder): New function.
5470         (expand_expr, case PLACEHOLDER_EXPR): Use it.
5471         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
5472         to modify it and avoid unneeded copies.
5473         * expr.h (expand_expr): Always define.
5474         (find_placeholder): New declaration.
5475
5476 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5477
5478         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
5479         operand 2 is the stack pointer.
5480         ("addr-peephole"): Fix address computation peephole when operand 2
5481         is the stack pointer.
5482
5483 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5484
5485         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
5486         (ix86_setup_incoming_varargs): Likewise.
5487
5488 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
5489
5490         * stor-layout.c (layout_type): Don't complain about too-large
5491         array here.
5492
5493 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5494
5495         * function.c (keep_stack_depressed): Don't use delete_insn.
5496
5497         * expr.h (set_mem_alias_set): Move decl to here.
5498         * rtl.h (mem_attrs): New typedef and struct.
5499         (union rtunion_def): Add field for mem_attrs.
5500         (X0MEMATTR, MEM_ATTRS): New macros.
5501         (MEM_ALIAS_SET): Use MEM_ATTRS.
5502         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
5503         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
5504         (set_mem_alias_set): Delete decl from here.
5505
5506         * alias.c (set_mem_alias_set): Delete from here.
5507         * emit-rtl.c (mem_attrs_htab): New variable.
5508         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5509         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5510         (mem_attrs_mark, get_mem_attrs): Likewise.
5511         (gen_rtx_MEM): Clear MEM_ATTRS.
5512         (set_mem_attributes): Move to here.
5513         (set_mem_alias_set): Likewise, and call get_mem_attrs.
5514         (init_emit_once): const_int_htab now deletable htab.
5515         Initialize mem_attrs_htab.
5516         * explow.c (set_mem_attributes): Delete from here.
5517         * function.c (put_var_into_stack): Clear MEM_ATTRS.
5518         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
5519         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
5520         * reload1.c (reload): Rework changing REG to MEM.
5521
5522 2001-09-30  H.J. Lu <hjl@gnu.org>
5523
5524         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
5525         * config.in: Rebuild.
5526
5527 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5528
5529         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
5530         ("tsthi_1"): Avoid allocation in register y.
5531         ("*movqi_68hc12"): Reorganize and fix constraints.
5532         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
5533         ("addqi3"): Likewise.
5534         ("addhi3"): Fix constraints.
5535         ("*logicalhi3_zexthi"): Disparage soft registers.
5536
5537 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5538
5539         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
5540         to tmp reg.
5541
5542 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5543
5544         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
5545         that we use setjmp/longjmp exceptions.
5546
5547 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5548
5549         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
5550         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
5551         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5552         _cpp_pool_alloc, _cpp_next_chunk): Remove.
5553         (_cpp_extend_buff, BUFF_ROOM): Update.
5554         (_cpp_append_extend_buff): New.
5555         (struct cpp_reader): Remove macro_pool, add a_buff.
5556         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
5557         macro_pool.
5558         (cpp_destroy): Free a_buff instead of macro_pool.
5559         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
5560         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5561         _cpp_pool_alloc, ): Remove.
5562         (parse_number, parse_string): Update use of _cpp_extend_buff.
5563         (_cpp_extend_buff): Update.
5564         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
5565         * cpplib.c (glue_header_name, parse_answer):
5566         Update use of _cpp_extend_buff.
5567         (cpp_register_pragma, cpp_register_pragma_space): Use
5568         _cpp_aligned_alloc.
5569         (do_assert, do_unassert): Check for EOL, update.
5570         * cppmacro.c (stringify_arg, collect_args): Update to use
5571         _cpp_extend_buff and _cpp_append_extend_buff.
5572         (save_parameter, parse_params, alloc_expansion_token,
5573         _cpp_create_definition): Rework memory management.
5574
5575 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
5576
5577         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
5578         update md_exec_prefix.
5579         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
5580         to string constant.
5581
5582 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5583
5584         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
5585         (SELECT_CC_MODE): Use s390_select_ccmode.
5586         * config/s390/s390-protos.h (s390_select_ccmode): Add.
5587         * config/s390/s390.c (s390_select_ccmode): New.
5588         (s390_match_ccmode): Add CCLmode.
5589         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5590         (output_branch_condition, output_inverse_branch_condition): Removed.
5591         (print_operand): Use s390_branch_condition_mnemonic.
5592         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5593         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5594         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5595
5596         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5597         when converting conditional branches to far branches.
5598         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5599         cmpint_di): Use CCSmode instead of CCUmode.
5600
5601         * config/s390/s390.c (legitimate_la_operand_p): New.
5602         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5603         * config/s390/s390.md (movsi): Convert load address patterns to
5604         arithmetic operations when necessary.
5605         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5606         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5607         (*do_la_reg_0): Don't use before reload.
5608
5609         * config/s390/s390.c (legitimize_address): Make more efficient
5610         use of two-register addressing mode.
5611
5612         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5613         with -mno-backchain in some corner cases.
5614
5615         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5616
5617 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
5618
5619         * reload.c (find_reloads): Mark new USE insns with QImode.
5620         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5621         find_reloads_subreg_address): Likewise.
5622         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5623         encountered.
5624         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5625         CLOBBERs.
5626         (reload): Make sure there are no USEs with mode other than
5627         VOIDmode.  At the end, remove those marked with QImode.
5628
5629 2001-09-29  Per Bothner  <per@bothner.com>
5630
5631         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
5632         * Makefile.in (includedir):  Rename to local_includedir.
5633         (includedir):  Define as $(prefix)/include.
5634         * config.in (PREFIX_INCLUDE_DIR):  New variable.
5635         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
5636
5637 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
5638
5639         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
5640         storehps builtins.
5641         * doc/extend.texi (Vector Extensions): New node.
5642         * doc/invoke.texi (Machine Dependent Options): Add documentation for
5643         i386 -mmmx, -msse, -m3dnow.
5644
5645 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
5646
5647         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
5648
5649 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
5650
5651         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
5652
5653         * doc/invoke.texi (Optimize Options): Delete spurious @table.
5654
5655 2001-09-28  Richard Henderson  <rth@redhat.com>
5656
5657         * varasm.c (assemble_integer): Bound alignment check by
5658         BIGGEST_ALIGNMENT.
5659
5660         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
5661
5662 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5663
5664         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
5665
5666 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5667
5668         Mostly from Graham Stott  <grahams@redhat.com>
5669         * c-common.c (type_for_mode): Add support for V2SFmode.
5670         * tree.c (build_common_tree_nodes_2): Likewise.
5671         * tree.h (enum tree_index, global_trees): Likewise.
5672         * config/i386/i386.c (x86_3dnow_a): New variable.
5673         (override_options): Support 3Dnow extensions.
5674         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
5675         Athlon's version of 3Dnow.
5676         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
5677         (ix86_expand_builtin): Handle them.
5678         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
5679         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
5680         TARGET_3DNOW_A): New macros.
5681         (TARGET_SWITCHES): Add 3Dnow switches.
5682         (VALID_MMX_REG_MODE_3DNOW): New macro.
5683         (VECTOR_MODE_SUPPORTED_P): Use it.
5684         (enum ix86_builtins): Add entries for 3Dnow builtins.
5685         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
5686         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
5687         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
5688         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
5689         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
5690         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
5691         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
5692         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
5693         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
5694         sfence_insn, prefetch): Make these available if TARGET_SSE or
5695         TARGET_3DNOW_A.
5696
5697 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5698
5699         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
5700         ix86_va_start, ix86_build_va_list): Declare.
5701         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
5702         ix86_va_start, ix86_build_va_list): New global functions.
5703         * i386.md (sse_prologue_save_insn): New insn.
5704         (sse_prologue_save): New expander.
5705         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
5706         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
5707
5708 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5709
5710         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
5711         Use size_t everywhere, make definitions consistent with
5712         prototypes.
5713
5714 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
5715
5716         * gcse.c (replace_store_insn): Use delete_insn.
5717         * loop.c (move_movables): Likewise; avoid delete_insn
5718         from clobbering notes moved elsewhere.
5719         (check_dbra_loop): Use delete_insn.
5720         * ssa.c (convert_from_ssa): Likewise.
5721         * cse.c (cse_insn): Use delete_insn.
5722
5723 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5724
5725         * cpphash.h (struct cpp_buff): Make unsigned.
5726         (_cpp_get_buff): Take length of size_t.
5727         (_cpp_unaligned_alloc): New.
5728         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
5729         (struct cpp_reader): Remove ident_pool.  Add u_buff.
5730         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
5731         (cpp_destroy): Destroy u_buff, not ident_pool.
5732         * cpplex.c (parse_number, parse_string, save_comment,
5733         cpp_token_as_text): Update to use the unaligned buffer.
5734         (new_buff): Make unsigned.
5735         (_cpp_unaligned_alloc): New.
5736         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
5737         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
5738         Similarly.
5739         (collect_args): Make unsigned.
5740
5741 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
5742
5743         * cpplex.c (cpp_output_token): Use a putc loop for
5744         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
5745
5746         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
5747         * configure, config.in: Regenerate.
5748         * system.h: Replace fwrite and fprintf with their unlocked
5749         variants if available.
5750
5751 2001-09-27  Richard Henderson  <rth@redhat.com>
5752
5753         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
5754         in favour of .eh_frame.
5755
5756 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
5757
5758         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
5759         to macros.
5760         (LIBCALL_VALUE): Likewise.
5761
5762 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5763
5764         * cpphash.h: Update comment.
5765         * cpplex.c: Update comments.
5766         (_cpp_can_paste): Remove.
5767         * cpplib.h (_cpp_can_paste): Remove.
5768         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
5769         lexer rather than _cpp_can_paste.
5770
5771 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5772
5773         * doc/cppinternals.texi: Update.
5774
5775 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5776
5777         * cpphash.h (struct cpp_pool): Remove locks and locked.
5778         (struct cpp_context): Add member buff.
5779         (struct cpp_reader): Remove member argument_pool.
5780         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5781         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
5782         * cpplex.c (chunk_suitable): Remove pool argument.
5783         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
5784         (new_buff, _cpp_extend_buff): Update.
5785         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
5786         which buffer is returned.
5787         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
5788         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5789         * cppmacro.c (lock_pools, unlock_pools): Remove.
5790         (push_ptoken_context): Take a _cpp_buff.
5791         (enter_macro_context): Pool locking removed.
5792         (replace_args): Use a _cpp_buff for the replacement list with
5793         arguments replaced.
5794         (push_token_context): Clear buff.
5795         (expand_arg): Use _cpp_pop_context.
5796         (_cpp_pop_context): Free a context's buffer, if any.
5797
5798 2001-09-26  DJ Delorie  <dj@redhat.com>
5799
5800         * c-typeck.c (digest_init): Check for sizeless arrays.
5801
5802 2001-09-26  Richard Henderson  <rth@redhat.com>
5803
5804         * optabs.c (init_one_libfunc): Create a dummy function type
5805         instead of using error_mark_node.
5806
5807 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5808
5809         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
5810         _cpp_extend_buff, _cpp_free_buff): New.
5811         (struct cpp_reader): New member free_buffs.
5812         * cppinit.c (cpp_destroy): Free buffers.
5813         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
5814         _cpp_extend_buff, _cpp_free_buff): New.
5815         * cpplib.h (struct cpp_options): Remove unused member.
5816         * cppmacro.c (collect_args): New.  Combines the old parse_arg
5817         and parse_args.  Use _cpp_buff for memory allocation.
5818         (funlike_invocation_p, replace_args): Update.
5819
5820 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
5821
5822         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
5823
5824 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
5825
5826         * except.c (sjlj_mark_call_sites): Change address inside sequence.
5827
5828 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
5829
5830         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
5831         glibc.
5832
5833 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
5834             Jim Wilson  <wilson@redhat.com>
5835
5836         * doc/install.texi (Specific, ia64-*-linux): Document.
5837
5838 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5839
5840         * Makefile.in (cfgrtl.o): Add.
5841         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5842         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5843         free_aux_for_edge): Declare.
5844         * cfg.c
5845         (HAVE_return): Undefine.
5846         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5847         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5848         free_aux_for_edge): New global functions.
5849         (first_delete_block): New static variable.
5850         (init_flow): Clear first_delete_block.
5851         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
5852          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
5853          try_redirect_by_replacing_jump, last_loop_beg_note,
5854          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
5855          delete_insn, delete_insn_chain, create_basic_block_structure,
5856          create_basic_block, flow_delete_block, compute_bb_for_insn,
5857          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
5858          set_block_for_new_insns, split_block, merge_blocks_nomove,
5859          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
5860          redirect_edge_and_branch, force_nonfallthru_and_redirect,
5861          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
5862          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
5863          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
5864          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5865          purge_all_dead_edges): Move to ....
5866         * cfgrtl.c: New file; .... Here.
5867
5868         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
5869         (reroder_basic_block): Use alloc_aux_for_blocks.
5870         * predict.c (estimate_bb_frequencies): Likewise; use
5871         alloc_aux_for_edges.
5872         * profile.c (compute_branch_probabilities): Likewise.
5873         (branch_prob): Likewise.
5874         * reg-stack.c (reg_to_stack): Likewise.
5875
5876         * emit-rtl.c (emit_insns_after): Never return NULL.
5877
5878         * basic-block.h (set_block_for_new_insns): Delete.
5879         * cfgrtl.c (set_block_for_new_insns): Delete.
5880
5881         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
5882         calls when crossjumping.
5883
5884         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
5885         * unroll.c (copy_loop_body): Use delete_insn.
5886
5887         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
5888         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
5889         keep_stack_depressed): Likewise.
5890         * gcse.c (cprop_cc0_jump): Likewise.
5891         * local-alloc.c (update_equiv_regs): Likewise.
5892         * loop.c (scan_loop, loop_delete_insns): Likewise.
5893         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
5894         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
5895         delete_output_reload, delete_address_reloads_1,
5896         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
5897         Likewise.
5898         * sibcall.c (replace_call_placeholder): Likewise.
5899         * cse.c (cse_insn): Likewise.
5900
5901 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5902
5903         From Graham Stott  <grahams@redhat.com>
5904         (def_builtin): Only define builtins appropriate for target_flags.  All
5905         callers changed.
5906         (builtin_decsription): Add new field mask which is used to determine
5907         when to define the builtin via the macro def_builtin.
5908
5909         (bdesc_comi): Initialise new mask fields.
5910         (bdesc_2srg): Likewise.
5911         (bdesc_1arg): Likewise.
5912
5913         * config/i386/i386.c (ix86_init_builtins): Correct return type
5914         building v4hi_ftype_v4hi_int_int tree node.
5915         (ix86_expand_sse_comi): Fix typo swapping operands.
5916         Don't swap comparision condition, it is already swapped.
5917         (ix86_expand_sse_compare): Before swapping operands
5918         move operand 1 into new rtx and not the target rtx.
5919         Don't swap comparison condition, it is already swapped.
5920         Always check whether we need to create a new TARGET.
5921
5922         * config/i386/i386.md: (sse_comi) Fix typos.
5923         (sse_ucomi): Likewise.
5924         (cvtss2si): Fix operand 0 contraint.
5925         (cvttss2si): Likewise.
5926         (sse_unpckhps): Fix mode for operand 2.
5927         (sse_unpcklps): Likewise.
5928
5929 2001-09-25  Graham Stott  <grahams@redhat.com>
5930
5931         * sibcall.c (skip_copy_to_return_value): Tighten return value
5932         copy check.
5933
5934 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
5935
5936         * rs6000.c (lwa_operand): Address must be word aligned.
5937
5938 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5939
5940         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
5941         number has been set.
5942         (type_hash_mark): Mark type itself.
5943
5944 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
5945
5946         * c-lex.c (cb_def_pragma): Update.
5947         (c_lex): Update, and skip padding.
5948         * cppexp.c (lex, parse_defined): Update, remove unused variable.
5949         * cpphash.h (struct toklist): Delete.
5950         (union utoken): New.
5951         (struct cpp_context): Update.
5952         (struct cpp_reader): New members eof, avoid_paste.
5953         (_cpp_temp_token): New.
5954         * cppinit.c (cpp_create_reader): Update.
5955         * cpplex.c (_cpp_temp_token): New.
5956         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
5957         (cpp_output_token): Don't print leading whitespace.
5958         (cpp_output_line): Update.
5959         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
5960         do_include_common, do_line, do_ident, do_pragma,
5961         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
5962         parse_assertion): Update.
5963         (get_token_no_padding): New.
5964         * cpplib.h (CPP_PADDING): New.
5965         (AVOID_LPASTE): Delete.
5966         (struct cpp_token): New union member source.
5967         (cpp_get_token): Update.
5968         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
5969         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
5970         replace_args, quote_string, stringify_arg, parse_arg, next_context,
5971         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
5972         _cpp_backup_tokens, _cpp_create_definition): Update.
5973         (push_arg_context): Delete.
5974         (padding_token, push_token_context, push_ptoken_context): New.
5975         (make_string_token, make_number_token): Update, rename.
5976         (cpp_get_token): Update to handle tokens as pointers to const,
5977         and insert padding appropriately.
5978         * cppmain.c (struct printer): New member prev.
5979         (check_multiline_token): Constify.
5980         (do_preprocessing, cb_line_change): Update.
5981         (scan_translation_unit): Update to handle spacing.
5982         * scan-decls.c (get_a_token): New.
5983         (skip_to_closing_brace, scan_decls): Update.
5984         * fix-header.c (read_scan_file): Update.
5985
5986         * doc/cpp.texi: Update.
5987
5988 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5989
5990         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
5991         leak by passing malloc'ed pointer to reconcat, not concat.
5992
5993 2001-09-24  DJ Delorie  <dj@redhat.com>
5994
5995         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
5996
5997 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
5998
5999         * flow.c (delete_dead_jumptables): Delete jumptable if the only
6000         reference is from the literal pool.
6001
6002 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
6003
6004         * doc/install.texi (Final install): Request additional information
6005         in mail about successful builds.
6006
6007 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6008
6009         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
6010         initial value of return pointer register instead of value in frame-20.
6011         Revise comments.
6012
6013 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6014
6015         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
6016         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
6017         the libcall if there isn't a referenced identifier for the symbol.
6018
6019 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6020
6021         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
6022         non 64-bit machines.  Use these as a plabel for the trampoline.
6023         (TRAMPOLINE_SIZE): Adjust size for new words.
6024         (INITIALIZE_TRAMPOLINE): Initialize new words.
6025         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
6026         pointer to the plabel in the trampoline.
6027
6028 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6029
6030         * pa.c (function_arg): Pass floating arguments in both general and
6031         floating registers in indirect (dynamic) calls when generating code
6032         for the 32 bit ABI and the HP assembler.
6033
6034 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6035
6036         * doc/install.texi: Markup fixes.
6037         Use Solaris 2, SunOS 4 as appropriate.
6038         (Specific, *-*-solaris2*): Explain this.
6039         Unconditionally warn against /usr/ucb tools.
6040         Remove Sun as warning, obsolete.
6041         Move X11 header bug workaround here, update patches.
6042         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
6043         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
6044
6045 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
6046
6047         * errors.h (warning, error, fatal, internal_error): Don't mark
6048         with ATTRIBUTE_PRINTF_n.
6049         * toplev.h (internal_error, fatal_io_error, warning, error,
6050         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
6051         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
6052         Likewise.
6053
6054 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6055
6056         * function.c (pop_function_context_from): var_refs_queue
6057         and temp slots now in GC memory.
6058         (mark_function_status, free_after_compilation): Likewise;
6059         also struct function now in GC memory.
6060         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
6061         (combine_temp_slots): Likewise.
6062         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
6063         (prepare_function_start): Use GC memory for struct function.
6064         (mark_temp_slot): Deleted.
6065         (gcc_mark_struct_function): struct function now in GC memory.
6066
6067         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
6068         code for division, not modulus.
6069
6070         * rtl.def (MEM): Remove obsolete part of comment.
6071
6072 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
6073
6074         * c-format.c (init_function_format_info): Check __builtin_printf
6075         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
6076         in gnu89 mode.
6077
6078 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6079
6080         * c-common.c (format_attribute_table): Remove decl.
6081         * tree.h (format_attribute_table, lang_attribute_table): New decls.
6082         (lang_attribute_common): Likewise.
6083
6084         * function.c (fix_lexical_address): Use set_mem_alias_set.
6085         (expand_function_start): Likewise.
6086         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
6087
6088         * varasm.c (output_constant): Fix unused variable warning.
6089
6090         * attribs.c: New file, from c-common.c.
6091         (attribute_tables): Now four elements.
6092         (format_attribute_table, lang_attribute_common): New variables.
6093         (init_attributes): Reflect above changes.
6094         (handle_mode_attribute): Delete check for wider than uintmax.
6095         * c-common.c: Delete parts moved to attribs.c.
6096         (enum attrs): Deleted; unused.
6097         (c_format_attribute_table): New variable.
6098         (c_common_lang_init): Initialize format_attribute_table with it.
6099         * c-common.h (decl_attributes): Remove decl.
6100         * tree.h (decl_attribute): Move it to here.
6101         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
6102         (attribs.o): New rule.
6103
6104 2001-09-22  Andreas Jaeger  <aj@suse.de>
6105
6106         * builtins.c (c_getstr): Remove unused variable.
6107
6108 2001-09-21  Richard Henderson  <rth@redhat.com>
6109
6110         * reload1.c (reload): Use delete_insn instead of splatting
6111         NOTE_INSN_DELETED.
6112
6113 2001-09-21  Richard Henderson  <rth@redhat.com>
6114
6115         * reload.c (push_secondary_reload): Don't check for "=" in output
6116         constraint after ""->ALL_REGS check.
6117
6118 2001-09-21  Richard Henderson  <rth@redhat.com>
6119
6120         * predict.c (expected_value_to_br_prob): Use pc_set.
6121
6122         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
6123         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
6124
6125 2001-09-21  Richard Henderson  <rth@redhat.com>
6126
6127         * rtl.h (LCT_RETURNS_TWICE): New.
6128         * calls.c (emit_call_1): Set current_function_calls_setjmp for
6129         ECF_RETURNS_TWICE.
6130         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
6131         to ECF_RETURNS_TWICE.
6132         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
6133         call to setjmp.
6134
6135         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
6136
6137         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
6138         (JMP_BUF_SIZE): New.
6139
6140 2001-09-21  Richard Henderson  <rth@redhat.com>
6141
6142         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
6143         to R8_REGS.
6144
6145 2001-09-21  Richard Henderson  <rth@redhat.com>
6146
6147         * tree.def (FDESC_EXPR): New.
6148         * expr.c (expand_expr): Handle it.
6149         * varasm.c (initializer_constant_valid_p): Likewise.
6150         (output_constant): Likewise.
6151         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6152         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6153         (ASM_OUTPUT_FDESC): New.
6154         * doc/tm.texi: Document the new macros.
6155
6156 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
6157
6158         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
6159         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
6160         once merging is complete.
6161
6162 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6163
6164         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
6165
6166 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
6167
6168         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
6169         that would be invalid after a merge.
6170
6171 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
6172
6173         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
6174         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
6175         remove some labels.
6176         (flow_delete_insn): This one.
6177         (delete_insn_chain): Rename from ...; do not care labels.
6178         (flow_delete_insn_chain): ... this one.
6179         (flow_delete_block): Remove the insns one BB has been expunged.
6180         (merge_blocks_nomove): Likewise.
6181         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
6182         updating BB boundaries.
6183         (tidy_fallthru_edge): Likewise.
6184         (commit_one_edge_insertion): Likewise.
6185         * cfgbuild.c (find_basic_block): Likewise.
6186         (find_basic_blocks_1): Likewise.
6187         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
6188         (try_crossjump_to_edge): Likewise.
6189         (try_optimize_cfg): Likewise.
6190         * cse.c (delete_trivially_dead_insns): Likewise.
6191         * df.c (df_insn_delete): Likewise.
6192         * doloop.c (doloop_modify): Use delete_related_insns.
6193         * emit-rtl.c (try_split): Likewise.
6194         (remove_insn): Update BB boundaries.
6195         * expect.c (connect_post_landing_pads): Use delete_related_insns.
6196         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
6197         updating BB boundaries.
6198         (propagate_block_delete_insn): Likewise.
6199         (propagate_block_delete_libcall): Likewise.
6200         * function.c (delete_handlers): Use delete_related_insns.
6201         (thread_prologue_and_epilogue_insns): Likewise.
6202         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
6203         * genpeep.c (gen_peephole): Use delete_related_insns.
6204         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
6205         BB boundaries.
6206         (find_cond_trap): Likewise.
6207         * integrate.c (save_for_inline): Use delete_related_insns.
6208         (copy_insn_list): Likewise.
6209         * jump.c (pruge_linie_number_notes): Likewise.
6210         (duplicate_loop_exit_test): Likewise.
6211         (delete_computation): Likewise.
6212         (delete_related_insn): Rename from ...; use delete_insn
6213         (delete_insn): ... this one.
6214         (redirect_jump): Use delete_related_insns.
6215         * loop.c (scan_loop): Likewise.
6216         (move_movables): Likewise.
6217         (find_and_verify_loops): Likewise.
6218         (check_dbra_loop): Likewise.
6219         * recog.c (peephole2_optimize): Likewise.
6220         * reg-stack.c (delete_insn_for_stacker): Remove.
6221         (move_for_stack_reg): Use delete_insn.
6222         * regmove.c (combine_stack_adjustments_for_block): Likewise.
6223         * reload1.c (delete_address_reloads): Use delete_related_insns.
6224         (fixup_abnormal_edges): Use delete_insn.
6225         * recog.c (emit_delay_sequence): Use delete_related_insns.
6226         (delete_from-delay_slot): Likewise.
6227         (delete_scheduled_jump): likewise.
6228         (optimize_skip): Likewise.
6229         (try_merge_delay_insns): Likewise.
6230         (full_simple_delay_slots): Likewise.
6231         (fill_slots_from_thread): Likewise.
6232         (relax_delay_slots): Likewise.
6233         (make_return_insns): Likewise.
6234         (dbr_schedule): Likewise.
6235         * rtl.h (delete_insn): Rename to delete_related_insns.
6236         (delete_insn, delete_insn_chain): New prototypes.
6237         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
6238         by df_insn_delete already.
6239         * ssa-dce.c (delete_insn_bb): Use delete_insn.
6240         * ssa.c (convert_from_ssa): Use delete_related_insns.
6241         * unroll.c (unroll_loop): Likewise.
6242         (calculate_giv_inc): Likewise.
6243         (copy_loop_body): Likewise.
6244
6245         * i386-protos.h (ix86_libcall_value, ix86_function_value,
6246         ix86_function_arg_regno_p, ix86_function_arg_boundary,
6247         ix86_return_in_memory, ix86_function_value): Declare.
6248         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
6249         new static valurables.
6250         (x86_64_reg_class): New enum
6251         (x86_64_reg_class_name): New array.
6252         (classify_argument, examine_argument, construct_container,
6253          merge_classes): New static functions.
6254         (optimization_options): Enable flag_omit_frame_pointer and disable
6255         flag_pcc_struct_return on 64bit.
6256         (ix86_libcall_value, ix86_function_value,
6257         ix86_function_arg_regno_p, ix86_function_arg_boundary,
6258         ix86_return_in_memory, ix86_function_value): New global functions.
6259         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
6260         (function_arg_advance): Handle x86_64 passing conventions.
6261         (function_arg): Likewise.
6262         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
6263         (RETURN_IN_MEMORY): Move offline.
6264         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
6265         (FUNCTION_VALUE_REGNO_P): New macro.
6266         (FUNCTION_ARG_REGNO_P): Move offline.
6267         (struct ix86_args): Add maybe_vaarg.
6268         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
6269         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
6270
6271 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
6272
6273         * s390.md: Changed attributes for scheduling.
6274         * s390.c: (s390_adjust_cost, s390_adjust_priority)
6275         Changed scheduling
6276
6277 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
6278
6279         Table-driven attributes.
6280         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
6281         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
6282         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
6283         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
6284         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
6285         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
6286         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
6287         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
6288         * tree.h (struct tree_decl): Change machine_attributes to
6289         attributes.
6290         * doc/c-tree.texi: Document that all attributes are now attached
6291         to decls and types.
6292         * c-common.c (add_attribute, attrtab, attrtab_idx,
6293         default_valid_lang_attribute, valid_lang_attribute): Remove.
6294         (attribute_tables, attributes_initialized,
6295         c_common_attribute_table, default_lang_attribute_table): New
6296         variables.
6297         (handle_packed_attribute, handle_nocommon_attribute,
6298         handle_common_attribute, handle_noreturn_attribute,
6299         handle_unused_attribute, handle_const_attribute,
6300         handle_transparent_union_attribute, handle_constructor_attribute,
6301         handle_destructor_attribute, handle_mode_attribute,
6302         handle_section_attribute, handle_aligned_attribute,
6303         handle_weak_attribute, handle_alias_attribute,
6304         handle_no_instrument_function_attribute,
6305         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
6306         handle_no_limit_stack_attribute, handle_pure_attribute): New
6307         functions.
6308         (init_attributes, decl_attributes): Rewrite to implement
6309         table-driven attributes.
6310         * c-common.h (enum attribute_flags): Move to tree.h.
6311         * c-format.c (decl_handle_format_attribute,
6312         decl_handle_format_arg_attribute): Rename to
6313         handle_format_attribute and handle_format_arg_attribute.  Update
6314         for table-driven attributes.
6315         * c-common.h (decl_handle_format_attribute,
6316         decl_handle_format_arg_attribute): Remove prototypes.
6317         (handle_format_attribute, handle_format_arg_attribute): Add
6318         prototypes.
6319         * c-decl.c (grokdeclarator): Handle attributes nested inside
6320         declarators.
6321         * c-parse.in (setattrs, maybe_setattrs): Remove.
6322         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
6323         Update to handle nested attributes properly.
6324         (maybe_resetattrs, after_type_declarator,
6325         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
6326         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
6327         properly.
6328         (make_pointer_declarator): Update to handle nested attributes
6329         properly.
6330         * doc/extend.texi: Update documentation of limits of attributes
6331         syntax.  Warn about problems with attribute semantics in C++.
6332         * target.h (struct target): Remove valid_decl_attribute and
6333         valid_type_attribute.  Add attribute_table and
6334         function_attribute_inlinable_p.
6335         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
6336         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
6337         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
6338         Add.
6339         (TARGET_INITIALIZER): Update.
6340         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
6341         definition.
6342         (function_attribute_inlinable_p): New function.  Check for the
6343         presence of any machine attributes before using
6344         targetm.function_attribute_inlinable_p.
6345         (function_cannot_inline_p): Update.
6346         * Makefile.in (integrate.o): Update dependencies.
6347         * doc/tm.texi: Update documentation of target attributes and
6348         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
6349         * tree.c (default_valid_attribute_p, valid_machine_attribute):
6350         Remove.
6351         (default_target_attribute_table,
6352         default_function_attribute_inlinable_p): New.
6353         (lookup_attribute): Update comment to clarify handling of multiple
6354         attributes with the same name.
6355         (merge_attributes, attribute_list_contained): Allow multiple
6356         attributes with the same name but different arguments to appear in
6357         the same attribute list.
6358         * tree.h (default_valid_attribute_p): Remove prototype.
6359         (struct attribute_spec): New.
6360         (default_target_attribute_table): Declare.
6361         (enum attribute_flags): Move from c-common.h.  Add
6362         ATTR_FLAG_TYPE_IN_PLACE.
6363         (default_function_attribute_inlinable_p): Declare.
6364         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
6365         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6366         (TARGET_ATTRIBUTE_TABLE): Define.
6367         (vms_attribute_table): New.
6368         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
6369         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6370         (TARGET_ATTRIBUTE_TABLE): Define.
6371         (arc_attribute_table, arc_handle_interrupt_attribute): New.
6372         * config/arm/arm.c (arm_valid_type_attribute_p,
6373         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
6374         Remove.
6375         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6376         define.
6377         (TARGET_ATTRIBUTE_TABLE): Define.
6378         (arm_attribute_table, arm_handle_fndecl_attribute,
6379         arm_handle_isr_attribute): New.
6380         * config/avr/avr.c (avr_valid_type_attribute,
6381         avr_valid_decl_attribute): Remove.
6382         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
6383         define.
6384         (TARGET_ATTRIBUTE_TABLE): Define.
6385         (avr_attribute_table, avr_handle_progmem_attribute,
6386         avr_handle_fndecl_attribute): New.
6387         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
6388         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6389         (TARGET_ATTRIBUTE_TABLE): Define.
6390         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
6391         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
6392         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6393         (TARGET_ATTRIBUTE_TABLE): Define.
6394         (h8300_attribute_table, h8300_handle_fndecl_attribute,
6395         h8300_handle_eightbit_data_attribute,
6396         h8300_handle_tiny_data_attribute): New.
6397         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
6398         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
6399         Remove prototypes.
6400         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
6401         declarations.
6402         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
6403         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6404         define.
6405         (TARGET_ATTRIBUTE_TABLE): Define.
6406         (ix86_attribute_table, ix86_handle_cdecl_attribute,
6407         ix86_handle_regparm_attribute): New.
6408         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
6409         i386_pe_valid_type_attribute_p): Remove.
6410         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
6411         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
6412         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6413         (TARGET_ATTRIBUTE_TABLE): Define.
6414         (ia64_attribute_table): New.
6415         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
6416         interrupt_ident2, model_ident1, model_ident2): Remove.
6417         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6418         (TARGET_ATTRIBUTE_TABLE): Define.
6419         (init_idents): Update.
6420         (m32r_attribute_table, m32r_handle_model_attribute): New.
6421         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
6422         Remove.
6423         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6424         (TARGET_ATTRIBUTE_TABLE): Define.
6425         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
6426         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
6427         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6428         (TARGET_ATTRIBUTE_TABLE): Define.
6429         (mcore_attribute_table, mcore_handle_naked_attribute): New.
6430         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
6431         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6432         (TARGET_ATTRIBUTE_TABLE): Define.
6433         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
6434         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
6435         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6436         (TARGET_ATTRIBUTE_TABLE): Define.
6437         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
6438         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
6439         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6440         (TARGET_ATTRIBUTE_TABLE): Define.
6441         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
6442         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
6443         New.
6444         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
6445         Remove.
6446         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
6447         (TARGET_ATTRIBUTE_TABLE): Define.
6448         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
6449         New.
6450         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
6451         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6452         (TARGET_ATTRIBUTE_TABLE): Define.
6453         (v850_attribute_table, v850_handle_interrupt_attribute,
6454         v850_handle_data_area_attribute): New.
6455         * config/v850/v850-c.c (mark_current_function_as_interrupt):
6456         Return void.  Call decl_attributes instead of
6457         valid_machine_attribute.
6458
6459 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
6460
6461         * sh-protos.h (sh_pr_n_sets): Declare.
6462         * sh.c (calc_live_regs): If the initial value for PR has been copied,
6463         look at the copy to determine if PR needs to be saved.
6464         sh_pr_n_sets: New function.
6465         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
6466         (ALLOCATE_INITIAL_VALUE): Define.
6467
6468         * sh.c (initial_elimination_offset):
6469         Fix RETURN_ADDRESS_POINTER_REGNUM case.
6470
6471 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
6472
6473         * integrate.c (allocate_initial_values): New function.
6474         * integrate.h (allocate_initial_values): Declare.
6475         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
6476         here...
6477         * reload1.c (reload): And initialization of reg_equiv_memory_loc
6478         from here...
6479         * toplev.c (rest_of_compilation): To here.
6480         Call allocate_initial_values.
6481         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
6482
6483 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6484
6485         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
6486
6487 2001-09-20  DJ Delorie  <dj@redhat.com>
6488
6489         * c-typeck.c (really_start_incremental_init): Discriminate
6490         between zero-length arrays and flexible arrays.
6491         (push_init_level): Detect zero-length arrays and handle them
6492         like fixed-sized arrays.
6493         * expr.c (store_constructor): Handle zero-length arrays and
6494         flexible arrays correctly.
6495         * doc/extend.texi: Update zero-length array notes.
6496
6497 2001-09-20  Jim Wilson  <wilson@redhat.com>
6498
6499         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
6500         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
6501         for issue port conflicts.
6502         (cycle_end_fill_slots): TYPE_L instructions take two slots.
6503
6504 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
6505
6506         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6507         on ia64.
6508
6509 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6510
6511         * fold-const.c (hashtab.h): Include.
6512         (int_const_binop): Remove FORSIZE arg and compute from type; all
6513         callers changed.
6514         Call size_int_type_wide for all single-word constants.
6515         (size_htab_hash, size_htab_eq): New functions.
6516         (size_int_type_wide): Rework to use hash table.
6517         * ggc-common.c (hashtab.h): Include.
6518         (struct d_htab_root): New struct.
6519         (d_htab_roots): New variable.
6520         (ggc_add_deletable_htab, ggc_htab_delete): New functions
6521         (ggc_mark_roots): Handle deletable htabs.
6522         * ggc-page.c (ggc_marked_p): New function.
6523         * ggc-simple.c (ggc_marked_p): Likewise.
6524         * ggc.h: Reformatting throughout.
6525         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
6526         * tree.c (init_obstacks): Make type_hash_table a deletable root.
6527         (type_hash_add): Allocate struct type_hash from GC memory.
6528         (mark_hash_entry, mark_type_hash): Deleted.
6529         (type_hash_marked_p, type_hash_mark): New functions.
6530         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
6531
6532 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
6533
6534         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
6535         than SImode.
6536
6537 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6538
6539         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
6540         array-too-large test for signed sizetype.
6541
6542 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
6543
6544         * i386.md (indirect_jump): Allow Pmode operand.
6545         (tablejump): LIkewise; perform expansion to 64bit mode.
6546         * i386.c (symbolic_operand): Allow 64bit PIC references.
6547         (pic_symbolic_operand): Likewise.
6548         (ix86_find_base_term): Strip the 64bit PIC references.
6549         (legitimate_pic_address_disp_p): Handle 64bit PIC.
6550         (legitimize_pic_address): Likewise.
6551         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
6552         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
6553
6554 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
6555
6556         * stringpool.c (get_identifier_with_length): New function.
6557         * tree.h (get_identifier_with_length): New prototype.
6558
6559 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
6560             David Edelsohn  <edelsohn@gnu.org>
6561
6562         Revert:
6563         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
6564         already sign-extended.
6565
6566         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
6567         * config/rs6000/rs6000.c (logical_operand): Always compare op as
6568         HOST_WIDE_INT.
6569         (rs6000_emit_set_long_const): Avoid unnecessary shift.
6570         (output_profile_hook): Declare label_name const.
6571         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
6572         to match constraints.
6573
6574 2001-09-19  Stan Shebs  <shebs@apple.com>
6575
6576         * alias.c: Fix typos in comments.
6577         * sched-rgn.c (init_ready_list): Ditto.
6578         * unwind-dw2.c (uw_frame_state_for): Ditto.
6579         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
6580         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
6581         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
6582
6583 2001-09-19  Richard Henderson  <rth@redhat.com>
6584
6585         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
6586         to the exit block.
6587         * Makefile.in (cfg.o): Depend on TM_P_H.
6588
6589 2001-09-19  Richard Henderson  <rth@redhat.com>
6590
6591         * config/alpha/alpha.c (local_symbol_p): Split out from ...
6592         (local_symbolic_operand): ... here.
6593         (small_symbolic_operand): Check mode.
6594         (global_symbolic_operand): New.
6595         (input_operand): Reject symbolics if explicit relocs.
6596         (call_operand): Tidy.
6597         (alpha_legitimize_address): Use movdi_er_high_g.
6598         (alpha_expand_mov): Likewise.
6599         * config/alpha/alpha-protos.h: Update.
6600         * config/alpha/alpha.h (PREDICATE_CODES): Update.
6601         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6602         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6603         (UNSPECV_LDGP2): Remove.
6604         (all call patterns): Use 's' not 'i' for symbolic constraint.
6605         (call_osf call_value_osf): Use call_operand.
6606         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
6607         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6608         (prologue_ldgp_1_er): Remove.
6609         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6610         (builtin_setjmp_receiver_er patterns): Use them.
6611         (exception_receiver_er): Likewise.
6612
6613 2001-09-19  Richard Henderson  <rth@redhat.com>
6614
6615         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6616
6617         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6618         and NON_LOCAL_GOTO notes.
6619         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
6620         copy over CALL_INSN_FUNCTION_USAGE.
6621
6622 2001-09-18  Catherine Moore  <clm@redhat.com>
6623
6624         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
6625         Define as 0.
6626
6627 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
6628
6629         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
6630         new-style tm_file specification.  Specify correct tm_p_file,
6631         md_file, and out_file for s390x.
6632
6633         * config/s390/linux.h, linux64.h:  Don't include other target
6634         macro header files.  Now handled via tm_file.
6635
6636         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
6637         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6638         are defined before use.
6639
6640 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
6641
6642         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
6643         code generation only for Gnu assembler.
6644
6645 2001-09-18  Catherine Moore  <clm@redhat.com>
6646
6647         * config/stormy16 (LIB_SPEC): Remove -lnosys.
6648
6649 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
6650
6651         * config/mips/mips.c (mips_frame_set): New.
6652         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
6653         a parallel frame-related expression with a set for each register.
6654
6655 2001-09-18  Philip Blundell  <philb@gnu.org>
6656
6657         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
6658         header files.
6659
6660 2001-09-17  Dale Johannesen  <dalej@apple.com>
6661
6662         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
6663         * config/rs6000/aix.h (FIXED_R2): Define.
6664         * config/rs6000/darwin.h (FIXED_R2): Define.
6665         * config/rs6000/sysv4.h (FIXED_R2): Define.
6666
6667 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
6668
6669         * except.c (dw2_build_landing_pads): New local
6670         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
6671         barrier after clobbers.  Fixes c++/4012.
6672
6673 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6674
6675         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
6676
6677 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
6678
6679         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
6680         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
6681
6682 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6683
6684         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
6685         alloca/strcpy.
6686
6687 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6688
6689         * cpphash.h (_cpp_lex_direct): New.
6690         * cpplex.c (_cpp_lex_token): Update.
6691         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
6692         and increment that pointer.
6693         * cppmacro.c (alloc_expansion_token): New.
6694         (lex_expansion_token): Lex macro expansion directly into
6695         macro storage.
6696
6697 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
6698
6699         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
6700
6701 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
6702
6703         * basic-block.h (free_bb_for_insn): Declare.
6704         * bb-reorder.c (label_for_bb): Use block_label.
6705         (emit_jump_to_block_after): Remove.
6706         (insert_intra_1): Do not update block_for_insn.
6707         (insert_inter_bb_scope_notes): Likewise; update bb->end
6708         * cfg.c (free_bb_for_insn): New.
6709         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
6710         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
6711         (commit_one_edge_insertion): Likewise.
6712         (commit_one_edge_insertion): Do not update BB boundary.
6713         (commit_edge_insertions): Do not call compute_bb_for_insn.
6714         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
6715         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
6716         (merge_blocks_move_successor_nojumps): Likewise.
6717         (try_crossjump_to_edge): Do not update block_for_insn.
6718         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
6719         * df.c (df_pattern_emit_later): Do not update BB boundary.
6720         (df_jump_pattern_emit_after): Likewise.
6721         (df_insn_move_before): Use emit_insn_before.
6722         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
6723          properly.
6724         (add_insn_after, add_insn_before, emit_insns_after): Update BB
6725         boundaries and basic_block_for_insn.
6726         (reorder_insns_nobb): Rename from reorder_insns.
6727         (reorder_insns): New.
6728         (emit_block_insn_before, emit_block_insn_after): Kill.
6729         * flow.c (check_function_return_warnings): Do not call
6730         compute_bb_for_insn; Do not free basic_block_for_insn.
6731         (attempt_auto_inc): Do not update basic_block_for_insn.
6732         * function.c (emit_return_into_block): Likewise;
6733         do not update BB boundaries.
6734         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
6735         (insert_insn_end_bb): Use emit_insn_before; Likewise.
6736         (pre_insert_copy_insn): Likewise.
6737         (update_ld_motion_notes): Likewise.
6738         (insert_insn_start_bb): Likewise.
6739         (replace_store_insn): Likewise.
6740         * ifcvt.c (noce_process_if_block): Likewise.
6741         (if_convert): Do not call compute_bb_for_insn.
6742         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
6743         Use emit_insn_before and emit_insn_after.
6744         * recog.c (split_all_insns): Do not update BB boundaries;
6745         Do not call compute_bb_for_insn.
6746         (peephole2_optimize): Do not update BB boundaries.
6747         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
6748         emit_insn_before.
6749         (emit_swap_insn): Likewise.
6750         (convert_regs_1): Likewise.
6751         * reload1.c (reload): Call compute_bb_for_insn.
6752         * rtl.h (reorder_insns_nobb): Declare.
6753         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
6754         * toplev.c (rest_of_compilation): Call free_bb_for_insn
6755         at places CFG is invalidated; do not call compute_bb_for_insn.
6756
6757         * cfg.c (expunge_block): Invalidate BB structure.
6758
6759         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
6760         array.
6761
6762         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
6763
6764 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6765
6766         * cpphash.h (_cpp_lex_token): Update prototype.
6767         * cpplex.c (_cpp_lex_token): New prototype.
6768         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
6769         lex_macro_node, read_flag, do_pragma_poison): Update.
6770         * cppmacro.c (cpp_get_token, parse_params,
6771         lex_expansion_token): Update.
6772
6773 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6774
6775         * cppmain.c (scan_translation_unit): Don't worry about
6776         putting a space after hashes.
6777         * cpplib.c (directive_diagnostics): New.
6778         (_cpp_handle_directive): Update to use directive_diagnostics.
6779         (run_directive): Don't toggle prevent_expansion.
6780         (do_line): Backup in case of the line extension.
6781         * cpplib.h (cpp_lexer_pos): Remove.
6782         * cppmacro.c (_cpp_create_definition): Precede a leading #
6783         with whitespace.
6784
6785 2001-09-15  Richard Henderson  <rth@redhat.com>
6786
6787         * c-typeck.c (comptypes): Handle zero-length arrays properly.
6788
6789 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6790
6791         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
6792
6793 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6794
6795         PR preprocessor/3571
6796         * tradcpp.c (handle_directive): Skip non-vertical space.
6797
6798 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6799
6800         * cppmain.c (setup_callbacks): Set line callback only
6801         if outputting preprocessed source.
6802
6803 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6804
6805         * collect2.c (main): Const-ification.
6806         * gcc.c (translate_options, process_command): Use xstrdup in
6807         lieu of xmalloc/strcpy.
6808         (main): Use concat in lieu of xmalloc/strcpy/strcat.
6809
6810 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6811
6812         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
6813         example.
6814
6815 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6816
6817         * scan-decls.c (scan_decls): Fix typo.
6818
6819 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6820
6821         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
6822         Split mlstring_pos into mls_line and mls_col.
6823         * cppinit.c (cpp_create_reader): Initialize line to 1.
6824         (cpp_destroy): Free tokenruns.
6825         (push_include): Don't update lexer_pos.
6826         * cpplex.c (unterminated, parse_string): Update.
6827         (lex_token): Don't update lexer_pos, update.
6828         * cpplib.c (if_stack): Save line instead of line + col.
6829         (start_directive, _cpp_do__Pragma, do_else, do_elif,
6830         push_conditional, _cpp_pop_buffer): Update.
6831         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
6832         (_cpp_create_definition): Update.
6833
6834 2001-09-15  Eric Christopher  <echristo@redhat.com>
6835
6836         * config/mips/abi64.h: Add support for MEABI.
6837
6838 2001-09-15  Eric Christopher  <echristo@redhat.com>
6839
6840         * config/mips/mips.md: Add unspec #2.
6841         (reload_indi): Use.
6842         (reload_outdi): Ditto.
6843         (reload_outsi): Ditto.
6844         (HILO_delay): New.
6845
6846 2001-09-15  Eric Christopher  <echristo@redhat.com>
6847             Jason Eckhardt  <jle@redhat.com>
6848
6849         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
6850         * config/mips/isa32-linux.h: New file.
6851         * config/mips/isa3264.h: Ditto.
6852         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
6853         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
6854         (output_block_mode): Support MEABI.
6855         (function_arg): Ditto. Fix floating point arg passing.
6856         (mips_va_start): Ditto.
6857         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
6858         processors.
6859         (mips_asm_file_start): Add new section to pass abi to gdb.
6860         (function_arg_pass_by_reference): Support MEABI.
6861         (mips_parse_cpu): Support mips32 and mips64 processors.
6862         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
6863         TARGET_MIPS5KC.  Support isa32 and isa64.
6864         (processor_type): Add r4kc, r5kc, r20kc.
6865         (GENERATE_MULT3_SI): New.
6866         (GENERATE_MULT3_DI): Ditto.
6867         (GENERATE_MULT3): Remove.
6868         (ISA_HAS_64BIT_REGS): Add isa == 64.
6869         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
6870         (ISA_HAS_MADD_MSUB): New.
6871         (ISA_HAS_CLZ_CLO): Ditto.
6872         (ISA_HAS_DCLZ_DCLO): Ditto.
6873         (ABI_GAS_ASM_SPEC): New.
6874         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
6875         (ASM_SPEC): Ditto.
6876         (LINK_SPEC): Ditto.
6877         (SUBTARGET_CC1_SPEC): Ditto.
6878         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6879         (PAD_VARARGS_DOWN): Support MEABI.
6880         (HARD_REGNO_NREGS): Move to mips.c.
6881         (ASM_OUTPUT_IDENT): Add #undef.
6882         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
6883         (mulsi3): Use GENERATE_MULT3_SI.
6884         (mulsi3_mult3): Ditto.  Support mips32, mips64.
6885         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
6886         (mul_sub_si): New pattern.
6887         (unnamed splitters): New.
6888         (muldi3): Use GENERATE_MULT3_DI.
6889         (muldi3_internal2): Ditto.
6890         (movdicc): Support mips32.
6891         * config/mips/t-isa3264: New file.
6892
6893 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
6894
6895         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
6896         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
6897         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
6898
6899         * reorg.c (fill_slots_from_thread): After call to
6900         steal_delay_list_from_target, update own_thread as new_thread may
6901         have branched.
6902
6903 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6904
6905         * cpperror.c (print_location): Take line and column, for
6906         default positioning use the previously lexed token.
6907         (_cpp_begin_message): Take line and column.
6908         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6909         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6910         * cpphash.h (_cpp_begin_message): Update prototype.
6911         * cppinit.c (push_include): Don't set output line.
6912         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
6913         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
6914         (do_pragma): Kludge for front ends.  Don't expand macros at all.
6915         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
6916         (struct cpp_token): Remove output_line.
6917         (struct cpp_callbacks): New member line_change.
6918         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
6919         cpp_get_token): Preserve BOL flag.
6920         (cpp_get_line): Remove.
6921         (_cpp_backup_tokens): Remove useless abort().
6922         * cppmain.c (cb_line_change): New.
6923         (scan_translation_unit): Don't worry about starting new lines here.
6924         * scan-decls.c (scan_decls): Update.
6925         * c-lex.c (c_lex, init_c_lex): Update.
6926         (cb_line_change, src_lineno): New.
6927
6928 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
6929
6930         * tree.c (append_random_chars): Generate the random
6931         characters in a reproducable fashion.
6932
6933 2001-09-14  Richard Henderson  <rth@redhat.com>
6934
6935         * config/i386/i386.c (internal_label_prefix): New.
6936         (internal_label_prefix_len): New.
6937         (override_options): Set them.
6938         (local_symbolic_operand): New.
6939         (legitimate_pic_address_disp_p): Use it.
6940         (legitimize_pic_address): Likewise.
6941
6942 2001-09-14  Marc Espie <espie@openbsd.org>
6943
6944         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
6945         correctly.
6946
6947 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6948
6949         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
6950         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
6951
6952 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
6953
6954         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
6955         invocation of SUBREG_REGNO_OFFSET.
6956
6957         * haifa-sched.c: Fix typo in FSF copyright statement.
6958         * sched-deps.c: Fix typo in FSF copyright statement.
6959         * sched-ebb.c: Fix typo in FSF copyright statement.
6960         * sched-rgn.c: Fix typo in FSF copyright statement.
6961         * sched-vis.c: Fix typo in FSF copyright statement.
6962
6963         * config.gcc: Move inclusion of arm elf specific header files
6964         from the files themselves into the tm_file variable.  Make
6965         sure that elfos.h is included before target specific elf
6966         headers.
6967         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
6968         already defined.
6969         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
6970         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
6971         ASM_OUTPUT_CASE_LABEL): Protect definition.
6972         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
6973         not already defined.
6974         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
6975         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
6976         Remove duplicate definition.
6977         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
6978         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
6979         (RDATA_SECTION_FUNCTION): Remove redundant definition.
6980         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
6981         Remove inclusion of arm/elf.h.
6982         * config/arm/unknown-elf.h: as for conix-elf.h.
6983         (STARTFILE_SPEC): Include crti.o and crtn.o.
6984         * config/arm/linux-elf.h: as for conix-elf.h.
6985         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
6986         * config/arm/strongarm-elf.h: Remove inclusion of
6987         unknown-elf.h.
6988         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
6989         * config/arm/unknown-elf-oabi.h: Remove inclusion of
6990         unknown-elf.h and elf.h.
6991         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
6992         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
6993         ASM_WEAKEN_LABEL): Remove redundant definition.
6994         * config/arm/elf.h: Test for inclusion of elfos.h
6995         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
6996         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
6997         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
6998         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
6999         redundant definition.
7000         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
7001         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
7002         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
7003         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
7004         Add rules to build crti.o and crtn.o
7005         * crti.asm: New file.
7006         * crtn.asm: New file.
7007
7008 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
7009
7010         * c-parse.in (_yylex): Use _cpp_backup_tokens.
7011         * cpphash.h (struct tokenrun): Add prev.
7012         (struct lexer_state): Remove bol.
7013         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
7014         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
7015         : Remove.
7016         * cppinit.c (cpp_create_reader): Don't set bol.
7017         (cpp_destroy): Don't free lookaheads.
7018         * cpplex.c (lex_directive): Remove.
7019         (next_tokenrun): Update.
7020         (_cpp_lex_token): Clean up logic.
7021         (lex_token): Update to return a pointer to lexed token, since it
7022         can move to the start of the buffer.  Simpify newline handling.
7023         * cpplib.c (SEEN_EOL): Update.
7024         (skip_rest_of_line): Remove lookahead stuff.
7025         (end_directive): Line numbers are already incremented.  Revert
7026         to start of lexed token buffer if we can.
7027         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
7028         parse_answer): Use _cpp_backup_tokens.
7029         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
7030         instead.  Don't check for EOL.
7031         (do_include_common, do_line, do_pragma_system_header): Use
7032         skip_rest_of_line.
7033         * cpplib.h (BOL, _cpp_backup_tokens): New.
7034         * cppmacro.c (save_lookahead_token, take_lookahead_token,
7035         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
7036         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
7037         (builtin_macro): Don't use cpp_get_line.
7038         (cpp_get_line): Short term kludge.
7039         (parse_arg): Handle directives in arguments here.  Back up when
7040         appropriate.  Store EOF at end of argument list.
7041         (funlike_invocation_p): Use _cpp_backup_tokens.
7042         (push_arg_context): Account for EOF at end of list.
7043         (cpp_get_token): Remove lookahead stuff.  Update.
7044
7045 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7046
7047         * c-parse.in (yyerror): Const-ification and/or static-ization.
7048         * c-typeck.c (push_member_name): Likewise.
7049         * collect2.c (main): Likewise.
7050         * dbxout.c (dbxout_parms): Likewise.
7051         * diagnostic.c (format_with_decl): Likewise.
7052         * dwarf2out.c (output_ranges): Likewise.
7053         * dwarfout.c (fundamental_type_code): Likewise.
7054         * except.c (dw2_output_call_site_table): Likewise.
7055         * gcc.c (do_spec_1): Likewise.
7056         * genopinit.c (optabs): Likewise.
7057         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
7058         gen_declaration_1, handle_impent): Likewise.
7059         * protoize.c (default_include, in_system_include_dir, abspath):
7060         Likewise.
7061         * sched-vis.c (visualize_stall_cycles): Likewise.
7062         * sdbout.c (plain_type_1, sdbout_end_function,
7063         sdbout_end_epilogue): Likewise.
7064         * varasm.c (decode_reg_name): Likewise.
7065
7066         * 1750a.c (mod_regno_adjust): Likewise.
7067         * alpha.c (alpha_write_one_linkage,
7068         unicosmk_output_default_externs): Likewise.
7069         * arm.c (arm_condition_codes): Likewise.
7070         * arm.h (arm_condition_codes): Likewise.
7071         * avr.c (output_movsisf, encode_section_info): Likewise.
7072         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
7073         Likewise.
7074         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7075         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7076         * m88k.c (output_function_profiler): Likewise.
7077         * mips.c (mips_output_conditional_branch): Likewise.
7078         * ns32k.c (ns32k_out_reg_names): Likewise.
7079         * ns32k.h (ns32k_out_reg_names): Likewise.
7080         * pj.c (pj_output_rval): Likewise.
7081         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
7082         * sparc.c (sparc_flat_function_prologue,
7083         sparc_flat_function_epilogue): Likewise.
7084
7085 2001-09-13  Markus Werle <numerical.simulation@web.de>
7086             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7087
7088         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
7089         Aachen University of Technology".
7090
7091 2001-09-13  Andreas Schwab  <schwab@suse.de>
7092
7093         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
7094         C99.
7095
7096 2001-09-13  Richard Henderson  <rth@redhat.com>
7097
7098         * config/alpha/alpha.c (small_symbolic_operand): New.
7099         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
7100         (some_operand, input_operand): Don't handle HIGH.
7101         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
7102         (alpha_expand_mov): Likewise.
7103         (print_operand) [H]: Just print HIGH symbol.
7104         (print_operand_address): Handle small data.
7105         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
7106         (TARGET_SWITCHES): Add -msmall-data/large-data.
7107         (PIC_OFFSET_TABLE_REGNUM): New.
7108         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
7109         (PREDICATE_COES): Update.
7110         * config/alpha/alpha.md (adddi_er_high): New.
7111         (adddi_er_low): Handle small data.
7112         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
7113         prefer .sdata to .rodata.
7114         (SELECT_RTX_SECTION): Likewise.
7115
7116 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
7117
7118         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
7119         defining __size_t and leaving size_t undefined.
7120
7121 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
7122
7123         * basic-block.h (expunge_block): Declare.
7124         * cfg.c (expunge_block): Remove static declaration.
7125
7126 2001-09-12  Richard Henderson  <rth@redhat.com>
7127
7128         * integrate.c (copy_insn_list): Copy label name from
7129         NOTE_INSN_DELETED_LABEL.
7130
7131 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7132
7133         * c-common.c (c_tree_code_name): Const-ification.
7134         * c-decl.c (c_decode_option): Likewise.
7135         * c-typeck.c (warn_for_assignment): Likewise.
7136         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
7137         Likewise.
7138         * cppinit.c (output_deps): Likewise.
7139         * dependence.c (dependence_string, direction_string): Likewise.
7140         * dwarf2out.c (output_ranges): Likewise.
7141         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
7142         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
7143         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
7144         standard_startfile_prefix, standard_startfile_prefix_1,
7145         standard_startfile_prefix_2, tooldir_base_prefix,
7146         standard_bindir_prefix, find_a_file): Likewise.
7147         * genattrtab.c (make_length_attrs): Likewise.
7148         * gencheck.c (tree_codes): Likewise.
7149         * genemit.c (gen_split): Likewise.
7150         * genrecog.c (special_mode_pred_table): Likewise.
7151         * graph.c (graph_ext): Likewise.
7152         * protoize (default_include): Likewise.
7153         * reload.c (reload_when_needed_name): Likewise.
7154         * sched-vis.c (visualize_stall_cycles): Likewise.
7155         * tlink.c (recompile_files): Likewise.
7156         * toplev.c (decode_g_option): Likewise.
7157         * tradcpp.c (output_deps): Likewise.
7158         * varasm.c (decode_reg_name): Likewise.
7159
7160         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
7161         Const-ification.
7162         * arm.md: Likewise.
7163         * avr.c (avr_regnames, encode_section_info): Likewise.
7164         * c4x.c (float_reg_names): Likewise.
7165         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
7166         * elfos.h (const_section): Likewise.
7167         * i386.c (ix86_comp_type_attributes): Likewise.
7168         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
7169         * ia64/aix.h (UNIQUE_SECTION): Likewise.
7170         * ia64.c (type_names): Likewise.
7171         * m68hc11.c (reg_class_names): Likewise.
7172         * m88k.c (m_options): Likewise.
7173         * mips.c (mips_output_conditional_branch, mips_unique_section):
7174         Likewise.
7175         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7176         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
7177         ultra_code_names): Likewise.
7178         * sparc.h (OVERRIDE_OPTIONS): Likewise.
7179
7180 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
7181
7182         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
7183         Use --fatal-warnings option for gas.
7184         * configure: Rebuilt.
7185
7186 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7187
7188         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
7189
7190 2001-09-11  Jim Wilson  <wilson@redhat.com>
7191
7192         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
7193
7194 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7195
7196         * builtins.c (c_strlen): Treat an offset too large for a
7197         HOST_WIDE_INT as out of range.
7198
7199 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
7200
7201         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
7202         (EDGE_CRITICAL_P): New predicate.
7203         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
7204         handling.
7205         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
7206         (dump_edge_info): Remove "crit".
7207         * cfganal.c (mark_critical_edges): Kill.
7208         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
7209         * cfgcleanup.c (cleanup_cfg): Likewise.
7210         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
7211         (find_spanning_tree): Likewise.
7212         * reg-stack.c (convert_regs_1): Likewise.
7213         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
7214
7215         * basic-block.h (create_basic_block_structure): New.
7216         (create_basic_block): Update prototype.
7217         (force_nonfallthru): New.
7218         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
7219         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
7220         handle updating of block_for_insn, creating of empty BBs and BBs at
7221         the end of INSN chain.
7222         (create_basic_block): New function.
7223         (split_block): Use create_basic_block.
7224         (force_nonfallthru_and_redirect): Break out from ...; cleanup
7225         (redirect_edge_and_branch_force): ... here.
7226         (force_nonfallthru): New.
7227         (split_edge): Rewrite to use force_nonfallthru and create_block.
7228         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
7229         (find_basic_blocks): Free basic_block_for_insn.
7230         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
7231
7232         * cfg.c: Fix formating.
7233         * cfgcleanup.c: Fix formating.
7234         (merge_blocks, tail_recursion_label_p): Return bool.
7235         (merge_blocks_move_predecessor_nojumps,
7236          merge_blocks_move_successor_nojumps): Return void.
7237
7238 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
7239
7240         * configure.in: Check whether assembler supports section merging.
7241         * config.in: Rebuilt.
7242         * configure: Rebuilt.
7243         * varasm.c (variable_section, output_constant_pool): Pass alignment
7244         to SELECT_SECTION and SELECT_RTX_SECTION.
7245         (mergeable_string_section): New.
7246         (mergeable_constant_section): New.
7247         (default_elf_asm_named_section): Output SECTION_MERGE and
7248         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7249         * output.h (mergeable_string_section): New.
7250         (mergeable_constant_section): New.
7251         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
7252         * toplev.c (flag_merge_constants): New.
7253         (f_options): Add -fmerge-constants and -fmerge-all-constants
7254         options.
7255         (toplev_main): Default to -fno-merge-constants if not optimizing.
7256         * flags.h (flag_merge_constants): Add extern.
7257         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
7258         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
7259         argument.
7260         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
7261         Define if assembler has working .subsection -1 support.
7262         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
7263         Put constant into special SHF_MERGE sections if the linker should
7264         attempt to merge duplicates.
7265         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
7266         macro argument.
7267         Put constant into special SHF_MERGE sections if the linker should
7268         attempt to merge duplicates.
7269         * config/alpha/elf.h: Likewise.
7270         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
7271         has working .subsection -1 support.
7272         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
7273         SELECT_SECTION.
7274         * config/svr3.h: Likewise.
7275         * config/darwin.h: Likewise.
7276         * config/arm/aof.h: Likewise.
7277         * config/arm/linux-elf.h: Likewise.
7278         * config/avr/avr.h: Likewise.
7279         * config/c4x/c4x.h: Likewise.
7280         * config/d30v/d30v.h: Likewise.
7281         * config/i386/dgux.h: Likewise.
7282         * config/i386/osfrose.h: Likewise.
7283         * config/i386/sco5.h: Likewise.
7284         * config/i386/svr3gas.h: Likewise.
7285         * config/ia64/aix.h: Likewise.
7286         * config/m32r/m32r.h: Likewise.
7287         * config/m68k/m68k.h: Likewise.
7288         * config/m88k/dgux.h: Likewise.
7289         * config/m88k/m88k.h: Likewise.
7290         * config/mcore/mcore-pe.h: Likewise.
7291         * config/mips/mips.h: Likewise.
7292         * config/pa/pa.h: Likewise.
7293         * config/pa/pa-linux.h: Likewise.
7294         * config/romp/romp.h: Likewise.
7295         * config/rs6000/sysv4.h: Likewise.
7296         * config/rs6000/xcoff.h: Likewise.
7297         * config/s390/linux.h: Likewise.
7298         * config/sparc/sparc.h: Likewise.
7299         * config/sparc/sysv4.h: Likewise.
7300         * config/stormy16/stormy16.h: Likewise.
7301         * config/v850/v850.h: Likewise.
7302         * config/vax/vms.h: Likewise.
7303         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
7304         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7305         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
7306         default_elf_asm_named_section for SHF_MERGE sections.
7307
7308 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
7309
7310         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
7311         is OK.
7312
7313 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
7314
7315         * c-common.c (split_specs_attrs): Allow for empty attributes with
7316         empty TREE_PURPOSE.  Fixes PR c/4294.
7317
7318 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
7319
7320         * basic-block.h (cached_make_edge, make_single_succ): New.
7321         (make_edge): Remove first parameter.
7322         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
7323         * cfg.c (cached_make_edge): Rename from make_edge; return newly
7324         created edge; use obstack allocation.
7325         (make_edge, make_single_succ_edge): New.
7326         (first_removed_edge): New static variable.
7327         (init_flow): Initialize first_removed_edge and n_edges.
7328         (clear_edges): Use remove_edge.
7329         (flow_delete_block): Likewise.
7330         (remove_edge): Add removed edges to the removed edges list.
7331         (split_block, redirect_edge_and_branch_force, split_edge):
7332         Use make_edge.
7333         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
7334         (add_noreturn_fake_exit_edges): Likewise.
7335         (connect_infinite_loops_to_exit): Liekwise.
7336         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
7337         Use cached_make_edge.
7338         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
7339         * profile.c (branch_prob): Update make_edge call.
7340         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7341
7342 2001-09-11  Richard Henderson  <rth@redhat.com>
7343
7344         * config/alpha/alpha.c: Tidy formatting.
7345         (local_symbolic_operand): Verify mode.
7346         (alpha_sa_mask): Ignore unicos for eh_return.
7347         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
7348         * config/alpha/alpha.md (umk divsi patterns): Remove.
7349         (extendsfdf2): Remove unicos check.
7350         (tablejump): Merge vms and unicos code; always use direct set
7351         plus label_ref use.
7352
7353 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7354
7355         * config.gcc (alpha*-*-unicosmk*): New target.
7356
7357         * config/alpha/alpha-protos.h (symbolic_operand,
7358         unicosmk_add_call_info_word, unicosmk_add_extern,
7359         unicosmk_defer_case_vector, unicosmk_unique_section,
7360         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
7361         unicosmk_asm_file_start, unicosmk_asm_file_end,
7362         unicosmk_output_common): Declare.
7363
7364         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
7365         direct_return, function_arg, alpha_va_start, alpha_va_arg,
7366         alpha_does_function_need_gp, alpha_end_function): Support Cray
7367         Unicos/Mk.
7368         (alpha_init_machine_status, alpha_mark_machine_status,
7369         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
7370         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
7371         unicosmk_asm_named_section, unicosmk_insert_attributes,
7372         unicosmk_section_type_flags, symbolic_operand,
7373         unicosmk_output_module_name, unicosmk_output_default_externs,
7374         unicosmk_output_dex, unicosmk_output_externs,
7375         unicosmk_output_addr_vec, unicosmk_ssib_name,
7376         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
7377         unicosmk_asm_file_end, unicosmk_output_common,
7378         unicosmk_section_type_flags, unicosmk_unique_section,
7379         unicosmk_add_call_info_word, unicosmk_text_section,
7380         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
7381         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
7382         unicosmk_dex_count, unicosmk_special_name): New.
7383         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
7384         TARGET_ABI_UNICOSMK.
7385         (get_aligned_mem, alpha_expand_unaligned_load,
7386         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
7387         alpha_expand_unaligned_store_words): Support big-endian mode.
7388         (print_operand): Likewise. New format specifier 't'. Use
7389         TARGET_AS_SLASH_BEFORE_SUFFIX.
7390         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
7391         (alpha_pv_save_size): Update with above change.
7392         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
7393         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
7394         Unicos/Mk.
7395
7396         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
7397         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
7398         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
7399         (EXTRA_CONSTRAINT): New constraint 'U'.
7400         (PREDICATE_CODES): Add symbolic_operand.
7401
7402         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
7403         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
7404         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
7405         (integer division and modulus patterns): Split in default and
7406         Unicos/Mk versions.
7407         (*divmodsi_internal, *divmoddi_internal): Disable for
7408         TARGET_ABI_UNICOSMK.
7409         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
7410         little-endian and big-endian versions.
7411         (ext, ins, msk): Likewise.
7412         (extv, extzv, insv): Support big-endian mode.
7413         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
7414         (call_umk, call_value_umk, *call_umk, tablejump_umk,
7415         *tablejump_umk_internal, *call_value_umk): New.
7416         (*movdi_nofix): Add pattern for loading an address into a register on
7417         TARGET_ABI_UNICOSMK.
7418         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
7419         (umk_mismatch_args, arg_home_umk): New.
7420         (various insns): Don't use mov, fmov, nop, fnop and unop.
7421         (realign): Support TARGET_ABI_UNICOSMK.
7422
7423         * config/alpha/unicosmk.h: New file.
7424         * config/alpha/t-unicosmk: New file.
7425
7426         * fixinc/inclhack.def (unicosmk_restrict): New.
7427         * fixinc/fixincl.x: Regenerate.
7428
7429         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
7430         (wchar_t): Check for and define __WCHAR_T__.
7431
7432 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
7433
7434         * combine.c (simplify_shift_const): Treat shifts by the mode
7435         size as undefined.
7436
7437 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7438
7439         * cpphash.h (struct tokenrun): New.
7440         (struct cpp_context): New member bol.
7441         (struct cpp_reader): New members.
7442         (_cpp_init_tokenrun): New.
7443         * cppinit.c (cpp_create_reader): Set up the token runs.
7444         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
7445         (lex_token): New internalised version of _cpp_lex_token.  Don't
7446         handle directives or the multiple include optimization here any
7447         more.  Simply lex a token.
7448         * cpplib.c (run_directive): Clear bol.
7449         (_cpp_pop_buffer): Set bol.
7450         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
7451         arguments.
7452
7453 2001-09-11  Michael Meissner  <meissner@redhat.com>
7454
7455         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
7456         give an error if the user uses -mfp32.
7457         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
7458         default options.
7459         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
7460         floating point register size.
7461         (EXTRA_SPECS): Add CPP_FPR_SPEC.
7462
7463         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
7464         HOST_WIDE_INT_PRINT_DEC to properly print the result of
7465         int_size_in_bytes.
7466         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7467         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7468
7469 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
7470
7471         * dbxout.c (dbxout_parms): Fix typo in comment.
7472         * unroll.c (loop_find_equiv_value): Ditto.
7473         * toplev.c (rest_of_compilation): Ditto.
7474         * loop.c (scan_loop): Ditto.
7475         * dwarf2out.c (struct dw_fde_struct): Ditto.
7476
7477 2001-09-10  Zack Weinberg  <zackw@panix.com>
7478
7479         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
7480         copying identifier when we're just going to throw it away.
7481         (parse_identifier_slow): New routine to handle abnormal cases.
7482         (_cpp_lex_token): Update call site.
7483
7484         * hashtable.c (ht_lookup): Don't assume that the string we've
7485         been given is NUL-terminated.
7486         * system.h: #define __builtin_expect(a, b) to (a) if not
7487         GCC >=3.0.
7488
7489 2001-09-10  Michael Meissner  <meissner@redhat.com>
7490
7491         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
7492         binutils, gdb.
7493
7494 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
7495
7496         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
7497
7498 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7499
7500         * builtins.c (c_getstr): Correct thinko in last change and further
7501         cleanup.
7502
7503 2001-09-10  Tim Freeman <tim@fungibole.com>
7504
7505         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
7506         into varray's and register them as roots with the garbage
7507         collector so they are not collected too soon.
7508
7509 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
7510
7511         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7512         New.
7513         * basic-block.h (flow_obstack, label_value_list,
7514         tail_recursion_label_list): Declare
7515         (tidy_fallthru_edges): Declare.
7516         (expunge_block, last_loop_beg_note): Delete.
7517         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
7518         * cfg.c: New file
7519         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
7520         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
7521         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
7522         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
7523         expunge_block, flow_delete_block, compute_bb_for_insn,
7524         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
7525         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
7526         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
7527         try_redirect_by_replacing_jump, last_loop_beg_note,
7528         redirect_edge_and_branch, redirect_edge_and_branch_force,
7529         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
7530         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
7531         commit_edge_insertions, dump_flow_info, debug_flow_info,
7532         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
7533         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
7534         Move here from flow.c
7535         * cfganal.c: New file.
7536         (forwarder_block_p, can_fallthru, mark_critical_edges,
7537          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
7538          find_unreachable_blocks, create_edge_list, free_edge_list,
7539          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
7540          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
7541          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
7542          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
7543          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
7544          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
7545         Move here from flow.c
7546         * cfgbuild.c: New file
7547         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
7548          make_edges, find_basic_blocks_1, find_basic_blocks,
7549          find_sub_basic_blocks): Move here from flow.c
7550         * cfgcleanup.c: New file.
7551         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
7552          merge_blocks_move_predecessor_nojumps,
7553          merge_blocks_move_successor_nojumps, merge_blocks,
7554          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
7555          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
7556         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
7557         if succeeded.
7558         * cfgloop.c: New file
7559         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
7560          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
7561          flow_loop_exit_edges_find, flow_loop_nodes_find,
7562          flow_loop_pre_header_scan, flow_loop_pre_header_find,
7563          flow_loop_tree_node_add, flow_loops_tree_build,
7564          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
7565          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
7566         Move here from flow.c
7567         * flow.c: Remove everything moved elsewhere
7568         * output.h (cleanup_cfg): Return bool.
7569
7570         * bb-reorder.c (reorder_block_def): Remove 'index'.
7571         (insert_intra_1): Add argument BB, set block for new note.
7572         (make_reorder_chain): Do not depdent on BB indexes.
7573         (make_reorder_chain_1): Do not use BB indexes.
7574         (label_for_bb): Likewise; set BB for new insn.
7575         (emit_jump_to_block_after): Likewise.
7576         (fixup_reorder_chain): Sanity check that all basic blocks
7577         are chained; verify newly created insn chain; remove
7578         undocnitional jump simplifying; Do not use BB indexes;
7579         properly initialize count and frequency information;
7580         dump reordered sequence.
7581         (insert_intra_bb_scope_notes): update call of insert_intra_1.
7582         (insert_inter_bb_scope_notes): Set block for new insn.
7583         (reorder_basic_blocks): Dump flow info before reoredering.
7584
7585 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7586
7587         * alias.c (clear_reg_alias_info): Use K&R format definition.
7588         Avoid unsigned warning.
7589         * builtins.c: Use "unsigned int", not "unsigned".
7590         (target_char_cast): Use host_integerp and tree_low_cst.
7591         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7592         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7593         (c_getstr): Likewise.
7594         (std_expand_builtin_va_arg): Use int_size_in_bytes.
7595         (builtin_memcpy_read_str): Avoid unsigned warning.
7596         (expand_builtin_memcpy): Alignments are unsigned.
7597         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7598         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7599         * predict.c (expensive_function_p): LIMIT now unsigned.
7600         * resource.c (mark_target_live_regs): Make some vars unsigned.
7601         * sdbout.c: Use "unsigned int", not "unsigned".
7602         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7603         (sdbout_source_line): Likewise.
7604         (sdbout_record_type_name): Remove "const" for NAME declaration.
7605         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7606
7607 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
7608
7609         * calls.c (store_one_arg): Expand comment.
7610
7611 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7612
7613         * calls.c (store_one_arg): Make sure that the entire argument is
7614         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7615
7616 2001-09-09  Richard Henderson  <rth@redhat.com>
7617
7618         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7619
7620 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
7621
7622         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7623
7624 2001-09-09  Richard Henderson  <rth@redhat.com>
7625
7626         * config/alpha/alpha.c (alpha_next_sequence_number): New.
7627         (alpha_this_literal_sequence_number): New.
7628         (alpha_this_gpdisp_sequence_number): New.
7629         (some_operand, input_operand): Add HIGH.
7630         (local_symbolic_operand): New.
7631         (alpha_encode_section_info): New.
7632         (alpha_legitimate_address_p): Allow LO_SUM.
7633         (alpha_legitimize_address): Generate HIGH+LO_SUM.
7634         (alpha_expand_mov): Likewise.
7635         (secondary_reload_class): Check memory_operand not general_operand
7636         for FP_REGS test.
7637         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7638         (alpha_expand_unaligned_store): Likewise.
7639         (alpha_expand_unaligned_load_words): Likewise.
7640         (alpha_expand_unaligned_store_words): Likewise.
7641         (alpha_expand_block_clear): Likewise.
7642         (print_operand): Handle %#, %*, %H.
7643         (print_operand_address): Handle LO_SUM.
7644         (find_lo_sum): New.
7645         (alpha_does_function_need_gp): Use it.
7646         (alpha_expand_block_move): Fix signed compare warnings.
7647         (alpha_sa_mask, alpha_align_insns): Likewise.
7648         * config/alpha/alpha-protos.h: Update.
7649         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
7650         (MASK_EXPLICIT_RELOCS): New.
7651         (TARGET_SWITCHES): Add -mexplicit-relocs.
7652         (EXTRA_CONSTRAINT): Add 'T'.
7653         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
7654         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
7655         (ENCODE_SECTION_INFO): Out line.
7656         (REDO_SECTION_INFO_P): New.
7657         (STRIP_NAME_ENCODING): New.
7658         (ASM_OUTPUT_LABELREF): New.
7659         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
7660         (PREDICATE_CODES): Update.
7661         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
7662         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
7663         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
7664         builtin_setjmp_receiver_er, exception_receiver_1_er,
7665         call_value_osf_1_er): New patterns.
7666         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
7667         (movqi, movhi, movsi): Add explicit $31 base register to lda.
7668         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
7669         (FINAL_PRESCAN_INSN): New.
7670
7671 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
7672
7673         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
7674
7675 2001-09-08  Andreas Jaeger  <aj@suse.de>
7676
7677         * i386.h (TARGET_SWITCHES): Fix description.
7678
7679 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
7680
7681         * rs6000.c (num_insns_constant): Compute number of instructions
7682         more accurately.
7683
7684         * doc/install.texi: Explain AIX exception handling work-around.
7685         Update URL for AIX fixes.
7686
7687 2001-09-07  Jim Wilson  <wilson@redhat.com>
7688
7689         * alias.c (clear_reg_alias_info): New.
7690         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
7691         * rtl.h (clear_reg_alias_info): Declare.
7692
7693 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7694
7695         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
7696         available.
7697         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
7698         (m16m,edivm,emulm): Change declaration to match definition.
7699
7700 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
7701
7702         * reload.c (push_reload): Check for subreg_lowpart_p instead of
7703         SUBREG_BYTE being 0 when determining if the inner part of a subreg
7704         can be reloaded.
7705
7706 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7707
7708         * c-common.c (signed_or_unsigned_type): Handle machine mode types
7709         which have no corresponding C type.
7710         * fold_const.c (target_isinf,target_isnan,target_negative): Update
7711         the representation of 64-bit doubles to work with 64-bit ints.
7712
7713 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
7714
7715         * config/mips/mips.c (override_options): Do not override ISA when ABI
7716         specified if MIPS_CPU_STRING_DEFAULT was specified.
7717
7718 2001-09-07  Richard Henderson  <rth@redhat.com>
7719
7720         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
7721         (express_from_1): Wrap lines.
7722         * rtlanal.c (commutative_operand_precedence): Rename from
7723         operand_preference; export.
7724         * rtl.h: Declare it.
7725         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
7726         (simplify_binary_operation): Invoke simplify_plus_minus on
7727         (CONST (PLUS ...)) as well.
7728         (struct simplify_plus_minus_op_data): New.
7729         (simplify_plus_minus_op_data_cmp): New.
7730         (simplify_plus_minus): Use them.  Avoid infinite recursion with
7731         simplify_binary_operation wrt CONST.
7732
7733 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
7734
7735         * h8300-protos.h (general_operand_dst_push): Remove.
7736         * h8300.c (general_operand_dst_push): Likewise.
7737         * h8300.h (OK_FOR_T): Likewise.
7738         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
7739         * h8300.md (pushqi_h8300): New.
7740         (pushqi_h8300hs): Likewise.
7741         (pushqi): Likewise.
7742         (pushhi_h8300): Likewise.
7743         (pushhi_h8300hs): Likewise.
7744         (pushhi): Likewise.
7745
7746 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7747
7748         * genattrtab.c (attr_printf): First arg is unsigned.
7749         Clean up formatting of callers.
7750
7751 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
7752
7753         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
7754         registers.
7755
7756 2001-09-07  Andreas Jaeger  <aj@suse.de>
7757
7758         * i386.h (TARGET_SWITCHES): Fix descriptions.
7759
7760 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7761
7762         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
7763
7764 2001-09-06  Ira Ruben  <ira@apple.com>
7765
7766         Remove OP_IDENTIFIER.
7767         * tree.def (OP_IDENTIFIER): Remove.
7768         * tree.c (tree_node_kind enum): Remove op_id_kind.
7769         (tree_node_kind_names): Remove "op_identifiers".
7770         (make_node): Remove OP_IDENTIFIER test.
7771         (build_op_identifier): Removed because it isn't being used.
7772         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
7773         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
7774
7775 2001-09-06  Richard Henderson  <rth@redhat.com>
7776
7777         * simplify-rtx.c (simplify_binary_operation): Revert last change.
7778
7779 2001-09-06  Richard Henderson  <rth@redhat.com>
7780
7781         * simplify-rtx.c (simplify_binary_operation): Simplify contents
7782         of CONST.
7783
7784 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7785
7786         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
7787         number used for CR register.
7788
7789 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7790                           Joern Rennecke (amylaar@cygnus.com)
7791
7792         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
7793         * h8300.c (initial_offset): Handle offset between RP and FP.
7794         (h8300_return_addr_rtx): New function.
7795         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
7796         return register.
7797         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
7798         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
7799         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
7800         (CAN_ELIMINATE, REGISTER_NAMES):
7801         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
7802
7803 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
7804
7805         Remove TYPE_NONCOPIED_PARTS.
7806         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
7807         (struct tree_type): Remove noncopied_parts.
7808         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
7809         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
7810         (fixed_type_p): Remove.
7811         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
7812         (expand_expr, MODIFY_EXPR): Likewise.
7813         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
7814         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
7815
7816 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
7817
7818         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
7819         compiler warnings.
7820         (mask64_operand): Likewise.
7821         (includes_rldic_lshift_p): Likewise.
7822         (includes_rldicr_lshift_p): Likewise.
7823
7824 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
7825
7826         * objc/objc-act.c (build_message_expr): If a class method cannot
7827         be found, do not issue a warning if a corresponding instance
7828         method exists in the root class.
7829
7830 2001-09-05  Richard Henderson  <rth@redhat.com>
7831
7832         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
7833
7834 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
7835
7836         * function.c (ggc_mark_struct_function): Mark f->outer.
7837         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
7838         * integrate.c (output_inline_function): ... not here.
7839
7840 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
7841
7842         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
7843
7844         * i386.c (size_cost): New static variable.
7845         (override_function): Use size_cost when -Os is specified.
7846
7847         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
7848         properly;  Use current_function_calls_eh_return.
7849         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
7850         use leave to avoid dependency chain.
7851
7852         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
7853         get BB loop_depth instead of computing it from LOOP notes.
7854
7855         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
7856
7857 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7858
7859         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7860         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7861         UNALIGNED_DOUBLE_INT_ASM_OP): Define
7862
7863 2001-09-05  Jeffrey A Law  (law@cygnus.com)
7864             Jason Merrill (jason@redhat.com)
7865
7866         * stor-layout.c (layout_type): Complain if an array's size can
7867         not be represented in a size_t.
7868
7869         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
7870
7871 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
7872
7873         * gcc.c: (process_command) Add parentheses around assignment
7874         used as truth value.
7875
7876 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7877
7878         * config/mips/mips.c (save_restore_insns): Don't mark any register
7879         save slots as unchanging if current_function_calls_eh_return.
7880
7881 2001-09-05  Richard Henderson  <rth@redhat.com>
7882
7883         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
7884         * config/alpha/alpha-protos.h: Declare it.
7885         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
7886         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
7887         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
7888         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
7889         (REG_OK_FOR_BASE_P): Select one of the above.
7890
7891 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7892
7893         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
7894         (crti.o): Prefix name of object file with $(T).
7895         (crtn.o): Likewise.
7896
7897 2001-09-05  David S. Miller  <davem@redhat.com>
7898
7899         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7900         * config/sparc/linux64.h: Likewise.
7901
7902 2001-09-05  Andreas Jaeger  <aj@suse.de>
7903
7904         * doc/invoke.texi (i386 Options): -mwide-multiply is not
7905         available anymore, remove the documentation.
7906         (i386 Options): Fix typo, cleanup index entries.
7907
7908         * prefix.c (concat): Remove, we can use the version from liberty.
7909
7910 2001-09-05  Richard Henderson  <rth@redhat.com>
7911
7912         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
7913         New functions split out of md file expanders.
7914         * config/alpha/alpha-protos.h: Declare them.
7915         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
7916
7917 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7918
7919         * cppmacro.c (funlike_invocation_p): No need to restore context.
7920
7921 2001-09-04  Richard Henderson  <rth@redhat.com>
7922
7923         * reload.c (push_reload): Export.
7924         * reload.h (push_reload): Declare it.
7925
7926         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
7927         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7928         * config/alpha/alpha.c (alpha_legitimize_address): New.
7929         (alpha_legitimize_reload_address): Likewise.
7930         * config/alpha/alpha-protos.h: Declare them.
7931
7932 2001-09-04  Stan Shebs  <shebs@apple.com>
7933
7934         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
7935         * config/darwin.c (machopic_stub_name): Account for internally
7936         generated lib calls such as memcpy.
7937
7938 2001-09-04  Richard Henderson  <rth@redhat.com>
7939
7940         * unwind.h (_UA_END_OF_STACK): New flag.
7941         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
7942
7943 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7944
7945         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
7946
7947 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
7948
7949         * config/mips/mips.c (save_restore_insns): Change base_offset to
7950         fp_offset in second call to mips_emit_frame_related_store.
7951
7952 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
7953
7954         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
7955         sometimes be represented as a NOTE of type
7956         NOTE_INSN_DELETED_LABEL.
7957         (Insns): Document NOTE_INSN_DELETED_LABEL.
7958
7959 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
7960
7961         * c-common.h (tree_dump_index): Add more comments.
7962         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
7963         (dump_option_value_info): New struct.
7964         (dump_options): New array.
7965         (dump_switch_p): Parse switch options symbolically.
7966         * doc/invoke.texi (-fdump-ast): Rename to ...
7967         (-fdump-tree): ... here. Document that options are symbolic, and
7968         not all are applicable.
7969
7970 2001-09-04  David S. Miller  <davem@redhat.com>
7971
7972         * config/sparc/sparc.md (define_splits): Kill constraints.
7973
7974         Cleanup redundant and unused insn attributes.
7975         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
7976         binary, and move.  Mark ialu as default.
7977         (commented out define_function_unit "alu"): Kill.
7978         (define_attr "use_clobbered"): Kill.
7979         (whole file): Kill address insn type references.  Replace
7980         all unary/binary/move references with ialu.
7981         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
7982         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
7983         TYPE_IALU.
7984
7985         Simplify length insn attribute and make more judicious use
7986         of insn attribute defaulting.
7987         * config/sparc/sparc.md (all insns with length > one): Mark as
7988         insn type multi if real instructions, else use default if
7989         it is a forced splitter.
7990         (all insns with length == one): Use default insn length.
7991         (all insns of type ialu): Use default insn type.
7992
7993         Fix erroneous insn attribute settings.
7994         (addx): Set insn type to misc.
7995         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
7996         const_umulsidi3_sp64): Set insn type to imul.
7997
7998         Track SFmode vs DFmode insns according to UltraSPARC
7999         scheduling rules.
8000         * config/sparc/sparc.md ("fptype"): New attribute, default
8001         to "single".
8002         (all DFmode single insns): Mark as fptype "double".
8003
8004 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
8005
8006         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
8007
8008 2001-09-03  Richard Henderson  <rth@redhat.com>
8009
8010         * function.h (struct function): Add arg_pointer_save_area_init.
8011         * function.c (expand_function_end): Init arg_pointer_save_area.
8012         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
8013         when called from a nested function.
8014
8015 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
8016
8017         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
8018         is enabled.
8019
8020 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
8021
8022         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
8023
8024 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
8025
8026         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
8027         (emit_push_insn): Use specified padding direction when
8028         STACK_PUSH_CODE is POST_INC.
8029
8030         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
8031
8032 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8033
8034         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
8035
8036 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
8037
8038         * cppinit.c (cpp_start_read): Free the imacros list as we
8039         traverse it.  Don't free the chains before returning.
8040         (_cpp_push_next_buffer): Only try pushing buffers if we've
8041         completed -imacros handling.
8042
8043 2001-08-31  Eric Christopher  <echristo@redhat.com>
8044
8045         * gcc.c (handle_braces): Add explaination for abort.
8046
8047 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
8048
8049         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
8050         move adjustment of bitpos instead.
8051
8052 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
8053
8054         * function.c: Remove all_functions.  Make outer_function_chain
8055         static.
8056         (init_function_start): Don't add new function structure to
8057         all_functions.
8058         (find_function_data, push_function_context_to,
8059         pop_function_context_from, put_var_into_stack,
8060         trampoline_address): Update for changed structure element names.
8061         (push_function_context_to): Disentangle.
8062         (free_after_compilation): Also free F.
8063         (expand_dummy_function_end): Don't free cfun here.
8064         (put_var_into_stack): Comment why we can't use find_function_data here.
8065         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
8066         (mark_function_chain): Split into maybe_mark_struct_function and
8067         ggc_mark_struct_function.  Export the latter.
8068         (init_function_once): Mark from cfun and outer_function_chain;
8069         not all_functions.
8070
8071         * function.h (struct function): Kill next_global.  Rename next
8072         to outer.  All users updated to match.
8073         (all_functions, outer_function_chain): Don't declare.
8074
8075         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
8076         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
8077         don't touch f->inlinable, after calling rest_of_compilation.
8078
8079         * tree.h: Forward-declare struct function.  Prototype
8080         ggc_mark_struct_function.
8081
8082 2001-08-31  Kazu Hirata  <kazu@hxi.com>
8083
8084         * config/h8300/h8300.md (*andorhi3): Fix typos.
8085
8086 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8087
8088         * calls.c (emit_library_call_value): Don't use a fixed
8089         argument after VA_CLOSE, i.e. out of scope in traditional C.
8090
8091         * emit-rtl.c (gen_rtvec): Likewise.
8092
8093 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8094
8095         * Makefile.in (c-pragma.o): Depend on output.h.
8096         (reorg.o): Depend on except.h.
8097
8098         * c-pragma.c: Include output.h.
8099
8100         * reorg.c: Include except.h.
8101
8102         * unwind-dw2.c: Call __builtin_alloca, not alloca.
8103
8104 2001-08-31  Richard Henderson  <rth@redhat.com>
8105
8106         * sched-deps.c (add_dependence): Don't elide dependency if the
8107         conditional used by insn is modified in elem.
8108
8109 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
8110
8111         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
8112
8113 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
8114
8115         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
8116         dump_switch_p.
8117
8118 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
8119
8120         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
8121         function.
8122         (stormy16_asm_out_constructor): New function.
8123         (TARGET_ASM_CONSTRUCTOR): Define.
8124         (TARGET_ASM_DESTRUCTOR): Define.
8125
8126 2001-08-31  Andreas Jaeger  <aj@suse.de>
8127
8128         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
8129         * loop.c (add_label_notes): Likewise.
8130         * reload.c (find_reloads): Likewise.
8131         * config/sh/sh.c (machine_dependent_reorg): Likewise.
8132
8133 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
8134
8135         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
8136         code here.  Take _Unwind_{W,Sw}ord*.
8137         (read_encoded_value_with_base): Use them.
8138         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
8139         words.
8140         (extract_cie_info): Simplify read_?leb128 handling.
8141         (execute_stack_op, execute_cfa_program): Likewise.
8142         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
8143
8144 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
8145
8146         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
8147         the frame pointer to pop the stack if convenient.
8148
8149         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
8150         Don't use post-increment before combine.
8151         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
8152         a call-saved register.
8153
8154 2001-08-31  Andreas Jaeger  <aj@suse.de>
8155
8156         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
8157         code was correct.
8158
8159 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
8160
8161         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
8162         not DIV/MOD, of course.
8163
8164 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
8165
8166         * rtl.def: Undo my patch commited 2001-08-27.
8167
8168         * genattrtab.c: Ditto.
8169
8170         * rtl.h: Ditto.
8171
8172         * sched-int.h: Ditto.
8173
8174         * target-def.h: Ditto.
8175
8176         * target.h: Ditto.
8177
8178         * haifa-sched.c: Ditto.
8179
8180         * sched-rgn.c: Ditto.
8181
8182         * sched-vis.c: Ditto.
8183
8184         * Makefile.in: Ditto.
8185
8186         * doc/md.texi: Ditto.
8187
8188         * doc/tm.texi: Ditto.
8189
8190         * doc/contrib.texi: Ditto.
8191
8192         * doc/gcc.texi: Ditto.
8193
8194         * genattrtab.h: Remove it.
8195
8196         * genautomata.c: Remove it.
8197
8198         * genattr.c: Undo my patch and Richard Henderson's patch commited
8199         2001-08-27.
8200
8201 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
8202
8203         * config.gcc (h8300-*-elf*): New case.
8204         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
8205         (SUBTARGET_CPP_SPEC): Define.
8206         (EXTRA_SPECS): Define.
8207         (SUBTARGET_EXTRA_SPECS): Define.
8208         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
8209         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
8210
8211 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
8212
8213         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
8214         (LIB2FUNCS_EXTRA): Define.
8215         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
8216         config/h8300/fixunssfsi.c: New file.
8217
8218 2001-08-30  Kazu Hirata  <kazu@hxi.com>
8219
8220         * config/h8300/h8300.md (zero_extendqihi2): Changes to
8221         define_expand to accommodate target-specific attributes.
8222         (anonymous zero_extendqihi2 patterns): New.
8223
8224 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
8225
8226         * h8300.md (*andorhi3): New pattern.
8227
8228 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
8229
8230         * h8300.c (dosize): Fix test for "sub".
8231
8232 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
8233
8234         * c-typeck.c (pointer_diff): Try to eliminate common term before
8235         doing conversions.
8236
8237 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
8238
8239         * config/arm/arm.c (arm_compute_initial_elimination_offset):
8240         Account for the saves of the FP registers.
8241
8242         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
8243         (TEXT_SECTION_ASM_OP): Define.
8244         (INIT_SECTION_ASM_OP): Define.
8245         (FINI_SECTION_ASM_OP): Define.
8246         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
8247         (RDATA_SECTION_FUNCITON): Provide prototype.
8248
8249 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
8250
8251         * reload1.c (move2add_note_store): Correct typo checking for
8252         argument pushes.
8253
8254 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
8255
8256         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
8257         note should not be considered outside the libcall block.
8258
8259 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8260
8261         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
8262
8263 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8264
8265         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
8266
8267 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8268
8269         * config/h8300/h8300-protos.h: Add a prototype for
8270         emit_logical_op.
8271         * config/h8300/h8300.c (emit_logical_op): New.
8272         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
8273         (andsi3): Likewise.
8274         (iorhi3): Likewise.
8275         (iorsi3): Likewise.
8276         (xorhi3): Likewise.
8277         (xorsi3): Likewise.
8278
8279 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8280
8281         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
8282         comparison with rtx INTVAL.
8283         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
8284         expression.
8285         * pa.h (FUNCTION_ARG_SIZE): Likewise.
8286
8287 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8288
8289         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
8290         comment typos.
8291
8292 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8293
8294         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
8295         (reg n) to (mem (pre_dec (reg n))
8296         (anonymous movsi pattern): Likewise.
8297
8298 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8299
8300         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
8301
8302 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8303
8304         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
8305         several special constants.
8306
8307 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8308
8309         * config/h8300/lib1funcs.asm: Fix comment typos.
8310
8311 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8312
8313         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
8314         Fix format specifier warnings.
8315
8316         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
8317         inet_makeaddr, semctl): Prototype.
8318
8319         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
8320         (save_restore_insns): Use base_offset, not gp_offset.
8321
8322         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
8323         (ASM_OUTPUT_BYTE): Fix format specifier warning.
8324
8325 2001-08-29  Richard Henderson  <rth@redhat.com>
8326
8327         * bb-reorder.c (function_tail_eff_head): New.
8328         (record_effective_endpoints): Set it.
8329         (fixup_reorder_chain): Use it.
8330
8331 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8332
8333         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
8334
8335 2001-08-28  Dale Johannesen  <dalej@apple.com>
8336
8337         * config/darwin.c (machopic_function_base_name): Add const
8338         qualifier to a string.
8339         (darwin_encode_section_info): Ditto.
8340
8341 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8342
8343         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
8344         function definition.
8345
8346 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
8347
8348         * df.h (struct df): Add rts_order variable.
8349
8350         * df.c (df_visit_next_rts): New function.
8351         (df_visit_next): Renamed to df_visit_next_rc
8352         (df_analyse_1): Allocate/compute/free rts_order as well.
8353         (df_rd_global_compute): Use df_visit_next_rc instead of
8354         df_visit_next.
8355         (df_ru_global_compute): Use df_visit_next_rts instead of
8356         df_visit_next.
8357
8358         * flow.c (flow_reverse_top_sort_order_compute): New function.
8359
8360         * basic-block.h: Add prototype.
8361
8362 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
8363
8364         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
8365         blocks, the BB_REACHABLE is now set, rather than aux being
8366         non-NULL. Update the test to reflect this.
8367
8368 2001-08-28  Eric Christopher  <echristo@redhat.com>
8369
8370         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
8371         config/mips/crti.asm: Ditto.
8372
8373 2001-08-28  Eric Christopher <echristo@redhat.com>
8374             Richard Henderson <rth@redhat.com>
8375
8376         * c-pragma.h (add_weak): Move prototype from here...
8377         * output.h (add_weak): ... to here.
8378         * varasm.c (add_weak): Fix typo.
8379         * config/mips/crti.asm: New file.
8380         * config/mips/crtn.asm: Ditto.
8381         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
8382         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
8383         (INVOKE__main): Ditto.
8384         (INIT_SECTION_ASM_OP): New.
8385         (FINI_SECTION_ASM_OP): Ditto.
8386         (STARTFILE_SPEC): Add crti.
8387         (ENDFILE_SPEC): Add crtn.
8388         * config/mips/elf64.h: Same.
8389         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
8390         Remove.
8391         * config/mips/vxworks.h: Ditto.
8392         * config/mips/t-elf: Support crti and crtn.
8393
8394 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
8395
8396         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
8397         INSN_LIST.
8398
8399 2001-08-28  Richard Henderson  <rth@redhat.com>
8400
8401         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
8402         (one_cmplbi2 splitter): Remove redundant test.
8403
8404 2001-08-28  Dale Johannesen  <dalej@apple.com>
8405
8406         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
8407
8408 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
8409
8410         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
8411
8412 2001-08-28  Stan Shebs  <shebs@apple.com>
8413
8414         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
8415         (UNALIGNED_SHORT_ASM_OP): Define.
8416         (UNALIGNED_INT_ASM_OP): Define.
8417
8418 2001-08-28  Will Cohen  <wcohen@redhat.com>
8419
8420         * config/rs6000/rs6000.md (store_multiple): Correct RTL
8421         generation for first set.
8422
8423 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
8424
8425         * flow.c (redirect_edge_succ_nodup): Return new edge.
8426         (try_simplify_condjump): Use new edge.
8427         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
8428
8429         * cse.c (cse_basic_block): Skip note instructions.
8430
8431 2001-08-27  Richard Henderson  <rth@redhat.com>
8432
8433         * combine.c (combine_simplify_rtx): Don't reverse condition
8434         if there is no reverse for the condition.
8435         (simplify_comparison): Don't simplify subregs from INT to FP.
8436
8437         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
8438         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
8439         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
8440         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
8441         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
8442         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
8443
8444 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
8445
8446         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
8447         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
8448         (pushqi1): New.
8449         (adddi_dilshr32, adddi_dishl32): Only data register can be
8450         source for mem destination.
8451
8452         * expmed.c (store_bit_field): Ignore adjustment to bitpos
8453         and use bitnum to decide about register move.
8454
8455 2001-08-27  Richard Henderson  <rth@redhat.com>
8456
8457         * genattr.c (main): Emit state_t even when not doing scheduling.
8458
8459 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8460             Richard Henderson  <rth@redhat.com>
8461
8462         * gcse.c (reg_first_set, reg_last_set): Replace with ...
8463         (reg_avail_info, current_bb): ... these.
8464         (oprs_unchanged_p, record_last_reg_set_info): Use them.
8465         (compute_hash_table): Likewise.
8466
8467 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8468
8469         * flow.c (verify_flow_info): Use checksums to verify edges.
8470
8471 2001-08-27  Richard Henderson  <rth@redhat.com>
8472
8473         * genautomata.c (expand_automata): Always create a description.
8474
8475 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8476
8477         * optabs.c (expand_binop): Correctly handle the carry in multiword
8478         add/subtract operations.
8479
8480 2001-08-27  Fred Fish  <fnf@be.com>
8481
8482         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
8483         __SIZE_TYPE__.
8484
8485 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8486
8487         * reload.c (find_reloads_toplev): Back out this change:
8488
8489         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
8490
8491         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
8492         mem if the address is a mode_dependent_address_p.
8493
8494 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
8495
8496         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
8497         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8498         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8499         RTL constructions.
8500
8501         * genattr.c (main): New variable num_insn_reservations.  Increase
8502         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
8503         pipeline hazard recognizer interface.
8504
8505         * genattrtab.h: New file.
8506
8507         * genattrtab.c: Include genattrtab.h.
8508         (attr_printf, check_attr_test, make_internal_attr,
8509         make_numeric_value): Move protypes into genattrtab.h.  Define them
8510         as external.
8511         (num_dfa_decls): New global variable.
8512         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8513         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8514         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8515         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
8516
8517         * genautomata.c: New file.
8518
8519         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8520
8521         * sched-int.h: (curr_state): Add the external definition for
8522         automaton pipeline interface.
8523         (haifa_insn_data): Add comments for members blockage and units.
8524
8525         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8526         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8527         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8528         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8529         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8530         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8531         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8532         macros.
8533         (TARGET_SCHED): Use the new macros.
8534
8535         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8536         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8537         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8538         dfa_bubble): New members in gcc_target.sched.
8539
8540         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
8541         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8542         (insn_queue): Redefine it as pointer to array.
8543         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8544         INSN_QUEUE_SIZE.
8545         (max_insn_queue_index_macro_value): New variable.
8546         (curr_state, dfa_state_size, ready_try): New varaibles for
8547         automaton interface.
8548         (ready_element, ready_remove, max_issue): New function prototypes
8549         for automaton interface.
8550         (choose_ready): New function prototype.
8551         (insn_unit, blockage_range): Add comments.
8552         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8553         FUNCTION_UNITS_SIZE == 0.
8554         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8555         actual_hazard, potential_hazard): Add comments.
8556         (insn_cost): Use cost -1 as undefined value.  Remove
8557         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
8558         pipeline interface.
8559         (ready_element, ready_remove): New functions for automaton
8560         interface.
8561         (schedule_insn): Add new code for automaton pipeline interface.
8562         (queue_to_ready): Add new code for automaton pipeline interface.
8563         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8564         (debug_ready_list): Print newline when the queue is empty.
8565         (max_issue): New function for automaton pipeline interface.
8566         (choose_ready): New function.
8567         (schedule_block): Add new code for automaton pipeline interface.
8568         Print ready list before scheduling each insn.
8569         (sched_init): Add new code for automaton pipeline interface.
8570         Initiate insn cost by -1.
8571         (sched_finish): Free the current automaton state and finalize
8572         automaton pipeline interface.
8573
8574         * sched-rgn.c: Include target.h.
8575         (init_ready_list, new_ready, debug_dependencies): Add new code for
8576         automaton pipeline interface.
8577
8578         * sched-vis.c: Include target.h.
8579         (get_visual_tbl_length): Add code for automaton interface.
8580         (target_units, print_block_visualization):  Add comments.
8581
8582         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
8583         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8584         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8585         (getruntime.o, genautomata.o): New entries.
8586         (genattrtab.o): Add new dependency file genattrtab.h.
8587         (genattrtab): Add new dependencies.  Link it with `libm.a'.
8588         (getruntime.o, hashtab.o): New entries for canadian cross.
8589
8590         * doc/md.texi: Description of automaton based model.
8591
8592         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8593         Add comments.
8594         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8595         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8596         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8597         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8598         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8599         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8600         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8601         hook descriptions.
8602         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8603         MAX_DFA_ISSUE_RATE): New macro descriptions.
8604
8605         * doc/contrib.texi: Add dfa based scheduler contribution.
8606
8607         * doc/gcc.texi: Add more information about genattrtab.
8608
8609 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
8610
8611         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8612         an RTL basic block.
8613
8614 2001-08-27  Richard Henderson  <rth@redhat.com>
8615
8616         * function.c (expand_function_end): Don't init arg_pointer_save_area.
8617         (get_arg_pointer_save_area): New.  Create an init it here.
8618         (fix_lexical_addr): Use it.
8619         * function.h: Declare it.
8620         * builtins.c (expand_builtin_setjmp_receiver): Use it.
8621         * stmt.c (expand_nl_goto_receiver): Use it.
8622
8623 2001-08-27  Richard Henderson  <rth@redhat.com>
8624
8625         * final.c (final_scan_insn): Don't enter APP_ON mode for
8626         empty asm strings.
8627
8628         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8629         alignment for assemble_integer for DW_EH_PE_aligned.
8630         * except.c (output_function_exception_table): Likewise.
8631
8632 2001-08-26  Andreas Jaeger  <aj@suse.de>
8633
8634         * c-tree.h: Add prototyp for c_sizeof_nowarn.
8635
8636 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
8637
8638         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
8639
8640 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
8641
8642         * config/rs6000/rs6000.c (mask_operand): Rewrite without
8643         bit-shifting loop.
8644         (mask64_operand): Likewise.
8645         (rldic_operand): Delete.
8646         (includes_lshift64_p): Delete.
8647         (includes_rldic_lshift_p): New function.
8648         (includes_rldicr_lshift_p): New function.
8649         (print_operand): Don't call rldic_operand in case 'W'.
8650         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
8651         (includes_lshift64_p): Remove.
8652         (includes_rldic_lshift_p): Declare.
8653         (includes_rldicr_lshift_p): Declare.
8654         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
8655         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
8656         Replace match_operand rldic_operand predicate with
8657         const_int_operand.  Replace includes_lshift64_p condition with
8658         includes_rldic_lshift_p.
8659         <ashldi3_internal 64 bit rldicr patterns>: New.
8660
8661 2001-08-27  Andreas Jaeger  <aj@suse.de>
8662
8663         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8664         * errors.c: Likewise.
8665         * final.c: Likewise.
8666         * dwarf2asm.c: Likewise.
8667         * doprint.c (checkit): Likewise.
8668         * diagnostic.c: Likewise.
8669         * collect2.c: Likewise.
8670         * calls.c: Likewise.
8671         * c-semantics.c (build_stmt): Likewise.
8672         * c-format.c (status_warning): Likewise.
8673         * c-errors.c (pedwarn_c99): Likewise.
8674         * builtins.c (validate_arglist): Likewise.
8675         * config/pj/pj.c (pj_printf): Likewise.
8676         * fix-header.c: Likewise.
8677         * gcc.c: Likewise.
8678         * gcov.c (fnotice): Likewise.
8679         * gensupport.c (message_with_line): Likewise.
8680         * mips-tfile.c: Likewise.
8681         * protoize.c (notice): Likewise.
8682         * read-rtl.c (fatal_with_file_and_line): Likewise.
8683         * rtl-error.c: Likewise.
8684         * tradcpp.c: Likewise.
8685         * tree.c: Likewise.
8686         * cp/tree.c (build_min_nt): Likewise.
8687         (build_min): Likewise.
8688         * cp/lex.c: Likewise.
8689         * cp/errfn.c: Likewise.
8690         * cp/rtti.c (create_pseudo_type_info): Likewise.
8691
8692 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
8693
8694         * df.c (df_uses_record): Return after recording all uses
8695         in ASM_OPERANDS.
8696
8697 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
8698
8699         * df.c (df_insn_modify): Realloc the INSN table here, if
8700         necessary, here, too.
8701
8702 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
8703
8704         * config/mips/mips.c (mips_function_value): Handle complex return
8705         values.
8706
8707 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
8708
8709         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
8710         unshared.
8711         * reload.c (make_memloc): Copy result if it is still
8712         reg_equiv_memory_loc[regno] on return.
8713         (subst_reloads) [ENABLE_CHECKING]: Check that none of
8714         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
8715         reg_equiv_mem are modified by the substitutions.
8716
8717 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
8718
8719         * predict.c (expensive_function_p): New.
8720         * rtl.h (expensive_function_p): Declare.
8721         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
8722         (use_fast_prologue_epilogue): New static variable.
8723         (expand_prologue): Set it; emit short prologues if unset.
8724         (expand_epilogue): Likewise.
8725
8726 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8727
8728         * config.gcc: Add stormy16-*-elf case.
8729         * config/stormy16/stormy-abi: New file.
8730         * config/stormy16/stormy16-lib2.c: New file.
8731         * config/stormy16/stormy16-protos.h: New file.
8732         * config/stormy16/stormy16.c: New file.
8733         * config/stormy16/stormy16.h: New file.
8734         * config/stormy16/stormy16.md: New file.
8735         * config/stormy16/t-stormy16: New file.
8736
8737 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
8738
8739         * i386.h (no-accumulate-outgoing-args): Use proper mask.
8740
8741 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
8742
8743         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
8744         descriptor members are pointer size, not constant 4.
8745         * config/rs6000/rs6000.md (define_splits): Remove more unused
8746         constraints.
8747
8748 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8749
8750         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
8751
8752 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
8753
8754         * cp/rtti.c (VPARAMS): Fix parameter.
8755
8756 2001-08-24  Zack Weinberg  <zackw@panix.com>
8757
8758         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
8759         to zero.
8760         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
8761         to switch.
8762         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
8763         in if controlling use of insv.
8764         (extract_bit_field): Likewise, for extv and extzv.
8765
8766 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
8767
8768         * i386.md (movcc peep2): Fix load of 0.
8769
8770 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8771
8772         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
8773         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
8774
8775 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
8776
8777         * c-pragma.h: Move weak_syms and weak_decls...
8778         * varasm.c: ...here.  Now static.
8779         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
8780         depend on HANDLE_PRAGMA_WEAK.
8781
8782         * c-common.c (c_alignof, c_alignof_expr): Move here...
8783         * c-typeck.c: ...from here.
8784         * c-tree.h, c-common.h: Adjust.
8785
8786 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
8787
8788         * config/ia64/ia64.c (rws_update): If !pred, set write_count
8789         instead of incrementing it.
8790
8791         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
8792         asm ready, don't try to move them all into the same array element.
8793
8794 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8795
8796         * function.c (thread_prologue_and_epilogue_insns): Avoid
8797         fallthru flag on edge to exit.
8798
8799         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
8800
8801         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
8802         dead edges.
8803
8804 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8805
8806         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
8807         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
8808         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
8809         Remove prototype.
8810
8811 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8812
8813         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
8814         replace "GNU CC" with "GCC".
8815
8816 2001-08-23  Richard Henderson  <rth@redhat.com>
8817
8818         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
8819         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
8820         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
8821         Need GR between FR and not GR_AND_FR.
8822         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
8823         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
8824         AR regs before GR regs.
8825         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
8826         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
8827         (REGISTER_MOVE_COST): Update.
8828         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
8829
8830 2001-08-23  Richard Henderson  <rth@redhat.com>
8831
8832         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
8833         a register class.
8834
8835 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8836
8837         * reload1.c (emit_reload_insns): Don't look for notes
8838         on a NULL store_insn.
8839
8840 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8841
8842         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
8843         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
8844         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
8845         format specifier warnings.
8846         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
8847
8848 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
8849
8850         * config/i386/i386-protos.h: Correct declaration of
8851         i386_pe_asm_named_section.
8852
8853 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8854
8855         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
8856         variable i.
8857         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8858
8859 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8860
8861         * cpperror.c (print_location): Don't show _Pragma.
8862         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
8863         and file change callback generation here.
8864         (stack_include_file): Update use of cpp_push_buffer.
8865         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
8866         (struct cpp_buffer): Remove type, pfile members.
8867         * cppinit.c (cpp_handle_option): Use free_chain.
8868         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
8869         (skip_escaped_newlines, get_effective_char, lex_percent): Take
8870         a cpp_reader rather than a cpp_buffer.
8871         (skip_escaped_newlines, get_effective_char, skip_block_comment,
8872         skip_line_comment, parse_string, lex_percent, lex_dot,
8873         _cpp_lex_token): Update accordingly.
8874         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
8875         generation here.
8876         (cpp_push_buffer): Update prototype.
8877         (run_directive): Update use of cpp_push_buffer.
8878         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
8879         handle_assertion): Update use of run_directive.
8880         * cpplib.h (enum cpp_buffer_type): Remove.
8881         (cpp_push_buffer): Update prototype.
8882         * fix-header.c (read_scan_file): Update.
8883
8884 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8885
8886         * gcc.c (struct prefix_list): Change prefix to const char *.
8887
8888 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8889
8890         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
8891
8892 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
8893
8894         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
8895         from a new MEM.
8896
8897         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
8898         a squeezable note.
8899         * rtl.h: Adjust.
8900         * ifcvt.c (dead_or_predicable): Adjust.
8901         * loop.c (find_and_verify_loops): Adjust.
8902         * stmt.c (expand_end_case): Adjust.
8903         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
8904         head and end insn pointers in the basic block, not just local copies.
8905         (merge_blocks_move_predecessor_nojumps): Likewise.
8906
8907 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
8908
8909         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
8910         bitmap.h, builtin-types.def, builtins.c, builtins.def,
8911         c-aux-info.c, c-common.c, c-common.def, c-common.h,
8912         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
8913         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
8914         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
8915         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
8916         conditions.h, config.gcc, configure.frag, configure.in,
8917         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
8918         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
8919         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
8920         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
8921         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
8922         emit-rtl.c, errors.c, errors.h, except.c, except.h,
8923         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
8924         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
8925         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
8926         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
8927         gencheck.c, gencodes.c, genconfig.c, genemit.c,
8928         genextract.c, genflags.c, gengenrtl.c, genmultilib,
8929         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
8930         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
8931         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
8932         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
8933         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
8934         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
8935         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
8936         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
8937         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
8938         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
8939         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
8940         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
8941         params.h, predict.c, predict.def, predict.h, prefix.c,
8942         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
8943         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
8944         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
8945         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
8946         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
8947         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
8948         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
8949         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
8950         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
8951         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
8952         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
8953         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
8954         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
8955         xcoffout.h: replace "GNU CC" with "GCC".
8956
8957 2001-08-21  Richard Henderson  <rth@redhat.com>
8958
8959         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
8960         (final_scan_insn): Consider jump tables data even if we have no
8961         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
8962         ADDR_VEC_ALIGN.
8963         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
8964         (ASM_OUTPUT_CASE_END): Remove.
8965         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
8966         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
8967         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
8968
8969 2001-08-21  Richard Henderson  <rth@redhat.com>
8970
8971         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
8972         at barrier insns.  Emit stop bits before barriers.
8973
8974         * flow.c (flow_find_cross_jump): Don't consider unconditional
8975         return insns for commoning.
8976
8977         * final.c (compute_alignments): Fix typo.
8978
8979         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
8980         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
8981         (store_bit_field): Use mode_for_extraction more places.
8982         (extract_bit_field): Likewise.
8983
8984 2001-08-21  Zack Weinberg  <zackw@panix.com>
8985
8986         * caller-save.c: Don't include insn-codes.h.
8987         (reg_save_code, reg_restore_code): Make arrays of int.
8988         All uses updated to match.
8989         (insert_save, insert_restore): No need to initialize "code"
8990         variable upon declaration.
8991         * Makefile.in: update dependencies; fix typo in clean rule.
8992
8993 2001-08-21  Richard Henderson  <rth@redhat.com>
8994
8995         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
8996         (merge_if_block): Handle fallout from same.
8997
8998 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8999
9000         * builtins.c (type_to_class): Fix typo in last change.
9001
9002 2001-08-21  Richard Henderson  <rth@redhat.com>
9003
9004         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
9005         ia64_asm_output_label.
9006
9007         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
9008         copy of gp while the real gp register contains garbage.
9009
9010 2001-08-21  Zack Weinberg  <zackw@panix.com>
9011
9012         * expmed.c (mode_for_extraction): New function.
9013         (store_bit_field, extract_bit_field): Use it.
9014         * expr.h: Prototype it and provide an enum for its first argument.
9015
9016         * combine.c, function.c, recog.c: Don't include insn-codes.h.
9017         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
9018         and digging through the insn_data tables.
9019         * Makefile.in: Update dependencies.
9020
9021 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9022
9023         * cppfiles.c (stack_include_file): line-map.c now handles include
9024         depth.
9025         (handle_missing_handler): Similarly.
9026         (_cpp_execute_include): Similarly.
9027         (_cpp_pop_file_buffer): Similarly.
9028         * cpphash.h (struct cpp_reader): Remove system_include_depth,
9029         buffer_stack_depth and include_depth.
9030         * cpplib.c (do_include_common): line-map.c now handles include depth.
9031         (cpp_push_buffer): Similarly.
9032         (_cpp_pop_buffer): Similarly.
9033         * cppmacro.c (builtin_macro): Update.
9034         * line-map.c (init_line_maps): Set depth.
9035         (add_line_map): Increment "used" earlier.  Update and use the
9036         include depth.
9037         (trace_include): Use the include depth.
9038         * line-map.h (struct line_maps): New member depth.
9039
9040 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9041
9042         * cppfiles.c (stack_include_file): Don't handle -H here.
9043         * cppinit.c (cpp_start_read): Set include tracing after
9044         cpp_post_options and after stacking the main file.
9045         * line-map.c (trace_include): New.
9046         (init_line_maps, add_line_map): Update.
9047         * line-map.h (struct line_maps): New member trace_includes.
9048
9049 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9050
9051         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
9052         * cppfiles.c (stack_include_file): Only stack a file if there
9053         is something to do.  Return a boolean indicating whether a
9054         buffer was stacked or not.
9055         (_cpp_execute_include): Similarly.
9056         (_cpp_read_file): Similarly.
9057         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
9058
9059 2001-08-21  Sam Steingold  <sds@gnu.org>
9060
9061         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
9062         (RECACHE): keep obufp_before_macroname up to date
9063
9064 2001-08-21  Zack Weinberg  <zackw@panix.com>
9065
9066         * stmt.c: Don't include insn-codes.h.
9067         (expand_end_case): Machine specific logic moved to expr.c.
9068         No need to worry about __builtin_classify_type.
9069         (check_for_full_enumeration_handling, emit_case_nodes):
9070         Kill #if 0 blocks.
9071
9072         * builtins.o (expand_builtin_classify_type): Split up so code
9073         can be shared with fold_builtin_classify_type.
9074         (type_to_class, fold_builtin_classify_type): New functions.
9075         (fold_builtins): Handle __builtin_classify_type.
9076
9077         * expr.c (do_tablejump): Now static.
9078         (case_values_threshold, try_casesi, try_tablejump): New;
9079         code mostly from stmt.c (expand_end_case).
9080         (expr.h): Update prototypes.
9081
9082         * Makefile.in (stmt.o): Update dependencies.
9083
9084 2001-08-21  Will Cohen  <wcohen@redhat.com>
9085
9086         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
9087         declaration of variable i.
9088         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
9089         declaration of variable i.
9090
9091 2001-08-21  Richard Henderson  <rth@redhat.com>
9092
9093         * crtstuff.c: Fix thinko last change.  Move list tails to start
9094         of CRT_END section.  Tidy ifdefs.
9095         (__EH_FRAME_BEGIN__): Always static for ELF.
9096         (__do_global_ctors_1): Rename from __frame_dummy.
9097         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
9098         name change; don't hide __EH_FRAME_BEGIN__.
9099
9100 2001-08-21  Richard Henderson  <rth@redhat.com>
9101
9102         * gdbinit.in: Move break on exit after break on fancy_abort.
9103
9104         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
9105         sized types.
9106
9107 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9108
9109         * cpphash.h (_cpp_push_next_buffer): New.
9110         * cppinit.c (do_includes): Remove.
9111         (push_include, free_chain, _cpp_push_next_buffer): New.
9112         (cpp_start_read): Use them to rework command line option handling.
9113         (cpp_handle_option): Combine handling of -include and -imacros.
9114         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
9115         appropriate.  Always insert missing \n at EOF.
9116         * cpplib.c (start_directive): Get the directive position right.
9117         * cppmain.c (cb_file_change): Always print the first line, unless
9118         preprocessed.
9119
9120 2001-08-20  Andreas Jaeger  <aj@suse.de>
9121
9122         * profile.c (compute_branch_probabilities): Remove extra new-line
9123         in error message.
9124         * flow.c (verify_flow_info): Likewise.
9125
9126 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
9127
9128         * basic-block.h (basic_block): Add new field 'flags'.
9129         (BB_REACHABLE): Define.
9130         (expunge_block): Declare.
9131         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
9132         (EXIT_BLOCK_PTR): Ditto.
9133         (expunge_block): Remove static declaration.
9134         (cleanup_cfg): Clear bb->aux on every basic block.
9135         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
9136         computing reachability.
9137         (delete_unreachable_blocks): Delete block b if b->flags has
9138         BB_REACHABLE unset.
9139
9140 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
9141
9142         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
9143
9144 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9145
9146         * sparc.c (sparc_variable_issue): Fix typo in last change.
9147
9148 2001-08-20  Richard Henderson  <rth@redhat.com>
9149
9150         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
9151
9152 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9153
9154         * pa.h (RETURN_IN_MEMORY): Improve comment.
9155
9156 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
9157
9158         * doc/invoke.texi (Profiling options): Clarify the interactions
9159         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
9160
9161 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
9162
9163         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
9164         command.
9165
9166 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9167
9168         * gcc.c (make_relative_prefix): Allocate a sufficiently large
9169         buffer.
9170
9171 2001-08-20  Richard Henderson  <rth@redhat.com>
9172
9173         * final.c (end_final): Fix typo last change.
9174
9175 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
9176
9177         * cppinit.c (init_standard_includes): The returned buffer
9178         is already malloc-ed.
9179         * gcc.c (add_prefix): Similarly.
9180         * prefix.c (translate_name): Update to support clear buffer
9181         ownership rules.
9182         (update_path): Similarly.  Be sure to free any newly allocated
9183         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
9184         (tr): New function.
9185         * prefix.h (update_path): Update prototype and document.
9186         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
9187         up and update to new buffer ownership rules.
9188         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
9189
9190 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
9191
9192         * final.c (compute_alignments): New function.
9193         (init_insn_lengths): Do not care label_align.
9194         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
9195         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
9196         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
9197         (shorted_branches): Realloc label_align array; do
9198         not call init_insn_lengths; Do not care about loop alignments.
9199         * output.h (compute_alignments): Declare.
9200         * toplev.c (rest_of_compilation): Call compute_alignments.
9201         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
9202
9203         * predict.c (block_info_def): Add npredecesors, remove nvisited;
9204         change visited to tovisit.
9205         (propagate_freq): Use faster traversing algorithm.
9206         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
9207         to tovisit; reverse meaning.
9208
9209         * predict.c (struct block_info_def): Remove nvisited.
9210         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9211         (estimate_bb_frequencies): Call mark_dfs_back_edges.
9212
9213 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
9214
9215         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
9216         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
9217         (TARGET_FUSED_MADD): New.
9218         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
9219         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
9220         the multiply-add instructions.
9221
9222 2001-08-19  Richard Henderson  <rth@redhat.com>
9223
9224         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
9225         is aligned to pointer size.
9226
9227 2001-08-19  Richard Henderson  <rth@redhat.com>
9228
9229         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
9230         display markers during final schedule.
9231
9232 2001-08-19  Richard Henderson  <rth@redhat.com>
9233
9234         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
9235
9236 2001-08-19  Richard Henderson  <rth@redhat.com>
9237
9238         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
9239         in the same string.
9240         (ASM_NAME_TO_STRING): Remove.
9241         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
9242         in the same string.  Remove support for expressions.
9243
9244 2001-08-19  Richard Henderson  <rth@redhat.com>
9245
9246         * config/i386/i386.md (tablejump): Make an expander; handle
9247         pic relative addressing here.
9248         (tablejump_1): Rename from tablejump_pic.
9249         (casesi): Remove.
9250
9251 2001-08-19  Richard Henderson  <rth@redhat.com>
9252
9253         * regclass.c (fix_register): Fix typo.
9254
9255 2001-08-18  Richard Henderson  <rth@redhat.com>
9256
9257         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
9258         (struct _Unwind_Context): Expand br_loc to hold it.
9259         (uw_frame_state_for): Handle leaf functions better.
9260         (uw_update_reg_address): Update for br_loc change.
9261
9262 2001-08-18  Richard Henderson  <rth@redhat.com>
9263
9264         * crtstuff.c: Move list heads before code that uses them.
9265         (__JCR_LIST__): Remove initial null.
9266         (frame_dummy, __frame_dummy): Do java registration here ...
9267         (__do_global_ctors_aux): ... not here.
9268
9269         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
9270         (__do_global_dtors_aux): Update to match.
9271         (__JCR_LIST__, __do_jv_register_classes): New.
9272         (.init): Call it.
9273         * config/ia64/crtend.asm (__JCR_END__): New.
9274         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
9275         instead of an indirect LTOFF22 reloc.
9276
9277 2001-08-18  Richard Henderson  <rth@redhat.com>
9278
9279         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
9280         * regclass.c (init_reg_sets_1): Fix typo.
9281         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
9282         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
9283         (ia64_compute_frame_size): Make ar.unat live when in use.
9284         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
9285         for ar.pfs; remove ar.unat handling.
9286         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
9287         call-saved.
9288         (PREDICATE_CODES): Add ar_pfs_reg_operand.
9289         * config/ia64/ia64-protos.h: Update decls.
9290         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
9291         (sibcall_pic): Likewise.
9292
9293 2001-08-18  Richard Henderson  <rth@redhat.com>
9294
9295         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
9296         pred_rel_mutex when searching for insn_group_barrier.
9297         * config/ia64/ia64.md (cycle_display): Combine the expander
9298         and insn patterns.
9299
9300         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
9301         bit before asm as needed.
9302
9303 2001-08-18  Richard Henderson  <rth@redhat.com>
9304
9305         * timevar.def (TV_MACH_DEP): New.
9306         * toplev.c (rest_of_compilation): Use it.
9307         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
9308
9309 2001-08-18  Zack Weinberg  <zackw@panix.com>
9310
9311         * unwind-dw2.c (execute_stack_op): Add default aborts to
9312         the inner switches to prevent warnings.
9313
9314 2001-08-18  Richard Henderson  <rth@redhat.com>
9315
9316         * timevar.h (struct timevar_time_def): Change element type to float.
9317         (ticks_to_msec, clocks_to_msec): Likewise.
9318         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
9319         (get_time): Likewise.
9320         (timevar_print): Adjust zero check and printing to match.
9321
9322 2001-08-18  Zack Weinberg  <zackw@panix.com>
9323
9324         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
9325         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
9326         Eliminate overfull or underfull hboxes.
9327
9328 2001-08-18  Zack Weinberg  <zackw@panix.com>
9329
9330         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
9331
9332 2001-08-18  Zack Weinberg  <zackw@panix.com>
9333
9334         * haifa-sched.c: Convert to target hooks.  Macros replaced
9335         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
9336         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
9337         MD_SCHED_FINISH, and HAVE_cycle_display.
9338         * target-def.h (TARGET_SCHED_ADJUST_COST,
9339         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
9340         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
9341         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9342         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
9343         New hook #defines to be overridden.
9344         (TARGET_SCHED): Bring them all together.
9345         (TARGET_INITIALIZER): Update.
9346         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
9347         instead of 'struct rtx_def *' throughout.
9348         (struct sched): New set of hooks for the scheduler.
9349         * Makefile.in (haifa-sched.o): Depend on target.h.
9350         * doc/tm.texi: Document the new scheduler hooks, together in
9351         their own section, instead of scattered around.
9352         Fix a bunch of underfull/overfull hboxes.
9353
9354         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
9355         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
9356         sparc.h: Don't define any of the old scheduler macros.
9357
9358         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
9359         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
9360         sparc.c: Create hook functions from code extracted from
9361         corresponding target header, or make existing hooks static, as
9362         appropriate.  Set the appropriate entries in targetm.
9363
9364         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
9365         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
9366         rs6000-protos.h, s390-protos.h, sparc-protos.h:
9367         Remove prototypes for functions which are now static.
9368
9369         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
9370         related gunk; the Haifa scheduler is now the only choice.
9371
9372 2001-08-18  Zack Weinberg  <zackw@panix.com>
9373
9374         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
9375         * genopinit.c: Put floating point divide insns in sdiv_optab.
9376         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
9377         * config/gofast.h, config/c4x/c4x.h,
9378         config/ia64/hpux_longdouble.h, config/mips/mips.h,
9379         config/pa/long_double.h, config/rs6000/sysv4.h,
9380         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
9381         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
9382         (init_optabs): Use init_optabv for overflow-trapping optabs.
9383         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
9384         cmp_optab RTX codes so have_insn_for can find them.
9385
9386         * optabs.c (expand_simple_binop, expand_simple_unop,
9387         have_insn_for, gen_sub3_insn): New interfaces.
9388         * expr.h: Prototype new functions.
9389         (enum optab_methods): Move here from optabs.h.
9390
9391         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
9392         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
9393         Use new functions instead of working directly with optabs.
9394         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
9395         unroll.c: Don't include optabs.h.
9396         * caller-save.c, combine.c, function.c, stmt.c: Just include
9397         insn-codes.h, not optabs.h.
9398         * Makefile.in: Update dependencies.
9399
9400         * combine.c (make_compound_operation, simplify_comparison):
9401         Fix typos testing for this or that instruction.
9402
9403 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9404
9405         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
9406         generating libgcc.a.
9407
9408 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9409
9410         * except.c (TYPE_HASH): Delete.
9411
9412         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
9413         HOST_WIDE_INT.
9414
9415         * tree.c (TYPE_HASH): Delete.
9416
9417         * tree.h (TYPE_HASH): Define.
9418
9419 2001-08-18  Graham Stott  <grahams@redhat.com>
9420
9421         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
9422         define_split.
9423         (adddi3_internal_2+2): Likewise.
9424         (eh_set_lr_di+1): Likewise.
9425
9426 2001-08-17  Richard Henderson  <rth@redhat.com>
9427
9428         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9429         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
9430         * dwarf2asm.c: ... here.
9431         * dwarfout.c: Remove them.
9432
9433         * varasm.c (assemble_integer): Add align parameter.
9434         (assemble_real, output_constant, output_constructor): Likewise.
9435         * output.h: Update decls.
9436         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
9437         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
9438         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
9439         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
9440         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
9441         Update all callers.
9442
9443         * final.c (end_final): Abort profile block generation if we
9444         haven't layed it out properly.
9445         * output.h (assemble_eh_integer): Remove stale decl.
9446         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
9447         (min_align): New.
9448         (assemble_integer): Handle unaligned data.
9449         (assemble_real): Abort on unaligned data.
9450         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
9451         anything useful.
9452         (default_dtor_section_asm_out_destructor): Use assemble_align.
9453         (default_named_section_asm_out_constructor): Likewise.
9454         (default_ctor_section_asm_out_constructor): Likewise.
9455         * config/darwin.c (machopic_asm_out_constructor): Likewise.
9456         (machopic_asm_out_destructor): Likewise.
9457         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
9458         (nextstep_asm_out_destructor): Likewise.
9459         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
9460         (vms_asm_out_destructor): Likewise.
9461
9462 2001-08-17  Richard Henderson  <rth@redhat.com>
9463
9464         * config/mips/iris6.h (TARGET_IRIX6): New.
9465         (current_section_name, current_section_flags): New.
9466         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
9467         (MAX_OFILE_ALIGNMENT): New.
9468         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
9469         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9470         (copy_file_data): Split out from
9471         (mips_asm_file_end): ... here.
9472         (mips_asm_file_start): Remove extra .section directive.  Use
9473         tmpfile instead of mips_make_temp_file.
9474         (mips_unique_section): Use const char * as needed for warnings.
9475         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
9476         re-add align parameter.
9477         (iris6_asm_named_section): New.
9478         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
9479         (iris6_asm_output_align, iris6_section_align_1): New.
9480         (iris6_asm_file_start, iris6_asm_file_end): New.
9481         * config/mips/mips-protos.h: Update decls.
9482
9483 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
9484
9485         * doc/install.texi (Install GCC): Add links to build status pages.
9486         (Specific): Ditto.
9487         (Final install): Ditto; request updates for specific info
9488
9489 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9490
9491         * cpperror.c (print_location):  Don't take a file name; use the
9492         line map instead.
9493         (_cpp_begin_message): Similarly.
9494         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9495         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9496         (cpp_pedwarn_with_file_and_line): Remove.
9497         * cppfiles.c (stack_include_file): Update; set filename to stdin
9498         here when appropriate.
9499         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
9500         (_cpp_begin_message): Don't take a file name.
9501         * cppinit.c: Add comment.
9502         * cpplex.c: Fix end-of-directive indicator.
9503         * cpplib.c: Don't include intl.h.
9504         (run_directive, do_diagnostic): Update.
9505         (do_line): Update to not use nominal_fname.
9506         (cpp_push_buffer): Don't take a filename.
9507         * cpplib.h (struct ht): Remove.
9508         (cpp_push_buffer): Don't take a filename.
9509         (cpp_pedwarn_with_file_and_line): Remove.
9510         * cppmacro.c (struct cpp_macro): Remove file.
9511         (builtin_macro): Update.
9512         (_cpp_create_definition): Update.
9513         * cppmain.c: Correct comment.
9514         * fix-header.c (read_scan_file): Update.
9515
9516 2001-08-17  Kazu Hirata  <kazu@hxi.com>
9517
9518         * sbitmap.c: Fix comment formatting.
9519         * sched-deps.c: Likewise.
9520         * sibcall.c: Likewise.
9521         * simplify-rtx.c: Likewise.
9522         * ssa.c: Likewise.
9523         * ssa-ccp.c: Likewise.
9524         * stor-layout.c: Likewise.
9525         * timevar.c: Likewise.
9526         * toplev.c: Likewise.
9527         * unwind-dw2.c: Likewise.
9528         * unwind-dw2-fde.c: Likewise.
9529         * varasm.c: Likewise.
9530
9531 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9532
9533         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
9534         or larger than an integer in memory.
9535
9536 2001-08-17  Zack Weinberg  <zackw@panix.com>
9537
9538         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
9539         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
9540         * rtl.h: Don't forward-declare union tree_node here.  Don't
9541         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
9542         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9543         and tree respectively.
9544         * tree.h: Don't forward-declare struct rtx_def here.  Don't
9545         typedef tree here.  Change all uses of struct rtx_def *,
9546         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9547         and tree respectively.
9548
9549 2001-08-17  Richard Henderson  <rth@redhat.com>
9550
9551         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
9552         config/mips/openbsd.h: Fix typos last change.
9553
9554 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9555
9556         * doc/invoke.texi (Optimize Options): The default for
9557         -finline-limit is 600.
9558
9559 2001-08-17  Richard Henderson  <rth@redhat.com>
9560
9561         * varasm.c (text_section): Allow TEXT_SECTION to override the
9562         printing of TEXT_SECTION_ASM_OP.
9563         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
9564         (DATA_SECTION, BSS_SECTION): Remove.
9565         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
9566         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
9567         Rename from s/_NAME//.
9568         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
9569         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
9570         (TEXT_SECTION): ... here.  New.
9571         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
9572         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
9573         * config/mips/openbsd.h: Likewise.
9574         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
9575         (mips_asm_file_end): Likewise test.
9576         (mips_output_function_epilogue): Likewise.  Switch back to data
9577         section after emitting the function.
9578
9579         * doc/tm.texi (Sections): Document TEXT_SECTION.
9580
9581 2001-08-17  Richard Henderson  <rth@redhat.com>
9582
9583         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
9584         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
9585
9586 2001-08-17  Richard Henderson  <rth@redhat.com>
9587
9588         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9589         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9590         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9591         Add aligned attribute.
9592
9593 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
9594
9595         * config/sh/sh.md: Add modes to unspecs in first insn to match
9596         those in the second.
9597
9598         * Makefile.in: Fix collect2 copy for Cygwin.
9599
9600 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
9601
9602         Install the proper patch.
9603         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9604         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9605         (expand_function_start): Likewise.
9606         * stmt.c (expand_decl): Likewise.
9607         * varasm.c (make_decl_rtx): Likewise.
9608
9609 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9610
9611         * final.c: Undo my previous accidental checkin.
9612         * output.h: Likewise.
9613         * tm.texi: Likewise.
9614
9615 2001-08-16  Richard Henderson  <rth@redhat.com>
9616
9617         * varasm.c (named_section_flags): Remove align parameter.
9618         * varasm.c, dwarf2out.c: Update all callers.
9619         * output.h: Update prototypes.
9620
9621         * target.h (target.asm_out.named_section): Remove align parameter.
9622         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
9623         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9624         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9625         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9626         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9627
9628         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9629         (get_named_section_flags, set_named_section_flags): New.
9630         (named_section_flags): Use them.
9631         (named_section): Do decl vs section flags check here...
9632         (default_section_type_flags): ... not here.
9633         (init_varasm_once): Create in_named_htab.
9634         (resolve_unique_section): Mark reloc unused.
9635
9636 2001-08-16  Richard Henderson  <rth@redhat.com>
9637
9638         * varasm.c (force_const_mem): Keep pool alignment in bits.
9639         (output_constant_pool): Use assemble_align.
9640
9641 2001-08-16  Zack Weinberg  <zackw@panix.com>
9642
9643         * doc/tm.texi: Remove extra @table command.
9644
9645 2001-08-16  Zack Weinberg  <zackw@panix.com>
9646
9647         * final.c (shorten_branches): Clear the end of the label_align
9648         array only if we made it larger.  Break up messy expressions
9649         for clarity.
9650
9651         * diagnostic.c (internal_error): Check for error recursion
9652         before doing ICE suppression.
9653
9654         * timevar.c: Timing variables now count in milliseconds.
9655         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
9656         (get_time): Not here.
9657         (timevar_print): Don't print any timer whose user, cpu, and
9658         wall times are all zero as displayed.
9659         * timevar.h: Update comment aboout units.  Make timevar
9660         counters unsigned.
9661
9662 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
9663
9664         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9665         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9666         (expand_function_start): Likewise.
9667         * stmt.c (expand_decl): Likewise.
9668         * varasm.c (make_decl_rtx): Likewise.
9669
9670 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
9671
9672         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
9673         (finalize_record_size): Don't set TYPE_USER_ALIGN.
9674
9675 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9676
9677         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
9678         variables.
9679
9680 2001-08-16  Andreas Jaeger  <aj@suse.de>
9681
9682         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
9683         prototype.
9684
9685 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
9686
9687         * rtl.h (only_sets_cc0_p): New prototype.
9688         * jump.c (sets_cc0_p): Handle INSN.
9689         (only_sets_cc0_p): New function.
9690         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
9691         (tidy_fallthru_edge): Likewise.
9692         * integrate.c (copy_insn_list): Likewise.
9693         * unroll.c (unroll_loop): Likewise.
9694         (copy_loop_body): Likewise.
9695
9696 2001-08-15  Jason Eckhardt  <jle@redhat.com>
9697
9698         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
9699
9700 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9701
9702         * predict.c (struct block_info_def): Remove nvisited.
9703         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9704         (estimate_bb_frequencies): Call mark_dfs_back_edges.
9705
9706         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
9707         (ix86_adjust_cost): Teach scheduler that latency to load operand can
9708         be masked.
9709
9710 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
9711
9712         * predict.def: Update hitrates.
9713
9714 2001-08-15  Richard Henderson  <rth@redhat.com>
9715
9716         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
9717
9718 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
9719
9720         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
9721         note from its associated jump.
9722
9723 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9724
9725         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
9726         also on 64-bit s390x targets.
9727
9728 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
9729
9730         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
9731         function.
9732         (arm_expand_prologue): Handled nested functions which take a
9733         variable argument list.
9734         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
9735         macro with an invocation of
9736         arm_compute_initial_elimination_offset.
9737         * config/arm/arm-protos.h: Prototype
9738         arm_compute_initial_elimination_offset.
9739
9740 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9741
9742         * doc/install.texi (Specific, avr): Fix markup.
9743         (Specific, c4x): Ditto.
9744
9745 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9746
9747         * predict.c (dump_prediction): Change `bool' parameter to `int'.
9748
9749 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
9750
9751         * Makefile.in (OBJS): Add rtl-error.o
9752         (rtl-error.o): New rule.
9753         (diagnostic.o): Adjust dependency.
9754         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
9755         error_for_asm, _fatal_insn, _fatal_insn_not_found,
9756         warning_for_asm): Move to...
9757         rtl-error.c: ...here.  New file.
9758
9759 2001-08-14  Richard Henderson  <rth@redhat.com>
9760
9761         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
9762         if USING_SJLJ_EXCEPTIONS.
9763
9764 2001-08-14  Steve Ellcey <sje@cup.hp.com>
9765
9766         * tlink.c (scan_linker_output): Check string for unsatisfied in
9767         addition to undefined and unresolved.
9768
9769 2001-08-14  Graham Stott  <grahams@redhat.com>
9770
9771         * libgcc2.c (*): Replace EH_FRAME_SECTION with
9772         EH_FRAME_SECTION_NAME.
9773
9774 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
9775
9776         * genattrtab.c (simplify_test_exp_in_temp): New function.
9777         (simplify_test_exp): Avoid explicit use of temporary obstack.
9778         (simplify_cond, insert_right_side, evaluate_eq_attr,
9779         simplify_and_tree, simplify_or_tree, eliminate_known_true):
9780         Use simplify_test_exp_in_temp.
9781         (optimize_attrs): Iterate until expression stabilizes.
9782
9783 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
9784
9785         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
9786         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
9787
9788 2001-08-13  Richard Henderson  <rth@redhat.com>
9789
9790         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
9791         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
9792         * config/arm/conix-elf.h: Likewise.
9793
9794 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9795
9796         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
9797         in gcc.c.
9798         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9799
9800         * gcse.c (hash_scan_set): Expressions that are set as part of
9801         jump instructions are not available.
9802
9803 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9804
9805         * config/s390/s390.c (print_operand, s390_function_prologue,
9806         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
9807
9808 2001-08-13  Richard Henderson  <rth@redhat.com>
9809
9810         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
9811         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
9812         * doc/tm.texi (Exception Region Output): Document it.
9813
9814 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9815
9816         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
9817         DWARF2 instead of stabs by default.
9818
9819 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9820
9821         * config/rs6000/rs6000.c: Include optabs.h.
9822
9823 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9824
9825         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
9826         save/restore routines.
9827         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
9828
9829 2001-08-13  Andreas Jaeger  <aj@suse.de>
9830
9831         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
9832         the english is correct.
9833
9834 2001-08-13  Zack Weinberg  <zackw@panix.com>
9835
9836         * expr.h: Split out optab- and libfunc-related code to...
9837         * optabs.h, libfuncs.h: ... these new headers.
9838
9839         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
9840         (OPTABS_H): New.
9841         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
9842         dependencies.
9843         * mkconfig.sh: Don't include insn-codes.h from config.h.
9844
9845         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
9846         enum insn_code is available.  Move reload_in_optab and
9847         reload_out_optab array declarations to optabs.h.
9848         * regmove.c (gen_add3_insn): Move to optabs.c, export from
9849         there, prototype in expr.h.
9850         * gencodes.c: Cleanup: zap global variables, don't use
9851         printf where puts will do, don't bother defining MAX_INSN_CODE
9852         which nothing uses, let CODE_FOR_nothing get its value implicitly.
9853
9854         * genemit.c, genopinit.c: Include optabs.h in generated file.
9855         * genoutput.c: Include insn-codes.h in generated file.
9856         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
9857         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
9858         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
9859         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
9860         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
9861         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
9862         Include optabs.h.
9863         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
9864         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
9865         config/m88k/m88k.c, config/sparc/sparc.c:
9866         Include libfuncs.h.
9867         * reload.c: Include expr.h and optabs.h before reload.h.
9868         * config/alpha/alpha.c: Include tree.h before reload.h.
9869         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
9870         and reload.h in that order.
9871         * config/sparc/sparc.c: Include debug.h.
9872         * recog.c: Include insn-codes.h.
9873
9874 2001-08-13  Andreas Jaeger  <aj@suse.de>
9875
9876         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
9877         s390*linux.
9878
9879 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
9880
9881         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
9882         * gcc.c (init_spec): Fix typo in comment.
9883         * varasm.c (data_section): Fix typo in comment.
9884
9885 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
9886
9887         * predict.c (dump_prediction): New argument "USED".
9888         (combine_predictions_for_insn): Determine the used heuristics,
9889         output the case no heuristic applied.
9890         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
9891
9892 2001-08-13  Andreas Jaeger  <aj@suse.de>
9893
9894         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
9895         register %rip.
9896
9897 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9898
9899         * jump.c: Fix formatting.
9900
9901 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9902
9903         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
9904         length.
9905
9906 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
9907
9908         * loop.c (check_dbra_loop): Use condjump_label to compute
9909         jump_label.
9910
9911         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
9912         to better document the files they're in.
9913
9914 2001-08-12  Zack Weinberg  <zackw@panix.com>
9915
9916         * recog.h (struct insn_operand_data): Shrink 'mode' field
9917         to 16 bits.
9918
9919 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9920
9921         * gcc.c: Fix comment formatting.
9922         * gccspec.c: Likewise.
9923         * gcov.c: Likewise.
9924         * gcse.c: Likewise.
9925         * genemit.c: Likewise.
9926         * gengenrtl.c: Likewise.
9927         * genrecog.c: Likewise.
9928         * gensupport.c: Likewise.
9929         * ggc-page.c: Likewise.
9930         * global.c: Likewise.
9931         * graph.c: Likewise.
9932         * ifcvt.c: Likewise.
9933         * integrate.c: Likewise.
9934         * lcm.c: Likewise.
9935         * libgcc2.c: Likewise.
9936         * loop.c: Likewise.
9937         * mbchar.c: Likewise.
9938         * optabs.c: Likewise.
9939         * predict.c: Likewise.
9940         * prefix.c: Likewise.
9941         * profile.c: Likewise.
9942         * protoize.c: Likewise.
9943         * real.c: Likewise.
9944         * recog.c: Likewise.
9945         * regclass.c: Likewise.
9946         * regmove.c: Likewise.
9947         * reg-stack.c: Likewise.
9948         * reload1.c: Likewise.
9949         * resource.c: Likewise.
9950         * rtlanal.c: Likewise.
9951         * rtl.c: Likewise.
9952
9953 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9954
9955         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
9956         a tree representing a constant is passed to the macro.
9957
9958 2001-08-12  Richard Henderson  <rth@redhat.com>
9959
9960         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
9961         (rs6000_elf_asm_out_destructor): New.
9962         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
9963         (DTORS_SECTION_ASM_OP): Remove.
9964         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9965         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
9966
9967 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
9968
9969         Revert:
9970         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9971         * gcc.c (set_collect_gcc_options): New function, split out from
9972         main.
9973         Ignore elided switches.
9974         (do_spec_1): Invoke before executing command.
9975         (set_input): Export.
9976         Move declaration ...
9977         * gcc.h (set_input): ... here.
9978         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9979         file.
9980
9981 2001-08-12  Richard Henderson  <rth@redhat.com>
9982
9983         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
9984         thinko wrt TARGET_RELOCATABLE.
9985
9986 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
9987
9988         * fix-header.c (cb_file_change): Update prototype.
9989
9990 2001-08-11  Zack Weinberg  <zackw@panix.com>
9991
9992         * toplev.c (set_float_handler): Make static.
9993         * toplev.h: Don't prototype set_float_handler.
9994
9995         * simplify-rtx.c: Don't include setjmp.h.
9996         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
9997         New functions.
9998         (simplify_unary_operation, simplify_binary_operation): Use them,
9999         via do_float_handler.
10000
10001         * fold-const.c: Don't include setjmp.h.
10002         (exact_real_inverse_1): New function.
10003         (exact_real_inverse): Use it, via do_float_handler.
10004
10005         * varasm.c: Don't include setjmp.h.
10006         (assemble_real_1): New function.
10007         (assemble_real): Use it, via do_float_handler.
10008         Call internal_error if we get a trap here.
10009
10010         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
10011         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
10012
10013 2001-08-11  Zack Weinberg  <zackw@panix.com>
10014
10015         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
10016         STACK_BOUNDARY if not already defined.
10017
10018         * calls.c, function.c, reload1.c, explow.c: Don't default
10019         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
10020         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
10021
10022         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
10023         to run-time test.
10024
10025         * doc/tm.texi: Document that STACK_BOUNDARY is required;
10026         clarify difference between it and PREFERRED_STACK_BOUNDARY.
10027
10028 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10029
10030         * cppmacro.c (enter_macro_context): Push macro expansions even
10031         if empty.
10032
10033 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10034
10035         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
10036         (rs6000_elf_section_type_flags): Actually return a value.
10037
10038 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
10039
10040         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
10041         Clean up code: add missing comments and prototypes, fix warnings,
10042         remove obsolete code, fix spacing to conform to coding style.
10043
10044 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
10045
10046         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
10047         and TARGET_ASM_CLOSE_PAREN.
10048         (regclass_map): CC register belongs to class NO_REGS.
10049         (legitimize_pic_address): Don't generate unnecessary moves
10050         (to avoid confusing loop optimization).
10051         (check_and_change_labels): Replace jump_long by indirect_jump.
10052         (s390_final_chunkify): Don't start a new literal pool on section
10053         switch in 64-bit code.
10054         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
10055
10056         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
10057         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
10058         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
10059         modes correctly.
10060         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
10061         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
10062         (CONST_COSTS): Fixed incorrect costs.
10063
10064         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
10065         Use emit_jump instead of emit_jump_insn (gen_jump).
10066         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
10067         (to avoid confusing flow analysis).
10068         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
10069         (casesi, casesi_jump): New.
10070         (jump_long): Removed.  Functionality merged into indirect_jump.
10071         (indirect_jump): Accept address_operand, not just register_operand.
10072         (cjump_long, icjump_long): Use same logic as indirect_jump.
10073         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
10074         Fixed broken setjmp/longjmp handling.
10075         (do_builtin_setjmp_setup): Removed.
10076
10077         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
10078         broken GNU as versions that don't accept .quad with large
10079         negative values.  Use hexadecimal output instead.
10080         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
10081         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
10082         FUNCTION_EPILOGUE): Removed.  Now in targetm.
10083
10084         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
10085
10086         * config/s390/fixdfdi.h: Add missing copyright statement.
10087         Fix type conflicts on 64-bit.  Add missing SFmode routines.
10088
10089         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
10090         email address.
10091
10092 2001-08-11  Richard Henderson  <rth@redhat.com>
10093
10094         * rtl.h (REG_EH_RETHROW): Remove.
10095         * rtl.c (reg_note_name): Update.
10096         * combine.c (distribute_notes): Don't check for it.
10097
10098 2001-08-11  Richard Henderson  <rth@redhat.com>
10099
10100         * combine.c (distribute_notes): Place REG_SETJMP.
10101
10102 2001-08-11  Richard Henderson  <rth@redhat.com>
10103
10104         * doc/extend.texi (Arrays and pointers implementation): Discourage
10105         relying on sign-extension of pointers.
10106
10107 2001-08-11  H.J. Lu <hjl@gnu.org>
10108
10109         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
10110         in_dtors.
10111         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
10112         RDATA_SECTION_ASM_OP.
10113
10114 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10115
10116         * doc/install.texi (Specific, c4x): Fix cross-reference to the
10117         main manual to work both for info and HTML versions.
10118
10119 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10120             Matt Kraai <kraai@alumni.carnegiemellon.edu>
10121
10122         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
10123         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
10124         (struct cpp_pool): New member first.
10125         * cppinit.c (append_include_chain): Plug memory leaks.
10126         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
10127         Allocate pragma structures from the (aligned) macro pool to
10128         avoid leaking memory.
10129         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
10130         so we don't leak memory.
10131         * hashtable.c (ht_destroy): New.
10132         * hashtable.h (ht_destroy): New.
10133
10134 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10135             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10136
10137         * c-lex.c (map): Make const.
10138         (cb_file_change): Update for callback passing a line map.
10139         Don't assume we have a previous map.  Remove sanity check
10140         about popping too many files.
10141         * cpperror.c (print_location): Make map const.
10142         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
10143         (cpp_make_system_header): Similarly.
10144         (search_from): Similarly.
10145         (_cpp_execute_include): Don't remember where we came from.
10146         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
10147         (struct cpp_reader): Make map const.
10148         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
10149         * cpplib.c (do_line): Update; line maps now hold sysp.
10150         (cpp_push_buffer): Similarly.
10151         (_cpp_do_file_change): Similarly; callback with map instead.
10152         (cpp_get_line_maps): Constify return value.
10153         (_cpp_pop_buffer): Update.
10154         * cpplib.h (struct cpp_file_change): Remove.
10155         (struct cpp_callbacks): Update.
10156         (cpp_get_line_maps): Constify return value.
10157         * cppmacro.c (_cpp_create_definition): Update.
10158         * cppmain.c (struct printer): Constify map.
10159         (maybe_print_line): Similarly.
10160         (print_line): Similarly.  Deduce flags 1 and 2 here.
10161         (cb_file_change): Update.
10162         * line-map.c (free_line_maps): Warn regardless.
10163         (add_line_map): Return pointer to const.  When passed NULL to_file
10164         with LC_LEAVE, use the obvious values for the return point so the
10165         caller doesn't have to figure them out.
10166         (lookup_line): Return pointer to const.
10167         (print_containing_files): Take pointer to const.
10168         * line-map.h (struct line_map): New members reason, sysp.
10169         (add_line_map): Return pointer to const.
10170         (lookup_line): Similarly.
10171         (print_containing_files): Take pointer to const.
10172
10173 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
10174             Richard Henderson  <rth@redhat.com>
10175
10176         * regmove.c (regmove_optimize): Avoid setting a register twice in
10177         a parallel set.
10178
10179 2001-08-10  Richard Henderson  <rth@redhat.com>
10180
10181         * doc/extend.texi (Arrays and pointers implementation): Document
10182         behavior of pointer/integer conversion.
10183
10184 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
10185
10186         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
10187
10188 2001-08-10  Richard Henderson  <rth@redhat.com>
10189
10190         * doc/extend.texi (C Implementation): New chapter.
10191         * doc/gcc.texi (Top): Link it in.
10192
10193 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
10194
10195         * doc/install.texi (Specific): Fix CVS merge botch.
10196
10197 2001-08-10  Richard Henderson  <rth@redhat.com>
10198
10199         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
10200         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
10201
10202 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
10203
10204         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
10205         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
10206         this macro is now required.
10207
10208         * cselib.c (cselib_process_insn), flow.c (propagate_block),
10209         loop.c (find_and_verify_loops), reload.c (reload): Check
10210         for rtx code of CALL_INSN, not CALL, when deciding if we
10211         need to check for REG_SETJMP note.
10212
10213         * gcse.c (compute_hash_table, compute_store_table): Update
10214         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
10215         logic.
10216
10217         * config/avr/avr.c: Fix typo.
10218         * config/convex/convex.c (expand_movstr): Use adjust_address.
10219         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
10220         variable.
10221         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
10222         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
10223         Fix typo.
10224         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
10225         Do define STACK_BOUNDARY.
10226         * config/i370/i370.c: Include expr.h.
10227         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
10228         config/pa/som.h, config/v850/v850.h: Take in_ctors and
10229         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
10230         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
10231         * config/m88k/m88k.c: Include c-tree.h after expr.h.
10232         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
10233         * config/romp/romp.c: Include expr.h after tree.h.
10234         Include toplev.h.
10235         (output_fpop): Use xmalloc, not oballoc.
10236         * config/we32k/we32k.c: Include expr.h.
10237
10238 2001-08-10  Kazu Hirata  <kazu@hxi.com>
10239
10240         * config/h8300/h8300.h: Fix formatting.
10241
10242 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
10243
10244         * c-common.h (RETURN_NULLIFIED_P): Lose.
10245         * c-semantics.c (genrtl_return_stmt): Don't check it.
10246
10247 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10248
10249         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
10250         (mips_annotate_frame_insn): New function.
10251         (mips_emit_frame_related_store): New function.
10252         (save_restore_insns): Don't mark instructions that set up the base
10253         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
10254         the store instructions instead.
10255         (mips_expand_prologue): If the stack size is moved into a temporary
10256         register, do not mark that move as frame-related.  Add a
10257         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
10258
10259 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10260
10261         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
10262         stack slot as unchanging if current_function_calls_eh_return.
10263
10264 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10265
10266         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
10267         access the second half of the TFmode scratch operand.
10268
10269 2001-08-10  Anthony Green  <green@redhat.com>
10270
10271         * java/class.c (emit_register_classes): Conditionalize code on
10272         JCR_SECTION_NAME.
10273
10274 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10275
10276         * doc/install.texi (Specific, avr): Fix cross-reference to the
10277         main manual to work both for info and HTML versions.
10278
10279 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10280
10281         * stmt.c (expand_null_return_1): Remove code to generate simple returns
10282         and "use_goto" argument.
10283         (expand_null_return, expand_value_return): Update all callers.
10284         * function.c (expand_function_end): Remove code to generate simple
10285         return.
10286         * config/vax/vax.md (epilogue): New expander for function return.
10287         * doc/md.texi (epilogue): Remove "if defined".
10288
10289 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
10290
10291         * Makefile.in: Partially revert my previous change:
10292         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
10293         of the hashtab.o and safe-ctype.o rules.
10294
10295 2001-08-09  Richard Henderson  <rth@redhat.com>
10296
10297         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
10298         (USE_COLLECT2): Remove duplicate definition.
10299         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
10300         (use_collect2): Remove dead code.
10301         * configure.in (use_collect2): Remove will_use_collect2 and
10302         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
10303         * configure: Rebuild.
10304
10305         * target.h (targetm.asm_out.constructor): New.
10306         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
10307         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
10308         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
10309         * varasm.c (in_ctors, in_dtors): New.
10310         (assemble_constructor, assemble_destructor): Remove.
10311         (default_stabs_asm_out_destructor): New.
10312         (default_named_section_asm_out_destructor): New.
10313         (dtors_section, default_dtor_section_asm_out_destructor): New.
10314         (default_stabs_asm_out_constructor): New.
10315         (default_named_section_asm_out_constructor): New.
10316         (ctors_section, default_ctor_section_asm_out_constructor): New.
10317         * output.h: Update declarations.
10318         * c-decl.c (c_expand_body): Use target hooks instead of
10319         assemble_constructor and assemble_destructor.
10320         * profile.c (output_func_start_profiler): Likewise.
10321         * objc/objc-act.c (finish_objc): Likewise.
10322         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
10323         for the constructor.
10324         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
10325
10326         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
10327         (DTORS_SECTION_ASM_OP): Likewise.
10328         (__CTOR_LIST__): Use attribute section when possible.
10329         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
10330
10331         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
10332         ASM_OUTPUT_CONSTRUCTOR.
10333
10334         * config/darwin.c (machopic_asm_out_constructor): New.
10335         (machopic_asm_out_destructor): New.
10336         * config/darwin-protos.h: Update declarations.
10337         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10338         (ASM_OUTPUT_DESTRUCTOR): Remove.
10339         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10340         * config/nextstep.c (nextstep_asm_out_constructor): New.
10341         (nextstep_asm_out_destructor): New.
10342         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10343         (ASM_OUTPUT_DESTRUCTOR): Remove.
10344         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10345         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
10346         ASM_OUTPUT_*STRUCTOR.
10347         * config/i386/aix386ng.h: Likewise.
10348
10349         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
10350         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
10351         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10352         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10353         * config/lynx.h: Likewise.
10354         * config/netware.h: Likewise.
10355         * config/psos.h: Likewise.
10356         * config/alpha/alpha-interix.h: Likewise.
10357         * config/alpha/elf.h: Likewise.
10358         * config/arc/arc.h: Likewise.
10359         * config/arm/aof.h: Likewise.
10360         * config/arm/coff.h: Likewise.
10361         * config/arm/elf.h: Likewise.
10362         * config/c4x/c4x.h: Likewise.
10363         * config/h8300/h8300.h: Likewise.
10364         * config/i386/cygwin.h: Likewise.
10365         * config/i386/djgpp.h: Likewise.
10366         * config/i386/i386-coff.h: Likewise.
10367         * config/i386/i386-interix.h: Likewise.
10368         * config/i386/sco5.h: Likewise.
10369         * config/i386/vsta.h: Likewise.
10370         * config/i386/win32.h: Likewise.
10371         * config/i960/i960-coff.h: Likewise.
10372         * config/ia64/sysv4.h: Likewise.
10373         * config/m68hc11/m68hc11.h: Likewise.
10374         * config/m68k/coff.h: Likewise.
10375         * config/m68k/mot3300.h: Likewise.
10376         * config/m88k/m88k.h: Likewise.
10377         * config/mcore/mcore-pe.h: Likewise.
10378         * config/mcore/mcore.h: Likewise.
10379         * config/mips/elf.h: Likewise.
10380         * config/mips/elf64.h: Likewise.
10381         * config/mips/iris6.h: Likewise.
10382         * config/pa/pa64-hpux.h: Likewise.
10383         * config/rs6000/sysv4.h: Likewise.
10384         * config/sh/sh.h: Likewise.
10385         * config/sparc/litecoff.h: Likewise.
10386
10387         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
10388         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10389         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10390         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10391         (ASM_OUTPUT_DESTRUCTOR): Remove.
10392         * config/a29k/a29k.c: Move include of tree.h.
10393         * config/a29k/udi.h: Delete file.
10394         * config/alpha/alpha.c (vms_asm_out_constructor): New.
10395         (vms_asm_out_destructor): New.
10396         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
10397         (EXTRA_SECTION_FUNCTIONS): Likewise.
10398         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10399         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10400         * config/c4x/c4x.c: Move include of tree.h.
10401         * config/clipper/clipper.c (clix_asm_out_constructor): New.
10402         (clix_asm_out_destructor): New.
10403         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10404         (ASM_OUTPUT_DESTRUCTOR): Remove.
10405         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10406         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10407         (TARGET_ASM_CONSTRUCTOR): New.
10408         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
10409         (sco_asm_out_constructor): New.
10410         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
10411         * config/i386/svr3gas.h: Remove stack grows up code.
10412         Remove code duplicated from i386/sysv3.h.
10413         (TARGET_ASM_CONSTRUCTOR): New.
10414         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10415         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
10416         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10417         (TARGET_ASM_CONSTRUCTOR): New.
10418         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
10419         (m68hc11_asm_out_destructor): New.
10420         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
10421         (TARGET_ASM_DESTRUCTOR): New.
10422         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
10423         * config/m68k/dpx2.h: Properly undef all the bits inherited from
10424         config/svr3.h pertaining to section manipulation.
10425         * config/m68k/dpx2g.h: Remove #if 0 code.
10426         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
10427         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
10428         (ASM_OUTPUT_CONSTRUCTOR): Remove.
10429         (TARGET_ASM_CONSTRUCTOR): New.
10430         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
10431         (m88k_svr3_asm_out_constructor): New.
10432         (m88k_svr3_asm_out_destructor): New.
10433         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10434         (ASM_OUTPUT_DESTRUCTOR): Remove.
10435         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10436         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
10437         * config/rs6000/aix.h: Likewise.
10438         * config/mips/rtems64.h: Don't undef removed constructor related bits.
10439         * config/mips/vxworks.h: Likewise.
10440         * config/rs6000/lynx.h: Likewise.
10441         * config/sh/elf.h: Likewise.
10442         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
10443         (DTORS_SECTION_ASM_OP): New.
10444         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10445         (ASM_OUTPUT_DESTRUCTOR): Remove.
10446         * config/sparc/sol2-sld-64.h: Likewise.
10447         * config/vax/vax.c (vms_asm_out_constructor): New.
10448         (vms_asm_out_destructor): New.
10449         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10450         (ASM_OUTPUT_DESTRUCTOR): Remove.
10451         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10452
10453         * doc/tm.texi (@node Initialization): Update.
10454
10455 2001-08-09  Richard Henderson  <rth@redhat.com>
10456
10457         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
10458         (__do_global_dtors_aux): Use gp-relative static data to avoid
10459         one dynamic relocation.
10460         (__do_frame_setup): Register Java classes.
10461         * config/alpha/crtend.asm (__JCR_END__): New.
10462
10463 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
10464
10465         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
10466         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
10467         (GEN, STAGESTUFF): Add new files.
10468         (insn-constants.h, s-constants, tm-preds.h, s-preds,
10469         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
10470         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
10471         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
10472         as well as insn-codes.h and insn-flags.h in config.h; and no
10473         extra headers in tconfig.h and hconfig.h.
10474
10475         * gencodes.c: Eliminate code to generate predicate declarations
10476         or #defines for md-file constants.
10477         * genconstants.c, genpreds.c: New files.
10478
10479         * i386.md: Re-order guard expressions such that TARGET_64BIT
10480         comes first, when this permits better optimization.  Add
10481         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
10482         why this is desirable.
10483
10484 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
10485
10486         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
10487         (find_fde_for_dso): Remove.
10488         (_Unwind_IteratePhdrCallback): New.
10489         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
10490         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
10491
10492 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10493
10494         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
10495         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
10496
10497 2001-08-09  Graham Stott  <grahams@redhat.com>
10498
10499         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
10500         (vis_no_unit): Use it.
10501         (visualize_no_unit): Add the insn only if room exists.
10502
10503 2001-08-09  Graham Stott  <grahams@redhat.com>
10504
10505         * predict.c (estimate_probability): Replace magic numbers with
10506         appropriate enumeration.
10507
10508 2001-08-09  Graham Stott  <grahams@redhat.com>
10509
10510         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
10511         parameter.
10512         (EXTRACT_FLAGS): Likewise.
10513
10514 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
10515
10516         * config/mips/mips.c    (mips_legitimate_address_p): Check for
10517         CONST_INT in last patch.
10518
10519 2001-08-08  Anthony Green  <green@redhat.com>
10520
10521         * java/class.c (emit_register_classes): Use assemble_jcr if
10522         possible.  Keep the original mechanism as a fallback.
10523         * defaults.h (JCR_SECTION_NAME): Define if we have named section
10524         and weak symbol support.
10525         * crtstuff.c (__JCR_LIST__): Define.
10526         (__JCR_END__): Define.
10527         (_Jv_RegiserClasses): Define weak symbol if possible.
10528         (__do_global_ctors_aux): Register classes for ELF targets with
10529         weak symbol support.
10530
10531 2001-08-08  Kazu Hirata  <kazu@hxi.com>
10532
10533         * dbxout.c: Fix comment formatting.
10534         * dependence.c: Likewise.
10535         * df.c: Likewise.
10536         * diagnostic.c: Likewise.
10537         * dominance.c: Likewise.
10538         * doprint.c: Likewise.
10539         * dwarf2out.c: Likewise.
10540         * dwarfout.c: Likewise.
10541         * emit-rtl.c: Likewise.
10542         * except.c: Likewise.
10543         * explow.c: Likewise.
10544         * expmed.c: Likewise.
10545         * expr.c: Likewise.
10546         * flow.c: Likewise.
10547         * fold-const.c: Likewise.
10548         * function.c: Likewise.
10549
10550 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10551
10552         * global.c (retry_global_alloc): Avoid shadowing allocno.
10553
10554 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
10555
10556         * except.c (remove_fixup_regions): Fix typo.
10557
10558 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
10559
10560         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
10561         unsigned HOST_WIDE_INT to avoid warning.
10562         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
10563         * flow.c (set_block_for_new_insns): Likewise.
10564
10565 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
10566
10567         * sibcall.c (return_value_pseudo): New static variable.
10568         (skip_copy_to_return_value): Handle return_value_pseudo.
10569         (call_ends_block_p): Ensure that return_value_pseudo is set.
10570         (optimize_sibling_and_tail_recursive_call): Discover the
10571         load of pseudo return value in alternate exit block.
10572
10573 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10574
10575         * calls.c (ECF_ALWAYS_RETURN): New constant.
10576         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
10577         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
10578         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
10579         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
10580         * rtl.c (reg_note_name): New name.
10581         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
10582
10583 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
10584
10585         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
10586
10587 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
10588
10589         * alias.c (get_alias_set): Return a previously calculated
10590         alias set for a VAR_DECL.
10591         * function.c (gen_mem_addressof): Calculate the alias set before
10592         touching the RTL.
10593
10594 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
10595
10596         * predict.def: Set hitrates according our experimental run.
10597
10598 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
10599
10600         * i386.h (HARD_REGNO_RENAME_OK): New macro.
10601
10602 2001-08-08  H.J. Lu <hjl@gnu.org>
10603
10604         * config/mips/mips.c (mips_unique_section): New. Copied from
10605         config/mips/elf.h.
10606
10607         * config/mips/mips-protos.h (mips_unique_section): New
10608         prototype.
10609
10610         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10611
10612         * config/mips/little.h: New. Generic little endian mips
10613         targets. Only mips*-*-linux* is converted to use it so far.
10614
10615         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10616         (WCHAR_TYPE): Defined
10617         (WCHAR_TYPE_SIZE): Likewise.
10618         (INIT_SUBTARGET_OPTABS): Likewise.
10619         (BSS_SECTION_ASM_OP): Likewise.
10620         (SBSS_SECTION_ASM_OP): Likewise.
10621         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10622         (ASM_DECLARE_OBJECT_NAME): Likewise.
10623         (UNIQUE_SECTION): Likewise.
10624         (EXTRA_SECTIONS): Likewise.
10625         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10626         (ASM_OUTPUT_DESTRUCTOR): Likewise.
10627         (ASM_OUTPUT_DEF): Likewise.
10628         (HANDLE_SYSV_PRAGMA): Removed.
10629         (NO_IMPLICIT_EXTERN_C): Likewise.
10630         (TARGET_MEM_FUNCTIONS): Likewise.
10631         (STARTFILE_SPEC): Likewise.
10632         (ENDFILE_SPEC): Likewise.
10633         (LIB_SPEC): Likewise.
10634         (INVOKE__main): Likewise.
10635         (CTOR_LIST_BEGIN): Likewise.
10636         (CTOR_LIST_END): Likewise.
10637         (DTOR_LIST_BEGIN): Likewise.
10638         (DTOR_LIST_END): Likewise.
10639         (SET_ASM_OP): Likewise.
10640         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10641         (ASM_OUTPUT_DEF): Likewise.
10642         (ASM_OUTPUT_IDENT): Likewise.
10643
10644         * config/mips/mips.h (ASM_SPEC): Undefine before define.
10645         (CPLUSPLUS_CPP_SPEC): Likewise.
10646         (ASM_APP_ON) Redefine only if not defined.
10647         (ASM_APP_OFF): Likewise.
10648         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10649         (ASM_OUTPUT_IDENT): Likewise.
10650
10651         * config.gcc: Update tm_file for Linux/mips.
10652
10653 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
10654
10655         * cselib.c (cselib_record_sets): If insn is predicated, turn
10656         sources into IF_THEN_ELSEs.
10657
10658         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
10659         Turn into define_insn_and_split.
10660
10661         * sched-deps.c: Include "cselib.h".
10662         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
10663         Use cselib to turn memory addresses into VALUEs.
10664         (sched_analyze): Call cselib_init/cselib_finish if necessary.
10665         * sched-int.h (struct sched_info): New member USE_CSELIB.
10666         * sched-ebb.c (ebb_sched_info): Initialize it.
10667         * sched-rgn.c (rgn_sched_info): Likewise.
10668         * Makefile.in (sched-deps.o): Update dependencies.
10669
10670         * cselib.h (cselib_subst_to_values): Declare.
10671         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
10672         that have no value and autoincs to be handled by generating a new
10673         dummy value.
10674
10675 2001-08-08  Graham Stott  <grahams@redhat.com>
10676
10677         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
10678         within fixed length SEQUENCE.
10679
10680 2001-08-08  Graham Stott  <grahams@redhat.com>
10681
10682         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
10683         (diagnostic_prefixing_rule): Likewise.
10684         (diagnostic_line_cutoff): Likewise.
10685         (diagnostic_kind_count): Likewise.
10686
10687 2001-08-08  Graham Stott  <grahams@redhat.com>
10688
10689         * alias.c (find_base_decl): Delete redundent assignment.
10690
10691 2001-08-08  Graham Stott  <grahams@redhat.com>
10692
10693         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
10694         (abs): Uppercase and paranthesize macro parameter.
10695         (MEM_DEPENDENCY): Add whitespace.
10696
10697 2001-08-08  Graham Stott  <grahams@redhat.com>
10698
10699         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
10700         failure check for CONST_INT
10701
10702 2001-08-08  Graham Stott  <grahams@redhat.com>
10703
10704         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
10705         (libcall_dead_p): Likewise.
10706
10707         (mark_used_regs): Constify fmt.
10708         (find_use_as_address): Likewise.
10709
10710 2001-08-08  Graham Stott  <grahams@redhat.com>
10711
10712         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
10713          parameter.
10714
10715 2001-08-08  Graham Stott  <grahams@redhat.com>
10716
10717         * combine.c (combine_simplify_rtx): Update comment and
10718         remove erroneous test.
10719
10720 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10721
10722         * cppinit.c (cpp_finish): Pop the final buffer without comment.
10723         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
10724         take care to avoid multiple no-newline at EOF warnings in that
10725         case.
10726
10727 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
10728
10729         * calls.c (expand_call): Do not emit INSN_SETJMP note.
10730         (emit_library_call_value_1): Likewise.
10731         (emit_call_1): Emit REG_SETJMP note.
10732         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
10733         of INSN_SETJMP
10734         * cselib.c (cselib_process_insn): Likewise.
10735         * flow.c (propagate_block): Likewise.
10736         * loop.c (find_and_verify_loops): Likewise.
10737         * reload.c (find_equiv_regs): Likewise.
10738         * reload1.c (reload): Likewise.
10739         * resource.c (mark_referenced_resources,
10740         mark_set_resources): Likewise.
10741         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
10742         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
10743         * haifa-sched.c (unlink_other_notes): Likewise.
10744         (reemit_notes): Likewise.
10745         * sched-ebb.c (sched_ebb): Likewise.
10746         * sched-rgc.c (sched_region): Likewise.
10747         * rtl.c (note_insn_name): Likewise.
10748         (reg_note_name): Add REG_SETJMP
10749         * rtl.h (reg_note): Add REG_SETJMP.
10750         (insn_note): Remove NOTE_INSN_SETJMP.
10751
10752         * profile.c (branch_prob): Add fake edges for setjmp.
10753
10754 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
10755
10756         * config.gcc: Quote target_cpu_default2 correctly for
10757         powerpc*-*-* targets.
10758
10759 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10760
10761         * cpplib.h, line-map.h: Update comments.
10762         * cppmain.c (printer_init): Move inline.
10763         (maybe_print_line, print_line): Take a map pointer.
10764         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
10765         (cb_file_change): Don't use prior value of print.map.
10766
10767 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
10768
10769         * doc/install.texi: Document fine-grained multilib configuration.
10770
10771 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10772
10773         * rtlanal.c (find_first_parameter_load): Call note_stores
10774         only on the instructions.
10775
10776 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10777
10778         * alias.c (nonlocal_mentioned_p):
10779         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
10780         * calls.c (emit_call_1): Likewise.
10781         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
10782         * cselib.c (cselib_process_insn): Likewise.
10783         * df.c (df_insns_modify): Likewise.
10784         * flow.c (need_fake_edge_p): Likewise.
10785         (propagate_one_insn): Likewise.
10786         * haifa-sched.c (reemit_notes): Likewise.
10787         * integrate.c (copy_insn_list): Likewise.
10788         * jump.c (delete_prior_computation): Likewise.
10789         * local-alloc.c (validate_equiv_mem): Likewise.
10790         * loop.c (scan_loop): Likewise.
10791         * predict.c (estimate_probability): Likewise.
10792         * reload.c (reload): Likewise.
10793         * sched-deps (sched_analyze): Likewise.
10794         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
10795         * gcse.c (compute_hash_table): Likewise.
10796         (mark_call): Likewise.
10797         (store_killed_in_insn): Likewise.
10798
10799 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
10800
10801         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
10802
10803 2001-08-06  Richard Henderson  <rth@redhat.com>
10804
10805         * varasm.c (assemble_gc_entry): Remove.
10806         * output.h: Likewise.
10807
10808 2001-08-06  Richard Henderson  <rth@redhat.com>
10809
10810         * varasm.c (assemble_constructor): Take a symbol_ref and a
10811         priority instead of a bare string.  Move priority handling
10812         here from cp/decl2.c.
10813         * output.h: Update decls.
10814
10815         * c-decl.c (c_expand_body): Update calls to assemble_constructor
10816         and assemble_destructor.
10817         * profile.c (output_func_start_profiler): Likewise.
10818         * objc/objc-act.c (finish_objc): Likewise.
10819         (build_module_descriptor): Return the symbol not the symbol name.
10820
10821 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
10822
10823         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
10824         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
10825         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
10826         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
10827         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
10828         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
10829
10830 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10831
10832         * cpperror.c (print_containing_files): Moved to line-map.c.
10833         (print_location): line-map.c handles re-listing or otherwise.
10834         * cpphash.h (struct lexer_state): Remove next_bol.
10835         (struct cpp_buffer): Remove include_stack_listed.
10836         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
10837         Remove faked buffer handling.
10838         (_cpp_do_file_change): Tweak.
10839         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
10840         * cppmain.c (struct printer): Remove filename.
10841         (print_line, cb_file_change): Update accordingly.
10842         * line-map.c: Include intl.h.
10843         (init_line_maps): Initialize last_listed.
10844         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
10845         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
10846         (print_containing_files): New.
10847         * line-map.h (struct line_maps): New member last_listed.
10848         (print_containing_files, INCLUDED_FROM): New.
10849         * Makefile.in: Update.
10850         * po/POTFILES.in: Add line-map.c.
10851
10852 2001-08-06  Richard Henderson  <rth@redhat.com>
10853
10854         * except.c (convert_from_eh_region_ranges_1): Never mark
10855         USE or CLOBBER insns as throwing.
10856
10857         * expr.c (store_constructor): Don't clobber memory targets.
10858
10859 2001-08-06  Andreas Jaeger  <aj@suse.de>
10860
10861         * profile.c (branch_prob): Remove unused variable insn.
10862
10863         * Makefile.in (local-alloc.o): Add dependency on except.h.
10864
10865         * local-alloc.c: Include except.h for can_throw_internal prototype.
10866
10867 2001-08-06  Richard Henderson  <rth@redhat.com>
10868
10869         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
10870         * function.c (expand_main_function): Implement it.
10871         * doc/tm.texi: Document it.
10872
10873 2001-08-06  Stan Shebs  <shebs@apple.com>
10874
10875         * doc/install.texi: Document powerpc-*-darwin* details.
10876
10877 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
10878
10879         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
10880         (ASM_CPU_SPEC): Move back to rs6000.h
10881         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
10882
10883         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
10884
10885         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
10886         readded.
10887
10888         * config/rs6000/linux64.h: Ditto.
10889
10890         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10891         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
10892         nothing.
10893
10894         Remove accidently readded definitions of FUNCTION_PROLOGUE,
10895         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
10896
10897         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10898         to rs6000.h
10899
10900 2001-08-05  Richard Henderson  <rth@redhat.com>
10901
10902         * local-alloc.c (update_equiv_regs): Do not move insns that
10903         can throw.
10904
10905 2001-08-05  Jan Hubicka  <jh@suse.cz>
10906
10907         * Makefile.in (reload1.o): Add dedendancy on except.h
10908         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
10909         prototypes.
10910         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
10911         indicating wehther edges has been cleaned up.
10912         * reload1.c: Inlucde except.h
10913         (fixup_abnormal_edges): Accept deleted insns.
10914         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
10915         after combine.
10916
10917 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10918
10919         * cpplib.c (do_line): Correct line number after pop_buffer.
10920
10921 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10922
10923         PR preprocessor/3824
10924         * line-map.c: Update comments.
10925         * line-map.h: Update comments.
10926         * tradcif.y: Don't consider large numbers unsigned.
10927
10928 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10929
10930         PR preprocessor/3081
10931         * c-lex.c (map): New.
10932         (cb_file_change): Update map and use it.
10933         (cb_def_pragma, cb_define, cb_undef): Use map and line.
10934         (c_lex): Update to use map.
10935         * cpperror.c (print_location): Move to using logical line numbers.
10936         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
10937         (cpp_make_system_header): Similarly.
10938         (_cpp_execute_include): Stop line numbering hacks.  Store the
10939         line we will return to.
10940         * cpphash.h (CPP_BUF_LINE): Remove.
10941         (struct cpp_buffer): Remove lineno and pseudo_newlines.
10942         Add map and return_to_line.
10943         (_cpp_do_file_change): Update.
10944         * cppinit.c (cpp_start_read): Update line kludge.
10945         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
10946         (trigraph_ok): Use logical line numbers for diagnostics.
10947         (skip_block_comment): Likewise.
10948         (skip_whitespace): Likewise.
10949         (skip_line_comment): Use pfile->line instead.
10950         (_cpp_lex_token): Update to use logical line numbering exclusively.
10951         Handle BOL locally.  Accept new lines in directives, but keep
10952         pfile->line decremented.  Diagnostics use logical lines.  Update
10953         directive handling.
10954         * cpplib.c (SEEN_EOL): New.
10955         (skip_rest_of_line, check_eol): Use it.
10956         (end_directive): Increase line number when accepting the newline
10957         at the end of a directive.
10958         (run_directive): Simplify.
10959         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
10960         (_cpp_do_file_change): Update to take buffer line number as an
10961         argument, and store the current map in the cpp_reader.  Remove
10962         line number kludges.
10963         (_cpp_do__Pragma): Restore output position after a _Pragma.
10964         (cpp_push_buffer): Don't set output line or lineno.
10965         (_cpp_pop_buffer): Transfer more info from a faked buffer.
10966         Remove line kludge.  Set output_line.
10967         * cppmacro.c (builtin_macro): Update handling of __LINE__.
10968         (parse_arg): Use logical lines.
10969         (save_lookahead_token): Save EOFs too now.
10970         * cppmain.c (struct printer): Fix comments.
10971         (printer_init): Simplify, let caller do errors.
10972         (scan_translation_unit, check_multiline_token, dump_macro): Update.
10973         (maybe_print_line): Simplify.
10974         (print_line): Don't print a linemarker if -P.
10975         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
10976         (cb_file_change): Simplify.
10977         * line-map.h (LAST_SOURCE_LINE): Fix.
10978         (CURRENT_LINE_MAP): New.
10979
10980 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
10981
10982         * doloop.c (doloop_modify_runtime): Properly compute number of
10983         iterations if loop was unrolled.
10984
10985         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
10986         if their CSELIB_VAL_PTRs are.
10987
10988         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
10989         (setup_spill_pointers): Initialize it.
10990         (spill_restore_mem): Set it.
10991         (do_spill, do_restore): Use it to add REG_INC note.
10992         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
10993
10994         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
10995         asms if other insns are available.
10996
10997         * config/ia64/ia64.c (condop_operator): New predicate.
10998         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
10999         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
11000         patterns.
11001
11002         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
11003         temporary register than directly using a MEM.
11004
11005 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11006
11007         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
11008         parameter in last change.
11009
11010 2001-08-04  Zack Weinberg  <zackw@panix.com>
11011
11012         * sparc.md: Don't use #if inside C test expression.
11013
11014 2001-08-04  Richard Henderson  <rth@redhat.com>
11015
11016         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
11017
11018 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
11019
11020         * cpphash.h (struct cpp_reader): New member directive_line.
11021         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
11022         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
11023         do_pragma): Pass line to callbacks.
11024         (start_directive): Record line of directive.
11025         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
11026         cb_include): Similarly.
11027         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
11028         Similarly.
11029
11030 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11031
11032         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
11033         comment.
11034
11035 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11036
11037         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
11038
11039         * reload1.c (fixup_abnormal_edges): New static function.
11040         (reload): Use it.
11041
11042         * flow.c (need_fake_edge_p): New function.
11043         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
11044         avoid call insn to be very last insn in the insn stream.
11045
11046         * profile.c (branch_prob): Call flow_call_edges_add instead of
11047         doing that by hand; cleanup cfg to re-merge basic blocks once
11048         we are done.
11049
11050 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11051
11052         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
11053         are also on line-map.h.
11054         * cppfiles.c (stack_include_file): Update.
11055         * cpphash.h (struct cpp_buffer): New member return_at_eof.
11056         (_cpp_pop_buffer): New.
11057         * cppinit.c (cpp_destroy, cpp_finish): Update.
11058         (do_includes): Mark each buffer to return at EOF.
11059         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
11060         return as requested.
11061         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
11062         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
11063         * cpplib.h (cpp_pop_buffer): Remove.
11064         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
11065         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
11066         buffers.
11067         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
11068         to pop buffers.
11069         (do_preprocessing): Update.
11070         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
11071         * c-parse.in (_yylex): Similarly.
11072         * scan-decls.c (scan_decls): Similarly.
11073         * line-map.h: Update comments.
11074
11075         * objc/Make-lang.in (objc-act.o): Update dependencies.
11076
11077 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11078
11079         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
11080         and soft register for operand 0.
11081         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
11082
11083 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11084
11085         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
11086         register for operand 0.
11087         ("bitcmpqi_z_used"): Allow memory for operand 0.
11088         (split "bitcmpqi"): New split to handle address reg as operand 1.
11089
11090 2001-08-04  Andreas Jaeger  <aj@suse.de>
11091
11092         * gcse.c: Revert Daniel's last patch.
11093
11094 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
11095
11096         * sparc-protos.h: Add prototypes for fp_zero_operand and
11097         reg_or_0_operand.
11098         * sh-protos.h: Add prototype for fpul_operand.
11099
11100 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11101
11102         * doc/extend.texi (Other Builtins): Fix typo in last change.
11103
11104 2001-08-03  Richard Henderson  <rth@redhat.com>
11105
11106         * target.h (gcc_target): Add asm_out.named_section,
11107         section_type_flags, have_named_sections.
11108         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
11109         (TARGET_HAVE_NAMED_SECTIONS): New.
11110         (TARGET_SECTION_TYPE_FLAGS): New.
11111
11112         * Makefile.in (toplev.o): Depend on TARGET_H.
11113         (varasm.o, dbxout.o): Likewise.
11114         * c-common.c (decl_attributes): Check targetm.have_named_sections
11115         instead of ifdef ASM_OUTPUT_SECTION_NAME.
11116         * dbxout.c (dbxout_function_decl): Likewise.
11117         (dbxout_function_end): Likewise.
11118         * toplev.c (compile_file): Likewise.
11119         * varasm.c (exception_section): Likewise.
11120         * cp/decl2.c (finish_objects): Likewise.
11121
11122         * defaults.h (EH_FRAME_SECTION): Remove.
11123         (EH_FRAME_SECTION_ASM_OP): Remove.
11124         (EH_FRAME_SECTION_NAME): New.
11125         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
11126         (UNIQUE_SECTION_P): Remove.
11127         * dwarf2out.c (SECTION_FORMAT): Remove.
11128         (ASM_OUTPUT_SECTION): Remove.
11129         (output_call_frame_info): Use named_section_flags.
11130         (output_comp_unit, dwarf2out_start_source_file): Likewise.
11131         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
11132         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
11133         * varasm.c (in_eh_frame, eh_frame_section): Remove.
11134         (named_section_flags): New.
11135         (named_section): Use it and targetm.section_type_flags.
11136         (resolve_unique_section): New.
11137         (assemble_start_function): Use it.
11138         (asm_emit_uninitialised, assemble_variable): Likewise.
11139         (default_section_type_flags): New.
11140         (default_no_named_section, default_elf_asm_named_section): New.
11141         (default_coff_asm_named_section, default_pe_asm_named_section): New.
11142         * output.h: Update varasm.c decls.
11143         (SECTION_*): New flags.
11144
11145         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
11146         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
11147
11148         * config/elfos.h (UNIQUE_SECTION_P): Remove.
11149         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
11150         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
11151         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11152         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
11153         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
11154         * config/mips/elf.h, config/mips/elf64.h: Likewise.
11155         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
11156         * config/pa/pa64-hpux.h,
11157
11158         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
11159         (TARGET_ASM_NAMED_SECTION): New.
11160         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
11161         * config/alpha/vms.h, config/arm/coff.h: Likewise.
11162         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
11163         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
11164         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
11165         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
11166         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11167         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
11168         * config/i386/sco5.h, config/i386/win32.h: Likewise.
11169         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
11170         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
11171         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
11172         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
11173         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
11174         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
11175         * config/sparc/sysv4.h: Likewise.
11176
11177         * config/nextstep.h: Error until named sections implemented.
11178
11179         * config/a29k/a29k.c (a29k_asm_named_section): New.
11180         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
11181         (vms_section_type_flags, vms_asm_named_section): New.
11182         * config/arm/arm.c (arm_elf_asm_named_section): New.
11183         * config/avr/avr.c (asm_output_section_name): Remove.
11184         * config/avr/avr-protos.h: Update.
11185         * config/c4x/c4x.c (c4x_asm_named_section): New.
11186         * config/h8300/h8300.c (h8300_asm_named_section): New.
11187         * config/i386/i386.c (sco_asm_named_section): New.
11188         * config/i386/winnt.c (SECTION_PE_SHARED): New.
11189         (i386_pe_section_type_flags): New.
11190         (i386_pe_asm_named_section): New.
11191         * config/i386/i386-protos.h: Update.
11192         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
11193         * config/mcore/mcore.c (mcore_asm_named_section): New.
11194         * config/mips/mips.c (iris6_asm_named_section): New.
11195         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
11196         instead of UNIQUE_SECTION_P.
11197         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
11198         (xcoff_asm_named_section): New.
11199         * config/sh/sh.c (sh_asm_named_section): New.
11200         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
11201
11202         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
11203         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
11204         (EH_FRAME_SECTION_NAME): New.
11205         (EXCEPTION_SECTION): New.
11206         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
11207         (DEBUG_*_SECTION): Remove.
11208         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
11209         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
11210         (EH_FRAME_SECTION_ASM_OP): Remove.
11211
11212         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
11213         (ASM_OUTPUT_SECTION_NAME): Remove.
11214         (TARGET_ASM_NAMED_SECTION): New.
11215         (TARGET_HAVE_NAMED_SECTIONS): New.
11216         (TARGET_SECTION_TYPE_FLAGS): New.
11217         (EH_FRAME_SECTION_ASM_OP): Remove.
11218         (EH_FRAME_SECTION_NAME): New.
11219
11220 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
11221
11222         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
11223         for complex expressions when cfun == 0.
11224         * doc/extend.texi: Document that __builtin_constant_p can be
11225         used in data initializers as well as functions.
11226
11227 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
11228
11229         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
11230         variable I locally, instead of expecting a declaration in the
11231         calling context.
11232
11233 2001-08-03  Richard Henderson  <rth@redhat.com>
11234
11235         * except.c (collect_one_action_chain): Add an explicit cleanup
11236         action if regions surrounding a catch were encoded entirely
11237         within the call-site entry.
11238
11239 2001-08-03  Richard Henderson  <rth@redhat.com>
11240
11241         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
11242         don't take REGNO of a non-register.
11243
11244 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11245
11246         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
11247         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
11248         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
11249         (__gthread_mutex_init_function): New function for mutex initialization.
11250
11251 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11252
11253         * Makefile.in: Revert screwed up commit.
11254
11255 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11256
11257         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
11258         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
11259         merged by linker script to get a final _exit().
11260         (__do_global_dtors): New for destructor handling in specific exit
11261         section.
11262         (__do_global_ctors): New for constructors in specific install section.
11263         (__map_data_section): Map data sections before running constructors.
11264         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
11265         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
11266         (DTORS_SECTION_ASM_OP): Likewise.
11267         (CTORS_SECTION_FUNCTION): Define to force a reference to
11268         __do_global_ctors.
11269         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
11270
11271 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11272
11273         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
11274
11275         * Makefile.in: Add df.h to gcse.c dependencies.
11276
11277 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11278
11279         * varasm.c (output_constant_def_contents): Use for the length of a
11280         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
11281         depending on which is larger.
11282
11283 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11284
11285         * gcse.c: Include df.h for use as a dataflow analyzer.
11286         Remove regvec.
11287         Declaration of reg_set_info: gone.
11288         New df_analyzer variable used by store motion.
11289         (reg_set_info): Deleted.
11290         (mark_mem_regs): New function, analyze regs used by a mem.
11291         (store_ops_ok): Use dataflow analyzer results to determine if
11292         necessary regs are changed in the block.
11293         (find_moveable_store): Remove check for symbol ref, we can handle
11294         much more complex expressions now.
11295         (compute_store_table): Remove most of the code, it's unnecessary
11296         now that the dataflow analyzer records the info for us.
11297         (store_killed_after): Add parameter to say whether to do the
11298         store_ops_okay test, used to speed up testing when we already know
11299         the answer, and just want to know if the store itself was killed.
11300         (build_store_vector): Largely rewritten to calculate the various
11301         vectors properly, and somewhat optimized.
11302         (store_motion): Init the df_analyzer, get REG_DEF chains.
11303         Also handle trapping expressions (since mems almost always trap)
11304         (simple_mem): Redefine what a simple mem is.
11305
11306 2001-08-03  DJ Delorie  <dj@redhat.com>
11307
11308         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
11309         set from a constant part of the condition.
11310
11311 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
11312
11313         * mkdeps.c (deps_add_default_target): Make local variable
11314         ``start'' a const char pointer.
11315         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
11316
11317 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11318
11319         * doc/install.texi (Configuration): Fix markup.
11320         (Specific, i?86-*-udk): Likewise.
11321         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
11322         --with-gnu-ld.
11323         Document --enable-threads and --enable-libgcj status.
11324         (Specific, mips-sgi-irix*): Canonicalize triples.
11325         (Specific, mips-sgi-irix5): Warn about problems with this config.
11326         Mention required GNU as patch.
11327         Native assembler problems are fixed.
11328         (Specific, mips-sgi-irix6): Update O32 ABI support status.
11329         Document --enable-threads and --enable-libgcj status.
11330
11331 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11332
11333         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
11334         of mkinstalldirs.
11335
11336 2001-08-03  Richard Henderson  <rth@redhat.com>
11337
11338         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
11339         constant data.
11340
11341 2001-08-03  Richard Henderson  <rth@redhat.com>
11342
11343         * rtlanal.c (find_first_parameter_load): Stop if we
11344         reach a CODE_LABEL at BOUNDARY.
11345
11346 2001-08-03  Richard Henderson  <rth@redhat.com>
11347
11348         * config/alpha/alpha.md (force_movdi): New insn.
11349         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
11350         Tweek FRP marking of VMS prologue insns.
11351         * config/alpha/vms.h (EPILOGUE_USES): New.
11352
11353 2001-08-02  Richard Henderson  <rth@redhat.com>
11354
11355         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
11356
11357 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
11358
11359         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
11360         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
11361         config/convex/convex.h, config/d30v/d30v.c,
11362         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
11363         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
11364         config/mips/mips.h, config/mn10200/mn10200.h,
11365         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
11366         config/v850/v850.h, config/vax/openbsd.h,
11367         config/vax/openbsd1.h, config/vax/ultrix.h,
11368         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
11369         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
11370         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
11371         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
11372         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
11373         in comments and documentation.
11374
11375 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11376
11377         * line-map.c: New.
11378         * line-map.h: New.
11379         * Makefile.in (line-map.o): New.
11380         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
11381         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
11382         * cpperror.c (print_containing_files): Similarly.
11383         (print_location): Update.  Don't output a space before _Pragma.
11384         * cppfiles.c (stack_include_file): Set to line 1 immediately.
11385         (stack_include_filee, cpp_make_system_header): Update.
11386         (_cpp_execute_include): Get logical line number right for calling
11387         as-yet-unterminated #include.
11388         * cpphash.h (struct cpp_reader): Add line_maps.
11389         (_cpp_do_file_change): Update.
11390         * cppinit.c (cpp_create_reader): Initialize line maps.
11391         (cpp_destroy): Destroy line maps.
11392         (cpp_start_read): Get logical line number right.
11393         * cpplex.c (parse_string): Only warn once for multi-line strings.
11394         Use boolean variable for null warning.
11395         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
11396         already.
11397         (do_include_common): End the directive early.
11398         (do_line): Don't warn about out-of-range lines in preprocessed
11399         source.  Update.  Remove unused variables.
11400         (_cpp_do_file_change): Update for new line mapping.
11401         (pragma_cb): New typedef.
11402         (cpp_register_pragma): Stop looking ahead before calling the
11403         handler.  Clean up.
11404         (do_pragma_system_header): End directive early.
11405         (cpp_get_line_maps): New.
11406         (cpp_pop_buffer): Fudge logical line.  Update.
11407         * cpplib.h: Include line-map.h
11408         (enum cpp_fc_reason): Remove.
11409         (struct cpp_file_change): Update.
11410         (cpp_get_line_maps): New.
11411         * cppmain.c (struct_printer): New member map.
11412         (cb_file_change): Update for new mappings.
11413         * fix-header.c (cb_file_change): Similarly.
11414
11415 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11416
11417         * Makefile.in (libgcc.mk): Define mkinstalldirs.
11418         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
11419
11420 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
11421
11422         * config/vax/vax.c: include expr.h.
11423
11424 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11425
11426         * Makefile.in ($(srcdir)/configure): Only rebuild in
11427         maintainer mode.
11428         ($(srcdir)/config.in): Only define in maintainer mode.
11429         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
11430
11431 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
11432
11433         * doc/install.texi (Install GCC: Binaries): Update Bull info.
11434
11435 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11436
11437         * gcc.c (set_collect_gcc_options): New function, split out from
11438         main.
11439         Ignore elided switches.
11440         (do_spec_1): Invoke before executing command.
11441         (set_input): Export.
11442         Move declaration ...
11443         * gcc.h (set_input): ... here.
11444         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11445         file.
11446
11447 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
11448
11449         Kill -fhonor-std.
11450         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
11451         interaction.
11452         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
11453
11454 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
11455
11456         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
11457         for the unnamed instructions it expands to.
11458
11459 2001-08-02  Richard Henderson  <rth@redhat.com>
11460
11461         * regclass.c (call_really_used_regs): Conditionally define.
11462         (init_reg_sets_1): Don't use it if not defined.
11463         (fix_register): Similarly, don't set it.
11464
11465 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11466
11467         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
11468         Correct comment that had been missed in the previous change.
11469
11470 2001-08-01  Stan Shebs  <shebs@apple.com>
11471
11472         * config/darwin.c (machopic_stub_name): Try matching by name.
11473         (update_stubs): New function.
11474         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
11475         unconditionally.
11476
11477 2001-08-01  Richard Henderson  <rth@redhat.com>
11478
11479         * except.c (output_function_exception_table): Use assemble_align.
11480         * varasm.c (assemble_eh_label): Remove.
11481         (assemble_eh_align, assemble_eh_integer): Remove.
11482
11483 2001-08-01  Robert Lipe  <robertl@caldera.com>
11484
11485         * dwarfout.c: Remove reference to README.DWARF.
11486
11487 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
11488
11489         * regclass.c (call_really_used_regs): New array for registers which
11490         are actually used by a call.
11491         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
11492         new array.
11493         (fix_register): Set call_really_used too.
11494         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
11495         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
11496
11497 2001-08-01  Richard Henderson  <rth@redhat.com>
11498
11499         * read-rtl.c (read_name): Consider \r whitespace.
11500
11501 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
11502
11503         * config.gcc: Recognize powerpc-*-netbsd*.
11504
11505         * doc/install.texi (Host/target specific installation notes for
11506         GCC): Mention powerpc-*-netbsd*.
11507
11508         * config/rs6000/netbsd.h: New file.
11509         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11510         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11511         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11512         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11513         (TARGET_VERSION): Redefine.
11514
11515         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
11516         mcall-netbsd as a match for mcall-sysv.
11517         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
11518         (ncrti.S, ncrtn.S): New targets.
11519         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
11520
11521         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
11522         "netbsd' as a V4 ABI.
11523         (ASM_SPEC): Check for -mcall-netbsd.
11524         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
11525         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
11526         (LIB_SPEC, ENDFILE_SPEC): Ditto.
11527         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
11528         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
11529         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
11530         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
11531
11532         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
11533         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
11534
11535 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
11536
11537         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
11538         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
11539         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
11540         including "unwind-pe.h".
11541
11542 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
11543
11544         * rs6000.md (define_splits): Kill unused constraints.
11545
11546 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
11547                               Jan Hubicka  <jh@suse.cz>
11548
11549         * function.c (thread_prologue_and_epilogue_insns): Kill code
11550         dealing with non-existent CFG.
11551
11552 2001-08-01  Kazu Hirata  <kazu@hxi.com>
11553
11554         * alias.c: Fix comment formatting.
11555         * bitmap.c: Likewise.
11556         * builtins.c: Likewise.
11557         * calls.c: Likewise.
11558         * c-common.c: Likewise.
11559         * c-decl.c: Likewise.
11560         * c-dump.c: Likewise.
11561         * c-lex.c: Likewise.
11562         * collect2.c: Likewise.
11563         * combine.c: Likewise.
11564         * conflict.c: Likewise.
11565         * cppfiles.c: Likewise.
11566         * cppinit.c: Likewise.
11567         * cpplex.c: Likewise.
11568         * cpplib.c: Likewise.
11569         * cppmacro.c: Likewise.
11570         * cppspec.c: Likewise.
11571         * c-pragma.c: Likewise.
11572         * crtstuff.c: Likewise.
11573         * cse.c: Likewise.
11574         * cselib.c: Likewise.
11575         * c-semantics.c: Likewise.
11576         * c-typeck.c: Likewise.
11577
11578 2001-08-01  H.J. Lu <hjl@gnu.org>
11579
11580         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
11581
11582 2001-08-01  H.J. Lu <hjl@gnu.org>
11583
11584         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
11585
11586 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
11587
11588         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
11589         contextualizing Objective-C class name lookup by the lexer.
11590         (typespec_reserved_nonattr): Disable ObjC class name lookup after
11591         seeing a TYPESPEC.
11592         (protocoldef): Add support for forward @protocol declarations.
11593         (yylexname): Suppress ObjC class name lookup in certain contexts;
11594         re-enable after lookup is complete.
11595         (_yylex): Re-enable ObjC class name lookup when certain
11596         punctuation marks are seen.
11597
11598         * objc/objc-act.c (check_protocol_recursively): New function used
11599         for finding circular dependencies in protocols.
11600         (objc_declare_protocols): New function for handling forward
11601         @protocol declarations.
11602         (receiver_is_class_object): Detect the case when 'self' is used
11603         inside of a class method.
11604         (build_message_expr): Issue a warning if class method is desired
11605         but instance method is found instead.
11606         (conforms_to_protocol): Streamline.
11607         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11608         protocol Foo, even if 'Bar foo' does not.
11609         (check_protocols): Streamline.
11610         (start_protocol): Add checks for circular and duplicate protocol
11611         definitions.
11612         (encode_aggregate_within): For typedefs of structs, encode the
11613         underlying struct.
11614         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11615         (objc_declare_protocols): New prototype.
11616
11617 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11618
11619         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11620         * cpplex.c (handle_newline): Update prototype.  Maintain logical
11621         line number.
11622         (skip_escaped_newlines, skip_block_comment, parse_string):
11623         Update accordingly.
11624         (_cpp_lex_token): Update, and store token position within the token.
11625         * cpplib.h (struct cpp_token): Add line and column entries.
11626         * cppmacro.c (replace_args): Position stringified tokens correctly.
11627
11628 2001-08-01  Andreas Jaeger  <aj@suse.de>
11629
11630         * basic-block.h: Add prototype for last_loop_beg_note.
11631
11632 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
11633
11634         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11635         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11636         comment.
11637         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11638         while handling WITH_CLEANUP_EXPR node. Use second operand calling
11639         expand_decl_cleanup.
11640         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
11641         the first RTX.
11642         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
11643         operand while calling simple_cst_equal.
11644         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
11645         operand is the cleanup expression, the third is the RTL_EXPR.
11646         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
11647
11648 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
11649
11650         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
11651
11652 2001-07-31  matthew green  <mrg@eterna.com.au>
11653
11654         * config.gcc (i386-*-netbsdelf): New description.
11655         * config/i386/netbsd-elf.h: New file.
11656
11657 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
11658
11659         * loop.c (check_dbra_loop): Use single_set to compute
11660         jump_label.
11661
11662 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
11663
11664         PowerPC reorg and support for powerpc64-*-linux*.
11665
11666         Also fixes emitting of constants on 32 bit and 64 bit
11667         platforms.
11668
11669         * config.gcc: powerpc64-*-linux* is a new target.
11670         Things that needed aix.h now also include xcoff.h
11671
11672         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
11673         xcoff.h.
11674         Move AIX specific stuff into aix.h.
11675         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
11676         with more than just XCOFF now.
11677         (SET_ASM_OP): Remove, now defined where needed.
11678         (FUNCTION_PROLOGUE): New macro definition.
11679         (FUNCTION_EPILOGUE): New macro definition.
11680         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
11681
11682         * config/rs6000/xcoff.h: New file.
11683
11684         * config/rs6000/linux64.h: New file.
11685
11686         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
11687
11688 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
11689
11690         * rs6000.c (print_operand_address): Handle ELF syntax.
11691         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
11692         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
11693         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
11694
11695 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
11696
11697         * rs6000.c (rs6000_override_options): Only disable
11698         flag_function_sections for XCOFF.
11699         (exact_log2_cint_operand): New predicate.
11700         (reg_or_{add,sub}_cint64_operand): New predicates.
11701         (add_operand): Compare CONST_INT with fewer function calls.
11702         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
11703         (print_operand, case 'p'): Ensure positive operand.
11704         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
11705         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
11706         (PREDICATE_CODES): Add new predicates.
11707         * rs6000.md (addsi3): Split 32-bit constants more correctly.
11708         (divsi3, modsi3): Ensure positive power-of-2.
11709         (adddi3): Use new predicate.  Split 32-bit constants more
11710         correctly.  Re-arrange splitter to handle any constant.
11711         (subdi3): Use new predicate.
11712         (divdi3, moddi3): Ensure positive power-of-2.
11713         (movdi): Use rs6000_emit_set_const.
11714         (load_toc_v4_pic_di): Delete.
11715
11716 2001-07-31  Graham Stott <grahams@redhat.com>
11717
11718         * function.c (pad_below): Revert 2001-07-26 patch.
11719
11720 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11721
11722         * reg-stack (convert_regs_1): Fix best edge condition.
11723
11724 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11725
11726         * jump.c (duplicate_loop_exit_test): Better test for jumps
11727         entering the loop; create loop pre_header.
11728
11729 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
11730
11731         * doc/install.texi: Add s390 and s390x as new targets.
11732         * doc/invoke.texi: Add documentation of S/390 and zSeries
11733         target options.
11734         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
11735
11736 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11737
11738         * config/m68k/m68k.md: Replace all general_operand with
11739         nonimmediate_operand for all destinations.
11740         * config/m68k/m68k.c (not_sp_operand): Likewise.
11741
11742 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
11743
11744         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
11745
11746 2001-07-30  Richard Henderson  <rth@redhat.com>
11747
11748         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
11749         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
11750
11751 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11752
11753         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
11754         Add missing doc strings
11755         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
11756         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
11757
11758 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
11759
11760         * i386.c (ix86_output_main_function_alignment_hack): New function.
11761         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
11762
11763         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
11764         edges by EDGE_DFS_BACK flag.
11765         (dump_edge_info): Add dfs_back flag.
11766         * basic-block.h (EDGE_DFS_BACK): New constant.
11767         (mark_dfs_back_edges): Declare.
11768         * alias.c (loop_p): Remove.
11769         (mark_constant_function): Use mark_dfs_back_edges.
11770
11771         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
11772         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
11773         (compensate_edge): Break out from ...
11774         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
11775         (convert_regs_2): Set block_done once block is really done;
11776         Do updating of the predecessors counts.
11777
11778         * toplev.c (rest_of_compilation): Recompute block_for_insn
11779         before post-reload cfg_cleanup.
11780         * function.c (thread_prologue_epilogue_insns):
11781         Call set_block_for_new_insns when emitting prologue directly.
11782
11783 2001-07-30  Andreas Jaeger  <aj@suse.de>
11784
11785         * jump.c: Add prototype for mark_modified_reg.
11786
11787         * cse.c (set_live_p): Add unused attribute.
11788
11789         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
11790         overflow.
11791         (scan_for_source_files): Use long for count to avoid overflow.
11792         (output_data): Likewise.
11793         (output_data): Don't use string concatatenation to silence gcc
11794         -traditional.
11795
11796         * predict.c: Fix typos and grammar.
11797
11798         * gcse.c (insert_insn_end_bb): Remove unused variables.
11799
11800 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
11801
11802         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
11803         (attempt_auto_inc): LIkewise.
11804         (mark_used_reg): Likewise.
11805         (try_pre_increment_1): Likewise.
11806         * regclass.c (regclass): Likewise.
11807         * global.c (allocno_compare): Update comment; change scaling factor.
11808         * local-alloc.c (QTY_CMP_PRI): Likewise.
11809         * regs.h (REG_FREQ_FROM_BB): New.
11810         (REG_FREQ_MAX): Likewise.
11811
11812 2001-07-30  H.J. Lu <hjl@gnu.org>
11813
11814         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
11815         -D_GNU_SOURCE.
11816
11817 2001-07-30  H.J. Lu  (hjl@gnu.org)
11818
11819         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
11820         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
11821         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
11822
11823 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
11824
11825         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
11826         as -mthumb-interwork when -mcpu=arm7 is specified.
11827
11828 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11829
11830         * predict.def (noreturn, loop branch, loop exit): Mark as first
11831         match heuristics.
11832
11833 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
11834
11835         * combine.c (try_combine): Avoid barrier after noop jumps.
11836
11837 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11838
11839         * cpphash.h (struct cpp_reader): Remove import_warning.
11840         * cpplib.c (skip_rest_of_line): Don't bother turning off
11841         macro expansion.
11842         (parse_include): Move include handling to...
11843         (do_include_common): ... here.  Move import warning from...
11844         (do_import): ... here.
11845         (do_pragma_poison): Don't do a callback for poison identifiers.
11846         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
11847         * cppmain.c (setup_callbacks): Similarly.
11848
11849 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
11850
11851         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
11852         handle multiple sets.
11853         * except.c (sjlj_mark_call_sites): .... here.
11854         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
11855
11856 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
11857
11858         Suggested by Richard Henderson and Richard Kenner:
11859         * combine.c (recog_for_combine): Use the fake recog
11860         only if instruction does not match.
11861         * rtl.h (NOOP_MOVE_INSN_CODE): New.
11862         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
11863
11864         * combine.c (try_combine): Discover noop jump as direct jump.
11865
11866 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
11867
11868         * df.c (df_rd_global_compute): Add successors to worklist, not
11869         current item.
11870         (df_ru_global_compute): Ditto.
11871
11872 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
11873
11874         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
11875         increment REG_N_SETS.
11876
11877 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
11878
11879         * sbitmap.h: New prototype for sbitmap_a_xor_b.
11880
11881         * sbitmap.c (sbitmap_a_xor_b): New function.
11882         ifdef the basic block stuff on IN_GCC.
11883
11884 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11885
11886         * cppexp.c (parse_defined): Always record the macro name.
11887         (lex): Don't worry about identifiers, or special-case
11888         CPP_NOT here.
11889         (_cpp_parse_expr): Figure out at the end of the routine
11890         whether we saw a valid !defined() expression.
11891         * cppfiles.c (stack_include_file): Update for mi_valid.
11892         (_cpp_pop_file_buffer): Similarly.
11893         * cpplex.c (_cpp_lex_token): Similarly.
11894         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
11895         mi_if_not_defined, mi_lexed): Remove.
11896         (mi_valid): New.
11897         * cpplib.c (do_if): Simplify.
11898         (do_endif, push_conditional, _cpp_handle_directive): Update
11899         for renaming of mi_state to mi_valid.
11900 doc:
11901         * cpp.texi: Add index entries for digraphs, and add comment
11902         that C++ refers to them as alternative tokens.
11903
11904 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
11905
11906         * basic-block.h (CLEANUP_PRE_LOOP): New.
11907         * except.c (finish_eh_generation): Update call of cleanup_cfg.
11908         * sibcall.c (optimize_sibling_calls): Likewise.
11909         * toplev.c (rest_of_compilation): Likewise.
11910         * flow.c (try_forward_edges): Take argument MODE;
11911         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
11912         (try_optimize_cfg): Update call of try_forward_edges.
11913
11914 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
11915                                 Jan Hubicka  <jh@suse.cz>
11916
11917         * (validate_replace_rtx_1): Fix simplification of MINUS.
11918
11919 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
11920
11921         PR preprocessor/3669
11922         * cppinit.c (init_dependency_output): Turn off dump requests
11923         if sending dependencies to stdout.
11924
11925 2001-07-28  Richard Henderson  <rth@redhat.com>
11926
11927         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
11928         not optimizing.
11929
11930 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
11931
11932         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
11933
11934 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11935
11936         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
11937         is VAR_DECL first to prevent an ICE.
11938
11939 2001-07-28  Richard Henderson  <rth@redhat.com>
11940
11941         * varasm.c (immed_real_const_1): Don't elide special cases for
11942         nested functions.
11943         (clear_const_double_mem): Clear const_tiny_rtx too.
11944
11945 2001-07-28  Richard Henderson  <rth@redhat.com>
11946
11947         * dwarf2out.c (dw_val_class_offset): New.
11948         (struct dw_ranges_struct, dw_ranges_ref): New.
11949         (ranges_table, ranges_table_allocated): New.
11950         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
11951         (add_AT_offset, add_ranges, output_ranges): New.
11952         (print_die, output_die): Handle dw_val_class_offset.
11953         (attr_checksum, size_of_die, value_format): Likewise.
11954         (gen_lexical_block_die): Handle non-contiguous blocks.
11955         (gen_block_die): Likewise.
11956         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
11957         if needed.  Dump the ranges table.
11958         * final.c (final_start_function): Remove unnecessary notes and
11959         rebuild the block tree before numbering the blocks.
11960         * function.c (reorder_blocks_0): Walk the existing block tree
11961         to unmark all blocks.
11962         (reorder_blocks_1): Create block fragments when duplicate block
11963         notes are seen.
11964         (reorder_fix_fragments): New.
11965         (reorder_blocks): Call it.
11966         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
11967
11968 2001-07-28  Richard Henderson  <rth@redhat.com>
11969
11970         * emit-rtl.c (adjust_address): Make a copy of the memory address.
11971
11972 2001-07-28  Richard Henderson  <rth@redhat.com>
11973
11974         * flow.c (add_to_mem_set_list): New function.
11975         (init_propagate_block_info): Use it.
11976         (mark_set_1): Likewise.
11977         (insn_dead_p): Canonicalize memory address for dead store
11978         comparison.  Allow wider mode stores to kill narrower mode stores.
11979         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
11980         (invalidate_mems_from_set): Don't handle MEMs.
11981
11982 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11983
11984         * config/h8300/h8300.h: Fix formatting.
11985
11986 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11987
11988         * basic-block.h (EDGE_FREQUENCY): New macro.
11989         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
11990         for new BB/edges.
11991         * flow.c (find_sub_basic_blocks): Likewise.
11992         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
11993         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
11994
11995         * predict.c (DEF_PREDICTOR): New argument FLAGS.
11996         (HITRATE): New macro.
11997         (PRED_FLAG_FIRST_MATCH): New constant.
11998         (predictor_info): New field flgags.
11999         (combine_predictions_for_insn): Use DS theory to combine
12000         probabilities; set the edge probabilities when finished.
12001         (estimate_probability): Avoid duplicated matches
12002         of LOOP_BRANCH heuristics for nested loops; update comment.
12003         * predict.def: Add flags for each prediction, set probabilities
12004         according to B&L paper.
12005         * predict.h (DEF_PREDICTOR): New argument FLAGS.
12006
12007         * profile.c (compute_branch_probabilities):  Cleanup way the edge
12008         probabilities are computed and REG_BR_PROB notes are dropped; if
12009         values does not match, emit error.
12010         (init_branch_prob): Do error instead of warning when profile driven
12011         feedback is missing or corrupt.
12012
12013 2001-07-27  DJ Delorie  <dj@redhat.com>
12014
12015         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
12016         against a constant, try to adjust the compare to have the desired
12017         constant in it so that min/max optimizations happen more often.
12018
12019 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12020
12021         * flow.c (last_loop_beg_note): New function.
12022         (redirect_edge_and_branch): Use it.
12023         (split_edge): Likewise.
12024
12025         * alias.c (loop_p): Avoid uninitialized memory access.
12026
12027         * flow.c (try_forward_edges): Avoid accessing freed memory.
12028
12029         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
12030         variable access.
12031
12032 2001-07-26  Andrew Haley  <aph@redhat.com>
12033         Joern Rennecke <amylaar@redhat.com>
12034
12035         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
12036         (SUBTARGET_CPP_ENDIAN_SPEC): New.
12037         (SUBTARGET_CPP_SPEC): New.
12038         (CPP_SPEC): Remove.
12039         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
12040         (SUBTARGET_CPP_PTR_SPEC): New.
12041         (CPP_DEFAULT_CPU_SPEC): New.
12042         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
12043         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12044         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
12045         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12046         (SUBTARGET_CPP_SPEC): Define as an empty string.
12047
12048 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12049
12050         * doc/install.texi (Configuration): Properly link the host
12051         specific instructions also when generating HTML.
12052
12053 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
12054
12055         * flow.c (redirect_edge_and_branch_force): Test
12056         target->global_live_at_start.
12057
12058 2001-07-26  Richard Henderson  <rth@redhat.com>
12059
12060         * simplify-rtx.c (avoid_constant_pool_reference): Export.
12061         * rtl.h (avoid_constant_pool_reference): Declare it.
12062         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
12063         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
12064
12065 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12066
12067         * rtl.h (cleanup_barriers): Declare.
12068         * jump.c (cleanup_barriers): New function.
12069         * toplev.c (rest_of_compilation): Call cleanup_barriers
12070         before loop optimizer and after bb_reorder.
12071
12072         * flow.c (back_edge_of_syntactic_loop_p): New.
12073         (split_edge): Use it.
12074
12075 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12076
12077         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
12078
12079 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
12080
12081         * cse.c (cse_process_notes): Replace any registers if the address
12082         remains valid.
12083
12084 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
12085
12086         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
12087         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
12088         (propagate_block): Update prototype.
12089         * flow.c (update_life_info): Simplify the CFG and
12090         recalculate the global regs which are alive when
12091         removing dead code during a global update.
12092         (propagate_block): Return non-zero if an INSN is
12093         deleted.
12094
12095 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12096
12097         * Makefile.in (LIBICONV): Define.
12098
12099 2001-07-26  Catherine Moore  <clm@redhat.com>
12100
12101         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
12102         of conditional to avoid tree checking errors.
12103
12104 2001-07-26  Kazu Hirata  <kazu@hxi.com>
12105
12106         * regmove.c (regmove_optimize): Don't replace a reg with
12107         another reg of a different mode.
12108
12109 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
12110
12111         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
12112         limit length of dependency flush list.
12113         * params.h (MAX_PENDING_LIST_LENGTH): Define.
12114         * sched-int.h  (struct deps): Add pending_flush_length field.
12115         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
12116         has 1 element in it.
12117         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
12118         (sched_analyze): After a jump, if the pending memory flush list is too
12119         large, flush the pending lists.
12120         (init_deps): Initialize pending_flush_length to 0.
12121         * doc/invoke.texi (max_pending_list_length): Document parameter.
12122
12123 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
12124
12125         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
12126         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
12127         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
12128
12129 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12130
12131         * cpphash.h (struct_lexer_state): Delete was_skipping.
12132         Move skipping here from struct cpp_reader.
12133         * cpplex.c (parse_identifier): Update.
12134         (_cpp_lex_token): Don't skip tokens in a directive.
12135         * cpplib.c (struct if_stack): Update.
12136         (start_directive, end_directive): Don't change skipping state.
12137         (_cpp_handle_directive): Update.
12138         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
12139         (do_else, do_endif): Update; only check for excess tokens if not
12140         in a skipped conditional block.
12141         (push_conditional): Update for new struct if_stack.
12142
12143 2001-07-26  Graham Stott  <grahams@redhat.com>
12144
12145         * function.c (locate_and_pad_parm): Also pad initial offset
12146         so that the total argument size also includes the padding.
12147
12148 2001-07-26  Graham Stott <grahams@redhat.com>
12149
12150         * gensupport.c (alter_output_for_insn): Correct enable checking failure
12151         change XSTR to XTMPL.
12152
12153         (process_one_cond_exec): Likewise
12154
12155 2001-07-25  Richard Henderson  <rth@redhat.com>
12156
12157         * varasm.c (assemble_variable): Create DECL_RTL before setting
12158         TREE_ASM_WRITTEN.
12159
12160 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
12161
12162         * predict.c (estimate_probability): Avoid duplicated predictions.
12163
12164         * loop.c (find_and_verify_loops): Grok multiple barriers.
12165
12166 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12167
12168         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
12169
12170         * dbxout.c: Consistently use putc instead of fputc.
12171         (print_wide_int): New function; call instead of direct fprintf.
12172         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
12173         (dbxout_type_fields, dbxout_type_method_1): Likewise.
12174         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
12175         (print_int_cst_octal): Likewise.
12176         (print_octal): Show we wrote characters.
12177         (dbxout_type): Set have_used_extensions in more places.
12178
12179 2001-07-25  Catherine Moore  <clm@redhat.com>
12180
12181         * config/v850/v850.c (v850_va_arg):  Use addr
12182         instead of valist to build incr.
12183
12184 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
12185
12186         * flow.c (delete_dead_jumptables): New function.
12187         (life_analyzis): Call it.
12188         * bb-reorder.c (skip_insns_after_block): Handle contradictory
12189         sequences.
12190
12191 2001-07-25  Richard Henderson  <rth@redhat.com>
12192
12193         * except.c (reachable_handlers): Handle a region being removed
12194         out from under a RESX.
12195
12196 2001-07-25  Richard Henderson  <rth@redhat.com>
12197
12198         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
12199         swap GE/GT if it is an fp comparison.
12200
12201 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
12202
12203         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
12204         operands.
12205
12206 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
12207
12208         * ssa.c (rename_insn_1): Do not wrap an assignment to a
12209         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
12210         glitch.
12211
12212         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
12213         throw an exception.
12214         (visit_expression): When attempting to simplify an expression,
12215         retrieve any modes for arguments before they are simplified
12216         to constants.
12217
12218 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
12219             Janis Johnson  <janis@us.ibm.com>
12220
12221         * stmt.c (expand_goto): A nonlocal goto can be a call too.
12222         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
12223         pointer parameters to match documented usage of nonlocal_goto.
12224         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
12225         parameters to their correct order.
12226         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
12227         parameters to their correct order.
12228
12229 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
12230
12231         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
12232
12233 2001-07-25  Jan Hubicka  <jh@suse.cz>
12234             Richard Henderson  <rth@redhat.com>
12235
12236         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
12237         the sequence.
12238         (make_edges): New argument update_p; populate the edge cache if set.
12239         (find_basic_blocks): Update make_edges invocation.
12240
12241 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12242
12243         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
12244
12245 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12246
12247         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
12248         -Acpu and -Amachine.h.
12249         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
12250         Corrected header to say ELF not a.out.
12251         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
12252         when given -msoft-float.
12253
12254 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12255
12256         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
12257         extra multilib parts like arm-elf.
12258         (i960-*-coff*, i960-*-rtems): Should not use collect2.
12259         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
12260         crtfini.o as extra multilib parts.
12261
12262 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12263
12264         * configure.in: Add rtems as a supported thread model.
12265         * gthr-rtems.h: Add missing entry point __gthread_active_p.
12266         * configure: Rebuilt.
12267
12268 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
12269
12270         * stor-layout.c (get_mode_alignment): make it work when
12271         BITS_PER_UNIT is not a power of two.
12272         * builtins.c (get_pointer_alignment): Likewise.
12273
12274 2001-07-24  Richard Henderson  <rth@redhat.com>
12275
12276         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
12277         the retrieved constant into the expected mode.
12278
12279 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
12280
12281         * flow.c (try_simplify_condjump): Avoid duplicated edges.
12282         (verify_flow_info): Check for duplicated edges; clarify
12283         error reporting.
12284
12285         * flow.c (block_label): Update basic_block_for_insn.
12286         (commit_edge_insertions): Call compute_bb_for_insn.
12287
12288         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
12289         returns too.
12290
12291         * flow.c (redirect_edge_and_branch,
12292         try_optimize_cfg): Use redirect_edge_succ_nodup
12293         (redirect_edge_succ_nodup): New.
12294         * basic_block.h (redirect_edge_succ_nodup): Declare.
12295
12296         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
12297         after gcse.
12298
12299 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
12300
12301         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
12302         (try_crossjump_to_edge): Update commetns.
12303         (try_crossjump_bb): Likewise.
12304
12305 2001-07-24  Richard Henderson  <rth@redhat.com>
12306
12307         * combine.c (distribute_notes): Move set of need_refresh
12308         for noop_move_p down to catch all cases.
12309
12310 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
12311
12312         * recog.c (split_all_insns_noflow): New.
12313         * rtl.h (split_all_insns_noflow): Declare.
12314         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
12315         * m68hc11.c (m68hc11_reorg): Likewise.
12316         * sh.c (machine_dependent_reorg): Likewise.
12317         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
12318         call.
12319
12320 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
12321
12322         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
12323         (ashlsi3_n splitter): Likewise.
12324         (lshrsi3_n splitter): Likewise.
12325
12326         (GOTaddr2picreg): Make const SImode.
12327         (sym_label2reg): Likewise.
12328         (symGOT2reg): Likewise.
12329         (symGOTOFF2reg) Likewise.
12330
12331         (casesi_worker_0): Make unspec SImode.
12332
12333 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
12334
12335         * config/sh/sh.c (barrier_align): Check that an operand really is
12336         an insn before extracting its INSN_CODE.
12337
12338 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
12339
12340         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
12341         dangling else.
12342
12343         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
12344         for SImode to prevent overflow.
12345
12346 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12347
12348         * config/mips/irix6-libc-compat.c: New file.
12349         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
12350         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
12351         passing workaround.
12352
12353 2001-07-24  lars brinkhoff  <lars@nocrew.org>
12354
12355         * rtl.texi (REG_POINTER): Document.
12356         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
12357         QFmode, HFmode, TQFmode, QCmode, and HCmode.
12358
12359 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
12360
12361         * flow.c (delete_noop_moves): Do not confuse libcall regions.
12362
12363 2001-07-23  Richard Henderson  <rth@redhat.com>
12364
12365         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
12366
12367 2001-07-23  Kazu Hirata  <kazu@hxi.com>
12368
12369         * config/h8300/h8300-protos.h: Add a prototype for
12370         general_operand_dst_push.
12371         * config/h8300/h8300.c (general_operand_dst_push): New.
12372         * config/h8300/h8300.h (OK_FOR_T): New.
12373         (EXTRA_CONSTRAINT): Use it.
12374         * config/h8300/h8300.md (movqi_push): Remove and integrate into
12375         the existing movqi pattern.
12376         (movhi_push): Likewise.
12377
12378         * reload.c: Fix comment typos.
12379
12380 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
12381
12382         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
12383
12384 2001-07-23  H.J. Lu  (hjl@gnu.org)
12385
12386         * doc/extend.texi: Update __builtin_return_address and
12387         __builtin_frame_address.
12388
12389 2001-07-23  Richard Henderson  <rth@redhat.com>
12390
12391         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
12392         before CSE.
12393         * config/i386/i386.md: New setcc+movzbl peephole2.
12394
12395 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12396
12397         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
12398         * objc/objc-act.c: Include debug.h.
12399         (synth_module_prologue): Save and restore debug hooks too.
12400
12401 2001-07-23  lars brinkhoff  <lars@nocrew.org>
12402
12403         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
12404         and C4X_FLOAT_FORMAT.
12405         (BOOL_TYPE_SIZE): Document.
12406
12407 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
12408
12409         * unroll.c (loop_iterations): Fix miscalculation of initial
12410         giv offset.
12411
12412 2001-07-13  Andrew Haley  <aph@redhat.com>
12413
12414         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
12415         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
12416         * config/sh/sh.c (sh_can_redirect_branch): New function.
12417         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
12418         * reorg.c (steal_delay_list_from_target): Use
12419         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
12420
12421 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
12422
12423         * flow.c (try_simplify_condjump): Unlink insn chain on
12424         fallthru edge; use can_fallthru.
12425
12426 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
12427
12428         * basic-block.h (find_sub_basic_block): Declare.
12429         * flow.c (make_edges): New arguments MIN and MAX;
12430         (find_sub_basic_blocks): Revamp to use make_edges
12431         and purge_dead_edges.
12432         (find_basic_blocks): Update call of find_sub_basic_block.
12433
12434         * recog.c (split_all_insns): Always expect CFG to be consistent;
12435         call find_sub_basic_blocks in case something has changed.
12436         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
12437         has been built.
12438
12439         * basic-block.h (delete_noop_moves): Declare.
12440         * combine.c (combine_instructions): Call it.
12441         (recog_for_combine): Tolerate noop moves
12442         (distribute_notes): Force refresh when register dies at noop move.
12443         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
12444         too.
12445         (life_analysis): Update delete_noop_moves call.
12446         (set_noop_p): Move too ...
12447         * rtlanal.c (noop_move_p): ... here.
12448         * rtl.h (noop_move_p): Declare.
12449
12450         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
12451         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
12452         after combine.
12453         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
12454         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
12455
12456 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
12457
12458         * reload.c (push_reload): Fix typo in comment.
12459         (find_reloads_address): Ditto.
12460         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
12461
12462 2001-07-22  Richard Henderson  <rth@redhat.com>
12463
12464         * flow.c: Grammar check and clarify a lot of comments.
12465         (try_simplify_condjump): Rename variables to be clearer.
12466         (try_forward_edges): Skip complex and fallthru edges.
12467         Rearrange tests to avoid duplicate checks.
12468         (flow_find_cross_jump): Likewise.
12469         (outgoing_edges_match): Allow match if neither branch has
12470         probability data.  Loosen probability match to 5%.
12471         (try_crossjump_to_edge): Hoist repeated indirection into
12472         local variables.
12473         (try_crossjump_bb): Don't check complex edges.  Eliminate
12474         redundant crossjump tests.
12475         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
12476         checks before more expensive checks.
12477
12478 2001-07-22  Richard Henderson  <rth@redhat.com>
12479
12480         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
12481         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
12482         arguments.
12483
12484 2001-07-22  Richard Henderson  <rth@redhat.com>
12485
12486         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
12487         (const_sint32_operand): Likewise.
12488         * m68k.md (anon mulsi pattern): Use const_int_operand not
12489         const_sint32_operand.
12490         (umulsi3_highpart): Zero extend a constant input.
12491         (smulsi3_highpart): Don't bother checking SImode constant.
12492         (const_umulsi3_highpart): Give op3 DImode.
12493         (const_smulsi3_highpart): Likewise.
12494
12495 2001-07-22  Richard Henderson  <rth@redhat.com>
12496
12497         * flow.c (split_block): Make sure bb_note is included in the
12498         new block when splitting before a label.
12499
12500 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
12501
12502         * basic-block.h (redirect_edge_and_branch_force,
12503         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
12504         * flow.c (redirect_edge_and_branch_force,
12505         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
12506         (redirect_edge_and_branch_force): Fix copying of lifeness information.
12507         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
12508         * ifcvt.c (dead_or_predictable): Take BB as an new destination
12509         instead of label; update CFG after transformation.
12510         (find_if_case_1): Update call, use redirect_edge_and_branch_force
12511         for finishing the transformation; handle even case where ELSE
12512         does not follow THEN.
12513         (find_if_case_2): Update call of dead_or_predictable; simplify
12514         CFG update.
12515
12516         * emit-rtl.c (split_branch_probability): New global variable.
12517         (try_split): Take care to set split_branch_probability and
12518         create REG_BR_PROB note for new jump insns.
12519         * md.texi (define_split): Document new feature.
12520
12521         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
12522
12523 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12524
12525         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
12526         (asm_out_file): Remove redundant declaration.
12527         (assemble_asm): Remove old #if 0 block.
12528         (assemble_variable): Remove end of function; debug output is
12529         now handled with global_decl.  Remove old #if 0 block.  Update.
12530         Remove saved_in_section and associated no-op code.
12531         * Makefile.in (varasm.o): Correct dependencies.
12532
12533 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
12534
12535         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12536         the definition in defaults.h.
12537
12538 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
12539
12540         * jump.c: Update comments.
12541         (delete_barrier_successors, delete_unreferenced_labels,
12542         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
12543         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
12544         jump_optimize, jump_optimize_minimal): Kill.
12545         (rebuild_jump_labels): Move code from jump_optimize_1.
12546         (purge_line_number_notes): Likewise.
12547         (copy_loop_headers): Likewise.
12548         * reg-stack.c: Update comment.
12549         * stmt.c: Likewise.
12550         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
12551         JUMP_AFTER_REGSCAN): Kill.
12552         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
12553         purge_line_number_notes and copy_loop_headers.
12554
12555 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
12556            Richard Henderson  <rth@redhat.com>
12557
12558         * dbxout.c (dbxout_global_decl): New.
12559         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12560         * sdbout.c (sdbout_finish): New.
12561         (sdbout_debug_hooks): Use it, add comments.
12562         (sdbout_global_decl): Defer initialised public vars to
12563         sdbout_finish.
12564         * varasm.c (assemble_variable): Don't output debug information
12565         for file-scope variables.
12566
12567 2001-07-22  Richard Henderson  <rth@redhat.com>
12568
12569         * config/alpha/alpha.c (get_trap_mode_suffix): New.
12570         (get_round_mode_suffix): New.
12571         (print_operand): Use them for [/].  Remove support for [&'`()+].
12572         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
12573         * config/alpha/alpha.md (attr round_suffix): New.
12574         (attr trap_suffix): New.
12575         (all insns): Set them appropriately.  Use %/ instead of the
12576         myriad punctuators.
12577
12578 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12579
12580         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
12581
12582 2001-07-22  Richard Henderson  <rth@redhat.com>
12583
12584         * regrename.c (regrename_optimize): Compute nregs for each
12585         potential target register.
12586
12587 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
12588            Richard Henderson  <rth@redhat.com>
12589
12590         * dbxout.c (dbxout_global_decl): New.
12591         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12592         * sdbout.c (sdbout_finish): New.
12593         (sdbout_debug_hooks): Use it, add comments.
12594         (sdbout_global_decl): Defer initialised public vars to
12595         sdbout_finish.
12596         * varasm.c (assemble_variable): Don't output debug information
12597         for file-scope variables.
12598
12599 2001-07-21  H.J. Lu  (hjl@gnu.org)
12600
12601         * config/mips/mips.c (mips_cpu): Moved into ...
12602         (override_options): Here.
12603
12604         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12605         mips_tune.
12606         (mips_cpu): Removed.
12607
12608 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12609
12610         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12611         ("iorqi3"): Likewise.
12612         ("xorqi3"): Likewise.
12613         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12614         ("*subhi3_sp): Likewise.
12615         ("*subhi3"): Likewise.
12616         ("extendhisi2"): Accept D, X and Y as source operand to avoid
12617         reload problems.
12618
12619 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
12620
12621         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12622         * config/freebsd.h: Likewise.
12623         * config/linux.h: Likewise.
12624         * config/openbsd.h: Likewise.
12625         * config/alpha/linux-elf.h: Likewise.
12626         * config/arm/linux-elf.h: Likewise.
12627         * config/d30v/d30v.h: Likewise.
12628         * config/fr30/fr30.h: Likewise.
12629         * config/ia64/aix.h: Likewise.
12630         * config/ia64/ia64.h: Likewise.
12631         * config/mips/linux.h: Likewise.
12632         * config/pj/pj.h: Likewise.
12633         * config/rs6000/linux.h: Likewise.
12634         * config/sparc/linux.h: Likewise.
12635         * config/sparc/linux64.h: Likewise.
12636
12637 2001-07-20  Bruce Korb  <bkorb@gnu.org>
12638
12639         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
12640         because getc() and char* may disagree on signedness.
12641
12642 2001-07-20  Richard Henderson  <rth@redhat.com>
12643
12644         * doc/rtl.texi (REG_DEAD): Update for current semantics.
12645
12646         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
12647         insns to delete in the presence of cc0 in a jump insn.
12648
12649 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
12650                                 Jan Hubicka  <jh@suse.cz>
12651
12652         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
12653         of doing the change by hand.
12654
12655 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
12656
12657         * rtlanal.c (set_noop_p): Return true for noop jumps.
12658
12659         * expr.c (emit_single_push_insn): Add call to push expander.
12660         * expr.h (optab_index): Add OTI_push
12661         (push_optab): New constant.
12662         * genopinit.c (optabs): Add push_optab.
12663         * optabs.c (init_optab): Init push optab.
12664         * md.texi (push??1): Document
12665
12666 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12667
12668         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
12669         expand to emit the pattern; put a REG_INC note for push/pop
12670         instructions.
12671         ("movdf", "movdf_internal"): Likewise.
12672         ("movsi", "movsi_internal"): Likewise.
12673         ("movsf", "movsf_internal"): Likewise.
12674         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
12675
12676 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12677
12678         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
12679         gen_highpart.
12680
12681 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
12682
12683         * params.def: Change default max inline insns to 100.
12684
12685 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
12686
12687         * combine.c (combine_simplify_rtx): Generate a new shift operation
12688         when simplifying the first operand of a (neg (ashift)) expression.
12689
12690 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12691
12692         * regclass.c (N_REG_INTS): Use only 32 bits per element.
12693
12694 2001-07-20  Kelley Cook  <kelley.cook@home.com>
12695
12696         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
12697         information.   Move rest into ...
12698         (*-*-solaris): ... here.  Eliminate redundant information and
12699         reword necessary packages section.  Delete 4.x assembler bug info.
12700         (sparc-sun-*): Merge into ...
12701         (sparc-sun-sunos*): here.
12702
12703 2001-07-20  Catherine Moore  <clm@redhat.com>
12704
12705         * config/v850/v850.md (casesi): Generate LABEL_REF
12706         with Pmode.
12707
12708 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12709
12710         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
12711         * i386.c (ix86_zero_extend_to_Pmode): Make global.
12712         * i386.md (strclrsi expander): Use it.
12713
12714 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12715
12716         * integrate.c (copy_insn_list): handle
12717         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
12718         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
12719         identically as to CODE_LABEL.
12720
12721         * fold-const (fold): Convert A/B/C to A/(B*C) and
12722         A/(B/C) to (A/B)*C
12723
12724         * except.c (connect_post_landing_pads): Delete the RESX insns.
12725
12726 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
12727
12728         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
12729
12730         * config/mips/mips.md (nmadd/nmsub): Use macro.
12731
12732 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
12733
12734         * cppinit.c (remove_dup_dir): Make static.
12735         (remove_dup_dirs): Make static. Only warn about preempting a
12736         system directory with a non-system directory.
12737
12738 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12739
12740         * ifcvt.c (noce_try_store_flag_constants): Correct order
12741         of parameters to trunc_int_for_mode.
12742
12743 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
12744
12745         * reorg.c (fill_simple_delay_slots): If an instruction might throw
12746         an exception that will be caught within this function, do not fill
12747         its delay slot with any subsequent instruction.
12748
12749 2001-07-19  Steve Ellcey <sje@cup.hp.com>
12750
12751         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
12752         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
12753         pointer extension instruction.
12754         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
12755         * simplify-rtx.c (simplify_unary_operation) Likewise.
12756         * explow.c (convert_memory_address) Check value of
12757         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
12758         less than zero.
12759         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
12760         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
12761         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
12762         Add Multilib Support.
12763         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
12764         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
12765         Add Multilib Support.
12766         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
12767         support.
12768         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
12769         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
12770         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
12771
12772 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
12773
12774         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
12775         old and new operands in `<', `3' and `b'.
12776
12777 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12778
12779         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
12780         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
12781         (toplev.o): Don't depend on xcoffout.h.
12782         * c-decl.c: Include debug.h
12783         (duplicate_decls): Use debug hook.
12784         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
12785         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12786         (dbxout_types): Remove.
12787         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
12788         * debug.c (do_nothing_debug_hooks): Update.
12789         (debug_true_tree, debug_nothing_rtx): New.
12790         * debug.h (struct rtx_def): New.
12791         (struct gcc_debug_hooks): New hooks ignore_block,
12792         outlining_inline_function and label.
12793         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
12794         dwarf2out_frame_finish): New.
12795         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
12796         Make static, update prototype.
12797         (dwarf2_debug_hooks): Update.
12798         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
12799         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
12800         * dwarfout.c (dwarf_debug_hooks): Update.
12801         * emit-rtl.c: Include debug.h.
12802         (remove_unnecessary_notes): Use debug hook.
12803         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
12804         (final_scan_insn): Use debug hook.
12805         * integrate.c (output_inline_function): Use debug hook.
12806         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
12807         (sdb_debug_hooks): Update.
12808         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
12809         * toplev.c: Don't include xcoffout.h.
12810         (note_outlining_of_inline_function, debug_ignore_block): Remove.
12811         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
12812         Remove.
12813         * tree.h (dwarf2out_do_frame): Remove.
12814
12815 2001-07-19  Catherine Moore  <clm@cygnus.com>
12816
12817         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
12818
12819 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12820
12821         * reload1.c (eliminate_regs_in_insn): When updating a set
12822         to the frame pointer to the hardware frame pointer, perform
12823         the update always not just when REPLACE is set.
12824
12825         * reload1.c (choose_reload_regs): Don't inherit a reload
12826         that crosses multiple registers if registers past the first
12827         don't fit in the desired class.
12828
12829         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
12830         when negating constants.
12831
12832 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
12833
12834         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
12835         * doc/tree.texi: Ditto.
12836
12837 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
12838             Jakub Jelinek  <jakub@redhat.com>
12839
12840         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
12841         (extract_cie_info): Handle "eh" augmentation properly,
12842         remember eh_ptr.
12843         (struct frame_state, __frame_state_for): New.
12844
12845 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12846
12847         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
12848         HANDLE_SYSV_PRAGMA): Define.
12849         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
12850         previous args.
12851         (copy_object): Caller changed.
12852
12853 2001-07-19  Andreas Schwab  <schwab@suse.de>
12854
12855         * configure.in (assembler dwarf2 debug_line support): Define nop
12856         insn for m68k.
12857         * configure: Regenerated.
12858
12859 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12860
12861         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
12862         dwarfout.h.
12863         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
12864         to conditionally compiled block.
12865         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12866         * dbxout.h (dbxout_function): Remove.
12867         * debug.c (do_nothing_debug_hooks): Update.
12868         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
12869         global_decl, deferred_inline_function.
12870         * dwarf2out.c (dwarf2_debug_hooks): Update.
12871         (dwarf2out_global_decl): New.
12872         * dwarfout.c: Don't include dwarfout.h.
12873         (dwarfout_global_decl, dwarfout_function_decl,
12874         dwarfout_deferred_inline_function): New.
12875         (dwarf_debug_hooks): Update.
12876         * dwarfout.h: Remove.
12877         * final.c: Don't include dwarfout.h.
12878         * sdbout.c (sdbout_global_decl): New.
12879         (sdbout_debug_hooks): Update.
12880         * toplev.c: Don't include dwarfout.h.
12881         (check_global_declarations, rest_of_compilation): Use new debug hooks.
12882         (note_deferral_of_defined_inline_function): Remove.
12883         * toplev.h (note_deferral_of_defined_inline_function): Remove.
12884         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
12885         * ch/lex.c: Don't include dwarfout.h.
12886         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
12887         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
12888         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
12889         * cp/optimize.c: Include debug.h.
12890         (maybe_clone_body): Use debug hook.
12891         * cp/semantics.c: Include debug.h.
12892         (expand_body): Use debug hook.
12893         * po/POTFILES.in: Remove dwarfout.h.
12894
12895 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12896
12897         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
12898         * c-parse.in (yyerror, _yylex): Similarly.
12899         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
12900         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
12901         Update comments.
12902         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
12903         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
12904
12905 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
12906
12907         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
12908         in-class declaration at -g1.  Fixes c++/2814.
12909
12910 2001-07-18  Richard Henderson  <rth@redhat.com>
12911
12912         * doc/md.texi (reload_in/out): Document restrictions in predicates
12913         and constraints for these patterns.  Document empty string matching
12914         ALL_REGS.
12915
12916 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12917
12918         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
12919
12920 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12921
12922         * cse.c: Undo my previous patch.
12923
12924 2001-07-18  Tom Tromey  <tromey@redhat.com>
12925
12926         For PR java/2812:
12927         * configure: Rebuilt.
12928         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
12929         instead.
12930         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
12931
12932 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
12933                                 Jan Hubicka  <jh@suse.cz>
12934
12935         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
12936         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
12937         * jump.c (mark_jump_label): Do not forward branches.
12938
12939 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
12940
12941         * cse.c (delete_trivially_dead_insns): Delete the libcall block
12942         when return value is unused.
12943
12944 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12945
12946         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
12947
12948 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
12949
12950         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
12951         on error.  We can't blindly return the result of
12952         pthread_mutex_trylock because it returns a positive number on
12953         error, while we must return -1 on error.
12954         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
12955         fixes.
12956         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
12957
12958 2001-07-18  Andreas Jaeger  <aj@suse.de>
12959
12960         * integrate.c (output_inline_function): Correct type of debug_hooks.
12961
12962 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
12963
12964         * combine.c (combine_simplify_rtx): DIV can be treated
12965         associatively for floats if unsafe math optimisations are enabled.
12966
12967 2001-07-17  Richard Henderson  <rth@redhat.com>
12968
12969         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
12970
12971 2001-07-17  Richard Henderson  <rth@redhat.com>
12972
12973         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
12974         don't force the function address into a register.
12975         (expand_call, emit_library_call_value_1): Update callers.
12976         * builtins.c (expand_builtin_apply): Likewise.
12977         * expr.h (prepare_call_address): Update decl.
12978
12979 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
12980
12981         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
12982         config directory.
12983         * config/i386/chorus.h: Move up.
12984         * config/sparc/chorus.h: Likewise.
12985         * config/rs6000/chorus.h: Likewise.
12986         * config/chorus.h: Moved here.
12987
12988 2001-07-17  Andreas Schwab  <schwab@suse.de>
12989
12990         * configure.in  (assembler eh_frame optimization): Handle big
12991         endian.
12992         * configure: Regenerated.
12993
12994 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
12995
12996         * expr.c (epxand_expr): Convert divisions into multiplications by
12997         reciprocals if -ffast-math.
12998
12999 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13000
13001         * dbxout.c (dbxout_really_begin_function): Rename to
13002         dbxout_begin_function.
13003         (dbx_debug_hooks, xcoff_debug_hooks): Update.
13004         (dbxout_begin_function): Remove.
13005         (dbxout_function): Update.
13006         (dbxout_source_line): Update prototype.
13007         * dbxout.h (dbxout_begin_function): Remove.
13008         * debug.c (do_nothing_debug_hooks): Update.
13009         (debug_nothing_tree): Update.
13010         (debug_nothing_charstar_rtx): Remove.
13011         * debug.h (union tree_node): Declare.
13012         (struct rtx_def): Remove.
13013         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
13014         begin_function.  Change source_line prototype.
13015         (debug_nothing_tree): New.
13016         (debug_nothing_charstar_rtx): Delete.
13017         (dwarf2out_begin_prologue): Moved from ...
13018         * tree.h: ... here.
13019         * dwarf2out.c (dwarf2_debug_hooks): Update.
13020         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
13021         debug info, call dwarf2out_source_line.
13022         (dwarf2out_souce_line): Update prototype.
13023         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
13024         Change prototype, make static.
13025         (dwarfout_source_line): Update prototype.
13026         (dwarf_debug_hooks): Update.
13027         * dwarfout.h (dwarfout_begin_function): Remove.
13028         * final.c (final_start_function, final_scan_insn): Use appropriate
13029         debug hooks, update to use notice_source_line.
13030         (output_source_line): Rename notice_source_line.  Don't call the
13031         source_line debug hook.
13032         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
13033         make static, update prototype.
13034         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
13035         prototype.
13036         (sdbout_end_prologue): New.
13037         (sdbout_source_line): Update prototype.
13038         (sdbout_debug_hooks): Update.
13039         (sdbout_symbol): Remove unused var.
13040         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
13041         Delete.
13042         * varasm.c: Include debug.h.
13043         (assemble_start_function): Use begin_function debug_hook.
13044         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13045         update with prototype.
13046         (xcoffout_source_line): Update prototype.
13047         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13048         update prototype.
13049         (xcoffout_source_line): Update prototype.
13050
13051 2001-07-17  Richard Henderson  <rth@redhat.com>
13052
13053         * c-typeck.c (build_binary_op): Do not shorten unsigned
13054         right shift after sign extension.
13055
13056 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
13057
13058         * combine.c (combine_simplify_rtx): Attempt to simplify
13059         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
13060
13061         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
13062         (simplify_binary_operation, simplify_unary_operation,
13063          simplify_relational_operation): Use it.
13064
13065         * combine.c (combine_simplify_rtx): Don't do associative law
13066         on divisions; allow associative law on floats.
13067
13068 2001-07-17  H.J. Lu <hjl@gnu.org>
13069             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13070
13071         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
13072         ASM_OUTPUT_WEAK_ALIAS are defined.
13073         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
13074         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
13075         Moved ...
13076         * config/mips/iris5.h: ... here.
13077         (HANDLE_SYSV_PRAGMA): Defined as 1.
13078         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
13079         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
13080         symbol.
13081
13082 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
13083
13084         * c-parse.in (all_prefix_attributes): New variable.
13085         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
13086         (maybe_resetattrs): New production.
13087         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
13088         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
13089         notype_initdcl, nested_function, notype_nested_function,
13090         component_decl, components, components_notype,
13091         component_declarator, component_notype_declarator,
13092         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
13093         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
13094         after a comma being applied to more than one declarator.
13095         * doc/extend.texi (Attribute Syntax): Update.  Remove
13096         documentation of bugs that are no longer present.
13097
13098 2001-07-13  Eric Christopher  <echristo@redhat.com>
13099
13100         * config/mips/mips.h: Change TUNE_MIPS* options to use
13101         mips_tune.
13102         (EXTRA_SPECS): Add cc1_cpu_spec.
13103         * config/mips/mips.md (muldf3): Fix typo.
13104
13105 2001-07-16  Richard Henderson  <rth@redhat.com>
13106
13107         * config/m68k/m68k.c: Include expr.h and reload.h.
13108         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
13109         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
13110
13111 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
13112             Richard Henderson  <rth@redhat.com>
13113
13114         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
13115         (insn_live_p): Fix fall off end of function.
13116         (dead_libcall_p): Remove COUNTS argument; update callers.
13117         (delete_trivially_dead_insns): Remove unused variables.
13118
13119 2001-07-17  Andreas Jaeger  <aj@suse.de>
13120
13121         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
13122         x86-64 pic support.
13123
13124         * lcm.c (optimize_mode_switching): Avoid warning for unused
13125         variable if !NORMAL_MODE.
13126
13127         * flow.c (try_crossjump_to_edge): Remove unused variable.
13128
13129 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13130
13131         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
13132         atexit declaration in stdlib.h.
13133
13134 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
13135
13136         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
13137
13138 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13139
13140         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
13141         * except.c (finish_eh_generation): Update call of cleanup_cfg;
13142         do rebuild_jump_labels instead of jump_optimize
13143         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
13144         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
13145         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
13146
13147         * flow.c: Include timevar.h
13148         (find_basic_block): Push/pop timevar;
13149         (cleanup_cfg): Likewise.
13150         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
13151         * Makefile: Add dependencies on timevar.h
13152
13153         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
13154         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
13155
13156         * rtl.h (delete_trivially_dead_insns): Add new parameter.
13157         * toplev.c (rest_of_compilation): Update calls.
13158         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
13159         (delete_trivially_dead_insns): ... here; accept new argument
13160         preserve_basic_blocks; preserve basic blocks if set.
13161
13162         * reg-stack.c (stack_regs_mentioned): Return 0 if
13163         stack_regs_mentioned_data is not initialized.
13164         (reg_to_stack): Make stack_regs_mentioned survive after the
13165         reg-stack is completted; do not call cleanup_cfg.
13166         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
13167         make cleanup_cfg after bb-reorder to output to debug file.
13168
13169 2001-07-16  Richard Henderson  <rth@redhat.com>
13170
13171         * regclass.c (init_reg_sets): Use only 32 bits per initializer
13172         from int_reg_class_contents.
13173
13174 2001-07-16  Richard Henderson  <rth@redhat.com>
13175
13176         * hard-reg-set.h (regs_invalidated_by_call): Declare.
13177         * regclass.c (regs_invalidated_by_call): Move from cse.c.
13178         (init_reg_sets_1): Move initialization from cse_main.
13179         * cse.c (regs_invalidated_by_call): Move to regclass.c.
13180         (cse_main): Move its initialization also.
13181         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
13182         * flow.c (propagate_one_insn): Likewise.
13183         * gcse.c (compute_hash_table): Likewise.
13184         (compute_kill_rd, compute_store_table): Likewise.
13185         * sched-deps.c (sched_analyze_1): Likewise.
13186
13187 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
13188
13189         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
13190         gen_rtx_SET.
13191
13192 2001-07-16  Steve Ellcey <sje@cup.hp.com>
13193
13194         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
13195         in if statement so we don't access undefined memory.
13196
13197 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
13198
13199         * gcse.c: Update comment at top.
13200         Update comment on mem handling.
13201         mem_last_set, mem_first_set, mem_set_in_block: gone.
13202         Declaration of reg_set_info: gone.
13203         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
13204         pointless with load_killed_in_block_p (they are *more*
13205         conservative then it, not less, and less accurate).
13206         (oprs_not_set_p): Ditto.
13207         (alloc_gcse_mem): Don't allocate mem_set_in_block
13208         (free_gcse_mem): Don't free it, either.
13209         (record_last_mem_set_info): Update comment in front, remove
13210         mem_*set_* stuff. Note the reason we don't handle stores directly
13211         here.
13212         (compute_hash_table): Update comments to reflect reality. Remove
13213         mem_*set_* references.
13214         (reset_opr_set_tables): Remove mem_*set_* references.
13215         (mark_call): Ditto.
13216         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
13217         (mark_clobber): Ditto (on both parts, we double set here too).
13218         (expr_killed_p): Remove mem_set_in_block test.
13219         (compute_transp): Remove mem_set_in_block test.
13220
13221         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
13222         of edge, and removal of phi alternative to dump file.
13223         (ssa_ccp_substitute_constants): Add note about register now being
13224         constant, and which uses were replaced in what insns to dump file.
13225
13226 2001-07-16  Andreas Jaeger  <aj@suse.de>
13227
13228         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
13229         variables of type HOST_WIDEST_INT.
13230
13231         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
13232         (__bb_exit_func): Correct type of count_max to avoid overflow.
13233         (num_digits): Handle long long argument.
13234
13235         * combine.c (gen_lowpart_for_combine): Remove unused variable.
13236
13237 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13238
13239         * output.h (sdb_begin_function_line): Restore as an extern
13240         variable.
13241         * sdbout.c (sdb_begin_function_line): Make extern.
13242
13243 2001-07-15  Richard Henderson  <rth@redhat.com>
13244
13245         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
13246         * genrecog.c (maybe_both_true_mode): New.
13247         (maybe_both_true_2): Use it.
13248         (write_switch): Don't put Pmode in a switch.
13249         * rtl.c (mode arrays): Don't explicitly size them.
13250
13251 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
13252
13253         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
13254         handling; move unconditional splitting before mode switching.
13255
13256         * i386.md (type): Add fistp type.
13257         (i387, length_attr, scheduling definitions): Handle this type.
13258         (fix_trunc?f?i2): Revamp to use mode switching.
13259         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
13260         * i386.h (fp_cw_mode): New enum
13261         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
13262         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
13263
13264 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13265
13266         * Makefile.in (integrate.o): Add debug.h.
13267         * integrate.c (debug.h): Add.
13268         (output_inline_function): Save, reset, and restore debug_hooks.
13269
13270 2001-07-15  Richard Henderson  <rth@redhat.com>
13271
13272         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
13273         instead of COMPARE for the EQUIV expression.
13274
13275 2001-07-15  Richard Henderson  <rth@redhat.com>
13276
13277         * flow.c (redirect_edge_and_branch_force): Initialize
13278         global_live_at_start and global_live_at_end.
13279         (allocate_bb_life_data): Export.
13280         * basic-block.h (allocate_bb_life_data): Declare.
13281         * toplev.c (rest_of_compilation): Call it.
13282
13283 2001-07-15  Richard Henderson  <rth@redhat.com>
13284
13285         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
13286         (alpha_tablejump_best_label): New.
13287         * config/alpha/alpha-protos.h: Declare them.
13288         * config/alpha/alpha.md: Use braced strings for code blocks.
13289         (tablejump_osf): Break out add with r29.
13290         (tablejump_osf_internal): Remove.
13291         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
13292         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
13293
13294 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13295
13296         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
13297         of the movable.
13298
13299         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
13300
13301         * i386-protos.h (ix86_split_fp_branch): Update prototype.
13302         (ix86_fp_jump_nontrivial_p): New.
13303         * i386.md (fp_jcc_?): Update call of split_fp_branch;
13304         use ix86_fp_jump_nontrivial_p.
13305         * i386.c (ix86_fp_jump_nontrivial_p): New.
13306         (ix86_split_fp_branch): Accept code instead of rtx.
13307         (ix86_expand_compare): Expand comparison early in case
13308         doing so is resonably cheap.
13309
13310 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
13311
13312         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
13313         not 'machine'.
13314         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
13315         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
13316
13317 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
13318
13319         * dbxout.c (dbxout_source_line): Make static, update prototype.
13320         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
13321         (dbxout_init, dbxout_finish, dbxout_source_line,
13322         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
13323         * dbxout.h (dbxout_source_line): Delete.
13324         * debug.c (debug_nothing_file, debug_nothing_file_int,
13325         debug_nothing_file_charstar_rtx): New.
13326         (do_nothing_debug_hooks): Update.
13327         (debug_nothing_void, debug_nothing_charstar_rtx,
13328         dwarf2out_end_epilogue): New.
13329         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13330         * debug.h (struct rtx_def): Declare.
13331         (gcc_debug_hooks): New hooks source_line, end_epilogue
13332         and end_function.
13333         (debug_nothing_void, debug_nothing_charstar_rtx,
13334         dwarf2out_end_epilogue): New.
13335         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13336         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
13337         (dwarf2_debug_hooks): Update.
13338         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
13339         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
13340         * dwarf2out.h (dwarf2out_source_line): Remove.
13341         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
13342         Make static, update prototype.
13343         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
13344         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
13345         (dwarf_debug_hooks): Update.
13346         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
13347         dwarfout_end_function): Remove.
13348         * final.c (profile_function): Use debug hooks for ending functions
13349         and epilogues.
13350         (output_source_line, final_end_function): Update prototype,
13351         use debug hooks.
13352         (final_start_function, final_scan_insn): Update.
13353         * output.h (sdb_begin_function_line): Remove.
13354         (final_end_function): Update prototype.
13355         * sdbout.c (sdb_begin_function_line): Make static.
13356         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
13357         (sdbout_source_line): New.
13358         (sdbout_end_epilogue, sdbout_end_function): Make static, update
13359         prototypes.
13360         (sdb_debug_hooks): Update.
13361         (sdbout_init, sdbout_source_line,
13362         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
13363         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
13364         * toplev.c (compile_file, rest_of_compilation): Update.
13365         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
13366         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
13367         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
13368         Update for prototype changes.
13369         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
13370         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
13371
13372 2001-07-15  Richard Henderson  <rth@redhat.com>
13373
13374         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
13375         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
13376         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
13377         * config/alpha/alpha.c: Likewise.
13378         * config/alpha/alpha.md: Likewise.
13379         * config/alpha/alpha32.h: Likewise.
13380         * config/alpha/vms.h: Likewise.
13381         (OPEN_VMS): Remove.
13382
13383 2001-07-14  Richard Henderson  <rth@redhat.com>
13384
13385         * config/alpha/alpha.md: Use define_constants for unspec values.
13386         Substitute throughout.
13387
13388 2001-07-14  Tim Josling  <tej@melbpc.org.au>
13389
13390         * tree.def (EXPON_EXPR) remove. Never supported anyway.
13391
13392 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13393
13394         * pa.md: Remove unused constraints from define_split's.
13395
13396 2001-04-14  Richard Henderson  <rth@redhat.com>
13397
13398         * ifcvt.c (find_cond_trap): Test for exit block.
13399
13400 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
13401
13402         Re-install recently reverted patch.
13403         * emit-rtl.c (try_split): Update mark_jump_label call.
13404         * flow.c (find_sub_basic_blocks): Likewise.
13405         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13406         jump_back_p): Kill.
13407         (mark_all_labels): Kill second parameter.
13408         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13409         (rebuild_jump_labels, jump_optimize_minimal): Update call
13410         of jump_optimize_1.
13411         (jump_optimize_1): Kill crossjumping code.
13412         (mark_jump_label): Kill cross_jump parameter.
13413         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13414         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13415         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13416          splitting.
13417         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13418         DFI_bpro.
13419         (dump_file_info): Likewise.
13420         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13421         reorganize passes to do reg-stack first, bb-reorder second.
13422         * invoke.texi (-d letters doc): Remove the jump2 pass.
13423
13424 2001-07-14  Richard Henderson  <rth@redhat.com>
13425
13426         * ifcvt.c (find_cond_trap): New.
13427         (find_if_header): Call it.
13428         (merge_if_block): Relax existing jump sanity check.
13429         * jump.c (jump_optimize_1): Remove conditional trap handling.
13430
13431 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
13432
13433         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
13434         millicode.
13435         (insn_refs_are_delayed): Correct comment.
13436         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
13437         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
13438         instead of r31.  Make associated insn !TARGET_64BIT, and
13439         provide an additional 64-bit insn that clobbers r2.
13440         (divsi3): Likewise.
13441         (udivsi3): Likewise.
13442         (modsi3): Likewise.
13443         (umodsi3): Likewise.
13444
13445 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
13446
13447         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
13448
13449         * flow.c (redirect_edge_and_branch_force, split_edge,
13450         try_crossjump_to_edge): Use set_block_for_new_insns.
13451         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
13452
13453 2001-07-13  H.J. Lu  (hjl@gnu.org)
13454
13455         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
13456         the correct patch.
13457
13458 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
13459
13460         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
13461
13462 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
13463
13464         * c-common.c (decl_attributes): Take a pointer to the node to
13465         which attributes are to be attached, and a flags argument.
13466         * c-common.h (enum attribute_flags): New.
13467         (decl_attributes): Update prototype.
13468         * c-decl.c (start_decl, push_parm_decl, finish_struct,
13469         finish_enum, start_function): Update calls to decl_attributes.
13470         * c-parse.in (component_declarator, component_notype_declarator,
13471         label): Update calls to decl_attributes.
13472
13473 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
13474
13475         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
13476         * config/avr/avr.c (legitimate_address_p): Return value changed
13477         from letter to register classes. For better debugging.
13478
13479 2001-07-13  Kazu Hirata  <kazu@hxi.com>
13480
13481         * jump.c (reversed_comparison_code_parts): Fix comment typos.
13482
13483 2001-07-13  H.J. Lu  (hjl@gnu.org)
13484
13485         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
13486
13487 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
13488
13489         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
13490         correctly for shared configurations.
13491         * config/t-libgcc-pic:  New.
13492         * config/{i386,m68k,sparc}/t-openbsd:  New.
13493         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
13494         Support -shared.  Support debugging libraries with -g.
13495         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
13496         frame information does not emit pointer diffs.
13497         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
13498         emit pointer diffs.
13499
13500 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
13501
13502         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
13503
13504 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
13505
13506         * combine.c (try_combine): Ensure const_int pow2 is positive.
13507
13508 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
13509
13510         * config.gcc: Add configuration for s/390.
13511         * config/s390/s390.c: New. Subroutines for code generation.
13512         * config/s390/s390.h: New. Definitions for s/390.
13513         * config/s390/s390-protos.h: New. Prototypes.
13514         * config/s390/linux.h: New. Definitions for linux for s/390.
13515         * config/s390/linux64.h: New. Definitions for linux for zSeries.
13516         * config/s390/t-linux: New. Makefile fragment.
13517         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
13518         * config/s390/fixdfdi.h: New. Fix L_fix*di.
13519
13520 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
13521
13522         * emit-rtl.c (try_split): Update mark_jump_label call.
13523         * flow.c (find_sub_basic_blocks): Likewise.
13524         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13525         jump_back_p): Kill.
13526         (mark_all_labels): Kill second parameter.
13527         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13528         (rebuild_jump_labels, jump_optimize_minimal): Update call
13529         of jump_optimize_1.
13530         (jump_optimize_1): Kill crossjumping code.
13531         (mark_jump_label): Kill cross_jump parameter.
13532         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13533         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13534         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13535          splitting.
13536         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13537         DFI_bpro.
13538         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13539         reorganize passes to do reg-stack first, bb-reorder second.
13540         * invoke.texi (-d letters doc): Remove the jump2 pass.
13541
13542 2001-07-12  Steve Ellcey <sje@cup.hp.com>
13543
13544         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
13545
13546 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13547
13548         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
13549         basic blocks.
13550         (verify_flow_info): Make diagnostics prettier.
13551
13552 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13553
13554         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
13555
13556         * flow.c (outgoing_edges_match): Return early if condition reversal
13557         failed.
13558
13559 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
13560
13561         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
13562         (mips_move_2words): When splitting a move into two instructions,
13563         prefix the second address operand with '%D'.
13564
13565 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13566
13567         * Makefile.in (final.o): Depend on debug.h.
13568         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
13569         (dbx_debug_hooks): Add new hooks.
13570         (xcoff_debug_hooks): New.
13571         * debug.c (debug_nothing_file_int_int): New.
13572         (do_nothing_debug_hooks): Update.
13573         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
13574         (debug_nothing_file_int_int): New.
13575         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
13576         static, update prototype.
13577         (dwarf2_debug_hooks): Update.
13578         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
13579         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
13580         static, update prototype.
13581         (dwarf_debug_hooks): Update.
13582         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
13583         * final.c: Include debug.h.
13584         (final_scan_insn): Use debug hooks when beginning and ending blocks.
13585         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
13586         static, update prototype.
13587         (sdb_debug_hooks): Update.
13588         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13589         * toplev.c: Distinguish between xcoff and dbx.
13590
13591         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13592         Call all debug hooks, not just dwarf ones.
13593
13594 2001-07-11  Timothy Wall  <twall@redhat.com>
13595
13596         * config.gcc: Add configuration for AIX5/IA64.
13597         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
13598         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
13599         support prefix/suffix code.
13600         * config/ia64/t-aix: New.  Makefile fragment.
13601         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
13602
13603 2001-07-11  Kazu Hirata  <kazu@hxi.com>
13604
13605         * recog.c (validate_change): Fix a comment typo.
13606
13607 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13608
13609         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
13610         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13611         hooks directly.
13612         * dbxout.c (dbx_debug_hooks): Add new hooks.
13613         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13614         make static.
13615         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13616         make static.
13617         * dbxout.h (dbxout_start_new_source_file,
13618         dbxout_resume_previous_source_file): Delete.
13619         * debug.c (do_nothing_debug_hooks): Add new hooks.
13620         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13621         (debug_nothing_int_charstar, debug_nothing_int): New.
13622         * debug.h (gcc_debug_hooks): New hooks define, undef,
13623         start_source_file and end_source_file.
13624         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13625         (debug_nothing_int_charstar, debug_nothing_int): New.
13626         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
13627         the conditionally compiled section.
13628         (dwarf2out_start_source_file, dwarf2out_end_source_file,
13629         dwarf2out_define, dwarf2out_undef): Make static.
13630         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13631         dwarf2out_define, dwarf2out_undef): Remove.
13632         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13633         (dwarfout_start_source_file, dwarfout_end_source_file,
13634         dwarfout_define, dwarfout_undef): Make static.
13635         (dwarfout_start_source_file_check,
13636         dwarfout_end_source_file_check): New.
13637         (dwarfout_define, dwarfout_finish): Update.
13638         * dwarfout.h (dwarfout_start_new_source_file,
13639         dwarfout_resume_previous_source_file, dwarfout_define,
13640         dwarfout_undef): Remove.
13641         * sdbout.c (sdb_debug_hooks): Add new hooks.
13642         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
13643         make static.
13644         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
13645         make static, take an arg.
13646         * sdbout.h (sdbout_start_new_source_file,
13647         sdbout_resume_previous_source_file): Delete.
13648         * toplev.c (debug_start_source_file, debug_end_source_file,
13649         debug_define, debug_undef): Delete.
13650         * toplev.h (debug_start_source_file, debug_end_source_file,
13651         debug_define, debug_undef): Delete.
13652
13653         * java/jcf-parse.c: Include debug.h.
13654         (parse_class_file): Update to use debug hooks directly.
13655         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
13656
13657 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13658
13659         * alias.c (set_mem_alias_set): New function.
13660         * rtl.h (set_mem_alias_set): Declare it.
13661         * builtins.c (expand_builtin_return_addr): Call it instead of
13662         using MEM_ALIAS_SET accessor.
13663         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
13664         (get_memory_rtx, expand_builtin_va_arg): Likewise.
13665         (expand_builtin_va_copy):Likewise.
13666         * caller-save.c (setup_save_areas): Likewise.
13667         * calls.c (compute_argument_addresses): Likewise.
13668         * explow.c (set_mem_attributes): Likewise.
13669         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
13670         (expand_assignment, store_constructor_field, store_field): Likewise.
13671         (expand_expr_unaligned): Likewise.
13672         * function.c (assign_stack_temp_for_type): Likewise.
13673         (put_reg_into_stack, gen_mem_addressof): Likewise.
13674         * ifcvt.c (noce_try_cmove_arith): Likewise.
13675         * reload1.c (reload, alter_reg): Likewise.
13676         * config/alpha/alpha.c (get_aligned_mem): Likewise.
13677         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
13678         (alpha_expand_unaligned_store): Likewise
13679         (alpha_expand_unaligned_load_words): Likewise.
13680         (alpha_expand_unaligned_store_words): Likewise.
13681         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
13682         (alpha_expand_epilogue): Likewise.
13683         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
13684         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
13685         * config/i386/i386.c (legitimize_pic_address): Likewise.
13686         * config/i960/i960.c (setup_incoming_varargs): Likewise.
13687         * config/ia64/ia64.c (spill_restore_mem): Likewise.
13688         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
13689         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
13690         * config/mips/mips.c (mips_va_arg): Likewise.
13691         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13692         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13693         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
13694         (setup_incoming_varargs, rs6000_va_arg): Likewise.
13695         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
13696         (rs6000_emit_epilogue): Likewise.
13697         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
13698         * config/sparc/sparc.c (sparc_va_arg): Likewise.
13699         * config/v850/v850.c (v850_va_arg): Likewise.
13700
13701 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
13702
13703         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
13704         when fallthru edge is present.
13705         (mege_blocks): Handle case where creation of jump insn
13706         is required.
13707
13708         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
13709         CLEANUP_POST_REGSTACK): New constants.
13710         * except.c (finish_eh_generation): Update call of cleanup_cfg,
13711         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
13712         * output.h (cleanup_cfg): Update prototype.
13713         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
13714         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
13715         cleanup_cfg call; kill missleading comment.
13716         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
13717         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
13718         parameter; control optimizations performed using it.
13719         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
13720         try_crossjump_bb): New functions.
13721
13722 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13723
13724         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
13725         extern.
13726         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
13727         pa_output_function_prologue.
13728         * pa-protos.h (pa_output_function_prologue): New prototype.
13729
13730 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13731
13732         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
13733         and low to get correct sign extension in low+high test.
13734
13735 2001-07-11  Janis Johnson <janis@us.ibm.com>
13736
13737         * gcov.c (arcdata): Use gcov_type to fix branch percentage
13738         for large hit count.
13739
13740         * profile.c (branch_prob): Fix .bbg info for computed gotos
13741         and C++ EH code.
13742
13743 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
13744
13745         * stmt.c (parse_output_constraint): New function, split out
13746         from ...
13747         (expand_asm_operands): ... here.  Use parse_output_constraint.
13748         * tree.h (parse_output_constraint): Declare it.
13749
13750 2001-07-11  Richard Henderson  <rth@redhat.com>
13751
13752         * bitmap.c: Comment some functions; fiddle whitespace.
13753         (bitmap_free): Don't export.
13754         (bitmap_element_allocate): Use memset.
13755         * bitmap.h (bitmap_free): Don't declare.
13756
13757 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
13758
13759         * gcse.c, lcm.c, sched-deps.c:
13760         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
13761
13762         * flow.c (flow_loops_find): Free dom if we found no loops, since
13763         we aren't going to save it.
13764
13765         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
13766         done.
13767
13768 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
13769
13770         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
13771
13772 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13773
13774         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
13775         #ifndef DWARF2_DEBUGGING_INFO.
13776
13777 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13778
13779         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
13780
13781 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13782
13783         * config/mips/mips.c (gen_int_relational): Tell the caller not to
13784         reverse a branch if a NE comparison is implemented with GTU.
13785
13786 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13787             H.J. Lu  <hjl@gnu.org>
13788
13789         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
13790         constant addresses.
13791         (call_internal2): Likewise.
13792         (call_value_internal1): Likewise.
13793         (call_value_internal2): Likewise.
13794         (call_value_multiple_internal1): Likewise.
13795         (call_value_multiple_internal2): Likewise.
13796
13797 2001-07-10  Kazu Hirata  <kazu@hxi.com>
13798
13799         * calls.c (emit_library_call_value_1): Fix a comment typo.
13800         * dwarf2out.c (mem_loc_descriptor): Likewise.
13801         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
13802
13803 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
13804
13805         * simplify-rtx.c (simplify_subreg): Fix typo in comment
13806
13807 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13808
13809         * recog.c (offsettable_address_p): Handle LO_SUM case.
13810         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
13811         instead of plus_constant.
13812
13813 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13814
13815         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
13816         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
13817
13818 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13819
13820         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
13821         adjust_address_nv instead of plus_constant.
13822
13823 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
13824
13825         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
13826         dwarf2out.o): Depend on debug.h, wrap long lines.
13827         * dbxout.c: Include debug.h.
13828         (dbx_debug_hooks): New.
13829         (dbxout_init): Make static, take just 2 args.
13830         (dbxout_finish): Make static.
13831         * dbxout.h (dbxout_init, dbxout_finish): Delete.
13832         * debug.c: New file.
13833         * debug.h: New file.
13834         * dwarf2out.c: Include debug.h.
13835         (dwarf2_debug_hooks): New.
13836         (dwarf2out_init): Make static.
13837         (dwarf2out_finish): Make static, take 2 args.
13838         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
13839         * dwarfout.c: Include debug.h.
13840         (dwarf_debug_hooks): New.
13841         (dwarfout_init): Make static.
13842         (dwarfout_finish): Make static, take 2 args.
13843         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
13844         * sdbout.c: Include debug.h.
13845         (sdb_debug_hooks): New.
13846         (sdbout_init): Make static, take 2 args.
13847         * sdbout.h (sdbout_init): Delete.
13848         * toplev.c: Include debug.h.
13849         (debug_hooks): New.
13850         (compile_file): Set deubg_hooks based on command line options.
13851         Use the hooks unconditionally rather than conditional compilation.
13852
13853 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
13854
13855         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
13856         first_insn_after_basic_block_note instead.
13857
13858         * df.c (df_bb_refs_unlink): #if 0 out for now.
13859
13860 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
13861
13862         * ssa.h: Add prototype for ssa_const_prop
13863         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
13864         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
13865         (ssa_fast_dce): Remove unused variable
13866
13867 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13868
13869         * diagnostic.c (finish_diagnostic): Rename to
13870         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
13871         calls thourghout.
13872
13873 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
13874
13875         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
13876         .loc support.
13877
13878         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
13879         (dump_file): Only pad the demangled name with spaces if the
13880         mangled name was padded with spaces.
13881
13882 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
13883
13884         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
13885         edge detection.
13886
13887 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13888
13889         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
13890         extraction if no direct load if either EXPAND_CONST_ADDRESS or
13891         EXPAND_INITIALIZER.
13892
13893         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
13894         whether can put offset inside LO_SUM to check mode alignment, not size.
13895
13896 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13897
13898         * doc/tm.texi (Misc): Fix thinko.
13899
13900 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
13901
13902         * regmove.c (replace_in_call_usage): Fix warnings.
13903         * sched-deps.c (add_dependence): Fix warnings.
13904         * simplify-rtx.c (simplify_subreg): Likewise.
13905         Return NULL_RTX instead of NULL.
13906
13907         * reg-stack.c (emit_swap_insn): Eliminate warnings.
13908         (subst_asm_stack_regs): Likewise.
13909
13910         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
13911         warnings.
13912
13913         * dwarf2out.c (output_call_frame_info): Declare i as int.
13914         (build_abbrev_table): Declare n_alloc as int.
13915         (dwarf2out_finish): Initialize die.
13916         * except.c: Declare sjlj_funcdef_number as unsigned.
13917         (connect_post_landing_pads): Declare j as unsigned.
13918         (convert_to_eh_region_ranges): Initialize call_site.
13919         (output_function_exception_table): Initialize tt_format_size.
13920         * expr.c (move_by_pieces_1): Initialize to1.
13921         (store_constructor): Initialize minelt and maxelt.
13922         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
13923         * function.c (instantiate_decls): Avoid signed/unsigned warning.
13924
13925         * c-decl.c (combine_parm_decls): Unused, remove.
13926         * c-tree.h: Remove prototype for combine_parm_decls.
13927
13928         * reload.c (push_reload): Fix warning.
13929         (regno_clobbered_p): Likewise.
13930         * reload1.c (replace_pseudos_in_call_usage): Likewise.
13931         (reload_combine): Likewise.
13932
13933         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
13934         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
13935         warnings.
13936         * bitmap.c (bitmap_operation): Change user.
13937         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
13938
13939 2001-07-10  Eric Christopher  <echristo@redhat.com>
13940
13941         * config/mips/mips.c (override_options): Fix typo.
13942
13943 2001-07-09  Stan Shebs  <shebs@apple.com>
13944
13945         * target.h (struct gcc_target): New fields init_builtins and
13946         expand_builtin.
13947         * target-def.h (TARGET_INIT_BUILTINS): New macro.
13948         (TARGET_EXPAND_BUILTIN): New macro.
13949         (TARGET_INITIALIZER): Add them.
13950         * builtins.c: Include target.h.
13951         (expand_builtin): Use targetm.expand_builtin.
13952         (default_init_builtins): New function.
13953         (default_expand_builtin): New function.
13954         * expr.h (default_init_builtins): Declare.
13955         (default_expand_builtin): Declare.
13956         * c-common.c (c_common_nodes_and_builtins): Use
13957         targetm.init_builtins.
13958         * defaults.h (MD_INIT_BUILTINS): Remove.
13959         * Makefile.in (builtins.o): Depend on target.h.
13960
13961         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
13962         (TARGET_EXPAND_BUILTIN): Define.
13963         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
13964         (MD_EXPAND_BUILTIN): Remove.
13965
13966         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
13967         (TARGET_EXPAND_BUILTIN): Define.
13968         (c4x_init_builtins): Make endlink arg a local.
13969         (c4x_print_operand): Fix typos in adjust_address usages.
13970         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
13971         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
13972         (MD_EXPAND_BUILTIN): Remove.
13973
13974         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
13975         (TARGET_EXPAND_BUILTIN): Define.
13976         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
13977         (ix86_init_builtins): Call new function only if TARGET_MMX.
13978         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
13979         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
13980         (MD_EXPAND_BUILTIN): Remove.
13981
13982         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
13983         (TARGET_EXPAND_BUILTIN): Define.
13984         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
13985         (MD_EXPAND_BUILTIN): Remove.
13986
13987         * doc/tm.texi: Document these changes.
13988
13989 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
13990
13991         * basic-block.h (tree_node): Forward declare if needed.
13992         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
13993         (BLOCK_HEAD_TREE): Define.
13994         (BLOCK_END_TREE): Define.
13995         (struct loops): Rename field 'tree' to 'tree_root'.
13996         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
13997         'end_tree'.
13998         (flow_loops_tree_build): Rename reference to field 'tree' to
13999         'tree_root'.
14000         (flow_loops_level_compute): Ditto.
14001         * predict.c (estimate_bb_frequencies): Ditto.
14002         * tree.h (struct tree_common): Add field 'aux'.
14003
14004 2001-07-09  Stan Shebs  <shebs@apple.com>
14005
14006         * config/darwin.c (darwin_encode_section_info): Don't mark any
14007         DECL_EXTERNAL node as defined.
14008
14009 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14010
14011         * pa.c (pa_init_machine_status, pa_mark_machine_status,
14012         pa_free_machine_status, hppa_init_pic_save): Delete.
14013         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
14014         (hppa_profile_hook): Use hppa_pic_save_rtx.
14015         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
14016         hppa_init_pic_save): Delete.
14017         (hppa_pic_save_rtx): Declare.
14018         * pa.md (call, call_value, sibcall, sibcall_value,
14019         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
14020
14021 2001-07-09  Kazu Hirata  <kazu@hxi.com>
14022
14023         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
14024         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
14025
14026 2001-07-09  Andreas Jaeger  <aj@suse.de>
14027
14028         * output.h: Add declaration of final_forward_branch_p.
14029
14030         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
14031
14032         * varray.c: Include errors.h for internal_error and trim_filename
14033         declarations.
14034
14035         * Makefile.in (varray.o): Add errors.h.
14036
14037 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
14038
14039         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
14040         * optabs.c (have_add2_insn): Check whether the add insn chosen
14041         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
14042         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
14043
14044 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
14045
14046         * Makefile.in (OBJS): Add ssa-ccp.o
14047         (ssa-ccp.o): Add dependencies.
14048         * toplev.c (DFI_ssa_ccp): New dump file enum.
14049         (dump_file): Add entry for dumping after SSA CCP.
14050         (flag_ssa_ccp): New flag variable.
14051         (f_options): Add -fssa-ccp.
14052         (rest_of_compilation): Run SSA CCP if requested.
14053         * timevar.def (TV_SSA_CCP): New timevar.
14054         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
14055         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
14056         Fix minor typo in SSA DCE documentation.
14057         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
14058         Add documentation for new dump option.  Renumber dump files
14059         appropriately.
14060
14061 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14062
14063         * emit-rtl.c (gen_highpart_mode): New.
14064         * rtl.h (gen_highpart_mode): Declare.
14065         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
14066         operand can be VOIDmode constant.
14067
14068 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
14069
14070         * flow.c (redirect_edge_and_branch_force): New.
14071         (can_fallthru): Ensure that basic blocks are succeeding.
14072         (try_optimize_cfg): Do not delete basic block if it is the last one.
14073
14074         * flow.c (try_redirect_by_replacing_jump): Do not remove
14075         jumps with side effects, unlink chain on fallthru edge;
14076         set block for new jump instruction; avoid basic block to
14077         over by line number note.
14078
14079         * flow.c (try_simplify_condjump): Verify that the condjump
14080         is not always falling through.
14081
14082         Re-install patch:
14083         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14084
14085         * flow.c (forwarder_block_p): Fix for fallthru blocks.
14086         (try_redirect_by_replacing_jump): Update properly the count
14087         and frequency information.
14088
14089 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14090
14091         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
14092         address that is a LO_SUM specially.
14093         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
14094
14095         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
14096
14097         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
14098         (operand_subword): Use them.
14099         (change_address_1): Renamed from change_address; new arg VALIDATE.
14100         * expr.h: Reflect above changes; change_address now macro.
14101         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
14102         making MEM.
14103         * cselib.c (add_mem_for_addr): Likewise.
14104         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
14105         * regmove.c (try_apply_stack_adjustment): Likewise.
14106         * reload.c (push_reload, make_memloc): Likewise.
14107         * reload1.c (eliminate_regs): Likewise.
14108         * simplify-rtx.c (simplify_replace_rtx): Likewise.
14109         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
14110         adjust_addess.
14111         * combine.c (make_extraction, simplify_shift_const): Likewise.
14112         (gen_lowpart_for_combine): Likewise.
14113         * cse.c (gen_lowpart_if_possible): Likewise.
14114         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
14115         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
14116         * optabs.c (gen_move_insn): Likewise.
14117         * reload1.c (alter_reg): Likewise.
14118         * simplify-rtx.c (simplify_subreg): Likewise.
14119         * stmt.c (expand_anon_union_decl): Likewise.
14120         * recog.c (validate_replace_rtx_1): Likewise.
14121         (expr.h): Include.
14122         * Makefile.in (recog.o): Add $(EXPR_H).
14123         * explow.c (stabilize): Call replace_equiv_address.
14124         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
14125         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
14126
14127 2001-07-03  Andrew Haley  <aph@redhat.com>
14128
14129         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
14130         the mode of the memory location.
14131
14132 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
14133
14134         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
14135
14136 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
14137
14138         * final.c (output_addr_const): Use target opening and
14139         closing parentheses.
14140         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
14141         defaults, add to TARGET_ASM_OUT.
14142         * target.h (struct gcc_target): Add open_paren and close_paren.
14143         * doc/md.texi: Update.
14144         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
14145         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
14146         TARGET_ASM_CLOSE_PAREN.
14147         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
14148         Override.
14149         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
14150         Override.
14151         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
14152         * config/a29k/a29k.h: Similarly.
14153         * config/alpha/alpha.h: Similarly.
14154         * config/arc/arc.h: Similarly.
14155         * config/arm/aof.h: Similarly.
14156         * config/arm/aout.h: Similarly.
14157         * config/avr/avr.h: Similarly.
14158         * config/c4x/c4x.h: Similarly.
14159         * config/clipper/clipper.h: Similarly.
14160         * config/convex/convex.h: Similarly.
14161         * config/d30v/d30v.h: Similarly.
14162         * config/dsp16xx/dsp16xx.h: Similarly.
14163         * config/elxsi/elxsi.h: Similarly.
14164         * config/fr30/fr30.h: Similarly.
14165         * config/h8300/h8300.h: Similarly.
14166         * config/i370/i370.h: Similarly.
14167         * config/i386/i386.h: Similarly.
14168         * config/i860/i860.h: Similarly.
14169         * config/i960/i960.h: Similarly.
14170         * config/ia64/ia64.h: Similarly.
14171         * config/m32r/m32r.h: Similarly.
14172         * config/m68hc11/m68hc11.h: Similarly.
14173         * config/m68k/m68k.h: Similarly.
14174         * config/m88k/m88k.h: Similarly.
14175         * config/mcore/mcore.h: Similarly.
14176         * config/mips/mips.h: Similarly.
14177         * config/mn10200/mn10200.h: Similarly.
14178         * config/mn10300/mn10300.h: Similarly.
14179         * config/ns32k/ns32k.h: Similarly.
14180         * config/pa/pa.h: Similarly.
14181         * config/pdp11/pdp11.h: Similarly.
14182         * config/pj/pj.h: Similarly.
14183         * config/romp/romp.h: Similarly.
14184         * config/rs6000/rs6000.h: Similarly.
14185         * config/sh/sh.h: Similarly.
14186         * config/sparc/sparc.h: Similarly.
14187         * config/v850/v850.h: Similarly.
14188         * config/vax/vax.h: Similarly.
14189         * config/we32k/we32k.h: Similarly.
14190
14191 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
14192
14193         * doc/c-tree.texi: Document representation of attributes.
14194
14195 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14196
14197         * doc/tm.texi: Update some places for the rename of target to
14198         targetm.  Fix typo.
14199
14200 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14201
14202         * target.h (struct gcc_target): Add insert_attributes.
14203         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
14204         (TARGET_INITIALIZER): Update.
14205         * tree.c, tree.h (default_insert_attributes): New function.
14206         Update comments on other default functions to refer to targetm,
14207         not target.
14208         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
14209         TARGET_INSERT_ATTRIBUTES.
14210         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
14211         * c-common.c (decl_attributes): Use targetm.insert_attributes.
14212         Don't use PRAGMA_INSERT_ATTRIBUTES.
14213         * Makefile.in (c-common.o): Depend on $(TARGET_H).
14214         * c-decl.c (start_decl, start_function): Don't call
14215         SET_DEFAULT_DECL_ATTRIBUTES.
14216         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14217         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
14218         declare.
14219         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
14220         (c4x_check_attribute): Avoid modifying attribute list itself.
14221         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
14222         Make static.
14223         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
14224         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
14225         declare.
14226         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
14227         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
14228         Make static.
14229         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14230         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
14231         declare.
14232         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
14233         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
14234         Adjust parameters.  Make static.
14235
14236 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14237
14238         * c-common.c (decl_attributes): Only take a single attributes
14239         parameter.
14240         * c-common.h (decl_attributes): Update prototype.
14241         * c-decl.c (start_decl, start_function): Only take a single
14242         attributes parameter.  Update calls to decl_attributes.
14243         (finish_struct, finish_enum): Update calls to decl_attributes.
14244         (push_parm_decl): Expect unified list of attributes.  Update call
14245         to decl_attributes.
14246         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
14247         notype_nested_function, component_declarator,
14248         component_notype_declarator, label): Update calls to
14249         decl_attributes.
14250         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
14251         lists that are passed to push_parm_decl.
14252         * c-tree.h (start_function, start_decl): Update prototypes.
14253         * config/sh/sh-protos.h, config/sh/sh.c
14254         (sh_pragma_insert_attributes): Only take a single attributes
14255         parameter.
14256         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
14257         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
14258         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
14259         build_module_descriptor, generate_static_references,
14260         generate_strings, build_selector_translation_table,
14261         generate_descriptor_table, generate_protocols,
14262         generate_ivars_list, generate_dispatch_table,
14263         generate_protocol_list, generate_category,
14264         generate_shared_structures, really_start_method, add_objc_decls,
14265         generate_classref_translation_entry): Update calls to start_decl
14266         and start_function.
14267         (build_tmp_function_decl, start_method_def): Unify attribute lists
14268         that are passed to push_parm_decl.
14269
14270 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
14271
14272         * final.c (no_asm_to_stream): New.
14273         (final_scan_insn): Use target structures for prologue ends
14274         and epilogue starts.
14275         * output.h (no_asm_to_stream): New.
14276         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
14277         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
14278         (TARGET_ASM_OUT): Update.
14279         * target.h (struct gcc_target): New members function_end_prologue
14280         and function_begin_epilogue.
14281         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
14282         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
14283         * config/alpha/alpha.c (output_end_prologue): Rename to
14284         alpha_output_function_end_prologue.  Use in target struct
14285         and make static.
14286         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
14287         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
14288         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
14289         ia64_output_function_end_prologue.  Use in target struct
14290         and make static.
14291         (ia64_function_prologue, ia64_funciton_epilogue): Rename
14292         mistyped prototypes.
14293         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
14294         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
14295         Delete.
14296         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
14297         an use in target struct, make static.
14298         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
14299         Delete.
14300
14301 2001-07-08  Richard Henderson  <rth@redhat.com>
14302
14303         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
14304
14305 2001-07-08  Richard Henderson  <rth@redhat.com>
14306
14307         * config/i386/i386.md: Remove constraints strings from define_split
14308         and define_peephole2 patterns.
14309         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
14310         (eh_return): Use them.
14311
14312 2001-07-08  Richard Henderson  <rth@redhat.com>
14313
14314         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
14315         Document MD_FALLBACK_FRAME_STATE_FOR.
14316
14317 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14318
14319         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
14320         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
14321         elimination.
14322         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
14323
14324 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
14325
14326         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
14327         of the label inside NAME as opposed to just the end of NAME.
14328
14329 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14330
14331         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
14332         * config/alpha/alpha.c (alpha_init_machine_status,
14333         alpha_mark_machine_status, alpha_free_machine_status): Delete.
14334         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
14335         (vms_valid_decl_attribute_p): Make static, conditionally compile.
14336         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
14337
14338 2001-07-06  Stan Shebs  <shebs@apple.com>
14339
14340         * target.h (targetm): Rename global from "target", so as not to
14341         conflict with local variables.
14342         * c-decl.c: Ditto.
14343         * c-typeck.c: Ditto.
14344         * final.c: Ditto.
14345         * tree.c: Ditto.
14346         * cp/decl.c: Ditto.
14347         * cp/decl2.c: Ditto.
14348         * cp/typeck.c: Ditto.
14349         * 1750a/1750a.c: Ditto.
14350         * a29k/a29k.c: Ditto.
14351         * arc/arc.c: Ditto.
14352         * arm/arm.c: Ditto.
14353         * avr/avr.c: Ditto.
14354         * clipper/clipper.c: Ditto.
14355         * convex/convex.c: Ditto.
14356         * d30v/d30v.c: Ditto.
14357         * dsp16xx/dsp16xx.c: Ditto.
14358         * elxsi/elxsi.c: Ditto.
14359         * fr30/fr30.c: Ditto.
14360         * h8300/h8300.c: Ditto.
14361         * i370/i370.c: Ditto.
14362         * i386/i386.c: Ditto.
14363         * i860/i860.c: Ditto.
14364         * i960/i960.c: Ditto.
14365         * ia64/ia64.c: Ditto.
14366         * m32r/m32r.c: Ditto.
14367         * m68hc11/m68hc11.c: Ditto.
14368         * m68k/m68k.c: Ditto.
14369         * m88k/m88k.c: Ditto.
14370         * mips/mips.c: Ditto.
14371         * ns32k/ns32k.c: Ditto.
14372         * pa/pa.c: Ditto.
14373         * pdp11/pdp11.c: Ditto.
14374         * romp/romp.c: Ditto.
14375         * rs6000/rs6000.c: Ditto.
14376         * sh/sh.c: Ditto.
14377         * sparc/sparc.c: Ditto.
14378         * vax/vax.c: Ditto.
14379         * we32k/we32k.c: Ditto.
14380         * doc/tm.texi: Update the manual to match.
14381
14382 2001-07-06  Richard Henderson  <rth@redhat.com>
14383
14384         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
14385         DWARF2_UNWIND_INFO not just whether it is defined.
14386
14387 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
14388
14389         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
14390         call to simplify_binary_operation returns a new pattern.
14391
14392 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14393
14394         * glimits.h (__SHRT_MAX__): New.
14395         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
14396         (SHRT_MAX): Define in terms of __SHRT_MAX__.
14397
14398 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
14399
14400         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
14401         avoid warnings.
14402
14403 2001-07-06  Richard Henderson  <rth@redhat.com>
14404
14405         * bitmap.c (bitmap_release_memory): Move adjacent to the
14406         allocation functions.
14407         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
14408         the implementation.  Binary search for the set bit.
14409         (bitmap_union_of_diff): Allocate the temporary on the stack
14410         instead of using xmalloc.
14411
14412 2001-07-06  Richard Henderson  <rth@redhat.com>
14413
14414         * genrecog.c (validate_pattern): Warn for constraints in
14415         define_{expand,split,peephole2}.  Remove strict_low_part
14416         before looking up match_dup.
14417
14418 2001-07-06  DJ Delorie  <dj@redhat.com>
14419
14420         * doc/gcc.texi (Makefile): Rename to be a more general purpose
14421         chapter about various build hints and history.  Add section
14422         talking about the various types of native and cross builds.
14423
14424 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14425
14426         * Makefile.in (final.o): Depend on target.h.
14427         * final.c: Include target.h.
14428         (default_function_pro_epilogue): New.
14429         (final_start_function): Use target structure for function prologues.
14430         (final_end_function): Use target structure for function epilogues.
14431         * fold-const.c (real_hex_to_f): Constify s and p.
14432         * output.h (default_function_pro_epilogue): New.
14433         * real.h (real_hex_to_f): Update prototype.
14434         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
14435         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
14436         (TARGET_INITIALIZER): Update.
14437         * target.h (gcc_target): Add struct asm_out.
14438         * doc/tm.texi: Update.
14439
14440 config:
14441         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
14442         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
14443         in cpu/cpu.c, or rename old functions consistently.  Take
14444         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
14445         redundant macros and prototypes.  Make new functions static.
14446
14447         * 1750a/1750a.c: Similarly.
14448         * 1750a/1750a.h: Similarly.
14449         * a29k/a29k-protos.h: Similarly.
14450         * a29k/a29k.c: Similarly.
14451         * a29k/a29k.h: Similarly.
14452         * arc/arc-protos.h: Similarly.
14453         * arc/arc.c: Similarly.
14454         * arc/arc.h: Similarly.
14455         * arm/arm-protos.h: Similarly.
14456         * arm/arm.c: Similarly.
14457         * arm/arm.h: Similarly.
14458         * avr/avr-protos.h: Similarly.
14459         * avr/avr.c: Similarly.
14460         * avr/avr.h: Similarly.
14461         * clipper/clipper-protos.h: Similarly.
14462         * clipper/clipper.c: Similarly.
14463         * clipper/clipper.h: Similarly.
14464         * convex/convex.c: Similarly.
14465         * convex/convex.h: Similarly.
14466         * d30v/d30v-protos.h: Similarly.
14467         * d30v/d30v.c: Similarly.
14468         * d30v/d30v.h: Similarly.
14469         * d30v/d30v.md: Similarly.
14470         * dsp16xx/dsp16xx-protos.h: Similarly.
14471         * dsp16xx/dsp16xx.c: Similarly.
14472         * dsp16xx/dsp16xx.h: Similarly.
14473         * elxsi/elxsi.c: Similarly.
14474         * elxsi/elxsi.h: Similarly.
14475         * fr30/fr30.c: Similarly.
14476         * fr30/fr30.md: Similarly.
14477         * h8300/h8300-protos.h: Similarly.
14478         * h8300/h8300.c: Similarly.
14479         * h8300/h8300.h: Similarly.
14480         * i370/i370-protos.h: Similarly.
14481         * i370/i370.c: Similarly.
14482         * i370/i370.h: Similarly.
14483         * i386/i386.c: Similarly.
14484         * i386/osf1elf.h: Similarly.
14485         * i386/osfrose.h: Similarly.
14486         * i860/i860-protos.h: Similarly.
14487         * i860/i860.c: Similarly.
14488         * i860/i860.h: Similarly.
14489         * i960/i960-protos.h: Similarly.
14490         * i960/i960.c: Similarly.
14491         * i960/i960.h: Similarly.
14492         * ia64/ia64-protos.h: Similarly.
14493         * ia64/ia64.c: Similarly.
14494         * ia64/ia64.h: Similarly.
14495         * m32r/m32r-protos.h: Similarly.
14496         * m32r/m32r.c: Similarly.
14497         * m32r/m32r.h: Similarly.
14498         * m68hc11/m68hc11-protos.h: Similarly.
14499         * m68hc11/m68hc11.c: Similarly.
14500         * m68hc11/m68hc11.h: Similarly.
14501         * m68k/crds.h: Similarly.
14502         * m68k/dpx2.h: Similarly.
14503         * m68k/m68k-protos.h: Similarly.
14504         * m68k/m68k.c: Similarly.
14505         * m68k/m68k.h: Similarly.
14506         * m68k/news.h: Similarly.
14507         * m88k/m88k-protos.h: Similarly.
14508         * m88k/m88k.c: Similarly.
14509         * m88k/m88k.h: Similarly.
14510         * mips/mips-protos.h: Similarly.
14511         * mips/mips.c: Similarly.
14512         * mips/mips.h: Similarly.
14513         * ns32k/merlin.h: Similarly.
14514         * ns32k/ns32k.c: Similarly.
14515         * ns32k/ns32k.h: Similarly.
14516         * ns32k/tek6000.h: Similarly.
14517         * pa/pa-protos.h: Similarly.
14518         * pa/pa.c: Similarly.
14519         * pa/pa.h: Similarly.
14520         * pdp11/2bsd.h: Similarly.
14521         * pdp11/pdp11-protos.h: Similarly.
14522         * pdp11/pdp11.c: Similarly.
14523         * pdp11/pdp11.h: Similarly.
14524         * romp/romp-protos.h: Similarly.
14525         * romp/romp.c: Similarly.
14526         * romp/romp.h: Similarly.
14527         * rs6000/rs6000-protos.h: Similarly.
14528         * rs6000/rs6000.c: Similarly.
14529         * rs6000/rs6000.h: Similarly.
14530         * rs6000/sysv4.h: Similarly.
14531         * sh/sh-protos.h: Similarly.
14532         * sh/sh.c: Similarly.
14533         * sh/sh.h: Similarly.
14534         * sparc/sparc-protos.h: Similarly.
14535         * sparc/sparc.c: Similarly.
14536         * sparc/sparc.h: Similarly.
14537         * vax/vax.c: Similarly.
14538         * vax/vax.h: Similarly.
14539         * vax/vms.h: Similarly.
14540         * we32k/we32k.c: Similarly.
14541         * we32k/we32k.h: Similarly.
14542
14543 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
14544
14545         * basic-block.h (first_insn_after_basic_block_note): Declare.
14546         * flow.c (first_insn_after_basic_block_note): Define.  Moved
14547         from...
14548         * ssa.c (first_insn_after_basic_block_note): Remove.
14549         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
14550         necessary.
14551         (ssa_eliminate_dead_code): Properly update the CFG and PHI
14552         nodes when we find a dead conditional branch.  Insert BARRIERs
14553         after any blocks with no successors, but which do not have
14554         any BARRIERs.
14555
14556 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
14557
14558         * varray.c (varray_check_failed): Use internal_error.
14559
14560 2001-07-05  Andrew Haley  <aph@redhat.com>
14561
14562         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
14563         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
14564         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
14565
14566 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
14567
14568         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
14569         reference if the target constant is also a SYMBOL_REF.
14570
14571 2001-07-05  Eric Christopher  <echristo@redhat.com>
14572
14573         * config/mips/mips.h (MASK_MIPS3900): Remove.
14574         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
14575         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
14576         (TARGET_MIPS3900): Change to use mips_arch.
14577         (TARGET_MIPS4000): New.
14578         (TARGET_MIPS4100): New.
14579         (TARGET_MIPS4300): New.
14580         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
14581         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
14582         for -mipsX.
14583         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
14584         (ISA_HAS_BRANCHLIKELY): To here.
14585         (CC1_CPU_SPEC):  New.
14586         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
14587         (mips_arch_string): Declare.
14588         (mips_arch): Declare.
14589         (TARGET_OPTIONS): Add -march and -mtune.
14590
14591         * config/mips/mips.c (mips_arch_string): New.
14592         (mips_arch): New.
14593         (override_options): Handle -march for codegen and -mtune
14594         for scheduling. Use mips_arch. Move tx39 target default here.
14595         (mips_parse_cpu): Move error message to override_options.
14596
14597         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14598
14599         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14600
14601         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14602         (MIPS Options): Ditto.  Change mcpu entry to historical text.
14603
14604 2001-07-05  H.J. Lu  (hjl@gnu.org)
14605
14606         * config/mips/mips.c (mips_parse_cpu): New function to parse
14607         -march=*/-mcpu=*.
14608
14609 2001-07-05  Jim Wilson  <wilson@redhat.com>
14610
14611         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14612         * config/ia64/t-ia64: Likewise.
14613         (LIB1ASMFUNCS): Update comment.
14614
14615 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
14616
14617         * doc/install.texi (Install GCC: Binaries): Fix typo.
14618
14619 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14620
14621         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14622         reference using the stack pointer, adjust it since we push Y
14623         temporarily.
14624         ("*ashrsi3"): Likewise.
14625         ("*lshrsi3"): Likewise.
14626
14627 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14628
14629         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14630         when -fomit-frame-pointer is used.
14631
14632 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
14633
14634         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14635         (try_redirect_by_replacing_jump): Reverse updating properly the
14636         count and frequency information.  Reverse removing cc0 setter.
14637         (forwarder_block_p): Reverse fixing for fallthru blocks.
14638
14639 2001-07-05  DJ Delorie  <dj@redhat.com>
14640
14641         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
14642         (translate_options): If the above is defined, use it to map
14643         given options to new options.
14644         * doc/tm.texi: Document it.
14645
14646 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
14647             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14648
14649         * doc/invoke.texi (Optimize Options): Document that -fgcse may
14650         cause programs using computed gotos to run more slowly.
14651
14652 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14653
14654         * doc/install.texi (Specific): Markup, spelling and typo fixes.
14655         Fixed sorting.
14656         Consistently require binutils 2.11.2, not prereleases.
14657         (Specific, decstation-*): Canonicalize as mips-dec-*.
14658         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
14659         always necessary.
14660         (Specific, m68k-altos): Removed reference to README.altos, deleted.
14661         (Specific, mips-*): Reword MIPS C compiler requirements.
14662         (Specific, powerpc*-*-*): New, mention --with-cpu once.
14663         (Specific, sunv5): Removed, obsolete.
14664
14665 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14666
14667         * dwarf2out.c (output_loc_list): Use an all ones mask for
14668         .text asm output and don't rely on long long
14669         literals. Reformat some long lines.
14670
14671 2001-07-05  Andreas Jaeger  <aj@suse.de>
14672
14673         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
14674         section.
14675
14676 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14677
14678         * dwarf2out.c (dwarf2out_define): Update comment.
14679         (dwarf2out_undef): Ditto.
14680         (dwarf2out_start_source_file): Ditto.
14681         (dwarf2out_end_source_file): Ditto.
14682         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
14683         since we never call the start/end debug hook for the primary file.
14684
14685 2001-07-04  Kazu Hirata  <kazu@hxi.com>
14686
14687         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
14688         from shll.
14689
14690 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14691
14692         * cppinit.c (remove_dup_dirs): Inform if a system include
14693         directory is being reordered.
14694         * doc/invoke.texi (Directory Options): GCC warns if you hide a
14695         system include.
14696         * doc/cpp.texi (Search Paths): Likewise.
14697         * doc/gcc.texi (Interoperation): Remove information about
14698         -I/usr/include.
14699
14700 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14701
14702         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
14703         (VARRAY_TOP_CHAR_PTR): Likewise.
14704
14705 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14706
14707         * gcc.c (process_command): Don't assign elements of a const char*.
14708
14709 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14710
14711         * emit-rtl.c (change_address): Don't abort if invalid address while
14712         reload is in progress.
14713
14714 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14715
14716         * c-lex.c (cb_file_change): Pass line number to
14717         debug_start_source_file.
14718         (cb_undefine): Pass correct line number to debug_undef.
14719
14720         * toplev.c (debug_start_source_file): Add line number to
14721         parameters. Pass it along to dwarf2out_start_source_file.
14722         (decode_g_option): Stop resetting debug level back to normal when
14723         we change debug formats, unless the current level is
14724         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
14725         3).
14726
14727         * toplev.h (debug_start_source_file): Add line number to
14728         parameters.
14729
14730         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
14731         parameters.
14732
14733         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
14734         parameters.
14735         Output debug_macinfo data for starting file if requested.
14736         (dwarf2out_end_source_file): Output debug_macinfo data for ending
14737         file if requested.
14738         (dwarf2out_define): Output debug_macinfo data for defining a macro
14739         if requested.
14740         (dwarf2out_undef): Output debug_macinfo data for undefining a
14741         macro if requested.
14742         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
14743         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
14744         (macinfo_section_label): New. DWARF2 macro info section label.
14745         (dwarf2out_init): If we want macro info, output the start label
14746         for the section.
14747         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
14748         attribute to the compilation unit die pointing to the macro info.
14749
14750 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14751
14752         * dwarf2out.c (new_loc_list): Move to inside #ifdef
14753         DWARF2_DEBUGGING_INFO.
14754         (add_loc_descr_to_loc_list): Ditto.
14755         (output_loc_list): Ditto.
14756         Also, fix thinko in curr not being initialized.
14757         (gen_internal_sym): Ditto.
14758
14759 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14760
14761         * emit-rtl.c (replace_equiv_address): New function.
14762         * expr.h (replace_equiv_address): New declaration.
14763         * explow.c (validize_mem): Call it instead of change_address and
14764         also call if -fforce-addr and address is constant.
14765         * expr.c: Replace more calls to change_address with adjust_address
14766         and/or replace_equiv_address or to validize_mem.
14767         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
14768         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
14769         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14770         * config/i370/i370.md, config/i860/i860.md: Likewise.
14771         * config/i960/i960.md, config/mips/mips.c: Likewise.
14772         * config/mips/mips.md, config/pa/pa.md: Likewise.
14773         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
14774         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
14775
14776 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14777
14778         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
14779
14780         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
14781         function.
14782
14783 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
14784
14785         * doc/include: New directory.
14786         * doc/fdl.texi: Move to doc/include/fdl.texi.
14787         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
14788         * doc/include/funding.texi, doc/include/gpl.texi: New files.
14789         * doc/gcc.texi: Use funding.texi and gpl.texi.
14790         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
14791         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
14792         Update dependencies and use -I $(docdir)/include.
14793
14794 2001-07-04  Anthony Green  <green@redhat.com>
14795
14796         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
14797
14798 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14799
14800         * doc/install.texi (sparc64-*-*): Remove garbage.
14801
14802 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
14803
14804         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
14805         Fix typo in last change to use adjust_address.
14806
14807 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14808
14809         * doc/install.texi (Specific): Update information for *-*-solaris*.
14810
14811 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14812
14813         * explow.c (plus_constant_wide): Reinitialize Y for restart.
14814
14815 2001-07-03  Stan Shebs  <shebs@apple.com>
14816
14817         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
14818         case for flag_no_mach_text_sections.
14819         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
14820         * config/darwin.c (flag_no_mach_text_sections): Remove.
14821         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
14822
14823 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14824
14825         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
14826         and avoid checking for constant as first operand.
14827         * recog.c (find_constant_term_loc): No longer static.
14828         (adj_offettable_operand): Delete.
14829         * rtl.h (adj_offsettable_operand): Delete declaration.
14830         (find_constant_term): Add declaration.
14831         * caller-save.c: Replace calls to adj_offsettable_operand with calls
14832         to adjust_address.
14833         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
14834         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
14835         * config/i386/i386.c, config/i386/i386.md: Likewise.
14836         * config/i860/i860.c, config/i960/i960.c: Likewise.
14837         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
14838         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
14839         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
14840         * config/mips/mips.c, config/mips/mips.md: Likewise.
14841         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
14842         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
14843         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
14844         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
14845         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
14846         * config/ns32k/ns32k.md: Likewise.
14847
14848 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
14849
14850         * rtl.c (copy_rtx): Handle 'T' format letter.
14851         * gensupport.c (collect_insn_data): Likewise.
14852         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
14853
14854 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
14855
14856         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
14857         -B option.  Use 'dir' not 'foo' as example directory name.
14858
14859 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14860
14861         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14862         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
14863
14864 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14865
14866         * doc/cppinternals.texi: Improve formatting and logical markup.
14867
14868 2001-07-03  Andreas Jaeger  <aj@suse.de>
14869
14870         * Makefile.in (insn-recog.o): Add dependency on reload.h.
14871
14872         * genrecog.c (write_header): Include reload.h for prototypes in
14873         insn-recog.c.
14874
14875 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
14876
14877 config:
14878         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
14879         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
14880         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
14881         i386_pe_valid_type_attribute_p): Add.
14882         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
14883         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
14884
14885 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14886
14887         * explow.c (plus_constant_wide, case LO_SUM): New case.
14888         (plus_constant_for_output_wide): Delete.
14889         * rtl.h (plus_constant_for_output): Delete.
14890         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
14891         instead of plus_constant_for_output.
14892         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
14893         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
14894         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
14895         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
14896         * config/sparc/sparc.md: Likewise.
14897         Convert some change_address calls to adjust_address.
14898
14899 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14900
14901         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
14902         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
14903         documentation of -std and -Wwrite-strings.
14904
14905 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14906
14907         * cse.c (canon_hash): Don't register registers in very small
14908         register classes, as extending their lifetime might cause
14909         reload to fail.
14910
14911 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14912
14913         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14914
14915         * flow.c (forwarder_block_p): Fix for fallthru blocks.
14916         (try_redirect_by_replacing_jump): Update properly the count
14917         and frequency information.
14918
14919 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
14920
14921         * toplev.c (dump_file_index): Move SSA dumps just after first
14922         jump dump.
14923         (dump_file): Corresponding changes.
14924         (rest_of_compilation): Move SSA path to just after the first
14925         jump pass.
14926         * doc/gcc.texi (Passes): Update due to movement of SSA path.
14927         * doc/invoke.texi: Update dump file #s as they were completely
14928         out of date with reality.
14929
14930 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14931
14932         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
14933
14934         * expr.c (emit_move_insn_1): Deal with non-default
14935         STACK_PUSH_CODE.
14936
14937         * expr.c (emit_single_push_insn): Fix warning.
14938
14939 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14940
14941         * expr.c (emit_move_insn_1): Avoid modifying
14942         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
14943
14944 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14945
14946         * emit-rtl.c (adjust_address): New function.
14947         * expr.h (adjust_address): Add declaration.
14948         * builtins.c: Replace some calls to change_address with calls to it
14949         or to validize_mem.
14950         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
14951         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
14952         * config/arm/arm.c, config/convex/convex.c: Likewise.
14953         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14954         * config/i386/i386.c, config/i386/i386.md: Likewise.
14955         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
14956         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
14957         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
14958         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
14959         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
14960
14961 2001-07-02  Jim Wilson  <wilson@redhat.com>
14962
14963         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
14964
14965 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
14966
14967         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
14968         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
14969
14970 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14971
14972         * cppinit.c (lang_defaults): New table.
14973         (set_lang): Just read from lang_defaults into the live options
14974         structure.
14975
14976 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14977
14978         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
14979         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
14980         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
14981
14982 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14983
14984         * doc/install.texi: Various spelling and markup fixes.
14985         (Installing GCC): Component specific installation instructions are
14986         gone.
14987         Fix reference.
14988         Warn about removing old install dir in the presence of shared libs.
14989         (Configuration): Invoke with options target to match configure
14990         --help.
14991         Consistently refer to gas, gld pathnames.
14992         Invert --enable-multilib documentation.
14993         Remove references to old compiler versions.
14994
14995 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14996
14997         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
14998
14999 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15000
15001         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
15002         section.
15003         (Specific, mips*-sgi-irix5): Note IDO download.
15004         Reworded MIPS C hints.
15005         Use GNU as instead of GAS.
15006         Markup fixes.
15007         Removed SGI Freeware reference, IRIX 6 only.
15008         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
15009         Note N64 library requirement/workaround.
15010         Update O32 hints.
15011         Complete list of structure passing bug victims.
15012
15013 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15014
15015         * doc/install.texi: Remove CVS Id.
15016
15017 2001-07-02  Andreas Jaeger  <aj@suse.de>
15018
15019         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
15020         (find_inherently_necessary): Remove unused variable.
15021
15022 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15023
15024         * c-common.h (TDI_inlined): New ast dump phase.
15025         (dump_flag_name): New function.
15026         * c-dump.c (dump_files): Add inlined phase.
15027         (dump_flag_name): Define.
15028         * doc/invoke.texi (-fdump-ast-inlined): Document.
15029
15030 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15031
15032         * stor-layout.c (layout_decl): Revert change to handling of alignment
15033         in packed types.
15034
15035 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15036
15037         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
15038         for FIELD_DECL.
15039
15040 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
15041
15042         * doc/tm.texi (FUNCTION_ARG): Document that the last call
15043         is special.
15044
15045 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15046
15047         * tlink.c (recompile_files): Remove COMPILER_PATH and
15048         LIBRARY_PATH from the environment.
15049
15050 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
15051
15052         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
15053         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
15054         enumerators.
15055         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
15056
15057         * c-parse.in (OBJC_STRING): Kill.
15058         (objc_string): Decompose to [objc_string] '@' STRING.
15059         (reswords): Take the leading '@' off all the Objective C keywords.
15060         (objc_rid_sans_at): Kill.
15061         (init_reswords): Don't initialize it.
15062         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
15063         (_yylex): Kill reconsider label.  Look ahead one token after
15064         an '@'; if we get an identifier, check whether it's an
15065         Objective C @-keyword.  If so, return the keyword.  Otherwise,
15066         put back the token and return the '@' as a terminal.
15067
15068         * cpplib.c (lex_macro_node): Remove unnecessary check for
15069         leading '@' on identifier.  Clarify control flow and commentary.
15070
15071 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15072
15073         * cse.c (new_label_ref): Variable deleted.
15074         (insert): Remove set of new_label_ref.
15075         (check_for_label_ref): New function.
15076         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
15077
15078 See ChangeLog.5 for earlier changes.