OSDN Git Service

* langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2
3         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
4
5         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
6         Add casts to remove warnings.
7
8         * Makefile.in (OBJS): Sort alphabetically.
9
10         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
11         Also minor cleanups.
12
13 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
14
15         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
16         (FLAGS_TO_PASS): Add STAGE_PREFIX.
17         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
18         to STAGE_PREFIX.
19
20 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
21
22         * cse.c (true_dependence_in_rtx): New function.
23         (invalidate): Use it.
24
25         * c-common.h (GOTO_FAKE_P): New macro.
26         * tree-inline.c (GOTO_FAKE_P): Set.
27         * c-tree.texi (GOTO_FAKE_P): Document.
28
29         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
30         containing pointers.
31         (output_addressed_constants): Check for local/external relocations.
32         * elfos.h (SELECT_SECTION): Classify data section.
33         * tm.texi (SELECT_SECTION): Update documentation.
34
35         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
36         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
37
38 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
39
40         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
41         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
42         OBJECT_FORMAT_ROSE.
43
44 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
45
46         * config/cris/cris.c: Tweak spacing for prototypes.
47         (LOSE_AND_RETURN): New macro.
48         (cris_operand_lossage): New function.
49         (cris_print_index, cris_print_base): Use cris_operand_lossage
50         rather than fatal_insn.
51         (cris_print_operand, cris_print_operand_address): Use
52         LOSE_AND_RETURN rather than fatal_insn and internal_error.
53         (cris_output_addr_const): Use LOSE_AND_RETURN and
54         output_operand_lossage rather than fatal_insn and internal_error
55         for valid but unexpected rtx expressions.
56
57         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
58         for a SUBREG in src or dest, abort instead.
59
60 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
61
62         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
63         doc.
64
65 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
66
67         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
68         preprocessor define.  If only DBX_DEBUGGING_INFO or only
69         DWARF2_DEBUGGING_INFO is supported for the target, provide
70         appropriate definitions.
71
72 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
73
74         * Makefile.in: Update, and add c-objc-common.o dependencies.
75         * c-lang.c: Remove unnecessary includes.
76         (c_init): Move bulk of code to c_objc_common_init, and call it.
77         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
78         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
79         c-objc-common.c.
80         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
81         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
82         c_objc_common_init, c_missing_noreturn_ok_p): New.
83         * toplev.c: Update comment.
84         * doc/passes.texi: Update.
85 objc:
86         * ojbc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
87         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
88         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
89         (objc_init): Update to use c_objc_common_init.
90
91 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
92
93         * cpphash.c (_cpp_init_hashtable): Update.
94         * cpphash.h (struct spec_nodes): Remove n_L.
95         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
96
97 2001-11-17  Richard Henderson  <rth@redhat.com>
98
99         * unroll.c (loop_iterations): Move last change ...
100         * doloop.c (doloop_modify_runtime): ... here.
101
102 2001-11-17  Corey Minyard  <minyard@acm.org>
103             Richard Henderson  <rth@redhat.com>
104
105         * unroll.c (loop_iterations): Detect one situation in which we
106         overestimate the number of iterations.
107
108 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
109
110         * gcc.c (set_input): Export.
111         Move declaration ...
112         gcc.h (set_input): ... here.
113
114 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
115
116         * gcc.c (set_collect_gcc_options): New function, split out from
117         main.
118         Ignore elided switches.
119         (do_spec): Invoke before executing command.
120         (do_spec_1): Likewise.
121         Fixes PR other/3968.
122
123 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
124
125         * config/cris/cris.h (INT_ASM_OP): Remove.
126
127 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
128
129         * config/i386/sol2.h (WINT_TYPE): Redefine.
130         (WINT_TYPE_SIZE): Likewise.
131
132 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
133
134         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
135         (dup2): Make static and add prototype.
136         * m68k/plexus.h: Don't define NO_DUP2.
137         * configure.in (AC_CHECK_FUNCS): Add dup2.
138         * config.in, configure: Regenerate.
139
140         * ia64/aix.h (REG_SIZE): Don't #undef.
141         * sparc.h (REG_SIZE): Delete.
142         * flow.c (mark_used_regs): Don't use REG_SIZE.
143         * regs.h (REG_SIZE): Delete.
144
145 2001-11-27  Andreas Schwab  <schwab@suse.de>
146
147         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
148         PREFERRED_DEBUGGING_TYPE.
149
150 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
151
152         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
153         (expr.o, varasm.o): Depends on langhooks.h.
154         * c-common.c (c_safe_from_p): Always declare.
155         (c_expand_expr): Refine when declared.
156         * c-lang.c (c-common.h): Now include.
157         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
158         (c_init): Don't set lang_safe_from_expr.
159         * expr.c (langhooks.h): Now include.
160         (lang_safe_from_p): No longer define.
161         (safe_from_p): Use lang hook.
162         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
163         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
164         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
165         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
166         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
167         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
168         * langhooks.h (struct lang_hooks): New fields expand_constant
169         and safe_from_p.
170         * output.h (output_constant): Size arg is HOST_WIDE_INT.
171         * stmt.c (expand_decl_init): No longer need to expand constant
172         for CONST_DECL.
173         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
174         * toplev.c (lang_expand_constant): Delete var.
175         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
176         operations on SAVE_EXPR.
177         * varasm.c (langhooks.h): Now include.
178         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
179         (record_constant_1, output_addressed_constants): Likewise.
180         (initializer_constant_valid_p, output_constant): Likewise.
181         (output_constant_def): Process no-defer of string constant.
182         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
183         (output_constant): Strip more conversions.
184         Track our size and pad for the rest.
185         (array_size_for_constructor): Remove code for non-byte STRING_CST.
186         (output_constructor): SIZE now HOST_WIDE_INT.
187
188 2001-11-27  Richard Henderson  <rth@redhat.com>
189
190         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
191         in computing DIFF.
192
193 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
194
195         * cppfiles.c (read_include_file): Add comment.
196
197 2001-11-26  Richard Henderson  <rth@redhat.com>
198
199         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
200
201 2001-11-26  Richard Henderson  <rth@redhat.com>
202
203         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
204         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
205         commented out override.
206
207 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
208
209         * cppfiles.c (stack_include_file): Don't optimize zero-length
210         files.
211         (read_include_file): NUL-terminate read files.
212         * cpplex.c (handle_newline, skip_escaped_newlines,
213         get_effective_char, skip_whitespace, parse_identifier,
214         parse_identifier_slow, parse_number, parse_string,
215         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
216         NUL-terminated.
217         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
218         Be sure buffers are NUL terminated.
219         * cppmacro.c (warn_of_redefinition): Kill compile warning.
220
221 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
222
223         * c-common.c: Include tree-inline.h.
224         (c_language): Move separate definitions here.
225         (c_common_init_options, c_common_post_options): New.
226         (c_common_lang_init): Rename c_common_init.
227         * c-common.h (c_common_lang_init): Similarly.
228         (c_common_init_options, c_common_post_options): New.
229         * c-lang.c (c_post_options): Move body to c_common_post_options.
230         (c_init_options): Use c_common_init_options.
231         (c_init): Update.
232         * langhooks.def: Rearrange.
233         * langhooks.h: Rearrange, and improve comments.
234         * toplev.c (do_compile): New function.
235         (toplev_main): Use it.
236         (lang_independent_f_options, parse_options_and_default_flags,
237         process_options): Remove trailing periods.
238         * Makefile.in: Update.
239 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
240         functions.
241         (ojbc_init): Update.
242
243 2001-11-26  Richard Henderson  <rth@redhat.com>
244
245         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
246
247 2001-11-26  DJ Delorie  <dj@redhat.com>
248
249         * expr.c (store_constructor): Actually use the value computed
250         if WORD_REGISTER_OPERATIONS.
251
252 2001-11-26  Richard Henderson  <rth@redhat.com>
253
254         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
255         for CONSTRUCTOR.
256
257 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
258
259         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
260         correct function on AIX.
261
262 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
263
264         * toplev.c (process_options): Don't force
265         flag_optimize_sibling_calls to zero just because exceptions are
266         enabled.
267
268 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
269
270         * df.h (transfer_function_sbitmap): Use PARAMS around argument
271         list in function prototypes.
272         (transfer_function_bitmap): Likewise.
273
274 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
275
276         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
277         * config/i386/netbsd-elf.h: Likewise.
278
279 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
280
281         * doc/trouble.texi: Remove outdated RS/6000 comments.
282
283 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
284
285         * final.c (walk_alter_subreg): Fix return value.
286
287 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
288
289         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
290         alter_subreg.
291         * sparc.md (post-reload splitters): Do not call alter_subreg.
292         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
293
294 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
295
296         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
297
298 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
299
300         * final.c: (insn_lengths): Make it an int *, so that large jump
301         tables don't overflow.
302
303 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
304
305         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
306         (format_types): Use it for scanf.
307         (dollar_arguments_pointer_p): New.
308         (init_dollar_format_checking): Store details of which arguments
309         are pointers.
310         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
311         (finish_dollar_format_checking): Take extra parameter
312         pointer_gap_ok.  Treat unused arguments differently if
313         pointer_gap_ok and the unused arguments are pointers.
314         (check_format_info_main): Pass extra argument to
315         finish_dollar_format_checking.
316         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
317         unused arguments are present between used arguments with operand
318         numbers.
319
320 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
321
322         * df.c: Add prototypes for hybrid_search_bitmap and
323         hybrid_search_sbitmap. 
324         (hybrid_search_bitmap): New function.
325         (hybrid_search_sbitmap): New function.
326         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
327         (iterative_dataflow_bitmap): Ditto.
328         
329 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
330
331         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
332         address computations.
333
334 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
335
336         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
337         register b (low part of d).
338
339 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
340
341         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
342         passed to mcount.
343
344 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
345
346         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
347         * config/alpha/x-vms: New file, to compile the above.
348         * config.gcc (alpha*-dec-vms*): Add x-vms.
349
350 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
351
352         * genextract.c (main): Set ro_loc for peepholes.
353
354 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
355
356         * fix-header.c (main): Move inf_buffer termination and inf_limit
357         calculation to after read.
358
359         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
360         (__UNIX_FOPEN): Define.
361
362 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
363
364         * function.c (assign_stack_temp_for_type): Clear alias set before
365         setting new one.
366
367 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
368
369         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
370         format.
371         * rs6000.md (cmptf): Fix typo.
372
373 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
374
375         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
376         * varasm.c (output_constructor): Use assemble_integer rather
377         than ASM_OUTPUT_BYTE.
378
379 2001-11-23  Andreas Jaeger  <aj@suse.de>
380
381         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
382         extension.
383
384 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
385
386         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
387         default definition.
388         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
389         (MULTILIB_DEFAULTS): Remove previous definition.
390
391 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
392
393         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
394         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
395
396 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
397
398         * cris.h: Revert thinko in last patch.
399
400 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
401
402         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
403         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
404         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
405         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
406         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
407         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
408
409         * predict.c, reg-stack.c: Fix spelling errors.
410
411 2001-10-09  Andrew Haley  <aph@redhat.com>
412
413         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
414         start of stack slot.
415
416 2001-11-22  Graham Stott  <grahams@redhat.com>
417
418         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
419         replacement jump after original jump.
420
421         (verify_flow_info): Remove redundent initialisation.
422         Handle reaching end of insn list before finding a BARRIER.
423         Only issue one missing barrier diagnostic.
424
425 2001-11-22  Graham Stott  <grahams@redhat.com>
426
427         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
428
429 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
430
431         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
432         insn actually does.
433
434 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
435
436         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
437         Fix typo -mm32rx=> -m32rx.
438
439         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
440         targets.
441
442         * config.gcc (xscale-coff): Add necessary header files to
443         tm_file variable.
444
445 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
446
447         * rs6000.c (output_cbranch): Use $, not %$, in output template.
448
449 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
450
451         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
452         (lang_type_quals): Declare.
453         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
454         retrieve language-specific qualifiers for a type node, instead of
455         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
456         lang_dump_tree.
457         * tree-dump.h: Rename from c-dump.h.
458         * c-common.h (C_TYPE_QUALS): Removed.
459         Move declarations for tree-dump.c interface to...
460         * tree.h: ... here. Remove lang_dump_tree.
461         * langhooks.h (struct lang_hooks_for_tree_dump): New.
462         (struct lang_hooks): Add tree_dump hooks.
463         * langhooks.c (lhd_tree_dump_dump_tree): New function.
464         (lhd_tree_dump_type_quals): New function.
465         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
466         Declare.
467         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
468         * Makefile.in: Move tree-dump.o to language-independent back-end.
469
470 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
471
472         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
473         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
474         * arc.h (DBX_REGISTER_NUMBER): Likewise.
475         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
476         * avr.h (DBX_REGISTER_NUMBER): Likewise.
477         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
478         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
479         * convex.h (DBX_REGISTER_NUMBER): Likewise.
480         * cris.h (DBX_REGISTER_NUMBER): Likewise.
481         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
482         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
483         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
484         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
485         * i370.h (DBX_REGISTER_NUMBER): Likewise.
486         * i860.h (DBX_REGISTER_NUMBER): Likewise.
487         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
488         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
489         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
490         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
491         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
492         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
493         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
494         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
495         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
496         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
497         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
498         * romp.h (DBX_REGISTER_NUMBER): Likewise.
499         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
500         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
501         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
502         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
503         * v850.h (DBX_REGISTER_NUMBER): Likewise.
504         * vax.h (DBX_REGISTER_NUMBER): Likewise.
505         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
506
507         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
508         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
509
510 2001-11-21  H.J. Lu <hjl@gnu.org>
511
512         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
513
514 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
515
516         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
517         emit_cmp_and_jump_insns.
518
519         * stormy16.c (xstormy16_expand_builtin_va_arg,
520         xstormy16_expand_casesi): Likewise.
521
522 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
523
524         * function.c (keep_stack_depressed): Major rework.
525         (handle_epilogue_set, emit_equiv_load): New functions.
526         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
527         has return value.
528         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
529         * rtl.h (SET_IS_RETURN_P): New macro.
530
531         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
532         and also support TREE_ADDRESSABLE.
533         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
534
535 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
536
537         * rs6000.md (cmptf_internal1): Replace %$ with $.
538
539 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
540
541         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
542         (read_include_file): Use STAT_SIZE_TOO_BIG.
543
544         * cppinit.c (INO_T_COPY): Define.
545         (INO_T_EQ): Uppercase parameters.
546         (append_include_chain): Use INO_T_COPY.
547
548 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
549
550         * cfg.c: Fix typos and formatting in the introductory comment.
551
552 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
553
554         * profile.c (compute_branch_probabilites):  Compute probabilities
555         for entry/exit edges; estimate probabilities for zero counts.
556
557 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
558
559         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
560         to emit_library_call.
561         * function.c (expand_main_function, expand_function_start,
562         expand_function_end): Likewise.
563         * profile.c (output_func_start_profiler): Likewise.
564         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
565         second argument to emit_library_call.
566         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
567         as second argument to emit_library_call.
568         * calls.c (emit_library_call): Update fn_type description.
569
570 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
571
572         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
573         if fndecl is still DECL_INLINE and has DECL_RESULT.
574
575 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
576
577         * clipper.c (clipper_movstr): Avoid uninitialized warning.
578         * i960.c (is_mask, legitimize_address): Likewise.
579         * m88k.c (m88k_expand_prologue): Likewise.
580         * m88k.md: Likewise.
581         * mcore.c (emit_new_cond_insn): Likewise.
582         * stormy16.c (xstormy16_emit_cbranch): Likewise.
583
584 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
585
586         * config.gcc: Delete powerpcle-*-solaris2* stanza.
587         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
588         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
589         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
590         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
591         config/rs6000/t-ppcos: Expunge all references to Solaris.
592
593         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
594
595         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
596         output templates.
597         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
598         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
599
600 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
601
602         * sh.md: Avoid uninitialized warnings.
603         * vax.c (vax_rtx_cost): Likewise.
604
605 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
606
607         * rs6000.c (direct_return): Check if we are saving altivec
608         registers.
609         (first_altivec_reg_to_save): New.
610         Updated stack frame layout comments.
611         (rs6000_stack_info): Calculate altivec register save size.
612         Save link register if we saved some altivec registers.
613         (rs6000_stack_info): Align save size to 16 if altivec abi or
614         abi_darwin.
615         (rs6000_stack_info): Calculate altivec register offsets.
616         (rs6000_stack_info): Add altivec info to save_size.
617         (debug_stack_info): Add altivec debug info.
618         (rs6000_emit_prologue): Save altivec registers and vrsave.
619         (compute_vrsave_mask): New.
620         (altivec_expand_builtin): Remove unused variables.
621         (rs6000_parse_abi_options): Add static qualifier.
622         (rs6000_expand_builtin): Remove unused parameters.
623         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
624         (altivec_init_builtins): Same.
625         (is_altivec_return_reg): New.
626         (vrsave_operation): New.
627         (ALTIVEC_REG_BIT): New.
628         (generate_set_vrsave): New.
629
630         * rs6000.md (get_vrsave): New.
631         (set_vrsave): New.
632         (*set_vrsave_internal): New.
633
634         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
635         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
636         altivec_padding_size, vrsave_mask.
637         (TOTAL_ALTIVEC_REGS): New.
638         (EPILOGUE_USES): Add VRSAVE_REGNO.
639
640 2001-11-20  Jeff Law <law@redhat.com>
641
642         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
643         exit label as necessary.
644
645 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
646
647         * reload1.c (elimination_effects): Use function_invariant_p
648         instead of CONSTANT_P when considering register equivalences.
649
650 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
651
652         * config.gcc: Add FreeBSD/PowerPC target.
653         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
654         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
655         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
656         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
657         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
658         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
659         freebsd-spec.h to tm_file.
660         (rs6000-*-lynxos*): Add lynx.h to tm_file.
661         * config/freebsd.h: Tidy up.
662         (USING_CONFIG_FREEBSD): Define.
663         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
664         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
665         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
666         (TARGET_HAS_F_SETLKW): Define.
667         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
668         * config/freebsd-spec.h: New file.
669         * config/rs6000/freebsd.h: New file.
670         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
671         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
672         USING_SVR4_H to know when to turn on ELF support.
673         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
674         define only if not already defined.
675         Add FreeBSD support.
676         * config/rs6000/aix.h (TARGET_VERSION): Define.
677         * config/rs6000/beos.h: Likewise.
678         * config/rs6000/darwin.h: Likewise.
679         * config/rs6000/mach.h: Likewise.
680         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
681         Don't include lynx.h directly.
682
683 2001-11-20  Graham Stott  <grahams@redhat.com>
684
685         * unwind-dw2-fde.c (__deregister_frame_info_bases):
686         Fix lossage in last change return OB.
687
688 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
689
690         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
691         Remove unneeded exit related macros.
692
693 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
694
695         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
696
697         * rs6000.c (rs6000_emit_move): Add TFmode case.
698         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
699         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
700         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
701         * rs6000.h: ... to here.
702         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
703         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
704         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
705
706 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
707
708         * emit-rtl.c (get_mem_attrs): Fix typo.
709
710 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
711
712         * c-lang.c (finish_file): Backout 2001-11-16
713         changes, instead set DECL_DEFER_OUTPUT for static inline functions
714         before calling c_expand_deferred_function.
715
716 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
717
718         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
719         Don't register empty .eh_frame sections.
720         (__deregister_frame_info_bases, __deregister_frame): Don't
721         unregister them either.
722
723 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
724
725         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
726         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
727         * configure: Regenerate.
728         * config.in: Add dummy definitions of new flags.
729         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
730         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
731         * gcc.c (ASM_DEBUG_SPEC): New macro.
732         (asm_debug): New static variable.
733         (default_compilers): Add asm_debug when assembling from
734         user input.
735         (static_specs): Add asm_debug.
736
737 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
738
739         * config.gcc (*-*-freebsd*): Remove configuration block.
740
741 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
742
743         bootstrap/4422
744         * configure.in: Setup ability to run ./stage[1234]/xgcc in
745         fixinc *as if* it were a proper lang subdirectory.
746         * configure: Rebuilt.
747
748 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
749
750         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
751
752 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
753
754         * 1750a.md: Don't use hex format for a const_int.
755
756 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
757
758         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
759
760 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
761
762         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
763         defined (prevents link errors when gettext isn't in the system
764         library).
765
766 2001-11-19  DJ Delorie  <dj@redhat.com>
767
768         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
769         (validate_const_int): New.
770         (read_rtx): Validate constant integers.
771         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
772
773 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
774
775         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
776
777 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
778
779         * toplev.c (DUMPFILE_FORMAT): Define default.
780         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
781         (close_dump_file, compile_file): Likewise.
782         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
783         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
784
785 2001-11-19  Jeff Law <law@redhat.com>
786
787         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
788         a nop-jump.
789
790 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
791
792         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
793         Don't fall off the base token run.
794
795 2001-11-19  Jason Wilkins <fenix@io.com>
796
797         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
798
799 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
800
801         * tree.def (VIEW_CONVERT_EXPR): New tree code.
802         * tree.h (handled_component_p): New declaration.
803         * alias.c (handled_component_p): Move function from here ...
804         * expr.c (handled_component_p): ... to here and non longer static.
805         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
806         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
807         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
808         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
809         (expand_expr, case VIEW_CONVERT_EXPR): New case.
810         (expand_expr, cse ADDR_EXPR): No need to copy if already
811         BIGGEST_ALIGNMENT.
812         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
813         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
814         (output_constant): Handle VIEW_CONVERT_EXPR.
815         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
816         Add new case for VIEW_CONVERT_EXPR.
817
818 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
819
820         * a29k/unix.h (ASM_FILE_START): Const-ify.
821         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
822         * i386/isc.h (ASM_FILE_START): Const-ify.
823         * i386/sun386.h (ASM_FILE_START): Likewise.
824         * m32r.md: Likewise.
825         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
826         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
827         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
828         * mn10200.md: Initialize variable.
829
830 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
831
832         * gcse.c (try_replace_reg): Copy RTX before creating note.
833
834         * df.h (df_ref_flags): New uenum.
835         (DF_REF_FLAGS): New macro.
836         (struct ref): Add field "flags".
837         * df.c (HANDLE_SUBREG): Remove.
838         (df_ref_create): Likewise; set flags field of ref.
839         (df_def_record_1): Strip down read_write subreg; remove
840         commented out code; set READ_WRITE flag.
841         (read_modify_subreg_p): New static function.
842         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
843         new argument "flags".
844         (df_insn_refs_record): Update call of df_uses_record.
845         (df_insn_modify): Avoid #if 0 around comment.
846         (df_dump): Dump the read/write flag.
847
848         * predict.c (propagate_freq): Make cyclic_probability and frequency
849         volatile
850
851         * i386.c (ix86_cc_mode): Accept USE.
852
853         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
854         jump is turned into simplejump.
855
856 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
857
858         * doc/fragments.texi, doc/trouble.texi: Remove links to old
859         installation chapter.
860         * doc/gcc.texi: Don't claim that this manual documents
861         installation.  Mark Installation menu entry as being out of date.
862
863 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
864
865         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
866         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
867         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
868
869 2001-11-19  Jason Merrill  <jason@redhat.com>
870
871         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
872         cur_token, not after.
873
874         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
875         Lose ASM_OUTPUT_CONSTRUCTOR.
876         * system.h: Poison it and INT_ASM_OP.
877         * c-lang.c (finish_file): Don't check for it.
878         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
879
880 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
881
882         * mmix.c (mmix_cc1_ignored_option): Const-ify.
883         (mmix_init_machine_status): Make static to match declaration.
884         (mmix_unique_section): Const-ify.
885         (mmix_output_quoted_string): Avoid automatic aggregate
886         initialization.
887         (mmix_output_register_setting): Likewise.
888         (mmix_output_shiftvalue_op_from_str): Likewise.
889
890         * mmix.h (mmix_cc1_ignored_option): Const-ify.
891         (ASM_OUTPUT_BYTE): Fix format specifier warning.
892         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
893
894 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
895
896         PR c/4448
897         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
898         name __objc_thread_exit_status so that it matches the
899         variable defined in objc/thr.h.
900
901 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
902
903         PR bootstrap/4020
904         * mklibgcc.in: Add missing semi-colons.
905         * Makefile.in: Same.
906
907 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
908
909         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
910         after re-laying out decl in incomplete case.
911         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
912
913 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
914
915         * doc/install-old.texi: Move some sections out to ...
916         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
917         ... here.  New files.  Make into chapters rather than sections.
918         * doc/gcc.texi: Include the new files and add menu entries for
919         them.
920         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
921
922 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
923
924         * tree.h (TYPE_ALIGN_OK): New flag.
925         * emit-rtl.c (set_mem_attributes): Handle it.
926         * expr.c (emit_single_push_insn): Only set to alias set 0 if
927         doing sibcall optimization.
928         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
929         when make temporary.
930         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
931         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
932
933         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
934
935 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
936
937         * c-decl.c (c_decode_option): Give deprecation warning for
938         -traditional.
939         * doc/invoke.texi (-traditional): Note that this option is
940         deprecated.
941
942 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
943
944         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
945         arg to HOST_WIDE_INT, not long.
946
947         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
948         (HAS_INIT_SECTION): Define.
949         (REAL_ARITHMETIC): Don't undefine.
950
951 2001-11-18  Egor Duda  <deo@logos-m.ru>
952
953         * config/i386/cygwin.h: Strip leading '*' from name, if any.
954
955 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
956
957         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
958         * c-common.c: Include diagnostic.h.
959         (c_common_finish): New.
960         * c-common.h (c_common_finish): New.
961         * c-lang.c (LANG_HOOKS_FINISH): Override.
962         * c-parse.in: Don't include diagnostic.h.
963         (finish_parse): Remove.
964         * langhooks.h: Update comments.
965         * toplev.c (lang_dependent_init): New prototype.
966         (finalize): New.
967         (compile_file): Split cleanup code out to finalize.
968         (lang_dependent_init): Stop if lang_hooks.init fails.
969         (toplev_main): Update.
970         * tree.h (finish_parse): Remove.
971 objc:
972         * objc-act.c (LANG_HOOKS_FINISH): Override.
973
974 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
975
976         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
977         * config/alpha/vms_tramp.asm: New file.
978         * config/alpha/vms-tramp.asm: Removed.
979
980 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
981
982         * c-common.c (struct disabled_builtin, disabled_builtins,
983         disable_builtin_function, builtin_function_disabled_p): New.
984         (builtin_function_2): Check for disabled built-in functions.
985         * c-common.h (disable_builtin_function): Declare.
986         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
987         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
988         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
989
990 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
991
992         PR target/4606
993         * config.gcc: Remove reference to va-clipper.h.
994
995 2001-11-17  Stan Shebs  <shebs@apple.com>
996
997         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
998         AltiVec-related bitfields.
999
1000 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1001
1002         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
1003         (mark_eh_region, case ERT_UKNONW): New case.
1004
1005 2001-11-17  Christopher Faylor  <cgf@redhat.com>
1006             Corinna Vinschen  <vinschen@redhat.com>
1007
1008         * config/i386/cygwin.h: Search target specific include directory for
1009         w32api stuff, if appropriate.
1010
1011 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
1012
1013         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
1014
1015 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
1016
1017         * config/rs6000/rs6000.md: Change all ldvx to lvx.
1018
1019 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
1020
1021         * gensupport.c (process_rtx): Don't assume filename is the first
1022         argument of any rtl.
1023
1024 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1025
1026         * vax-protos.h (reg_was_0_p): New prototype.
1027         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
1028         * vax.c (follows_p, reg_was_0_p): New functions.
1029
1030 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1031
1032         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
1033         (casesi1): Likewise.  Define new pattern which arises by simplification
1034         when operand 1 is a constant int.  Correct pattern which arises by
1035         simplification when operand 1 is zero.
1036
1037 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
1038
1039         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
1040         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
1041         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
1042         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
1043         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
1044         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
1045         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
1046         * config/arm/aof.h: Don't include arm.h.
1047         * config/arm/aout.h: Likewise.
1048         * config/arm/coff.h: Don't include semi.h and aout.h.
1049         * config/arm/elf.h: Don't include aout.h.
1050         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
1051         (TARGET_VERSION): Undef before defining.
1052         (ARM_OS_NAME): Likewise
1053         (TARGET_DEFAULT): Likewise
1054         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
1055         * config/arm/pe.h: Don't include arm/coff.h.
1056         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
1057         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
1058         * config/arm/riscix1-1.h: Likewise.
1059         * config/arm/rix-gas.h: Don't include riscix.h.
1060         (DBX_CONTIN_LENGTH): Undef before defining.
1061         * config/arm/semi.h: Don't include aout.h.
1062         * config/arm/semiaof.h: Don't include aof.h.
1063         * config/arm/strongarm-coff.h: Don't include coff.h.
1064         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
1065         * config/arm/vxarm.h: Don't include arm/coff.h.
1066         * config/arm/xscale-coff.h: Don't include coff.h.
1067
1068 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1069
1070         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
1071         emit_cmp_insn.
1072
1073 2001-11-16  Andreas Jaeger  <aj@suse.de>
1074
1075         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
1076         to ....
1077         (fixup_fallthru_exit_predecessor): ... this.
1078         Change callers and prototype.
1079
1080 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
1081
1082         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
1083         hand; don't use gen_setcc_2.
1084         (ix86_expand_builtin): Fix pshufw.
1085         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
1086         case UNORDERED to emit the right assembler instruction.
1087         (mmx_pshufw): Lose operand 2.
1088         (cvtsi2ss): Fix representation.
1089         From Graham Stott:
1090         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
1091
1092 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
1093
1094         * doc/include/linux-and-gnu.texi: Remove.
1095         * doc/gnu.texi: New.
1096         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
1097         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1098
1099 2001-11-16  Kazu Hirata  <kazu@hxi.com>
1100
1101         * config/a29k/a29k.c: Fix comment formatting.
1102         * config/a29k/a29k.h: Likewise.
1103         * config/arc/arc.c: Likewise.
1104         * config/arc/arc.h: Likewise.
1105         * config/vax/vax.c: Likewise.
1106         * config/vax/vax.h: Likewise.
1107         * config/we32k/we32k.c: Likewise.
1108         * config/we32k/we32k.h: Likewise.
1109
1110 2001-11-16  Jeff Law  <law@redhat.com>
1111
1112         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
1113         creating a new jump insn.
1114
1115 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1116
1117         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
1118         copy misaligned data.
1119         * varasm.c (assemble_variable): Set alignment into MEM when changed.
1120
1121 2001-11-16  Graham Stott  <grahams@redhat.com>
1122
1123         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
1124         OPALIGN type.
1125
1126 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
1127
1128         * except.c: Support for catching a list of types with a single handler
1129         (struct eh_region): Change type and filter to lists for catch regions.
1130         (mark_eh_region): Mark the filter list for GC also.
1131         (expand_start_catch): Always build a list if argument not NULL and
1132         register each type of the list through add_type_for_runtime.
1133         (duplicate_eh_region_1): Change type into type_list for catch regions.
1134         (assign_filter_values): Assign a filter to each type associated with a
1135         catch region. Assign filter for NULL types in a unique entry in the
1136         filter list.
1137         (build_post_landing_pads): Emit compare and jump for each filter of
1138         the list associated with a catch region.
1139         (reachable_next_level): When the type thrown is known, stop the search
1140         as soon as one type within a catch list matches. Also, a handler is
1141         potentially reachable only if at least one of the types it catches
1142         has not been previously caught.
1143         (collect_one_action_chain): Retrieve the filter for a NULL type list
1144         from the first filter list entry. For non NULL type lists, add an
1145         action record for every filter assigned.
1146         * except.h: Reflect changes in comment before expand_start_catch.
1147
1148 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1149
1150         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
1151         BLKmode.
1152
1153 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
1154
1155         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
1156
1157 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
1158
1159         * c-lang.c (finish_file): Don't emit static inline functions if
1160         they weren't referenced.
1161
1162 2001-11-15  Stan Shebs  <shebs@apple.com>
1163
1164         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
1165
1166 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1167
1168         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
1169         call.
1170         * config/i386/i386.md: Likewise.
1171
1172 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1173
1174         * timevar.c (rtl.h): Include so get fancy abort.
1175
1176 2001-11-15  Dale Johannesen  <dalej@apple.com>
1177
1178         * config/darwin.h (SELECT_RTX_SECTION):  Force address
1179         initializers into 'const' section
1180         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
1181         if_then_else to match result, not operands
1182
1183 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1184
1185         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
1186         * emit-rtl.c (change_address): Fix typo in default alignment.
1187         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
1188         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
1189         * rtl.h (REGNO_PTR_FRAME_P): New macro.
1190
1191         * expr.c (store_field): Pass tree instead of max size; callers changed.
1192         Change handling of alignment.
1193         Only copy to_rtx if is TARGET.
1194         (expand_expr_unaligned): Delete; callers now use expand_expr.
1195         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
1196         (expand_assignment): Change handling of alignment.
1197         Only copy to_rtx if was original.
1198         (get_inner_reference): No longer return alginment; callers changed.
1199         (expand_expr, case COMPONENT_REF): Change handling of alignment.
1200         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
1201         (compare_from_rtx): Delete ALIGN parm; all callers changed.
1202         (do_compare_rtx_and_jump): Likewise.
1203         * expr.h: Reflect above changes.
1204         * tree.h: Likewise.
1205         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
1206         to get_inner_reference.
1207         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
1208         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
1209         * optabs.c: Likewise.
1210         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
1211         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
1212         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
1213         compare_rtx_and_jump, and emit_cmp_jump_insns.
1214         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
1215         * function.c (assign_stack_temp_for_type): No longer static.
1216         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
1217         (prepare_cmp_insn): Delete declaration.
1218         * rtl.h (assign_stack_temp_for_type): Add declaration.
1219         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
1220         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
1221         * config/i386/i386.c,config/mips/mips.c: Likewise.
1222         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
1223         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
1224
1225 2001-11-15  Stan Shebs  <shebs@apple.com>
1226
1227         * config/rs6000/rs6000.h: Fix a comment typo.
1228         (RTX_COSTS): Sort processor versions better.
1229
1230 2001-11-15  Kazu Hirata  <kazu@hxi.com>
1231
1232         * config/h8300/h8300.md: Fix insn length of bit insns.
1233
1234 2001-11-15  Jason Merrill  <jason@redhat.com>
1235
1236         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
1237         DIEs if there were errors in the source.
1238
1239         * config/alpha/alpha-interix.h, config/alpha/elf.h,
1240         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
1241         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
1242         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
1243         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
1244         config/elfos.h, config/lynx.h, config/netware.h,
1245         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
1246         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
1247         uses to use ASM_LONG.
1248
1249 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
1250
1251         * gensupport.c  process_include : Change call to alloca to
1252         xmalloc.
1253
1254 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
1255
1256         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
1257         templates.
1258
1259 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1260
1261         * final.c (alter_subreg): If simplify_subreg can't do anything,
1262         handle REG ourselves and abort for others.
1263
1264 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
1265
1266         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
1267         routines.
1268
1269 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1270
1271         * fix-header.c (read_scan_file): Update.
1272
1273 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1274
1275         * toplev.c (toplev_main): Don't start timing until after
1276         command-line options are parsed.
1277
1278 2001-11-15  Andreas Schwab  <schwab@suse.de>
1279
1280         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
1281         makefile frag, not host makefile frag.
1282         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
1283         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
1284         used.
1285         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
1286         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
1287         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
1288         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
1289         * config/i386/t-dgux (STMP_FIXPROTO): Define.
1290         * config/x-interix: Don't define STMP_FIXPROTO and
1291         FIXPROTO_DEFINES.
1292         * config/t-interix: New file, define STMP_FIXPROTO.
1293         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
1294         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
1295         * config/t-svr4 (FIXPROTO_DEFINES): Define.
1296         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
1297         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
1298         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
1299         * config/m68k/t-hp3200: Renamed from x-hp3200.
1300         * config/i370/t-oe: Renamed from x-oe.
1301         * config/mips/t-iris: Renamed from x-iris.
1302         * config/pa/t-bsd: Renamed from x-pa.
1303         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
1304         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
1305         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
1306         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
1307         config/rs6000/x-cygwin: Remove files.
1308
1309         * configure.in: Check for target objdump and use that in eh_frame
1310         optimization test.
1311         * configure: Regenerated.
1312
1313 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
1314
1315         * jump.c (squeeze_notes): Return true if no real insns were found.
1316         * rtl.h (squeeze_notes): Adjust prototype.
1317         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
1318         squeeze_notes finds no real instructions, abort.
1319         (merge_blocks_move_successor_nojumps): Likewise.
1320         * loop.c (find_and_verify_loops): Likewise.
1321         * stmt.c (expand_end_case): Likewise.
1322         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
1323         find any real instructions.
1324
1325         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
1326
1327         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
1328         conditional jump, request updating life into for the block
1329         containing it.  Fix a typo which prevented life info update.
1330         Clear blocks bitmap before using it.
1331
1332 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1333
1334         * c-common.c: Include c-lex.h.
1335         (c_common_lang_init): Change prototype.  Call init_c_lex and
1336         init_pragma from here.
1337         * c-common.h (c_common_lang_init): Change prototype.
1338         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
1339         * c-lang.c (c_init): Change prototype.  Update.
1340         (c_init_options): Update.
1341         * c-lex.c (cpp_filename): Remove.
1342         (init_c_lex): Update.  Read the main file, and get the original
1343         file name.
1344         (yyparse): Finish the command line options.
1345         * c-parse.in (c_parse_init): Call init_reswords here.
1346         (init_parse): Remove.
1347         * c-tree.h (c_init_decl_processing): New.
1348         * cpphash.c (_cpp_init_hashtable): After initializing the hash
1349         table, populate it.
1350         * cppinit.c (read_original_filename, cpp_finish_options): New.
1351         (cpp_create_reader): New prototype. Defer hash table initialization.
1352         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
1353         hash table.  Get the original filename.
1354         * cpplib.h (cpp_create_reader): Update.
1355         (cpp_start_read): Remove.
1356         (cpp_read_main_file, cpp_finish_options): New.
1357         * cppmain.c (main, do_preprocessing): Update.
1358         * langhooks.h (struct langhooks): Update init prototype.
1359         * toplev.c (general_init, parse_options_and_default_flags,
1360         process_options, lang_indpendent_init, lang_dependent_init,
1361         init_asm_output): New; perform the bulk of initialization.
1362         (compile_file): Move most of initialization to above functions.
1363         (debug_hooks): Initialize statically.
1364         (set_Wunused): Relocate.
1365         (toplev_main): Move most of initialization to other init functions.
1366         Have a clear logic flow.
1367         * tree.h (init_parse, init_decl_processing): Remove.
1368 objc:
1369         * objc-act.c (objc_init): Update prototype, combine with old
1370         init_parse.
1371         (objc_init_options): Update.
1372
1373
1374 2001-11-15  Andreas Jaeger  <aj@suse.de>
1375
1376         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
1377         portability.
1378         * basic-block.h: Adjust prototype.
1379
1380 2001-11-15  Kazu Hirata  <kazu@hxi.com>
1381
1382         * config/rs6000/aix31.h: Fix comment formatting.
1383         * config/rs6000/beos.h: Likewise.
1384         * config/rs6000/darwin.h: Likewise.
1385         * config/rs6000/eabi.asm: Likewise.
1386         * config/rs6000/linux.h: Likewise.
1387         * config/rs6000/linux64.h: Likewise.
1388         * config/rs6000/lynx.h: Likewise.
1389         * config/rs6000/netbsd.h: Likewise.
1390         * config/rs6000/rs6000.c: Likewise.
1391         * config/rs6000/rs6000.h: Likewise.
1392         * config/rs6000/rs6000.md: Likewise.
1393         * config/rs6000/sol2.h: Likewise.
1394         * config/rs6000/tramp.asm: Likewise.
1395         * config/rs6000/xcoff.h: Likewise.
1396         * config/rs6000/xm-beos.h: Likewise.
1397
1398 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
1399
1400         * rtl.def (INCLUDE) : Define.
1401         * gensupport.c  (init_include_reader, process_include,
1402         save_string) :  New functions to implement an include facility
1403         in .md files.
1404         * gensupport.h : Add prototype for init_md_reader_args.
1405         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
1406         genextract.c genflags.c genopinit.c genoutput.c
1407         genpeep.c genrecog.c: Change call to init_md_reader to
1408         init_md_reader_args.
1409         * md.texi: Document (include "path") and -I directives for RTL
1410         generation tools.
1411
1412 2001-11-14  DJ Delorie  <dj@redhat.com>
1413
1414         * integrate.c (get_hard_reg_initial_reg): New.
1415         * integrate.h (get_hard_reg_initial_reg): Prototype.
1416         * local-alloc.c (block_alloc): Don't tie pseudos that
1417         represent call-saved hard regs' initial values.
1418
1419 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1420
1421         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
1422         recursion.
1423
1424 2001-11-14  Roger Sayle <roger@eyesopen.com>
1425
1426         * fold-const.c (fold): Optimize strlen comparisons against zero.
1427
1428 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
1429
1430         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
1431         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
1432         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
1433         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
1434         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
1435         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
1436         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
1437         Include various CPU headers via tm_file.  a.out based platforms now
1438         properly include sparc/aout.h.  sol2.h usage now implies including
1439         elfos.h, svr4.h, and sparc/sysv4.h.
1440         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
1441         Also define to '1'.
1442         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
1443         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1444         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
1445         Remove.  They are a.out specific and belong in sparc/aout.h.
1446         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
1447         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
1448         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
1449         sparc/sparc.h.
1450         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
1451         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
1452         Moved here from sparc/sparc.h.
1453         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
1454         defining.
1455         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
1456         * config/sparc/lynx.h:  Don't include lynx.h.
1457         (SELECT_SECTION): Do not undef.
1458         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
1459         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
1460         and sparc/sysv4.h.
1461         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
1462         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
1463         sparc/aout.h now.
1464         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1465         Don't undef, there is no need.
1466         * config/sparc/splet.h (CPP_PREDEFINES): Define.
1467         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
1468         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
1469         Don't include sparc/sparc.h.
1470         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
1471         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1472         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
1473         elfos.h and svr4.h.
1474         (TARGET_VERSION): Define.
1475         * config/sparc/vxsim.h (TARGET_VERSION): Define.
1476
1477 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1478
1479         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
1480         (cfg_layout_finalize): Use it.
1481         * bb-reorder.c (HAVE_epilogue): Remove.
1482         (make_reorder_chain): Do not care special placement of
1483         last basic block.
1484
1485         * predict.c (expected_value_to_br_prob): Delete the note
1486         once transformed.
1487
1488         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
1489         measure integration time separately.
1490
1491 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1492
1493         * function.c (struct temp_slot): ALIGN now unsigned.
1494
1495 2001-11-14  Kazu Hirata  <kazu@hxi.com>
1496
1497         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
1498         * config/dsp16xx/dsp16xx.h: Likewise.
1499         * config/dsp16xx/dsp16xx.md: Likewise.
1500
1501 2001-11-14  Kazu Hirata  <kazu@hxi.com>
1502
1503         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
1504         that deals with 7-bit shifts in HImode.
1505
1506 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
1507
1508         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
1509         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
1510         (final_scan_insn): Update call of alter_subreg.
1511         (cleanup_subreg_operands): Likewise.
1512         (alter_subreg): Rewrite using simplify_subreg.
1513         (output_address, output_operand): Update call of alter_subreg.
1514         * output.h (alter_subreg): Update prototype.
1515         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
1516         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
1517         * Makefile.in (final.o): Add dependency on expr.h
1518
1519 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1520
1521         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
1522
1523 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
1524
1525         * doc/install.texi (sparc-*-linux*): Mention requirements for
1526         binutils and glibc.
1527
1528 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1529
1530         * Makefile.in (POD2MAN): Don't include --section=1.
1531         (manext): Rename to man1ext.  All users changed.
1532         (man7ext): New.
1533         (man7dir): New.
1534         (generated-manpages): Also depend on $(docdir)/gfdl.7,
1535         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
1536         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
1537         --section=1 in calls to $(POD2MAN).
1538         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
1539         (maintainer-clean, install, uninstall): Handle the new man pages.
1540         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
1541         (installdirs): Create man7dir.
1542         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
1543         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
1544         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
1545         the SEE ALSO man page section.
1546         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
1547         and fsf-funding(7) in the SEE ALSO man page section.
1548         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
1549         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
1550         * doc/include/fdl.texi, doc/include/funding.texi,
1551         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
1552         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
1553
1554 2001-11-13  Richard Henderson  <rth@redhat.com>
1555
1556         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
1557         as appropriate for the artificial decl.
1558
1559 2001-11-13  Richard Henderson  <rth@redhat.com>
1560
1561         * loop.c (combine_movables): Turn off combination until
1562         move_movables validation bugs are fixed.
1563
1564 2001-11-13  DJ Delorie  <dj@redhat.com>
1565
1566         * config.gcc (powerpc|rs6000): Set default cpp options based
1567         on --with-cpu settings.
1568         * config/rs6000/softfloat.h: New.
1569
1570 2001-11-13  Kazu Hirata  <kazu@hxi.com>
1571
1572         * config/h8300/h8300.c (shift_alg_si): Use special code for
1573         25-bit shifts on H8/S.
1574         (get_shift_alg): Generate special code for 25-bit shifts on
1575         H8/S.
1576
1577 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
1578
1579         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
1580         (adjust_automodify_address_1): New.
1581         * expr.h (adjust_address, adjust_address_nv): Adjust.
1582         (adjust_automodify_address, adjust_automodify_address_nv): Define.
1583         (adjust_address_1): Update prototype.
1584         (adjust_automodify_address_1): Add prototype.
1585         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
1586         (store_by_pieces_2): Likewise.
1587
1588 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1589
1590         * Makefile.in (explow.o): Now depends on ggc.h.
1591         * explow.c (ggc.h): Include.
1592         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
1593
1594         * Makefile.in (expr.o): Depends on insn-attr.h.
1595         * expr.c (insn-attr.h): New include.
1596         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
1597         of MEM.
1598         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
1599         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
1600         clean up related usage in ADDR_EXPR.
1601         (expand_expr_unaligned): Likewise.
1602
1603         * emit-rtl.c (change_address): Fix typo in alias setting.
1604
1605 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1606
1607         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
1608
1609 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1610
1611         PR bootstrap/3451
1612         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
1613         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
1614
1615 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
1616
1617         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
1618         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
1619         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
1620         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
1621         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
1622         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
1623         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
1624         sparc64-*-linux*):  Include various CPU headers via tm_file.
1625         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
1626         (SELECT_SECTION): Likewise.
1627         (SELECT_RTX_SECTION): Likewise.
1628         * config/sparc/sparc_bi.h: New file.
1629         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
1630         * config/sparc/linux-aout.h: Likewise.
1631         * config/sparc/linux.h: Don't include sparc/sysv4.h.
1632         * config/sparc/linux64.h: Likewise.
1633         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
1634         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
1635         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
1636         and dbxcoff.h
1637         (ASM_OUTPUT_IDENT): Do not #undef.
1638         (SELECT_SECTION): Likewise.
1639         (SELECT_RTX_SECTION): Likewise.
1640         * config/sparc/liteelf.h: Don't include gofast.h.
1641         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
1642         * config/sparc/lynx.h: Don't include sparc/sparc.h.
1643         * config/sparc/pbd.h: Likewise.
1644         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
1645         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
1646         * config/sparc/rtemself.h: Don't include rtems.h.
1647         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
1648         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
1649         sparc_bi.h instead.
1650         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
1651         * config/sparc/sol2.h: Include sparc/sparc.h directly.
1652         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
1653         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
1654         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
1655         * config/sparc/sp86x-elf.h: Don't include gofast.h.
1656         * config/sparc/splet.h: Don't include sparc/aout.h.
1657         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
1658         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
1659         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
1660         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
1661         * config/sparc/vxsparc64.h: Don't include gofast.h.
1662         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
1663
1664 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1665
1666         * doc/standards.texi: Mention C99 TC1.
1667
1668 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1669
1670         * mips-protos.h (mips_output_conditional_branch): Const-ify.
1671         * mips.c (mips_output_conditional_branch): Likewise.
1672
1673 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1674
1675         * config/h8300/h8300.c (shift_alg_si): Use special code for
1676         15-bit logical shifts and 31-bit logical shifts.
1677         (get_shift_alg): Generate special code for 15-bit and 31-bit
1678         logical shifts.
1679
1680 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1681
1682         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
1683         doing 6-bit logical shifts on H8/S.
1684         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
1685         (get_shift_alg): Generate special code for 21-bit shifts on
1686         H8/S.
1687
1688 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1689
1690         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
1691         label.
1692
1693 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1694
1695         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
1696         if both size and offset known.
1697
1698 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
1699
1700         * config/ia64/freebsd.h: Fix misspelling.
1701
1702 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1703
1704         * doc/gcc.texi: Move several chapters out to ...
1705         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
1706         doc/include/linux-and-gnu.texi, doc/interface.texi,
1707         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
1708         ... here.  New files.
1709         * doc/gcc.texi, doc/contrib.texi: Move section headings into
1710         contrib.texi.
1711         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1712
1713 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1714
1715         * config/alpha/alpha-interix.h: Fix comment formatting.
1716         * config/alpha/alpha.c: Likewise.
1717         * config/alpha/alpha.h: Likewise.
1718         * config/alpha/alpha32.h: Likewise.
1719         * config/alpha/freebsd.h: Likewise.
1720         * config/alpha/unicosmk.h: Likewise.
1721         * config/alpha/vms.h: Likewise.
1722
1723 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1724
1725         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1726
1727 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
1728
1729         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
1730         numbers.
1731
1732 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1733
1734         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
1735         from type.
1736         (replace_equiv_address): Call update_temp_slot_address.
1737
1738         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
1739
1740         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
1741
1742 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1743
1744         * config/h8300/h8300.c (shift_alg_qi): New.
1745         (shift_alg_hi): Likewise.
1746         (shift_alg_si): Likewise.
1747         (get_shift_alg): Change the type of count to unsigned int.
1748         Use the tables.
1749
1750 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
1751
1752         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
1753         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
1754         to decide whether to defer a function.
1755         (finish_function): Adjust.
1756         (c_expand_deferred_function): New function.
1757         * c-lang.c (deferred_fns): New variable.
1758         (c_init): Initialize it, and mark it as a root.
1759         (defer_fn): New function.
1760         (finish_file): Expand all deferred functions.
1761         * c-tree.h (defer_fn): Declare.
1762         (c_expand_deferred_function): Likewise.
1763         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
1764         * objc-act.c (deferred_fns): New variable.
1765         (objc_init): Initialize it, and mark it as a root.
1766         (defer_fn): New function.
1767         (finish_file): Expand all deferred functions.
1768
1769 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1770
1771         * alpha.c (unicosmk_special_name): Prototype.
1772         (unicosmk_ssib_name): Delete unused variable.
1773         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
1774         * alpha/vms.h (PREFIX): Undef before defining.
1775         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
1776         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
1777         controlling usage.  Const-ify.
1778         (alias_number): Delete unused variable.
1779         * m32r/m32r.c (m32r_sched_init): Add missing argument.
1780         (m32r_expand_block_move): Fix uninitialized warnings.
1781         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
1782         always true' warnings.
1783         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
1784         * sh/sh.c: Include "integrate.h".
1785         (output_far_jump): Fix uninitialized warning.
1786         * final.c (shorten_branches): Avoid automatic aggregate
1787         initialization.
1788         * integrate.c (subst_constants): Likewise.
1789
1790 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1791
1792         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
1793         (get_shift_alg): Remove redundant code.
1794
1795 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1796
1797         * config/pa/milli64.S: Fix comment formatting.
1798         * config/pa/pa-64.h: Likewise.
1799         * config/pa/pa-linux.h: Likewise.
1800         * config/pa/pa-protos.h: Likewise.
1801         * config/pa/pa.c: Likewise.
1802         * config/pa/pa.h: Likewise.
1803         * config/pa/pa32-linux.h: Likewise.
1804         * config/pa/pa32-regs.h: Likewise.
1805         * config/pa/pa64-hpux.h: Likewise.
1806         * config/pa/pa64-regs.h: Likewise.
1807         * config/pa/som.h: Likewise.
1808
1809 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1810
1811         * doc/gcc.texi: Move several chapters out to ...
1812         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
1813         doc/service.texi, doc/standards.texi, doc/trouble.texi,
1814         doc/vms.texi: ... here.  New files.
1815         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1816
1817 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1818
1819         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
1820         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
1821         collect2.c, combine.c, config.in, configure, configure.in,
1822         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
1823         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
1824         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
1825         spelling errors.
1826
1827 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1828
1829         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1830         Adjust operand number in CONST_DOUBLE.
1831
1832         * expmed.c (extract_bit_field): No longer pass in alignment.
1833         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1834         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1835         Likewise.
1836         * expr.c (store_constructor, store_constructor_field): Likewise.
1837         (store_field, emit_group_load, emit_group_store): Likewise.
1838         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
1839         (store_bit_field, extract_bit_field): Likewise.
1840         * calls.c, expr.c, function.c: Change calls to above functions.
1841         * ifcvt.c, stmt.c: Likewise.
1842
1843         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
1844         constant and one is on frame.
1845         If know memref offset, adjust size from decl.
1846
1847 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1848
1849         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
1850         format specifier warning.
1851         * convex.h (ASM_OUTPUT_BYTE): Likewise.
1852         * elfos.h (ALIGN_ASM_OP): Undef before defining.
1853         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1854         warning.
1855         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1856         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1857         * i386-interix.h (gen_stdcall_suffix): Prototype.
1858         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1859         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1860         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1861         * i386/interix.c (gen_stdcall_suffix): Const-ify.
1862         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1863         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
1864         specifier warnings.
1865         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1866         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1867         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1868         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1869         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1870         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1871         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1872         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1873         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1874         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1875         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1876         Likewise.
1877         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1878         Likewise.
1879         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1880         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1881         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1882         Likewise.
1883         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1884         Likewise.
1885         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1886         Likewise.
1887         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1888         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1889         * m68k/news.h (PRINT_OPERAND): Likewise.
1890         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1891         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1892         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1893         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1894         definition.
1895         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1896         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1897         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1898         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1899         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1900         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1901         PRINT_OPERAND): Likewise.
1902         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1903         Likewise.
1904         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1905         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1906         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1907         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1908         * mips.c (mips_output_external_libcall): Mark parameter with
1909         ATTRIBUTE_UNUSED.
1910         (mips_asm_file_start): Move variable into the scope where it's
1911         used.
1912         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1913         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1914         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1915         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1916         * ns32k.c (print_operand): Likewise.
1917         * pa.c (print_operand, output_div_insn): Likewise.
1918         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1919         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1920         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1921         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1922         specifier warnings.
1923         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1924         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1925         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1926         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1927         specifier warnings.
1928         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1929
1930         * sdbout.c (sdbout_end_epilogue): Mark parameter with
1931         ATTRIBUTE_UNUSED.
1932         * varasm.c (assemble_global): Likewise.
1933
1934 2001-11-11  H.J. Lu <hjl@gnu.org>
1935
1936         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1937
1938 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
1939
1940         * final.c (*_MAX_SKIP): Use *_max_skip variables.
1941         * flags.h (align_loops_max_skip, align_jumps_max_skip,
1942         align_labels_max_skip): New global variables.
1943         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1944         align_labels_max_skip): New global variables.
1945         (toplev_main): Set new variables.
1946         * i386.c (override_options): Set max_skip values.
1947
1948 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
1949
1950         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1951         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1952         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1953         don't print an @fptr for labels either.
1954         (xstormy16_output_addr_vec): Don't print @fptr here.
1955         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1956
1957 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
1958
1959         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1960         an ANSI/ISO definitino.
1961         (ssa_const_prop): Likewise.
1962
1963 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
1964
1965         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1966         altivec registers.
1967
1968 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1969
1970         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1971         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1972         * cppmain.c (general_init): Call hex_init.
1973         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1974
1975         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1976
1977         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1978         of dgux.c:output_file_start().
1979
1980         * i386/dgux.c: Delete file.
1981
1982 2001-11-09  Richard Henderson  <rth@redhat.com>
1983
1984         * config/alpha/alpha.c (decl_in_text_section): New.
1985         (current_file_function_operand): Use it.
1986         (alpha_encode_section_info, alpha_end_function): Likewise.
1987
1988 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
1989
1990         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1991         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1992         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1993         so OS specific files and use CPP_PREDEFINES for their needs.
1994         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
1995         target headers to tm_file.
1996         * config/ia64/aix.h (TARGET_VERSION): Likewise.
1997         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1998         * config/ia64/linux.h (TARGET_VERSION): Likewise.
1999         (FUNCTION_PROFILER): Remove.
2000         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
2001         version in config/ia64/linux.h.
2002         * config/ia64/freebsd.h: New file.
2003         * config/freebsd.h: Tidy up.
2004         (_USING_CONFIG_FREEBSD): Define.
2005         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
2006         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
2007         (FBSD_STARTFILE_SPEC): Likewise.
2008         (FBSD_ENDFILE_SPEC): Likewise.
2009         (FBSD_LIB_SPEC): Likewise.
2010         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
2011         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
2012         set an ELF-improper one.
2013
2014 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2015
2016         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
2017         constant can be loaded in a single instruction to a register.  When
2018         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
2019         depdi for insertion of most significant 32-bits on 64-bit hosts.
2020         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
2021         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
2022         * pa.md: New addmove pattern for adding constant_int to HImode
2023         register and moving result to HImode register.  Remove HImode HIGH
2024         and LO_SUM patterns.
2025
2026 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2027
2028         * Makefile.in: Update.
2029         * c-decl.c (print_lang_decl, print_lang_type): Remove.
2030         (print_lang_identifier): Rename c_print_identifier.
2031         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
2032         (print_lang_statistics, lang_print_xnode): Remove.
2033         * c-parse.in (set_yydebug): Rename c_set_yydebug.
2034         * c-tree.h (c_set_yydebug, c_print_identifier): New.
2035         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
2036         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
2037         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
2038         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
2039         (LANG_HOOKS_INITIALIZER): Update.
2040         * langhooks.h (struct lang_hooks): New members.
2041         (lang_print_tree_hook): New.
2042         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
2043         * print-tree.c: Include langhooks.h.
2044         (print_node): Update.
2045         * toplev.c (decode_d_option): Update.
2046         * tree.c: Include langhooks.h.
2047         (dump_tree_statistics): Update.
2048         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
2049         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
2050 objc:
2051         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
2052         LANG_HOOKS_SET_YYDEBUG): Override.
2053         (lang_print_xnode, print_lang_statistics): Remove.
2054
2055 2001-11-09  Richard Henderson  <rth@redhat.com>
2056
2057         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
2058         on the symbol string.
2059
2060 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2061
2062         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
2063         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
2064         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
2065
2066         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
2067
2068         * tlink.c (recompile_files): Copy strings passed to `putenv'.
2069
2070 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
2071
2072         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
2073         (TYPE_READONLY): Likewise.
2074
2075         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
2076
2077         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
2078         don't pass --gdwarf2 to the assembler if the compiler will also
2079         provide debug info.
2080
2081         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
2082         Don't change INDEX.
2083
2084 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2085
2086         * alias.c (nonoverlapping_memrefs_p): New function.
2087         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
2088
2089         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
2090
2091 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
2092
2093         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
2094         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
2095         generating altivec code.
2096         (FIXED_REGISTERS): VRSAVE is fixed.
2097         (CALL_USED_REGISTERS): VRSAVE is call used.
2098
2099 2001-11-09  Jason Eckhardt  <jle@rice.edu>
2100
2101         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
2102         code the branch target as ".+16/.+12", but rather use labels.
2103
2104 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
2105
2106         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
2107         to work around limitations of certain versions of GAS.
2108
2109         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
2110         (muldi3): Update due to SUBREG_BYTE changes.
2111         (casesi): Similarly.
2112
2113 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
2114
2115         * doc/invoke.texi: Remove comment referring to -xf77-version.
2116
2117 2001-11-09  Kazu Hirata  <kazu@hxi.com>
2118
2119         * config/convex/convex.c: Fix comment formatting.
2120         * config/convex/convex.h: Likewise.
2121
2122 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
2123
2124         * Makefile.in (.po.pox): Look both in srcdir and builddir
2125         for $(PACKAGE).pot.
2126         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
2127         to the source directory.
2128
2129 2001-11-09 Ben Elliston  <bje@redhat.com>
2130            Michael Meissner  <meissner@redhat.com>
2131            Andrew MacLeod  <amacleod@redhat.com>
2132            Richard Henderson  <rth@redhat.com>
2133            Nick Clifton  <nickc@redhat.com>
2134            Catherine Moore  <clm@redhat.com>
2135
2136         * m32r.c: Add support for m32rx processor.
2137         * m32r.h: Ditto.
2138         * m32r.md: Ditto.
2139         * t-m32r: Ditto.
2140         * m32r-protos.h: Add prototypes for m32rx functions.
2141         * doc/invoke.texi: Document -m32rx option.
2142
2143 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
2144
2145         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
2146         or after reload.
2147
2148 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2149
2150         * doc/install.texi2html: Use $MAKEINFO --no-split.
2151
2152 2001-11-09  Andreas Schwab  <schwab@suse.de>
2153
2154         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
2155         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
2156         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
2157         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
2158         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
2159
2160 2001-11-09  H.J. Lu <hjl@gnu.org>
2161
2162         * config/mips/mips.c (mips_output_function_prologues): Cast
2163         `tsize' to long for output.
2164
2165 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2166
2167         * c-lang.c (LANG_HOOKS_NAME): New.
2168         (lang_hooks): Constify.
2169         (c_init_options): Update.
2170         (lang_identify): Remove.
2171         * c-parse.in (language_string): Remove.
2172         * dbxout.c: Include langhooks.h.
2173         (dbxout_symbol_location): Update.
2174         * dwarf2out.c: Include langhooks.h.
2175         (gen_compile_unit_die): Update.
2176         * dwarfout.c: Include langhooks.h.
2177         (prototyped_attribute, output_compile_unit_die): Update.
2178         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
2179         (LANG_HOOKS_INITIALIZER): Update.
2180         * langhooks.h (struct lang_hooks): New members.  Constify.
2181         * stringpool.c: Don't include toplev.h.
2182         (set_identifier_size): Remove.
2183         * toplev.c (toplev_main): Initialize identifier size.
2184         (print_version): Update.
2185         * tree.h (language_string, init_lex, lang_identify,
2186         set_identifier_size): Remove.
2187         * Makefile.in: Update dependencies.
2188         * config/darwin.c: Include langhooks.h.
2189         (func_name_maybe_scoped): Update.
2190         * config/darwin.h (ASM_END_FILE): Update.
2191         * config/nextstep.h (ASM_END_FILE): Update.
2192         * config/nextstep21.h (ASM_END_FILE): Update.
2193         * config/i386/sun386.h (ASM_END_FILE): Update.
2194         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
2195         (rs6000_output_function_epilogue): Update.
2196 objc:
2197         * objc-act.c (LANG_HOOKS_NAME): Override.
2198         (struct lang_hooks): Constify.
2199         (objc_init_options): Update.
2200         (lang_identify): Remove.
2201
2202 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
2203
2204         * fold-const.c (lshift_double): Honor PREC.
2205         (rshift_double): Likewise.
2206
2207 2001-11-08  Kazu Hirata  <kazu@hxi.com>
2208
2209         * config/1750a/1750a.c: Fix comment formatting.
2210         * config/1750a/1750a.h: Likewise.
2211
2212 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
2213
2214         * configure.in (--enable-languages): Be more permissive about
2215         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
2216         * configure: Regenerated.
2217
2218 2001-11-08  Richard Henderson  <rth@redhat.com>
2219
2220         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
2221
2222 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
2223
2224         * config.gcc: Rename stormy16 to xstormy16.
2225         * config/stormy16/stormy-abi: Likewise.
2226         * config/stormy16/stormy16-protos.h: Likewise.
2227         * config/stormy16/stormy16.c: Likewise.
2228         * config/stormy16/stormy16.h: Likewise.
2229         * config/stormy16/stormy16.md: Likewise.
2230
2231 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
2232
2233         * tree.h (TYPE_VOLATILE): Add enable-checking code.
2234         (TYPE_READONLY): Likewise.
2235
2236 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2237
2238         * reload1.c (reload): Don't delete equiv insn if can throw.
2239
2240         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
2241         (clear_storage): Likewise, for OBJECT.
2242
2243 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
2244
2245         * pa.c (emit_move_sequence): Fix SUBREG expression to
2246         use proper byte offset when extending a constant from
2247         SImode to DImode.
2248
2249 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
2250
2251         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
2252         which cannot throw.
2253
2254 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2255
2256         * explow.c (convert_memory_address, case SUBREG): Only return
2257         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
2258
2259 2001-11-08  Richard Henderson  <rth@redhat.com>
2260
2261         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
2262         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
2263         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
2264
2265 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
2266
2267         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
2268
2269 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
2270
2271         * dwarf2out.c (debug_str_hash): New.
2272         (struct indirect_string_node): New.
2273         (struct dw_val_struct): Change type of val_str to it.
2274         (DEBUG_STR_SECTION_FLAGS): Define.
2275         (add_AT_string): Push string into hashtable, increment reference
2276         counter.
2277         (AT_string): Return string from ht_identifier.
2278         (AT_string_form): New.
2279         (free_AT): For dw_val_class_str, just decrement reference counter.
2280         (size_of_string): Remove.
2281         (size_of_die): Use AT_string_form to decide what size the string
2282         occupies in DIE.
2283         (size_of_pubnames): Use strlen instead of size_of_string.
2284         (value_format): Use AT_string_form for dw_val_class_str.
2285         (output_die): Output DW_FORM_strp strings using
2286         dw2_asm_output_offset.
2287         (indirect_string_alloc, output_indirect_string): New.
2288         (dwarf2out_finish): Emit .debug_str strings if there are any.
2289
2290 2001-11-08  Andreas Franck  <afranck@gmx.de>
2291
2292         * configure.in: Add AC_ARG_PROGRAM to support program name
2293         transformation with --program-prefix, --program-suffix and
2294         --program-transform-name.
2295         * configure: Regenerated.
2296         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
2297         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
2298         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
2299         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
2300         program_transform_name the way suggested by autoconf.
2301         (GCC_TARGET_INSTALL_NAME): Define.
2302         (install-driver): Use the transformed target alias name.
2303
2304 2001-11-08  Richard Henderson  <rth@redhat.com>
2305
2306         * config/mips/mips.c (save_restore_insns): Remove GP from the
2307         restore registers mask early instead of special casing it inside
2308         the loop.
2309
2310 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2311
2312         * cp/decl.c (shadow_warning): New function.
2313         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
2314         and an error when a block scope decl shadows a parameter.
2315
2316 2001-11-08  Richard Henderson  <rth@redhat.com>
2317
2318         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
2319         case as well.
2320
2321 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2322
2323         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
2324         to implement floating negation on processors prior to PA 2.0.
2325
2326 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
2327
2328         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
2329         (USE_LINKONCE_INDIRECT): Define.
2330         (dw2_output_indirect_constant_1): Try to output indirect constants
2331         into linkonce sections if possible.
2332         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
2333         (dw2_output_indirect_constants): Likewise.
2334
2335 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
2336
2337         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
2338
2339 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2340
2341         * c-decl.c (pushdecl): Remove file and line.
2342         * c-typeck.c (pop_init_level): Remove size.
2343
2344 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
2345
2346         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
2347         for rs6000.
2348
2349         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
2350         (TARGET_ALTIVEC): New.
2351         (TARGET_SWITCHES): Add altivec.
2352         (FIRST_PSEUDO_REGISTER): Change to 109.
2353         (CALL_USED_REGISTERS): Same.
2354         (FIRST_ALTIVEC_REGNO): New.
2355         (LAST_ALTIVEC_REGNO): New.
2356         (ALTIVEC_REGNO_P): New.
2357         (UNITS_PER_ALTIVEC_WORD): New.
2358         (ALTIVEC_VECTOR_MODE): New.
2359         (FIXED_REGISTERS): Add altivec registers.
2360         (REG_ALLOC_ORDER): Same.
2361         (HARD_REGNO_NREGS): Adjust for altivec registers.
2362         (HARD_REGNO_MODE_OK): Same.
2363         (MODES_TIEABLE_P): Same.
2364         (REGISTER_MOVE_COST): Same.
2365         (REGNO_REG_CLASS): Same.
2366         (reg_class): Add ALTIVEC_REGS.
2367         (REG_CLASS_NAMES): Same.
2368         (REG_CLASS_CONTENTS): Same.
2369         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
2370         (ALTIVEC_ARG_RETURN): New.
2371         (FUNCTION_VALUE): Handle VECTOR_TYPE.
2372         (LIBCALL_VALUE): Handle altivec vector modes.
2373         (VECTOR_MODE_SUPPORTED_P): New.
2374         (ALTIVEC_ARG_MIN_REG): New.
2375         (ALTIVEC_ARG_MAX_REG): New.
2376         (ALTIVEC_ARG_NUM_REG): New.
2377         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
2378         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
2379         (REGISTER_NAMES): Add altivec regs.
2380         (DEBUG_REGISTER_NAMES): Same.
2381         (ADDITIONAL_REGISTER_NAMES): Same.
2382         (rs6000_builtins): New.
2383         (MD_EXPAND_BUILTIN): New.
2384         (MD_INIT_BUILTINS): New.
2385         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
2386         for AltiVec instructions.
2387         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
2388         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
2389         registers.
2390         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
2391         (TARGET_SWITCHES): Add no-altivec.
2392         (DATA_ALIGNMENT): Align vectors to 128 bits.
2393         (TARGET_OPTIONS): Add abi= option.
2394         Add rs6000_abi_string extern.
2395         (LOCAL_ALIGNMENT): New.
2396         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
2397         (MASK_ALTIVEC_ABI): New.
2398         (TARGET_ALTIVEC_ABI): New.
2399         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
2400         call-saved.
2401         (STACK_BOUNDARY): Adjust for altivec.
2402         (BIGGEST_ALIGNMENT): Same.
2403         (rs6000_args): Add vregno.
2404         (USE_ALTIVEC_FOR_ARG_P): New.
2405         (FIXED_REGISTERS): Add vrsave register.
2406         (CALL_USED_REGISTERS): Same.
2407         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
2408         (VRSAVE_REGNO): New.
2409         (reg_class): Add VRSAVE_REGS.
2410         (REG_CLASS_NAMES): Same.
2411         (REG_CLASS_CONTENTS): Same.
2412         (REGNO_REG_CLASS): Same.
2413
2414         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
2415         (ABI_STACK_BOUNDARY): Same.
2416         (BIGGEST_ALIGNMENT): Same.
2417         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
2418         (ROUND_TYPE_ALIGN): Same.
2419
2420         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2421         to 64.
2422
2423         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2424         to 64.
2425
2426         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2427         to 64.
2428
2429         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
2430         (altivec_expand_builtin): New.
2431         (altivec_init_builtins): New.
2432         (TARGET_EXPAND_BUILTIN): New.
2433         (TARGET_INIT_BUILTINS): New.
2434         (rs6000_init_builtins): New.
2435         (struct builtin_description): New.
2436         (bdesc_2arg): New.
2437         (rs6000_reg_names): Add altivec registers.
2438         (alt_reg_names): Same.
2439         (secondary_reload_class): Altivec regs can hold altivec regs and
2440         memory.
2441         (rs6000_emit_move): Force constants into memory for AltiVec moves.
2442         (print_operand): Add 'y' case for printing altivec memory
2443         operands.
2444         (rs6000_legitimize_address): Legitimize vector addresses into
2445         [REG+REG] or [REG].
2446         (altivec_expand_binop_builtin): New.
2447         New string rs6000_current_abi.
2448         (rs6000_override_options): Call rs6000_parse_abi_options.
2449         (rs6000_parse_abi_options): New.
2450         (function_arg_boundary): Vector arguments must be 16
2451         byte aligned.
2452         (function_arg_advance): Handle vector arguments.
2453         (function_arg_partial_nregs): Same.
2454         (init_cumulative_args): Same.
2455         (function_arg): Same.
2456
2457         * config/rs6000/rs6000.md (altivec_lvx): New.
2458         (type): Add altivec attribute.
2459         (movv4si): New.
2460         (*movv4si_internal): New.
2461         (movv16qi): New.
2462         (*movv16qi_internal): New.
2463         (movv8hi): New.
2464         (*movv8hi_internal1): New.
2465         (movv4sf): New.
2466         (*movv4sf_internal1): New.
2467         (altivec_stvx): New.
2468         (vaddubm): New.
2469         (vadduhm): New.
2470         (vadduwm): New.
2471         (vaddfp): New.
2472         (vaddcuw): New.
2473         (vaddubs): New.
2474         (vaddsbs): New.
2475         (vadduhs): New.
2476         (vaddshs): New.
2477         (vadduws): New.
2478         (vaddsws): New.
2479         (vand): New.
2480         (vandc): New.
2481         (vavgub): New.
2482         (vavgsb): New.
2483         (vavguh): New.
2484         (vavgsh): New.
2485         (vavguw): New.
2486         (vavgsw): New.
2487         (vcmpbfp): New.
2488         (vcmpequb): New.
2489         (vcmpequh): New.
2490         (vcmpequw): New.
2491         (vcmpeqfp): New.
2492         (vcmpgefp): New.
2493         (vcmpgtub): New.
2494         (vcmpgtsb): New.
2495         (vcmpgtuh): New.
2496         (vcmpgtsh): New.
2497         (vcmpgtuw): New.
2498         (vcmpgtsw): New.
2499         (vcmpgtfp): New.
2500         (vcmpgefp): New.
2501         (vcmpgtub): New.
2502         (vcmpgtsb): New.
2503         (vcmpgtuh): New.
2504         (vcmpgtsh): New.
2505         (vcmpgtuw): New.
2506         (vcmpgtsw): New.
2507         (vcmpgtfp): New.
2508         (vmaxub): New.
2509         (vmaxsb): New.
2510         (vmaxuh): New.
2511         (vmaxsh): New.
2512         (vmaxuw): New.
2513         (vmaxsw): New.
2514         (vmaxfp): New.
2515         (vmrghb): New.
2516         (vmrghh): New.
2517         (vmrghw): New.
2518         (vmrglb): New.
2519         (vmrglh): New.
2520         (vmrglw): New.
2521         (vminub): New.
2522         (vminsb): New.
2523         (vminuh): New.
2524         (vminsh): New.
2525         (vminuw): New.
2526         (vminsw): New.
2527         (vminfp): New.
2528         (vmuleub): New.
2529         (vmulesb): New.
2530         (vmuleuh): New.
2531         (vmulesh): New.
2532         (vmuloub): New.
2533         (vmulosb): New.
2534         (vmulouh): New.
2535         (vmulosh): New.
2536         (vnor): New.
2537         (vor): New.
2538         (vpkuhum): New.
2539         (vpkuwum): New.
2540         (vpkpx): New.
2541         (vpkuhss): New.
2542         (vpkshss): New.
2543         (vpkuwss): New.
2544         (vpkswss): New.
2545         (vpkuhus): New.
2546         (vpkshus): New.
2547         (vpkuwus): New.
2548         (vpkswus): New.
2549         (vrlb): New.
2550         (vrlh): New.
2551         (vrlw): New.
2552         (vslb): New.
2553         (vslh): New.
2554         (vslw): New.
2555         (vsl): New.
2556         (vslo): New.
2557         (vsrb): New.
2558         (vrsh): New.
2559         (vrsw): New.
2560         (vsrab): New.
2561         (vsrah): New.
2562         (vsraw): New.
2563         (vsr): New.
2564         (vsro): New.
2565         (vsububm): New.
2566         (vsubuhm): New.
2567         (vsubuwm): New.
2568         (vsubfp): New.
2569         (vsubcuw): New.
2570         (vsububs): New.
2571         (vsubsbs): New.
2572         (vsubuhs): New.
2573         (vsubshs): New.
2574         (vsubuws): New.
2575         (vsubsws): New.
2576         (vsum4ubs): New.
2577         (vsum4sbs): New.
2578         (vsum4shs): New.
2579         (vsum2sws): New.
2580         (vsumsws): New.
2581         (vxor): New.
2582
2583 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
2584
2585         * Makefile.in (df.o): Add fibheap.h to dependencies.
2586
2587         * df.h: Add prototypes for transfer functions, iterative_dataflow
2588         functions.
2589         (enum df_flow_dir): New enum.
2590         (enum df_confluence_op): New enum.
2591         (struct df): Add inverse_rts_map.
2592
2593         * df.c: Add sbitmap.h to the list of includes.
2594         (df_rd_global_compute): Removed.
2595         (df_ru_global_compute): Removed.
2596         (df_lr_global_compute): Removed.
2597         (df_rd_transfer_function): New function.
2598         (df_ru_transfer_function): New function.
2599         (df_lr_transfer_function): New function.
2600         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
2601         Use iterative_dataflow_bitmap instead of df_*_global_compute.
2602         (iterative_dataflow_sbitmap): New function.
2603         (iterative_dataflow_bitmap): New function.
2604
2605 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2606
2607         * doc/gcc.texi: Move terminology and spelling conventions to
2608         htdocs/codingconventions.html.
2609
2610 2001-11-07  Graham Stott  <grahams@redhat.com>
2611
2612         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
2613
2614 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
2615
2616         * expmed.c (expand_mult): Force operand to register before computing
2617         cost.
2618         * i386.c (x86_decompose_lea): New global vairable.
2619         * i386.h (x86_decompose_lea): Declare.
2620         (TARGET_DECOMPOSE_LEA): New macro.
2621         (RTX_COST): Handle leas properly.
2622
2623 2001-11-06  Richard Henderson  <rth@redhat.com>
2624
2625         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
2626         defined for a CONSTRUCTOR; don't check it.
2627
2628 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
2629
2630         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
2631         test for absolute pathnames.
2632
2633 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
2634
2635         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
2636         instructions up to the target pc inclusive.
2637
2638 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
2639
2640         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
2641
2642 2001-11-06  Eric Christopher  <echristo@redhat.com>
2643
2644         * config/mips/mips.md(movdf_internal2): Add constraints for float
2645         to general register move.
2646         * config/mips/elf64.h: Add default ABI.
2647
2648 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2649
2650         * alias.c:: Include langhooks.h.
2651         * emit-rtl.c: Similarly.
2652         * toplev.c: Similarly.
2653         * tree-inline.c: Similarly.
2654         * langhooks-def.h: New, the old langhooks.h.  Give the default
2655         hooks a common prefix.
2656         * langhooks.h: Contents extracted from toplev.h.
2657         * toplev.h: Move langhook stuff to langhooks.h.
2658         * langhooks.c: Give default hooks a common prefix.
2659
2660         * c-lang.c: Include langhooks-def.h.
2661         * objc/objc-act.c: Similarly.
2662         * Makefile.in: Update.
2663         * objc/Make-lang.in: Update.
2664
2665 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2666
2667         * doc/install.texi: Document that configure options not listed in
2668         this file are unsupported.  Document --with-system-zlib.
2669
2670 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2671
2672         * rtl.h (mem_for_const_double): New declaration.
2673         * varasm.c (mem_for_const_double): New function.
2674         * config/convex/convex.md (movdf): Use it.
2675         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
2676         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
2677         * config/m68k/m68kv4.h: Likewise.
2678
2679         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
2680         of new GP reg classes.
2681
2682         * expr.c (store_field): When making temp object for unaligned
2683         component, set it to alias set 0.
2684
2685 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2686
2687         * c-common.c (c_expand_expr_stmt): Apply default conversions to
2688         non-lvalue arrays if C99.
2689         * c-typeck.c (default_conversion): Split out code handling
2690         array-to-pointer and function-to-pointer conversions into a
2691         separate default_function_array_conversion function.
2692         (default_function_array_conversion): New function.  Keep track of
2693         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
2694         arrays unchanged outside C99 mode instead of giving an error for
2695         them.
2696         (build_component_ref): Use pedantic_non_lvalue when handling
2697         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
2698         (convert_arguments): Use default_function_array_conversion.
2699         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
2700         non-lvalues are OK.
2701         (unary_complex_lvalue): Likewise.
2702         (internal_build_compound_expr): Use
2703         default_function_array_conversion.  Apply default conversions to
2704         function in compound expression.
2705         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
2706         Use default_function_array_conversion.
2707         * doc/extend.texi: Update documentation of subscripting non-lvalue
2708         arrays.
2709         Fixes PR c/461.
2710
2711 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
2712
2713         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
2714         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
2715         corresponding to the complete set of .po and .gmo files in
2716         the source directory's po subdir, modified by LINGUAS.  Don't
2717         look at ALL_LINGUAS.
2718         * configure.in: Don't set ALL_LINGUAS.
2719         * configure: Regenerate.
2720
2721         * Makefile.in (.po.gmo): Don't move into source directory.
2722         (.po.pox): Clarify comments.
2723         (install-po): Look for .gmo files in both srcdir and objdir;
2724         don't fail if a file is totally missing.
2725         (distclean): rmdir ada subdirectory too.
2726
2727 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
2728
2729         * config/rs6000/rs6000.c (rs6000_select_section): Handle
2730         CONSTRUCTORs _correctly_.
2731
2732 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2733
2734         * c-decl.c (delete_block): Remove.
2735         * c-tree.h (delete_block): Remove.
2736
2737 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2738
2739         * cppexp.c (lex, parse_defined): Update warning about defined.
2740
2741 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
2742
2743         * config/rs6000/rs6000.c (rs6000_select_section): Handle
2744         CONSTRUCTORs too.
2745
2746 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
2747
2748         * config/arm/arm.c (arm_return_in_memory): Cope with
2749         int_size_in_bytes returning -1.
2750
2751         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
2752         DECL being NULL.
2753
2754 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
2755
2756         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
2757         remove unneeded dependencies;
2758         (cfglayout.o): New.
2759         * cfglayout.c, cfglayout.h: New files; break out from ...
2760         * bb-reorder.c: ... here; Remove unneeded includes;
2761
2762 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
2763
2764         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
2765
2766 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
2767
2768         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
2769         mode as well.  Do not explicitly create intermediate regs.
2770
2771 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2772
2773         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
2774         (common_section): Delete unused variable.
2775         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
2776         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2777         * arm-protos.h (arm_poke_function_name, aof_add_import,
2778         aof_delete_import): Const-ify.
2779         * arm.c (legitimize_pic_address): Wrap variables in the macro
2780         controlling their usage.
2781         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
2782         (arm_poke_function_name, pic_chain, import, aof_add_import,
2783         aof_delete_import): Const-ify.
2784         * i386.c (ix86_osf_output_function_prologue): Const-ify.
2785         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2786         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
2787         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
2788         * i860/sysv3.h: Add missing comment closure.
2789         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
2790         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
2791         to symbolic_operand.
2792
2793         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
2794         (i960-*-*): Set tmake_file.
2795         (sparc86x-*-elf*): Fix typo in header name.
2796
2797         * sched-rgn.c (schedule_insns): Delete unused variable.
2798
2799 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2800
2801         PR c/2820
2802         * c-typeck.c (lookup_field): Rework to return a chain down to
2803         the looked-up field.
2804         (build_component_ref): Use the new lookup_field to handle
2805         nested anonymous entities correctly.
2806
2807 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2808
2809         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
2810         Change parameters to gen_rtx_CONST_DOUBLE.
2811         (GEN_INT64, sparc_emit_set_const64): Likewise.
2812         * config/sparc/sparc.md (movdf split): Likewise.
2813
2814 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
2815
2816         * unroll.c (calculate_giv_inc): Use find_last_value rather
2817         than just hoping the last instruction is the right SET.
2818         [Fixes 990604-1.c on stormy16.]
2819
2820         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
2821         library at all if -T is used.
2822
2823         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
2824         some uses of uninitialized variables in error cases.
2825
2826         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
2827         look at 'temp' if we won't be using it.
2828
2829         * config/stormy16/stormy16.h (CONST_COSTS): Define.
2830         (RTX_COSTS): Define.
2831         (ADDRESS_COST): Define.
2832         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2833
2834         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2835
2836         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2837         stormy16_asm_output_mi_thunk.
2838         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
2839         function.
2840         * config/stormy16/stormy16-protos.h
2841         (stormy16_asm_output_mi_thunk): New prototype.
2842
2843 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2844
2845         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
2846         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
2847         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
2848         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
2849         sched-int.h, toplev.c, config/alpha/alpha.c,
2850         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
2851         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
2852         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
2853         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
2854         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
2855         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
2856         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
2857
2858 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2859
2860         * Makefile.in (dbxout.o): Depend on function.h.
2861         * collect2.c (is_in_list): Hide unused function.
2862         * dbxout.c: Include function.h.
2863         (source_label_number, dbxout_source_line, dbxout_source_file,
2864         dbxout_function_end, dbxout_begin_function): Wrap/move inside
2865         macros controlling usage.
2866         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
2867         * output.h (exports_section): Prototype.
2868
2869         * convex.c (convex_output_function_prologue): Fix format specifier
2870         warning.
2871         (asm_declare_function_name): Fix signed/unsigned warning.
2872         (print_operand): Fix format specifier warning.
2873         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2874         * dsp16xx-protos.h (uns_comparison_operator,
2875         num_1600_core_shifts): Prototype.
2876         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2877         (frame_size, frame_pointer_offset): Delete.
2878         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2879         Make static.  Fix format specifier warnings.
2880         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2881         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2882         * dsp16xx.md: Add default case in switches.
2883         * fr30.h (IN_RANGE): Delete.
2884         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2885         * mcore-protos.h (mcore_output_cmov): Const-ify.
2886         * mcore.c (mcore_output_cmov): Likewise.
2887         * mcore.h (switch_to_section): Make static and prototype.
2888         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2889         unsigned>=0 warnings.
2890         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2891         * rs6000-protos.h (read_only_data_section,
2892         read_only_private_data_section): Prototype.
2893         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2894         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2895         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2896
2897 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2898
2899         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2900         ATTRIBUTE_UNUSED.
2901         * final.c (final_scan_insn): Add brackets around body of if-stmt.
2902         * gcc.c (convert_filename): Add static prototype.  Const-ify.
2903         Wrap variable in macros controlling its use.
2904         * output.h (sdata_section): Add prototype.
2905
2906         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2907         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2908         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2909         (ASM_FILE_START): Const-ify.
2910         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2911         specifier warning.
2912         * c4x.md: Don't use the 'U' integer suffix.
2913         * clipper.md (clipper_movstr): Delete declaration.
2914         * d30v-protos.h (d30v_move_2words): Const-ify.
2915         (debug_stack_info): Add prototype.
2916         * d30v.c: Include "integrate.h".
2917         (d30v_function_arg_boundary, d30v_function_arg,
2918         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2919         signed/unsigned warnings.
2920         (d30v_print_operand_memory_reference, d30v_move_2words):
2921         Const-ify.
2922         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2923         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2924         * fr30.md: Const-ify.
2925         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2926         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2927         (mvs_get_label_page): Hide unused static function.
2928         * i860.c (current_function_original_name): Const-ify.
2929         * i860/sysv3.h (current_function_original_name): Likewise.
2930         * i860/sysv4.h (current_function_original_name): Likewise.
2931         * i960.md: Add default case in switches.  Remove unused variable.
2932         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2933         * m32r.md: Const-ify.
2934         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2935         * m68hc11.c: Include "reload.h".
2936         (static_chain_reg, print_options, m68hc11_asm_file_start):
2937         Const-ify.
2938         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
2939         around & in comparison.
2940         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2941         * mn10200.c (shift_mode): Remove trailing comma.
2942         * mn10300-protos.h (output_tst): Const-ify.
2943         * mn10300.c (output_tst): Likewise.
2944         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2945         warnings.
2946         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2947         * pa.c (output_ascii): Likewise.
2948         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2949         * pdp11.md (expand_unop): Delete declarations.
2950         * pj-protos.h (pj_output_addsi3): Const-ify.
2951         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2952         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2953         unique_src_operand): Add prototypes.
2954         (pj_output_store_into_lval): Make definition static.
2955         (pj_function_incoming_arg): Don't use unary plus.
2956         (pj_output_addsi3): Const-ify.
2957         * romp.md (get_symref): Delete declarations.
2958         * v850-c.c (mark_current_function_as_interrupt): Don't return
2959         value from void function.
2960         * v850.c: Include "integrate.h".
2961         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2962         * vax-protos.h (const_section): Add prototype.
2963
2964 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
2965
2966         * machmode.def: Add documentation for the seventh argument in
2967         vector modes.
2968
2969 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
2970
2971         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2972         consistently.
2973         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2974         <-melf>: Don't have markup for ELF acronym.
2975
2976 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
2977
2978         * config.gcc (mmix-*-*): New target.
2979         * doc/invoke.texi: Document MMIX options.
2980         * doc/contrib.texi: Add note about MMIX port to my entry.
2981         * config/mmix/t-mmix: New file.
2982         * config/mmix/mmix.h: New file.
2983         * config/mmix/mmix-protos.h: New file.
2984         * config/mmix/mmix.c: New file.
2985         * config/mmix/mmix.md: New file.
2986         * config/mmix/crti.asm: New file.
2987         * config/mmix/crtn.asm: New file.
2988
2989 2001-11-03  Kazu Hirata  <kazu@hxi.com>
2990
2991         * config/sparc/linux-aout.h: Fix comment formatting.
2992         * config/sparc/linux.h: Likewise.
2993         * config/sparc/linux64.h: Likewise.
2994         * config/sparc/lynx.h: Likewise.
2995         * config/sparc/pbd.h: Likewise.
2996         * config/sparc/sol2-sld-64.h: Likewise.
2997         * config/sparc/sol2.h: Likewise.
2998         * config/sparc/sparc.c: Likewise.
2999         * config/sparc/sparc.h: Likewise.
3000         * config/sparc/sparc.md: Likewise.
3001         * config/sparc/sunos4.h: Likewise.
3002         * config/sparc/vxsim.h: Likewise.
3003         * config/sparc/vxsparc.h: Likewise.
3004         * config/sparc/vxsparc64.h: Likewise.
3005
3006 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3007
3008         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
3009         reference to CONST_DOUBLE_MEM in comment.
3010         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
3011         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
3012         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
3013         * function.c (pop_function_context_from): Don't call
3014         restore_varasm_status.
3015         * function.h (restore_varasm_status): Delete declaration.
3016         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
3017         * rtl.c: Likewise.
3018         * rtl.def (CONST_DOUBLE): Update comment.
3019         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
3020         (CONST_DOUBLE_CHAIN): Likewise.
3021         (CONST_DOUBLE_MEM): Delete.
3022         (gen_rtx_CONST_DOUBLE): Update parameters.
3023         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
3024         Remove reference to CONST_DOUBLE_MEM.
3025         (const_alias_set): New variable.
3026         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
3027         (immed_real_const_1): Adjust tests for 0, 1, and 2.
3028         Don't set CONST_DOUBLE_MEM.
3029         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
3030         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
3031         Put constant in const_alias_set.
3032         (struct pool_constant): ALIGN now unsigned.
3033         OFFSET now HOST_WIDE_INT.
3034         Delete LABEL.
3035         (restore_varasm_status): Deleted.
3036         (mark_pool_constant): Mark desc->rtl.
3037         (force_const_mem): Rework to store rtl in hash table,
3038         not CONST_DOUBLE_MEM.
3039         Put constant in const_alias_set.
3040         (find_pool_constant): Check desc->rtl.
3041         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
3042         (init_varasm_once): Initialize const_alias_set.
3043
3044         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
3045         force_const_mem.
3046
3047         * reload.c (combine_reloads): Don't combine an output reload if there
3048         are other reloads around for part of the output.
3049
3050         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
3051         constant expression.
3052         (set_mem_decl): New function.
3053         * expr.h (set_mem_decl): New declaration.
3054         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
3055         (output_asm_operand_names): Add tab.
3056         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
3057
3058         * builtins.c (get_memory_rtx): Properly set MEM alias set and
3059         attributes.
3060
3061 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3062
3063         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
3064         Use "invalid" instead of "illegal".  Use @r in comments in
3065         examples.
3066
3067 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3068
3069         * c-decl.c (pushdecl): Move block inside if conditional to remove
3070         possibility of a segfault.  Lookup block-level extern
3071         variables in enclosing scopes correctly.
3072
3073         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
3074
3075 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
3076
3077         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
3078         SUBREG so we avoid SUBREGing memory.
3079
3080         * expmed.c (store_bit_field): Same.
3081
3082 2001-11-02  DJ Delorie  <dj@redhat.com>
3083
3084         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
3085         using FP registers for DImode mem-mem moves is acceptable.
3086
3087 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
3088
3089         * builtins.c (apply_args_size): Handle vector arguments.
3090         (apply_result_size): Same.
3091
3092         * machmode.def: Set WIDER mode field for all vector entries.
3093
3094 2001-11-02  Graham Stott  <grahams@redhat.com>
3095
3096         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
3097
3098 2001-11-01  Eric Christopher  <echristo@redhat.com>
3099
3100         * config.gcc: Revert part of earlier patch.
3101         * config/mips/linux.h: Ditto.
3102         * df.c: Include tm_p.h to avoid warnings.
3103         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
3104         #if/#endif.
3105         * config/mips/mips.c: Define mips_abi regardless.
3106         (mips_output_function_prologues): Add long casts for .frame
3107         output.
3108         (override_options): Allow use of ABI_32.
3109
3110 2001-11-01  Kazu Hirata  <kazu@hxi.com>
3111
3112         * config/m68hc11/m68hc11.c: Fix comment formatting.
3113         * config/m68hc11/m68hc11.h: Likewise.
3114         * config/m68hc11/m68hc11.md: Likewise.
3115
3116 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3117
3118         * c-typeck.c (default_conversion): Retain the original expression
3119         codes.
3120         * gcc.dg/Wparentheses.c: New tests.
3121
3122 2001-11-01  David S. Miller  <davem@redhat.com>
3123
3124         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
3125         64-bit Sparc description more in line with reality.
3126
3127 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
3128
3129         * Makefile.in (GCOV_OBJS): Add version.o.
3130         * gcov.c: Include "version.h" and <getopt.h>.
3131         (gcov_version_string): Remove.
3132         (print_usage): Take a parameter to determine whether this is a
3133         call from --help or an error message.  Give fuller output that
3134         follows the GNU Coding Standards for --help.
3135         (print_version): New function.
3136         (options): New.
3137         (process_args): Use getopt_long.  Support long options.  Follow
3138         GNU Coding Standards for --help and --version.
3139         * doc/gcov.texi: Document long options.
3140         Addresses part of PR other/704.
3141
3142 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3143
3144         * pa.c (output_move_double): Fix typo in double load.
3145
3146 2001-11-01  Kazu Hirata  <kazu@hxi.com>
3147
3148         * config/h8300/h8300.c (h8300_encode_label): Compute a string
3149         before passing it to ggc_alloc_string.
3150
3151 2001-11-01  Kazu Hirata  <kazu@hxi.com>
3152
3153         * config/m68k/3b1.h: Fix comment formatting.
3154         * config/m68k/3b1g.h: Likewise.
3155         * config/m68k/a-ux.h: Likewise.
3156         * config/m68k/amix.h: Likewise.
3157         * config/m68k/apollo68.h: Likewise.
3158         * config/m68k/atari.h: Likewise.
3159         * config/m68k/aux-exit.c: Likewise.
3160         * config/m68k/ccur-GAS.h: Likewise.
3161         * config/m68k/crds.h: Likewise.
3162         * config/m68k/dpx2.h: Likewise.
3163         * config/m68k/dpx2g.h: Likewise.
3164         * config/m68k/hp310.h: Likewise.
3165         * config/m68k/hp320.h: Likewise.
3166         * config/m68k/isi.h: Likewise.
3167         * config/m68k/linux.h: Likewise.
3168         * config/m68k/lynx.h: Likewise.
3169         * config/m68k/m68k-psos.h: Likewise.
3170         * config/m68k/m68k.c: Likewise.
3171         * config/m68k/m68k.h: Likewise.
3172         * config/m68k/m68k.md: Likewise.
3173         * config/m68k/m68kelf.h: Likewise.
3174         * config/m68k/m68kv4.h: Likewise.
3175         * config/m68k/mot3300.h: Likewise.
3176         * config/m68k/news.h: Likewise.
3177         * config/m68k/next.h: Likewise.
3178         * config/m68k/pbb.h: Likewise.
3179         * config/m68k/plexus.h: Likewise.
3180         * config/m68k/sgs.h: Likewise.
3181         * config/m68k/sun3.h: Likewise.
3182         * config/m68k/tower.h: Likewise.
3183         * config/m68k/vxm68k.h: Likewise.
3184
3185 2001-10-31  DJ Delorie  <dj@redhat.com>
3186
3187         * config/mips/mips.h (mips_cache_flush_func): Prototype.
3188         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
3189         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
3190         * config/mips/mips.c (mips_cache_flush_func): New.
3191         * doc/invoke.texi: Document the new options.
3192
3193 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
3194
3195         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
3196         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
3197
3198         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
3199
3200         * config/cris/cris.c: Include output.h after tree.h but before
3201         target.h.
3202
3203 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
3204
3205         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
3206         (INTL_SUBDIRS): Just intl.
3207         (.SUFFIXES): Add .gmo .po .pox.
3208         (native): Also depend on build-@POSUB@.
3209         (intl.all, intl.install): Depend on config.h and things it includes.
3210         (po-generated): New target; depend on c-parse.c and tradcif.c.
3211         (install-normal): Also depend on install-@POSUB@.
3212         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
3213         (build-, install-, build-po, update-po, install-po,
3214         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
3215
3216         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
3217         * configure.in: Don't munge XGETTEXT.  Don't generate
3218         po/Makefile.in.
3219         * configure: Regenerate.
3220
3221         * exgettext: Delete.
3222         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
3223         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
3224
3225 2001-10-31  Kazu Hirata  <kazu@hxi.com>
3226
3227         * config/h8300/h8300.md (two anonymous patterns): New.
3228
3229 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
3230
3231         * tree.h (tree_index): Add support for V16QI and V8HI.
3232         (V8HI_type_node): New.
3233         (V16QI_type_node): New.
3234
3235         * tree.c (build_common_tree_nodes_2): Same.
3236
3237         * c-common.c (type_for_mode): Same.
3238
3239 2001-10-31  Kazu Hirata  <kazu@hxi.com>
3240
3241         * config/i386/att.h: Fix comment formatting.
3242         * config/i386/beos-elf.h: Likewise.
3243         * config/i386/bsd.h: Likewise.
3244         * config/i386/bsd386.h: Likewise.
3245         * config/i386/crtdll.h: Likewise.
3246         * config/i386/cygwin.asm: Likewise.
3247         * config/i386/cygwin.h: Likewise.
3248         * config/i386/djgpp.h: Likewise.
3249         * config/i386/freebsd-aout.h: Likewise.
3250         * config/i386/freebsd.h: Likewise.
3251         * config/i386/gas.h: Likewise.
3252         * config/i386/i386-interix.h: Likewise.
3253         * config/i386/i386-protos.h: Likewise.
3254         * config/i386/i386.c: Likewise.
3255         * config/i386/i386.h: Likewise.
3256         * config/i386/i386.md: Likewise.
3257         * config/i386/i386elf.h: Likewise.
3258         * config/i386/interix.c: Likewise.
3259         * config/i386/isc.h: Likewise.
3260         * config/i386/isccoff.h: Likewise.
3261         * config/i386/iscdbx.h: Likewise.
3262         * config/i386/linux.h: Likewise.
3263         * config/i386/lynx.h: Likewise.
3264         * config/i386/mingw32.h: Likewise.
3265         * config/i386/netbsd-elf.h: Likewise.
3266         * config/i386/next.h: Likewise.
3267         * config/i386/osf1elf.h: Likewise.
3268         * config/i386/osfrose.h: Likewise.
3269         * config/i386/sco5.h: Likewise.
3270         * config/i386/seq-gas.h: Likewise.
3271         * config/i386/seq-sysv3.h: Likewise.
3272         * config/i386/sequent.h: Likewise.
3273         * config/i386/sol2.h: Likewise.
3274         * config/i386/sun386.h: Likewise.
3275         * config/i386/uwin.asm: Likewise.
3276         * config/i386/uwin.h: Likewise.
3277         * config/i386/vxi386.h: Likewise.
3278         * config/i386/win32.h: Likewise.
3279         * config/i386/winnt.c: Likewise.
3280         * config/i386/xm-cygwin.h: Likewise.
3281         * config/i386/xm-mingw32.h: Likewise.
3282
3283 2001-10-31  Kazu Hirata  <kazu@hxi.com>
3284
3285         * builtins.def: Fix comment typos.
3286         * config/alpha.c: Likewise.
3287         * config/arm/arm.c: Likewise.
3288         * config/avr/avr.h: Likewise.
3289         * config/d30v/d30v.c: Likewise.
3290         * config/d30v/d30v.h: Likewise.
3291         * config/d30v/d30v.md: Likewise.
3292         * config/dsp16xx/dsp16xx.c: Likewise.
3293         * config/fr30/fr30.c: Likewise.
3294         * config/fr30/fr30.md: Likewise.
3295         * config/i386/i386.c: Likewise.
3296         * config/i860/i860.c: Likewise.
3297         * config/i960/i960.c: Likewise.
3298         * config/ia64/ia64.c: Likewise.
3299         * config/mips/mips.c: Likewise.
3300         * config/pa/pa.c: Likewise.
3301         * config/rs6000/rs6000.c: Likewise.
3302         * config/s390/s390.c: Likewise.
3303         * config/sparc/sparc.c: Likewise.
3304
3305 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3306
3307         * config/mips/elf.h: Fix comment formatting.
3308         * config/mips/elf64.h: Likewise.
3309         * config/mips/iris5.h: Likewise.
3310         * config/mips/iris5gas.h: Likewise.
3311         * config/mips/iris6.h: Likewise.
3312         * config/mips/isa3264.h: Likewise.
3313         * config/mips/linux.h: Likewise.
3314         * config/mips/mips.c: Likewise.
3315         * config/mips/mips.h: Likewise.
3316         * config/mips/mips.md: Likewise.
3317         * config/mips/mips16.S: Likewise.
3318         * config/mips/netbsd.h: Likewise.
3319         * config/mips/osfrose.h: Likewise.
3320         * config/mips/r3900.h: Likewise.
3321         * config/mips/sni-svr4.h: Likewise.
3322         * config/mips/svr4-t.h: Likewise.
3323         * config/mips/ultrix.h: Likewise.
3324
3325 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
3326
3327         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
3328         when we update head->current.
3329
3330 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3331
3332         * tree.c (id_string_size): Remove.
3333         (dump_tree_statistics): Update.
3334         * toplev.c (compile_file): If dumping stats, dump tree stats too.
3335
3336 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
3337
3338         * sched-rgn.c (schedule_insns): Fix comment.
3339
3340 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
3341
3342         * configure.in: Correct previous change: don't assume that
3343         gas's version number _isn't_ the last thing on the line, or
3344         isn't the only number on the line, either.
3345         * configure: Regenerate.
3346
3347 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3348
3349         * cfgcleanup.c: Fix a comment typo.
3350
3351 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3352
3353         * alias.c: Fix comment formatting.
3354         * recog.c: Likewise.
3355         * config/cris/cris.c: Likewise.
3356         * config/cris/cris.h: Likewise.
3357         * config/i960/i960.c: Likewise.
3358         * config/i960/i960.h: Likewise.
3359
3360 2001-10-30  Kazu Hirata  <kazu@hxi.com>
3361
3362         * config/arm/arm.c: Fix a comment typo.
3363         * config/arm/arm.h: Likewise.
3364         * config/ia64/ia64.c: Likewise.
3365
3366 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
3367
3368         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
3369         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
3370         * rtl.h (set_unique_reg_note): Change return value.
3371         * gcse.c (try_replace_reg): Use set_unique_reg_note.
3372         * cse.c (cse_insn): Likewise.
3373         * expr.c (emit_move_insn): Likewise.
3374         * explow.c (force_reg): Likewise.
3375         * local-alloc (update_equiv_regs): Likewise.
3376         * loop.c (move_moveables, load_mems): Likewise.
3377         * reload (find_reloads): Likewise.
3378
3379 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
3380
3381         Localization fixes.
3382         * c-decl.c (parmlist_tags_warning, start_struct,
3383         check_for_loop_decls): Separate messages for struct, union and
3384         enum cases to allow for languages in which they have different
3385         genders.
3386         * c-format.c (scanf_flag_specs): Separate short and long name of
3387         the assignment suppression feature.
3388         (check_format_types): Localize "pointer" and "different types"
3389         strings.
3390         * c-lex.c (lex_number): Localize "an unsigned long int" and
3391         related strings.
3392         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
3393         warning message.
3394         * c-typeck.c (build_unary_up): Separate messages for increment and
3395         decrement cases to allow for languages in which they use different
3396         articles.  Localize the strings "increment" and "decrement" in one
3397         case.
3398
3399 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
3400
3401         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
3402         when no changes has been made.
3403
3404         * gcse.c (reg_set_bitmap): Turn into reg_set.
3405         (modify_mem_list_set, canon_modify_mem_list_set)
3406         (clear_modify_mem_tables, free_modify_mem_tables): New.
3407         (gcse_main); Use free_modify_mem_tables.
3408         (free_gcse_mem): Likewise; free the bitmaps.
3409         (alloc_gcse_main): Initialize the bitmaps.
3410         (canon_list_insert): Set canon_modify_mem_list_set.
3411         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
3412         (compute_hash_table): Use clear_modify_mem_tables.
3413         (reset_opr_set_tables): Likewise.
3414         (oprs_not_set_p): reg_set_bitmap is regset.
3415         (mark_set, mark_clobber): Likewise.
3416
3417         * df.h (DF_EQUIV_NOTES): New constant.
3418         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
3419         when asked for.
3420
3421         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
3422         (init_regions, schedule_insns): Conditionalize the checking
3423         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
3424
3425 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
3426
3427         * i386.md (movti_rex64 splitter): Fix condition.
3428
3429 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
3430
3431         * configure.in: Do not assume that gas's version number is the
3432         last thing on the first line of as --version output.
3433         * configure: Regenerate.
3434
3435         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
3436         MT_WARNING, MT_ERROR, MT_FATAL.
3437         (main): Call gcc_init_libintl.
3438         (v_message): Call gettext on msgid and "warning: "
3439         * tradcif.y: Include intl.h.
3440         (yyerror): Make parameter definition consistent with
3441         prototype.  Call gettext on msgid argument.
3442
3443 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3444
3445         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
3446         warnings.
3447
3448         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
3449
3450 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3451
3452         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
3453         before referencing it.
3454
3455 2001-10-26  DJ Delorie  <dj@redhat.com>
3456
3457         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
3458         override -G, and force -G0.
3459
3460 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3461
3462         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
3463         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
3464         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
3465         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
3466
3467         * loop.h (struct induction): Rename ext_dependant to
3468         ext_dependent.
3469         * loop.c: Change all uses.
3470         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
3471         All callers changed.
3472         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
3473
3474 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3475
3476         * c-parse.in (expr_no_commas, primary), c-typeck.c
3477         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
3478
3479 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
3480
3481         Undo assemble_name change in earlier patch.
3482
3483 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
3484
3485         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
3486         determining the type of the receiver, do not check that TREE_CODE
3487         of receiver is CALL_EXPR before calling receiver_is_class_object().
3488         (receiver_is_class_object): For the GNU runtime: recognize
3489         the case that the receiver is self in a class method context.
3490         Check that TREE_CODE of receiver is CALL_EXPR when checking that
3491         the receiver is a call to objc_get_class.
3492
3493 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3494
3495         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
3496
3497 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3498
3499         * Makefile.in (OBJS): Put all files in alphabetical order.
3500
3501         * dwarf2out.c (add_const_value_attribute): Fix error in last
3502         change.
3503
3504 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
3505
3506         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
3507         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
3508         fix warning.
3509         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
3510         (life_analysis): call purge_all_dead_edges after deleting noops.
3511         (delete_noop_move): Do not purge CFG.
3512         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
3513
3514 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
3515
3516         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
3517         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
3518         (ASM_GLOBALIZE_LABEL): Use assemble_name.
3519         (ASM_OUTPUT_COMMON): Likewise.
3520         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
3521         (rs6000_output_function_epilogue): Likewise.
3522         (output_mi_thunk): Fix typo.
3523         (rs6000_output_symbol_ref): Use assemble_name.
3524         (output_toc): Likewise.
3525         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
3526         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
3527         assemble_name calls STRIP_NAME_ENCODING.
3528         (ASM_OUTPUT_LABEL): Use assemble_name.
3529         (ASM_GLOBALIZE_LABEL): Likewise.
3530         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3531         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
3532         (ASM_OUTPUT_LOCAL): Likewise.
3533
3534 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3535
3536         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
3537         (expand_builtin_apply, expand_builtin_return): Likewise.
3538         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
3539
3540 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
3541
3542         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3543         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
3544         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
3545         configure, configure.in, except.c, except.h, flow.c, function.c,
3546         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
3547         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
3548         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
3549         unroll.c: Fix spelling errors.
3550
3551         * doc/extend.texi, doc/invoke.texi: Fix spelling.
3552
3553         * doc/gcc.texi: Document use of "dependent" and American spelling.
3554
3555 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
3556
3557         * expr.c (emit_group_load): Support CONCATs by storing them to memory
3558         and reloading.
3559
3560 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3561
3562         * expr.c (store_constructor_field): Only call adjust_address on MEM.
3563
3564 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
3565
3566         * genrecog.c (write_switch):  Output if before switch for
3567         DT_elt_zero_wide_safe.
3568
3569 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3570
3571         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
3572         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
3573         (FUNCTION_PROFILER): Const-ify.
3574         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
3575         (eliminate_constant_term, assemble_name, output_addr_const):
3576         Remove declarations.
3577         (ptr_half_pic_address_p, half_pic_hash): Prototype.
3578         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
3579         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
3580         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
3581         (half_pic_declare, half_pic_external): Const-ify.
3582         * toplev.c: Include "halfpic.h".
3583
3584 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
3585
3586         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
3587         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
3588         config/i386/i386.c, config/i386/i386-interix.h,
3589         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
3590         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
3591         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
3592         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
3593         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
3594         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
3595         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
3596         spelling errors.
3597
3598         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3599         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
3600         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
3601         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
3602         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
3603         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
3604         system.h, toplev.c: Fix spelling errors.
3605
3606 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3607
3608         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
3609
3610         * dwarf2out.c (reg_number): Abort if pseudo.
3611         (reg_loc_descriptor): Return 0 if pseudo.
3612         (is_based_loc): Return 0 if pseudo.
3613         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
3614         recursive calls.
3615         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
3616         (loc_descriptor): Return 0 if can't find location and handle 0
3617         return from recursive calls.
3618         (loc_descriptor_from_tree): Likewise.
3619         Fix handling of indirect.
3620         Also return 0 for PLACEHOLDER_EXPR.
3621         Clean up COMPONENT_REF cases.
3622         (add_AT_location_descriptor): Simplify, but handle 0 return from
3623         loc_descriptor.
3624         (add_const_value_attribute): Avoid shift count warning.
3625         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
3626         Set comp_unit_die as context if not in function.
3627
3628         * config/mips/mips-protos.h: Break up long lines.
3629         Remove needless #ifdef/#endif blocks.
3630         Don't declare functions declared in file made by genpreds or recog.h.
3631         * config/mips/mips.c (mips_output_function_prologue): TSIZE
3632         is now HOST_WIDE_INT; delete unneeded casts.
3633         * config/mips/mips.h: Don't use #elif.
3634
3635         * expr.c (stor_constructor_field): Always call adjust_address.
3636         Copy TARGET before changing its alias set.
3637         (store_field): Likewise, for TO_RTX.
3638         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
3639         replacement.
3640         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
3641         (find_placeholder): Return 0 if can't find object.
3642         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
3643         returns 0.
3644
3645 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3646
3647         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
3648
3649 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
3650
3651         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
3652         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
3653         (merge_blocks): Properly udpate life after making edge nonfallthru.
3654         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
3655
3656 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3657
3658         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3659
3660 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3661
3662         * c-typeck.c (convert_arguments): When comparing for enumeral
3663         type equality, use TYPE_MAIN_VARIANT.
3664         * gcc.dg/Wconversion.c: New tests.
3665
3666 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3667
3668         * s390/s390.c: Fix comment typos.
3669         * s390/s390.h: Likewise.
3670         * s390/s390.md: Likewise.
3671
3672 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3673
3674         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
3675         (walk_tree): Use it for tail calls where appropriate.
3676
3677 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3678
3679         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
3680         non-local label_refs.
3681
3682 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3683
3684         * config/h8300/h8300.md (4 anonymous patterns): New.
3685
3686 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3687
3688         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
3689         algorithm through the shift_info structure.
3690         (emit_a_shift): Update the use of get_shift_alg.
3691
3692 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
3693
3694         * sched-rgn.c: Remove bitset typedef.
3695         Change bitset to sbitmap in prototypes / variable types.
3696         Remove bbset_size.
3697         Remove edgeset_bits.
3698         Remove edgeset_size.
3699         s/BITSET_ADD/SET_BIT/g
3700         s/BITSET_INVERT/sbitmap_ones/g
3701         s/BITSET_INTER/sbitmap_a_and_b/g
3702         s/BITSET_UNION/sbitmap_a_or_b/g
3703         s/BITSET_DIFFER/sbitmap_difference/g
3704         s/bitset_member/TEST_BIT/g
3705         (BITSET_*): Removed.
3706         (bitset_member): Removed.
3707         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
3708         EXECUTE_IF_SET_IN_SBITMAP.
3709         (split_edges): Rewrite, use sbitmap functions instead of bitset
3710         operations.
3711         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
3712
3713 2001-10-26  Andreas Schwab  <schwab@suse.de>
3714
3715         * reload1.c (emit_input_reload_insns): Fix parens in last
3716         (undocumented) change that was supposed to change only whitespace.
3717
3718 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3719
3720         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
3721
3722         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
3723         ASM_OPERANDS.
3724
3725 2001-10-26  Andreas Jaeger  <aj@suse.de>
3726
3727         * flow.c (clear_log_links): Remove unused variable.
3728         * cfgcleanup.c (cleanup_cfg): Likewise.
3729
3730 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3731
3732         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
3733         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
3734
3735 2001-10-26  Richard Henderson  <rth@redhat.com>
3736
3737         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
3738         rename PV_REG to R27_REG.
3739         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
3740         (REG_CLASS_FROM_LETTER): Update.
3741         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
3742         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
3743         (udivsi3, modsi3, umodsi3): Likewise.
3744         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
3745
3746 2001-10-26  Richard Henderson  <rth@redhat.com>
3747
3748         * cfg.c (clear_aux_for_blocks): Split out of ...
3749         (free_aux_for_blocks): here.
3750         (clear_aux_for_edges): Split from ...
3751         (free_aux_for_edges): here.
3752         * basic-block.h: Declare them.
3753         * lcm.c (compute_antinout_edge): Use them.
3754         (compute_laterin, compute_available, compute_nearerout): Likewise.
3755         (optimize_mode_switching): Likewise.
3756
3757 2001-10-26  Richard Henderson  <rth@redhat.com>
3758
3759         * Makefile.in (unstage*): Remove as, ld, collect-ld before
3760         moving everything back to the main build directory.
3761
3762 2001-10-26  Christopher Faylor  <cgf@redhat.com>
3763
3764         * config/i386/cygwin.h: Search target specific include directory, if
3765         appropriate.
3766
3767 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3768
3769         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
3770         of macro guards. Fix #endif comment.
3771
3772         * output.h (default_exception_section, default_eh_frame_section):
3773         Move prototypes outside of macro guard.
3774
3775         * crtstuff.c: Fix #endif comment.
3776
3777 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
3778
3779         * doc/md.texi (movMM): Clarify semantics of storing into a
3780         non-paradoxical SUBREG.
3781
3782 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
3783
3784         * langhooks.c (lang_hook_default_clear_binding_stack): New.
3785         (lang_hook_default_get_alias_set): Move next to other alias
3786         hooks.
3787         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
3788         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
3789         (LANG_HOOKS_INITIALIZER): Add it.
3790         * toplev.h (struct lang_hooks): Add clear_binding_stack.
3791         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
3792         instead of a loop calling poplevel.
3793
3794 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
3795
3796         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
3797         occurrences of #elif with #if...#endif.
3798
3799 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3800
3801         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
3802
3803 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3804
3805         * alias.c (can_address_p): No longer static.
3806         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
3807         Return 0 if all parameters are default values.
3808         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
3809         (adjust_address_1): Try harder to compute a size.
3810         * expr.c (expand_assignment, store_constructor): If can't address,
3811         set MEM_KEEP_ALIAS_SET_P.
3812         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
3813         (store_field): Likewise.
3814         (store_constructor): Simplify call to store_constructor_field.
3815         * expr.h (can_address_p): New declaration.
3816         * gensupport.c (gen_rtx_CONST_INT): New function.
3817         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
3818         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
3819         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
3820
3821         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
3822
3823 2001-10-24  Christopher Faylor  <cgf@redhat.com>
3824
3825         * config/i386/cygwin.h: Use proper path for mingw crt files when
3826         -mno-cygwin.
3827
3828 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3829
3830         * dwarf2out.c (file_info_cmp): Always return consistent results.
3831
3832 2001-10-24  Roger Sayle <roger@eyesopen.com>
3833
3834         * stmt.c (expand_end_case): Index jumptables from zero for
3835         suitably small values of minval.
3836
3837 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3838
3839         * stor-layout.c (place_union_field): If any field was aligned with
3840         attribute aligned, set record type's TYPE_USER_ALIGN.
3841         (place_field): Likewise.
3842         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
3843         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
3844
3845 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
3846
3847         * c-common.h (struct c_common_identifier): Remove rid_code field.
3848         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
3849
3850         * c-typeck.c (constructor_designated): New local flag.
3851         (struct constructor_stack): Add "designated" field to match.
3852         (start_init): Clear it.
3853         (really_start_incremental_init, push_init_level): Push and
3854         clear it.
3855         (pop_init_level): Pop it.
3856         (set_designator): Set it.
3857
3858         (pop_init_level): Suppress "missing initializer" warnings if
3859         constructor_designated is true.
3860         (process_init_element): Suppress warning about union
3861         initialization under traditional C, if constructor_designated
3862         is true.
3863
3864 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3865
3866         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
3867         change.
3868
3869 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
3870
3871         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3872
3873 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
3874
3875         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3876         the node was already a set to a constant.
3877
3878 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3879
3880         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3881         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3882
3883 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3884
3885         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3886         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
3887         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3888         * s390.c (s390_final_chunkify): Don't use string concatenation.
3889         (s390_function_prologue, s390_function_epilogue): Const-ify.
3890         * s390.h (FUNCTION_PROFILER): Remove unused variable.
3891
3892 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3893
3894         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3895         prototypes.
3896
3897 2001-10-23  Stan Shebs  <shebs@apple.com>
3898
3899         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3900         -traditional-cpp in first-stage compilation.
3901
3902 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3903
3904         * gensupport.c (target_flags): Add.
3905
3906 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
3907
3908         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3909         if needed.
3910         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3911         * except.c (expand_builtin_frob_return_addr): Likewise.
3912         (expand_builtin_eh_return): Likewise.
3913         * stmt.c (expand_computed_goto): Likewise.
3914         * explow.c (memory_address): Likewise.
3915         (allocate_dynamic_stack_space): Clean up predicate testing.
3916         (probe_stack_range): Convert SIZE to Pmode.
3917         * calls.c (rtx_for_function_call): Only call convert_memory_address
3918         if needed.
3919         Pass function call operand as ptr_mode, not Pmode.
3920         * expr.c (expand_assignment): Clean up calls to convert_memory
3921         address by only doing so when needed and making offsets Pmode.
3922         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3923         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3924         is in Pmode, not ptr_mode.
3925
3926 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3927
3928         * darwin-protos.h (constructor_section, destructor_section,
3929         mod_init_section, mod_term_section): Prototype.
3930         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3931         Const-ify.
3932         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3933         Likewise.
3934         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
3935         objc_section_init declaration.
3936         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3937         (objc_section_init, try_section_alias): Make static.
3938         (alias_section): Make static and hide unused function.
3939         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3940
3941 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3942
3943         * alias.c (can_address_p): Compnonents are not addressable if
3944         the containing type has alias set 0.
3945         (get_alias_set): Rework to use STRIP_NOPS.
3946         Only call front-end routine on object, type, or object with
3947         NOPs stripped, not inner values.
3948         Use language hook to call front-end routine.
3949         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3950         (expand_builtin_apply): Call set_mem_align on MEMs we make.
3951         Don't pass alignment to emit_block_move.
3952         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3953         (expand_builtin_memset): Likewise, but for clear_storage.
3954         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3955         and remove C++ specific parts.
3956         * c-common.h (c_common_get_alias_set): Add declaration.
3957         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3958         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3959         (save_fixed_argument_area): Call set_mem_align.
3960         Remove alignment in call to emit_block_move.
3961         (emit_library_call_value_1, store_one_arg): Likewise.
3962         (target_for_arg): Remove; disabled long ago.
3963         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3964         once and similar cleanups.
3965         (offset_address): Use proper introductory comment.
3966         * expr.c (emit_block_move): Use alignment from that of MEM args, not
3967         from explicit operand; all callers changed.
3968         (clear_storage): Likewise.
3969         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3970         (store_field): Remove kludge on alias set used for to_rtx.
3971         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3972         (expand_expr_unaligned): Call set_mem_attributes instead of
3973         set_mem_alias_set.
3974         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3975         * function.c (assign_stack_temp_for_type): Set MEM alignment.
3976         (expand_function_end): Track MEM attributes of trampolines.
3977         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3978         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3979         attributes from original.
3980         * langhooks.c (lang_hook_default_get_alias_set): New function.
3981         (hook_get_alias_set_0): New function.
3982         * langhooks.h (hook_get_alias_set_0): New declaration.
3983         (lang_hook_default_get_alias_set): Likewise.
3984         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3985         * reload1.c (alter_reg): Use adjust_address_nv.
3986         * rtl.c (get_mode_alignment): Moved to here.
3987         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3988         change default if unknown from 1 to BITS_PER_UNIT.
3989         * stor-layout.c (get_mode_alignment): Remove from here.
3990         * toplev.h (struct lang_hoks): Add get_alias_set field.
3991         * tree.h (lang_get_alias_set): Delete declaration.
3992         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3993         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3994         (ix86_va_arg): Likewise.
3995         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3996         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3997         * config/sparc/sparc.c (sparc_va_arg): Likewise.
3998         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3999         (expand_block_move_mem): Remove dead code.
4000
4001 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
4002
4003         * c-common.c (warn_div_by_zero): New.
4004         * c-common.h (warn_div_by_zero): New.
4005         * c-decl.c (c_decode_option): Take it on the command line.
4006         * c-typeck.c (build_binary_op): Warn about division by zero.
4007         * doc/invoke.texi: Document the new command line option, fix
4008         documentation of -Wmultichar.
4009         * testsuite/gcc.dg/divbyzero.c: New tests.
4010         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
4011
4012 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
4013
4014         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
4015
4016         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
4017         to avoid update_life_info call.
4018         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
4019         * cfgcleanup.c (bb_flags): New enum.
4020         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
4021         (notice_new_block, update_forwarder_flag): New functions.
4022         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
4023         (try_forward_edges): Likewise; update flags.
4024         (merge_blocks): Likewise.
4025         (outgoing_edges_match): Likewise.
4026         (try_crossjump_to_edge): Likewise.
4027         (try_optimize_cfg): Likewise; initialize and clear the flags;
4028         recompute life info if needed.
4029         (cleanup_cfg): No need to clear aux pointers.
4030
4031 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
4032
4033         * config/i386/i386.c (override_options): Default to minimum
4034         stack alignment when optimizing for code size.
4035         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
4036         change.
4037
4038         * config/i386/i386.c (override_options): Set upper limit of
4039         -mpreferred-stack-boundary to 12.
4040
4041 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
4042
4043         * recog.c (peephole2_optimize): Add default case to switch.
4044
4045 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4046
4047         * doc/gcc.texi (Sending Patches): Remove.
4048
4049 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
4050
4051         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
4052         fields when comparing.
4053
4054 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4055
4056         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
4057         * arm.c (HOST_INT, HOST_UINT): Likewise.
4058
4059 2001-10-22  Stan Shebs  <shebs@apple.com>
4060
4061         * config/darwin-protos.h (darwin_exception_section): Declare.
4062         (darwin_eh_frame_section): Declare.
4063
4064 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
4065
4066         * i386.md (movti_rex64): Fix mode.
4067
4068 2001-10-22  Stan Shebs  <shebs@apple.com>
4069
4070         * target.h (struct gcc_target): Add asm_out.exception_section,
4071         asm_out.eh_frame_section.
4072         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
4073         (TARGET_ASM_EH_FRAME_SECTION): New.
4074         (TARGET_INITIALIZER): Update.
4075         * output.h (default_exception_section): Declare.
4076         (default_eh_frame_section): Declare.
4077         * dwarf2out.c: Include target.h.
4078         (output_call_frame_info): Call target hook for eh frames.
4079         (default_eh_frame_section): New function.
4080         * except.c: Include target.h.
4081         (output_function_exception_table): Call target hook for exception
4082         section.
4083         * varasm.c (default_exception_section): Rename from
4084         exception_section, remove EXCEPTION_SECTION macro.
4085
4086         * config/darwin.h (darwin_eh_frame_section): New function.
4087         (EXCEPTION_SECTION): Remove.
4088         (TARGET_ASM_EXCEPTION_SECTION): Define.
4089         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
4090         (nextstep_exception_section): New function.
4091         (nextstep_eh_frame_section): New function.
4092         (TARGET_ASM_EXCEPTION_SECTION): Define.
4093         (TARGET_ASM_EH_FRAME_SECTION): Define.
4094
4095         * config/pa/som.h (EXCEPTION_SECTION): Remove.
4096         (TARGET_ASM_EXCEPTION_SECTION): Define.
4097         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
4098         (EXCEPTION_SECTION): Remove.
4099         (TARGET_ASM_EXCEPTION_SECTION): Define.
4100         * config/stormy16/stormy16.h: Remove comments referencing
4101         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
4102
4103         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
4104         TARGET_ASM_EH_FRAME_SECTION.
4105
4106 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
4107
4108         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
4109         terms.
4110
4111         * c-format.c: Fix spelling typo in comment.
4112
4113         * sched-int.h: Fix typo in GCC preamble.
4114
4115 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4116
4117         PR debug/4252
4118         * doc/invoke.texi: Remove references to -fdump-translation-unit.
4119
4120 2001-10-22  Richard Henderson  <rth@redhat.com>
4121
4122         * config/i386/i386.c (ix86_expand_clear): New.
4123         * config/i386/i386-protos.h: Declare it.
4124         * config/i386/i386.md (setcc peep2s): Use it.
4125         (movsi_xor): Unexport.
4126
4127 2001-10-22  Richard Henderson  <rth@redhat.com>
4128
4129         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
4130         free_EXPR_LIST_list for LOG_LINKS.
4131
4132 2001-10-21  Robert Lipe  <robertlipe@usa.net>
4133
4134         * config/i386/i386.c (sco_asm_named_section): Delete.
4135         (sco_asm_out_constructor): Delete.
4136         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
4137         (ASM_OUTPUT_DOUBLE_INT): Likewise.
4138         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
4139         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
4140         (EXCEPTION_SECTION): Delete EH scn renaming hack.
4141
4142 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4143
4144         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
4145         and/or fold extra calls into fewer ones.
4146         * collect2.c (dump_file): Likewise.
4147         * cppexp.c (parse_number): Likewise.
4148         * cpplex.c (_cpp_lex_direct): Likewise.
4149         * final.c (output_asm_insn, asm_fprintf): Likewise.
4150         * fix-header.c (inf_scan_ident, main): Likewise.
4151         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
4152         Likewise.
4153         * fold-const.c (real_hex_to_f): Likewise.
4154         * gen-protos.c (parse_fn_proto): Likewise.
4155         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
4156         * genrecog.c (change_state, write_action): Likewise.
4157         * gensupport.c (shift_output_template): Likewise.
4158         * local-alloc.c (requires_inout): Likewise.
4159         * mips-tfile.c (IS_ASM_IDENT): Likewise.
4160         * protoize.c (is_id_char, main): Likewise.
4161         * real.c (asctoeg): Likewise.
4162         * recog.c (asm_operand_ok): Likewise.
4163         * reload.c (find_reloads): Likewise.
4164         * scan.c (scan_identget_token): Likewise.
4165         * sched-vis.c (print_value): Likewise.
4166         * stringpool.c (ggc_alloc_string): Likewise.
4167         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
4168         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
4169         * tradcpp.c (rescan): Likewise.
4170         * tree.c (clean_symbol_name): Likewise.
4171         * varasm.c (decode_reg_name): Likewise.
4172
4173         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
4174         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
4175         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
4176         * m88k.c (output_ascii): Likewise.
4177         * m88k.h (OVERRIDE_OPTIONS): Likewise.
4178         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
4179         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
4180         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
4181
4182 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
4183
4184         * langhooks.c (lang_hook_default_do_nothing,
4185         lang_hook_default_decode_option): New defaults.
4186         * langhooks.h: Make hooks unconditional and non-NULL.
4187         * toplev.c (compile_file, toplev_main): Update.
4188         * toplev.h: Update comments.
4189         * objc/objc-act.c (lang_hooks): Update to new paradigm.
4190
4191 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4192
4193         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
4194
4195         * system.h (IN_RANGE): New macro.
4196
4197 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
4198
4199         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
4200         INTLDEPS variable, which does not include $LIBICONV.
4201         * Makefile.in: Use INTLDEPS in LIBDEPS.
4202         * configure: Regenerate.
4203
4204 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
4205
4206         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
4207         * cpplex.c (lex_percent, lex_dot): Remove.
4208         (get_effective_char, skip_block_comment, skip_line_comment,
4209         parse_identifier_slow, parse_number, parse_string, save_comment,
4210         _cpp_lex_direct): Update to do lookback freely.
4211         (IF_NEXT_IS, BACKUP): New macros.
4212         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
4213         * cppmacro.c (paste_tokens): Update.
4214
4215 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
4216
4217         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
4218
4219 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
4220
4221         * reload1.c (reload): Check CONSTANT_P before calling
4222         LEGITIMATE_PIC_OPERAND_P.
4223         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
4224         workaround of 2001-10-13.
4225
4226 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4227
4228         * i386.c (split_di): Handle splitting of DFmode.
4229
4230 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4231
4232         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
4233         (adjust_address_1, offset_address): Likewise.
4234
4235         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
4236         (output_asm_insn): Call it for each line output.
4237         Don't record an operand more than once.
4238
4239         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
4240         * main.c: Include config.h and system.h, but not ansidecl.h.
4241         * Makefile.in (main.o): Update accordingly.
4242
4243 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
4244
4245         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
4246
4247 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
4248
4249         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
4250         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
4251         Break out from ...
4252         (find_sub_basic_blocks): ... here;
4253         (find_many_sub_basic_blocks): New.
4254         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
4255
4256         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
4257
4258         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
4259
4260         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
4261
4262         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
4263         * flow.c (update_life_info): Measure time.
4264         * c-decl.c: Include timevar.h
4265         (c_expand_body): Measure time.
4266         * toplev.c (rest_of_compilation): Measure time of mode switching
4267         separately.
4268         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
4269
4270         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
4271         (lang_independent_options): Add asynchronous-unwind-tables
4272         (toplev_main): flag_asynchronous_unwind_tables implies
4273         flag_unwind_tables.
4274         * flags.h (flag_asynchronous_unwind_tables): Declare.
4275         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
4276         flag_asynchronous_unwind_tables.
4277         (output_call_frame_info): Likewise.
4278         * invoke.texi (-fasynchronous-unwind-tables): Document.
4279         * i386.c (optimization_options): Enable
4280         flag_asynchronous_unwind_tables.
4281
4282         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
4283         * i386.md (s* expanders): Destination is QImode.
4284
4285         * toplev.c (rest_of_compilation): Do not call clear_log_links.
4286         * rtl.h (clear_log_links): Kill.
4287         * flow.c (clear_log_links): Make static; accept blocks parameter;
4288         do no clear life info.
4289         (update_life_info): Call clear_log_links.
4290
4291         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
4292
4293 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
4294
4295         * cpplex.c (handle_newline, skip_escaped_newlines,
4296         get_effective_char, skip_block_comment, skip_line_comment,
4297         parse_identifier_slow, parse_number, parse_string,
4298         _cpp_lex_direct): Update to do more stepping back.
4299         (trigraph_ok): Similarly.  Rename trigraph_p.
4300         (SAVE_STATE, RESTORE_STATE): Remove.
4301         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
4302
4303         * cpplib.c (destringize): Rename destringize_and_run, and
4304         call run_directive directly.
4305         (_cpp_do__Pragma): Simplify.
4306
4307 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4308
4309         * pe.c (arm_pe_unique_section): Const-ify.
4310         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
4311         (switch_to_section): Add static prototype.
4312
4313         * output.h (drectve_section): Prototype.
4314
4315 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4316
4317         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
4318         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
4319         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
4320         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
4321         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
4322         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
4323         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
4324         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
4325         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
4326         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
4327         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
4328         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
4329         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
4330         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
4331         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4332         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4333         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4334         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4335         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4336         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
4337         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
4338         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
4339         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
4340         cris-*-none, cris-*-linux*: Update ${tmfile} list.
4341         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
4342         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
4343         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
4344         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
4345         v850-*-*): Delete superflous ${cpu_type} setting.
4346         * config/linux.h: Delete svr4.h include.
4347         (SET_ASM_OP): Delete.
4348         * config/netware.h (INT_ASM_OP): Undef before define.
4349         * config/ptx4.h: Delete elfos.h include.
4350         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
4351         * config/svr4.h: Delete elfos.h include. Update commentary.
4352         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
4353         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
4354         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
4355         config/v850/v850.h: Delete svr4.h include.
4356         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
4357         config/m68k/m68kv4.h, config/m88k/sysv4.h,
4358         config/sparc/sysv4.h: Update includes.
4359         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
4360         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
4361         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
4362         config/m88k/dguxbcs.h: Delete includes.
4363         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
4364         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
4365         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
4366         it.
4367         * config/m88k/dgux.h: Delete include.
4368         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
4369         defining it.
4370         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
4371         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
4372         * config/sh/elf.h: Update include.
4373         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
4374         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
4375
4376 2001-10-19  Catherine Moore  <clm@redhat.com>
4377
4378         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
4379         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
4380         base and count fields.
4381         (stormy16_expand_builtin_va_start):  last_reg_count changed to
4382         size_of_reg_args.  Use count + size in first comparison.
4383
4384 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4385
4386         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
4387         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
4388         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
4389         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
4390         Set alignment from type if INDIRECT_REF.
4391         (adjust_address_1, offset_address): Simplify alignment compuitation.
4392         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
4393         here; done by set_mem_attributes.
4394
4395 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4396
4397         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
4398         * arm-protos.h (rdata_section, zero_init_section, common_section):
4399         Prototype.
4400         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
4401         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
4402         traditional mode stringification.
4403         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
4404         in macros controling its use.
4405         * rtlanal.c: Include tm_p.h.
4406         * varasm.c (asm_output_aligned_bss): Mark parameter with
4407         ATTRIBUTE_UNUSED.
4408         (assemble_constant_align, assemble_start_function, assemble_align,
4409         assemble_variable, assemble_trampoline_template,
4410         output_constant_def_contents): Wrap potentially empty if-stmt body
4411         in brackets.
4412
4413 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4414
4415         * a29k-protos.h (literal_section): Prototype.
4416         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
4417         * a29k.md: Ensure function pointers are prototyped.
4418         * genattrtab.c (write_eligible_delay): Mark parameter with
4419         ATTRIBUTE_UNUSED.
4420
4421 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4422
4423         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
4424         * 1750a.c (print_operand): Fix format specifier warning.
4425         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
4426         * 1750a.md: Likewise.
4427         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
4428         * genemit.c (output_add_clobbers): Mark parameter with
4429         ATTRIBUTE_UNUSED.
4430         * genrecog.c (write_subroutine): Likewise.
4431         * integrate.c (expand_inline_function): Delete unused variable.
4432         * varasm.c (remove_from_pending_weak_list): Wrap with
4433         ASM_WEAKEN_LABEL.
4434
4435 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
4436
4437         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
4438         field is different to previous argument's neg field.
4439
4440         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
4441
4442 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4443
4444         * final.c (get_decl_from_op): New function.
4445         (output_asm_insn): Call it; write "*" when item with decl is address.
4446
4447 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
4448
4449         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
4450         about 64-bit support from the 3.0_branch version.
4451
4452 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
4453
4454         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
4455         USE_INCLUDED_LIBINTL when appropriate.
4456         * configure, config.in: Regenerate.
4457         * Makefile.in (datadir): Set to @datadir@.
4458         (intl.o): Also depend on $(CONFIG_H) and system.h.
4459
4460         * intl.c: Factor out common gettext initialization sequence.
4461         (gcc_init_libintl):  New function.
4462         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
4463         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
4464         off NLS.  Add multiple include guard.  No need to #ifdef-guard
4465         an #undef.  Prototype gcc_init_libintl here.
4466
4467         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
4468         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
4469         Use gcc_init_libintl.
4470
4471 2001-10-19  Catherine Moore  <clm@redhat.com>
4472
4473         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
4474
4475         * config/stormy16/stormy16.c (stormy16_split_move):  Make
4476         sure that REG_INC notes are present for auto_inc operands.
4477
4478 2001-10-19  Andreas Jaeger  <aj@suse.de>
4479
4480         * configure: Regenerated.
4481         * configure.in: Add x86_64 to switch statements.
4482
4483 2001-10-18  Richard Henderson  <rth@redhat.com>
4484
4485         * config/alpha/alpha.md (sibcall_osf_1): Load destination
4486         address into $27 explicitly.
4487         (sibcall_value_osf_1): Likewise.
4488
4489 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4490
4491         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
4492         (offset_address): New function.
4493         (free_emit_status): Free regno_decl.
4494         (init_emit): Pass proper number of elements to xcalloc.
4495         Allocate regno_decl.
4496         (mark_emit_status): Mark regno_decl values.
4497         * expr.c (highest_pow2_factor): New function.
4498         (expand_assigment): Use it and offset_address.
4499         Properly handle ptr_mode vs. Pmode in offset calculation.
4500         (store_constructor, expand_expr_unaligned): Likewise.
4501         (expand_expr, case COMPONENT_EXPR): Likewise.
4502         * expr.h (offset_address): New decl.
4503         * function.h (struct emit_status): Add regno_decl.
4504         (REGNO_DECL): New macro.
4505         * final.c (output_asm_name): Move in file and don't conditionalize
4506         on flag_print_asm_name.
4507         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
4508         Output names of operands, if known.
4509         * function.c (assign_parms): Set REGNO_DECL.
4510         * integrate.c (integrate_decl_tree): Likewise.
4511         * stmt.c (expand_decl): Likewise.
4512         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
4513
4514 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
4515
4516         * attribs.c (handle_noinline_attribute): New function.
4517         (handle_used_attribute): Likewise.
4518         (c_common_attribute_table): Added noinline and used.
4519         * doc/extend.texi (Function Attributes): Document them.
4520         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
4521         Warn when merging inline with attribute noinline.
4522         (start_decl, start_function): Warn if inline and attribute
4523         noinline appear in the same declaration.
4524
4525 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4526
4527         * config.gcc: Update c4x and i370 for C front end-specific
4528         dependencies.
4529         * config/c4x/c4x-c.c: New.
4530         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
4531         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4532         New declarations.
4533         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
4534         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4535         Make extern.
4536         (c4x_init_pragma): Remove.
4537         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
4538         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
4539         c4x_pr_ignored): Move to c4x-c.c.
4540         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
4541         * config/c4x/t-c4x: Update.
4542         * config/i370/i370-c.c: New.
4543         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
4544         (i370_pr_map): Move to i370-c.c.
4545         * config/i370/t-i370: New.
4546
4547         * doc/tm.texi: Update.
4548
4549 2001-10-17  Stan Shebs  <shebs@apple.com>
4550
4551         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
4552         typo fixes throughout.
4553         (machopic_output_stub): Remove some dead code.
4554
4555 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
4556
4557         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
4558         leak.
4559
4560 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4561
4562         * Makefile.in (print-rtl.o): Depend on TREE_H.
4563         * alias.c (get_alias_set): Make two passes over objects to first
4564         see if inner object is access via restricted pointer.
4565         Defer allocating alias set for restricted pointer until here.
4566         Call find_placeholder with second arg nonzero.
4567         Minor cleanups.
4568         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
4569         set for restricted pointer types.
4570         * emit-rtl.c (set_mem_attributes): Set more attributes.
4571         (set_mem_align, change_address, adjust_address_1): New functions.
4572         (change_address_1): Now static.
4573         (adjust_address, adjust_address_nv): Deleted.
4574         (replace_equiv_address): Call change_address_1.
4575         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
4576         (find_placeholder): Get starting point from PLIST arg.
4577         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
4578         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
4579         (adjust_address, adjust_address_nv): New macros.
4580         * print-rtl.c (tree.h): New include.
4581         (print_rtx, case MEM): Print all memory attributes.
4582
4583 2001-10-17  Richard Henderson  <rth@redhat.com>
4584
4585         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
4586
4587 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
4588
4589         * c-tree.texi: Eliminate duplicated word.
4590         * cpp.texi: Likewise.
4591         * install.texi: Likewise.
4592         * invoke.texi: Likewise.
4593         * tm.texi: Likewise.
4594
4595 2001-10-17  Michael Collison  <collison@isisinc.net>
4596
4597         * dsp16xx.c: Fix comment formatting to match GNU standards.
4598         (dsp16xx_output_function_prologue): Change type of 'size'
4599         parameter from 'int' to HOST_WIDE_INT.
4600         (dsp16xx_output_function_epilogue): Change type of 'size'
4601         parameter from 'int' to HOST_WIDE_INT.
4602
4603 2001-10-16  Richard Henderson  <rth@redhat.com>
4604
4605         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
4606         * configure, config.in: Rebuild.
4607
4608         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
4609         (ix86_output_addr_diff_elt): New.
4610         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
4611         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4612         (JUMP_TABLES_IN_TEXT_SECTION): New.
4613         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
4614         * config/i386/i386-protos.h: Update.
4615
4616         * config/i386/386bsd.h, config/i386/beos-elf.h,
4617         config/i386/freebsd-aout.h, config/i386/freebsd.h,
4618         config/i386/i386-interix.h, config/i386/i386elf.h,
4619         config/i386/linux.h, config/i386/netbsd-elf.h,
4620         config/i386/netbsd.h, config/i386/openbsd.h,
4621         config/i386/ptx4-i.h, config/i386/rtemself.h,
4622         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
4623         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
4624
4625 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
4626
4627         * stmt.c (expand_asm_operands): Update commentary.
4628
4629 2001-10-16  Stan Shebs  <shebs@apple.com>
4630
4631         * config/darwin.h (GCC_NAME): Remove, no longer used.
4632         (NO_MATH_LIBRARY): Ditto.
4633         (MATH_LIBRARY): Define to emptiness.
4634         (DWARF2_DEBUGGING_INFO): Define.
4635         (PREFERRED_DEBUGGING_TYPE): Define.
4636         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
4637         (EXCEPTION_SECTION): Define.
4638         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4639         * config/darwin.c (darwin_encode_section_info): Handle case of
4640         DECL_INITIAL being error_mark_node.
4641
4642 2001-10-16  Richard Henderson  <rth@redhat.com>
4643
4644         * alpha.c (current_file_function_operand): Don't fail for profiling.
4645         (direct_call_operand): New.
4646         * alpha-protos.h: Declare it.
4647         * alpha.h (EXTRA_CONSTRAINT): Use it.
4648         (PREDICATE_CODES): Add it.
4649         (ASM_OUTPUT_MI_THUNK): Remove.
4650         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
4651         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
4652
4653 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
4654
4655         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
4656         (JUMP_TABLES_IN_TEXT_SECTION): Define.
4657
4658 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
4659
4660         * cfg.c (free_edge): Break out from ....
4661         (remove_edge): ... here.
4662         (clear_edges): Use free_edge.
4663
4664         * att.h (ASM_QUAD): Add comment.
4665         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
4666
4667 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
4668
4669         * i386.c (split_ti): New function.
4670         (ix86_split_to_parts): Support TImodes.
4671         * i386.h (VALID_INT_MODE_P): Add TImode.
4672         * i386.md (movdi splitter): Fix.
4673         (movti): Support 64bit integer registers.
4674         (movti_rex64): New function and splitter.
4675
4676         * i386.c (*_cost): Add movsx/movzx cost.
4677         * i386.h (struct processor_costs): Add movsx/movzx fields.
4678         (RTX_COSTS): Handle zero/sign extend + avoid believing that
4679         64bit operations require split on 64bit machine.
4680         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
4681
4682         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
4683         (ix86_expand_move): Avoid pushes of memory if size does not match;
4684         move long constants to register.
4685         (x86_initialize_trampoline): Fix mode.
4686         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
4687         Use ASM_QUAD on 64bit.
4688         * i386.md (test pattern): Disallow impossible constants.
4689         (tablejump PIC expander): Fix emitting of sum.
4690         (movdicc_rex64): Rename to movdicc.
4691         * linux64.h (LINK_SPEC): Add missing '%'.
4692
4693 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
4694
4695         * tree-inline.c (inlinable_function_p): Leave it up to the
4696         front-end to turn -finline-functions into DECL_INLINE set for all
4697         functions.
4698
4699 2001-10-16  Stan Shebs  <shebs@apple.com>
4700
4701         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
4702
4703 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
4704
4705         * recog.c: Formatting and comment typo fixes.
4706
4707         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
4708         version in single tree build.
4709         * configure: Regenerate.
4710
4711 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
4712
4713         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
4714         MODE arguments to gen_rtx and compare operand with const0_rtx.
4715
4716 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4717
4718         * system.h: Poison old unused target macros.
4719         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
4720         * config/stormy16/stormy16.c: Update references to obsolete macros.
4721         * config/stormy16/stormy16.h: Similarly.
4722         * config/stormy16/stormy16.md: Similarly.
4723         * config/cris/cris.h: Similarly.
4724
4725 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4726
4727         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
4728         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
4729         cpp_register_pragma): Update accordingly.
4730
4731 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4732
4733         * c-pragma.h (cpp_register_pragma_space): Remove.
4734         * cpplib.h (cpp_register_pragma_space): Remove.
4735         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
4736         (cpp_register_pragma_space): Remove.
4737         (cpp_register_pragma): Simplify using lookup_pragma_entry,
4738         add sanity checks.
4739         (do_pragma): Similarly.
4740         (_cpp_init_internal_pragmas): Don't register namespaces.
4741
4742         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
4743         Don't register namespaces.
4744         * cp/lex.c (init_cp_pragma): Similarly.
4745         * doc/tm.texi: Update.
4746
4747 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4748
4749         PR c/4157
4750         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
4751
4752 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
4753
4754         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
4755         add scheduling support.
4756         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
4757         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
4758         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
4759
4760
4761 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
4762
4763         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
4764         missing CONSTANT_P test in core GCC.
4765
4766 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4767
4768         * cppmain.c (struct printer): New member source.
4769         (scan_translation_unit): Fix spacing at start of lines.
4770         (cb_line_change): Update.
4771
4772         * gcc.dg/cpp/spacing2.c: New test.
4773
4774 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
4775
4776         * config/cris/arit.c: Use __builtin_labs, not abs.
4777
4778         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
4779
4780         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
4781         misplaced sprintf and fprintf argument.
4782
4783 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
4784
4785         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
4786         * configure.in, Makefile.in: Take out obsolete check-po logic.
4787         * configure, config.in: Regenerate.
4788
4789 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
4790
4791         * objc/objc-act.c (finish_objc): Correct precondition for emitting
4792         symtab declarations.
4793
4794 2001-10-12  Stan Shebs  <shebs@apple.com>
4795
4796         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
4797         declarations of arguments and local variables.
4798
4799 2001-10-12  Christopher Faylor  <cgf@redhat.com>
4800
4801         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
4802         ENDFILE_SPEC definition.
4803
4804 2001-10-12  Kazu Hirata  <kazu@hxi.com>
4805
4806         * gthr-dce.h: Fix comment formatting.
4807         * gthr-posix.h: Likewise.
4808         * gthr-single.h: Likewise.
4809         * gthr-solaris.h: Likewise.
4810         * gthr-vxworks.h: Likewise.
4811         * gthr-win32.h: Likewise.
4812
4813 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
4814
4815         * final.c (output_asm_insn): Make sure assembly dialects are
4816         terminated, not nested.  Output `|' and `}' characters if they
4817         don't appear inside assembly dialect selection.
4818         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
4819         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
4820         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
4821         strsetsi_rex_1): Add {} braces.
4822
4823 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
4824
4825         * toplev.c (compile_file): Ignore return value from yyparse.
4826         Always pop any nested binding levels after yyparse returns.
4827
4828 2001-10-11  Richard Henderson  <rth@redhat.com>
4829
4830         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
4831
4832 2001-10-11  Richard Henderson  <rth@redhat.com>
4833
4834         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
4835         fall back to add_AT_long_long for large CONST_INT.
4836
4837 2001-10-11  Richard Henderson  <rth@redhat.com>
4838
4839         * config/i386/i386.md (setcc splitters): Add four splitters to
4840         simplify compound compares that simplify_comparison can't handle.
4841
4842 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
4843
4844         * cpplex.c (digraph_spellings, token_spellings): Make static.
4845
4846 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4847
4848         * unroll.c (loop_iterations): Fixup last patch.
4849
4850 2001-10-11  Richard Henderson  <rth@redhat.com>
4851
4852         * rtl.h (REG_VTABLE_REF): New.
4853         * rtl.c (reg_note_name): Add it.
4854         * combine.c (distribute_notes): Handle it.
4855         * final.c (final_scan_insn): Handle it.
4856         * tree.def (VTABLE_REF): New.
4857         * expr.c (expand_expr): Handle it.
4858         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
4859         * output.h: Declare them.
4860
4861 2001-10-11  Richard Henderson  <rth@redhat.com>
4862
4863         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
4864         for a DECL_INITIAL.
4865
4866 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
4867
4868         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4869         available in 64-bit mode.
4870
4871 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4872
4873         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4874         cris-*-linux* cases.
4875         * config/cris/cris-protos.h: New file.
4876         * config/cris/cris.c: New file.
4877         * config/cris/cris.h: New file.
4878         * config/cris/cris.md: New file.
4879         * config/cris/linux.h: New file.
4880         * config/cris/aout.h: New file.
4881         * config/cris/arit.c: New file.
4882         * config/cris/cris_abi_symbol.c: New file.
4883         * config/cris/mulsi3.asm: New file.
4884         * config/cris/t-aout: New file.
4885         * config/cris/t-cris: New file.
4886         * config/cris/t-elfmulti: New file.
4887         * config/cris/t-linux: New file.
4888         * doc/invoke.texi: Add CRIS options.
4889         * doc/install.texi (Specific): Add blurb for CRIS.
4890
4891 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
4892
4893         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
4894         before using it.
4895         * config/float/i32.h: Likewise.
4896         * config/float-i386.h: Likewise.
4897         * config/float-i64.h: Likewise.
4898         * config/float-m68k.h: Likewise.
4899         * config/float-sh.h: Likewise.
4900         * config/float-sparc.h: Likewise.
4901
4902 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4903
4904         * doc/contrib.texi: Add note about CRIS port to my entry.
4905
4906 2001-10-11  Kazu Hirata  <kazu@hxi.com>
4907
4908         * basic-block.h: Fix formatting.
4909         * bitmap.h: Likewise.
4910         * cpplib.h: Likewise.
4911         * c-tree.h: Likewise.
4912         * diagnostic.h: Likewise.
4913         * flags.h: Likewise.
4914         * ggc.h: Likewise.
4915         * longlong.h: Likewise.
4916         * real.h: Likewise.
4917         * reload.h: Likewise.
4918         * rtl.h: Likewise.
4919         * tree.h: Likewise.
4920
4921 2001-10-10  Richard Henderson  <rth@redhat.com>
4922
4923         * c-parse.in (asm_operand): Allow named operands.
4924         * genconfig.c (max_recog_operands): Set to 29.
4925         * local-alloc.c (requires_inout): Skip multiple digits.
4926         * recog.c (asm_operand_ok): Likewise.
4927         (preprocess_constraints): Use strtoul for matching constraints.
4928         (constrain_operands): Likewise.
4929         * regmove.c (find_matches): Likewise.
4930         * reload.c (find_reloads): Likewise.
4931         * stmt.c (parse_output_constraint): Don't reject in-out
4932         constraint on operands > 9.  Reject '[' in constraint.
4933         (expand_asm_operands): Handle named operands.  Use strtoul
4934         for matching constraints.
4935         (check_operand_nalternatives): Split out from expand_asm_operands.
4936         (check_unique_operand_names): New.
4937         (resolve_operand_names, resolve_operand_name_1): New.
4938
4939         * doc/extend.texi (Extended Asm): Document named operands.
4940         * doc/md.texi (Simple Constraints): Document matching constraints
4941         on operands > 9.
4942
4943 2001-10-10  Richard Henderson  <rth@redhat.com>
4944
4945         * combine.c (try_combine): Handle a SEQUENCE of one insn.
4946
4947         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
4948         (jcc splitters): Add two splitters to simplify compound compares
4949         that simplify_comparison can't handle.
4950
4951 2001-10-10  Richard Henderson  <rth@redhat.com>
4952
4953         * langhooks.c: Include langhooks.h.
4954         * Makefile.in (langhooks.o): Depend on it.
4955
4956 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
4957
4958         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4959         should not be considered as a no-op.
4960         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4961
4962 2001-10-10  Stan Shebs  <shebs@apple.com>
4963
4964         * alias.c: Remove uses of "register" specifier in declarations
4965         of arguments and local variables.
4966         * c-common.c: Ditto.
4967         * c-convert.c: Ditto.
4968         * c-decl.c: Ditto.
4969         * c-format.c: Ditto.
4970         * c-semantics.c: Ditto.
4971         * c-typeck.c: Ditto.
4972         * caller-save.c: Ditto.
4973         * calls.c: Ditto.
4974         * cfg.c: Ditto.
4975         * cfgbuild.c: Ditto.
4976         * cfgrtl.c: Ditto.
4977         * collect2.c: Ditto.
4978         * combine.c: Ditto.
4979         * convert.c: Ditto.
4980         * cppexp.c: Ditto.
4981         * cppfiles.c: Ditto.
4982         * cse.c: Ditto.
4983         * dbxout.c: Ditto.
4984         * defaults.h: Ditto.
4985         * df.c: Ditto.
4986         * dwarf2out.c: Ditto.
4987         * dwarfout.c: Ditto.
4988         * emit-rtl.c: Ditto.
4989         * explow.c: Ditto.
4990         * expmed.c: Ditto.
4991         * expr.c: Ditto.
4992         * final.c: Ditto.
4993         * fix-header.c: Ditto.
4994         * floatlib.c: Ditto.
4995         * flow.c: Ditto.
4996         * fold-const.c: Ditto.
4997         * function.c: Ditto.
4998         * gcc.c: Ditto.
4999         * gcse.c: Ditto.
5000         * gen-protos.c: Ditto.
5001         * genattrtab.c: Ditto.
5002         * gencheck.c: Ditto.
5003         * genconfig.c: Ditto.
5004         * genemit.c: Ditto.
5005         * genextract.c: Ditto.
5006         * genflags.c: Ditto.
5007         * gengenrtl.c: Ditto.
5008         * genoutput.c: Ditto.
5009         * genpeep.c: Ditto.
5010         * genrecog.c: Ditto.
5011         * gensupport.c: Ditto.
5012         * global.c: Ditto.
5013         * gmon.c: Ditto.
5014         * graph.c: Ditto.
5015         * haifa-sched.c: Ditto.
5016         * hard-reg-set.h: Ditto.
5017         * hash.c: Ditto.
5018         * integrate.c: Ditto.
5019         * jump.c: Ditto.
5020         * lists.c: Ditto.
5021         * local-alloc.c: Ditto.
5022         * loop.c: Ditto.
5023         * mips-tdump.c: Ditto.
5024         * mips-tfile.c: Ditto.
5025         * optabs.c: Ditto.
5026         * prefix.c: Ditto.
5027         * print-rtl.c: Ditto.
5028         * read-rtl.c: Ditto.
5029         * real.c: Ditto.
5030         * recog.c: Ditto.
5031         * reg-stack.c: Ditto.
5032         * regclass.c: Ditto.
5033         * regmove.c: Ditto.
5034         * reload.c: Ditto.
5035         * reload1.c: Ditto.
5036         * reorg.c: Ditto.
5037         * resource.c: Ditto.
5038         * rtl.c: Ditto.
5039         * rtlanal.c: Ditto.
5040         * scan.c: Ditto.
5041         * sched-deps.c: Ditto.
5042         * sched-rgn.c: Ditto.
5043         * sdbout.c: Ditto.
5044         * simplify-rtx.c: Ditto.
5045         * stmt.c: Ditto.
5046         * stor-layout.c: Ditto.
5047         * toplev.c: Ditto.
5048         * tradcif.y: Ditto.
5049         * tradcpp.c: Ditto.
5050         * tree.c: Ditto.
5051         * unroll.c: Ditto.
5052         * varasm.c: Ditto.
5053         * xcoffout.c: Ditto.
5054
5055 2001-10-10  Richard Henderson  <rth@redhat.com>
5056
5057         * rtl.h (can_reverse_comparison_p): Remove.
5058
5059 2001-10-10  Christopher Faylor <cgf@redhat.com>
5060
5061         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
5062         used.
5063
5064 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
5065
5066         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
5067         (Thanks to Chris Faylor for suggesting macro name).
5068         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
5069         WIN32 defines.
5070         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
5071         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
5072         (MATH_LIBRARY): Undef before definition.
5073         (OUTPUT_QUOTED_STRING): Likewise.
5074         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
5075
5076 2001-10-10  Richard Henderson  <rth@redhat.com>
5077
5078         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
5079         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
5080         a tristate comparison value.
5081         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
5082
5083 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5084
5085         PR c++/4512
5086         * unroll.c (loop_iterations): Ignore insns generated by loop
5087         unrolling.
5088
5089         * config.gcc (mips*-*-gnu*): Delete support.
5090         * config/mips/gnu.h: Remove.
5091
5092 2001-10-10  Kazu Hirata  <kazu@hxi.com>
5093
5094         * calls.c: Fix formatting.
5095         * c-decl.c: Likewise.
5096         * cfgcleanup.c: Likewise.
5097         * combine.c: Likewise.
5098         * cppfiles.c: Likewise.
5099         * cpplib.c: Likewise.
5100         * cppmacro.c: Likewise.
5101         * crtstuff.c: Likewise.
5102         * cse.c: Likewise.
5103         * dwarf2out.c: Likewise.
5104         * expmed.c: Likewise.
5105         * expr.c: Likewise.
5106         * fold-const.c: Likewise.
5107         * function.c: Likewise.
5108         * gcse.c: Likewise.
5109         * genattrtab.c: Likewise.
5110         * ggc-page.c: Likewise.
5111         * integrate.c: Likewise.
5112         * libgcc2.c: Likewise.
5113         * loop.c: Likewise.
5114         * optabs.c: Likewise.
5115         * profile.c: Likewise.
5116         * protoize.c: Likewise.
5117         * real.c: Likewise.
5118         * recog.c: Likewise.
5119         * reload1.c: Likewise.
5120         * reload.c: Likewise.
5121         * reorg.c: Likewise.
5122         * resource.c: Likewise.
5123         * sched-rgn.c: Likewise.
5124         * sdbout.c: Likewise.
5125         * stmt.c: Likewise.
5126         * toplev.c: Likewise.
5127         * varasm.c: Likewise.
5128
5129 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
5130
5131         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
5132         * Makefile.in (langhooks.o): Add dependencies.
5133
5134 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
5135
5136         * rs6000.c (rs6000_emit_load_toc_table): Don't
5137         strdup the toc label.
5138         (create_TOC_reference): Likewise.
5139
5140 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
5141
5142         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
5143         version default.
5144
5145 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
5146
5147         * config/i386/i386.c (ix86_attribute_table): Correct
5148         min_len, max_len fields for dllimport, dllexport and shared.
5149
5150 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5151
5152         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
5153         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
5154         Consistently use "nonzero" instead of "non-zero".
5155
5156 2001-10-09  Kazu Hirata  <kazu@hxi.com>
5157
5158         * acconfig.h: Fix comment formatting.
5159         * c-dump.h: Likewise.
5160         * c-tree.h: Likewise.
5161         * conditions.h: Likewise.
5162         * expr.h: Likewise.
5163         * function.h: Likewise.
5164         * gthr.h: Likewise.
5165         * hwint.h: Likewise.
5166         * integrate.h: Likewise.
5167         * intl.h: Likewise.
5168         * loop.h: Likewise.
5169         * optabs.h: Likewise.
5170
5171 2001-10-09  Kazu Hirata  <kazu@hxi.com>
5172
5173         * c-common.h: Fix comment formatting.
5174         * c-dump.c: Likewise.
5175         * cfg.c: Likewise.
5176         * diagnostic.h: Likewise.
5177         * except.c: Likewise.
5178         * gcc.h: Likewise.
5179         * gcov-io.h: Likewise.
5180         * genattrtab.c: Likewise.
5181         * output.h: Likewise.
5182         * predict.h: Likewise.
5183         * reload1.c: Likewise.
5184         * reload.h: Likewise.
5185         * resource.h: Likewise.
5186         * scan.h: Likewise.
5187         * system.h: Likewise.
5188         * tree.h: Likewise.
5189         * tree-inline.c: Likewise.
5190         * tsystem.h: Likewise.
5191         * varasm.c: Likewise.
5192         * xcoffout.h: Likewise.
5193
5194 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5195
5196         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
5197
5198 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5199
5200         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
5201         config/i386/i386elf.h, config/i386/netbsd-elf.h,
5202         config/i386/netware.h, config/mcore/gfloat.h,
5203         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
5204         config/netware.h, gccbug.in: Update FSF address.
5205
5206 2001-10-09  Kazu Hirata  <kazu@hxi.com>
5207
5208         * c-common.c: Fix comment typos.
5209         * cfgrtl.c: Likewise.
5210         * collect2.c: Likewise.
5211         * cpplex.c: Likewise.
5212         * doloop.c: Likewise.
5213         * dwarf2out.c: Likewise.
5214         * dwarfout.c: Likewise.
5215         * expr.c: Likewise.
5216         * fold-const.c: Likewise.
5217         * gcc.c: Likewise.
5218         * gcov.c: Likewise.
5219         * gcse.c: Likewise.
5220         * global.c: Likewise.
5221         * ifcvt.c: Likewise.
5222         * loop.c: Likewise.
5223         * optabs.c: Likewise.
5224         * protoize.c: Likewise.
5225         * regclass.c: Likewise.
5226         * reorg.c: Likewise.
5227         * rtl.h: Likewise.
5228         * stmt.c: Likewise.
5229         * tree.h: Likewise.
5230         * doc/cpp.texi: Likewise.
5231         * doc/c-tree.texi: Likewise.
5232         * doc/extend.texi: Likewise.
5233         * doc/invoke.texi: Likewise.
5234         * doc/objc.texi: Likewise.
5235         * doc/tm.texi: Likewise.
5236
5237 2001-10-08  Richard Henderson  <rth@redhat.com>
5238
5239         * varasm.c (set_named_section_flags): Initialize "declared".
5240
5241 2001-10-08  Robert Lipe  <robertlipe@usa.net>
5242
5243         * varasm.c (struct in_named_entry): Add declared.
5244         (named_section_first_declaration): New function.
5245         (default_elf_asm_named_section): Use it.
5246         * output.h (named_section_first_declaration): New.
5247
5248 2001-10-08  Richard Henderson  <rth@redhat.com>
5249
5250         * i386.md (movsi_xor): Export.
5251         (setcc peep2): Use it when available; add an alternative to
5252         match zero_extendhisi2_and.
5253
5254 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5255
5256         * romp-protos.h (romp_initialize_trampoline): New function.
5257         * romp.c (romp_initialize_trampoline): Likewise.
5258         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
5259         romp_initialize_trampoline.
5260
5261 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5262
5263         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
5264         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5265         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5266         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5267
5268 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5269
5270         * unroll.c (loop_iterations): Extend check for multiple back edges.
5271
5272 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
5273
5274         * langhooks.h: New file.
5275         * Makefile.in (OBJS): Added langhooks.o.
5276         (c-lang.o): Depend on langhooks.h.
5277         (c-common.o): Don't depend on tree-inline.h.
5278         (tree-inline.o): Depend on toplev.h.
5279         (langhooks.o): New rule.
5280         * c-common.c: Don't include tree-inline.h.
5281         (c_mark_lang_decl): Mark argument c as unused.
5282         (c_common_lang_init): Don't initialize hooks here.
5283         * c-lang.c: Include langhooks.h, then override some macros.
5284         (lang_hooks): Initialize with macros in langhooks.h.
5285         (c_init): Don't initialize hooks here.
5286         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
5287         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
5288         * tree-inline.c: Include toplev.h.  Don't define hook variables.
5289         * tree-inline.h: Don't define hook types nor declare hook
5290         variables.  Move macros to...
5291         * langhooks.c: ... new file, as functions.  Adjust all callers.
5292
5293 2001-10-08  Jeffrey A Law  <law@cygnus.com>
5294
5295         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
5296         purge_mem_unchanging_flag on all instructions, not just on those
5297         before NOTE_INSN_FUNCTION_BEG.
5298
5299 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5300
5301         * cppmacro.c (_cpp_create_definition): Leave comments off.
5302
5303         * doc/cpp.texi: Update.
5304
5305 2001-10-08  DJ Delorie  <dj@redhat.com>
5306
5307         * c-decl.c (grokfield): Make sure the only unnamed fields
5308         we're allowing are either structs or unions.
5309         * doc/extend.texi: Add documentation for the unnamed field
5310         extension.
5311
5312 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
5313
5314         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
5315         * configure.in: Use it.
5316         * configure: Regenerated.
5317         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
5318         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
5319
5320 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5321
5322         * cppfiles.c (open_file): Don't mark zero-length files
5323         never-reread here.  Don't output diagnostics here either.
5324         (stack_include_file): Mark them never-reread here.
5325         (_cpp_read_file): Update.
5326
5327 2001-10-08  Richard Henderson  <rth@redhat.com>
5328
5329         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
5330
5331 2001-10-08  Richard Henderson  <rth@redhat.com>
5332
5333         * expr.c (store_expr): When converting a CONST_INT for storage
5334         in a SUBREG, convert it to both SUBREG modes before stripping
5335         the SUBREG.
5336
5337 2001-10-08  Richard Henderson  <rth@redhat.com>
5338
5339         * varasm.c (restore_varasm_status): New.
5340         * function.h: Declare it.
5341         * function.c (pop_function_context_from): Call it.
5342
5343 2001-10-08  Richard Henderson  <rth@redhat.com>
5344
5345         * c-common.h (struct c_lang_decl): Add declared_inline.
5346         * c-tree.h (DECL_DECLARED_INLINE_P): New.
5347         * c-lang.c (c_disregard_inline_limits): Use it.
5348         * c-decl.c (duplicate_decls): Likewise.
5349         (pushdecl, redeclaration_error_message): Likewise.
5350         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
5351         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
5352         Set DECL_INLINE if -finline-functions.
5353         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
5354
5355 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5356
5357         * cppmacro.c (funlike_invocation_p): Move some logic to caller
5358         in enter_macro_context.  Create a padding token in its own context
5359         if necessary when the search for '(' fails.
5360         (enter_macro_context): Update.
5361
5362 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5363
5364         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
5365         genmultilib, toplev.c: Fix spelling errors of "separate" as
5366         "seperate", and corresponding spelling errors of related words.
5367
5368 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5369
5370         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
5371         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
5372         Likewise.
5373         * c-dump.c (dump_option_value_info): Likewise.
5374         * c-format.c (format_length_info, format_char_info,
5375         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
5376         * collect2.c (names): Likewise.
5377         * cppdefault.h (default_include): Likewise.
5378         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
5379         * flow.c (life_analysis): Likewise.
5380         * gcc.c (dir_separator_str, modify_target, option_map,
5381         target_option_translations, spec_list_1, extra_specs_1,
5382         init_spec): Likewise.
5383         * gcov.c (gcov_version_string): Likewise.
5384         * genattr.c (write_units): Likewise.
5385         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
5386         * gengenrtl.c (rtx_definition, defs): Likewise.
5387         * genrecog.c (pred_table): Likewise.
5388         * global.c (global_alloc): Likewise.
5389         * lcm.c (optimize_mode_switching): Likewise.
5390         * local-alloc.c (find_free_reg): Likewise.
5391         * params.h (param_info): Likewise.
5392         * predict.c (predictor_info): Likewise.
5393         * protoize.c (unexpansion_struct): Likewise.
5394         * real.c (bmask): Likewise.
5395         * recog.h (insn_operand_data, insn_data): Likewise.
5396         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
5397         * stmt.c (expand_nl_goto_receiver): Likewise.
5398         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
5399         target_switches, target_options): Likewise.
5400         * tradcif.y (token, tokentab2, yylex): Likewise.
5401         * tree.h (attribute_spec): Likewise.
5402
5403         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
5404         Likewise.
5405         * arc.c (arc_output_function_epilogue): Likewise.
5406         * arm.c (processors, all_cores, all_architectures,
5407         arm_override_options, isr_attribute_arg, isr_attribute_args,
5408         arm_isr_value): Likewise.
5409         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
5410         Likewise.
5411         * c4x.c (c4x_int_reglist): Likewise.
5412         * d30v.c (override_options): Likewise.
5413         * h8300.c (shift_insn): Likewise.
5414         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
5415         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
5416         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
5417         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
5418         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
5419         * i386.h (processor_costs, ix86_cost): Likewise.
5420         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
5421         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
5422         * m68k.c (codes_68881, codes_FPA): Likewise.
5423         * m88k.c (mode_from_align, max_from_align, all_from_align,
5424         best_from_align, m_options): Likewise.
5425         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
5426         * mcore.c (mode_from_align): Likewise.
5427         * mips/elf64.h (UNIQUE_SECTION): Likewise.
5428         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
5429         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
5430         * mips.h (mips_regno_to_class): Likewise.
5431         * ns32k.c (scales): Likewise.
5432         * pa.c (import_string, magic_milli): Likewise.
5433         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
5434         * sparc.c (leaf_reg_remap, sparc_override_options,
5435         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
5436         Likewise.
5437         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
5438
5439 2001-10-07  Dale Johannesen  <dalej@apple.com>
5440
5441         * reload1.c (reload_reg_free_p): Teach register interference
5442         checking that multiple output reloads are emitted in
5443         reverse order.
5444         reload1.c (reload_reg_reaches_end_p):  Ditto.
5445         reload1.c (reloads_conflict):  Ditto.
5446
5447 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5448
5449         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
5450         NULL_TREE inside @code.
5451
5452 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5453
5454         * doc/gcc.texi: Document consistent style of "32-bit",
5455         "Objective-C", and "@code{NULL}".
5456
5457 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
5458
5459         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
5460         (cpp_token_len, cpp_spell_token, cpp_output_token,
5461         _cpp_equiv_tokens): Handle it.
5462         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
5463         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
5464         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
5465         error messages.
5466
5467 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5468
5469         * gcc.c (default_compilers): Remove .ada.
5470
5471 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5472
5473         * doc/cppinternals.texi: Update.
5474
5475 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
5476
5477         * gcc.c (main): Set this_file_error if the appropriate
5478         compiler for a language has not been installed.
5479
5480 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
5481
5482         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
5483
5484 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
5485
5486         * gccbug.in (CATEGORIES): Add ada.
5487
5488 2001-10-05  Catherine Moore  <clm@redhat.com>
5489
5490         * config/stormy16/stormy-abi:  Document abi changes.
5491         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
5492         (ICALL_REGS): New register class.
5493         (NUM_ARGUMENT_REGISTERS): Now 6.
5494         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
5495         in registers.
5496         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
5497         * config/stormy16.md (call_internal, call_value_internal,
5498         indirect_jump): Use new 'z' constraint.
5499
5500 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5501
5502         * doc/cppinternals.texi: Update.
5503
5504 2001-10-05  Richard Henderson  <rth@redhat.com>
5505
5506         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
5507         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
5508         the gas section-name-as-label feature.
5509
5510 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5511
5512         * doc/cppinternals.texi: Update.
5513
5514 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5515
5516         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
5517         to ensure valid SImode constants.
5518
5519 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
5520
5521         * Makefile.in (c-decl.o): Depend on tree-inline.h.
5522         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
5523         * c-decl.c: Include tree-inline.h.
5524         (c_expand_body): Call optimize_inline_calls. Determine whether
5525         a function is inlinable upfront, and only clear
5526         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
5527         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
5528         (c_disregard_inline_limits): New function.
5529         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
5530         (c_post_options): Enable tree inlining if inlining is enabled.
5531         Don't inline trees when instrumenting functions.
5532         (c_init): Initialize lang_disregard_inline_limits and
5533         lang_cannot_inline_tree_fn.
5534         * tree-inline.c (initialize_inlined_parameters): Handle calls
5535         with fewer arguments than declared parameters, and fewer
5536         parameters than passed arguments.  Don't assume value is a
5537         DECL.
5538         (declare_return_variable): Convert return value back to the
5539         original type, if it was promoted.
5540         (tree_inlinable_function_p): New function.
5541         (inlinable_function_p): Don't look at DECL_INLINE if we're
5542         inlining all functions.  Make it work with a NULL id.
5543         Re-check DECL_UNINLINABLE after language-specific checks.
5544         * tree-inline.h (tree_inlinable_function_p): Declare it.
5545         * integrate.c (save_for_inline): Don't bother to prepare argvec
5546         when not inlining.
5547         * cse.c (check_for_label_ref): Don't check deleted labels.
5548
5549         * Makefile.in (tree-inline.o): Depend on newly-included headers.
5550         * tree-inline.c: Include headers needed for the functions moved in.
5551         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
5552         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
5553         (copy_body, initialize_inlined_parameters): Likewise.
5554         (declare_return_variable, inlinable_function_p): Likewise.
5555         (expand_call_inline, expand_calls_inline): Likewise.
5556         (optimize_inline_calls, clone_body): Likewise.
5557         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
5558         (copy_tree_r, remap_save_expr): Likewise.
5559
5560 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
5561
5562         * Makefile.in (OBJS): Added tree-inline.o.
5563         (c-common.o): Depend on tree-inline.h.
5564         (tree-inline.o): New target.
5565         * c-common.c: Include tree-inline.h.
5566         (c_mark_lang_decl): Don't mark saved_tree.
5567         (c_common_lang_init): Set lang_anon_aggr_type_p.
5568         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
5569         (struct c_lang_decl): Moved saved_tree to tree_decl.
5570         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
5571         * integrate.h (function_attribute_inlinable_p): Declare it.
5572         * integrate.c (function_attribute_inlinable_p): Export it.
5573         * tree-inline.c: New file.  Define variables declared in...
5574         * tree-inline.h: New file.  Declare functions to be moved to
5575         tree-inline.c.  Define macros and declare types and hooks for
5576         language-specific tree inlining.
5577         (flag_inline_trees): Moved definition from cp/decl2.c.
5578         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
5579         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
5580         (struct tree_decl): Moved saved_tree from c_lang_decl and
5581         inlined_fns from C++'s lang_decl.
5582
5583 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
5584
5585         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
5586         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
5587
5588 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5589
5590         * doc/cppinternals.texi: Update.
5591
5592 2001-10-04  Eric Christopher  <echristo@redhat.com>
5593
5594         * config/mips/mips.c (init_cumulative_args): Remember to set
5595         cum->prototype.
5596         * config.gcc: Redo linux configuration. Add target_cpu_default
5597         of soft-float to all mipsisa32 combinations and tx39.
5598         * config/mips/linux.h: Remove include of mips.h.
5599
5600 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
5601
5602         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
5603         HOST_LDFLAGS and HOST_CPPFLAGS.
5604
5605 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
5606
5607         * c-parse.in (objc_inherit_code, objc_pq_context,
5608         objc_public_flag): Make static.
5609         (objc_interface_context, objc_implementation_context,
5610         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
5611         global tree array in objc/objc-act.[ch].
5612         (methoddef): Remove unnecessary code.
5613
5614         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
5615         Hoist struct definitions to objc-act.h.
5616         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
5617         cat_count): Place declaration in objc-act.h.
5618         (objc_tree_index): Move enumeration to objc-act.h.
5619         (objc_global_trees): Place declaration and macro accessors in
5620         objc-act.h.
5621         (implementation_context): Remove duplicate; use
5622         objc_implementation_context instead:
5623         (method_context): Remove duplicate; use objc_method_context
5624         instead.
5625         (objc_ellipsis_node, objc_method_prototype_template,
5626         implemented_classes, function_type): Move global vars to
5627         objc_global_trees.
5628         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
5629         (build_message_expr): Move actual construction of ObjC message
5630         send nodes to finish_message_expr.
5631         (finish_message_expr): New routine, contains code formerly in
5632         build_message_expr.
5633         * objc/objc-act.h (finish_message_expr): New prototype.
5634         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
5635         declarations; these vars are now part of objc_global_trees.
5636         (objc_tree_index, objc_global_trees): Move definitions from
5637         objc-act.c.
5638         * objc/objc-tree.def: Update copyright info.
5639
5640 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
5641
5642         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
5643         op is NULL.
5644         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
5645         only if TARGET_ARCH64.
5646
5647 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
5648
5649         * doc/extend.texi: Fix some problems with previous checkin.
5650         * doc/invoke.texi: Likewise.
5651
5652 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5653
5654         * cpphash.h: Update comments.
5655         (cpp_context): Update.
5656         (spec_nodes): Remove n__Pragma.
5657         * cppinit.c (cpp_create_reader): Update.
5658         (builtin_array): Add _Pragma.
5659         * cpplib.h: Update comments.
5660         (NODE_DISABLED, BT_PRAGMA): New.
5661         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
5662         * cppmacro.c (struct cpp_macro): Remove disabled.
5663         (builtin_macro): Return int, handle _Pragma, push the new token
5664         on the context stack.
5665         (funlike_invocation_p): Unconstify, update.
5666         (enter_macro_context): Handle builtins here.
5667         (replace_args, push_token_context, push_ptoken_context):
5668         Update for prototype changes.
5669         (_cpp_pop_context): Update.
5670         (cpp_get_token): Don't handle buitins, nor _Pragma here.
5671         (cpp_sys_macro_p): Update.
5672         (_cpp_free_definition): Clear disabled flag.
5673         (_cpp_create_definition): Upate.
5674         * cppmain.c: Update comments.
5675
5676 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
5677                                 Andreas Jaeger <aj@suse.de>,
5678                                 Jan Hubicka    <jh@suse.cz>
5679
5680         * doc/invoke.texi (i386 Options): Document x86-64 options.
5681         (i386 and x86-64 Options): Rename i386 options section.
5682
5683         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
5684         (TARGET_SWITCHES): Add -munwind-info.
5685         (MASK_NO_UNWIND_INFO): New.
5686         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
5687         biarch compilation.
5688         (ASM_OUTPUT_DOUBLE_INT): New.
5689
5690         * config/i386/linux64.h: New spec file for Linux x86-64 support.
5691         * config.gcc: Fix tm_file settings for x86-64.
5692         * config/i386/x86-64.h: New file with OS independent x86-64
5693         definitions.
5694         * config/i386/biarch64.h: New file used to configure compiler
5695         to biarch/64bit compilation.
5696
5697         * config/i386/i386.c: (override_options): Set flags default
5698         for 64bit compilation.
5699
5700 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
5701
5702         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
5703         (ix86_expand_int_movcc): Optimize DImode conditional moves with
5704         constants on x86_64.
5705         (ix86_attr_length_immediate_default): Support MODE_DI.
5706         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
5707         condition.
5708         (indirect_jump, tablejump): Turn into expander.
5709
5710 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5711
5712         * c-common.c (c_format_attribute_table): Make format and
5713         format_arg attributes apply to function types rather than to
5714         decls.
5715         (is_valid_printf_arglist): Construct an attribute list and pass
5716         that to check_function_format rather than a name.
5717         * c-common.h (check_function_format): Adjust prototype.
5718         * c-decl.c (duplicate_decls): Preserve attributes from type of
5719         built-in decl when allowing for harmless conflict in types.
5720         * c-format.c (record_function_format,
5721         record_international_format, function_format_list,
5722         international_format_info, international_format_list): Remove.
5723         (function_format_info): Remove next, name and assembler_name.
5724         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
5725         (decode_format_attr): New.
5726         (handle_format_attribute): Handle receiving a type rather than a
5727         decl.  Call decode_format_attr.  Store format information in a
5728         function_format_info.
5729         (handle_format_arg_attribute): Correct comment.  Handle receiving
5730         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
5731         arg_num.
5732         (check_format_info_recurse, check_format_info_main): Take argument
5733         numbers as unsigned HOST_WIDE_INT.
5734         (check_function_format): Take a list of attributes from the
5735         function type rather than a name or assembler name.  Check for
5736         format attributes in that list and the attributes on the type of
5737         the current function rather than looking through
5738         function_format_list.
5739         (check_format_info): Use unsigned HOST_WIDE_INT for argument
5740         numbers.
5741         (check_format_info_recurse): Take format_arg attributes from the
5742         type of the function calls rather than using
5743         international_format_list.  Allow for multiple format_arg
5744         attributes.
5745         * c-typeck.c (build_function_call): Pass type attributes to
5746         check_function_format rather than name or assembler name.  Don't
5747         require there to be a name or assembler name to check formats.
5748
5749 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5750
5751         * attribs.c (decl_attributes): Possibly call
5752         insert_default_attributes to insert default attributes on
5753         functions in a lazy manner.
5754         * builtin-attrs.def: New file; define the default format and
5755         format_arg attributes.
5756         * c-common.c (c_format_attribute_table): Move to earlier in the
5757         file.
5758         (c_common_nodes_and_builtins): Initialize format_attribute_table.
5759         (enum built_in_attribute, built_in_attributes,
5760         c_attrs_initialized, c_init_attributes,
5761         c_common_insert_default_attributes): New.
5762         (c_common_lang_init): Don't initialize format_attribute_table.  Do
5763         call c_init_attributes.
5764         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
5765         * c-common.h (init_function_format_info): Don't declare.
5766         (c_common_insert_default_attributes): Declare.
5767         * c-decl.c (implicitly_declare, builtin_function): Call
5768         decl_attributes.
5769         (init_decl_processing): Don't call init_function_format_info.
5770         (insert_default_attributes): New.
5771         * c-format.c (handle_format_attribute,
5772         handle_format_arg_attribute): Be quiet about inappropriate
5773         declaration when applying default attributes.
5774         (init_function_format_info): Remove.
5775         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
5776         (insert_default_attributes): Declare.
5777
5778 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5779
5780         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
5781
5782 2001-10-01  Jim Wilson  <wilson@redhat.com>
5783
5784         * sched-deps.c (add_dependence): When elide conditional dependence,
5785         check that insn doesn't modify cond2.
5786
5787 2001-10-01  Dale Johannesen  <dalej@apple.com>
5788
5789         * config/rs6000/rs6000.h (enum processor_type): Add support
5790         for 7400 (G4) and 7450.
5791         (RTX_COSTS): Ditto.
5792         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
5793         (rs6000_issue_rate): Ditto.
5794         (rs6000_adjust_cost): Fix cycle counts for compares.
5795         (debug_stack_info):  Fix an obvious typo.
5796         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
5797         * doc/invoke.texi: Document.
5798         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
5799         for Darwin.
5800         (PROCESSOR_DEFAULT): Ditto.
5801
5802 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
5803
5804         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
5805         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
5806         later recursive make invocation.
5807
5808 2001-10-01  Hans Boehm  <boehm@acm.org>
5809
5810         * optabs.c (emit_libcall_block): When using non-call exceptions,
5811         don't add REG_LIBCALL reg notes to trapping calls.
5812
5813 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
5814
5815         * flow.c (propagate_block_delete_libcall): Remove unused first arg
5816         (propagate_one_insn):  Update for above change
5817
5818 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
5819
5820         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
5821         _Unwind_GetTextRelBase): Argument is unused.
5822
5823 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5824
5825         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
5826         Loop through NOPs, placeholders, and components.
5827         Don't go through NOPs if change mode.
5828         (record_alias_subset): Do nothing if SUBSET and SET are the same.
5829         * emit-rtl.c (set_mem_alias_set): Enable check.
5830         * expr.c (find_placeholder): New function.
5831         (expand_expr, case PLACEHOLDER_EXPR): Use it.
5832         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
5833         to modify it and avoid unneeded copies.
5834         * expr.h (expand_expr): Always define.
5835         (find_placeholder): New declaration.
5836
5837 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5838
5839         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
5840         operand 2 is the stack pointer.
5841         ("addr-peephole"): Fix address computation peephole when operand 2
5842         is the stack pointer.
5843
5844 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5845
5846         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
5847         (ix86_setup_incoming_varargs): Likewise.
5848
5849 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
5850
5851         * stor-layout.c (layout_type): Don't complain about too-large
5852         array here.
5853
5854 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5855
5856         * function.c (keep_stack_depressed): Don't use delete_insn.
5857
5858         * expr.h (set_mem_alias_set): Move decl to here.
5859         * rtl.h (mem_attrs): New typedef and struct.
5860         (union rtunion_def): Add field for mem_attrs.
5861         (X0MEMATTR, MEM_ATTRS): New macros.
5862         (MEM_ALIAS_SET): Use MEM_ATTRS.
5863         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
5864         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
5865         (set_mem_alias_set): Delete decl from here.
5866
5867         * alias.c (set_mem_alias_set): Delete from here.
5868         * emit-rtl.c (mem_attrs_htab): New variable.
5869         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5870         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5871         (mem_attrs_mark, get_mem_attrs): Likewise.
5872         (gen_rtx_MEM): Clear MEM_ATTRS.
5873         (set_mem_attributes): Move to here.
5874         (set_mem_alias_set): Likewise, and call get_mem_attrs.
5875         (init_emit_once): const_int_htab now deletable htab.
5876         Initialize mem_attrs_htab.
5877         * explow.c (set_mem_attributes): Delete from here.
5878         * function.c (put_var_into_stack): Clear MEM_ATTRS.
5879         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
5880         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
5881         * reload1.c (reload): Rework changing REG to MEM.
5882
5883 2001-09-30  H.J. Lu <hjl@gnu.org>
5884
5885         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
5886         * config.in: Rebuild.
5887
5888 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5889
5890         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
5891         ("tsthi_1"): Avoid allocation in register y.
5892         ("*movqi_68hc12"): Reorganize and fix constraints.
5893         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
5894         ("addqi3"): Likewise.
5895         ("addhi3"): Fix constraints.
5896         ("*logicalhi3_zexthi"): Disparage soft registers.
5897
5898 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5899
5900         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
5901         to tmp reg.
5902
5903 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5904
5905         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
5906         that we use setjmp/longjmp exceptions.
5907
5908 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5909
5910         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
5911         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
5912         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5913         _cpp_pool_alloc, _cpp_next_chunk): Remove.
5914         (_cpp_extend_buff, BUFF_ROOM): Update.
5915         (_cpp_append_extend_buff): New.
5916         (struct cpp_reader): Remove macro_pool, add a_buff.
5917         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
5918         macro_pool.
5919         (cpp_destroy): Free a_buff instead of macro_pool.
5920         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
5921         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5922         _cpp_pool_alloc, ): Remove.
5923         (parse_number, parse_string): Update use of _cpp_extend_buff.
5924         (_cpp_extend_buff): Update.
5925         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
5926         * cpplib.c (glue_header_name, parse_answer):
5927         Update use of _cpp_extend_buff.
5928         (cpp_register_pragma, cpp_register_pragma_space): Use
5929         _cpp_aligned_alloc.
5930         (do_assert, do_unassert): Check for EOL, update.
5931         * cppmacro.c (stringify_arg, collect_args): Update to use
5932         _cpp_extend_buff and _cpp_append_extend_buff.
5933         (save_parameter, parse_params, alloc_expansion_token,
5934         _cpp_create_definition): Rework memory management.
5935
5936 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
5937
5938         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
5939         update md_exec_prefix.
5940         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
5941         to string constant.
5942
5943 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5944
5945         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
5946         (SELECT_CC_MODE): Use s390_select_ccmode.
5947         * config/s390/s390-protos.h (s390_select_ccmode): Add.
5948         * config/s390/s390.c (s390_select_ccmode): New.
5949         (s390_match_ccmode): Add CCLmode.
5950         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5951         (output_branch_condition, output_inverse_branch_condition): Removed.
5952         (print_operand): Use s390_branch_condition_mnemonic.
5953         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5954         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5955         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5956
5957         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5958         when converting conditional branches to far branches.
5959         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5960         cmpint_di): Use CCSmode instead of CCUmode.
5961
5962         * config/s390/s390.c (legitimate_la_operand_p): New.
5963         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5964         * config/s390/s390.md (movsi): Convert load address patterns to
5965         arithmetic operations when necessary.
5966         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5967         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5968         (*do_la_reg_0): Don't use before reload.
5969
5970         * config/s390/s390.c (legitimize_address): Make more efficient
5971         use of two-register addressing mode.
5972
5973         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5974         with -mno-backchain in some corner cases.
5975
5976         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5977
5978 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
5979
5980         * reload.c (find_reloads): Mark new USE insns with QImode.
5981         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5982         find_reloads_subreg_address): Likewise.
5983         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5984         encountered.
5985         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5986         CLOBBERs.
5987         (reload): Make sure there are no USEs with mode other than
5988         VOIDmode.  At the end, remove those marked with QImode.
5989
5990 2001-09-29  Per Bothner  <per@bothner.com>
5991
5992         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
5993         * Makefile.in (includedir):  Rename to local_includedir.
5994         (includedir):  Define as $(prefix)/include.
5995         * config.in (PREFIX_INCLUDE_DIR):  New variable.
5996         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
5997
5998 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
5999
6000         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
6001         storehps builtins.
6002         * doc/extend.texi (Vector Extensions): New node.
6003         * doc/invoke.texi (Machine Dependent Options): Add documentation for
6004         i386 -mmmx, -msse, -m3dnow.
6005
6006 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
6007
6008         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
6009
6010 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
6011
6012         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
6013
6014         * doc/invoke.texi (Optimize Options): Delete spurious @table.
6015
6016 2001-09-28  Richard Henderson  <rth@redhat.com>
6017
6018         * varasm.c (assemble_integer): Bound alignment check by
6019         BIGGEST_ALIGNMENT.
6020
6021         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
6022
6023 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6024
6025         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
6026
6027 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
6028
6029         Mostly from Graham Stott  <grahams@redhat.com>
6030         * c-common.c (type_for_mode): Add support for V2SFmode.
6031         * tree.c (build_common_tree_nodes_2): Likewise.
6032         * tree.h (enum tree_index, global_trees): Likewise.
6033         * config/i386/i386.c (x86_3dnow_a): New variable.
6034         (override_options): Support 3Dnow extensions.
6035         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
6036         Athlon's version of 3Dnow.
6037         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
6038         (ix86_expand_builtin): Handle them.
6039         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
6040         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
6041         TARGET_3DNOW_A): New macros.
6042         (TARGET_SWITCHES): Add 3Dnow switches.
6043         (VALID_MMX_REG_MODE_3DNOW): New macro.
6044         (VECTOR_MODE_SUPPORTED_P): Use it.
6045         (enum ix86_builtins): Add entries for 3Dnow builtins.
6046         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
6047         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
6048         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
6049         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
6050         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
6051         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
6052         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
6053         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
6054         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
6055         sfence_insn, prefetch): Make these available if TARGET_SSE or
6056         TARGET_3DNOW_A.
6057
6058 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
6059
6060         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
6061         ix86_va_start, ix86_build_va_list): Declare.
6062         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
6063         ix86_va_start, ix86_build_va_list): New global functions.
6064         * i386.md (sse_prologue_save_insn): New insn.
6065         (sse_prologue_save): New expander.
6066         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
6067         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
6068
6069 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
6070
6071         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
6072         Use size_t everywhere, make definitions consistent with
6073         prototypes.
6074
6075 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
6076
6077         * gcse.c (replace_store_insn): Use delete_insn.
6078         * loop.c (move_movables): Likewise; avoid delete_insn
6079         from clobbering notes moved elsewhere.
6080         (check_dbra_loop): Use delete_insn.
6081         * ssa.c (convert_from_ssa): Likewise.
6082         * cse.c (cse_insn): Use delete_insn.
6083
6084 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
6085
6086         * cpphash.h (struct cpp_buff): Make unsigned.
6087         (_cpp_get_buff): Take length of size_t.
6088         (_cpp_unaligned_alloc): New.
6089         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
6090         (struct cpp_reader): Remove ident_pool.  Add u_buff.
6091         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
6092         (cpp_destroy): Destroy u_buff, not ident_pool.
6093         * cpplex.c (parse_number, parse_string, save_comment,
6094         cpp_token_as_text): Update to use the unaligned buffer.
6095         (new_buff): Make unsigned.
6096         (_cpp_unaligned_alloc): New.
6097         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
6098         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
6099         Similarly.
6100         (collect_args): Make unsigned.
6101
6102 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
6103
6104         * cpplex.c (cpp_output_token): Use a putc loop for
6105         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
6106
6107         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
6108         * configure, config.in: Regenerate.
6109         * system.h: Replace fwrite and fprintf with their unlocked
6110         variants if available.
6111
6112 2001-09-27  Richard Henderson  <rth@redhat.com>
6113
6114         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
6115         in favour of .eh_frame.
6116
6117 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
6118
6119         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
6120         to macros.
6121         (LIBCALL_VALUE): Likewise.
6122
6123 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
6124
6125         * cpphash.h: Update comment.
6126         * cpplex.c: Update comments.
6127         (_cpp_can_paste): Remove.
6128         * cpplib.h (_cpp_can_paste): Remove.
6129         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
6130         lexer rather than _cpp_can_paste.
6131
6132 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
6133
6134         * doc/cppinternals.texi: Update.
6135
6136 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
6137
6138         * cpphash.h (struct cpp_pool): Remove locks and locked.
6139         (struct cpp_context): Add member buff.
6140         (struct cpp_reader): Remove member argument_pool.
6141         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
6142         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
6143         * cpplex.c (chunk_suitable): Remove pool argument.
6144         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
6145         (new_buff, _cpp_extend_buff): Update.
6146         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
6147         which buffer is returned.
6148         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
6149         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
6150         * cppmacro.c (lock_pools, unlock_pools): Remove.
6151         (push_ptoken_context): Take a _cpp_buff.
6152         (enter_macro_context): Pool locking removed.
6153         (replace_args): Use a _cpp_buff for the replacement list with
6154         arguments replaced.
6155         (push_token_context): Clear buff.
6156         (expand_arg): Use _cpp_pop_context.
6157         (_cpp_pop_context): Free a context's buffer, if any.
6158
6159 2001-09-26  DJ Delorie  <dj@redhat.com>
6160
6161         * c-typeck.c (digest_init): Check for sizeless arrays.
6162
6163 2001-09-26  Richard Henderson  <rth@redhat.com>
6164
6165         * optabs.c (init_one_libfunc): Create a dummy function type
6166         instead of using error_mark_node.
6167
6168 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
6169
6170         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
6171         _cpp_extend_buff, _cpp_free_buff): New.
6172         (struct cpp_reader): New member free_buffs.
6173         * cppinit.c (cpp_destroy): Free buffers.
6174         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
6175         _cpp_extend_buff, _cpp_free_buff): New.
6176         * cpplib.h (struct cpp_options): Remove unused member.
6177         * cppmacro.c (collect_args): New.  Combines the old parse_arg
6178         and parse_args.  Use _cpp_buff for memory allocation.
6179         (funlike_invocation_p, replace_args): Update.
6180
6181 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
6182
6183         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
6184
6185 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
6186
6187         * except.c (sjlj_mark_call_sites): Change address inside sequence.
6188
6189 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
6190
6191         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
6192         glibc.
6193
6194 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
6195             Jim Wilson  <wilson@redhat.com>
6196
6197         * doc/install.texi (Specific, ia64-*-linux): Document.
6198
6199 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
6200
6201         * Makefile.in (cfgrtl.o): Add.
6202         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
6203         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
6204         free_aux_for_edge): Declare.
6205         * cfg.c
6206         (HAVE_return): Undefine.
6207         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
6208         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
6209         free_aux_for_edge): New global functions.
6210         (first_delete_block): New static variable.
6211         (init_flow): Clear first_delete_block.
6212         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
6213          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
6214          try_redirect_by_replacing_jump, last_loop_beg_note,
6215          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
6216          delete_insn, delete_insn_chain, create_basic_block_structure,
6217          create_basic_block, flow_delete_block, compute_bb_for_insn,
6218          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
6219          set_block_for_new_insns, split_block, merge_blocks_nomove,
6220          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
6221          redirect_edge_and_branch, force_nonfallthru_and_redirect,
6222          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
6223          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
6224          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
6225          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
6226          purge_all_dead_edges): Move to ....
6227         * cfgrtl.c: New file; .... Here.
6228
6229         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
6230         (reroder_basic_block): Use alloc_aux_for_blocks.
6231         * predict.c (estimate_bb_frequencies): Likewise; use
6232         alloc_aux_for_edges.
6233         * profile.c (compute_branch_probabilities): Likewise.
6234         (branch_prob): Likewise.
6235         * reg-stack.c (reg_to_stack): Likewise.
6236
6237         * emit-rtl.c (emit_insns_after): Never return NULL.
6238
6239         * basic-block.h (set_block_for_new_insns): Delete.
6240         * cfgrtl.c (set_block_for_new_insns): Delete.
6241
6242         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
6243         calls when crossjumping.
6244
6245         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
6246         * unroll.c (copy_loop_body): Use delete_insn.
6247
6248         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
6249         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
6250         keep_stack_depressed): Likewise.
6251         * gcse.c (cprop_cc0_jump): Likewise.
6252         * local-alloc.c (update_equiv_regs): Likewise.
6253         * loop.c (scan_loop, loop_delete_insns): Likewise.
6254         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
6255         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
6256         delete_output_reload, delete_address_reloads_1,
6257         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
6258         Likewise.
6259         * sibcall.c (replace_call_placeholder): Likewise.
6260         * cse.c (cse_insn): Likewise.
6261
6262 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
6263
6264         From Graham Stott  <grahams@redhat.com>
6265         (def_builtin): Only define builtins appropriate for target_flags.  All
6266         callers changed.
6267         (builtin_decsription): Add new field mask which is used to determine
6268         when to define the builtin via the macro def_builtin.
6269
6270         (bdesc_comi): Initialise new mask fields.
6271         (bdesc_2srg): Likewise.
6272         (bdesc_1arg): Likewise.
6273
6274         * config/i386/i386.c (ix86_init_builtins): Correct return type
6275         building v4hi_ftype_v4hi_int_int tree node.
6276         (ix86_expand_sse_comi): Fix typo swapping operands.
6277         Don't swap comparision condition, it is already swapped.
6278         (ix86_expand_sse_compare): Before swapping operands
6279         move operand 1 into new rtx and not the target rtx.
6280         Don't swap comparison condition, it is already swapped.
6281         Always check whether we need to create a new TARGET.
6282
6283         * config/i386/i386.md: (sse_comi) Fix typos.
6284         (sse_ucomi): Likewise.
6285         (cvtss2si): Fix operand 0 contraint.
6286         (cvttss2si): Likewise.
6287         (sse_unpckhps): Fix mode for operand 2.
6288         (sse_unpcklps): Likewise.
6289
6290 2001-09-25  Graham Stott  <grahams@redhat.com>
6291
6292         * sibcall.c (skip_copy_to_return_value): Tighten return value
6293         copy check.
6294
6295 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
6296
6297         * rs6000.c (lwa_operand): Address must be word aligned.
6298
6299 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6300
6301         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
6302         number has been set.
6303         (type_hash_mark): Mark type itself.
6304
6305 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
6306
6307         * c-lex.c (cb_def_pragma): Update.
6308         (c_lex): Update, and skip padding.
6309         * cppexp.c (lex, parse_defined): Update, remove unused variable.
6310         * cpphash.h (struct toklist): Delete.
6311         (union utoken): New.
6312         (struct cpp_context): Update.
6313         (struct cpp_reader): New members eof, avoid_paste.
6314         (_cpp_temp_token): New.
6315         * cppinit.c (cpp_create_reader): Update.
6316         * cpplex.c (_cpp_temp_token): New.
6317         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
6318         (cpp_output_token): Don't print leading whitespace.
6319         (cpp_output_line): Update.
6320         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
6321         do_include_common, do_line, do_ident, do_pragma,
6322         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
6323         parse_assertion): Update.
6324         (get_token_no_padding): New.
6325         * cpplib.h (CPP_PADDING): New.
6326         (AVOID_LPASTE): Delete.
6327         (struct cpp_token): New union member source.
6328         (cpp_get_token): Update.
6329         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
6330         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
6331         replace_args, quote_string, stringify_arg, parse_arg, next_context,
6332         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
6333         _cpp_backup_tokens, _cpp_create_definition): Update.
6334         (push_arg_context): Delete.
6335         (padding_token, push_token_context, push_ptoken_context): New.
6336         (make_string_token, make_number_token): Update, rename.
6337         (cpp_get_token): Update to handle tokens as pointers to const,
6338         and insert padding appropriately.
6339         * cppmain.c (struct printer): New member prev.
6340         (check_multiline_token): Constify.
6341         (do_preprocessing, cb_line_change): Update.
6342         (scan_translation_unit): Update to handle spacing.
6343         * scan-decls.c (get_a_token): New.
6344         (skip_to_closing_brace, scan_decls): Update.
6345         * fix-header.c (read_scan_file): Update.
6346
6347         * doc/cpp.texi: Update.
6348
6349 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6350
6351         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
6352         leak by passing malloc'ed pointer to reconcat, not concat.
6353
6354 2001-09-24  DJ Delorie  <dj@redhat.com>
6355
6356         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
6357
6358 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
6359
6360         * flow.c (delete_dead_jumptables): Delete jumptable if the only
6361         reference is from the literal pool.
6362
6363 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
6364
6365         * doc/install.texi (Final install): Request additional information
6366         in mail about successful builds.
6367
6368 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6369
6370         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
6371         initial value of return pointer register instead of value in frame-20.
6372         Revise comments.
6373
6374 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6375
6376         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
6377         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
6378         the libcall if there isn't a referenced identifier for the symbol.
6379
6380 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6381
6382         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
6383         non 64-bit machines.  Use these as a plabel for the trampoline.
6384         (TRAMPOLINE_SIZE): Adjust size for new words.
6385         (INITIALIZE_TRAMPOLINE): Initialize new words.
6386         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
6387         pointer to the plabel in the trampoline.
6388
6389 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6390
6391         * pa.c (function_arg): Pass floating arguments in both general and
6392         floating registers in indirect (dynamic) calls when generating code
6393         for the 32 bit ABI and the HP assembler.
6394
6395 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6396
6397         * doc/install.texi: Markup fixes.
6398         Use Solaris 2, SunOS 4 as appropriate.
6399         (Specific, *-*-solaris2*): Explain this.
6400         Unconditionally warn against /usr/ucb tools.
6401         Remove Sun as warning, obsolete.
6402         Move X11 header bug workaround here, update patches.
6403         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
6404         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
6405
6406 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
6407
6408         * errors.h (warning, error, fatal, internal_error): Don't mark
6409         with ATTRIBUTE_PRINTF_n.
6410         * toplev.h (internal_error, fatal_io_error, warning, error,
6411         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
6412         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
6413         Likewise.
6414
6415 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6416
6417         * function.c (pop_function_context_from): var_refs_queue
6418         and temp slots now in GC memory.
6419         (mark_function_status, free_after_compilation): Likewise;
6420         also struct function now in GC memory.
6421         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
6422         (combine_temp_slots): Likewise.
6423         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
6424         (prepare_function_start): Use GC memory for struct function.
6425         (mark_temp_slot): Deleted.
6426         (gcc_mark_struct_function): struct function now in GC memory.
6427
6428         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
6429         code for division, not modulus.
6430
6431         * rtl.def (MEM): Remove obsolete part of comment.
6432
6433 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
6434
6435         * c-format.c (init_function_format_info): Check __builtin_printf
6436         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
6437         in gnu89 mode.
6438
6439 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6440
6441         * c-common.c (format_attribute_table): Remove decl.
6442         * tree.h (format_attribute_table, lang_attribute_table): New decls.
6443         (lang_attribute_common): Likewise.
6444
6445         * function.c (fix_lexical_address): Use set_mem_alias_set.
6446         (expand_function_start): Likewise.
6447         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
6448
6449         * varasm.c (output_constant): Fix unused variable warning.
6450
6451         * attribs.c: New file, from c-common.c.
6452         (attribute_tables): Now four elements.
6453         (format_attribute_table, lang_attribute_common): New variables.
6454         (init_attributes): Reflect above changes.
6455         (handle_mode_attribute): Delete check for wider than uintmax.
6456         * c-common.c: Delete parts moved to attribs.c.
6457         (enum attrs): Deleted; unused.
6458         (c_format_attribute_table): New variable.
6459         (c_common_lang_init): Initialize format_attribute_table with it.
6460         * c-common.h (decl_attributes): Remove decl.
6461         * tree.h (decl_attribute): Move it to here.
6462         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
6463         (attribs.o): New rule.
6464
6465 2001-09-22  Andreas Jaeger  <aj@suse.de>
6466
6467         * builtins.c (c_getstr): Remove unused variable.
6468
6469 2001-09-21  Richard Henderson  <rth@redhat.com>
6470
6471         * reload1.c (reload): Use delete_insn instead of splatting
6472         NOTE_INSN_DELETED.
6473
6474 2001-09-21  Richard Henderson  <rth@redhat.com>
6475
6476         * reload.c (push_secondary_reload): Don't check for "=" in output
6477         constraint after ""->ALL_REGS check.
6478
6479 2001-09-21  Richard Henderson  <rth@redhat.com>
6480
6481         * predict.c (expected_value_to_br_prob): Use pc_set.
6482
6483         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
6484         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
6485
6486 2001-09-21  Richard Henderson  <rth@redhat.com>
6487
6488         * rtl.h (LCT_RETURNS_TWICE): New.
6489         * calls.c (emit_call_1): Set current_function_calls_setjmp for
6490         ECF_RETURNS_TWICE.
6491         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
6492         to ECF_RETURNS_TWICE.
6493         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
6494         call to setjmp.
6495
6496         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
6497
6498         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
6499         (JMP_BUF_SIZE): New.
6500
6501 2001-09-21  Richard Henderson  <rth@redhat.com>
6502
6503         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
6504         to R8_REGS.
6505
6506 2001-09-21  Richard Henderson  <rth@redhat.com>
6507
6508         * tree.def (FDESC_EXPR): New.
6509         * expr.c (expand_expr): Handle it.
6510         * varasm.c (initializer_constant_valid_p): Likewise.
6511         (output_constant): Likewise.
6512         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6513         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6514         (ASM_OUTPUT_FDESC): New.
6515         * doc/tm.texi: Document the new macros.
6516
6517 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
6518
6519         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
6520         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
6521         once merging is complete.
6522
6523 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6524
6525         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
6526
6527 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
6528
6529         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
6530         that would be invalid after a merge.
6531
6532 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
6533
6534         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
6535         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
6536         remove some labels.
6537         (flow_delete_insn): This one.
6538         (delete_insn_chain): Rename from ...; do not care labels.
6539         (flow_delete_insn_chain): ... this one.
6540         (flow_delete_block): Remove the insns one BB has been expunged.
6541         (merge_blocks_nomove): Likewise.
6542         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
6543         updating BB boundaries.
6544         (tidy_fallthru_edge): Likewise.
6545         (commit_one_edge_insertion): Likewise.
6546         * cfgbuild.c (find_basic_block): Likewise.
6547         (find_basic_blocks_1): Likewise.
6548         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
6549         (try_crossjump_to_edge): Likewise.
6550         (try_optimize_cfg): Likewise.
6551         * cse.c (delete_trivially_dead_insns): Likewise.
6552         * df.c (df_insn_delete): Likewise.
6553         * doloop.c (doloop_modify): Use delete_related_insns.
6554         * emit-rtl.c (try_split): Likewise.
6555         (remove_insn): Update BB boundaries.
6556         * expect.c (connect_post_landing_pads): Use delete_related_insns.
6557         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
6558         updating BB boundaries.
6559         (propagate_block_delete_insn): Likewise.
6560         (propagate_block_delete_libcall): Likewise.
6561         * function.c (delete_handlers): Use delete_related_insns.
6562         (thread_prologue_and_epilogue_insns): Likewise.
6563         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
6564         * genpeep.c (gen_peephole): Use delete_related_insns.
6565         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
6566         BB boundaries.
6567         (find_cond_trap): Likewise.
6568         * integrate.c (save_for_inline): Use delete_related_insns.
6569         (copy_insn_list): Likewise.
6570         * jump.c (pruge_linie_number_notes): Likewise.
6571         (duplicate_loop_exit_test): Likewise.
6572         (delete_computation): Likewise.
6573         (delete_related_insn): Rename from ...; use delete_insn
6574         (delete_insn): ... this one.
6575         (redirect_jump): Use delete_related_insns.
6576         * loop.c (scan_loop): Likewise.
6577         (move_movables): Likewise.
6578         (find_and_verify_loops): Likewise.
6579         (check_dbra_loop): Likewise.
6580         * recog.c (peephole2_optimize): Likewise.
6581         * reg-stack.c (delete_insn_for_stacker): Remove.
6582         (move_for_stack_reg): Use delete_insn.
6583         * regmove.c (combine_stack_adjustments_for_block): Likewise.
6584         * reload1.c (delete_address_reloads): Use delete_related_insns.
6585         (fixup_abnormal_edges): Use delete_insn.
6586         * recog.c (emit_delay_sequence): Use delete_related_insns.
6587         (delete_from-delay_slot): Likewise.
6588         (delete_scheduled_jump): likewise.
6589         (optimize_skip): Likewise.
6590         (try_merge_delay_insns): Likewise.
6591         (full_simple_delay_slots): Likewise.
6592         (fill_slots_from_thread): Likewise.
6593         (relax_delay_slots): Likewise.
6594         (make_return_insns): Likewise.
6595         (dbr_schedule): Likewise.
6596         * rtl.h (delete_insn): Rename to delete_related_insns.
6597         (delete_insn, delete_insn_chain): New prototypes.
6598         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
6599         by df_insn_delete already.
6600         * ssa-dce.c (delete_insn_bb): Use delete_insn.
6601         * ssa.c (convert_from_ssa): Use delete_related_insns.
6602         * unroll.c (unroll_loop): Likewise.
6603         (calculate_giv_inc): Likewise.
6604         (copy_loop_body): Likewise.
6605
6606         * i386-protos.h (ix86_libcall_value, ix86_function_value,
6607         ix86_function_arg_regno_p, ix86_function_arg_boundary,
6608         ix86_return_in_memory, ix86_function_value): Declare.
6609         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
6610         new static valurables.
6611         (x86_64_reg_class): New enum
6612         (x86_64_reg_class_name): New array.
6613         (classify_argument, examine_argument, construct_container,
6614          merge_classes): New static functions.
6615         (optimization_options): Enable flag_omit_frame_pointer and disable
6616         flag_pcc_struct_return on 64bit.
6617         (ix86_libcall_value, ix86_function_value,
6618         ix86_function_arg_regno_p, ix86_function_arg_boundary,
6619         ix86_return_in_memory, ix86_function_value): New global functions.
6620         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
6621         (function_arg_advance): Handle x86_64 passing conventions.
6622         (function_arg): Likewise.
6623         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
6624         (RETURN_IN_MEMORY): Move offline.
6625         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
6626         (FUNCTION_VALUE_REGNO_P): New macro.
6627         (FUNCTION_ARG_REGNO_P): Move offline.
6628         (struct ix86_args): Add maybe_vaarg.
6629         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
6630         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
6631
6632 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
6633
6634         * s390.md: Changed attributes for scheduling.
6635         * s390.c: (s390_adjust_cost, s390_adjust_priority)
6636         Changed scheduling
6637
6638 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
6639
6640         Table-driven attributes.
6641         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
6642         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
6643         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
6644         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
6645         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
6646         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
6647         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
6648         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
6649         * tree.h (struct tree_decl): Change machine_attributes to
6650         attributes.
6651         * doc/c-tree.texi: Document that all attributes are now attached
6652         to decls and types.
6653         * c-common.c (add_attribute, attrtab, attrtab_idx,
6654         default_valid_lang_attribute, valid_lang_attribute): Remove.
6655         (attribute_tables, attributes_initialized,
6656         c_common_attribute_table, default_lang_attribute_table): New
6657         variables.
6658         (handle_packed_attribute, handle_nocommon_attribute,
6659         handle_common_attribute, handle_noreturn_attribute,
6660         handle_unused_attribute, handle_const_attribute,
6661         handle_transparent_union_attribute, handle_constructor_attribute,
6662         handle_destructor_attribute, handle_mode_attribute,
6663         handle_section_attribute, handle_aligned_attribute,
6664         handle_weak_attribute, handle_alias_attribute,
6665         handle_no_instrument_function_attribute,
6666         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
6667         handle_no_limit_stack_attribute, handle_pure_attribute): New
6668         functions.
6669         (init_attributes, decl_attributes): Rewrite to implement
6670         table-driven attributes.
6671         * c-common.h (enum attribute_flags): Move to tree.h.
6672         * c-format.c (decl_handle_format_attribute,
6673         decl_handle_format_arg_attribute): Rename to
6674         handle_format_attribute and handle_format_arg_attribute.  Update
6675         for table-driven attributes.
6676         * c-common.h (decl_handle_format_attribute,
6677         decl_handle_format_arg_attribute): Remove prototypes.
6678         (handle_format_attribute, handle_format_arg_attribute): Add
6679         prototypes.
6680         * c-decl.c (grokdeclarator): Handle attributes nested inside
6681         declarators.
6682         * c-parse.in (setattrs, maybe_setattrs): Remove.
6683         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
6684         Update to handle nested attributes properly.
6685         (maybe_resetattrs, after_type_declarator,
6686         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
6687         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
6688         properly.
6689         (make_pointer_declarator): Update to handle nested attributes
6690         properly.
6691         * doc/extend.texi: Update documentation of limits of attributes
6692         syntax.  Warn about problems with attribute semantics in C++.
6693         * target.h (struct target): Remove valid_decl_attribute and
6694         valid_type_attribute.  Add attribute_table and
6695         function_attribute_inlinable_p.
6696         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
6697         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
6698         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
6699         Add.
6700         (TARGET_INITIALIZER): Update.
6701         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
6702         definition.
6703         (function_attribute_inlinable_p): New function.  Check for the
6704         presence of any machine attributes before using
6705         targetm.function_attribute_inlinable_p.
6706         (function_cannot_inline_p): Update.
6707         * Makefile.in (integrate.o): Update dependencies.
6708         * doc/tm.texi: Update documentation of target attributes and
6709         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
6710         * tree.c (default_valid_attribute_p, valid_machine_attribute):
6711         Remove.
6712         (default_target_attribute_table,
6713         default_function_attribute_inlinable_p): New.
6714         (lookup_attribute): Update comment to clarify handling of multiple
6715         attributes with the same name.
6716         (merge_attributes, attribute_list_contained): Allow multiple
6717         attributes with the same name but different arguments to appear in
6718         the same attribute list.
6719         * tree.h (default_valid_attribute_p): Remove prototype.
6720         (struct attribute_spec): New.
6721         (default_target_attribute_table): Declare.
6722         (enum attribute_flags): Move from c-common.h.  Add
6723         ATTR_FLAG_TYPE_IN_PLACE.
6724         (default_function_attribute_inlinable_p): Declare.
6725         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
6726         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6727         (TARGET_ATTRIBUTE_TABLE): Define.
6728         (vms_attribute_table): New.
6729         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
6730         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6731         (TARGET_ATTRIBUTE_TABLE): Define.
6732         (arc_attribute_table, arc_handle_interrupt_attribute): New.
6733         * config/arm/arm.c (arm_valid_type_attribute_p,
6734         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
6735         Remove.
6736         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6737         define.
6738         (TARGET_ATTRIBUTE_TABLE): Define.
6739         (arm_attribute_table, arm_handle_fndecl_attribute,
6740         arm_handle_isr_attribute): New.
6741         * config/avr/avr.c (avr_valid_type_attribute,
6742         avr_valid_decl_attribute): Remove.
6743         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
6744         define.
6745         (TARGET_ATTRIBUTE_TABLE): Define.
6746         (avr_attribute_table, avr_handle_progmem_attribute,
6747         avr_handle_fndecl_attribute): New.
6748         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
6749         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6750         (TARGET_ATTRIBUTE_TABLE): Define.
6751         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
6752         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
6753         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6754         (TARGET_ATTRIBUTE_TABLE): Define.
6755         (h8300_attribute_table, h8300_handle_fndecl_attribute,
6756         h8300_handle_eightbit_data_attribute,
6757         h8300_handle_tiny_data_attribute): New.
6758         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
6759         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
6760         Remove prototypes.
6761         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
6762         declarations.
6763         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
6764         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6765         define.
6766         (TARGET_ATTRIBUTE_TABLE): Define.
6767         (ix86_attribute_table, ix86_handle_cdecl_attribute,
6768         ix86_handle_regparm_attribute): New.
6769         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
6770         i386_pe_valid_type_attribute_p): Remove.
6771         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
6772         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
6773         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6774         (TARGET_ATTRIBUTE_TABLE): Define.
6775         (ia64_attribute_table): New.
6776         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
6777         interrupt_ident2, model_ident1, model_ident2): Remove.
6778         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6779         (TARGET_ATTRIBUTE_TABLE): Define.
6780         (init_idents): Update.
6781         (m32r_attribute_table, m32r_handle_model_attribute): New.
6782         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
6783         Remove.
6784         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6785         (TARGET_ATTRIBUTE_TABLE): Define.
6786         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
6787         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
6788         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6789         (TARGET_ATTRIBUTE_TABLE): Define.
6790         (mcore_attribute_table, mcore_handle_naked_attribute): New.
6791         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
6792         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6793         (TARGET_ATTRIBUTE_TABLE): Define.
6794         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
6795         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
6796         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6797         (TARGET_ATTRIBUTE_TABLE): Define.
6798         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
6799         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
6800         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6801         (TARGET_ATTRIBUTE_TABLE): Define.
6802         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
6803         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
6804         New.
6805         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
6806         Remove.
6807         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
6808         (TARGET_ATTRIBUTE_TABLE): Define.
6809         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
6810         New.
6811         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
6812         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6813         (TARGET_ATTRIBUTE_TABLE): Define.
6814         (v850_attribute_table, v850_handle_interrupt_attribute,
6815         v850_handle_data_area_attribute): New.
6816         * config/v850/v850-c.c (mark_current_function_as_interrupt):
6817         Return void.  Call decl_attributes instead of
6818         valid_machine_attribute.
6819
6820 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
6821
6822         * sh-protos.h (sh_pr_n_sets): Declare.
6823         * sh.c (calc_live_regs): If the initial value for PR has been copied,
6824         look at the copy to determine if PR needs to be saved.
6825         sh_pr_n_sets: New function.
6826         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
6827         (ALLOCATE_INITIAL_VALUE): Define.
6828
6829         * sh.c (initial_elimination_offset):
6830         Fix RETURN_ADDRESS_POINTER_REGNUM case.
6831
6832 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
6833
6834         * integrate.c (allocate_initial_values): New function.
6835         * integrate.h (allocate_initial_values): Declare.
6836         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
6837         here...
6838         * reload1.c (reload): And initialization of reg_equiv_memory_loc
6839         from here...
6840         * toplev.c (rest_of_compilation): To here.
6841         Call allocate_initial_values.
6842         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
6843
6844 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6845
6846         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
6847
6848 2001-09-20  DJ Delorie  <dj@redhat.com>
6849
6850         * c-typeck.c (really_start_incremental_init): Discriminate
6851         between zero-length arrays and flexible arrays.
6852         (push_init_level): Detect zero-length arrays and handle them
6853         like fixed-sized arrays.
6854         * expr.c (store_constructor): Handle zero-length arrays and
6855         flexible arrays correctly.
6856         * doc/extend.texi: Update zero-length array notes.
6857
6858 2001-09-20  Jim Wilson  <wilson@redhat.com>
6859
6860         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
6861         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
6862         for issue port conflicts.
6863         (cycle_end_fill_slots): TYPE_L instructions take two slots.
6864
6865 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
6866
6867         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6868         on ia64.
6869
6870 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6871
6872         * fold-const.c (hashtab.h): Include.
6873         (int_const_binop): Remove FORSIZE arg and compute from type; all
6874         callers changed.
6875         Call size_int_type_wide for all single-word constants.
6876         (size_htab_hash, size_htab_eq): New functions.
6877         (size_int_type_wide): Rework to use hash table.
6878         * ggc-common.c (hashtab.h): Include.
6879         (struct d_htab_root): New struct.
6880         (d_htab_roots): New variable.
6881         (ggc_add_deletable_htab, ggc_htab_delete): New functions
6882         (ggc_mark_roots): Handle deletable htabs.
6883         * ggc-page.c (ggc_marked_p): New function.
6884         * ggc-simple.c (ggc_marked_p): Likewise.
6885         * ggc.h: Reformatting throughout.
6886         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
6887         * tree.c (init_obstacks): Make type_hash_table a deletable root.
6888         (type_hash_add): Allocate struct type_hash from GC memory.
6889         (mark_hash_entry, mark_type_hash): Deleted.
6890         (type_hash_marked_p, type_hash_mark): New functions.
6891         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
6892
6893 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
6894
6895         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
6896         than SImode.
6897
6898 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6899
6900         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
6901         array-too-large test for signed sizetype.
6902
6903 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
6904
6905         * i386.md (indirect_jump): Allow Pmode operand.
6906         (tablejump): LIkewise; perform expansion to 64bit mode.
6907         * i386.c (symbolic_operand): Allow 64bit PIC references.
6908         (pic_symbolic_operand): Likewise.
6909         (ix86_find_base_term): Strip the 64bit PIC references.
6910         (legitimate_pic_address_disp_p): Handle 64bit PIC.
6911         (legitimize_pic_address): Likewise.
6912         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
6913         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
6914
6915 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
6916
6917         * stringpool.c (get_identifier_with_length): New function.
6918         * tree.h (get_identifier_with_length): New prototype.
6919
6920 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
6921             David Edelsohn  <edelsohn@gnu.org>
6922
6923         Revert:
6924         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
6925         already sign-extended.
6926
6927         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
6928         * config/rs6000/rs6000.c (logical_operand): Always compare op as
6929         HOST_WIDE_INT.
6930         (rs6000_emit_set_long_const): Avoid unnecessary shift.
6931         (output_profile_hook): Declare label_name const.
6932         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
6933         to match constraints.
6934
6935 2001-09-19  Stan Shebs  <shebs@apple.com>
6936
6937         * alias.c: Fix typos in comments.
6938         * sched-rgn.c (init_ready_list): Ditto.
6939         * unwind-dw2.c (uw_frame_state_for): Ditto.
6940         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
6941         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
6942         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
6943
6944 2001-09-19  Richard Henderson  <rth@redhat.com>
6945
6946         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
6947         to the exit block.
6948         * Makefile.in (cfg.o): Depend on TM_P_H.
6949
6950 2001-09-19  Richard Henderson  <rth@redhat.com>
6951
6952         * config/alpha/alpha.c (local_symbol_p): Split out from ...
6953         (local_symbolic_operand): ... here.
6954         (small_symbolic_operand): Check mode.
6955         (global_symbolic_operand): New.
6956         (input_operand): Reject symbolics if explicit relocs.
6957         (call_operand): Tidy.
6958         (alpha_legitimize_address): Use movdi_er_high_g.
6959         (alpha_expand_mov): Likewise.
6960         * config/alpha/alpha-protos.h: Update.
6961         * config/alpha/alpha.h (PREDICATE_CODES): Update.
6962         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6963         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6964         (UNSPECV_LDGP2): Remove.
6965         (all call patterns): Use 's' not 'i' for symbolic constraint.
6966         (call_osf call_value_osf): Use call_operand.
6967         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
6968         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6969         (prologue_ldgp_1_er): Remove.
6970         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6971         (builtin_setjmp_receiver_er patterns): Use them.
6972         (exception_receiver_er): Likewise.
6973
6974 2001-09-19  Richard Henderson  <rth@redhat.com>
6975
6976         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6977
6978         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6979         and NON_LOCAL_GOTO notes.
6980         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
6981         copy over CALL_INSN_FUNCTION_USAGE.
6982
6983 2001-09-18  Catherine Moore  <clm@redhat.com>
6984
6985         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
6986         Define as 0.
6987
6988 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
6989
6990         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
6991         new-style tm_file specification.  Specify correct tm_p_file,
6992         md_file, and out_file for s390x.
6993
6994         * config/s390/linux.h, linux64.h:  Don't include other target
6995         macro header files.  Now handled via tm_file.
6996
6997         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
6998         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6999         are defined before use.
7000
7001 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
7002
7003         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
7004         code generation only for Gnu assembler.
7005
7006 2001-09-18  Catherine Moore  <clm@redhat.com>
7007
7008         * config/stormy16 (LIB_SPEC): Remove -lnosys.
7009
7010 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
7011
7012         * config/mips/mips.c (mips_frame_set): New.
7013         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
7014         a parallel frame-related expression with a set for each register.
7015
7016 2001-09-18  Philip Blundell  <philb@gnu.org>
7017
7018         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
7019         header files.
7020
7021 2001-09-17  Dale Johannesen  <dalej@apple.com>
7022
7023         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
7024         * config/rs6000/aix.h (FIXED_R2): Define.
7025         * config/rs6000/darwin.h (FIXED_R2): Define.
7026         * config/rs6000/sysv4.h (FIXED_R2): Define.
7027
7028 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
7029
7030         * except.c (dw2_build_landing_pads): New local
7031         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
7032         barrier after clobbers.  Fixes c++/4012.
7033
7034 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7035
7036         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
7037
7038 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
7039
7040         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
7041         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
7042
7043 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7044
7045         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
7046         alloca/strcpy.
7047
7048 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7049
7050         * cpphash.h (_cpp_lex_direct): New.
7051         * cpplex.c (_cpp_lex_token): Update.
7052         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
7053         and increment that pointer.
7054         * cppmacro.c (alloc_expansion_token): New.
7055         (lex_expansion_token): Lex macro expansion directly into
7056         macro storage.
7057
7058 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
7059
7060         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
7061
7062 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
7063
7064         * basic-block.h (free_bb_for_insn): Declare.
7065         * bb-reorder.c (label_for_bb): Use block_label.
7066         (emit_jump_to_block_after): Remove.
7067         (insert_intra_1): Do not update block_for_insn.
7068         (insert_inter_bb_scope_notes): Likewise; update bb->end
7069         * cfg.c (free_bb_for_insn): New.
7070         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
7071         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
7072         (commit_one_edge_insertion): Likewise.
7073         (commit_one_edge_insertion): Do not update BB boundary.
7074         (commit_edge_insertions): Do not call compute_bb_for_insn.
7075         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
7076         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
7077         (merge_blocks_move_successor_nojumps): Likewise.
7078         (try_crossjump_to_edge): Do not update block_for_insn.
7079         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
7080         * df.c (df_pattern_emit_later): Do not update BB boundary.
7081         (df_jump_pattern_emit_after): Likewise.
7082         (df_insn_move_before): Use emit_insn_before.
7083         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
7084          properly.
7085         (add_insn_after, add_insn_before, emit_insns_after): Update BB
7086         boundaries and basic_block_for_insn.
7087         (reorder_insns_nobb): Rename from reorder_insns.
7088         (reorder_insns): New.
7089         (emit_block_insn_before, emit_block_insn_after): Kill.
7090         * flow.c (check_function_return_warnings): Do not call
7091         compute_bb_for_insn; Do not free basic_block_for_insn.
7092         (attempt_auto_inc): Do not update basic_block_for_insn.
7093         * function.c (emit_return_into_block): Likewise;
7094         do not update BB boundaries.
7095         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
7096         (insert_insn_end_bb): Use emit_insn_before; Likewise.
7097         (pre_insert_copy_insn): Likewise.
7098         (update_ld_motion_notes): Likewise.
7099         (insert_insn_start_bb): Likewise.
7100         (replace_store_insn): Likewise.
7101         * ifcvt.c (noce_process_if_block): Likewise.
7102         (if_convert): Do not call compute_bb_for_insn.
7103         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
7104         Use emit_insn_before and emit_insn_after.
7105         * recog.c (split_all_insns): Do not update BB boundaries;
7106         Do not call compute_bb_for_insn.
7107         (peephole2_optimize): Do not update BB boundaries.
7108         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
7109         emit_insn_before.
7110         (emit_swap_insn): Likewise.
7111         (convert_regs_1): Likewise.
7112         * reload1.c (reload): Call compute_bb_for_insn.
7113         * rtl.h (reorder_insns_nobb): Declare.
7114         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
7115         * toplev.c (rest_of_compilation): Call free_bb_for_insn
7116         at places CFG is invalidated; do not call compute_bb_for_insn.
7117
7118         * cfg.c (expunge_block): Invalidate BB structure.
7119
7120         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
7121         array.
7122
7123         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
7124
7125 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
7126
7127         * cpphash.h (_cpp_lex_token): Update prototype.
7128         * cpplex.c (_cpp_lex_token): New prototype.
7129         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
7130         lex_macro_node, read_flag, do_pragma_poison): Update.
7131         * cppmacro.c (cpp_get_token, parse_params,
7132         lex_expansion_token): Update.
7133
7134 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
7135
7136         * cppmain.c (scan_translation_unit): Don't worry about
7137         putting a space after hashes.
7138         * cpplib.c (directive_diagnostics): New.
7139         (_cpp_handle_directive): Update to use directive_diagnostics.
7140         (run_directive): Don't toggle prevent_expansion.
7141         (do_line): Backup in case of the line extension.
7142         * cpplib.h (cpp_lexer_pos): Remove.
7143         * cppmacro.c (_cpp_create_definition): Precede a leading #
7144         with whitespace.
7145
7146 2001-09-15  Richard Henderson  <rth@redhat.com>
7147
7148         * c-typeck.c (comptypes): Handle zero-length arrays properly.
7149
7150 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7151
7152         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
7153
7154 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7155
7156         PR preprocessor/3571
7157         * tradcpp.c (handle_directive): Skip non-vertical space.
7158
7159 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7160
7161         * cppmain.c (setup_callbacks): Set line callback only
7162         if outputting preprocessed source.
7163
7164 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7165
7166         * collect2.c (main): Const-ification.
7167         * gcc.c (translate_options, process_command): Use xstrdup in
7168         lieu of xmalloc/strcpy.
7169         (main): Use concat in lieu of xmalloc/strcpy/strcat.
7170
7171 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7172
7173         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
7174         example.
7175
7176 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7177
7178         * scan-decls.c (scan_decls): Fix typo.
7179
7180 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7181
7182         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
7183         Split mlstring_pos into mls_line and mls_col.
7184         * cppinit.c (cpp_create_reader): Initialize line to 1.
7185         (cpp_destroy): Free tokenruns.
7186         (push_include): Don't update lexer_pos.
7187         * cpplex.c (unterminated, parse_string): Update.
7188         (lex_token): Don't update lexer_pos, update.
7189         * cpplib.c (if_stack): Save line instead of line + col.
7190         (start_directive, _cpp_do__Pragma, do_else, do_elif,
7191         push_conditional, _cpp_pop_buffer): Update.
7192         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
7193         (_cpp_create_definition): Update.
7194
7195 2001-09-15  Eric Christopher  <echristo@redhat.com>
7196
7197         * config/mips/abi64.h: Add support for MEABI.
7198
7199 2001-09-15  Eric Christopher  <echristo@redhat.com>
7200
7201         * config/mips/mips.md: Add unspec #2.
7202         (reload_indi): Use.
7203         (reload_outdi): Ditto.
7204         (reload_outsi): Ditto.
7205         (HILO_delay): New.
7206
7207 2001-09-15  Eric Christopher  <echristo@redhat.com>
7208             Jason Eckhardt  <jle@redhat.com>
7209
7210         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
7211         * config/mips/isa32-linux.h: New file.
7212         * config/mips/isa3264.h: Ditto.
7213         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
7214         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
7215         (output_block_mode): Support MEABI.
7216         (function_arg): Ditto. Fix floating point arg passing.
7217         (mips_va_start): Ditto.
7218         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
7219         processors.
7220         (mips_asm_file_start): Add new section to pass abi to gdb.
7221         (function_arg_pass_by_reference): Support MEABI.
7222         (mips_parse_cpu): Support mips32 and mips64 processors.
7223         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
7224         TARGET_MIPS5KC.  Support isa32 and isa64.
7225         (processor_type): Add r4kc, r5kc, r20kc.
7226         (GENERATE_MULT3_SI): New.
7227         (GENERATE_MULT3_DI): Ditto.
7228         (GENERATE_MULT3): Remove.
7229         (ISA_HAS_64BIT_REGS): Add isa == 64.
7230         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
7231         (ISA_HAS_MADD_MSUB): New.
7232         (ISA_HAS_CLZ_CLO): Ditto.
7233         (ISA_HAS_DCLZ_DCLO): Ditto.
7234         (ABI_GAS_ASM_SPEC): New.
7235         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
7236         (ASM_SPEC): Ditto.
7237         (LINK_SPEC): Ditto.
7238         (SUBTARGET_CC1_SPEC): Ditto.
7239         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
7240         (PAD_VARARGS_DOWN): Support MEABI.
7241         (HARD_REGNO_NREGS): Move to mips.c.
7242         (ASM_OUTPUT_IDENT): Add #undef.
7243         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
7244         (mulsi3): Use GENERATE_MULT3_SI.
7245         (mulsi3_mult3): Ditto.  Support mips32, mips64.
7246         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
7247         (mul_sub_si): New pattern.
7248         (unnamed splitters): New.
7249         (muldi3): Use GENERATE_MULT3_DI.
7250         (muldi3_internal2): Ditto.
7251         (movdicc): Support mips32.
7252         * config/mips/t-isa3264: New file.
7253
7254 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
7255
7256         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
7257         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
7258         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
7259
7260         * reorg.c (fill_slots_from_thread): After call to
7261         steal_delay_list_from_target, update own_thread as new_thread may
7262         have branched.
7263
7264 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7265
7266         * cpperror.c (print_location): Take line and column, for
7267         default positioning use the previously lexed token.
7268         (_cpp_begin_message): Take line and column.
7269         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
7270         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
7271         * cpphash.h (_cpp_begin_message): Update prototype.
7272         * cppinit.c (push_include): Don't set output line.
7273         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
7274         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
7275         (do_pragma): Kludge for front ends.  Don't expand macros at all.
7276         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
7277         (struct cpp_token): Remove output_line.
7278         (struct cpp_callbacks): New member line_change.
7279         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
7280         cpp_get_token): Preserve BOL flag.
7281         (cpp_get_line): Remove.
7282         (_cpp_backup_tokens): Remove useless abort().
7283         * cppmain.c (cb_line_change): New.
7284         (scan_translation_unit): Don't worry about starting new lines here.
7285         * scan-decls.c (scan_decls): Update.
7286         * c-lex.c (c_lex, init_c_lex): Update.
7287         (cb_line_change, src_lineno): New.
7288
7289 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
7290
7291         * tree.c (append_random_chars): Generate the random
7292         characters in a reproducable fashion.
7293
7294 2001-09-14  Richard Henderson  <rth@redhat.com>
7295
7296         * config/i386/i386.c (internal_label_prefix): New.
7297         (internal_label_prefix_len): New.
7298         (override_options): Set them.
7299         (local_symbolic_operand): New.
7300         (legitimate_pic_address_disp_p): Use it.
7301         (legitimize_pic_address): Likewise.
7302
7303 2001-09-14  Marc Espie <espie@openbsd.org>
7304
7305         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
7306         correctly.
7307
7308 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7309
7310         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
7311         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
7312
7313 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
7314
7315         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
7316         invocation of SUBREG_REGNO_OFFSET.
7317
7318         * haifa-sched.c: Fix typo in FSF copyright statement.
7319         * sched-deps.c: Fix typo in FSF copyright statement.
7320         * sched-ebb.c: Fix typo in FSF copyright statement.
7321         * sched-rgn.c: Fix typo in FSF copyright statement.
7322         * sched-vis.c: Fix typo in FSF copyright statement.
7323
7324         * config.gcc: Move inclusion of arm elf specific header files
7325         from the files themselves into the tm_file variable.  Make
7326         sure that elfos.h is included before target specific elf
7327         headers.
7328         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
7329         already defined.
7330         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
7331         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
7332         ASM_OUTPUT_CASE_LABEL): Protect definition.
7333         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
7334         not already defined.
7335         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
7336         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
7337         Remove duplicate definition.
7338         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
7339         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
7340         (RDATA_SECTION_FUNCTION): Remove redundant definition.
7341         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
7342         Remove inclusion of arm/elf.h.
7343         * config/arm/unknown-elf.h: as for conix-elf.h.
7344         (STARTFILE_SPEC): Include crti.o and crtn.o.
7345         * config/arm/linux-elf.h: as for conix-elf.h.
7346         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
7347         * config/arm/strongarm-elf.h: Remove inclusion of
7348         unknown-elf.h.
7349         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
7350         * config/arm/unknown-elf-oabi.h: Remove inclusion of
7351         unknown-elf.h and elf.h.
7352         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
7353         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
7354         ASM_WEAKEN_LABEL): Remove redundant definition.
7355         * config/arm/elf.h: Test for inclusion of elfos.h
7356         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
7357         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
7358         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
7359         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
7360         redundant definition.
7361         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
7362         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
7363         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
7364         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
7365         Add rules to build crti.o and crtn.o
7366         * crti.asm: New file.
7367         * crtn.asm: New file.
7368
7369 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
7370
7371         * c-parse.in (_yylex): Use _cpp_backup_tokens.
7372         * cpphash.h (struct tokenrun): Add prev.
7373         (struct lexer_state): Remove bol.
7374         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
7375         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
7376         : Remove.
7377         * cppinit.c (cpp_create_reader): Don't set bol.
7378         (cpp_destroy): Don't free lookaheads.
7379         * cpplex.c (lex_directive): Remove.
7380         (next_tokenrun): Update.
7381         (_cpp_lex_token): Clean up logic.
7382         (lex_token): Update to return a pointer to lexed token, since it
7383         can move to the start of the buffer.  Simpify newline handling.
7384         * cpplib.c (SEEN_EOL): Update.
7385         (skip_rest_of_line): Remove lookahead stuff.
7386         (end_directive): Line numbers are already incremented.  Revert
7387         to start of lexed token buffer if we can.
7388         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
7389         parse_answer): Use _cpp_backup_tokens.
7390         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
7391         instead.  Don't check for EOL.
7392         (do_include_common, do_line, do_pragma_system_header): Use
7393         skip_rest_of_line.
7394         * cpplib.h (BOL, _cpp_backup_tokens): New.
7395         * cppmacro.c (save_lookahead_token, take_lookahead_token,
7396         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
7397         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
7398         (builtin_macro): Don't use cpp_get_line.
7399         (cpp_get_line): Short term kludge.
7400         (parse_arg): Handle directives in arguments here.  Back up when
7401         appropriate.  Store EOF at end of argument list.
7402         (funlike_invocation_p): Use _cpp_backup_tokens.
7403         (push_arg_context): Account for EOF at end of list.
7404         (cpp_get_token): Remove lookahead stuff.  Update.
7405
7406 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7407
7408         * c-parse.in (yyerror): Const-ification and/or static-ization.
7409         * c-typeck.c (push_member_name): Likewise.
7410         * collect2.c (main): Likewise.
7411         * dbxout.c (dbxout_parms): Likewise.
7412         * diagnostic.c (format_with_decl): Likewise.
7413         * dwarf2out.c (output_ranges): Likewise.
7414         * dwarfout.c (fundamental_type_code): Likewise.
7415         * except.c (dw2_output_call_site_table): Likewise.
7416         * gcc.c (do_spec_1): Likewise.
7417         * genopinit.c (optabs): Likewise.
7418         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
7419         gen_declaration_1, handle_impent): Likewise.
7420         * protoize.c (default_include, in_system_include_dir, abspath):
7421         Likewise.
7422         * sched-vis.c (visualize_stall_cycles): Likewise.
7423         * sdbout.c (plain_type_1, sdbout_end_function,
7424         sdbout_end_epilogue): Likewise.
7425         * varasm.c (decode_reg_name): Likewise.
7426
7427         * 1750a.c (mod_regno_adjust): Likewise.
7428         * alpha.c (alpha_write_one_linkage,
7429         unicosmk_output_default_externs): Likewise.
7430         * arm.c (arm_condition_codes): Likewise.
7431         * arm.h (arm_condition_codes): Likewise.
7432         * avr.c (output_movsisf, encode_section_info): Likewise.
7433         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
7434         Likewise.
7435         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7436         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7437         * m88k.c (output_function_profiler): Likewise.
7438         * mips.c (mips_output_conditional_branch): Likewise.
7439         * ns32k.c (ns32k_out_reg_names): Likewise.
7440         * ns32k.h (ns32k_out_reg_names): Likewise.
7441         * pj.c (pj_output_rval): Likewise.
7442         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
7443         * sparc.c (sparc_flat_function_prologue,
7444         sparc_flat_function_epilogue): Likewise.
7445
7446 2001-09-13  Markus Werle <numerical.simulation@web.de>
7447             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7448
7449         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
7450         Aachen University of Technology".
7451
7452 2001-09-13  Andreas Schwab  <schwab@suse.de>
7453
7454         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
7455         C99.
7456
7457 2001-09-13  Richard Henderson  <rth@redhat.com>
7458
7459         * config/alpha/alpha.c (small_symbolic_operand): New.
7460         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
7461         (some_operand, input_operand): Don't handle HIGH.
7462         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
7463         (alpha_expand_mov): Likewise.
7464         (print_operand) [H]: Just print HIGH symbol.
7465         (print_operand_address): Handle small data.
7466         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
7467         (TARGET_SWITCHES): Add -msmall-data/large-data.
7468         (PIC_OFFSET_TABLE_REGNUM): New.
7469         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
7470         (PREDICATE_COES): Update.
7471         * config/alpha/alpha.md (adddi_er_high): New.
7472         (adddi_er_low): Handle small data.
7473         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
7474         prefer .sdata to .rodata.
7475         (SELECT_RTX_SECTION): Likewise.
7476
7477 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
7478
7479         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
7480         defining __size_t and leaving size_t undefined.
7481
7482 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
7483
7484         * basic-block.h (expunge_block): Declare.
7485         * cfg.c (expunge_block): Remove static declaration.
7486
7487 2001-09-12  Richard Henderson  <rth@redhat.com>
7488
7489         * integrate.c (copy_insn_list): Copy label name from
7490         NOTE_INSN_DELETED_LABEL.
7491
7492 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7493
7494         * c-common.c (c_tree_code_name): Const-ification.
7495         * c-decl.c (c_decode_option): Likewise.
7496         * c-typeck.c (warn_for_assignment): Likewise.
7497         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
7498         Likewise.
7499         * cppinit.c (output_deps): Likewise.
7500         * dependence.c (dependence_string, direction_string): Likewise.
7501         * dwarf2out.c (output_ranges): Likewise.
7502         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
7503         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
7504         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
7505         standard_startfile_prefix, standard_startfile_prefix_1,
7506         standard_startfile_prefix_2, tooldir_base_prefix,
7507         standard_bindir_prefix, find_a_file): Likewise.
7508         * genattrtab.c (make_length_attrs): Likewise.
7509         * gencheck.c (tree_codes): Likewise.
7510         * genemit.c (gen_split): Likewise.
7511         * genrecog.c (special_mode_pred_table): Likewise.
7512         * graph.c (graph_ext): Likewise.
7513         * protoize (default_include): Likewise.
7514         * reload.c (reload_when_needed_name): Likewise.
7515         * sched-vis.c (visualize_stall_cycles): Likewise.
7516         * tlink.c (recompile_files): Likewise.
7517         * toplev.c (decode_g_option): Likewise.
7518         * tradcpp.c (output_deps): Likewise.
7519         * varasm.c (decode_reg_name): Likewise.
7520
7521         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
7522         Const-ification.
7523         * arm.md: Likewise.
7524         * avr.c (avr_regnames, encode_section_info): Likewise.
7525         * c4x.c (float_reg_names): Likewise.
7526         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
7527         * elfos.h (const_section): Likewise.
7528         * i386.c (ix86_comp_type_attributes): Likewise.
7529         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
7530         * ia64/aix.h (UNIQUE_SECTION): Likewise.
7531         * ia64.c (type_names): Likewise.
7532         * m68hc11.c (reg_class_names): Likewise.
7533         * m88k.c (m_options): Likewise.
7534         * mips.c (mips_output_conditional_branch, mips_unique_section):
7535         Likewise.
7536         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7537         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
7538         ultra_code_names): Likewise.
7539         * sparc.h (OVERRIDE_OPTIONS): Likewise.
7540
7541 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
7542
7543         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
7544         Use --fatal-warnings option for gas.
7545         * configure: Rebuilt.
7546
7547 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7548
7549         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
7550
7551 2001-09-11  Jim Wilson  <wilson@redhat.com>
7552
7553         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
7554
7555 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7556
7557         * builtins.c (c_strlen): Treat an offset too large for a
7558         HOST_WIDE_INT as out of range.
7559
7560 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
7561
7562         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
7563         (EDGE_CRITICAL_P): New predicate.
7564         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
7565         handling.
7566         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
7567         (dump_edge_info): Remove "crit".
7568         * cfganal.c (mark_critical_edges): Kill.
7569         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
7570         * cfgcleanup.c (cleanup_cfg): Likewise.
7571         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
7572         (find_spanning_tree): Likewise.
7573         * reg-stack.c (convert_regs_1): Likewise.
7574         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
7575
7576         * basic-block.h (create_basic_block_structure): New.
7577         (create_basic_block): Update prototype.
7578         (force_nonfallthru): New.
7579         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
7580         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
7581         handle updating of block_for_insn, creating of empty BBs and BBs at
7582         the end of INSN chain.
7583         (create_basic_block): New function.
7584         (split_block): Use create_basic_block.
7585         (force_nonfallthru_and_redirect): Break out from ...; cleanup
7586         (redirect_edge_and_branch_force): ... here.
7587         (force_nonfallthru): New.
7588         (split_edge): Rewrite to use force_nonfallthru and create_block.
7589         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
7590         (find_basic_blocks): Free basic_block_for_insn.
7591         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
7592
7593         * cfg.c: Fix formating.
7594         * cfgcleanup.c: Fix formating.
7595         (merge_blocks, tail_recursion_label_p): Return bool.
7596         (merge_blocks_move_predecessor_nojumps,
7597          merge_blocks_move_successor_nojumps): Return void.
7598
7599 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
7600
7601         * configure.in: Check whether assembler supports section merging.
7602         * config.in: Rebuilt.
7603         * configure: Rebuilt.
7604         * varasm.c (variable_section, output_constant_pool): Pass alignment
7605         to SELECT_SECTION and SELECT_RTX_SECTION.
7606         (mergeable_string_section): New.
7607         (mergeable_constant_section): New.
7608         (default_elf_asm_named_section): Output SECTION_MERGE and
7609         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7610         * output.h (mergeable_string_section): New.
7611         (mergeable_constant_section): New.
7612         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
7613         * toplev.c (flag_merge_constants): New.
7614         (f_options): Add -fmerge-constants and -fmerge-all-constants
7615         options.
7616         (toplev_main): Default to -fno-merge-constants if not optimizing.
7617         * flags.h (flag_merge_constants): Add extern.
7618         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
7619         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
7620         argument.
7621         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
7622         Define if assembler has working .subsection -1 support.
7623         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
7624         Put constant into special SHF_MERGE sections if the linker should
7625         attempt to merge duplicates.
7626         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
7627         macro argument.
7628         Put constant into special SHF_MERGE sections if the linker should
7629         attempt to merge duplicates.
7630         * config/alpha/elf.h: Likewise.
7631         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
7632         has working .subsection -1 support.
7633         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
7634         SELECT_SECTION.
7635         * config/svr3.h: Likewise.
7636         * config/darwin.h: Likewise.
7637         * config/arm/aof.h: Likewise.
7638         * config/arm/linux-elf.h: Likewise.
7639         * config/avr/avr.h: Likewise.
7640         * config/c4x/c4x.h: Likewise.
7641         * config/d30v/d30v.h: Likewise.
7642         * config/i386/dgux.h: Likewise.
7643         * config/i386/osfrose.h: Likewise.
7644         * config/i386/sco5.h: Likewise.
7645         * config/i386/svr3gas.h: Likewise.
7646         * config/ia64/aix.h: Likewise.
7647         * config/m32r/m32r.h: Likewise.
7648         * config/m68k/m68k.h: Likewise.
7649         * config/m88k/dgux.h: Likewise.
7650         * config/m88k/m88k.h: Likewise.
7651         * config/mcore/mcore-pe.h: Likewise.
7652         * config/mips/mips.h: Likewise.
7653         * config/pa/pa.h: Likewise.
7654         * config/pa/pa-linux.h: Likewise.
7655         * config/romp/romp.h: Likewise.
7656         * config/rs6000/sysv4.h: Likewise.
7657         * config/rs6000/xcoff.h: Likewise.
7658         * config/s390/linux.h: Likewise.
7659         * config/sparc/sparc.h: Likewise.
7660         * config/sparc/sysv4.h: Likewise.
7661         * config/stormy16/stormy16.h: Likewise.
7662         * config/v850/v850.h: Likewise.
7663         * config/vax/vms.h: Likewise.
7664         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
7665         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7666         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
7667         default_elf_asm_named_section for SHF_MERGE sections.
7668
7669 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
7670
7671         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
7672         is OK.
7673
7674 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
7675
7676         * c-common.c (split_specs_attrs): Allow for empty attributes with
7677         empty TREE_PURPOSE.  Fixes PR c/4294.
7678
7679 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
7680
7681         * basic-block.h (cached_make_edge, make_single_succ): New.
7682         (make_edge): Remove first parameter.
7683         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
7684         * cfg.c (cached_make_edge): Rename from make_edge; return newly
7685         created edge; use obstack allocation.
7686         (make_edge, make_single_succ_edge): New.
7687         (first_removed_edge): New static variable.
7688         (init_flow): Initialize first_removed_edge and n_edges.
7689         (clear_edges): Use remove_edge.
7690         (flow_delete_block): Likewise.
7691         (remove_edge): Add removed edges to the removed edges list.
7692         (split_block, redirect_edge_and_branch_force, split_edge):
7693         Use make_edge.
7694         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
7695         (add_noreturn_fake_exit_edges): Likewise.
7696         (connect_infinite_loops_to_exit): Liekwise.
7697         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
7698         Use cached_make_edge.
7699         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
7700         * profile.c (branch_prob): Update make_edge call.
7701         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7702
7703 2001-09-11  Richard Henderson  <rth@redhat.com>
7704
7705         * config/alpha/alpha.c: Tidy formatting.
7706         (local_symbolic_operand): Verify mode.
7707         (alpha_sa_mask): Ignore unicos for eh_return.
7708         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
7709         * config/alpha/alpha.md (umk divsi patterns): Remove.
7710         (extendsfdf2): Remove unicos check.
7711         (tablejump): Merge vms and unicos code; always use direct set
7712         plus label_ref use.
7713
7714 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7715
7716         * config.gcc (alpha*-*-unicosmk*): New target.
7717
7718         * config/alpha/alpha-protos.h (symbolic_operand,
7719         unicosmk_add_call_info_word, unicosmk_add_extern,
7720         unicosmk_defer_case_vector, unicosmk_unique_section,
7721         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
7722         unicosmk_asm_file_start, unicosmk_asm_file_end,
7723         unicosmk_output_common): Declare.
7724
7725         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
7726         direct_return, function_arg, alpha_va_start, alpha_va_arg,
7727         alpha_does_function_need_gp, alpha_end_function): Support Cray
7728         Unicos/Mk.
7729         (alpha_init_machine_status, alpha_mark_machine_status,
7730         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
7731         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
7732         unicosmk_asm_named_section, unicosmk_insert_attributes,
7733         unicosmk_section_type_flags, symbolic_operand,
7734         unicosmk_output_module_name, unicosmk_output_default_externs,
7735         unicosmk_output_dex, unicosmk_output_externs,
7736         unicosmk_output_addr_vec, unicosmk_ssib_name,
7737         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
7738         unicosmk_asm_file_end, unicosmk_output_common,
7739         unicosmk_section_type_flags, unicosmk_unique_section,
7740         unicosmk_add_call_info_word, unicosmk_text_section,
7741         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
7742         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
7743         unicosmk_dex_count, unicosmk_special_name): New.
7744         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
7745         TARGET_ABI_UNICOSMK.
7746         (get_aligned_mem, alpha_expand_unaligned_load,
7747         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
7748         alpha_expand_unaligned_store_words): Support big-endian mode.
7749         (print_operand): Likewise. New format specifier 't'. Use
7750         TARGET_AS_SLASH_BEFORE_SUFFIX.
7751         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
7752         (alpha_pv_save_size): Update with above change.
7753         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
7754         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
7755         Unicos/Mk.
7756
7757         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
7758         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
7759         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
7760         (EXTRA_CONSTRAINT): New constraint 'U'.
7761         (PREDICATE_CODES): Add symbolic_operand.
7762
7763         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
7764         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
7765         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
7766         (integer division and modulus patterns): Split in default and
7767         Unicos/Mk versions.
7768         (*divmodsi_internal, *divmoddi_internal): Disable for
7769         TARGET_ABI_UNICOSMK.
7770         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
7771         little-endian and big-endian versions.
7772         (ext, ins, msk): Likewise.
7773         (extv, extzv, insv): Support big-endian mode.
7774         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
7775         (call_umk, call_value_umk, *call_umk, tablejump_umk,
7776         *tablejump_umk_internal, *call_value_umk): New.
7777         (*movdi_nofix): Add pattern for loading an address into a register on
7778         TARGET_ABI_UNICOSMK.
7779         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
7780         (umk_mismatch_args, arg_home_umk): New.
7781         (various insns): Don't use mov, fmov, nop, fnop and unop.
7782         (realign): Support TARGET_ABI_UNICOSMK.
7783
7784         * config/alpha/unicosmk.h: New file.
7785         * config/alpha/t-unicosmk: New file.
7786
7787         * fixinc/inclhack.def (unicosmk_restrict): New.
7788         * fixinc/fixincl.x: Regenerate.
7789
7790         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
7791         (wchar_t): Check for and define __WCHAR_T__.
7792
7793 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
7794
7795         * combine.c (simplify_shift_const): Treat shifts by the mode
7796         size as undefined.
7797
7798 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7799
7800         * cpphash.h (struct tokenrun): New.
7801         (struct cpp_context): New member bol.
7802         (struct cpp_reader): New members.
7803         (_cpp_init_tokenrun): New.
7804         * cppinit.c (cpp_create_reader): Set up the token runs.
7805         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
7806         (lex_token): New internalised version of _cpp_lex_token.  Don't
7807         handle directives or the multiple include optimization here any
7808         more.  Simply lex a token.
7809         * cpplib.c (run_directive): Clear bol.
7810         (_cpp_pop_buffer): Set bol.
7811         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
7812         arguments.
7813
7814 2001-09-11  Michael Meissner  <meissner@redhat.com>
7815
7816         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
7817         give an error if the user uses -mfp32.
7818         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
7819         default options.
7820         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
7821         floating point register size.
7822         (EXTRA_SPECS): Add CPP_FPR_SPEC.
7823
7824         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
7825         HOST_WIDE_INT_PRINT_DEC to properly print the result of
7826         int_size_in_bytes.
7827         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7828         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7829
7830 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
7831
7832         * dbxout.c (dbxout_parms): Fix typo in comment.
7833         * unroll.c (loop_find_equiv_value): Ditto.
7834         * toplev.c (rest_of_compilation): Ditto.
7835         * loop.c (scan_loop): Ditto.
7836         * dwarf2out.c (struct dw_fde_struct): Ditto.
7837
7838 2001-09-10  Zack Weinberg  <zackw@panix.com>
7839
7840         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
7841         copying identifier when we're just going to throw it away.
7842         (parse_identifier_slow): New routine to handle abnormal cases.
7843         (_cpp_lex_token): Update call site.
7844
7845         * hashtable.c (ht_lookup): Don't assume that the string we've
7846         been given is NUL-terminated.
7847         * system.h: #define __builtin_expect(a, b) to (a) if not
7848         GCC >=3.0.
7849
7850 2001-09-10  Michael Meissner  <meissner@redhat.com>
7851
7852         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
7853         binutils, gdb.
7854
7855 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
7856
7857         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
7858
7859 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7860
7861         * builtins.c (c_getstr): Correct thinko in last change and further
7862         cleanup.
7863
7864 2001-09-10  Tim Freeman <tim@fungibole.com>
7865
7866         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
7867         into varray's and register them as roots with the garbage
7868         collector so they are not collected too soon.
7869
7870 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
7871
7872         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7873         New.
7874         * basic-block.h (flow_obstack, label_value_list,
7875         tail_recursion_label_list): Declare
7876         (tidy_fallthru_edges): Declare.
7877         (expunge_block, last_loop_beg_note): Delete.
7878         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
7879         * cfg.c: New file
7880         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
7881         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
7882         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
7883         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
7884         expunge_block, flow_delete_block, compute_bb_for_insn,
7885         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
7886         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
7887         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
7888         try_redirect_by_replacing_jump, last_loop_beg_note,
7889         redirect_edge_and_branch, redirect_edge_and_branch_force,
7890         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
7891         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
7892         commit_edge_insertions, dump_flow_info, debug_flow_info,
7893         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
7894         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
7895         Move here from flow.c
7896         * cfganal.c: New file.
7897         (forwarder_block_p, can_fallthru, mark_critical_edges,
7898          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
7899          find_unreachable_blocks, create_edge_list, free_edge_list,
7900          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
7901          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
7902          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
7903          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
7904          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
7905          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
7906         Move here from flow.c
7907         * cfgbuild.c: New file
7908         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
7909          make_edges, find_basic_blocks_1, find_basic_blocks,
7910          find_sub_basic_blocks): Move here from flow.c
7911         * cfgcleanup.c: New file.
7912         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
7913          merge_blocks_move_predecessor_nojumps,
7914          merge_blocks_move_successor_nojumps, merge_blocks,
7915          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
7916          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
7917         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
7918         if succeeded.
7919         * cfgloop.c: New file
7920         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
7921          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
7922          flow_loop_exit_edges_find, flow_loop_nodes_find,
7923          flow_loop_pre_header_scan, flow_loop_pre_header_find,
7924          flow_loop_tree_node_add, flow_loops_tree_build,
7925          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
7926          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
7927         Move here from flow.c
7928         * flow.c: Remove everything moved elsewhere
7929         * output.h (cleanup_cfg): Return bool.
7930
7931         * bb-reorder.c (reorder_block_def): Remove 'index'.
7932         (insert_intra_1): Add argument BB, set block for new note.
7933         (make_reorder_chain): Do not depdent on BB indexes.
7934         (make_reorder_chain_1): Do not use BB indexes.
7935         (label_for_bb): Likewise; set BB for new insn.
7936         (emit_jump_to_block_after): Likewise.
7937         (fixup_reorder_chain): Sanity check that all basic blocks
7938         are chained; verify newly created insn chain; remove
7939         undocnitional jump simplifying; Do not use BB indexes;
7940         properly initialize count and frequency information;
7941         dump reordered sequence.
7942         (insert_intra_bb_scope_notes): update call of insert_intra_1.
7943         (insert_inter_bb_scope_notes): Set block for new insn.
7944         (reorder_basic_blocks): Dump flow info before reoredering.
7945
7946 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7947
7948         * alias.c (clear_reg_alias_info): Use K&R format definition.
7949         Avoid unsigned warning.
7950         * builtins.c: Use "unsigned int", not "unsigned".
7951         (target_char_cast): Use host_integerp and tree_low_cst.
7952         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7953         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7954         (c_getstr): Likewise.
7955         (std_expand_builtin_va_arg): Use int_size_in_bytes.
7956         (builtin_memcpy_read_str): Avoid unsigned warning.
7957         (expand_builtin_memcpy): Alignments are unsigned.
7958         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7959         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7960         * predict.c (expensive_function_p): LIMIT now unsigned.
7961         * resource.c (mark_target_live_regs): Make some vars unsigned.
7962         * sdbout.c: Use "unsigned int", not "unsigned".
7963         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7964         (sdbout_source_line): Likewise.
7965         (sdbout_record_type_name): Remove "const" for NAME declaration.
7966         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7967
7968 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
7969
7970         * calls.c (store_one_arg): Expand comment.
7971
7972 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7973
7974         * calls.c (store_one_arg): Make sure that the entire argument is
7975         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7976
7977 2001-09-09  Richard Henderson  <rth@redhat.com>
7978
7979         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7980
7981 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
7982
7983         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7984
7985 2001-09-09  Richard Henderson  <rth@redhat.com>
7986
7987         * config/alpha/alpha.c (alpha_next_sequence_number): New.
7988         (alpha_this_literal_sequence_number): New.
7989         (alpha_this_gpdisp_sequence_number): New.
7990         (some_operand, input_operand): Add HIGH.
7991         (local_symbolic_operand): New.
7992         (alpha_encode_section_info): New.
7993         (alpha_legitimate_address_p): Allow LO_SUM.
7994         (alpha_legitimize_address): Generate HIGH+LO_SUM.
7995         (alpha_expand_mov): Likewise.
7996         (secondary_reload_class): Check memory_operand not general_operand
7997         for FP_REGS test.
7998         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7999         (alpha_expand_unaligned_store): Likewise.
8000         (alpha_expand_unaligned_load_words): Likewise.
8001         (alpha_expand_unaligned_store_words): Likewise.
8002         (alpha_expand_block_clear): Likewise.
8003         (print_operand): Handle %#, %*, %H.
8004         (print_operand_address): Handle LO_SUM.
8005         (find_lo_sum): New.
8006         (alpha_does_function_need_gp): Use it.
8007         (alpha_expand_block_move): Fix signed compare warnings.
8008         (alpha_sa_mask, alpha_align_insns): Likewise.
8009         * config/alpha/alpha-protos.h: Update.
8010         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
8011         (MASK_EXPLICIT_RELOCS): New.
8012         (TARGET_SWITCHES): Add -mexplicit-relocs.
8013         (EXTRA_CONSTRAINT): Add 'T'.
8014         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
8015         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
8016         (ENCODE_SECTION_INFO): Out line.
8017         (REDO_SECTION_INFO_P): New.
8018         (STRIP_NAME_ENCODING): New.
8019         (ASM_OUTPUT_LABELREF): New.
8020         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
8021         (PREDICATE_CODES): Update.
8022         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
8023         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
8024         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
8025         builtin_setjmp_receiver_er, exception_receiver_1_er,
8026         call_value_osf_1_er): New patterns.
8027         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
8028         (movqi, movhi, movsi): Add explicit $31 base register to lda.
8029         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
8030         (FINAL_PRESCAN_INSN): New.
8031
8032 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
8033
8034         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
8035
8036 2001-09-08  Andreas Jaeger  <aj@suse.de>
8037
8038         * i386.h (TARGET_SWITCHES): Fix description.
8039
8040 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
8041
8042         * rs6000.c (num_insns_constant): Compute number of instructions
8043         more accurately.
8044
8045         * doc/install.texi: Explain AIX exception handling work-around.
8046         Update URL for AIX fixes.
8047
8048 2001-09-07  Jim Wilson  <wilson@redhat.com>
8049
8050         * alias.c (clear_reg_alias_info): New.
8051         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
8052         * rtl.h (clear_reg_alias_info): Declare.
8053
8054 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8055
8056         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
8057         available.
8058         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
8059         (m16m,edivm,emulm): Change declaration to match definition.
8060
8061 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
8062
8063         * reload.c (push_reload): Check for subreg_lowpart_p instead of
8064         SUBREG_BYTE being 0 when determining if the inner part of a subreg
8065         can be reloaded.
8066
8067 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8068
8069         * c-common.c (signed_or_unsigned_type): Handle machine mode types
8070         which have no corresponding C type.
8071         * fold_const.c (target_isinf,target_isnan,target_negative): Update
8072         the representation of 64-bit doubles to work with 64-bit ints.
8073
8074 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
8075
8076         * config/mips/mips.c (override_options): Do not override ISA when ABI
8077         specified if MIPS_CPU_STRING_DEFAULT was specified.
8078
8079 2001-09-07  Richard Henderson  <rth@redhat.com>
8080
8081         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
8082         (express_from_1): Wrap lines.
8083         * rtlanal.c (commutative_operand_precedence): Rename from
8084         operand_preference; export.
8085         * rtl.h: Declare it.
8086         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
8087         (simplify_binary_operation): Invoke simplify_plus_minus on
8088         (CONST (PLUS ...)) as well.
8089         (struct simplify_plus_minus_op_data): New.
8090         (simplify_plus_minus_op_data_cmp): New.
8091         (simplify_plus_minus): Use them.  Avoid infinite recursion with
8092         simplify_binary_operation wrt CONST.
8093
8094 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
8095
8096         * h8300-protos.h (general_operand_dst_push): Remove.
8097         * h8300.c (general_operand_dst_push): Likewise.
8098         * h8300.h (OK_FOR_T): Likewise.
8099         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
8100         * h8300.md (pushqi_h8300): New.
8101         (pushqi_h8300hs): Likewise.
8102         (pushqi): Likewise.
8103         (pushhi_h8300): Likewise.
8104         (pushhi_h8300hs): Likewise.
8105         (pushhi): Likewise.
8106
8107 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8108
8109         * genattrtab.c (attr_printf): First arg is unsigned.
8110         Clean up formatting of callers.
8111
8112 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
8113
8114         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
8115         registers.
8116
8117 2001-09-07  Andreas Jaeger  <aj@suse.de>
8118
8119         * i386.h (TARGET_SWITCHES): Fix descriptions.
8120
8121 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8122
8123         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
8124
8125 2001-09-06  Ira Ruben  <ira@apple.com>
8126
8127         Remove OP_IDENTIFIER.
8128         * tree.def (OP_IDENTIFIER): Remove.
8129         * tree.c (tree_node_kind enum): Remove op_id_kind.
8130         (tree_node_kind_names): Remove "op_identifiers".
8131         (make_node): Remove OP_IDENTIFIER test.
8132         (build_op_identifier): Removed because it isn't being used.
8133         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
8134         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
8135
8136 2001-09-06  Richard Henderson  <rth@redhat.com>
8137
8138         * simplify-rtx.c (simplify_binary_operation): Revert last change.
8139
8140 2001-09-06  Richard Henderson  <rth@redhat.com>
8141
8142         * simplify-rtx.c (simplify_binary_operation): Simplify contents
8143         of CONST.
8144
8145 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8146
8147         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
8148         number used for CR register.
8149
8150 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
8151                           Joern Rennecke (amylaar@cygnus.com)
8152
8153         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
8154         * h8300.c (initial_offset): Handle offset between RP and FP.
8155         (h8300_return_addr_rtx): New function.
8156         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
8157         return register.
8158         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
8159         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
8160         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
8161         (CAN_ELIMINATE, REGISTER_NAMES):
8162         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
8163
8164 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
8165
8166         Remove TYPE_NONCOPIED_PARTS.
8167         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
8168         (struct tree_type): Remove noncopied_parts.
8169         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
8170         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
8171         (fixed_type_p): Remove.
8172         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
8173         (expand_expr, MODIFY_EXPR): Likewise.
8174         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
8175         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
8176
8177 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
8178
8179         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
8180         compiler warnings.
8181         (mask64_operand): Likewise.
8182         (includes_rldic_lshift_p): Likewise.
8183         (includes_rldicr_lshift_p): Likewise.
8184
8185 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
8186
8187         * objc/objc-act.c (build_message_expr): If a class method cannot
8188         be found, do not issue a warning if a corresponding instance
8189         method exists in the root class.
8190
8191 2001-09-05  Richard Henderson  <rth@redhat.com>
8192
8193         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
8194
8195 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
8196
8197         * function.c (ggc_mark_struct_function): Mark f->outer.
8198         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
8199         * integrate.c (output_inline_function): ... not here.
8200
8201 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
8202
8203         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
8204
8205         * i386.c (size_cost): New static variable.
8206         (override_function): Use size_cost when -Os is specified.
8207
8208         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
8209         properly;  Use current_function_calls_eh_return.
8210         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
8211         use leave to avoid dependency chain.
8212
8213         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
8214         get BB loop_depth instead of computing it from LOOP notes.
8215
8216         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
8217
8218 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8219
8220         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8221         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
8222         UNALIGNED_DOUBLE_INT_ASM_OP): Define
8223
8224 2001-09-05  Jeffrey A Law  (law@cygnus.com)
8225             Jason Merrill (jason@redhat.com)
8226
8227         * stor-layout.c (layout_type): Complain if an array's size can
8228         not be represented in a size_t.
8229
8230         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
8231
8232 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
8233
8234         * gcc.c: (process_command) Add parentheses around assignment
8235         used as truth value.
8236
8237 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
8238
8239         * config/mips/mips.c (save_restore_insns): Don't mark any register
8240         save slots as unchanging if current_function_calls_eh_return.
8241
8242 2001-09-05  Richard Henderson  <rth@redhat.com>
8243
8244         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
8245         * config/alpha/alpha-protos.h: Declare it.
8246         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
8247         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
8248         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
8249         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
8250         (REG_OK_FOR_BASE_P): Select one of the above.
8251
8252 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
8253
8254         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
8255         (crti.o): Prefix name of object file with $(T).
8256         (crtn.o): Likewise.
8257
8258 2001-09-05  David S. Miller  <davem@redhat.com>
8259
8260         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
8261         * config/sparc/linux64.h: Likewise.
8262
8263 2001-09-05  Andreas Jaeger  <aj@suse.de>
8264
8265         * doc/invoke.texi (i386 Options): -mwide-multiply is not
8266         available anymore, remove the documentation.
8267         (i386 Options): Fix typo, cleanup index entries.
8268
8269         * prefix.c (concat): Remove, we can use the version from liberty.
8270
8271 2001-09-05  Richard Henderson  <rth@redhat.com>
8272
8273         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
8274         New functions split out of md file expanders.
8275         * config/alpha/alpha-protos.h: Declare them.
8276         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
8277
8278 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8279
8280         * cppmacro.c (funlike_invocation_p): No need to restore context.
8281
8282 2001-09-04  Richard Henderson  <rth@redhat.com>
8283
8284         * reload.c (push_reload): Export.
8285         * reload.h (push_reload): Declare it.
8286
8287         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
8288         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
8289         * config/alpha/alpha.c (alpha_legitimize_address): New.
8290         (alpha_legitimize_reload_address): Likewise.
8291         * config/alpha/alpha-protos.h: Declare them.
8292
8293 2001-09-04  Stan Shebs  <shebs@apple.com>
8294
8295         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
8296         * config/darwin.c (machopic_stub_name): Account for internally
8297         generated lib calls such as memcpy.
8298
8299 2001-09-04  Richard Henderson  <rth@redhat.com>
8300
8301         * unwind.h (_UA_END_OF_STACK): New flag.
8302         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
8303
8304 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
8305
8306         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
8307
8308 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
8309
8310         * config/mips/mips.c (save_restore_insns): Change base_offset to
8311         fp_offset in second call to mips_emit_frame_related_store.
8312
8313 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
8314
8315         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
8316         sometimes be represented as a NOTE of type
8317         NOTE_INSN_DELETED_LABEL.
8318         (Insns): Document NOTE_INSN_DELETED_LABEL.
8319
8320 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
8321
8322         * c-common.h (tree_dump_index): Add more comments.
8323         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
8324         (dump_option_value_info): New struct.
8325         (dump_options): New array.
8326         (dump_switch_p): Parse switch options symbolically.
8327         * doc/invoke.texi (-fdump-ast): Rename to ...
8328         (-fdump-tree): ... here. Document that options are symbolic, and
8329         not all are applicable.
8330
8331 2001-09-04  David S. Miller  <davem@redhat.com>
8332
8333         * config/sparc/sparc.md (define_splits): Kill constraints.
8334
8335         Cleanup redundant and unused insn attributes.
8336         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
8337         binary, and move.  Mark ialu as default.
8338         (commented out define_function_unit "alu"): Kill.
8339         (define_attr "use_clobbered"): Kill.
8340         (whole file): Kill address insn type references.  Replace
8341         all unary/binary/move references with ialu.
8342         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
8343         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
8344         TYPE_IALU.
8345
8346         Simplify length insn attribute and make more judicious use
8347         of insn attribute defaulting.
8348         * config/sparc/sparc.md (all insns with length > one): Mark as
8349         insn type multi if real instructions, else use default if
8350         it is a forced splitter.
8351         (all insns with length == one): Use default insn length.
8352         (all insns of type ialu): Use default insn type.
8353
8354         Fix erroneous insn attribute settings.
8355         (addx): Set insn type to misc.
8356         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
8357         const_umulsidi3_sp64): Set insn type to imul.
8358
8359         Track SFmode vs DFmode insns according to UltraSPARC
8360         scheduling rules.
8361         * config/sparc/sparc.md ("fptype"): New attribute, default
8362         to "single".
8363         (all DFmode single insns): Mark as fptype "double".
8364
8365 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
8366
8367         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
8368
8369 2001-09-03  Richard Henderson  <rth@redhat.com>
8370
8371         * function.h (struct function): Add arg_pointer_save_area_init.
8372         * function.c (expand_function_end): Init arg_pointer_save_area.
8373         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
8374         when called from a nested function.
8375
8376 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
8377
8378         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
8379         is enabled.
8380
8381 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
8382
8383         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
8384
8385 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
8386
8387         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
8388         (emit_push_insn): Use specified padding direction when
8389         STACK_PUSH_CODE is POST_INC.
8390
8391         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
8392
8393 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8394
8395         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
8396
8397 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
8398
8399         * cppinit.c (cpp_start_read): Free the imacros list as we
8400         traverse it.  Don't free the chains before returning.
8401         (_cpp_push_next_buffer): Only try pushing buffers if we've
8402         completed -imacros handling.
8403
8404 2001-08-31  Eric Christopher  <echristo@redhat.com>
8405
8406         * gcc.c (handle_braces): Add explaination for abort.
8407
8408 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
8409
8410         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
8411         move adjustment of bitpos instead.
8412
8413 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
8414
8415         * function.c: Remove all_functions.  Make outer_function_chain
8416         static.
8417         (init_function_start): Don't add new function structure to
8418         all_functions.
8419         (find_function_data, push_function_context_to,
8420         pop_function_context_from, put_var_into_stack,
8421         trampoline_address): Update for changed structure element names.
8422         (push_function_context_to): Disentangle.
8423         (free_after_compilation): Also free F.
8424         (expand_dummy_function_end): Don't free cfun here.
8425         (put_var_into_stack): Comment why we can't use find_function_data here.
8426         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
8427         (mark_function_chain): Split into maybe_mark_struct_function and
8428         ggc_mark_struct_function.  Export the latter.
8429         (init_function_once): Mark from cfun and outer_function_chain;
8430         not all_functions.
8431
8432         * function.h (struct function): Kill next_global.  Rename next
8433         to outer.  All users updated to match.
8434         (all_functions, outer_function_chain): Don't declare.
8435
8436         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
8437         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
8438         don't touch f->inlinable, after calling rest_of_compilation.
8439
8440         * tree.h: Forward-declare struct function.  Prototype
8441         ggc_mark_struct_function.
8442
8443 2001-08-31  Kazu Hirata  <kazu@hxi.com>
8444
8445         * config/h8300/h8300.md (*andorhi3): Fix typos.
8446
8447 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8448
8449         * calls.c (emit_library_call_value): Don't use a fixed
8450         argument after VA_CLOSE, i.e. out of scope in traditional C.
8451
8452         * emit-rtl.c (gen_rtvec): Likewise.
8453
8454 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8455
8456         * Makefile.in (c-pragma.o): Depend on output.h.
8457         (reorg.o): Depend on except.h.
8458
8459         * c-pragma.c: Include output.h.
8460
8461         * reorg.c: Include except.h.
8462
8463         * unwind-dw2.c: Call __builtin_alloca, not alloca.
8464
8465 2001-08-31  Richard Henderson  <rth@redhat.com>
8466
8467         * sched-deps.c (add_dependence): Don't elide dependency if the
8468         conditional used by insn is modified in elem.
8469
8470 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
8471
8472         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
8473
8474 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
8475
8476         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
8477         dump_switch_p.
8478
8479 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
8480
8481         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
8482         function.
8483         (stormy16_asm_out_constructor): New function.
8484         (TARGET_ASM_CONSTRUCTOR): Define.
8485         (TARGET_ASM_DESTRUCTOR): Define.
8486
8487 2001-08-31  Andreas Jaeger  <aj@suse.de>
8488
8489         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
8490         * loop.c (add_label_notes): Likewise.
8491         * reload.c (find_reloads): Likewise.
8492         * config/sh/sh.c (machine_dependent_reorg): Likewise.
8493
8494 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
8495
8496         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
8497         code here.  Take _Unwind_{W,Sw}ord*.
8498         (read_encoded_value_with_base): Use them.
8499         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
8500         words.
8501         (extract_cie_info): Simplify read_?leb128 handling.
8502         (execute_stack_op, execute_cfa_program): Likewise.
8503         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
8504
8505 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
8506
8507         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
8508         the frame pointer to pop the stack if convenient.
8509
8510         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
8511         Don't use post-increment before combine.
8512         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
8513         a call-saved register.
8514
8515 2001-08-31  Andreas Jaeger  <aj@suse.de>
8516
8517         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
8518         code was correct.
8519
8520 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
8521
8522         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
8523         not DIV/MOD, of course.
8524
8525 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
8526
8527         * rtl.def: Undo my patch commited 2001-08-27.
8528
8529         * genattrtab.c: Ditto.
8530
8531         * rtl.h: Ditto.
8532
8533         * sched-int.h: Ditto.
8534
8535         * target-def.h: Ditto.
8536
8537         * target.h: Ditto.
8538
8539         * haifa-sched.c: Ditto.
8540
8541         * sched-rgn.c: Ditto.
8542
8543         * sched-vis.c: Ditto.
8544
8545         * Makefile.in: Ditto.
8546
8547         * doc/md.texi: Ditto.
8548
8549         * doc/tm.texi: Ditto.
8550
8551         * doc/contrib.texi: Ditto.
8552
8553         * doc/gcc.texi: Ditto.
8554
8555         * genattrtab.h: Remove it.
8556
8557         * genautomata.c: Remove it.
8558
8559         * genattr.c: Undo my patch and Richard Henderson's patch commited
8560         2001-08-27.
8561
8562 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
8563
8564         * config.gcc (h8300-*-elf*): New case.
8565         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
8566         (SUBTARGET_CPP_SPEC): Define.
8567         (EXTRA_SPECS): Define.
8568         (SUBTARGET_EXTRA_SPECS): Define.
8569         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
8570         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
8571
8572 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
8573
8574         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
8575         (LIB2FUNCS_EXTRA): Define.
8576         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
8577         config/h8300/fixunssfsi.c: New file.
8578
8579 2001-08-30  Kazu Hirata  <kazu@hxi.com>
8580
8581         * config/h8300/h8300.md (zero_extendqihi2): Changes to
8582         define_expand to accommodate target-specific attributes.
8583         (anonymous zero_extendqihi2 patterns): New.
8584
8585 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
8586
8587         * h8300.md (*andorhi3): New pattern.
8588
8589 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
8590
8591         * h8300.c (dosize): Fix test for "sub".
8592
8593 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
8594
8595         * c-typeck.c (pointer_diff): Try to eliminate common term before
8596         doing conversions.
8597
8598 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
8599
8600         * config/arm/arm.c (arm_compute_initial_elimination_offset):
8601         Account for the saves of the FP registers.
8602
8603         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
8604         (TEXT_SECTION_ASM_OP): Define.
8605         (INIT_SECTION_ASM_OP): Define.
8606         (FINI_SECTION_ASM_OP): Define.
8607         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
8608         (RDATA_SECTION_FUNCITON): Provide prototype.
8609
8610 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
8611
8612         * reload1.c (move2add_note_store): Correct typo checking for
8613         argument pushes.
8614
8615 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
8616
8617         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
8618         note should not be considered outside the libcall block.
8619
8620 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8621
8622         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
8623
8624 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8625
8626         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
8627
8628 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8629
8630         * config/h8300/h8300-protos.h: Add a prototype for
8631         emit_logical_op.
8632         * config/h8300/h8300.c (emit_logical_op): New.
8633         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
8634         (andsi3): Likewise.
8635         (iorhi3): Likewise.
8636         (iorsi3): Likewise.
8637         (xorhi3): Likewise.
8638         (xorsi3): Likewise.
8639
8640 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8641
8642         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
8643         comparison with rtx INTVAL.
8644         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
8645         expression.
8646         * pa.h (FUNCTION_ARG_SIZE): Likewise.
8647
8648 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8649
8650         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
8651         comment typos.
8652
8653 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8654
8655         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
8656         (reg n) to (mem (pre_dec (reg n))
8657         (anonymous movsi pattern): Likewise.
8658
8659 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8660
8661         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
8662
8663 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8664
8665         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
8666         several special constants.
8667
8668 2001-08-29  Kazu Hirata  <kazu@hxi.com>
8669
8670         * config/h8300/lib1funcs.asm: Fix comment typos.
8671
8672 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8673
8674         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
8675         Fix format specifier warnings.
8676
8677         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
8678         inet_makeaddr, semctl): Prototype.
8679
8680         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
8681         (save_restore_insns): Use base_offset, not gp_offset.
8682
8683         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
8684         (ASM_OUTPUT_BYTE): Fix format specifier warning.
8685
8686 2001-08-29  Richard Henderson  <rth@redhat.com>
8687
8688         * bb-reorder.c (function_tail_eff_head): New.
8689         (record_effective_endpoints): Set it.
8690         (fixup_reorder_chain): Use it.
8691
8692 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8693
8694         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
8695
8696 2001-08-28  Dale Johannesen  <dalej@apple.com>
8697
8698         * config/darwin.c (machopic_function_base_name): Add const
8699         qualifier to a string.
8700         (darwin_encode_section_info): Ditto.
8701
8702 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8703
8704         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
8705         function definition.
8706
8707 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
8708
8709         * df.h (struct df): Add rts_order variable.
8710
8711         * df.c (df_visit_next_rts): New function.
8712         (df_visit_next): Renamed to df_visit_next_rc
8713         (df_analyse_1): Allocate/compute/free rts_order as well.
8714         (df_rd_global_compute): Use df_visit_next_rc instead of
8715         df_visit_next.
8716         (df_ru_global_compute): Use df_visit_next_rts instead of
8717         df_visit_next.
8718
8719         * flow.c (flow_reverse_top_sort_order_compute): New function.
8720
8721         * basic-block.h: Add prototype.
8722
8723 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
8724
8725         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
8726         blocks, the BB_REACHABLE is now set, rather than aux being
8727         non-NULL. Update the test to reflect this.
8728
8729 2001-08-28  Eric Christopher  <echristo@redhat.com>
8730
8731         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
8732         config/mips/crti.asm: Ditto.
8733
8734 2001-08-28  Eric Christopher <echristo@redhat.com>
8735             Richard Henderson <rth@redhat.com>
8736
8737         * c-pragma.h (add_weak): Move prototype from here...
8738         * output.h (add_weak): ... to here.
8739         * varasm.c (add_weak): Fix typo.
8740         * config/mips/crti.asm: New file.
8741         * config/mips/crtn.asm: Ditto.
8742         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
8743         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
8744         (INVOKE__main): Ditto.
8745         (INIT_SECTION_ASM_OP): New.
8746         (FINI_SECTION_ASM_OP): Ditto.
8747         (STARTFILE_SPEC): Add crti.
8748         (ENDFILE_SPEC): Add crtn.
8749         * config/mips/elf64.h: Same.
8750         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
8751         Remove.
8752         * config/mips/vxworks.h: Ditto.
8753         * config/mips/t-elf: Support crti and crtn.
8754
8755 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
8756
8757         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
8758         INSN_LIST.
8759
8760 2001-08-28  Richard Henderson  <rth@redhat.com>
8761
8762         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
8763         (one_cmplbi2 splitter): Remove redundant test.
8764
8765 2001-08-28  Dale Johannesen  <dalej@apple.com>
8766
8767         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
8768
8769 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
8770
8771         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
8772
8773 2001-08-28  Stan Shebs  <shebs@apple.com>
8774
8775         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
8776         (UNALIGNED_SHORT_ASM_OP): Define.
8777         (UNALIGNED_INT_ASM_OP): Define.
8778
8779 2001-08-28  Will Cohen  <wcohen@redhat.com>
8780
8781         * config/rs6000/rs6000.md (store_multiple): Correct RTL
8782         generation for first set.
8783
8784 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
8785
8786         * flow.c (redirect_edge_succ_nodup): Return new edge.
8787         (try_simplify_condjump): Use new edge.
8788         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
8789
8790         * cse.c (cse_basic_block): Skip note instructions.
8791
8792 2001-08-27  Richard Henderson  <rth@redhat.com>
8793
8794         * combine.c (combine_simplify_rtx): Don't reverse condition
8795         if there is no reverse for the condition.
8796         (simplify_comparison): Don't simplify subregs from INT to FP.
8797
8798         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
8799         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
8800         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
8801         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
8802         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
8803         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
8804
8805 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
8806
8807         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
8808         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
8809         (pushqi1): New.
8810         (adddi_dilshr32, adddi_dishl32): Only data register can be
8811         source for mem destination.
8812
8813         * expmed.c (store_bit_field): Ignore adjustment to bitpos
8814         and use bitnum to decide about register move.
8815
8816 2001-08-27  Richard Henderson  <rth@redhat.com>
8817
8818         * genattr.c (main): Emit state_t even when not doing scheduling.
8819
8820 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8821             Richard Henderson  <rth@redhat.com>
8822
8823         * gcse.c (reg_first_set, reg_last_set): Replace with ...
8824         (reg_avail_info, current_bb): ... these.
8825         (oprs_unchanged_p, record_last_reg_set_info): Use them.
8826         (compute_hash_table): Likewise.
8827
8828 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8829
8830         * flow.c (verify_flow_info): Use checksums to verify edges.
8831
8832 2001-08-27  Richard Henderson  <rth@redhat.com>
8833
8834         * genautomata.c (expand_automata): Always create a description.
8835
8836 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8837
8838         * optabs.c (expand_binop): Correctly handle the carry in multiword
8839         add/subtract operations.
8840
8841 2001-08-27  Fred Fish  <fnf@be.com>
8842
8843         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
8844         __SIZE_TYPE__.
8845
8846 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8847
8848         * reload.c (find_reloads_toplev): Back out this change:
8849
8850         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
8851
8852         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
8853         mem if the address is a mode_dependent_address_p.
8854
8855 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
8856
8857         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
8858         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8859         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8860         RTL constructions.
8861
8862         * genattr.c (main): New variable num_insn_reservations.  Increase
8863         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
8864         pipeline hazard recognizer interface.
8865
8866         * genattrtab.h: New file.
8867
8868         * genattrtab.c: Include genattrtab.h.
8869         (attr_printf, check_attr_test, make_internal_attr,
8870         make_numeric_value): Move protypes into genattrtab.h.  Define them
8871         as external.
8872         (num_dfa_decls): New global variable.
8873         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8874         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8875         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8876         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
8877
8878         * genautomata.c: New file.
8879
8880         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8881
8882         * sched-int.h: (curr_state): Add the external definition for
8883         automaton pipeline interface.
8884         (haifa_insn_data): Add comments for members blockage and units.
8885
8886         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8887         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8888         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8889         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8890         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8891         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8892         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8893         macros.
8894         (TARGET_SCHED): Use the new macros.
8895
8896         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8897         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8898         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8899         dfa_bubble): New members in gcc_target.sched.
8900
8901         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
8902         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8903         (insn_queue): Redefine it as pointer to array.
8904         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8905         INSN_QUEUE_SIZE.
8906         (max_insn_queue_index_macro_value): New variable.
8907         (curr_state, dfa_state_size, ready_try): New varaibles for
8908         automaton interface.
8909         (ready_element, ready_remove, max_issue): New function prototypes
8910         for automaton interface.
8911         (choose_ready): New function prototype.
8912         (insn_unit, blockage_range): Add comments.
8913         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8914         FUNCTION_UNITS_SIZE == 0.
8915         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8916         actual_hazard, potential_hazard): Add comments.
8917         (insn_cost): Use cost -1 as undefined value.  Remove
8918         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
8919         pipeline interface.
8920         (ready_element, ready_remove): New functions for automaton
8921         interface.
8922         (schedule_insn): Add new code for automaton pipeline interface.
8923         (queue_to_ready): Add new code for automaton pipeline interface.
8924         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8925         (debug_ready_list): Print newline when the queue is empty.
8926         (max_issue): New function for automaton pipeline interface.
8927         (choose_ready): New function.
8928         (schedule_block): Add new code for automaton pipeline interface.
8929         Print ready list before scheduling each insn.
8930         (sched_init): Add new code for automaton pipeline interface.
8931         Initiate insn cost by -1.
8932         (sched_finish): Free the current automaton state and finalize
8933         automaton pipeline interface.
8934
8935         * sched-rgn.c: Include target.h.
8936         (init_ready_list, new_ready, debug_dependencies): Add new code for
8937         automaton pipeline interface.
8938
8939         * sched-vis.c: Include target.h.
8940         (get_visual_tbl_length): Add code for automaton interface.
8941         (target_units, print_block_visualization):  Add comments.
8942
8943         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
8944         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8945         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8946         (getruntime.o, genautomata.o): New entries.
8947         (genattrtab.o): Add new dependency file genattrtab.h.
8948         (genattrtab): Add new dependencies.  Link it with `libm.a'.
8949         (getruntime.o, hashtab.o): New entries for canadian cross.
8950
8951         * doc/md.texi: Description of automaton based model.
8952
8953         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8954         Add comments.
8955         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8956         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8957         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8958         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8959         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8960         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8961         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8962         hook descriptions.
8963         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8964         MAX_DFA_ISSUE_RATE): New macro descriptions.
8965
8966         * doc/contrib.texi: Add dfa based scheduler contribution.
8967
8968         * doc/gcc.texi: Add more information about genattrtab.
8969
8970 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
8971
8972         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8973         an RTL basic block.
8974
8975 2001-08-27  Richard Henderson  <rth@redhat.com>
8976
8977         * function.c (expand_function_end): Don't init arg_pointer_save_area.
8978         (get_arg_pointer_save_area): New.  Create an init it here.
8979         (fix_lexical_addr): Use it.
8980         * function.h: Declare it.
8981         * builtins.c (expand_builtin_setjmp_receiver): Use it.
8982         * stmt.c (expand_nl_goto_receiver): Use it.
8983
8984 2001-08-27  Richard Henderson  <rth@redhat.com>
8985
8986         * final.c (final_scan_insn): Don't enter APP_ON mode for
8987         empty asm strings.
8988
8989         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8990         alignment for assemble_integer for DW_EH_PE_aligned.
8991         * except.c (output_function_exception_table): Likewise.
8992
8993 2001-08-26  Andreas Jaeger  <aj@suse.de>
8994
8995         * c-tree.h: Add prototyp for c_sizeof_nowarn.
8996
8997 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
8998
8999         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
9000
9001 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
9002
9003         * config/rs6000/rs6000.c (mask_operand): Rewrite without
9004         bit-shifting loop.
9005         (mask64_operand): Likewise.
9006         (rldic_operand): Delete.
9007         (includes_lshift64_p): Delete.
9008         (includes_rldic_lshift_p): New function.
9009         (includes_rldicr_lshift_p): New function.
9010         (print_operand): Don't call rldic_operand in case 'W'.
9011         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
9012         (includes_lshift64_p): Remove.
9013         (includes_rldic_lshift_p): Declare.
9014         (includes_rldicr_lshift_p): Declare.
9015         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
9016         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
9017         Replace match_operand rldic_operand predicate with
9018         const_int_operand.  Replace includes_lshift64_p condition with
9019         includes_rldic_lshift_p.
9020         <ashldi3_internal 64 bit rldicr patterns>: New.
9021
9022 2001-08-27  Andreas Jaeger  <aj@suse.de>
9023
9024         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
9025         * errors.c: Likewise.
9026         * final.c: Likewise.
9027         * dwarf2asm.c: Likewise.
9028         * doprint.c (checkit): Likewise.
9029         * diagnostic.c: Likewise.
9030         * collect2.c: Likewise.
9031         * calls.c: Likewise.
9032         * c-semantics.c (build_stmt): Likewise.
9033         * c-format.c (status_warning): Likewise.
9034         * c-errors.c (pedwarn_c99): Likewise.
9035         * builtins.c (validate_arglist): Likewise.
9036         * config/pj/pj.c (pj_printf): Likewise.
9037         * fix-header.c: Likewise.
9038         * gcc.c: Likewise.
9039         * gcov.c (fnotice): Likewise.
9040         * gensupport.c (message_with_line): Likewise.
9041         * mips-tfile.c: Likewise.
9042         * protoize.c (notice): Likewise.
9043         * read-rtl.c (fatal_with_file_and_line): Likewise.
9044         * rtl-error.c: Likewise.
9045         * tradcpp.c: Likewise.
9046         * tree.c: Likewise.
9047         * cp/tree.c (build_min_nt): Likewise.
9048         (build_min): Likewise.
9049         * cp/lex.c: Likewise.
9050         * cp/errfn.c: Likewise.
9051         * cp/rtti.c (create_pseudo_type_info): Likewise.
9052
9053 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
9054
9055         * df.c (df_uses_record): Return after recording all uses
9056         in ASM_OPERANDS.
9057
9058 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
9059
9060         * df.c (df_insn_modify): Realloc the INSN table here, if
9061         necessary, here, too.
9062
9063 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
9064
9065         * config/mips/mips.c (mips_function_value): Handle complex return
9066         values.
9067
9068 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
9069
9070         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
9071         unshared.
9072         * reload.c (make_memloc): Copy result if it is still
9073         reg_equiv_memory_loc[regno] on return.
9074         (subst_reloads) [ENABLE_CHECKING]: Check that none of
9075         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
9076         reg_equiv_mem are modified by the substitutions.
9077
9078 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9079
9080         * predict.c (expensive_function_p): New.
9081         * rtl.h (expensive_function_p): Declare.
9082         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
9083         (use_fast_prologue_epilogue): New static variable.
9084         (expand_prologue): Set it; emit short prologues if unset.
9085         (expand_epilogue): Likewise.
9086
9087 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
9088
9089         * config.gcc: Add stormy16-*-elf case.
9090         * config/stormy16/stormy-abi: New file.
9091         * config/stormy16/stormy16-lib2.c: New file.
9092         * config/stormy16/stormy16-protos.h: New file.
9093         * config/stormy16/stormy16.c: New file.
9094         * config/stormy16/stormy16.h: New file.
9095         * config/stormy16/stormy16.md: New file.
9096         * config/stormy16/t-stormy16: New file.
9097
9098 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9099
9100         * i386.h (no-accumulate-outgoing-args): Use proper mask.
9101
9102 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
9103
9104         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
9105         descriptor members are pointer size, not constant 4.
9106         * config/rs6000/rs6000.md (define_splits): Remove more unused
9107         constraints.
9108
9109 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9110
9111         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
9112
9113 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
9114
9115         * cp/rtti.c (VPARAMS): Fix parameter.
9116
9117 2001-08-24  Zack Weinberg  <zackw@panix.com>
9118
9119         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
9120         to zero.
9121         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
9122         to switch.
9123         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
9124         in if controlling use of insv.
9125         (extract_bit_field): Likewise, for extv and extzv.
9126
9127 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
9128
9129         * i386.md (movcc peep2): Fix load of 0.
9130
9131 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9132
9133         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
9134         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
9135
9136 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
9137
9138         * c-pragma.h: Move weak_syms and weak_decls...
9139         * varasm.c: ...here.  Now static.
9140         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
9141         depend on HANDLE_PRAGMA_WEAK.
9142
9143         * c-common.c (c_alignof, c_alignof_expr): Move here...
9144         * c-typeck.c: ...from here.
9145         * c-tree.h, c-common.h: Adjust.
9146
9147 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
9148
9149         * config/ia64/ia64.c (rws_update): If !pred, set write_count
9150         instead of incrementing it.
9151
9152         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
9153         asm ready, don't try to move them all into the same array element.
9154
9155 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
9156
9157         * function.c (thread_prologue_and_epilogue_insns): Avoid
9158         fallthru flag on edge to exit.
9159
9160         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
9161
9162         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
9163         dead edges.
9164
9165 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
9166
9167         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
9168         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
9169         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
9170         Remove prototype.
9171
9172 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
9173
9174         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
9175         replace "GNU CC" with "GCC".
9176
9177 2001-08-23  Richard Henderson  <rth@redhat.com>
9178
9179         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
9180         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
9181         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
9182         Need GR between FR and not GR_AND_FR.
9183         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
9184         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
9185         AR regs before GR regs.
9186         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
9187         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
9188         (REGISTER_MOVE_COST): Update.
9189         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
9190
9191 2001-08-23  Richard Henderson  <rth@redhat.com>
9192
9193         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
9194         a register class.
9195
9196 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
9197
9198         * reload1.c (emit_reload_insns): Don't look for notes
9199         on a NULL store_insn.
9200
9201 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9202
9203         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
9204         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
9205         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
9206         format specifier warnings.
9207         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
9208
9209 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
9210
9211         * config/i386/i386-protos.h: Correct declaration of
9212         i386_pe_asm_named_section.
9213
9214 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9215
9216         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
9217         variable i.
9218         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
9219
9220 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9221
9222         * cpperror.c (print_location): Don't show _Pragma.
9223         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
9224         and file change callback generation here.
9225         (stack_include_file): Update use of cpp_push_buffer.
9226         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
9227         (struct cpp_buffer): Remove type, pfile members.
9228         * cppinit.c (cpp_handle_option): Use free_chain.
9229         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
9230         (skip_escaped_newlines, get_effective_char, lex_percent): Take
9231         a cpp_reader rather than a cpp_buffer.
9232         (skip_escaped_newlines, get_effective_char, skip_block_comment,
9233         skip_line_comment, parse_string, lex_percent, lex_dot,
9234         _cpp_lex_token): Update accordingly.
9235         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
9236         generation here.
9237         (cpp_push_buffer): Update prototype.
9238         (run_directive): Update use of cpp_push_buffer.
9239         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
9240         handle_assertion): Update use of run_directive.
9241         * cpplib.h (enum cpp_buffer_type): Remove.
9242         (cpp_push_buffer): Update prototype.
9243         * fix-header.c (read_scan_file): Update.
9244
9245 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9246
9247         * gcc.c (struct prefix_list): Change prefix to const char *.
9248
9249 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9250
9251         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
9252
9253 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
9254
9255         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
9256         from a new MEM.
9257
9258         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
9259         a squeezable note.
9260         * rtl.h: Adjust.
9261         * ifcvt.c (dead_or_predicable): Adjust.
9262         * loop.c (find_and_verify_loops): Adjust.
9263         * stmt.c (expand_end_case): Adjust.
9264         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
9265         head and end insn pointers in the basic block, not just local copies.
9266         (merge_blocks_move_predecessor_nojumps): Likewise.
9267
9268 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
9269
9270         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
9271         bitmap.h, builtin-types.def, builtins.c, builtins.def,
9272         c-aux-info.c, c-common.c, c-common.def, c-common.h,
9273         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
9274         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
9275         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
9276         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
9277         conditions.h, config.gcc, configure.frag, configure.in,
9278         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
9279         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
9280         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
9281         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
9282         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
9283         emit-rtl.c, errors.c, errors.h, except.c, except.h,
9284         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
9285         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
9286         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
9287         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
9288         gencheck.c, gencodes.c, genconfig.c, genemit.c,
9289         genextract.c, genflags.c, gengenrtl.c, genmultilib,
9290         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
9291         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
9292         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
9293         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
9294         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
9295         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
9296         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
9297         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
9298         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
9299         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
9300         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
9301         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
9302         params.h, predict.c, predict.def, predict.h, prefix.c,
9303         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
9304         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
9305         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
9306         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
9307         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
9308         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
9309         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
9310         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
9311         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
9312         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
9313         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
9314         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
9315         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
9316         xcoffout.h: replace "GNU CC" with "GCC".
9317
9318 2001-08-21  Richard Henderson  <rth@redhat.com>
9319
9320         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
9321         (final_scan_insn): Consider jump tables data even if we have no
9322         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
9323         ADDR_VEC_ALIGN.
9324         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
9325         (ASM_OUTPUT_CASE_END): Remove.
9326         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
9327         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
9328         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
9329
9330 2001-08-21  Richard Henderson  <rth@redhat.com>
9331
9332         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
9333         at barrier insns.  Emit stop bits before barriers.
9334
9335         * flow.c (flow_find_cross_jump): Don't consider unconditional
9336         return insns for commoning.
9337
9338         * final.c (compute_alignments): Fix typo.
9339
9340         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
9341         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
9342         (store_bit_field): Use mode_for_extraction more places.
9343         (extract_bit_field): Likewise.
9344
9345 2001-08-21  Zack Weinberg  <zackw@panix.com>
9346
9347         * caller-save.c: Don't include insn-codes.h.
9348         (reg_save_code, reg_restore_code): Make arrays of int.
9349         All uses updated to match.
9350         (insert_save, insert_restore): No need to initialize "code"
9351         variable upon declaration.
9352         * Makefile.in: update dependencies; fix typo in clean rule.
9353
9354 2001-08-21  Richard Henderson  <rth@redhat.com>
9355
9356         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
9357         (merge_if_block): Handle fallout from same.
9358
9359 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9360
9361         * builtins.c (type_to_class): Fix typo in last change.
9362
9363 2001-08-21  Richard Henderson  <rth@redhat.com>
9364
9365         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
9366         ia64_asm_output_label.
9367
9368         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
9369         copy of gp while the real gp register contains garbage.
9370
9371 2001-08-21  Zack Weinberg  <zackw@panix.com>
9372
9373         * expmed.c (mode_for_extraction): New function.
9374         (store_bit_field, extract_bit_field): Use it.
9375         * expr.h: Prototype it and provide an enum for its first argument.
9376
9377         * combine.c, function.c, recog.c: Don't include insn-codes.h.
9378         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
9379         and digging through the insn_data tables.
9380         * Makefile.in: Update dependencies.
9381
9382 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9383
9384         * cppfiles.c (stack_include_file): line-map.c now handles include
9385         depth.
9386         (handle_missing_handler): Similarly.
9387         (_cpp_execute_include): Similarly.
9388         (_cpp_pop_file_buffer): Similarly.
9389         * cpphash.h (struct cpp_reader): Remove system_include_depth,
9390         buffer_stack_depth and include_depth.
9391         * cpplib.c (do_include_common): line-map.c now handles include depth.
9392         (cpp_push_buffer): Similarly.
9393         (_cpp_pop_buffer): Similarly.
9394         * cppmacro.c (builtin_macro): Update.
9395         * line-map.c (init_line_maps): Set depth.
9396         (add_line_map): Increment "used" earlier.  Update and use the
9397         include depth.
9398         (trace_include): Use the include depth.
9399         * line-map.h (struct line_maps): New member depth.
9400
9401 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9402
9403         * cppfiles.c (stack_include_file): Don't handle -H here.
9404         * cppinit.c (cpp_start_read): Set include tracing after
9405         cpp_post_options and after stacking the main file.
9406         * line-map.c (trace_include): New.
9407         (init_line_maps, add_line_map): Update.
9408         * line-map.h (struct line_maps): New member trace_includes.
9409
9410 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9411
9412         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
9413         * cppfiles.c (stack_include_file): Only stack a file if there
9414         is something to do.  Return a boolean indicating whether a
9415         buffer was stacked or not.
9416         (_cpp_execute_include): Similarly.
9417         (_cpp_read_file): Similarly.
9418         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
9419
9420 2001-08-21  Sam Steingold  <sds@gnu.org>
9421
9422         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
9423         (RECACHE): keep obufp_before_macroname up to date
9424
9425 2001-08-21  Zack Weinberg  <zackw@panix.com>
9426
9427         * stmt.c: Don't include insn-codes.h.
9428         (expand_end_case): Machine specific logic moved to expr.c.
9429         No need to worry about __builtin_classify_type.
9430         (check_for_full_enumeration_handling, emit_case_nodes):
9431         Kill #if 0 blocks.
9432
9433         * builtins.o (expand_builtin_classify_type): Split up so code
9434         can be shared with fold_builtin_classify_type.
9435         (type_to_class, fold_builtin_classify_type): New functions.
9436         (fold_builtins): Handle __builtin_classify_type.
9437
9438         * expr.c (do_tablejump): Now static.
9439         (case_values_threshold, try_casesi, try_tablejump): New;
9440         code mostly from stmt.c (expand_end_case).
9441         (expr.h): Update prototypes.
9442
9443         * Makefile.in (stmt.o): Update dependencies.
9444
9445 2001-08-21  Will Cohen  <wcohen@redhat.com>
9446
9447         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
9448         declaration of variable i.
9449         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
9450         declaration of variable i.
9451
9452 2001-08-21  Richard Henderson  <rth@redhat.com>
9453
9454         * crtstuff.c: Fix thinko last change.  Move list tails to start
9455         of CRT_END section.  Tidy ifdefs.
9456         (__EH_FRAME_BEGIN__): Always static for ELF.
9457         (__do_global_ctors_1): Rename from __frame_dummy.
9458         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
9459         name change; don't hide __EH_FRAME_BEGIN__.
9460
9461 2001-08-21  Richard Henderson  <rth@redhat.com>
9462
9463         * gdbinit.in: Move break on exit after break on fancy_abort.
9464
9465         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
9466         sized types.
9467
9468 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9469
9470         * cpphash.h (_cpp_push_next_buffer): New.
9471         * cppinit.c (do_includes): Remove.
9472         (push_include, free_chain, _cpp_push_next_buffer): New.
9473         (cpp_start_read): Use them to rework command line option handling.
9474         (cpp_handle_option): Combine handling of -include and -imacros.
9475         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
9476         appropriate.  Always insert missing \n at EOF.
9477         * cpplib.c (start_directive): Get the directive position right.
9478         * cppmain.c (cb_file_change): Always print the first line, unless
9479         preprocessed.
9480
9481 2001-08-20  Andreas Jaeger  <aj@suse.de>
9482
9483         * profile.c (compute_branch_probabilities): Remove extra new-line
9484         in error message.
9485         * flow.c (verify_flow_info): Likewise.
9486
9487 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
9488
9489         * basic-block.h (basic_block): Add new field 'flags'.
9490         (BB_REACHABLE): Define.
9491         (expunge_block): Declare.
9492         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
9493         (EXIT_BLOCK_PTR): Ditto.
9494         (expunge_block): Remove static declaration.
9495         (cleanup_cfg): Clear bb->aux on every basic block.
9496         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
9497         computing reachability.
9498         (delete_unreachable_blocks): Delete block b if b->flags has
9499         BB_REACHABLE unset.
9500
9501 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
9502
9503         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
9504
9505 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9506
9507         * sparc.c (sparc_variable_issue): Fix typo in last change.
9508
9509 2001-08-20  Richard Henderson  <rth@redhat.com>
9510
9511         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
9512
9513 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9514
9515         * pa.h (RETURN_IN_MEMORY): Improve comment.
9516
9517 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
9518
9519         * doc/invoke.texi (Profiling options): Clarify the interactions
9520         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
9521
9522 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
9523
9524         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
9525         command.
9526
9527 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9528
9529         * gcc.c (make_relative_prefix): Allocate a sufficiently large
9530         buffer.
9531
9532 2001-08-20  Richard Henderson  <rth@redhat.com>
9533
9534         * final.c (end_final): Fix typo last change.
9535
9536 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
9537
9538         * cppinit.c (init_standard_includes): The returned buffer
9539         is already malloc-ed.
9540         * gcc.c (add_prefix): Similarly.
9541         * prefix.c (translate_name): Update to support clear buffer
9542         ownership rules.
9543         (update_path): Similarly.  Be sure to free any newly allocated
9544         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
9545         (tr): New function.
9546         * prefix.h (update_path): Update prototype and document.
9547         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
9548         up and update to new buffer ownership rules.
9549         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
9550
9551 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
9552
9553         * final.c (compute_alignments): New function.
9554         (init_insn_lengths): Do not care label_align.
9555         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
9556         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
9557         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
9558         (shorted_branches): Realloc label_align array; do
9559         not call init_insn_lengths; Do not care about loop alignments.
9560         * output.h (compute_alignments): Declare.
9561         * toplev.c (rest_of_compilation): Call compute_alignments.
9562         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
9563
9564         * predict.c (block_info_def): Add npredecesors, remove nvisited;
9565         change visited to tovisit.
9566         (propagate_freq): Use faster traversing algorithm.
9567         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
9568         to tovisit; reverse meaning.
9569
9570         * predict.c (struct block_info_def): Remove nvisited.
9571         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9572         (estimate_bb_frequencies): Call mark_dfs_back_edges.
9573
9574 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
9575
9576         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
9577         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
9578         (TARGET_FUSED_MADD): New.
9579         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
9580         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
9581         the multiply-add instructions.
9582
9583 2001-08-19  Richard Henderson  <rth@redhat.com>
9584
9585         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
9586         is aligned to pointer size.
9587
9588 2001-08-19  Richard Henderson  <rth@redhat.com>
9589
9590         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
9591         display markers during final schedule.
9592
9593 2001-08-19  Richard Henderson  <rth@redhat.com>
9594
9595         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
9596
9597 2001-08-19  Richard Henderson  <rth@redhat.com>
9598
9599         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
9600         in the same string.
9601         (ASM_NAME_TO_STRING): Remove.
9602         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
9603         in the same string.  Remove support for expressions.
9604
9605 2001-08-19  Richard Henderson  <rth@redhat.com>
9606
9607         * config/i386/i386.md (tablejump): Make an expander; handle
9608         pic relative addressing here.
9609         (tablejump_1): Rename from tablejump_pic.
9610         (casesi): Remove.
9611
9612 2001-08-19  Richard Henderson  <rth@redhat.com>
9613
9614         * regclass.c (fix_register): Fix typo.
9615
9616 2001-08-18  Richard Henderson  <rth@redhat.com>
9617
9618         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
9619         (struct _Unwind_Context): Expand br_loc to hold it.
9620         (uw_frame_state_for): Handle leaf functions better.
9621         (uw_update_reg_address): Update for br_loc change.
9622
9623 2001-08-18  Richard Henderson  <rth@redhat.com>
9624
9625         * crtstuff.c: Move list heads before code that uses them.
9626         (__JCR_LIST__): Remove initial null.
9627         (frame_dummy, __frame_dummy): Do java registration here ...
9628         (__do_global_ctors_aux): ... not here.
9629
9630         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
9631         (__do_global_dtors_aux): Update to match.
9632         (__JCR_LIST__, __do_jv_register_classes): New.
9633         (.init): Call it.
9634         * config/ia64/crtend.asm (__JCR_END__): New.
9635         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
9636         instead of an indirect LTOFF22 reloc.
9637
9638 2001-08-18  Richard Henderson  <rth@redhat.com>
9639
9640         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
9641         * regclass.c (init_reg_sets_1): Fix typo.
9642         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
9643         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
9644         (ia64_compute_frame_size): Make ar.unat live when in use.
9645         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
9646         for ar.pfs; remove ar.unat handling.
9647         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
9648         call-saved.
9649         (PREDICATE_CODES): Add ar_pfs_reg_operand.
9650         * config/ia64/ia64-protos.h: Update decls.
9651         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
9652         (sibcall_pic): Likewise.
9653
9654 2001-08-18  Richard Henderson  <rth@redhat.com>
9655
9656         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
9657         pred_rel_mutex when searching for insn_group_barrier.
9658         * config/ia64/ia64.md (cycle_display): Combine the expander
9659         and insn patterns.
9660
9661         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
9662         bit before asm as needed.
9663
9664 2001-08-18  Richard Henderson  <rth@redhat.com>
9665
9666         * timevar.def (TV_MACH_DEP): New.
9667         * toplev.c (rest_of_compilation): Use it.
9668         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
9669
9670 2001-08-18  Zack Weinberg  <zackw@panix.com>
9671
9672         * unwind-dw2.c (execute_stack_op): Add default aborts to
9673         the inner switches to prevent warnings.
9674
9675 2001-08-18  Richard Henderson  <rth@redhat.com>
9676
9677         * timevar.h (struct timevar_time_def): Change element type to float.
9678         (ticks_to_msec, clocks_to_msec): Likewise.
9679         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
9680         (get_time): Likewise.
9681         (timevar_print): Adjust zero check and printing to match.
9682
9683 2001-08-18  Zack Weinberg  <zackw@panix.com>
9684
9685         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
9686         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
9687         Eliminate overfull or underfull hboxes.
9688
9689 2001-08-18  Zack Weinberg  <zackw@panix.com>
9690
9691         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
9692
9693 2001-08-18  Zack Weinberg  <zackw@panix.com>
9694
9695         * haifa-sched.c: Convert to target hooks.  Macros replaced
9696         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
9697         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
9698         MD_SCHED_FINISH, and HAVE_cycle_display.
9699         * target-def.h (TARGET_SCHED_ADJUST_COST,
9700         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
9701         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
9702         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9703         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
9704         New hook #defines to be overridden.
9705         (TARGET_SCHED): Bring them all together.
9706         (TARGET_INITIALIZER): Update.
9707         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
9708         instead of 'struct rtx_def *' throughout.
9709         (struct sched): New set of hooks for the scheduler.
9710         * Makefile.in (haifa-sched.o): Depend on target.h.
9711         * doc/tm.texi: Document the new scheduler hooks, together in
9712         their own section, instead of scattered around.
9713         Fix a bunch of underfull/overfull hboxes.
9714
9715         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
9716         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
9717         sparc.h: Don't define any of the old scheduler macros.
9718
9719         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
9720         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
9721         sparc.c: Create hook functions from code extracted from
9722         corresponding target header, or make existing hooks static, as
9723         appropriate.  Set the appropriate entries in targetm.
9724
9725         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
9726         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
9727         rs6000-protos.h, s390-protos.h, sparc-protos.h:
9728         Remove prototypes for functions which are now static.
9729
9730         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
9731         related gunk; the Haifa scheduler is now the only choice.
9732
9733 2001-08-18  Zack Weinberg  <zackw@panix.com>
9734
9735         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
9736         * genopinit.c: Put floating point divide insns in sdiv_optab.
9737         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
9738         * config/gofast.h, config/c4x/c4x.h,
9739         config/ia64/hpux_longdouble.h, config/mips/mips.h,
9740         config/pa/long_double.h, config/rs6000/sysv4.h,
9741         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
9742         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
9743         (init_optabs): Use init_optabv for overflow-trapping optabs.
9744         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
9745         cmp_optab RTX codes so have_insn_for can find them.
9746
9747         * optabs.c (expand_simple_binop, expand_simple_unop,
9748         have_insn_for, gen_sub3_insn): New interfaces.
9749         * expr.h: Prototype new functions.
9750         (enum optab_methods): Move here from optabs.h.
9751
9752         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
9753         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
9754         Use new functions instead of working directly with optabs.
9755         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
9756         unroll.c: Don't include optabs.h.
9757         * caller-save.c, combine.c, function.c, stmt.c: Just include
9758         insn-codes.h, not optabs.h.
9759         * Makefile.in: Update dependencies.
9760
9761         * combine.c (make_compound_operation, simplify_comparison):
9762         Fix typos testing for this or that instruction.
9763
9764 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9765
9766         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
9767         generating libgcc.a.
9768
9769 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9770
9771         * except.c (TYPE_HASH): Delete.
9772
9773         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
9774         HOST_WIDE_INT.
9775
9776         * tree.c (TYPE_HASH): Delete.
9777
9778         * tree.h (TYPE_HASH): Define.
9779
9780 2001-08-18  Graham Stott  <grahams@redhat.com>
9781
9782         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
9783         define_split.
9784         (adddi3_internal_2+2): Likewise.
9785         (eh_set_lr_di+1): Likewise.
9786
9787 2001-08-17  Richard Henderson  <rth@redhat.com>
9788
9789         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9790         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
9791         * dwarf2asm.c: ... here.
9792         * dwarfout.c: Remove them.
9793
9794         * varasm.c (assemble_integer): Add align parameter.
9795         (assemble_real, output_constant, output_constructor): Likewise.
9796         * output.h: Update decls.
9797         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
9798         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
9799         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
9800         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
9801         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
9802         Update all callers.
9803
9804         * final.c (end_final): Abort profile block generation if we
9805         haven't layed it out properly.
9806         * output.h (assemble_eh_integer): Remove stale decl.
9807         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
9808         (min_align): New.
9809         (assemble_integer): Handle unaligned data.
9810         (assemble_real): Abort on unaligned data.
9811         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
9812         anything useful.
9813         (default_dtor_section_asm_out_destructor): Use assemble_align.
9814         (default_named_section_asm_out_constructor): Likewise.
9815         (default_ctor_section_asm_out_constructor): Likewise.
9816         * config/darwin.c (machopic_asm_out_constructor): Likewise.
9817         (machopic_asm_out_destructor): Likewise.
9818         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
9819         (nextstep_asm_out_destructor): Likewise.
9820         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
9821         (vms_asm_out_destructor): Likewise.
9822
9823 2001-08-17  Richard Henderson  <rth@redhat.com>
9824
9825         * config/mips/iris6.h (TARGET_IRIX6): New.
9826         (current_section_name, current_section_flags): New.
9827         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
9828         (MAX_OFILE_ALIGNMENT): New.
9829         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
9830         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9831         (copy_file_data): Split out from
9832         (mips_asm_file_end): ... here.
9833         (mips_asm_file_start): Remove extra .section directive.  Use
9834         tmpfile instead of mips_make_temp_file.
9835         (mips_unique_section): Use const char * as needed for warnings.
9836         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
9837         re-add align parameter.
9838         (iris6_asm_named_section): New.
9839         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
9840         (iris6_asm_output_align, iris6_section_align_1): New.
9841         (iris6_asm_file_start, iris6_asm_file_end): New.
9842         * config/mips/mips-protos.h: Update decls.
9843
9844 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
9845
9846         * doc/install.texi (Install GCC): Add links to build status pages.
9847         (Specific): Ditto.
9848         (Final install): Ditto; request updates for specific info
9849
9850 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9851
9852         * cpperror.c (print_location):  Don't take a file name; use the
9853         line map instead.
9854         (_cpp_begin_message): Similarly.
9855         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9856         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9857         (cpp_pedwarn_with_file_and_line): Remove.
9858         * cppfiles.c (stack_include_file): Update; set filename to stdin
9859         here when appropriate.
9860         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
9861         (_cpp_begin_message): Don't take a file name.
9862         * cppinit.c: Add comment.
9863         * cpplex.c: Fix end-of-directive indicator.
9864         * cpplib.c: Don't include intl.h.
9865         (run_directive, do_diagnostic): Update.
9866         (do_line): Update to not use nominal_fname.
9867         (cpp_push_buffer): Don't take a filename.
9868         * cpplib.h (struct ht): Remove.
9869         (cpp_push_buffer): Don't take a filename.
9870         (cpp_pedwarn_with_file_and_line): Remove.
9871         * cppmacro.c (struct cpp_macro): Remove file.
9872         (builtin_macro): Update.
9873         (_cpp_create_definition): Update.
9874         * cppmain.c: Correct comment.
9875         * fix-header.c (read_scan_file): Update.
9876
9877 2001-08-17  Kazu Hirata  <kazu@hxi.com>
9878
9879         * sbitmap.c: Fix comment formatting.
9880         * sched-deps.c: Likewise.
9881         * sibcall.c: Likewise.
9882         * simplify-rtx.c: Likewise.
9883         * ssa.c: Likewise.
9884         * ssa-ccp.c: Likewise.
9885         * stor-layout.c: Likewise.
9886         * timevar.c: Likewise.
9887         * toplev.c: Likewise.
9888         * unwind-dw2.c: Likewise.
9889         * unwind-dw2-fde.c: Likewise.
9890         * varasm.c: Likewise.
9891
9892 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9893
9894         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
9895         or larger than an integer in memory.
9896
9897 2001-08-17  Zack Weinberg  <zackw@panix.com>
9898
9899         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
9900         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
9901         * rtl.h: Don't forward-declare union tree_node here.  Don't
9902         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
9903         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9904         and tree respectively.
9905         * tree.h: Don't forward-declare struct rtx_def here.  Don't
9906         typedef tree here.  Change all uses of struct rtx_def *,
9907         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9908         and tree respectively.
9909
9910 2001-08-17  Richard Henderson  <rth@redhat.com>
9911
9912         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
9913         config/mips/openbsd.h: Fix typos last change.
9914
9915 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9916
9917         * doc/invoke.texi (Optimize Options): The default for
9918         -finline-limit is 600.
9919
9920 2001-08-17  Richard Henderson  <rth@redhat.com>
9921
9922         * varasm.c (text_section): Allow TEXT_SECTION to override the
9923         printing of TEXT_SECTION_ASM_OP.
9924         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
9925         (DATA_SECTION, BSS_SECTION): Remove.
9926         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
9927         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
9928         Rename from s/_NAME//.
9929         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
9930         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
9931         (TEXT_SECTION): ... here.  New.
9932         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
9933         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
9934         * config/mips/openbsd.h: Likewise.
9935         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
9936         (mips_asm_file_end): Likewise test.
9937         (mips_output_function_epilogue): Likewise.  Switch back to data
9938         section after emitting the function.
9939
9940         * doc/tm.texi (Sections): Document TEXT_SECTION.
9941
9942 2001-08-17  Richard Henderson  <rth@redhat.com>
9943
9944         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
9945         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
9946
9947 2001-08-17  Richard Henderson  <rth@redhat.com>
9948
9949         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9950         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9951         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9952         Add aligned attribute.
9953
9954 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
9955
9956         * config/sh/sh.md: Add modes to unspecs in first insn to match
9957         those in the second.
9958
9959         * Makefile.in: Fix collect2 copy for Cygwin.
9960
9961 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
9962
9963         Install the proper patch.
9964         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9965         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9966         (expand_function_start): Likewise.
9967         * stmt.c (expand_decl): Likewise.
9968         * varasm.c (make_decl_rtx): Likewise.
9969
9970 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9971
9972         * final.c: Undo my previous accidental checkin.
9973         * output.h: Likewise.
9974         * tm.texi: Likewise.
9975
9976 2001-08-16  Richard Henderson  <rth@redhat.com>
9977
9978         * varasm.c (named_section_flags): Remove align parameter.
9979         * varasm.c, dwarf2out.c: Update all callers.
9980         * output.h: Update prototypes.
9981
9982         * target.h (target.asm_out.named_section): Remove align parameter.
9983         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
9984         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9985         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9986         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9987         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9988
9989         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9990         (get_named_section_flags, set_named_section_flags): New.
9991         (named_section_flags): Use them.
9992         (named_section): Do decl vs section flags check here...
9993         (default_section_type_flags): ... not here.
9994         (init_varasm_once): Create in_named_htab.
9995         (resolve_unique_section): Mark reloc unused.
9996
9997 2001-08-16  Richard Henderson  <rth@redhat.com>
9998
9999         * varasm.c (force_const_mem): Keep pool alignment in bits.
10000         (output_constant_pool): Use assemble_align.
10001
10002 2001-08-16  Zack Weinberg  <zackw@panix.com>
10003
10004         * doc/tm.texi: Remove extra @table command.
10005
10006 2001-08-16  Zack Weinberg  <zackw@panix.com>
10007
10008         * final.c (shorten_branches): Clear the end of the label_align
10009         array only if we made it larger.  Break up messy expressions
10010         for clarity.
10011
10012         * diagnostic.c (internal_error): Check for error recursion
10013         before doing ICE suppression.
10014
10015         * timevar.c: Timing variables now count in milliseconds.
10016         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
10017         (get_time): Not here.
10018         (timevar_print): Don't print any timer whose user, cpu, and
10019         wall times are all zero as displayed.
10020         * timevar.h: Update comment aboout units.  Make timevar
10021         counters unsigned.
10022
10023 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
10024
10025         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
10026         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
10027         (expand_function_start): Likewise.
10028         * stmt.c (expand_decl): Likewise.
10029         * varasm.c (make_decl_rtx): Likewise.
10030
10031 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
10032
10033         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
10034         (finalize_record_size): Don't set TYPE_USER_ALIGN.
10035
10036 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10037
10038         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
10039         variables.
10040
10041 2001-08-16  Andreas Jaeger  <aj@suse.de>
10042
10043         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
10044         prototype.
10045
10046 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
10047
10048         * rtl.h (only_sets_cc0_p): New prototype.
10049         * jump.c (sets_cc0_p): Handle INSN.
10050         (only_sets_cc0_p): New function.
10051         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
10052         (tidy_fallthru_edge): Likewise.
10053         * integrate.c (copy_insn_list): Likewise.
10054         * unroll.c (unroll_loop): Likewise.
10055         (copy_loop_body): Likewise.
10056
10057 2001-08-15  Jason Eckhardt  <jle@redhat.com>
10058
10059         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
10060
10061 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10062
10063         * predict.c (struct block_info_def): Remove nvisited.
10064         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
10065         (estimate_bb_frequencies): Call mark_dfs_back_edges.
10066
10067         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
10068         (ix86_adjust_cost): Teach scheduler that latency to load operand can
10069         be masked.
10070
10071 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
10072
10073         * predict.def: Update hitrates.
10074
10075 2001-08-15  Richard Henderson  <rth@redhat.com>
10076
10077         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
10078
10079 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
10080
10081         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
10082         note from its associated jump.
10083
10084 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
10085
10086         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
10087         also on 64-bit s390x targets.
10088
10089 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
10090
10091         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
10092         function.
10093         (arm_expand_prologue): Handled nested functions which take a
10094         variable argument list.
10095         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
10096         macro with an invocation of
10097         arm_compute_initial_elimination_offset.
10098         * config/arm/arm-protos.h: Prototype
10099         arm_compute_initial_elimination_offset.
10100
10101 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10102
10103         * doc/install.texi (Specific, avr): Fix markup.
10104         (Specific, c4x): Ditto.
10105
10106 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10107
10108         * predict.c (dump_prediction): Change `bool' parameter to `int'.
10109
10110 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
10111
10112         * Makefile.in (OBJS): Add rtl-error.o
10113         (rtl-error.o): New rule.
10114         (diagnostic.o): Adjust dependency.
10115         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
10116         error_for_asm, _fatal_insn, _fatal_insn_not_found,
10117         warning_for_asm): Move to...
10118         rtl-error.c: ...here.  New file.
10119
10120 2001-08-14  Richard Henderson  <rth@redhat.com>
10121
10122         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
10123         if USING_SJLJ_EXCEPTIONS.
10124
10125 2001-08-14  Steve Ellcey <sje@cup.hp.com>
10126
10127         * tlink.c (scan_linker_output): Check string for unsatisfied in
10128         addition to undefined and unresolved.
10129
10130 2001-08-14  Graham Stott  <grahams@redhat.com>
10131
10132         * libgcc2.c (*): Replace EH_FRAME_SECTION with
10133         EH_FRAME_SECTION_NAME.
10134
10135 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
10136
10137         * genattrtab.c (simplify_test_exp_in_temp): New function.
10138         (simplify_test_exp): Avoid explicit use of temporary obstack.
10139         (simplify_cond, insert_right_side, evaluate_eq_attr,
10140         simplify_and_tree, simplify_or_tree, eliminate_known_true):
10141         Use simplify_test_exp_in_temp.
10142         (optimize_attrs): Iterate until expression stabilizes.
10143
10144 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
10145
10146         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
10147         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
10148
10149 2001-08-13  Richard Henderson  <rth@redhat.com>
10150
10151         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
10152         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
10153         * config/arm/conix-elf.h: Likewise.
10154
10155 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
10156
10157         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
10158         in gcc.c.
10159         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
10160
10161         * gcse.c (hash_scan_set): Expressions that are set as part of
10162         jump instructions are not available.
10163
10164 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
10165
10166         * config/s390/s390.c (print_operand, s390_function_prologue,
10167         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
10168
10169 2001-08-13  Richard Henderson  <rth@redhat.com>
10170
10171         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
10172         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
10173         * doc/tm.texi (Exception Region Output): Document it.
10174
10175 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
10176
10177         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
10178         DWARF2 instead of stabs by default.
10179
10180 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
10181
10182         * config/rs6000/rs6000.c: Include optabs.h.
10183
10184 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
10185
10186         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
10187         save/restore routines.
10188         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
10189
10190 2001-08-13  Andreas Jaeger  <aj@suse.de>
10191
10192         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
10193         the english is correct.
10194
10195 2001-08-13  Zack Weinberg  <zackw@panix.com>
10196
10197         * expr.h: Split out optab- and libfunc-related code to...
10198         * optabs.h, libfuncs.h: ... these new headers.
10199
10200         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
10201         (OPTABS_H): New.
10202         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
10203         dependencies.
10204         * mkconfig.sh: Don't include insn-codes.h from config.h.
10205
10206         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
10207         enum insn_code is available.  Move reload_in_optab and
10208         reload_out_optab array declarations to optabs.h.
10209         * regmove.c (gen_add3_insn): Move to optabs.c, export from
10210         there, prototype in expr.h.
10211         * gencodes.c: Cleanup: zap global variables, don't use
10212         printf where puts will do, don't bother defining MAX_INSN_CODE
10213         which nothing uses, let CODE_FOR_nothing get its value implicitly.
10214
10215         * genemit.c, genopinit.c: Include optabs.h in generated file.
10216         * genoutput.c: Include insn-codes.h in generated file.
10217         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
10218         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
10219         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
10220         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
10221         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
10222         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
10223         Include optabs.h.
10224         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
10225         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
10226         config/m88k/m88k.c, config/sparc/sparc.c:
10227         Include libfuncs.h.
10228         * reload.c: Include expr.h and optabs.h before reload.h.
10229         * config/alpha/alpha.c: Include tree.h before reload.h.
10230         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
10231         and reload.h in that order.
10232         * config/sparc/sparc.c: Include debug.h.
10233         * recog.c: Include insn-codes.h.
10234
10235 2001-08-13  Andreas Jaeger  <aj@suse.de>
10236
10237         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
10238         s390*linux.
10239
10240 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
10241
10242         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
10243         * gcc.c (init_spec): Fix typo in comment.
10244         * varasm.c (data_section): Fix typo in comment.
10245
10246 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
10247
10248         * predict.c (dump_prediction): New argument "USED".
10249         (combine_predictions_for_insn): Determine the used heuristics,
10250         output the case no heuristic applied.
10251         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
10252
10253 2001-08-13  Andreas Jaeger  <aj@suse.de>
10254
10255         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
10256         register %rip.
10257
10258 2001-08-13  Kazu Hirata  <kazu@hxi.com>
10259
10260         * jump.c: Fix formatting.
10261
10262 2001-08-13  Kazu Hirata  <kazu@hxi.com>
10263
10264         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
10265         length.
10266
10267 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
10268
10269         * loop.c (check_dbra_loop): Use condjump_label to compute
10270         jump_label.
10271
10272         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
10273         to better document the files they're in.
10274
10275 2001-08-12  Zack Weinberg  <zackw@panix.com>
10276
10277         * recog.h (struct insn_operand_data): Shrink 'mode' field
10278         to 16 bits.
10279
10280 2001-08-12  Kazu Hirata  <kazu@hxi.com>
10281
10282         * gcc.c: Fix comment formatting.
10283         * gccspec.c: Likewise.
10284         * gcov.c: Likewise.
10285         * gcse.c: Likewise.
10286         * genemit.c: Likewise.
10287         * gengenrtl.c: Likewise.
10288         * genrecog.c: Likewise.
10289         * gensupport.c: Likewise.
10290         * ggc-page.c: Likewise.
10291         * global.c: Likewise.
10292         * graph.c: Likewise.
10293         * ifcvt.c: Likewise.
10294         * integrate.c: Likewise.
10295         * lcm.c: Likewise.
10296         * libgcc2.c: Likewise.
10297         * loop.c: Likewise.
10298         * mbchar.c: Likewise.
10299         * optabs.c: Likewise.
10300         * predict.c: Likewise.
10301         * prefix.c: Likewise.
10302         * profile.c: Likewise.
10303         * protoize.c: Likewise.
10304         * real.c: Likewise.
10305         * recog.c: Likewise.
10306         * regclass.c: Likewise.
10307         * regmove.c: Likewise.
10308         * reg-stack.c: Likewise.
10309         * reload1.c: Likewise.
10310         * resource.c: Likewise.
10311         * rtlanal.c: Likewise.
10312         * rtl.c: Likewise.
10313
10314 2001-08-12  Kazu Hirata  <kazu@hxi.com>
10315
10316         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
10317         a tree representing a constant is passed to the macro.
10318
10319 2001-08-12  Richard Henderson  <rth@redhat.com>
10320
10321         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
10322         (rs6000_elf_asm_out_destructor): New.
10323         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
10324         (DTORS_SECTION_ASM_OP): Remove.
10325         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10326         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
10327
10328 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
10329
10330         Revert:
10331         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10332         * gcc.c (set_collect_gcc_options): New function, split out from
10333         main.
10334         Ignore elided switches.
10335         (do_spec_1): Invoke before executing command.
10336         (set_input): Export.
10337         Move declaration ...
10338         * gcc.h (set_input): ... here.
10339         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
10340         file.
10341
10342 2001-08-12  Richard Henderson  <rth@redhat.com>
10343
10344         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
10345         thinko wrt TARGET_RELOCATABLE.
10346
10347 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
10348
10349         * fix-header.c (cb_file_change): Update prototype.
10350
10351 2001-08-11  Zack Weinberg  <zackw@panix.com>
10352
10353         * toplev.c (set_float_handler): Make static.
10354         * toplev.h: Don't prototype set_float_handler.
10355
10356         * simplify-rtx.c: Don't include setjmp.h.
10357         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
10358         New functions.
10359         (simplify_unary_operation, simplify_binary_operation): Use them,
10360         via do_float_handler.
10361
10362         * fold-const.c: Don't include setjmp.h.
10363         (exact_real_inverse_1): New function.
10364         (exact_real_inverse): Use it, via do_float_handler.
10365
10366         * varasm.c: Don't include setjmp.h.
10367         (assemble_real_1): New function.
10368         (assemble_real): Use it, via do_float_handler.
10369         Call internal_error if we get a trap here.
10370
10371         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
10372         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
10373
10374 2001-08-11  Zack Weinberg  <zackw@panix.com>
10375
10376         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
10377         STACK_BOUNDARY if not already defined.
10378
10379         * calls.c, function.c, reload1.c, explow.c: Don't default
10380         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
10381         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
10382
10383         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
10384         to run-time test.
10385
10386         * doc/tm.texi: Document that STACK_BOUNDARY is required;
10387         clarify difference between it and PREFERRED_STACK_BOUNDARY.
10388
10389 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10390
10391         * cppmacro.c (enter_macro_context): Push macro expansions even
10392         if empty.
10393
10394 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10395
10396         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
10397         (rs6000_elf_section_type_flags): Actually return a value.
10398
10399 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
10400
10401         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
10402         Clean up code: add missing comments and prototypes, fix warnings,
10403         remove obsolete code, fix spacing to conform to coding style.
10404
10405 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
10406
10407         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
10408         and TARGET_ASM_CLOSE_PAREN.
10409         (regclass_map): CC register belongs to class NO_REGS.
10410         (legitimize_pic_address): Don't generate unnecessary moves
10411         (to avoid confusing loop optimization).
10412         (check_and_change_labels): Replace jump_long by indirect_jump.
10413         (s390_final_chunkify): Don't start a new literal pool on section
10414         switch in 64-bit code.
10415         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
10416
10417         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
10418         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
10419         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
10420         modes correctly.
10421         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
10422         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
10423         (CONST_COSTS): Fixed incorrect costs.
10424
10425         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
10426         Use emit_jump instead of emit_jump_insn (gen_jump).
10427         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
10428         (to avoid confusing flow analysis).
10429         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
10430         (casesi, casesi_jump): New.
10431         (jump_long): Removed.  Functionality merged into indirect_jump.
10432         (indirect_jump): Accept address_operand, not just register_operand.
10433         (cjump_long, icjump_long): Use same logic as indirect_jump.
10434         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
10435         Fixed broken setjmp/longjmp handling.
10436         (do_builtin_setjmp_setup): Removed.
10437
10438         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
10439         broken GNU as versions that don't accept .quad with large
10440         negative values.  Use hexadecimal output instead.
10441         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
10442         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
10443         FUNCTION_EPILOGUE): Removed.  Now in targetm.
10444
10445         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
10446
10447         * config/s390/fixdfdi.h: Add missing copyright statement.
10448         Fix type conflicts on 64-bit.  Add missing SFmode routines.
10449
10450         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
10451         email address.
10452
10453 2001-08-11  Richard Henderson  <rth@redhat.com>
10454
10455         * rtl.h (REG_EH_RETHROW): Remove.
10456         * rtl.c (reg_note_name): Update.
10457         * combine.c (distribute_notes): Don't check for it.
10458
10459 2001-08-11  Richard Henderson  <rth@redhat.com>
10460
10461         * combine.c (distribute_notes): Place REG_SETJMP.
10462
10463 2001-08-11  Richard Henderson  <rth@redhat.com>
10464
10465         * doc/extend.texi (Arrays and pointers implementation): Discourage
10466         relying on sign-extension of pointers.
10467
10468 2001-08-11  H.J. Lu <hjl@gnu.org>
10469
10470         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
10471         in_dtors.
10472         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
10473         RDATA_SECTION_ASM_OP.
10474
10475 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10476
10477         * doc/install.texi (Specific, c4x): Fix cross-reference to the
10478         main manual to work both for info and HTML versions.
10479
10480 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10481             Matt Kraai <kraai@alumni.carnegiemellon.edu>
10482
10483         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
10484         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
10485         (struct cpp_pool): New member first.
10486         * cppinit.c (append_include_chain): Plug memory leaks.
10487         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
10488         Allocate pragma structures from the (aligned) macro pool to
10489         avoid leaking memory.
10490         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
10491         so we don't leak memory.
10492         * hashtable.c (ht_destroy): New.
10493         * hashtable.h (ht_destroy): New.
10494
10495 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10496             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10497
10498         * c-lex.c (map): Make const.
10499         (cb_file_change): Update for callback passing a line map.
10500         Don't assume we have a previous map.  Remove sanity check
10501         about popping too many files.
10502         * cpperror.c (print_location): Make map const.
10503         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
10504         (cpp_make_system_header): Similarly.
10505         (search_from): Similarly.
10506         (_cpp_execute_include): Don't remember where we came from.
10507         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
10508         (struct cpp_reader): Make map const.
10509         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
10510         * cpplib.c (do_line): Update; line maps now hold sysp.
10511         (cpp_push_buffer): Similarly.
10512         (_cpp_do_file_change): Similarly; callback with map instead.
10513         (cpp_get_line_maps): Constify return value.
10514         (_cpp_pop_buffer): Update.
10515         * cpplib.h (struct cpp_file_change): Remove.
10516         (struct cpp_callbacks): Update.
10517         (cpp_get_line_maps): Constify return value.
10518         * cppmacro.c (_cpp_create_definition): Update.
10519         * cppmain.c (struct printer): Constify map.
10520         (maybe_print_line): Similarly.
10521         (print_line): Similarly.  Deduce flags 1 and 2 here.
10522         (cb_file_change): Update.
10523         * line-map.c (free_line_maps): Warn regardless.
10524         (add_line_map): Return pointer to const.  When passed NULL to_file
10525         with LC_LEAVE, use the obvious values for the return point so the
10526         caller doesn't have to figure them out.
10527         (lookup_line): Return pointer to const.
10528         (print_containing_files): Take pointer to const.
10529         * line-map.h (struct line_map): New members reason, sysp.
10530         (add_line_map): Return pointer to const.
10531         (lookup_line): Similarly.
10532         (print_containing_files): Take pointer to const.
10533
10534 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
10535             Richard Henderson  <rth@redhat.com>
10536
10537         * regmove.c (regmove_optimize): Avoid setting a register twice in
10538         a parallel set.
10539
10540 2001-08-10  Richard Henderson  <rth@redhat.com>
10541
10542         * doc/extend.texi (Arrays and pointers implementation): Document
10543         behavior of pointer/integer conversion.
10544
10545 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
10546
10547         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
10548
10549 2001-08-10  Richard Henderson  <rth@redhat.com>
10550
10551         * doc/extend.texi (C Implementation): New chapter.
10552         * doc/gcc.texi (Top): Link it in.
10553
10554 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
10555
10556         * doc/install.texi (Specific): Fix CVS merge botch.
10557
10558 2001-08-10  Richard Henderson  <rth@redhat.com>
10559
10560         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
10561         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
10562
10563 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
10564
10565         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
10566         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
10567         this macro is now required.
10568
10569         * cselib.c (cselib_process_insn), flow.c (propagate_block),
10570         loop.c (find_and_verify_loops), reload.c (reload): Check
10571         for rtx code of CALL_INSN, not CALL, when deciding if we
10572         need to check for REG_SETJMP note.
10573
10574         * gcse.c (compute_hash_table, compute_store_table): Update
10575         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
10576         logic.
10577
10578         * config/avr/avr.c: Fix typo.
10579         * config/convex/convex.c (expand_movstr): Use adjust_address.
10580         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
10581         variable.
10582         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
10583         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
10584         Fix typo.
10585         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
10586         Do define STACK_BOUNDARY.
10587         * config/i370/i370.c: Include expr.h.
10588         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
10589         config/pa/som.h, config/v850/v850.h: Take in_ctors and
10590         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
10591         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
10592         * config/m88k/m88k.c: Include c-tree.h after expr.h.
10593         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
10594         * config/romp/romp.c: Include expr.h after tree.h.
10595         Include toplev.h.
10596         (output_fpop): Use xmalloc, not oballoc.
10597         * config/we32k/we32k.c: Include expr.h.
10598
10599 2001-08-10  Kazu Hirata  <kazu@hxi.com>
10600
10601         * config/h8300/h8300.h: Fix formatting.
10602
10603 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
10604
10605         * c-common.h (RETURN_NULLIFIED_P): Lose.
10606         * c-semantics.c (genrtl_return_stmt): Don't check it.
10607
10608 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10609
10610         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
10611         (mips_annotate_frame_insn): New function.
10612         (mips_emit_frame_related_store): New function.
10613         (save_restore_insns): Don't mark instructions that set up the base
10614         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
10615         the store instructions instead.
10616         (mips_expand_prologue): If the stack size is moved into a temporary
10617         register, do not mark that move as frame-related.  Add a
10618         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
10619
10620 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10621
10622         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
10623         stack slot as unchanging if current_function_calls_eh_return.
10624
10625 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
10626
10627         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
10628         access the second half of the TFmode scratch operand.
10629
10630 2001-08-10  Anthony Green  <green@redhat.com>
10631
10632         * java/class.c (emit_register_classes): Conditionalize code on
10633         JCR_SECTION_NAME.
10634
10635 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10636
10637         * doc/install.texi (Specific, avr): Fix cross-reference to the
10638         main manual to work both for info and HTML versions.
10639
10640 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10641
10642         * stmt.c (expand_null_return_1): Remove code to generate simple returns
10643         and "use_goto" argument.
10644         (expand_null_return, expand_value_return): Update all callers.
10645         * function.c (expand_function_end): Remove code to generate simple
10646         return.
10647         * config/vax/vax.md (epilogue): New expander for function return.
10648         * doc/md.texi (epilogue): Remove "if defined".
10649
10650 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
10651
10652         * Makefile.in: Partially revert my previous change:
10653         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
10654         of the hashtab.o and safe-ctype.o rules.
10655
10656 2001-08-09  Richard Henderson  <rth@redhat.com>
10657
10658         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
10659         (USE_COLLECT2): Remove duplicate definition.
10660         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
10661         (use_collect2): Remove dead code.
10662         * configure.in (use_collect2): Remove will_use_collect2 and
10663         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
10664         * configure: Rebuild.
10665
10666         * target.h (targetm.asm_out.constructor): New.
10667         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
10668         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
10669         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
10670         * varasm.c (in_ctors, in_dtors): New.
10671         (assemble_constructor, assemble_destructor): Remove.
10672         (default_stabs_asm_out_destructor): New.
10673         (default_named_section_asm_out_destructor): New.
10674         (dtors_section, default_dtor_section_asm_out_destructor): New.
10675         (default_stabs_asm_out_constructor): New.
10676         (default_named_section_asm_out_constructor): New.
10677         (ctors_section, default_ctor_section_asm_out_constructor): New.
10678         * output.h: Update declarations.
10679         * c-decl.c (c_expand_body): Use target hooks instead of
10680         assemble_constructor and assemble_destructor.
10681         * profile.c (output_func_start_profiler): Likewise.
10682         * objc/objc-act.c (finish_objc): Likewise.
10683         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
10684         for the constructor.
10685         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
10686
10687         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
10688         (DTORS_SECTION_ASM_OP): Likewise.
10689         (__CTOR_LIST__): Use attribute section when possible.
10690         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
10691
10692         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
10693         ASM_OUTPUT_CONSTRUCTOR.
10694
10695         * config/darwin.c (machopic_asm_out_constructor): New.
10696         (machopic_asm_out_destructor): New.
10697         * config/darwin-protos.h: Update declarations.
10698         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10699         (ASM_OUTPUT_DESTRUCTOR): Remove.
10700         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10701         * config/nextstep.c (nextstep_asm_out_constructor): New.
10702         (nextstep_asm_out_destructor): New.
10703         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10704         (ASM_OUTPUT_DESTRUCTOR): Remove.
10705         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10706         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
10707         ASM_OUTPUT_*STRUCTOR.
10708         * config/i386/aix386ng.h: Likewise.
10709
10710         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
10711         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
10712         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10713         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10714         * config/lynx.h: Likewise.
10715         * config/netware.h: Likewise.
10716         * config/psos.h: Likewise.
10717         * config/alpha/alpha-interix.h: Likewise.
10718         * config/alpha/elf.h: Likewise.
10719         * config/arc/arc.h: Likewise.
10720         * config/arm/aof.h: Likewise.
10721         * config/arm/coff.h: Likewise.
10722         * config/arm/elf.h: Likewise.
10723         * config/c4x/c4x.h: Likewise.
10724         * config/h8300/h8300.h: Likewise.
10725         * config/i386/cygwin.h: Likewise.
10726         * config/i386/djgpp.h: Likewise.
10727         * config/i386/i386-coff.h: Likewise.
10728         * config/i386/i386-interix.h: Likewise.
10729         * config/i386/sco5.h: Likewise.
10730         * config/i386/vsta.h: Likewise.
10731         * config/i386/win32.h: Likewise.
10732         * config/i960/i960-coff.h: Likewise.
10733         * config/ia64/sysv4.h: Likewise.
10734         * config/m68hc11/m68hc11.h: Likewise.
10735         * config/m68k/coff.h: Likewise.
10736         * config/m68k/mot3300.h: Likewise.
10737         * config/m88k/m88k.h: Likewise.
10738         * config/mcore/mcore-pe.h: Likewise.
10739         * config/mcore/mcore.h: Likewise.
10740         * config/mips/elf.h: Likewise.
10741         * config/mips/elf64.h: Likewise.
10742         * config/mips/iris6.h: Likewise.
10743         * config/pa/pa64-hpux.h: Likewise.
10744         * config/rs6000/sysv4.h: Likewise.
10745         * config/sh/sh.h: Likewise.
10746         * config/sparc/litecoff.h: Likewise.
10747
10748         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
10749         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10750         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10751         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10752         (ASM_OUTPUT_DESTRUCTOR): Remove.
10753         * config/a29k/a29k.c: Move include of tree.h.
10754         * config/a29k/udi.h: Delete file.
10755         * config/alpha/alpha.c (vms_asm_out_constructor): New.
10756         (vms_asm_out_destructor): New.
10757         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
10758         (EXTRA_SECTION_FUNCTIONS): Likewise.
10759         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10760         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10761         * config/c4x/c4x.c: Move include of tree.h.
10762         * config/clipper/clipper.c (clix_asm_out_constructor): New.
10763         (clix_asm_out_destructor): New.
10764         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10765         (ASM_OUTPUT_DESTRUCTOR): Remove.
10766         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10767         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10768         (TARGET_ASM_CONSTRUCTOR): New.
10769         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
10770         (sco_asm_out_constructor): New.
10771         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
10772         * config/i386/svr3gas.h: Remove stack grows up code.
10773         Remove code duplicated from i386/sysv3.h.
10774         (TARGET_ASM_CONSTRUCTOR): New.
10775         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10776         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
10777         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10778         (TARGET_ASM_CONSTRUCTOR): New.
10779         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
10780         (m68hc11_asm_out_destructor): New.
10781         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
10782         (TARGET_ASM_DESTRUCTOR): New.
10783         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
10784         * config/m68k/dpx2.h: Properly undef all the bits inherited from
10785         config/svr3.h pertaining to section manipulation.
10786         * config/m68k/dpx2g.h: Remove #if 0 code.
10787         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
10788         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
10789         (ASM_OUTPUT_CONSTRUCTOR): Remove.
10790         (TARGET_ASM_CONSTRUCTOR): New.
10791         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
10792         (m88k_svr3_asm_out_constructor): New.
10793         (m88k_svr3_asm_out_destructor): New.
10794         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10795         (ASM_OUTPUT_DESTRUCTOR): Remove.
10796         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10797         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
10798         * config/rs6000/aix.h: Likewise.
10799         * config/mips/rtems64.h: Don't undef removed constructor related bits.
10800         * config/mips/vxworks.h: Likewise.
10801         * config/rs6000/lynx.h: Likewise.
10802         * config/sh/elf.h: Likewise.
10803         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
10804         (DTORS_SECTION_ASM_OP): New.
10805         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10806         (ASM_OUTPUT_DESTRUCTOR): Remove.
10807         * config/sparc/sol2-sld-64.h: Likewise.
10808         * config/vax/vax.c (vms_asm_out_constructor): New.
10809         (vms_asm_out_destructor): New.
10810         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10811         (ASM_OUTPUT_DESTRUCTOR): Remove.
10812         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10813
10814         * doc/tm.texi (@node Initialization): Update.
10815
10816 2001-08-09  Richard Henderson  <rth@redhat.com>
10817
10818         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
10819         (__do_global_dtors_aux): Use gp-relative static data to avoid
10820         one dynamic relocation.
10821         (__do_frame_setup): Register Java classes.
10822         * config/alpha/crtend.asm (__JCR_END__): New.
10823
10824 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
10825
10826         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
10827         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
10828         (GEN, STAGESTUFF): Add new files.
10829         (insn-constants.h, s-constants, tm-preds.h, s-preds,
10830         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
10831         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
10832         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
10833         as well as insn-codes.h and insn-flags.h in config.h; and no
10834         extra headers in tconfig.h and hconfig.h.
10835
10836         * gencodes.c: Eliminate code to generate predicate declarations
10837         or #defines for md-file constants.
10838         * genconstants.c, genpreds.c: New files.
10839
10840         * i386.md: Re-order guard expressions such that TARGET_64BIT
10841         comes first, when this permits better optimization.  Add
10842         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
10843         why this is desirable.
10844
10845 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
10846
10847         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
10848         (find_fde_for_dso): Remove.
10849         (_Unwind_IteratePhdrCallback): New.
10850         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
10851         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
10852
10853 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10854
10855         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
10856         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
10857
10858 2001-08-09  Graham Stott  <grahams@redhat.com>
10859
10860         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
10861         (vis_no_unit): Use it.
10862         (visualize_no_unit): Add the insn only if room exists.
10863
10864 2001-08-09  Graham Stott  <grahams@redhat.com>
10865
10866         * predict.c (estimate_probability): Replace magic numbers with
10867         appropriate enumeration.
10868
10869 2001-08-09  Graham Stott  <grahams@redhat.com>
10870
10871         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
10872         parameter.
10873         (EXTRACT_FLAGS): Likewise.
10874
10875 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
10876
10877         * config/mips/mips.c    (mips_legitimate_address_p): Check for
10878         CONST_INT in last patch.
10879
10880 2001-08-08  Anthony Green  <green@redhat.com>
10881
10882         * java/class.c (emit_register_classes): Use assemble_jcr if
10883         possible.  Keep the original mechanism as a fallback.
10884         * defaults.h (JCR_SECTION_NAME): Define if we have named section
10885         and weak symbol support.
10886         * crtstuff.c (__JCR_LIST__): Define.
10887         (__JCR_END__): Define.
10888         (_Jv_RegiserClasses): Define weak symbol if possible.
10889         (__do_global_ctors_aux): Register classes for ELF targets with
10890         weak symbol support.
10891
10892 2001-08-08  Kazu Hirata  <kazu@hxi.com>
10893
10894         * dbxout.c: Fix comment formatting.
10895         * dependence.c: Likewise.
10896         * df.c: Likewise.
10897         * diagnostic.c: Likewise.
10898         * dominance.c: Likewise.
10899         * doprint.c: Likewise.
10900         * dwarf2out.c: Likewise.
10901         * dwarfout.c: Likewise.
10902         * emit-rtl.c: Likewise.
10903         * except.c: Likewise.
10904         * explow.c: Likewise.
10905         * expmed.c: Likewise.
10906         * expr.c: Likewise.
10907         * flow.c: Likewise.
10908         * fold-const.c: Likewise.
10909         * function.c: Likewise.
10910
10911 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10912
10913         * global.c (retry_global_alloc): Avoid shadowing allocno.
10914
10915 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
10916
10917         * except.c (remove_fixup_regions): Fix typo.
10918
10919 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
10920
10921         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
10922         unsigned HOST_WIDE_INT to avoid warning.
10923         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
10924         * flow.c (set_block_for_new_insns): Likewise.
10925
10926 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
10927
10928         * sibcall.c (return_value_pseudo): New static variable.
10929         (skip_copy_to_return_value): Handle return_value_pseudo.
10930         (call_ends_block_p): Ensure that return_value_pseudo is set.
10931         (optimize_sibling_and_tail_recursive_call): Discover the
10932         load of pseudo return value in alternate exit block.
10933
10934 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10935
10936         * calls.c (ECF_ALWAYS_RETURN): New constant.
10937         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
10938         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
10939         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
10940         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
10941         * rtl.c (reg_note_name): New name.
10942         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
10943
10944 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
10945
10946         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
10947
10948 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
10949
10950         * alias.c (get_alias_set): Return a previously calculated
10951         alias set for a VAR_DECL.
10952         * function.c (gen_mem_addressof): Calculate the alias set before
10953         touching the RTL.
10954
10955 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
10956
10957         * predict.def: Set hitrates according our experimental run.
10958
10959 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
10960
10961         * i386.h (HARD_REGNO_RENAME_OK): New macro.
10962
10963 2001-08-08  H.J. Lu <hjl@gnu.org>
10964
10965         * config/mips/mips.c (mips_unique_section): New. Copied from
10966         config/mips/elf.h.
10967
10968         * config/mips/mips-protos.h (mips_unique_section): New
10969         prototype.
10970
10971         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10972
10973         * config/mips/little.h: New. Generic little endian mips
10974         targets. Only mips*-*-linux* is converted to use it so far.
10975
10976         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10977         (WCHAR_TYPE): Defined
10978         (WCHAR_TYPE_SIZE): Likewise.
10979         (INIT_SUBTARGET_OPTABS): Likewise.
10980         (BSS_SECTION_ASM_OP): Likewise.
10981         (SBSS_SECTION_ASM_OP): Likewise.
10982         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10983         (ASM_DECLARE_OBJECT_NAME): Likewise.
10984         (UNIQUE_SECTION): Likewise.
10985         (EXTRA_SECTIONS): Likewise.
10986         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10987         (ASM_OUTPUT_DESTRUCTOR): Likewise.
10988         (ASM_OUTPUT_DEF): Likewise.
10989         (HANDLE_SYSV_PRAGMA): Removed.
10990         (NO_IMPLICIT_EXTERN_C): Likewise.
10991         (TARGET_MEM_FUNCTIONS): Likewise.
10992         (STARTFILE_SPEC): Likewise.
10993         (ENDFILE_SPEC): Likewise.
10994         (LIB_SPEC): Likewise.
10995         (INVOKE__main): Likewise.
10996         (CTOR_LIST_BEGIN): Likewise.
10997         (CTOR_LIST_END): Likewise.
10998         (DTOR_LIST_BEGIN): Likewise.
10999         (DTOR_LIST_END): Likewise.
11000         (SET_ASM_OP): Likewise.
11001         (ASM_OUTPUT_SOURCE_LINE): Likewise.
11002         (ASM_OUTPUT_DEF): Likewise.
11003         (ASM_OUTPUT_IDENT): Likewise.
11004
11005         * config/mips/mips.h (ASM_SPEC): Undefine before define.
11006         (CPLUSPLUS_CPP_SPEC): Likewise.
11007         (ASM_APP_ON) Redefine only if not defined.
11008         (ASM_APP_OFF): Likewise.
11009         (ASM_OUTPUT_SOURCE_LINE): Likewise.
11010         (ASM_OUTPUT_IDENT): Likewise.
11011
11012         * config.gcc: Update tm_file for Linux/mips.
11013
11014 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
11015
11016         * cselib.c (cselib_record_sets): If insn is predicated, turn
11017         sources into IF_THEN_ELSEs.
11018
11019         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
11020         Turn into define_insn_and_split.
11021
11022         * sched-deps.c: Include "cselib.h".
11023         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
11024         Use cselib to turn memory addresses into VALUEs.
11025         (sched_analyze): Call cselib_init/cselib_finish if necessary.
11026         * sched-int.h (struct sched_info): New member USE_CSELIB.
11027         * sched-ebb.c (ebb_sched_info): Initialize it.
11028         * sched-rgn.c (rgn_sched_info): Likewise.
11029         * Makefile.in (sched-deps.o): Update dependencies.
11030
11031         * cselib.h (cselib_subst_to_values): Declare.
11032         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
11033         that have no value and autoincs to be handled by generating a new
11034         dummy value.
11035
11036 2001-08-08  Graham Stott  <grahams@redhat.com>
11037
11038         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
11039         within fixed length SEQUENCE.
11040
11041 2001-08-08  Graham Stott  <grahams@redhat.com>
11042
11043         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
11044         (diagnostic_prefixing_rule): Likewise.
11045         (diagnostic_line_cutoff): Likewise.
11046         (diagnostic_kind_count): Likewise.
11047
11048 2001-08-08  Graham Stott  <grahams@redhat.com>
11049
11050         * alias.c (find_base_decl): Delete redundent assignment.
11051
11052 2001-08-08  Graham Stott  <grahams@redhat.com>
11053
11054         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
11055         (abs): Uppercase and paranthesize macro parameter.
11056         (MEM_DEPENDENCY): Add whitespace.
11057
11058 2001-08-08  Graham Stott  <grahams@redhat.com>
11059
11060         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
11061         failure check for CONST_INT
11062
11063 2001-08-08  Graham Stott  <grahams@redhat.com>
11064
11065         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
11066         (libcall_dead_p): Likewise.
11067
11068         (mark_used_regs): Constify fmt.
11069         (find_use_as_address): Likewise.
11070
11071 2001-08-08  Graham Stott  <grahams@redhat.com>
11072
11073         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
11074          parameter.
11075
11076 2001-08-08  Graham Stott  <grahams@redhat.com>
11077
11078         * combine.c (combine_simplify_rtx): Update comment and
11079         remove erroneous test.
11080
11081 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11082
11083         * cppinit.c (cpp_finish): Pop the final buffer without comment.
11084         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
11085         take care to avoid multiple no-newline at EOF warnings in that
11086         case.
11087
11088 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
11089
11090         * calls.c (expand_call): Do not emit INSN_SETJMP note.
11091         (emit_library_call_value_1): Likewise.
11092         (emit_call_1): Emit REG_SETJMP note.
11093         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
11094         of INSN_SETJMP
11095         * cselib.c (cselib_process_insn): Likewise.
11096         * flow.c (propagate_block): Likewise.
11097         * loop.c (find_and_verify_loops): Likewise.
11098         * reload.c (find_equiv_regs): Likewise.
11099         * reload1.c (reload): Likewise.
11100         * resource.c (mark_referenced_resources,
11101         mark_set_resources): Likewise.
11102         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
11103         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
11104         * haifa-sched.c (unlink_other_notes): Likewise.
11105         (reemit_notes): Likewise.
11106         * sched-ebb.c (sched_ebb): Likewise.
11107         * sched-rgc.c (sched_region): Likewise.
11108         * rtl.c (note_insn_name): Likewise.
11109         (reg_note_name): Add REG_SETJMP
11110         * rtl.h (reg_note): Add REG_SETJMP.
11111         (insn_note): Remove NOTE_INSN_SETJMP.
11112
11113         * profile.c (branch_prob): Add fake edges for setjmp.
11114
11115 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
11116
11117         * config.gcc: Quote target_cpu_default2 correctly for
11118         powerpc*-*-* targets.
11119
11120 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11121
11122         * cpplib.h, line-map.h: Update comments.
11123         * cppmain.c (printer_init): Move inline.
11124         (maybe_print_line, print_line): Take a map pointer.
11125         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
11126         (cb_file_change): Don't use prior value of print.map.
11127
11128 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
11129
11130         * doc/install.texi: Document fine-grained multilib configuration.
11131
11132 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11133
11134         * rtlanal.c (find_first_parameter_load): Call note_stores
11135         only on the instructions.
11136
11137 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11138
11139         * alias.c (nonlocal_mentioned_p):
11140         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
11141         * calls.c (emit_call_1): Likewise.
11142         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
11143         * cselib.c (cselib_process_insn): Likewise.
11144         * df.c (df_insns_modify): Likewise.
11145         * flow.c (need_fake_edge_p): Likewise.
11146         (propagate_one_insn): Likewise.
11147         * haifa-sched.c (reemit_notes): Likewise.
11148         * integrate.c (copy_insn_list): Likewise.
11149         * jump.c (delete_prior_computation): Likewise.
11150         * local-alloc.c (validate_equiv_mem): Likewise.
11151         * loop.c (scan_loop): Likewise.
11152         * predict.c (estimate_probability): Likewise.
11153         * reload.c (reload): Likewise.
11154         * sched-deps (sched_analyze): Likewise.
11155         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
11156         * gcse.c (compute_hash_table): Likewise.
11157         (mark_call): Likewise.
11158         (store_killed_in_insn): Likewise.
11159
11160 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
11161
11162         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
11163
11164 2001-08-06  Richard Henderson  <rth@redhat.com>
11165
11166         * varasm.c (assemble_gc_entry): Remove.
11167         * output.h: Likewise.
11168
11169 2001-08-06  Richard Henderson  <rth@redhat.com>
11170
11171         * varasm.c (assemble_constructor): Take a symbol_ref and a
11172         priority instead of a bare string.  Move priority handling
11173         here from cp/decl2.c.
11174         * output.h: Update decls.
11175
11176         * c-decl.c (c_expand_body): Update calls to assemble_constructor
11177         and assemble_destructor.
11178         * profile.c (output_func_start_profiler): Likewise.
11179         * objc/objc-act.c (finish_objc): Likewise.
11180         (build_module_descriptor): Return the symbol not the symbol name.
11181
11182 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
11183
11184         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
11185         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
11186         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
11187         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
11188         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
11189         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
11190
11191 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11192
11193         * cpperror.c (print_containing_files): Moved to line-map.c.
11194         (print_location): line-map.c handles re-listing or otherwise.
11195         * cpphash.h (struct lexer_state): Remove next_bol.
11196         (struct cpp_buffer): Remove include_stack_listed.
11197         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
11198         Remove faked buffer handling.
11199         (_cpp_do_file_change): Tweak.
11200         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
11201         * cppmain.c (struct printer): Remove filename.
11202         (print_line, cb_file_change): Update accordingly.
11203         * line-map.c: Include intl.h.
11204         (init_line_maps): Initialize last_listed.
11205         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
11206         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
11207         (print_containing_files): New.
11208         * line-map.h (struct line_maps): New member last_listed.
11209         (print_containing_files, INCLUDED_FROM): New.
11210         * Makefile.in: Update.
11211         * po/POTFILES.in: Add line-map.c.
11212
11213 2001-08-06  Richard Henderson  <rth@redhat.com>
11214
11215         * except.c (convert_from_eh_region_ranges_1): Never mark
11216         USE or CLOBBER insns as throwing.
11217
11218         * expr.c (store_constructor): Don't clobber memory targets.
11219
11220 2001-08-06  Andreas Jaeger  <aj@suse.de>
11221
11222         * profile.c (branch_prob): Remove unused variable insn.
11223
11224         * Makefile.in (local-alloc.o): Add dependency on except.h.
11225
11226         * local-alloc.c: Include except.h for can_throw_internal prototype.
11227
11228 2001-08-06  Richard Henderson  <rth@redhat.com>
11229
11230         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
11231         * function.c (expand_main_function): Implement it.
11232         * doc/tm.texi: Document it.
11233
11234 2001-08-06  Stan Shebs  <shebs@apple.com>
11235
11236         * doc/install.texi: Document powerpc-*-darwin* details.
11237
11238 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
11239
11240         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
11241         (ASM_CPU_SPEC): Move back to rs6000.h
11242         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
11243
11244         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
11245
11246         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
11247         readded.
11248
11249         * config/rs6000/linux64.h: Ditto.
11250
11251         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
11252         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
11253         nothing.
11254
11255         Remove accidently readded definitions of FUNCTION_PROLOGUE,
11256         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
11257
11258         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
11259         to rs6000.h
11260
11261 2001-08-05  Richard Henderson  <rth@redhat.com>
11262
11263         * local-alloc.c (update_equiv_regs): Do not move insns that
11264         can throw.
11265
11266 2001-08-05  Jan Hubicka  <jh@suse.cz>
11267
11268         * Makefile.in (reload1.o): Add dedendancy on except.h
11269         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
11270         prototypes.
11271         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
11272         indicating wehther edges has been cleaned up.
11273         * reload1.c: Inlucde except.h
11274         (fixup_abnormal_edges): Accept deleted insns.
11275         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
11276         after combine.
11277
11278 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11279
11280         * cpplib.c (do_line): Correct line number after pop_buffer.
11281
11282 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11283
11284         PR preprocessor/3824
11285         * line-map.c: Update comments.
11286         * line-map.h: Update comments.
11287         * tradcif.y: Don't consider large numbers unsigned.
11288
11289 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11290
11291         PR preprocessor/3081
11292         * c-lex.c (map): New.
11293         (cb_file_change): Update map and use it.
11294         (cb_def_pragma, cb_define, cb_undef): Use map and line.
11295         (c_lex): Update to use map.
11296         * cpperror.c (print_location): Move to using logical line numbers.
11297         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
11298         (cpp_make_system_header): Similarly.
11299         (_cpp_execute_include): Stop line numbering hacks.  Store the
11300         line we will return to.
11301         * cpphash.h (CPP_BUF_LINE): Remove.
11302         (struct cpp_buffer): Remove lineno and pseudo_newlines.
11303         Add map and return_to_line.
11304         (_cpp_do_file_change): Update.
11305         * cppinit.c (cpp_start_read): Update line kludge.
11306         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
11307         (trigraph_ok): Use logical line numbers for diagnostics.
11308         (skip_block_comment): Likewise.
11309         (skip_whitespace): Likewise.
11310         (skip_line_comment): Use pfile->line instead.
11311         (_cpp_lex_token): Update to use logical line numbering exclusively.
11312         Handle BOL locally.  Accept new lines in directives, but keep
11313         pfile->line decremented.  Diagnostics use logical lines.  Update
11314         directive handling.
11315         * cpplib.c (SEEN_EOL): New.
11316         (skip_rest_of_line, check_eol): Use it.
11317         (end_directive): Increase line number when accepting the newline
11318         at the end of a directive.
11319         (run_directive): Simplify.
11320         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
11321         (_cpp_do_file_change): Update to take buffer line number as an
11322         argument, and store the current map in the cpp_reader.  Remove
11323         line number kludges.
11324         (_cpp_do__Pragma): Restore output position after a _Pragma.
11325         (cpp_push_buffer): Don't set output line or lineno.
11326         (_cpp_pop_buffer): Transfer more info from a faked buffer.
11327         Remove line kludge.  Set output_line.
11328         * cppmacro.c (builtin_macro): Update handling of __LINE__.
11329         (parse_arg): Use logical lines.
11330         (save_lookahead_token): Save EOFs too now.
11331         * cppmain.c (struct printer): Fix comments.
11332         (printer_init): Simplify, let caller do errors.
11333         (scan_translation_unit, check_multiline_token, dump_macro): Update.
11334         (maybe_print_line): Simplify.
11335         (print_line): Don't print a linemarker if -P.
11336         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
11337         (cb_file_change): Simplify.
11338         * line-map.h (LAST_SOURCE_LINE): Fix.
11339         (CURRENT_LINE_MAP): New.
11340
11341 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
11342
11343         * doloop.c (doloop_modify_runtime): Properly compute number of
11344         iterations if loop was unrolled.
11345
11346         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
11347         if their CSELIB_VAL_PTRs are.
11348
11349         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
11350         (setup_spill_pointers): Initialize it.
11351         (spill_restore_mem): Set it.
11352         (do_spill, do_restore): Use it to add REG_INC note.
11353         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
11354
11355         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
11356         asms if other insns are available.
11357
11358         * config/ia64/ia64.c (condop_operator): New predicate.
11359         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
11360         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
11361         patterns.
11362
11363         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
11364         temporary register than directly using a MEM.
11365
11366 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11367
11368         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
11369         parameter in last change.
11370
11371 2001-08-04  Zack Weinberg  <zackw@panix.com>
11372
11373         * sparc.md: Don't use #if inside C test expression.
11374
11375 2001-08-04  Richard Henderson  <rth@redhat.com>
11376
11377         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
11378
11379 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
11380
11381         * cpphash.h (struct cpp_reader): New member directive_line.
11382         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
11383         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
11384         do_pragma): Pass line to callbacks.
11385         (start_directive): Record line of directive.
11386         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
11387         cb_include): Similarly.
11388         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
11389         Similarly.
11390
11391 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11392
11393         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
11394         comment.
11395
11396 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11397
11398         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
11399
11400         * reload1.c (fixup_abnormal_edges): New static function.
11401         (reload): Use it.
11402
11403         * flow.c (need_fake_edge_p): New function.
11404         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
11405         avoid call insn to be very last insn in the insn stream.
11406
11407         * profile.c (branch_prob): Call flow_call_edges_add instead of
11408         doing that by hand; cleanup cfg to re-merge basic blocks once
11409         we are done.
11410
11411 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11412
11413         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
11414         are also on line-map.h.
11415         * cppfiles.c (stack_include_file): Update.
11416         * cpphash.h (struct cpp_buffer): New member return_at_eof.
11417         (_cpp_pop_buffer): New.
11418         * cppinit.c (cpp_destroy, cpp_finish): Update.
11419         (do_includes): Mark each buffer to return at EOF.
11420         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
11421         return as requested.
11422         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
11423         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
11424         * cpplib.h (cpp_pop_buffer): Remove.
11425         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
11426         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
11427         buffers.
11428         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
11429         to pop buffers.
11430         (do_preprocessing): Update.
11431         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
11432         * c-parse.in (_yylex): Similarly.
11433         * scan-decls.c (scan_decls): Similarly.
11434         * line-map.h: Update comments.
11435
11436         * objc/Make-lang.in (objc-act.o): Update dependencies.
11437
11438 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11439
11440         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
11441         and soft register for operand 0.
11442         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
11443
11444 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11445
11446         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
11447         register for operand 0.
11448         ("bitcmpqi_z_used"): Allow memory for operand 0.
11449         (split "bitcmpqi"): New split to handle address reg as operand 1.
11450
11451 2001-08-04  Andreas Jaeger  <aj@suse.de>
11452
11453         * gcse.c: Revert Daniel's last patch.
11454
11455 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
11456
11457         * sparc-protos.h: Add prototypes for fp_zero_operand and
11458         reg_or_0_operand.
11459         * sh-protos.h: Add prototype for fpul_operand.
11460
11461 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
11462
11463         * doc/extend.texi (Other Builtins): Fix typo in last change.
11464
11465 2001-08-03  Richard Henderson  <rth@redhat.com>
11466
11467         * target.h (gcc_target): Add asm_out.named_section,
11468         section_type_flags, have_named_sections.
11469         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
11470         (TARGET_HAVE_NAMED_SECTIONS): New.
11471         (TARGET_SECTION_TYPE_FLAGS): New.
11472
11473         * Makefile.in (toplev.o): Depend on TARGET_H.
11474         (varasm.o, dbxout.o): Likewise.
11475         * c-common.c (decl_attributes): Check targetm.have_named_sections
11476         instead of ifdef ASM_OUTPUT_SECTION_NAME.
11477         * dbxout.c (dbxout_function_decl): Likewise.
11478         (dbxout_function_end): Likewise.
11479         * toplev.c (compile_file): Likewise.
11480         * varasm.c (exception_section): Likewise.
11481         * cp/decl2.c (finish_objects): Likewise.
11482
11483         * defaults.h (EH_FRAME_SECTION): Remove.
11484         (EH_FRAME_SECTION_ASM_OP): Remove.
11485         (EH_FRAME_SECTION_NAME): New.
11486         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
11487         (UNIQUE_SECTION_P): Remove.
11488         * dwarf2out.c (SECTION_FORMAT): Remove.
11489         (ASM_OUTPUT_SECTION): Remove.
11490         (output_call_frame_info): Use named_section_flags.
11491         (output_comp_unit, dwarf2out_start_source_file): Likewise.
11492         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
11493         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
11494         * varasm.c (in_eh_frame, eh_frame_section): Remove.
11495         (named_section_flags): New.
11496         (named_section): Use it and targetm.section_type_flags.
11497         (resolve_unique_section): New.
11498         (assemble_start_function): Use it.
11499         (asm_emit_uninitialised, assemble_variable): Likewise.
11500         (default_section_type_flags): New.
11501         (default_no_named_section, default_elf_asm_named_section): New.
11502         (default_coff_asm_named_section, default_pe_asm_named_section): New.
11503         * output.h: Update varasm.c decls.
11504         (SECTION_*): New flags.
11505
11506         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
11507         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
11508
11509         * config/elfos.h (UNIQUE_SECTION_P): Remove.
11510         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
11511         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
11512         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11513         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
11514         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
11515         * config/mips/elf.h, config/mips/elf64.h: Likewise.
11516         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
11517         * config/pa/pa64-hpux.h,
11518
11519         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
11520         (TARGET_ASM_NAMED_SECTION): New.
11521         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
11522         * config/alpha/vms.h, config/arm/coff.h: Likewise.
11523         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
11524         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
11525         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
11526         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
11527         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11528         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
11529         * config/i386/sco5.h, config/i386/win32.h: Likewise.
11530         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
11531         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
11532         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
11533         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
11534         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
11535         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
11536         * config/sparc/sysv4.h: Likewise.
11537
11538         * config/nextstep.h: Error until named sections implemented.
11539
11540         * config/a29k/a29k.c (a29k_asm_named_section): New.
11541         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
11542         (vms_section_type_flags, vms_asm_named_section): New.
11543         * config/arm/arm.c (arm_elf_asm_named_section): New.
11544         * config/avr/avr.c (asm_output_section_name): Remove.
11545         * config/avr/avr-protos.h: Update.
11546         * config/c4x/c4x.c (c4x_asm_named_section): New.
11547         * config/h8300/h8300.c (h8300_asm_named_section): New.
11548         * config/i386/i386.c (sco_asm_named_section): New.
11549         * config/i386/winnt.c (SECTION_PE_SHARED): New.
11550         (i386_pe_section_type_flags): New.
11551         (i386_pe_asm_named_section): New.
11552         * config/i386/i386-protos.h: Update.
11553         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
11554         * config/mcore/mcore.c (mcore_asm_named_section): New.
11555         * config/mips/mips.c (iris6_asm_named_section): New.
11556         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
11557         instead of UNIQUE_SECTION_P.
11558         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
11559         (xcoff_asm_named_section): New.
11560         * config/sh/sh.c (sh_asm_named_section): New.
11561         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
11562
11563         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
11564         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
11565         (EH_FRAME_SECTION_NAME): New.
11566         (EXCEPTION_SECTION): New.
11567         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
11568         (DEBUG_*_SECTION): Remove.
11569         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
11570         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
11571         (EH_FRAME_SECTION_ASM_OP): Remove.
11572
11573         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
11574         (ASM_OUTPUT_SECTION_NAME): Remove.
11575         (TARGET_ASM_NAMED_SECTION): New.
11576         (TARGET_HAVE_NAMED_SECTIONS): New.
11577         (TARGET_SECTION_TYPE_FLAGS): New.
11578         (EH_FRAME_SECTION_ASM_OP): Remove.
11579         (EH_FRAME_SECTION_NAME): New.
11580
11581 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
11582
11583         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
11584         for complex expressions when cfun == 0.
11585         * doc/extend.texi: Document that __builtin_constant_p can be
11586         used in data initializers as well as functions.
11587
11588 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
11589
11590         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
11591         variable I locally, instead of expecting a declaration in the
11592         calling context.
11593
11594 2001-08-03  Richard Henderson  <rth@redhat.com>
11595
11596         * except.c (collect_one_action_chain): Add an explicit cleanup
11597         action if regions surrounding a catch were encoded entirely
11598         within the call-site entry.
11599
11600 2001-08-03  Richard Henderson  <rth@redhat.com>
11601
11602         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
11603         don't take REGNO of a non-register.
11604
11605 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11606
11607         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
11608         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
11609         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
11610         (__gthread_mutex_init_function): New function for mutex initialization.
11611
11612 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11613
11614         * Makefile.in: Revert screwed up commit.
11615
11616 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11617
11618         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
11619         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
11620         merged by linker script to get a final _exit().
11621         (__do_global_dtors): New for destructor handling in specific exit
11622         section.
11623         (__do_global_ctors): New for constructors in specific install section.
11624         (__map_data_section): Map data sections before running constructors.
11625         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
11626         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
11627         (DTORS_SECTION_ASM_OP): Likewise.
11628         (CTORS_SECTION_FUNCTION): Define to force a reference to
11629         __do_global_ctors.
11630         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
11631
11632 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11633
11634         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
11635
11636         * Makefile.in: Add df.h to gcse.c dependencies.
11637
11638 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11639
11640         * varasm.c (output_constant_def_contents): Use for the length of a
11641         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
11642         depending on which is larger.
11643
11644 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
11645
11646         * gcse.c: Include df.h for use as a dataflow analyzer.
11647         Remove regvec.
11648         Declaration of reg_set_info: gone.
11649         New df_analyzer variable used by store motion.
11650         (reg_set_info): Deleted.
11651         (mark_mem_regs): New function, analyze regs used by a mem.
11652         (store_ops_ok): Use dataflow analyzer results to determine if
11653         necessary regs are changed in the block.
11654         (find_moveable_store): Remove check for symbol ref, we can handle
11655         much more complex expressions now.
11656         (compute_store_table): Remove most of the code, it's unnecessary
11657         now that the dataflow analyzer records the info for us.
11658         (store_killed_after): Add parameter to say whether to do the
11659         store_ops_okay test, used to speed up testing when we already know
11660         the answer, and just want to know if the store itself was killed.
11661         (build_store_vector): Largely rewritten to calculate the various
11662         vectors properly, and somewhat optimized.
11663         (store_motion): Init the df_analyzer, get REG_DEF chains.
11664         Also handle trapping expressions (since mems almost always trap)
11665         (simple_mem): Redefine what a simple mem is.
11666
11667 2001-08-03  DJ Delorie  <dj@redhat.com>
11668
11669         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
11670         set from a constant part of the condition.
11671
11672 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
11673
11674         * mkdeps.c (deps_add_default_target): Make local variable
11675         ``start'' a const char pointer.
11676         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
11677
11678 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11679
11680         * doc/install.texi (Configuration): Fix markup.
11681         (Specific, i?86-*-udk): Likewise.
11682         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
11683         --with-gnu-ld.
11684         Document --enable-threads and --enable-libgcj status.
11685         (Specific, mips-sgi-irix*): Canonicalize triples.
11686         (Specific, mips-sgi-irix5): Warn about problems with this config.
11687         Mention required GNU as patch.
11688         Native assembler problems are fixed.
11689         (Specific, mips-sgi-irix6): Update O32 ABI support status.
11690         Document --enable-threads and --enable-libgcj status.
11691
11692 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11693
11694         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
11695         of mkinstalldirs.
11696
11697 2001-08-03  Richard Henderson  <rth@redhat.com>
11698
11699         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
11700         constant data.
11701
11702 2001-08-03  Richard Henderson  <rth@redhat.com>
11703
11704         * rtlanal.c (find_first_parameter_load): Stop if we
11705         reach a CODE_LABEL at BOUNDARY.
11706
11707 2001-08-03  Richard Henderson  <rth@redhat.com>
11708
11709         * config/alpha/alpha.md (force_movdi): New insn.
11710         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
11711         Tweek FRP marking of VMS prologue insns.
11712         * config/alpha/vms.h (EPILOGUE_USES): New.
11713
11714 2001-08-02  Richard Henderson  <rth@redhat.com>
11715
11716         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
11717
11718 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
11719
11720         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
11721         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
11722         config/convex/convex.h, config/d30v/d30v.c,
11723         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
11724         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
11725         config/mips/mips.h, config/mn10200/mn10200.h,
11726         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
11727         config/v850/v850.h, config/vax/openbsd.h,
11728         config/vax/openbsd1.h, config/vax/ultrix.h,
11729         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
11730         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
11731         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
11732         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
11733         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
11734         in comments and documentation.
11735
11736 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11737
11738         * line-map.c: New.
11739         * line-map.h: New.
11740         * Makefile.in (line-map.o): New.
11741         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
11742         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
11743         * cpperror.c (print_containing_files): Similarly.
11744         (print_location): Update.  Don't output a space before _Pragma.
11745         * cppfiles.c (stack_include_file): Set to line 1 immediately.
11746         (stack_include_filee, cpp_make_system_header): Update.
11747         (_cpp_execute_include): Get logical line number right for calling
11748         as-yet-unterminated #include.
11749         * cpphash.h (struct cpp_reader): Add line_maps.
11750         (_cpp_do_file_change): Update.
11751         * cppinit.c (cpp_create_reader): Initialize line maps.
11752         (cpp_destroy): Destroy line maps.
11753         (cpp_start_read): Get logical line number right.
11754         * cpplex.c (parse_string): Only warn once for multi-line strings.
11755         Use boolean variable for null warning.
11756         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
11757         already.
11758         (do_include_common): End the directive early.
11759         (do_line): Don't warn about out-of-range lines in preprocessed
11760         source.  Update.  Remove unused variables.
11761         (_cpp_do_file_change): Update for new line mapping.
11762         (pragma_cb): New typedef.
11763         (cpp_register_pragma): Stop looking ahead before calling the
11764         handler.  Clean up.
11765         (do_pragma_system_header): End directive early.
11766         (cpp_get_line_maps): New.
11767         (cpp_pop_buffer): Fudge logical line.  Update.
11768         * cpplib.h: Include line-map.h
11769         (enum cpp_fc_reason): Remove.
11770         (struct cpp_file_change): Update.
11771         (cpp_get_line_maps): New.
11772         * cppmain.c (struct_printer): New member map.
11773         (cb_file_change): Update for new mappings.
11774         * fix-header.c (cb_file_change): Similarly.
11775
11776 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11777
11778         * Makefile.in (libgcc.mk): Define mkinstalldirs.
11779         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
11780
11781 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
11782
11783         * config/vax/vax.c: include expr.h.
11784
11785 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11786
11787         * Makefile.in ($(srcdir)/configure): Only rebuild in
11788         maintainer mode.
11789         ($(srcdir)/config.in): Only define in maintainer mode.
11790         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
11791
11792 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
11793
11794         * doc/install.texi (Install GCC: Binaries): Update Bull info.
11795
11796 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11797
11798         * gcc.c (set_collect_gcc_options): New function, split out from
11799         main.
11800         Ignore elided switches.
11801         (do_spec_1): Invoke before executing command.
11802         (set_input): Export.
11803         Move declaration ...
11804         * gcc.h (set_input): ... here.
11805         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11806         file.
11807
11808 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
11809
11810         Kill -fhonor-std.
11811         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
11812         interaction.
11813         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
11814
11815 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
11816
11817         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
11818         for the unnamed instructions it expands to.
11819
11820 2001-08-02  Richard Henderson  <rth@redhat.com>
11821
11822         * regclass.c (call_really_used_regs): Conditionally define.
11823         (init_reg_sets_1): Don't use it if not defined.
11824         (fix_register): Similarly, don't set it.
11825
11826 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11827
11828         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
11829         Correct comment that had been missed in the previous change.
11830
11831 2001-08-01  Stan Shebs  <shebs@apple.com>
11832
11833         * config/darwin.c (machopic_stub_name): Try matching by name.
11834         (update_stubs): New function.
11835         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
11836         unconditionally.
11837
11838 2001-08-01  Richard Henderson  <rth@redhat.com>
11839
11840         * except.c (output_function_exception_table): Use assemble_align.
11841         * varasm.c (assemble_eh_label): Remove.
11842         (assemble_eh_align, assemble_eh_integer): Remove.
11843
11844 2001-08-01  Robert Lipe  <robertl@caldera.com>
11845
11846         * dwarfout.c: Remove reference to README.DWARF.
11847
11848 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
11849
11850         * regclass.c (call_really_used_regs): New array for registers which
11851         are actually used by a call.
11852         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
11853         new array.
11854         (fix_register): Set call_really_used too.
11855         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
11856         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
11857
11858 2001-08-01  Richard Henderson  <rth@redhat.com>
11859
11860         * read-rtl.c (read_name): Consider \r whitespace.
11861
11862 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
11863
11864         * config.gcc: Recognize powerpc-*-netbsd*.
11865
11866         * doc/install.texi (Host/target specific installation notes for
11867         GCC): Mention powerpc-*-netbsd*.
11868
11869         * config/rs6000/netbsd.h: New file.
11870         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11871         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11872         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11873         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11874         (TARGET_VERSION): Redefine.
11875
11876         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
11877         mcall-netbsd as a match for mcall-sysv.
11878         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
11879         (ncrti.S, ncrtn.S): New targets.
11880         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
11881
11882         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
11883         "netbsd' as a V4 ABI.
11884         (ASM_SPEC): Check for -mcall-netbsd.
11885         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
11886         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
11887         (LIB_SPEC, ENDFILE_SPEC): Ditto.
11888         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
11889         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
11890         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
11891         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
11892
11893         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
11894         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
11895
11896 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
11897
11898         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
11899         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
11900         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
11901         including "unwind-pe.h".
11902
11903 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
11904
11905         * rs6000.md (define_splits): Kill unused constraints.
11906
11907 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
11908                               Jan Hubicka  <jh@suse.cz>
11909
11910         * function.c (thread_prologue_and_epilogue_insns): Kill code
11911         dealing with non-existent CFG.
11912
11913 2001-08-01  Kazu Hirata  <kazu@hxi.com>
11914
11915         * alias.c: Fix comment formatting.
11916         * bitmap.c: Likewise.
11917         * builtins.c: Likewise.
11918         * calls.c: Likewise.
11919         * c-common.c: Likewise.
11920         * c-decl.c: Likewise.
11921         * c-dump.c: Likewise.
11922         * c-lex.c: Likewise.
11923         * collect2.c: Likewise.
11924         * combine.c: Likewise.
11925         * conflict.c: Likewise.
11926         * cppfiles.c: Likewise.
11927         * cppinit.c: Likewise.
11928         * cpplex.c: Likewise.
11929         * cpplib.c: Likewise.
11930         * cppmacro.c: Likewise.
11931         * cppspec.c: Likewise.
11932         * c-pragma.c: Likewise.
11933         * crtstuff.c: Likewise.
11934         * cse.c: Likewise.
11935         * cselib.c: Likewise.
11936         * c-semantics.c: Likewise.
11937         * c-typeck.c: Likewise.
11938
11939 2001-08-01  H.J. Lu <hjl@gnu.org>
11940
11941         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
11942
11943 2001-08-01  H.J. Lu <hjl@gnu.org>
11944
11945         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
11946
11947 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
11948
11949         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
11950         contextualizing Objective-C class name lookup by the lexer.
11951         (typespec_reserved_nonattr): Disable ObjC class name lookup after
11952         seeing a TYPESPEC.
11953         (protocoldef): Add support for forward @protocol declarations.
11954         (yylexname): Suppress ObjC class name lookup in certain contexts;
11955         re-enable after lookup is complete.
11956         (_yylex): Re-enable ObjC class name lookup when certain
11957         punctuation marks are seen.
11958
11959         * objc/objc-act.c (check_protocol_recursively): New function used
11960         for finding circular dependencies in protocols.
11961         (objc_declare_protocols): New function for handling forward
11962         @protocol declarations.
11963         (receiver_is_class_object): Detect the case when 'self' is used
11964         inside of a class method.
11965         (build_message_expr): Issue a warning if class method is desired
11966         but instance method is found instead.
11967         (conforms_to_protocol): Streamline.
11968         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11969         protocol Foo, even if 'Bar foo' does not.
11970         (check_protocols): Streamline.
11971         (start_protocol): Add checks for circular and duplicate protocol
11972         definitions.
11973         (encode_aggregate_within): For typedefs of structs, encode the
11974         underlying struct.
11975         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11976         (objc_declare_protocols): New prototype.
11977
11978 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11979
11980         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11981         * cpplex.c (handle_newline): Update prototype.  Maintain logical
11982         line number.
11983         (skip_escaped_newlines, skip_block_comment, parse_string):
11984         Update accordingly.
11985         (_cpp_lex_token): Update, and store token position within the token.
11986         * cpplib.h (struct cpp_token): Add line and column entries.
11987         * cppmacro.c (replace_args): Position stringified tokens correctly.
11988
11989 2001-08-01  Andreas Jaeger  <aj@suse.de>
11990
11991         * basic-block.h: Add prototype for last_loop_beg_note.
11992
11993 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
11994
11995         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11996         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11997         comment.
11998         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11999         while handling WITH_CLEANUP_EXPR node. Use second operand calling
12000         expand_decl_cleanup.
12001         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
12002         the first RTX.
12003         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
12004         operand while calling simple_cst_equal.
12005         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
12006         operand is the cleanup expression, the third is the RTL_EXPR.
12007         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
12008
12009 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
12010
12011         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
12012
12013 2001-07-31  matthew green  <mrg@eterna.com.au>
12014
12015         * config.gcc (i386-*-netbsdelf): New description.
12016         * config/i386/netbsd-elf.h: New file.
12017
12018 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
12019
12020         * loop.c (check_dbra_loop): Use single_set to compute
12021         jump_label.
12022
12023 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
12024
12025         PowerPC reorg and support for powerpc64-*-linux*.
12026
12027         Also fixes emitting of constants on 32 bit and 64 bit
12028         platforms.
12029
12030         * config.gcc: powerpc64-*-linux* is a new target.
12031         Things that needed aix.h now also include xcoff.h
12032
12033         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
12034         xcoff.h.
12035         Move AIX specific stuff into aix.h.
12036         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
12037         with more than just XCOFF now.
12038         (SET_ASM_OP): Remove, now defined where needed.
12039         (FUNCTION_PROLOGUE): New macro definition.
12040         (FUNCTION_EPILOGUE): New macro definition.
12041         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
12042
12043         * config/rs6000/xcoff.h: New file.
12044
12045         * config/rs6000/linux64.h: New file.
12046
12047         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
12048
12049 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
12050
12051         * rs6000.c (print_operand_address): Handle ELF syntax.
12052         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
12053         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
12054         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
12055
12056 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
12057
12058         * rs6000.c (rs6000_override_options): Only disable
12059         flag_function_sections for XCOFF.
12060         (exact_log2_cint_operand): New predicate.
12061         (reg_or_{add,sub}_cint64_operand): New predicates.
12062         (add_operand): Compare CONST_INT with fewer function calls.
12063         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
12064         (print_operand, case 'p'): Ensure positive operand.
12065         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
12066         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
12067         (PREDICATE_CODES): Add new predicates.
12068         * rs6000.md (addsi3): Split 32-bit constants more correctly.
12069         (divsi3, modsi3): Ensure positive power-of-2.
12070         (adddi3): Use new predicate.  Split 32-bit constants more
12071         correctly.  Re-arrange splitter to handle any constant.
12072         (subdi3): Use new predicate.
12073         (divdi3, moddi3): Ensure positive power-of-2.
12074         (movdi): Use rs6000_emit_set_const.
12075         (load_toc_v4_pic_di): Delete.
12076
12077 2001-07-31  Graham Stott <grahams@redhat.com>
12078
12079         * function.c (pad_below): Revert 2001-07-26 patch.
12080
12081 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12082
12083         * reg-stack (convert_regs_1): Fix best edge condition.
12084
12085 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
12086
12087         * jump.c (duplicate_loop_exit_test): Better test for jumps
12088         entering the loop; create loop pre_header.
12089
12090 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
12091
12092         * doc/install.texi: Add s390 and s390x as new targets.
12093         * doc/invoke.texi: Add documentation of S/390 and zSeries
12094         target options.
12095         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
12096
12097 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
12098
12099         * config/m68k/m68k.md: Replace all general_operand with
12100         nonimmediate_operand for all destinations.
12101         * config/m68k/m68k.c (not_sp_operand): Likewise.
12102
12103 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
12104
12105         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
12106
12107 2001-07-30  Richard Henderson  <rth@redhat.com>
12108
12109         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
12110         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
12111
12112 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
12113
12114         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
12115         Add missing doc strings
12116         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
12117         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
12118
12119 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
12120
12121         * i386.c (ix86_output_main_function_alignment_hack): New function.
12122         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
12123
12124         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
12125         edges by EDGE_DFS_BACK flag.
12126         (dump_edge_info): Add dfs_back flag.
12127         * basic-block.h (EDGE_DFS_BACK): New constant.
12128         (mark_dfs_back_edges): Declare.
12129         * alias.c (loop_p): Remove.
12130         (mark_constant_function): Use mark_dfs_back_edges.
12131
12132         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
12133         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
12134         (compensate_edge): Break out from ...
12135         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
12136         (convert_regs_2): Set block_done once block is really done;
12137         Do updating of the predecessors counts.
12138
12139         * toplev.c (rest_of_compilation): Recompute block_for_insn
12140         before post-reload cfg_cleanup.
12141         * function.c (thread_prologue_epilogue_insns):
12142         Call set_block_for_new_insns when emitting prologue directly.
12143
12144 2001-07-30  Andreas Jaeger  <aj@suse.de>
12145
12146         * jump.c: Add prototype for mark_modified_reg.
12147
12148         * cse.c (set_live_p): Add unused attribute.
12149
12150         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
12151         overflow.
12152         (scan_for_source_files): Use long for count to avoid overflow.
12153         (output_data): Likewise.
12154         (output_data): Don't use string concatatenation to silence gcc
12155         -traditional.
12156
12157         * predict.c: Fix typos and grammar.
12158
12159         * gcse.c (insert_insn_end_bb): Remove unused variables.
12160
12161 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
12162
12163         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
12164         (attempt_auto_inc): LIkewise.
12165         (mark_used_reg): Likewise.
12166         (try_pre_increment_1): Likewise.
12167         * regclass.c (regclass): Likewise.
12168         * global.c (allocno_compare): Update comment; change scaling factor.
12169         * local-alloc.c (QTY_CMP_PRI): Likewise.
12170         * regs.h (REG_FREQ_FROM_BB): New.
12171         (REG_FREQ_MAX): Likewise.
12172
12173 2001-07-30  H.J. Lu <hjl@gnu.org>
12174
12175         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
12176         -D_GNU_SOURCE.
12177
12178 2001-07-30  H.J. Lu  (hjl@gnu.org)
12179
12180         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
12181         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
12182         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
12183
12184 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
12185
12186         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
12187         as -mthumb-interwork when -mcpu=arm7 is specified.
12188
12189 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12190
12191         * predict.def (noreturn, loop branch, loop exit): Mark as first
12192         match heuristics.
12193
12194 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
12195
12196         * combine.c (try_combine): Avoid barrier after noop jumps.
12197
12198 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12199
12200         * cpphash.h (struct cpp_reader): Remove import_warning.
12201         * cpplib.c (skip_rest_of_line): Don't bother turning off
12202         macro expansion.
12203         (parse_include): Move include handling to...
12204         (do_include_common): ... here.  Move import warning from...
12205         (do_import): ... here.
12206         (do_pragma_poison): Don't do a callback for poison identifiers.
12207         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
12208         * cppmain.c (setup_callbacks): Similarly.
12209
12210 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
12211
12212         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
12213         handle multiple sets.
12214         * except.c (sjlj_mark_call_sites): .... here.
12215         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
12216
12217 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
12218
12219         Suggested by Richard Henderson and Richard Kenner:
12220         * combine.c (recog_for_combine): Use the fake recog
12221         only if instruction does not match.
12222         * rtl.h (NOOP_MOVE_INSN_CODE): New.
12223         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
12224
12225         * combine.c (try_combine): Discover noop jump as direct jump.
12226
12227 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
12228
12229         * df.c (df_rd_global_compute): Add successors to worklist, not
12230         current item.
12231         (df_ru_global_compute): Ditto.
12232
12233 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
12234
12235         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
12236         increment REG_N_SETS.
12237
12238 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
12239
12240         * sbitmap.h: New prototype for sbitmap_a_xor_b.
12241
12242         * sbitmap.c (sbitmap_a_xor_b): New function.
12243         ifdef the basic block stuff on IN_GCC.
12244
12245 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12246
12247         * cppexp.c (parse_defined): Always record the macro name.
12248         (lex): Don't worry about identifiers, or special-case
12249         CPP_NOT here.
12250         (_cpp_parse_expr): Figure out at the end of the routine
12251         whether we saw a valid !defined() expression.
12252         * cppfiles.c (stack_include_file): Update for mi_valid.
12253         (_cpp_pop_file_buffer): Similarly.
12254         * cpplex.c (_cpp_lex_token): Similarly.
12255         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
12256         mi_if_not_defined, mi_lexed): Remove.
12257         (mi_valid): New.
12258         * cpplib.c (do_if): Simplify.
12259         (do_endif, push_conditional, _cpp_handle_directive): Update
12260         for renaming of mi_state to mi_valid.
12261 doc:
12262         * cpp.texi: Add index entries for digraphs, and add comment
12263         that C++ refers to them as alternative tokens.
12264
12265 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
12266
12267         * basic-block.h (CLEANUP_PRE_LOOP): New.
12268         * except.c (finish_eh_generation): Update call of cleanup_cfg.
12269         * sibcall.c (optimize_sibling_calls): Likewise.
12270         * toplev.c (rest_of_compilation): Likewise.
12271         * flow.c (try_forward_edges): Take argument MODE;
12272         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
12273         (try_optimize_cfg): Update call of try_forward_edges.
12274
12275 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
12276                                 Jan Hubicka  <jh@suse.cz>
12277
12278         * (validate_replace_rtx_1): Fix simplification of MINUS.
12279
12280 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
12281
12282         PR preprocessor/3669
12283         * cppinit.c (init_dependency_output): Turn off dump requests
12284         if sending dependencies to stdout.
12285
12286 2001-07-28  Richard Henderson  <rth@redhat.com>
12287
12288         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
12289         not optimizing.
12290
12291 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
12292
12293         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
12294
12295 2001-07-28  Kazu Hirata  <kazu@hxi.com>
12296
12297         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
12298         is VAR_DECL first to prevent an ICE.
12299
12300 2001-07-28  Richard Henderson  <rth@redhat.com>
12301
12302         * varasm.c (immed_real_const_1): Don't elide special cases for
12303         nested functions.
12304         (clear_const_double_mem): Clear const_tiny_rtx too.
12305
12306 2001-07-28  Richard Henderson  <rth@redhat.com>
12307
12308         * dwarf2out.c (dw_val_class_offset): New.
12309         (struct dw_ranges_struct, dw_ranges_ref): New.
12310         (ranges_table, ranges_table_allocated): New.
12311         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
12312         (add_AT_offset, add_ranges, output_ranges): New.
12313         (print_die, output_die): Handle dw_val_class_offset.
12314         (attr_checksum, size_of_die, value_format): Likewise.
12315         (gen_lexical_block_die): Handle non-contiguous blocks.
12316         (gen_block_die): Likewise.
12317         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
12318         if needed.  Dump the ranges table.
12319         * final.c (final_start_function): Remove unnecessary notes and
12320         rebuild the block tree before numbering the blocks.
12321         * function.c (reorder_blocks_0): Walk the existing block tree
12322         to unmark all blocks.
12323         (reorder_blocks_1): Create block fragments when duplicate block
12324         notes are seen.
12325         (reorder_fix_fragments): New.
12326         (reorder_blocks): Call it.
12327         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
12328
12329 2001-07-28  Richard Henderson  <rth@redhat.com>
12330
12331         * emit-rtl.c (adjust_address): Make a copy of the memory address.
12332
12333 2001-07-28  Richard Henderson  <rth@redhat.com>
12334
12335         * flow.c (add_to_mem_set_list): New function.
12336         (init_propagate_block_info): Use it.
12337         (mark_set_1): Likewise.
12338         (insn_dead_p): Canonicalize memory address for dead store
12339         comparison.  Allow wider mode stores to kill narrower mode stores.
12340         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
12341         (invalidate_mems_from_set): Don't handle MEMs.
12342
12343 2001-07-28  Kazu Hirata  <kazu@hxi.com>
12344
12345         * config/h8300/h8300.h: Fix formatting.
12346
12347 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12348
12349         * basic-block.h (EDGE_FREQUENCY): New macro.
12350         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
12351         for new BB/edges.
12352         * flow.c (find_sub_basic_blocks): Likewise.
12353         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
12354         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
12355
12356         * predict.c (DEF_PREDICTOR): New argument FLAGS.
12357         (HITRATE): New macro.
12358         (PRED_FLAG_FIRST_MATCH): New constant.
12359         (predictor_info): New field flgags.
12360         (combine_predictions_for_insn): Use DS theory to combine
12361         probabilities; set the edge probabilities when finished.
12362         (estimate_probability): Avoid duplicated matches
12363         of LOOP_BRANCH heuristics for nested loops; update comment.
12364         * predict.def: Add flags for each prediction, set probabilities
12365         according to B&L paper.
12366         * predict.h (DEF_PREDICTOR): New argument FLAGS.
12367
12368         * profile.c (compute_branch_probabilities):  Cleanup way the edge
12369         probabilities are computed and REG_BR_PROB notes are dropped; if
12370         values does not match, emit error.
12371         (init_branch_prob): Do error instead of warning when profile driven
12372         feedback is missing or corrupt.
12373
12374 2001-07-27  DJ Delorie  <dj@redhat.com>
12375
12376         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
12377         against a constant, try to adjust the compare to have the desired
12378         constant in it so that min/max optimizations happen more often.
12379
12380 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12381
12382         * flow.c (last_loop_beg_note): New function.
12383         (redirect_edge_and_branch): Use it.
12384         (split_edge): Likewise.
12385
12386         * alias.c (loop_p): Avoid uninitialized memory access.
12387
12388         * flow.c (try_forward_edges): Avoid accessing freed memory.
12389
12390         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
12391         variable access.
12392
12393 2001-07-26  Andrew Haley  <aph@redhat.com>
12394         Joern Rennecke <amylaar@redhat.com>
12395
12396         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
12397         (SUBTARGET_CPP_ENDIAN_SPEC): New.
12398         (SUBTARGET_CPP_SPEC): New.
12399         (CPP_SPEC): Remove.
12400         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
12401         (SUBTARGET_CPP_PTR_SPEC): New.
12402         (CPP_DEFAULT_CPU_SPEC): New.
12403         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
12404         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12405         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
12406         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12407         (SUBTARGET_CPP_SPEC): Define as an empty string.
12408
12409 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12410
12411         * doc/install.texi (Configuration): Properly link the host
12412         specific instructions also when generating HTML.
12413
12414 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
12415
12416         * flow.c (redirect_edge_and_branch_force): Test
12417         target->global_live_at_start.
12418
12419 2001-07-26  Richard Henderson  <rth@redhat.com>
12420
12421         * simplify-rtx.c (avoid_constant_pool_reference): Export.
12422         * rtl.h (avoid_constant_pool_reference): Declare it.
12423         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
12424         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
12425
12426 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12427
12428         * rtl.h (cleanup_barriers): Declare.
12429         * jump.c (cleanup_barriers): New function.
12430         * toplev.c (rest_of_compilation): Call cleanup_barriers
12431         before loop optimizer and after bb_reorder.
12432
12433         * flow.c (back_edge_of_syntactic_loop_p): New.
12434         (split_edge): Use it.
12435
12436 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12437
12438         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
12439
12440 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
12441
12442         * cse.c (cse_process_notes): Replace any registers if the address
12443         remains valid.
12444
12445 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
12446
12447         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
12448         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
12449         (propagate_block): Update prototype.
12450         * flow.c (update_life_info): Simplify the CFG and
12451         recalculate the global regs which are alive when
12452         removing dead code during a global update.
12453         (propagate_block): Return non-zero if an INSN is
12454         deleted.
12455
12456 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12457
12458         * Makefile.in (LIBICONV): Define.
12459
12460 2001-07-26  Catherine Moore  <clm@redhat.com>
12461
12462         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
12463         of conditional to avoid tree checking errors.
12464
12465 2001-07-26  Kazu Hirata  <kazu@hxi.com>
12466
12467         * regmove.c (regmove_optimize): Don't replace a reg with
12468         another reg of a different mode.
12469
12470 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
12471
12472         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
12473         limit length of dependency flush list.
12474         * params.h (MAX_PENDING_LIST_LENGTH): Define.
12475         * sched-int.h  (struct deps): Add pending_flush_length field.
12476         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
12477         has 1 element in it.
12478         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
12479         (sched_analyze): After a jump, if the pending memory flush list is too
12480         large, flush the pending lists.
12481         (init_deps): Initialize pending_flush_length to 0.
12482         * doc/invoke.texi (max_pending_list_length): Document parameter.
12483
12484 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
12485
12486         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
12487         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
12488         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
12489
12490 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12491
12492         * cpphash.h (struct_lexer_state): Delete was_skipping.
12493         Move skipping here from struct cpp_reader.
12494         * cpplex.c (parse_identifier): Update.
12495         (_cpp_lex_token): Don't skip tokens in a directive.
12496         * cpplib.c (struct if_stack): Update.
12497         (start_directive, end_directive): Don't change skipping state.
12498         (_cpp_handle_directive): Update.
12499         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
12500         (do_else, do_endif): Update; only check for excess tokens if not
12501         in a skipped conditional block.
12502         (push_conditional): Update for new struct if_stack.
12503
12504 2001-07-26  Graham Stott  <grahams@redhat.com>
12505
12506         * function.c (locate_and_pad_parm): Also pad initial offset
12507         so that the total argument size also includes the padding.
12508
12509 2001-07-26  Graham Stott <grahams@redhat.com>
12510
12511         * gensupport.c (alter_output_for_insn): Correct enable checking failure
12512         change XSTR to XTMPL.
12513
12514         (process_one_cond_exec): Likewise
12515
12516 2001-07-25  Richard Henderson  <rth@redhat.com>
12517
12518         * varasm.c (assemble_variable): Create DECL_RTL before setting
12519         TREE_ASM_WRITTEN.
12520
12521 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
12522
12523         * predict.c (estimate_probability): Avoid duplicated predictions.
12524
12525         * loop.c (find_and_verify_loops): Grok multiple barriers.
12526
12527 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12528
12529         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
12530
12531         * dbxout.c: Consistently use putc instead of fputc.
12532         (print_wide_int): New function; call instead of direct fprintf.
12533         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
12534         (dbxout_type_fields, dbxout_type_method_1): Likewise.
12535         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
12536         (print_int_cst_octal): Likewise.
12537         (print_octal): Show we wrote characters.
12538         (dbxout_type): Set have_used_extensions in more places.
12539
12540 2001-07-25  Catherine Moore  <clm@redhat.com>
12541
12542         * config/v850/v850.c (v850_va_arg):  Use addr
12543         instead of valist to build incr.
12544
12545 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
12546
12547         * flow.c (delete_dead_jumptables): New function.
12548         (life_analyzis): Call it.
12549         * bb-reorder.c (skip_insns_after_block): Handle contradictory
12550         sequences.
12551
12552 2001-07-25  Richard Henderson  <rth@redhat.com>
12553
12554         * except.c (reachable_handlers): Handle a region being removed
12555         out from under a RESX.
12556
12557 2001-07-25  Richard Henderson  <rth@redhat.com>
12558
12559         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
12560         swap GE/GT if it is an fp comparison.
12561
12562 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
12563
12564         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
12565         operands.
12566
12567 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
12568
12569         * ssa.c (rename_insn_1): Do not wrap an assignment to a
12570         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
12571         glitch.
12572
12573         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
12574         throw an exception.
12575         (visit_expression): When attempting to simplify an expression,
12576         retrieve any modes for arguments before they are simplified
12577         to constants.
12578
12579 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
12580             Janis Johnson  <janis@us.ibm.com>
12581
12582         * stmt.c (expand_goto): A nonlocal goto can be a call too.
12583         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
12584         pointer parameters to match documented usage of nonlocal_goto.
12585         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
12586         parameters to their correct order.
12587         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
12588         parameters to their correct order.
12589
12590 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
12591
12592         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
12593
12594 2001-07-25  Jan Hubicka  <jh@suse.cz>
12595             Richard Henderson  <rth@redhat.com>
12596
12597         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
12598         the sequence.
12599         (make_edges): New argument update_p; populate the edge cache if set.
12600         (find_basic_blocks): Update make_edges invocation.
12601
12602 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12603
12604         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
12605
12606 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12607
12608         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
12609         -Acpu and -Amachine.h.
12610         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
12611         Corrected header to say ELF not a.out.
12612         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
12613         when given -msoft-float.
12614
12615 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12616
12617         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
12618         extra multilib parts like arm-elf.
12619         (i960-*-coff*, i960-*-rtems): Should not use collect2.
12620         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
12621         crtfini.o as extra multilib parts.
12622
12623 2001-07-24  Joel Sherrill <joel@OARcorp.com>
12624
12625         * configure.in: Add rtems as a supported thread model.
12626         * gthr-rtems.h: Add missing entry point __gthread_active_p.
12627         * configure: Rebuilt.
12628
12629 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
12630
12631         * stor-layout.c (get_mode_alignment): make it work when
12632         BITS_PER_UNIT is not a power of two.
12633         * builtins.c (get_pointer_alignment): Likewise.
12634
12635 2001-07-24  Richard Henderson  <rth@redhat.com>
12636
12637         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
12638         the retrieved constant into the expected mode.
12639
12640 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
12641
12642         * flow.c (try_simplify_condjump): Avoid duplicated edges.
12643         (verify_flow_info): Check for duplicated edges; clarify
12644         error reporting.
12645
12646         * flow.c (block_label): Update basic_block_for_insn.
12647         (commit_edge_insertions): Call compute_bb_for_insn.
12648
12649         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
12650         returns too.
12651
12652         * flow.c (redirect_edge_and_branch,
12653         try_optimize_cfg): Use redirect_edge_succ_nodup
12654         (redirect_edge_succ_nodup): New.
12655         * basic_block.h (redirect_edge_succ_nodup): Declare.
12656
12657         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
12658         after gcse.
12659
12660 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
12661
12662         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
12663         (try_crossjump_to_edge): Update commetns.
12664         (try_crossjump_bb): Likewise.
12665
12666 2001-07-24  Richard Henderson  <rth@redhat.com>
12667
12668         * combine.c (distribute_notes): Move set of need_refresh
12669         for noop_move_p down to catch all cases.
12670
12671 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
12672
12673         * recog.c (split_all_insns_noflow): New.
12674         * rtl.h (split_all_insns_noflow): Declare.
12675         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
12676         * m68hc11.c (m68hc11_reorg): Likewise.
12677         * sh.c (machine_dependent_reorg): Likewise.
12678         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
12679         call.
12680
12681 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
12682
12683         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
12684         (ashlsi3_n splitter): Likewise.
12685         (lshrsi3_n splitter): Likewise.
12686
12687         (GOTaddr2picreg): Make const SImode.
12688         (sym_label2reg): Likewise.
12689         (symGOT2reg): Likewise.
12690         (symGOTOFF2reg) Likewise.
12691
12692         (casesi_worker_0): Make unspec SImode.
12693
12694 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
12695
12696         * config/sh/sh.c (barrier_align): Check that an operand really is
12697         an insn before extracting its INSN_CODE.
12698
12699 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
12700
12701         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
12702         dangling else.
12703
12704         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
12705         for SImode to prevent overflow.
12706
12707 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12708
12709         * config/mips/irix6-libc-compat.c: New file.
12710         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
12711         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
12712         passing workaround.
12713
12714 2001-07-24  lars brinkhoff  <lars@nocrew.org>
12715
12716         * rtl.texi (REG_POINTER): Document.
12717         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
12718         QFmode, HFmode, TQFmode, QCmode, and HCmode.
12719
12720 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
12721
12722         * flow.c (delete_noop_moves): Do not confuse libcall regions.
12723
12724 2001-07-23  Richard Henderson  <rth@redhat.com>
12725
12726         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
12727
12728 2001-07-23  Kazu Hirata  <kazu@hxi.com>
12729
12730         * config/h8300/h8300-protos.h: Add a prototype for
12731         general_operand_dst_push.
12732         * config/h8300/h8300.c (general_operand_dst_push): New.
12733         * config/h8300/h8300.h (OK_FOR_T): New.
12734         (EXTRA_CONSTRAINT): Use it.
12735         * config/h8300/h8300.md (movqi_push): Remove and integrate into
12736         the existing movqi pattern.
12737         (movhi_push): Likewise.
12738
12739         * reload.c: Fix comment typos.
12740
12741 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
12742
12743         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
12744
12745 2001-07-23  H.J. Lu  (hjl@gnu.org)
12746
12747         * doc/extend.texi: Update __builtin_return_address and
12748         __builtin_frame_address.
12749
12750 2001-07-23  Richard Henderson  <rth@redhat.com>
12751
12752         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
12753         before CSE.
12754         * config/i386/i386.md: New setcc+movzbl peephole2.
12755
12756 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12757
12758         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
12759         * objc/objc-act.c: Include debug.h.
12760         (synth_module_prologue): Save and restore debug hooks too.
12761
12762 2001-07-23  lars brinkhoff  <lars@nocrew.org>
12763
12764         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
12765         and C4X_FLOAT_FORMAT.
12766         (BOOL_TYPE_SIZE): Document.
12767
12768 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
12769
12770         * unroll.c (loop_iterations): Fix miscalculation of initial
12771         giv offset.
12772
12773 2001-07-13  Andrew Haley  <aph@redhat.com>
12774
12775         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
12776         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
12777         * config/sh/sh.c (sh_can_redirect_branch): New function.
12778         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
12779         * reorg.c (steal_delay_list_from_target): Use
12780         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
12781
12782 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
12783
12784         * flow.c (try_simplify_condjump): Unlink insn chain on
12785         fallthru edge; use can_fallthru.
12786
12787 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
12788
12789         * basic-block.h (find_sub_basic_block): Declare.
12790         * flow.c (make_edges): New arguments MIN and MAX;
12791         (find_sub_basic_blocks): Revamp to use make_edges
12792         and purge_dead_edges.
12793         (find_basic_blocks): Update call of find_sub_basic_block.
12794
12795         * recog.c (split_all_insns): Always expect CFG to be consistent;
12796         call find_sub_basic_blocks in case something has changed.
12797         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
12798         has been built.
12799
12800         * basic-block.h (delete_noop_moves): Declare.
12801         * combine.c (combine_instructions): Call it.
12802         (recog_for_combine): Tolerate noop moves
12803         (distribute_notes): Force refresh when register dies at noop move.
12804         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
12805         too.
12806         (life_analysis): Update delete_noop_moves call.
12807         (set_noop_p): Move too ...
12808         * rtlanal.c (noop_move_p): ... here.
12809         * rtl.h (noop_move_p): Declare.
12810
12811         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
12812         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
12813         after combine.
12814         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
12815         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
12816
12817 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
12818
12819         * reload.c (push_reload): Fix typo in comment.
12820         (find_reloads_address): Ditto.
12821         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
12822
12823 2001-07-22  Richard Henderson  <rth@redhat.com>
12824
12825         * flow.c: Grammar check and clarify a lot of comments.
12826         (try_simplify_condjump): Rename variables to be clearer.
12827         (try_forward_edges): Skip complex and fallthru edges.
12828         Rearrange tests to avoid duplicate checks.
12829         (flow_find_cross_jump): Likewise.
12830         (outgoing_edges_match): Allow match if neither branch has
12831         probability data.  Loosen probability match to 5%.
12832         (try_crossjump_to_edge): Hoist repeated indirection into
12833         local variables.
12834         (try_crossjump_bb): Don't check complex edges.  Eliminate
12835         redundant crossjump tests.
12836         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
12837         checks before more expensive checks.
12838
12839 2001-07-22  Richard Henderson  <rth@redhat.com>
12840
12841         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
12842         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
12843         arguments.
12844
12845 2001-07-22  Richard Henderson  <rth@redhat.com>
12846
12847         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
12848         (const_sint32_operand): Likewise.
12849         * m68k.md (anon mulsi pattern): Use const_int_operand not
12850         const_sint32_operand.
12851         (umulsi3_highpart): Zero extend a constant input.
12852         (smulsi3_highpart): Don't bother checking SImode constant.
12853         (const_umulsi3_highpart): Give op3 DImode.
12854         (const_smulsi3_highpart): Likewise.
12855
12856 2001-07-22  Richard Henderson  <rth@redhat.com>
12857
12858         * flow.c (split_block): Make sure bb_note is included in the
12859         new block when splitting before a label.
12860
12861 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
12862
12863         * basic-block.h (redirect_edge_and_branch_force,
12864         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
12865         * flow.c (redirect_edge_and_branch_force,
12866         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
12867         (redirect_edge_and_branch_force): Fix copying of lifeness information.
12868         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
12869         * ifcvt.c (dead_or_predictable): Take BB as an new destination
12870         instead of label; update CFG after transformation.
12871         (find_if_case_1): Update call, use redirect_edge_and_branch_force
12872         for finishing the transformation; handle even case where ELSE
12873         does not follow THEN.
12874         (find_if_case_2): Update call of dead_or_predictable; simplify
12875         CFG update.
12876
12877         * emit-rtl.c (split_branch_probability): New global variable.
12878         (try_split): Take care to set split_branch_probability and
12879         create REG_BR_PROB note for new jump insns.
12880         * md.texi (define_split): Document new feature.
12881
12882         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
12883
12884 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12885
12886         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
12887         (asm_out_file): Remove redundant declaration.
12888         (assemble_asm): Remove old #if 0 block.
12889         (assemble_variable): Remove end of function; debug output is
12890         now handled with global_decl.  Remove old #if 0 block.  Update.
12891         Remove saved_in_section and associated no-op code.
12892         * Makefile.in (varasm.o): Correct dependencies.
12893
12894 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
12895
12896         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12897         the definition in defaults.h.
12898
12899 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
12900
12901         * jump.c: Update comments.
12902         (delete_barrier_successors, delete_unreferenced_labels,
12903         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
12904         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
12905         jump_optimize, jump_optimize_minimal): Kill.
12906         (rebuild_jump_labels): Move code from jump_optimize_1.
12907         (purge_line_number_notes): Likewise.
12908         (copy_loop_headers): Likewise.
12909         * reg-stack.c: Update comment.
12910         * stmt.c: Likewise.
12911         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
12912         JUMP_AFTER_REGSCAN): Kill.
12913         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
12914         purge_line_number_notes and copy_loop_headers.
12915
12916 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
12917            Richard Henderson  <rth@redhat.com>
12918
12919         * dbxout.c (dbxout_global_decl): New.
12920         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12921         * sdbout.c (sdbout_finish): New.
12922         (sdbout_debug_hooks): Use it, add comments.
12923         (sdbout_global_decl): Defer initialised public vars to
12924         sdbout_finish.
12925         * varasm.c (assemble_variable): Don't output debug information
12926         for file-scope variables.
12927
12928 2001-07-22  Richard Henderson  <rth@redhat.com>
12929
12930         * config/alpha/alpha.c (get_trap_mode_suffix): New.
12931         (get_round_mode_suffix): New.
12932         (print_operand): Use them for [/].  Remove support for [&'`()+].
12933         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
12934         * config/alpha/alpha.md (attr round_suffix): New.
12935         (attr trap_suffix): New.
12936         (all insns): Set them appropriately.  Use %/ instead of the
12937         myriad punctuators.
12938
12939 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12940
12941         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
12942
12943 2001-07-22  Richard Henderson  <rth@redhat.com>
12944
12945         * regrename.c (regrename_optimize): Compute nregs for each
12946         potential target register.
12947
12948 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
12949            Richard Henderson  <rth@redhat.com>
12950
12951         * dbxout.c (dbxout_global_decl): New.
12952         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12953         * sdbout.c (sdbout_finish): New.
12954         (sdbout_debug_hooks): Use it, add comments.
12955         (sdbout_global_decl): Defer initialised public vars to
12956         sdbout_finish.
12957         * varasm.c (assemble_variable): Don't output debug information
12958         for file-scope variables.
12959
12960 2001-07-21  H.J. Lu  (hjl@gnu.org)
12961
12962         * config/mips/mips.c (mips_cpu): Moved into ...
12963         (override_options): Here.
12964
12965         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12966         mips_tune.
12967         (mips_cpu): Removed.
12968
12969 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12970
12971         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12972         ("iorqi3"): Likewise.
12973         ("xorqi3"): Likewise.
12974         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12975         ("*subhi3_sp): Likewise.
12976         ("*subhi3"): Likewise.
12977         ("extendhisi2"): Accept D, X and Y as source operand to avoid
12978         reload problems.
12979
12980 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
12981
12982         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12983         * config/freebsd.h: Likewise.
12984         * config/linux.h: Likewise.
12985         * config/openbsd.h: Likewise.
12986         * config/alpha/linux-elf.h: Likewise.
12987         * config/arm/linux-elf.h: Likewise.
12988         * config/d30v/d30v.h: Likewise.
12989         * config/fr30/fr30.h: Likewise.
12990         * config/ia64/aix.h: Likewise.
12991         * config/ia64/ia64.h: Likewise.
12992         * config/mips/linux.h: Likewise.
12993         * config/pj/pj.h: Likewise.
12994         * config/rs6000/linux.h: Likewise.
12995         * config/sparc/linux.h: Likewise.
12996         * config/sparc/linux64.h: Likewise.
12997
12998 2001-07-20  Bruce Korb  <bkorb@gnu.org>
12999
13000         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
13001         because getc() and char* may disagree on signedness.
13002
13003 2001-07-20  Richard Henderson  <rth@redhat.com>
13004
13005         * doc/rtl.texi (REG_DEAD): Update for current semantics.
13006
13007         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
13008         insns to delete in the presence of cc0 in a jump insn.
13009
13010 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
13011                                 Jan Hubicka  <jh@suse.cz>
13012
13013         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
13014         of doing the change by hand.
13015
13016 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
13017
13018         * rtlanal.c (set_noop_p): Return true for noop jumps.
13019
13020         * expr.c (emit_single_push_insn): Add call to push expander.
13021         * expr.h (optab_index): Add OTI_push
13022         (push_optab): New constant.
13023         * genopinit.c (optabs): Add push_optab.
13024         * optabs.c (init_optab): Init push optab.
13025         * md.texi (push??1): Document
13026
13027 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13028
13029         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
13030         expand to emit the pattern; put a REG_INC note for push/pop
13031         instructions.
13032         ("movdf", "movdf_internal"): Likewise.
13033         ("movsi", "movsi_internal"): Likewise.
13034         ("movsf", "movsf_internal"): Likewise.
13035         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
13036
13037 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13038
13039         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
13040         gen_highpart.
13041
13042 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
13043
13044         * params.def: Change default max inline insns to 100.
13045
13046 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
13047
13048         * combine.c (combine_simplify_rtx): Generate a new shift operation
13049         when simplifying the first operand of a (neg (ashift)) expression.
13050
13051 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
13052
13053         * regclass.c (N_REG_INTS): Use only 32 bits per element.
13054
13055 2001-07-20  Kelley Cook  <kelley.cook@home.com>
13056
13057         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
13058         information.   Move rest into ...
13059         (*-*-solaris): ... here.  Eliminate redundant information and
13060         reword necessary packages section.  Delete 4.x assembler bug info.
13061         (sparc-sun-*): Merge into ...
13062         (sparc-sun-sunos*): here.
13063
13064 2001-07-20  Catherine Moore  <clm@redhat.com>
13065
13066         * config/v850/v850.md (casesi): Generate LABEL_REF
13067         with Pmode.
13068
13069 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13070
13071         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
13072         * i386.c (ix86_zero_extend_to_Pmode): Make global.
13073         * i386.md (strclrsi expander): Use it.
13074
13075 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13076
13077         * integrate.c (copy_insn_list): handle
13078         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
13079         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
13080         identically as to CODE_LABEL.
13081
13082         * fold-const (fold): Convert A/B/C to A/(B*C) and
13083         A/(B/C) to (A/B)*C
13084
13085         * except.c (connect_post_landing_pads): Delete the RESX insns.
13086
13087 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
13088
13089         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
13090
13091         * config/mips/mips.md (nmadd/nmsub): Use macro.
13092
13093 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
13094
13095         * cppinit.c (remove_dup_dir): Make static.
13096         (remove_dup_dirs): Make static. Only warn about preempting a
13097         system directory with a non-system directory.
13098
13099 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
13100
13101         * ifcvt.c (noce_try_store_flag_constants): Correct order
13102         of parameters to trunc_int_for_mode.
13103
13104 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
13105
13106         * reorg.c (fill_simple_delay_slots): If an instruction might throw
13107         an exception that will be caught within this function, do not fill
13108         its delay slot with any subsequent instruction.
13109
13110 2001-07-19  Steve Ellcey <sje@cup.hp.com>
13111
13112         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
13113         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
13114         pointer extension instruction.
13115         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
13116         * simplify-rtx.c (simplify_unary_operation) Likewise.
13117         * explow.c (convert_memory_address) Check value of
13118         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
13119         less than zero.
13120         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
13121         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
13122         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
13123         Add Multilib Support.
13124         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
13125         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
13126         Add Multilib Support.
13127         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
13128         support.
13129         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
13130         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
13131         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
13132
13133 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
13134
13135         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
13136         old and new operands in `<', `3' and `b'.
13137
13138 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
13139
13140         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
13141         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
13142         (toplev.o): Don't depend on xcoffout.h.
13143         * c-decl.c: Include debug.h
13144         (duplicate_decls): Use debug hook.
13145         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
13146         (dbx_debug_hooks, xcoff_debug_hooks): Update.
13147         (dbxout_types): Remove.
13148         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
13149         * debug.c (do_nothing_debug_hooks): Update.
13150         (debug_true_tree, debug_nothing_rtx): New.
13151         * debug.h (struct rtx_def): New.
13152         (struct gcc_debug_hooks): New hooks ignore_block,
13153         outlining_inline_function and label.
13154         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
13155         dwarf2out_frame_finish): New.
13156         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
13157         Make static, update prototype.
13158         (dwarf2_debug_hooks): Update.
13159         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
13160         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
13161         * dwarfout.c (dwarf_debug_hooks): Update.
13162         * emit-rtl.c: Include debug.h.
13163         (remove_unnecessary_notes): Use debug hook.
13164         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
13165         (final_scan_insn): Use debug hook.
13166         * integrate.c (output_inline_function): Use debug hook.
13167         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
13168         (sdb_debug_hooks): Update.
13169         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
13170         * toplev.c: Don't include xcoffout.h.
13171         (note_outlining_of_inline_function, debug_ignore_block): Remove.
13172         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
13173         Remove.
13174         * tree.h (dwarf2out_do_frame): Remove.
13175
13176 2001-07-19  Catherine Moore  <clm@cygnus.com>
13177
13178         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
13179
13180 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
13181
13182         * reload1.c (eliminate_regs_in_insn): When updating a set
13183         to the frame pointer to the hardware frame pointer, perform
13184         the update always not just when REPLACE is set.
13185
13186         * reload1.c (choose_reload_regs): Don't inherit a reload
13187         that crosses multiple registers if registers past the first
13188         don't fit in the desired class.
13189
13190         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
13191         when negating constants.
13192
13193 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
13194
13195         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
13196         * doc/tree.texi: Ditto.
13197
13198 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
13199             Jakub Jelinek  <jakub@redhat.com>
13200
13201         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
13202         (extract_cie_info): Handle "eh" augmentation properly,
13203         remember eh_ptr.
13204         (struct frame_state, __frame_state_for): New.
13205
13206 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13207
13208         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
13209         HANDLE_SYSV_PRAGMA): Define.
13210         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
13211         previous args.
13212         (copy_object): Caller changed.
13213
13214 2001-07-19  Andreas Schwab  <schwab@suse.de>
13215
13216         * configure.in (assembler dwarf2 debug_line support): Define nop
13217         insn for m68k.
13218         * configure: Regenerated.
13219
13220 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
13221
13222         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
13223         dwarfout.h.
13224         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
13225         to conditionally compiled block.
13226         (dbx_debug_hooks, xcoff_debug_hooks): Update.
13227         * dbxout.h (dbxout_function): Remove.
13228         * debug.c (do_nothing_debug_hooks): Update.
13229         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
13230         global_decl, deferred_inline_function.
13231         * dwarf2out.c (dwarf2_debug_hooks): Update.
13232         (dwarf2out_global_decl): New.
13233         * dwarfout.c: Don't include dwarfout.h.
13234         (dwarfout_global_decl, dwarfout_function_decl,
13235         dwarfout_deferred_inline_function): New.
13236         (dwarf_debug_hooks): Update.
13237         * dwarfout.h: Remove.
13238         * final.c: Don't include dwarfout.h.
13239         * sdbout.c (sdbout_global_decl): New.
13240         (sdbout_debug_hooks): Update.
13241         * toplev.c: Don't include dwarfout.h.
13242         (check_global_declarations, rest_of_compilation): Use new debug hooks.
13243         (note_deferral_of_defined_inline_function): Remove.
13244         * toplev.h (note_deferral_of_defined_inline_function): Remove.
13245         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
13246         * ch/lex.c: Don't include dwarfout.h.
13247         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
13248         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
13249         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
13250         * cp/optimize.c: Include debug.h.
13251         (maybe_clone_body): Use debug hook.
13252         * cp/semantics.c: Include debug.h.
13253         (expand_body): Use debug hook.
13254         * po/POTFILES.in: Remove dwarfout.h.
13255
13256 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
13257
13258         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
13259         * c-parse.in (yyerror, _yylex): Similarly.
13260         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
13261         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
13262         Update comments.
13263         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
13264         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
13265
13266 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
13267
13268         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
13269         in-class declaration at -g1.  Fixes c++/2814.
13270
13271 2001-07-18  Richard Henderson  <rth@redhat.com>
13272
13273         * doc/md.texi (reload_in/out): Document restrictions in predicates
13274         and constraints for these patterns.  Document empty string matching
13275         ALL_REGS.
13276
13277 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13278
13279         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
13280
13281 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
13282
13283         * cse.c: Undo my previous patch.
13284
13285 2001-07-18  Tom Tromey  <tromey@redhat.com>
13286
13287         For PR java/2812:
13288         * configure: Rebuilt.
13289         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
13290         instead.
13291         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
13292
13293 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
13294                                 Jan Hubicka  <jh@suse.cz>
13295
13296         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
13297         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
13298         * jump.c (mark_jump_label): Do not forward branches.
13299
13300 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
13301
13302         * cse.c (delete_trivially_dead_insns): Delete the libcall block
13303         when return value is unused.
13304
13305 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13306
13307         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
13308
13309 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
13310
13311         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
13312         on error.  We can't blindly return the result of
13313         pthread_mutex_trylock because it returns a positive number on
13314         error, while we must return -1 on error.
13315         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
13316         fixes.
13317         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
13318
13319 2001-07-18  Andreas Jaeger  <aj@suse.de>
13320
13321         * integrate.c (output_inline_function): Correct type of debug_hooks.
13322
13323 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
13324
13325         * combine.c (combine_simplify_rtx): DIV can be treated
13326         associatively for floats if unsafe math optimisations are enabled.
13327
13328 2001-07-17  Richard Henderson  <rth@redhat.com>
13329
13330         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
13331
13332 2001-07-17  Richard Henderson  <rth@redhat.com>
13333
13334         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
13335         don't force the function address into a register.
13336         (expand_call, emit_library_call_value_1): Update callers.
13337         * builtins.c (expand_builtin_apply): Likewise.
13338         * expr.h (prepare_call_address): Update decl.
13339
13340 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
13341
13342         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
13343         config directory.
13344         * config/i386/chorus.h: Move up.
13345         * config/sparc/chorus.h: Likewise.
13346         * config/rs6000/chorus.h: Likewise.
13347         * config/chorus.h: Moved here.
13348
13349 2001-07-17  Andreas Schwab  <schwab@suse.de>
13350
13351         * configure.in  (assembler eh_frame optimization): Handle big
13352         endian.
13353         * configure: Regenerated.
13354
13355 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
13356
13357         * expr.c (epxand_expr): Convert divisions into multiplications by
13358         reciprocals if -ffast-math.
13359
13360 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13361
13362         * dbxout.c (dbxout_really_begin_function): Rename to
13363         dbxout_begin_function.
13364         (dbx_debug_hooks, xcoff_debug_hooks): Update.
13365         (dbxout_begin_function): Remove.
13366         (dbxout_function): Update.
13367         (dbxout_source_line): Update prototype.
13368         * dbxout.h (dbxout_begin_function): Remove.
13369         * debug.c (do_nothing_debug_hooks): Update.
13370         (debug_nothing_tree): Update.
13371         (debug_nothing_charstar_rtx): Remove.
13372         * debug.h (union tree_node): Declare.
13373         (struct rtx_def): Remove.
13374         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
13375         begin_function.  Change source_line prototype.
13376         (debug_nothing_tree): New.
13377         (debug_nothing_charstar_rtx): Delete.
13378         (dwarf2out_begin_prologue): Moved from ...
13379         * tree.h: ... here.
13380         * dwarf2out.c (dwarf2_debug_hooks): Update.
13381         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
13382         debug info, call dwarf2out_source_line.
13383         (dwarf2out_souce_line): Update prototype.
13384         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
13385         Change prototype, make static.
13386         (dwarfout_source_line): Update prototype.
13387         (dwarf_debug_hooks): Update.
13388         * dwarfout.h (dwarfout_begin_function): Remove.
13389         * final.c (final_start_function, final_scan_insn): Use appropriate
13390         debug hooks, update to use notice_source_line.
13391         (output_source_line): Rename notice_source_line.  Don't call the
13392         source_line debug hook.
13393         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
13394         make static, update prototype.
13395         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
13396         prototype.
13397         (sdbout_end_prologue): New.
13398         (sdbout_source_line): Update prototype.
13399         (sdbout_debug_hooks): Update.
13400         (sdbout_symbol): Remove unused var.
13401         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
13402         Delete.
13403         * varasm.c: Include debug.h.
13404         (assemble_start_function): Use begin_function debug_hook.
13405         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13406         update with prototype.
13407         (xcoffout_source_line): Update prototype.
13408         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13409         update prototype.
13410         (xcoffout_source_line): Update prototype.
13411
13412 2001-07-17  Richard Henderson  <rth@redhat.com>
13413
13414         * c-typeck.c (build_binary_op): Do not shorten unsigned
13415         right shift after sign extension.
13416
13417 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
13418
13419         * combine.c (combine_simplify_rtx): Attempt to simplify
13420         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
13421
13422         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
13423         (simplify_binary_operation, simplify_unary_operation,
13424          simplify_relational_operation): Use it.
13425
13426         * combine.c (combine_simplify_rtx): Don't do associative law
13427         on divisions; allow associative law on floats.
13428
13429 2001-07-17  H.J. Lu <hjl@gnu.org>
13430             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13431
13432         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
13433         ASM_OUTPUT_WEAK_ALIAS are defined.
13434         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
13435         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
13436         Moved ...
13437         * config/mips/iris5.h: ... here.
13438         (HANDLE_SYSV_PRAGMA): Defined as 1.
13439         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
13440         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
13441         symbol.
13442
13443 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
13444
13445         * c-parse.in (all_prefix_attributes): New variable.
13446         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
13447         (maybe_resetattrs): New production.
13448         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
13449         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
13450         notype_initdcl, nested_function, notype_nested_function,
13451         component_decl, components, components_notype,
13452         component_declarator, component_notype_declarator,
13453         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
13454         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
13455         after a comma being applied to more than one declarator.
13456         * doc/extend.texi (Attribute Syntax): Update.  Remove
13457         documentation of bugs that are no longer present.
13458
13459 2001-07-13  Eric Christopher  <echristo@redhat.com>
13460
13461         * config/mips/mips.h: Change TUNE_MIPS* options to use
13462         mips_tune.
13463         (EXTRA_SPECS): Add cc1_cpu_spec.
13464         * config/mips/mips.md (muldf3): Fix typo.
13465
13466 2001-07-16  Richard Henderson  <rth@redhat.com>
13467
13468         * config/m68k/m68k.c: Include expr.h and reload.h.
13469         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
13470         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
13471
13472 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
13473             Richard Henderson  <rth@redhat.com>
13474
13475         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
13476         (insn_live_p): Fix fall off end of function.
13477         (dead_libcall_p): Remove COUNTS argument; update callers.
13478         (delete_trivially_dead_insns): Remove unused variables.
13479
13480 2001-07-17  Andreas Jaeger  <aj@suse.de>
13481
13482         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
13483         x86-64 pic support.
13484
13485         * lcm.c (optimize_mode_switching): Avoid warning for unused
13486         variable if !NORMAL_MODE.
13487
13488         * flow.c (try_crossjump_to_edge): Remove unused variable.
13489
13490 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13491
13492         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
13493         atexit declaration in stdlib.h.
13494
13495 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
13496
13497         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
13498
13499 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13500
13501         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
13502         * except.c (finish_eh_generation): Update call of cleanup_cfg;
13503         do rebuild_jump_labels instead of jump_optimize
13504         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
13505         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
13506         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
13507
13508         * flow.c: Include timevar.h
13509         (find_basic_block): Push/pop timevar;
13510         (cleanup_cfg): Likewise.
13511         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
13512         * Makefile: Add dependencies on timevar.h
13513
13514         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
13515         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
13516
13517         * rtl.h (delete_trivially_dead_insns): Add new parameter.
13518         * toplev.c (rest_of_compilation): Update calls.
13519         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
13520         (delete_trivially_dead_insns): ... here; accept new argument
13521         preserve_basic_blocks; preserve basic blocks if set.
13522
13523         * reg-stack.c (stack_regs_mentioned): Return 0 if
13524         stack_regs_mentioned_data is not initialized.
13525         (reg_to_stack): Make stack_regs_mentioned survive after the
13526         reg-stack is completted; do not call cleanup_cfg.
13527         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
13528         make cleanup_cfg after bb-reorder to output to debug file.
13529
13530 2001-07-16  Richard Henderson  <rth@redhat.com>
13531
13532         * regclass.c (init_reg_sets): Use only 32 bits per initializer
13533         from int_reg_class_contents.
13534
13535 2001-07-16  Richard Henderson  <rth@redhat.com>
13536
13537         * hard-reg-set.h (regs_invalidated_by_call): Declare.
13538         * regclass.c (regs_invalidated_by_call): Move from cse.c.
13539         (init_reg_sets_1): Move initialization from cse_main.
13540         * cse.c (regs_invalidated_by_call): Move to regclass.c.
13541         (cse_main): Move its initialization also.
13542         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
13543         * flow.c (propagate_one_insn): Likewise.
13544         * gcse.c (compute_hash_table): Likewise.
13545         (compute_kill_rd, compute_store_table): Likewise.
13546         * sched-deps.c (sched_analyze_1): Likewise.
13547
13548 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
13549
13550         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
13551         gen_rtx_SET.
13552
13553 2001-07-16  Steve Ellcey <sje@cup.hp.com>
13554
13555         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
13556         in if statement so we don't access undefined memory.
13557
13558 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
13559
13560         * gcse.c: Update comment at top.
13561         Update comment on mem handling.
13562         mem_last_set, mem_first_set, mem_set_in_block: gone.
13563         Declaration of reg_set_info: gone.
13564         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
13565         pointless with load_killed_in_block_p (they are *more*
13566         conservative then it, not less, and less accurate).
13567         (oprs_not_set_p): Ditto.
13568         (alloc_gcse_mem): Don't allocate mem_set_in_block
13569         (free_gcse_mem): Don't free it, either.
13570         (record_last_mem_set_info): Update comment in front, remove
13571         mem_*set_* stuff. Note the reason we don't handle stores directly
13572         here.
13573         (compute_hash_table): Update comments to reflect reality. Remove
13574         mem_*set_* references.
13575         (reset_opr_set_tables): Remove mem_*set_* references.
13576         (mark_call): Ditto.
13577         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
13578         (mark_clobber): Ditto (on both parts, we double set here too).
13579         (expr_killed_p): Remove mem_set_in_block test.
13580         (compute_transp): Remove mem_set_in_block test.
13581
13582         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
13583         of edge, and removal of phi alternative to dump file.
13584         (ssa_ccp_substitute_constants): Add note about register now being
13585         constant, and which uses were replaced in what insns to dump file.
13586
13587 2001-07-16  Andreas Jaeger  <aj@suse.de>
13588
13589         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
13590         variables of type HOST_WIDEST_INT.
13591
13592         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
13593         (__bb_exit_func): Correct type of count_max to avoid overflow.
13594         (num_digits): Handle long long argument.
13595
13596         * combine.c (gen_lowpart_for_combine): Remove unused variable.
13597
13598 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13599
13600         * output.h (sdb_begin_function_line): Restore as an extern
13601         variable.
13602         * sdbout.c (sdb_begin_function_line): Make extern.
13603
13604 2001-07-15  Richard Henderson  <rth@redhat.com>
13605
13606         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
13607         * genrecog.c (maybe_both_true_mode): New.
13608         (maybe_both_true_2): Use it.
13609         (write_switch): Don't put Pmode in a switch.
13610         * rtl.c (mode arrays): Don't explicitly size them.
13611
13612 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
13613
13614         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
13615         handling; move unconditional splitting before mode switching.
13616
13617         * i386.md (type): Add fistp type.
13618         (i387, length_attr, scheduling definitions): Handle this type.
13619         (fix_trunc?f?i2): Revamp to use mode switching.
13620         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
13621         * i386.h (fp_cw_mode): New enum
13622         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
13623         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
13624
13625 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13626
13627         * Makefile.in (integrate.o): Add debug.h.
13628         * integrate.c (debug.h): Add.
13629         (output_inline_function): Save, reset, and restore debug_hooks.
13630
13631 2001-07-15  Richard Henderson  <rth@redhat.com>
13632
13633         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
13634         instead of COMPARE for the EQUIV expression.
13635
13636 2001-07-15  Richard Henderson  <rth@redhat.com>
13637
13638         * flow.c (redirect_edge_and_branch_force): Initialize
13639         global_live_at_start and global_live_at_end.
13640         (allocate_bb_life_data): Export.
13641         * basic-block.h (allocate_bb_life_data): Declare.
13642         * toplev.c (rest_of_compilation): Call it.
13643
13644 2001-07-15  Richard Henderson  <rth@redhat.com>
13645
13646         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
13647         (alpha_tablejump_best_label): New.
13648         * config/alpha/alpha-protos.h: Declare them.
13649         * config/alpha/alpha.md: Use braced strings for code blocks.
13650         (tablejump_osf): Break out add with r29.
13651         (tablejump_osf_internal): Remove.
13652         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
13653         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
13654
13655 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13656
13657         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
13658         of the movable.
13659
13660         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
13661
13662         * i386-protos.h (ix86_split_fp_branch): Update prototype.
13663         (ix86_fp_jump_nontrivial_p): New.
13664         * i386.md (fp_jcc_?): Update call of split_fp_branch;
13665         use ix86_fp_jump_nontrivial_p.
13666         * i386.c (ix86_fp_jump_nontrivial_p): New.
13667         (ix86_split_fp_branch): Accept code instead of rtx.
13668         (ix86_expand_compare): Expand comparison early in case
13669         doing so is resonably cheap.
13670
13671 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
13672
13673         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
13674         not 'machine'.
13675         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
13676         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
13677
13678 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
13679
13680         * dbxout.c (dbxout_source_line): Make static, update prototype.
13681         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
13682         (dbxout_init, dbxout_finish, dbxout_source_line,
13683         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
13684         * dbxout.h (dbxout_source_line): Delete.
13685         * debug.c (debug_nothing_file, debug_nothing_file_int,
13686         debug_nothing_file_charstar_rtx): New.
13687         (do_nothing_debug_hooks): Update.
13688         (debug_nothing_void, debug_nothing_charstar_rtx,
13689         dwarf2out_end_epilogue): New.
13690         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13691         * debug.h (struct rtx_def): Declare.
13692         (gcc_debug_hooks): New hooks source_line, end_epilogue
13693         and end_function.
13694         (debug_nothing_void, debug_nothing_charstar_rtx,
13695         dwarf2out_end_epilogue): New.
13696         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13697         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
13698         (dwarf2_debug_hooks): Update.
13699         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
13700         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
13701         * dwarf2out.h (dwarf2out_source_line): Remove.
13702         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
13703         Make static, update prototype.
13704         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
13705         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
13706         (dwarf_debug_hooks): Update.
13707         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
13708         dwarfout_end_function): Remove.
13709         * final.c (profile_function): Use debug hooks for ending functions
13710         and epilogues.
13711         (output_source_line, final_end_function): Update prototype,
13712         use debug hooks.
13713         (final_start_function, final_scan_insn): Update.
13714         * output.h (sdb_begin_function_line): Remove.
13715         (final_end_function): Update prototype.
13716         * sdbout.c (sdb_begin_function_line): Make static.
13717         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
13718         (sdbout_source_line): New.
13719         (sdbout_end_epilogue, sdbout_end_function): Make static, update
13720         prototypes.
13721         (sdb_debug_hooks): Update.
13722         (sdbout_init, sdbout_source_line,
13723         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
13724         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
13725         * toplev.c (compile_file, rest_of_compilation): Update.
13726         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
13727         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
13728         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
13729         Update for prototype changes.
13730         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
13731         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
13732
13733 2001-07-15  Richard Henderson  <rth@redhat.com>
13734
13735         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
13736         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
13737         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
13738         * config/alpha/alpha.c: Likewise.
13739         * config/alpha/alpha.md: Likewise.
13740         * config/alpha/alpha32.h: Likewise.
13741         * config/alpha/vms.h: Likewise.
13742         (OPEN_VMS): Remove.
13743
13744 2001-07-14  Richard Henderson  <rth@redhat.com>
13745
13746         * config/alpha/alpha.md: Use define_constants for unspec values.
13747         Substitute throughout.
13748
13749 2001-07-14  Tim Josling  <tej@melbpc.org.au>
13750
13751         * tree.def (EXPON_EXPR) remove. Never supported anyway.
13752
13753 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13754
13755         * pa.md: Remove unused constraints from define_split's.
13756
13757 2001-04-14  Richard Henderson  <rth@redhat.com>
13758
13759         * ifcvt.c (find_cond_trap): Test for exit block.
13760
13761 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
13762
13763         Re-install recently reverted patch.
13764         * emit-rtl.c (try_split): Update mark_jump_label call.
13765         * flow.c (find_sub_basic_blocks): Likewise.
13766         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13767         jump_back_p): Kill.
13768         (mark_all_labels): Kill second parameter.
13769         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13770         (rebuild_jump_labels, jump_optimize_minimal): Update call
13771         of jump_optimize_1.
13772         (jump_optimize_1): Kill crossjumping code.
13773         (mark_jump_label): Kill cross_jump parameter.
13774         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13775         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13776         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13777          splitting.
13778         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13779         DFI_bpro.
13780         (dump_file_info): Likewise.
13781         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13782         reorganize passes to do reg-stack first, bb-reorder second.
13783         * invoke.texi (-d letters doc): Remove the jump2 pass.
13784
13785 2001-07-14  Richard Henderson  <rth@redhat.com>
13786
13787         * ifcvt.c (find_cond_trap): New.
13788         (find_if_header): Call it.
13789         (merge_if_block): Relax existing jump sanity check.
13790         * jump.c (jump_optimize_1): Remove conditional trap handling.
13791
13792 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
13793
13794         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
13795         millicode.
13796         (insn_refs_are_delayed): Correct comment.
13797         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
13798         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
13799         instead of r31.  Make associated insn !TARGET_64BIT, and
13800         provide an additional 64-bit insn that clobbers r2.
13801         (divsi3): Likewise.
13802         (udivsi3): Likewise.
13803         (modsi3): Likewise.
13804         (umodsi3): Likewise.
13805
13806 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
13807
13808         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
13809
13810         * flow.c (redirect_edge_and_branch_force, split_edge,
13811         try_crossjump_to_edge): Use set_block_for_new_insns.
13812         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
13813
13814 2001-07-13  H.J. Lu  (hjl@gnu.org)
13815
13816         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
13817         the correct patch.
13818
13819 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
13820
13821         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
13822
13823 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
13824
13825         * c-common.c (decl_attributes): Take a pointer to the node to
13826         which attributes are to be attached, and a flags argument.
13827         * c-common.h (enum attribute_flags): New.
13828         (decl_attributes): Update prototype.
13829         * c-decl.c (start_decl, push_parm_decl, finish_struct,
13830         finish_enum, start_function): Update calls to decl_attributes.
13831         * c-parse.in (component_declarator, component_notype_declarator,
13832         label): Update calls to decl_attributes.
13833
13834 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
13835
13836         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
13837         * config/avr/avr.c (legitimate_address_p): Return value changed
13838         from letter to register classes. For better debugging.
13839
13840 2001-07-13  Kazu Hirata  <kazu@hxi.com>
13841
13842         * jump.c (reversed_comparison_code_parts): Fix comment typos.
13843
13844 2001-07-13  H.J. Lu  (hjl@gnu.org)
13845
13846         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
13847
13848 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
13849
13850         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
13851         correctly for shared configurations.
13852         * config/t-libgcc-pic:  New.
13853         * config/{i386,m68k,sparc}/t-openbsd:  New.
13854         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
13855         Support -shared.  Support debugging libraries with -g.
13856         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
13857         frame information does not emit pointer diffs.
13858         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
13859         emit pointer diffs.
13860
13861 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
13862
13863         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
13864
13865 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
13866
13867         * combine.c (try_combine): Ensure const_int pow2 is positive.
13868
13869 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
13870
13871         * config.gcc: Add configuration for s/390.
13872         * config/s390/s390.c: New. Subroutines for code generation.
13873         * config/s390/s390.h: New. Definitions for s/390.
13874         * config/s390/s390-protos.h: New. Prototypes.
13875         * config/s390/linux.h: New. Definitions for linux for s/390.
13876         * config/s390/linux64.h: New. Definitions for linux for zSeries.
13877         * config/s390/t-linux: New. Makefile fragment.
13878         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
13879         * config/s390/fixdfdi.h: New. Fix L_fix*di.
13880
13881 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
13882
13883         * emit-rtl.c (try_split): Update mark_jump_label call.
13884         * flow.c (find_sub_basic_blocks): Likewise.
13885         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13886         jump_back_p): Kill.
13887         (mark_all_labels): Kill second parameter.
13888         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13889         (rebuild_jump_labels, jump_optimize_minimal): Update call
13890         of jump_optimize_1.
13891         (jump_optimize_1): Kill crossjumping code.
13892         (mark_jump_label): Kill cross_jump parameter.
13893         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13894         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13895         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13896          splitting.
13897         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13898         DFI_bpro.
13899         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13900         reorganize passes to do reg-stack first, bb-reorder second.
13901         * invoke.texi (-d letters doc): Remove the jump2 pass.
13902
13903 2001-07-12  Steve Ellcey <sje@cup.hp.com>
13904
13905         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
13906
13907 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13908
13909         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
13910         basic blocks.
13911         (verify_flow_info): Make diagnostics prettier.
13912
13913 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13914
13915         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
13916
13917         * flow.c (outgoing_edges_match): Return early if condition reversal
13918         failed.
13919
13920 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
13921
13922         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
13923         (mips_move_2words): When splitting a move into two instructions,
13924         prefix the second address operand with '%D'.
13925
13926 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13927
13928         * Makefile.in (final.o): Depend on debug.h.
13929         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
13930         (dbx_debug_hooks): Add new hooks.
13931         (xcoff_debug_hooks): New.
13932         * debug.c (debug_nothing_file_int_int): New.
13933         (do_nothing_debug_hooks): Update.
13934         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
13935         (debug_nothing_file_int_int): New.
13936         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
13937         static, update prototype.
13938         (dwarf2_debug_hooks): Update.
13939         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
13940         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
13941         static, update prototype.
13942         (dwarf_debug_hooks): Update.
13943         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
13944         * final.c: Include debug.h.
13945         (final_scan_insn): Use debug hooks when beginning and ending blocks.
13946         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
13947         static, update prototype.
13948         (sdb_debug_hooks): Update.
13949         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13950         * toplev.c: Distinguish between xcoff and dbx.
13951
13952         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13953         Call all debug hooks, not just dwarf ones.
13954
13955 2001-07-11  Timothy Wall  <twall@redhat.com>
13956
13957         * config.gcc: Add configuration for AIX5/IA64.
13958         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
13959         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
13960         support prefix/suffix code.
13961         * config/ia64/t-aix: New.  Makefile fragment.
13962         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
13963
13964 2001-07-11  Kazu Hirata  <kazu@hxi.com>
13965
13966         * recog.c (validate_change): Fix a comment typo.
13967
13968 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13969
13970         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
13971         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13972         hooks directly.
13973         * dbxout.c (dbx_debug_hooks): Add new hooks.
13974         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13975         make static.
13976         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13977         make static.
13978         * dbxout.h (dbxout_start_new_source_file,
13979         dbxout_resume_previous_source_file): Delete.
13980         * debug.c (do_nothing_debug_hooks): Add new hooks.
13981         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13982         (debug_nothing_int_charstar, debug_nothing_int): New.
13983         * debug.h (gcc_debug_hooks): New hooks define, undef,
13984         start_source_file and end_source_file.
13985         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13986         (debug_nothing_int_charstar, debug_nothing_int): New.
13987         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
13988         the conditionally compiled section.
13989         (dwarf2out_start_source_file, dwarf2out_end_source_file,
13990         dwarf2out_define, dwarf2out_undef): Make static.
13991         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13992         dwarf2out_define, dwarf2out_undef): Remove.
13993         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13994         (dwarfout_start_source_file, dwarfout_end_source_file,
13995         dwarfout_define, dwarfout_undef): Make static.
13996         (dwarfout_start_source_file_check,
13997         dwarfout_end_source_file_check): New.
13998         (dwarfout_define, dwarfout_finish): Update.
13999         * dwarfout.h (dwarfout_start_new_source_file,
14000         dwarfout_resume_previous_source_file, dwarfout_define,
14001         dwarfout_undef): Remove.
14002         * sdbout.c (sdb_debug_hooks): Add new hooks.
14003         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
14004         make static.
14005         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
14006         make static, take an arg.
14007         * sdbout.h (sdbout_start_new_source_file,
14008         sdbout_resume_previous_source_file): Delete.
14009         * toplev.c (debug_start_source_file, debug_end_source_file,
14010         debug_define, debug_undef): Delete.
14011         * toplev.h (debug_start_source_file, debug_end_source_file,
14012         debug_define, debug_undef): Delete.
14013
14014         * java/jcf-parse.c: Include debug.h.
14015         (parse_class_file): Update to use debug hooks directly.
14016         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
14017
14018 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14019
14020         * alias.c (set_mem_alias_set): New function.
14021         * rtl.h (set_mem_alias_set): Declare it.
14022         * builtins.c (expand_builtin_return_addr): Call it instead of
14023         using MEM_ALIAS_SET accessor.
14024         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
14025         (get_memory_rtx, expand_builtin_va_arg): Likewise.
14026         (expand_builtin_va_copy):Likewise.
14027         * caller-save.c (setup_save_areas): Likewise.
14028         * calls.c (compute_argument_addresses): Likewise.
14029         * explow.c (set_mem_attributes): Likewise.
14030         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
14031         (expand_assignment, store_constructor_field, store_field): Likewise.
14032         (expand_expr_unaligned): Likewise.
14033         * function.c (assign_stack_temp_for_type): Likewise.
14034         (put_reg_into_stack, gen_mem_addressof): Likewise.
14035         * ifcvt.c (noce_try_cmove_arith): Likewise.
14036         * reload1.c (reload, alter_reg): Likewise.
14037         * config/alpha/alpha.c (get_aligned_mem): Likewise.
14038         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
14039         (alpha_expand_unaligned_store): Likewise
14040         (alpha_expand_unaligned_load_words): Likewise.
14041         (alpha_expand_unaligned_store_words): Likewise.
14042         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
14043         (alpha_expand_epilogue): Likewise.
14044         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
14045         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
14046         * config/i386/i386.c (legitimize_pic_address): Likewise.
14047         * config/i960/i960.c (setup_incoming_varargs): Likewise.
14048         * config/ia64/ia64.c (spill_restore_mem): Likewise.
14049         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
14050         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
14051         * config/mips/mips.c (mips_va_arg): Likewise.
14052         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
14053         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
14054         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
14055         (setup_incoming_varargs, rs6000_va_arg): Likewise.
14056         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
14057         (rs6000_emit_epilogue): Likewise.
14058         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
14059         * config/sparc/sparc.c (sparc_va_arg): Likewise.
14060         * config/v850/v850.c (v850_va_arg): Likewise.
14061
14062 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
14063
14064         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
14065         when fallthru edge is present.
14066         (mege_blocks): Handle case where creation of jump insn
14067         is required.
14068
14069         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
14070         CLEANUP_POST_REGSTACK): New constants.
14071         * except.c (finish_eh_generation): Update call of cleanup_cfg,
14072         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
14073         * output.h (cleanup_cfg): Update prototype.
14074         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
14075         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
14076         cleanup_cfg call; kill missleading comment.
14077         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
14078         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
14079         parameter; control optimizations performed using it.
14080         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
14081         try_crossjump_bb): New functions.
14082
14083 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14084
14085         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
14086         extern.
14087         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
14088         pa_output_function_prologue.
14089         * pa-protos.h (pa_output_function_prologue): New prototype.
14090
14091 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14092
14093         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
14094         and low to get correct sign extension in low+high test.
14095
14096 2001-07-11  Janis Johnson <janis@us.ibm.com>
14097
14098         * gcov.c (arcdata): Use gcov_type to fix branch percentage
14099         for large hit count.
14100
14101         * profile.c (branch_prob): Fix .bbg info for computed gotos
14102         and C++ EH code.
14103
14104 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
14105
14106         * stmt.c (parse_output_constraint): New function, split out
14107         from ...
14108         (expand_asm_operands): ... here.  Use parse_output_constraint.
14109         * tree.h (parse_output_constraint): Declare it.
14110
14111 2001-07-11  Richard Henderson  <rth@redhat.com>
14112
14113         * bitmap.c: Comment some functions; fiddle whitespace.
14114         (bitmap_free): Don't export.
14115         (bitmap_element_allocate): Use memset.
14116         * bitmap.h (bitmap_free): Don't declare.
14117
14118 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
14119
14120         * gcse.c, lcm.c, sched-deps.c:
14121         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
14122
14123         * flow.c (flow_loops_find): Free dom if we found no loops, since
14124         we aren't going to save it.
14125
14126         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
14127         done.
14128
14129 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
14130
14131         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
14132
14133 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14134
14135         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
14136         #ifndef DWARF2_DEBUGGING_INFO.
14137
14138 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
14139
14140         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
14141
14142 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
14143
14144         * config/mips/mips.c (gen_int_relational): Tell the caller not to
14145         reverse a branch if a NE comparison is implemented with GTU.
14146
14147 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
14148             H.J. Lu  <hjl@gnu.org>
14149
14150         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
14151         constant addresses.
14152         (call_internal2): Likewise.
14153         (call_value_internal1): Likewise.
14154         (call_value_internal2): Likewise.
14155         (call_value_multiple_internal1): Likewise.
14156         (call_value_multiple_internal2): Likewise.
14157
14158 2001-07-10  Kazu Hirata  <kazu@hxi.com>
14159
14160         * calls.c (emit_library_call_value_1): Fix a comment typo.
14161         * dwarf2out.c (mem_loc_descriptor): Likewise.
14162         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
14163
14164 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
14165
14166         * simplify-rtx.c (simplify_subreg): Fix typo in comment
14167
14168 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14169
14170         * recog.c (offsettable_address_p): Handle LO_SUM case.
14171         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
14172         instead of plus_constant.
14173
14174 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14175
14176         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
14177         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
14178
14179 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14180
14181         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
14182         adjust_address_nv instead of plus_constant.
14183
14184 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
14185
14186         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
14187         dwarf2out.o): Depend on debug.h, wrap long lines.
14188         * dbxout.c: Include debug.h.
14189         (dbx_debug_hooks): New.
14190         (dbxout_init): Make static, take just 2 args.
14191         (dbxout_finish): Make static.
14192         * dbxout.h (dbxout_init, dbxout_finish): Delete.
14193         * debug.c: New file.
14194         * debug.h: New file.
14195         * dwarf2out.c: Include debug.h.
14196         (dwarf2_debug_hooks): New.
14197         (dwarf2out_init): Make static.
14198         (dwarf2out_finish): Make static, take 2 args.
14199         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
14200         * dwarfout.c: Include debug.h.
14201         (dwarf_debug_hooks): New.
14202         (dwarfout_init): Make static.
14203         (dwarfout_finish): Make static, take 2 args.
14204         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
14205         * sdbout.c: Include debug.h.
14206         (sdb_debug_hooks): New.
14207         (sdbout_init): Make static, take 2 args.
14208         * sdbout.h (sdbout_init): Delete.
14209         * toplev.c: Include debug.h.
14210         (debug_hooks): New.
14211         (compile_file): Set deubg_hooks based on command line options.
14212         Use the hooks unconditionally rather than conditional compilation.
14213
14214 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
14215
14216         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
14217         first_insn_after_basic_block_note instead.
14218
14219         * df.c (df_bb_refs_unlink): #if 0 out for now.
14220
14221 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
14222
14223         * ssa.h: Add prototype for ssa_const_prop
14224         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
14225         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
14226         (ssa_fast_dce): Remove unused variable
14227
14228 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
14229
14230         * diagnostic.c (finish_diagnostic): Rename to
14231         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
14232         calls thourghout.
14233
14234 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
14235
14236         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
14237         .loc support.
14238
14239         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
14240         (dump_file): Only pad the demangled name with spaces if the
14241         mangled name was padded with spaces.
14242
14243 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
14244
14245         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
14246         edge detection.
14247
14248 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14249
14250         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
14251         extraction if no direct load if either EXPAND_CONST_ADDRESS or
14252         EXPAND_INITIALIZER.
14253
14254         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
14255         whether can put offset inside LO_SUM to check mode alignment, not size.
14256
14257 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
14258
14259         * doc/tm.texi (Misc): Fix thinko.
14260
14261 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
14262
14263         * regmove.c (replace_in_call_usage): Fix warnings.
14264         * sched-deps.c (add_dependence): Fix warnings.
14265         * simplify-rtx.c (simplify_subreg): Likewise.
14266         Return NULL_RTX instead of NULL.
14267
14268         * reg-stack.c (emit_swap_insn): Eliminate warnings.
14269         (subst_asm_stack_regs): Likewise.
14270
14271         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
14272         warnings.
14273
14274         * dwarf2out.c (output_call_frame_info): Declare i as int.
14275         (build_abbrev_table): Declare n_alloc as int.
14276         (dwarf2out_finish): Initialize die.
14277         * except.c: Declare sjlj_funcdef_number as unsigned.
14278         (connect_post_landing_pads): Declare j as unsigned.
14279         (convert_to_eh_region_ranges): Initialize call_site.
14280         (output_function_exception_table): Initialize tt_format_size.
14281         * expr.c (move_by_pieces_1): Initialize to1.
14282         (store_constructor): Initialize minelt and maxelt.
14283         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
14284         * function.c (instantiate_decls): Avoid signed/unsigned warning.
14285
14286         * c-decl.c (combine_parm_decls): Unused, remove.
14287         * c-tree.h: Remove prototype for combine_parm_decls.
14288
14289         * reload.c (push_reload): Fix warning.
14290         (regno_clobbered_p): Likewise.
14291         * reload1.c (replace_pseudos_in_call_usage): Likewise.
14292         (reload_combine): Likewise.
14293
14294         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
14295         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
14296         warnings.
14297         * bitmap.c (bitmap_operation): Change user.
14298         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
14299
14300 2001-07-10  Eric Christopher  <echristo@redhat.com>
14301
14302         * config/mips/mips.c (override_options): Fix typo.
14303
14304 2001-07-09  Stan Shebs  <shebs@apple.com>
14305
14306         * target.h (struct gcc_target): New fields init_builtins and
14307         expand_builtin.
14308         * target-def.h (TARGET_INIT_BUILTINS): New macro.
14309         (TARGET_EXPAND_BUILTIN): New macro.
14310         (TARGET_INITIALIZER): Add them.
14311         * builtins.c: Include target.h.
14312         (expand_builtin): Use targetm.expand_builtin.
14313         (default_init_builtins): New function.
14314         (default_expand_builtin): New function.
14315         * expr.h (default_init_builtins): Declare.
14316         (default_expand_builtin): Declare.
14317         * c-common.c (c_common_nodes_and_builtins): Use
14318         targetm.init_builtins.
14319         * defaults.h (MD_INIT_BUILTINS): Remove.
14320         * Makefile.in (builtins.o): Depend on target.h.
14321
14322         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
14323         (TARGET_EXPAND_BUILTIN): Define.
14324         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
14325         (MD_EXPAND_BUILTIN): Remove.
14326
14327         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
14328         (TARGET_EXPAND_BUILTIN): Define.
14329         (c4x_init_builtins): Make endlink arg a local.
14330         (c4x_print_operand): Fix typos in adjust_address usages.
14331         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
14332         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
14333         (MD_EXPAND_BUILTIN): Remove.
14334
14335         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
14336         (TARGET_EXPAND_BUILTIN): Define.
14337         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
14338         (ix86_init_builtins): Call new function only if TARGET_MMX.
14339         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
14340         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
14341         (MD_EXPAND_BUILTIN): Remove.
14342
14343         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
14344         (TARGET_EXPAND_BUILTIN): Define.
14345         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
14346         (MD_EXPAND_BUILTIN): Remove.
14347
14348         * doc/tm.texi: Document these changes.
14349
14350 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
14351
14352         * basic-block.h (tree_node): Forward declare if needed.
14353         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
14354         (BLOCK_HEAD_TREE): Define.
14355         (BLOCK_END_TREE): Define.
14356         (struct loops): Rename field 'tree' to 'tree_root'.
14357         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
14358         'end_tree'.
14359         (flow_loops_tree_build): Rename reference to field 'tree' to
14360         'tree_root'.
14361         (flow_loops_level_compute): Ditto.
14362         * predict.c (estimate_bb_frequencies): Ditto.
14363         * tree.h (struct tree_common): Add field 'aux'.
14364
14365 2001-07-09  Stan Shebs  <shebs@apple.com>
14366
14367         * config/darwin.c (darwin_encode_section_info): Don't mark any
14368         DECL_EXTERNAL node as defined.
14369
14370 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14371
14372         * pa.c (pa_init_machine_status, pa_mark_machine_status,
14373         pa_free_machine_status, hppa_init_pic_save): Delete.
14374         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
14375         (hppa_profile_hook): Use hppa_pic_save_rtx.
14376         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
14377         hppa_init_pic_save): Delete.
14378         (hppa_pic_save_rtx): Declare.
14379         * pa.md (call, call_value, sibcall, sibcall_value,
14380         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
14381
14382 2001-07-09  Kazu Hirata  <kazu@hxi.com>
14383
14384         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
14385         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
14386
14387 2001-07-09  Andreas Jaeger  <aj@suse.de>
14388
14389         * output.h: Add declaration of final_forward_branch_p.
14390
14391         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
14392
14393         * varray.c: Include errors.h for internal_error and trim_filename
14394         declarations.
14395
14396         * Makefile.in (varray.o): Add errors.h.
14397
14398 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
14399
14400         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
14401         * optabs.c (have_add2_insn): Check whether the add insn chosen
14402         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
14403         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
14404
14405 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
14406
14407         * Makefile.in (OBJS): Add ssa-ccp.o
14408         (ssa-ccp.o): Add dependencies.
14409         * toplev.c (DFI_ssa_ccp): New dump file enum.
14410         (dump_file): Add entry for dumping after SSA CCP.
14411         (flag_ssa_ccp): New flag variable.
14412         (f_options): Add -fssa-ccp.
14413         (rest_of_compilation): Run SSA CCP if requested.
14414         * timevar.def (TV_SSA_CCP): New timevar.
14415         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
14416         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
14417         Fix minor typo in SSA DCE documentation.
14418         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
14419         Add documentation for new dump option.  Renumber dump files
14420         appropriately.
14421
14422 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14423
14424         * emit-rtl.c (gen_highpart_mode): New.
14425         * rtl.h (gen_highpart_mode): Declare.
14426         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
14427         operand can be VOIDmode constant.
14428
14429 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
14430
14431         * flow.c (redirect_edge_and_branch_force): New.
14432         (can_fallthru): Ensure that basic blocks are succeeding.
14433         (try_optimize_cfg): Do not delete basic block if it is the last one.
14434
14435         * flow.c (try_redirect_by_replacing_jump): Do not remove
14436         jumps with side effects, unlink chain on fallthru edge;
14437         set block for new jump instruction; avoid basic block to
14438         over by line number note.
14439
14440         * flow.c (try_simplify_condjump): Verify that the condjump
14441         is not always falling through.
14442
14443         Re-install patch:
14444         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14445
14446         * flow.c (forwarder_block_p): Fix for fallthru blocks.
14447         (try_redirect_by_replacing_jump): Update properly the count
14448         and frequency information.
14449
14450 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14451
14452         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
14453         address that is a LO_SUM specially.
14454         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
14455
14456         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
14457
14458         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
14459         (operand_subword): Use them.
14460         (change_address_1): Renamed from change_address; new arg VALIDATE.
14461         * expr.h: Reflect above changes; change_address now macro.
14462         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
14463         making MEM.
14464         * cselib.c (add_mem_for_addr): Likewise.
14465         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
14466         * regmove.c (try_apply_stack_adjustment): Likewise.
14467         * reload.c (push_reload, make_memloc): Likewise.
14468         * reload1.c (eliminate_regs): Likewise.
14469         * simplify-rtx.c (simplify_replace_rtx): Likewise.
14470         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
14471         adjust_addess.
14472         * combine.c (make_extraction, simplify_shift_const): Likewise.
14473         (gen_lowpart_for_combine): Likewise.
14474         * cse.c (gen_lowpart_if_possible): Likewise.
14475         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
14476         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
14477         * optabs.c (gen_move_insn): Likewise.
14478         * reload1.c (alter_reg): Likewise.
14479         * simplify-rtx.c (simplify_subreg): Likewise.
14480         * stmt.c (expand_anon_union_decl): Likewise.
14481         * recog.c (validate_replace_rtx_1): Likewise.
14482         (expr.h): Include.
14483         * Makefile.in (recog.o): Add $(EXPR_H).
14484         * explow.c (stabilize): Call replace_equiv_address.
14485         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
14486         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
14487
14488 2001-07-03  Andrew Haley  <aph@redhat.com>
14489
14490         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
14491         the mode of the memory location.
14492
14493 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
14494
14495         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
14496
14497 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
14498
14499         * final.c (output_addr_const): Use target opening and
14500         closing parentheses.
14501         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
14502         defaults, add to TARGET_ASM_OUT.
14503         * target.h (struct gcc_target): Add open_paren and close_paren.
14504         * doc/md.texi: Update.
14505         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
14506         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
14507         TARGET_ASM_CLOSE_PAREN.
14508         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
14509         Override.
14510         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
14511         Override.
14512         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
14513         * config/a29k/a29k.h: Similarly.
14514         * config/alpha/alpha.h: Similarly.
14515         * config/arc/arc.h: Similarly.
14516         * config/arm/aof.h: Similarly.
14517         * config/arm/aout.h: Similarly.
14518         * config/avr/avr.h: Similarly.
14519         * config/c4x/c4x.h: Similarly.
14520         * config/clipper/clipper.h: Similarly.
14521         * config/convex/convex.h: Similarly.
14522         * config/d30v/d30v.h: Similarly.
14523         * config/dsp16xx/dsp16xx.h: Similarly.
14524         * config/elxsi/elxsi.h: Similarly.
14525         * config/fr30/fr30.h: Similarly.
14526         * config/h8300/h8300.h: Similarly.
14527         * config/i370/i370.h: Similarly.
14528         * config/i386/i386.h: Similarly.
14529         * config/i860/i860.h: Similarly.
14530         * config/i960/i960.h: Similarly.
14531         * config/ia64/ia64.h: Similarly.
14532         * config/m32r/m32r.h: Similarly.
14533         * config/m68hc11/m68hc11.h: Similarly.
14534         * config/m68k/m68k.h: Similarly.
14535         * config/m88k/m88k.h: Similarly.
14536         * config/mcore/mcore.h: Similarly.
14537         * config/mips/mips.h: Similarly.
14538         * config/mn10200/mn10200.h: Similarly.
14539         * config/mn10300/mn10300.h: Similarly.
14540         * config/ns32k/ns32k.h: Similarly.
14541         * config/pa/pa.h: Similarly.
14542         * config/pdp11/pdp11.h: Similarly.
14543         * config/pj/pj.h: Similarly.
14544         * config/romp/romp.h: Similarly.
14545         * config/rs6000/rs6000.h: Similarly.
14546         * config/sh/sh.h: Similarly.
14547         * config/sparc/sparc.h: Similarly.
14548         * config/v850/v850.h: Similarly.
14549         * config/vax/vax.h: Similarly.
14550         * config/we32k/we32k.h: Similarly.
14551
14552 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
14553
14554         * doc/c-tree.texi: Document representation of attributes.
14555
14556 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14557
14558         * doc/tm.texi: Update some places for the rename of target to
14559         targetm.  Fix typo.
14560
14561 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14562
14563         * target.h (struct gcc_target): Add insert_attributes.
14564         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
14565         (TARGET_INITIALIZER): Update.
14566         * tree.c, tree.h (default_insert_attributes): New function.
14567         Update comments on other default functions to refer to targetm,
14568         not target.
14569         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
14570         TARGET_INSERT_ATTRIBUTES.
14571         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
14572         * c-common.c (decl_attributes): Use targetm.insert_attributes.
14573         Don't use PRAGMA_INSERT_ATTRIBUTES.
14574         * Makefile.in (c-common.o): Depend on $(TARGET_H).
14575         * c-decl.c (start_decl, start_function): Don't call
14576         SET_DEFAULT_DECL_ATTRIBUTES.
14577         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14578         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
14579         declare.
14580         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
14581         (c4x_check_attribute): Avoid modifying attribute list itself.
14582         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
14583         Make static.
14584         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
14585         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
14586         declare.
14587         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
14588         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
14589         Make static.
14590         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14591         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
14592         declare.
14593         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
14594         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
14595         Adjust parameters.  Make static.
14596
14597 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
14598
14599         * c-common.c (decl_attributes): Only take a single attributes
14600         parameter.
14601         * c-common.h (decl_attributes): Update prototype.
14602         * c-decl.c (start_decl, start_function): Only take a single
14603         attributes parameter.  Update calls to decl_attributes.
14604         (finish_struct, finish_enum): Update calls to decl_attributes.
14605         (push_parm_decl): Expect unified list of attributes.  Update call
14606         to decl_attributes.
14607         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
14608         notype_nested_function, component_declarator,
14609         component_notype_declarator, label): Update calls to
14610         decl_attributes.
14611         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
14612         lists that are passed to push_parm_decl.
14613         * c-tree.h (start_function, start_decl): Update prototypes.
14614         * config/sh/sh-protos.h, config/sh/sh.c
14615         (sh_pragma_insert_attributes): Only take a single attributes
14616         parameter.
14617         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
14618         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
14619         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
14620         build_module_descriptor, generate_static_references,
14621         generate_strings, build_selector_translation_table,
14622         generate_descriptor_table, generate_protocols,
14623         generate_ivars_list, generate_dispatch_table,
14624         generate_protocol_list, generate_category,
14625         generate_shared_structures, really_start_method, add_objc_decls,
14626         generate_classref_translation_entry): Update calls to start_decl
14627         and start_function.
14628         (build_tmp_function_decl, start_method_def): Unify attribute lists
14629         that are passed to push_parm_decl.
14630
14631 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
14632
14633         * final.c (no_asm_to_stream): New.
14634         (final_scan_insn): Use target structures for prologue ends
14635         and epilogue starts.
14636         * output.h (no_asm_to_stream): New.
14637         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
14638         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
14639         (TARGET_ASM_OUT): Update.
14640         * target.h (struct gcc_target): New members function_end_prologue
14641         and function_begin_epilogue.
14642         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
14643         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
14644         * config/alpha/alpha.c (output_end_prologue): Rename to
14645         alpha_output_function_end_prologue.  Use in target struct
14646         and make static.
14647         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
14648         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
14649         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
14650         ia64_output_function_end_prologue.  Use in target struct
14651         and make static.
14652         (ia64_function_prologue, ia64_funciton_epilogue): Rename
14653         mistyped prototypes.
14654         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
14655         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
14656         Delete.
14657         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
14658         an use in target struct, make static.
14659         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
14660         Delete.
14661
14662 2001-07-08  Richard Henderson  <rth@redhat.com>
14663
14664         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
14665
14666 2001-07-08  Richard Henderson  <rth@redhat.com>
14667
14668         * config/i386/i386.md: Remove constraints strings from define_split
14669         and define_peephole2 patterns.
14670         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
14671         (eh_return): Use them.
14672
14673 2001-07-08  Richard Henderson  <rth@redhat.com>
14674
14675         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
14676         Document MD_FALLBACK_FRAME_STATE_FOR.
14677
14678 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14679
14680         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
14681         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
14682         elimination.
14683         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
14684
14685 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
14686
14687         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
14688         of the label inside NAME as opposed to just the end of NAME.
14689
14690 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14691
14692         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
14693         * config/alpha/alpha.c (alpha_init_machine_status,
14694         alpha_mark_machine_status, alpha_free_machine_status): Delete.
14695         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
14696         (vms_valid_decl_attribute_p): Make static, conditionally compile.
14697         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
14698
14699 2001-07-06  Stan Shebs  <shebs@apple.com>
14700
14701         * target.h (targetm): Rename global from "target", so as not to
14702         conflict with local variables.
14703         * c-decl.c: Ditto.
14704         * c-typeck.c: Ditto.
14705         * final.c: Ditto.
14706         * tree.c: Ditto.
14707         * cp/decl.c: Ditto.
14708         * cp/decl2.c: Ditto.
14709         * cp/typeck.c: Ditto.
14710         * 1750a/1750a.c: Ditto.
14711         * a29k/a29k.c: Ditto.
14712         * arc/arc.c: Ditto.
14713         * arm/arm.c: Ditto.
14714         * avr/avr.c: Ditto.
14715         * clipper/clipper.c: Ditto.
14716         * convex/convex.c: Ditto.
14717         * d30v/d30v.c: Ditto.
14718         * dsp16xx/dsp16xx.c: Ditto.
14719         * elxsi/elxsi.c: Ditto.
14720         * fr30/fr30.c: Ditto.
14721         * h8300/h8300.c: Ditto.
14722         * i370/i370.c: Ditto.
14723         * i386/i386.c: Ditto.
14724         * i860/i860.c: Ditto.
14725         * i960/i960.c: Ditto.
14726         * ia64/ia64.c: Ditto.
14727         * m32r/m32r.c: Ditto.
14728         * m68hc11/m68hc11.c: Ditto.
14729         * m68k/m68k.c: Ditto.
14730         * m88k/m88k.c: Ditto.
14731         * mips/mips.c: Ditto.
14732         * ns32k/ns32k.c: Ditto.
14733         * pa/pa.c: Ditto.
14734         * pdp11/pdp11.c: Ditto.
14735         * romp/romp.c: Ditto.
14736         * rs6000/rs6000.c: Ditto.
14737         * sh/sh.c: Ditto.
14738         * sparc/sparc.c: Ditto.
14739         * vax/vax.c: Ditto.
14740         * we32k/we32k.c: Ditto.
14741         * doc/tm.texi: Update the manual to match.
14742
14743 2001-07-06  Richard Henderson  <rth@redhat.com>
14744
14745         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
14746         DWARF2_UNWIND_INFO not just whether it is defined.
14747
14748 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
14749
14750         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
14751         call to simplify_binary_operation returns a new pattern.
14752
14753 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14754
14755         * glimits.h (__SHRT_MAX__): New.
14756         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
14757         (SHRT_MAX): Define in terms of __SHRT_MAX__.
14758
14759 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
14760
14761         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
14762         avoid warnings.
14763
14764 2001-07-06  Richard Henderson  <rth@redhat.com>
14765
14766         * bitmap.c (bitmap_release_memory): Move adjacent to the
14767         allocation functions.
14768         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
14769         the implementation.  Binary search for the set bit.
14770         (bitmap_union_of_diff): Allocate the temporary on the stack
14771         instead of using xmalloc.
14772
14773 2001-07-06  Richard Henderson  <rth@redhat.com>
14774
14775         * genrecog.c (validate_pattern): Warn for constraints in
14776         define_{expand,split,peephole2}.  Remove strict_low_part
14777         before looking up match_dup.
14778
14779 2001-07-06  DJ Delorie  <dj@redhat.com>
14780
14781         * doc/gcc.texi (Makefile): Rename to be a more general purpose
14782         chapter about various build hints and history.  Add section
14783         talking about the various types of native and cross builds.
14784
14785 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14786
14787         * Makefile.in (final.o): Depend on target.h.
14788         * final.c: Include target.h.
14789         (default_function_pro_epilogue): New.
14790         (final_start_function): Use target structure for function prologues.
14791         (final_end_function): Use target structure for function epilogues.
14792         * fold-const.c (real_hex_to_f): Constify s and p.
14793         * output.h (default_function_pro_epilogue): New.
14794         * real.h (real_hex_to_f): Update prototype.
14795         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
14796         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
14797         (TARGET_INITIALIZER): Update.
14798         * target.h (gcc_target): Add struct asm_out.
14799         * doc/tm.texi: Update.
14800
14801 config:
14802         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
14803         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
14804         in cpu/cpu.c, or rename old functions consistently.  Take
14805         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
14806         redundant macros and prototypes.  Make new functions static.
14807
14808         * 1750a/1750a.c: Similarly.
14809         * 1750a/1750a.h: Similarly.
14810         * a29k/a29k-protos.h: Similarly.
14811         * a29k/a29k.c: Similarly.
14812         * a29k/a29k.h: Similarly.
14813         * arc/arc-protos.h: Similarly.
14814         * arc/arc.c: Similarly.
14815         * arc/arc.h: Similarly.
14816         * arm/arm-protos.h: Similarly.
14817         * arm/arm.c: Similarly.
14818         * arm/arm.h: Similarly.
14819         * avr/avr-protos.h: Similarly.
14820         * avr/avr.c: Similarly.
14821         * avr/avr.h: Similarly.
14822         * clipper/clipper-protos.h: Similarly.
14823         * clipper/clipper.c: Similarly.
14824         * clipper/clipper.h: Similarly.
14825         * convex/convex.c: Similarly.
14826         * convex/convex.h: Similarly.
14827         * d30v/d30v-protos.h: Similarly.
14828         * d30v/d30v.c: Similarly.
14829         * d30v/d30v.h: Similarly.
14830         * d30v/d30v.md: Similarly.
14831         * dsp16xx/dsp16xx-protos.h: Similarly.
14832         * dsp16xx/dsp16xx.c: Similarly.
14833         * dsp16xx/dsp16xx.h: Similarly.
14834         * elxsi/elxsi.c: Similarly.
14835         * elxsi/elxsi.h: Similarly.
14836         * fr30/fr30.c: Similarly.
14837         * fr30/fr30.md: Similarly.
14838         * h8300/h8300-protos.h: Similarly.
14839         * h8300/h8300.c: Similarly.
14840         * h8300/h8300.h: Similarly.
14841         * i370/i370-protos.h: Similarly.
14842         * i370/i370.c: Similarly.
14843         * i370/i370.h: Similarly.
14844         * i386/i386.c: Similarly.
14845         * i386/osf1elf.h: Similarly.
14846         * i386/osfrose.h: Similarly.
14847         * i860/i860-protos.h: Similarly.
14848         * i860/i860.c: Similarly.
14849         * i860/i860.h: Similarly.
14850         * i960/i960-protos.h: Similarly.
14851         * i960/i960.c: Similarly.
14852         * i960/i960.h: Similarly.
14853         * ia64/ia64-protos.h: Similarly.
14854         * ia64/ia64.c: Similarly.
14855         * ia64/ia64.h: Similarly.
14856         * m32r/m32r-protos.h: Similarly.
14857         * m32r/m32r.c: Similarly.
14858         * m32r/m32r.h: Similarly.
14859         * m68hc11/m68hc11-protos.h: Similarly.
14860         * m68hc11/m68hc11.c: Similarly.
14861         * m68hc11/m68hc11.h: Similarly.
14862         * m68k/crds.h: Similarly.
14863         * m68k/dpx2.h: Similarly.
14864         * m68k/m68k-protos.h: Similarly.
14865         * m68k/m68k.c: Similarly.
14866         * m68k/m68k.h: Similarly.
14867         * m68k/news.h: Similarly.
14868         * m88k/m88k-protos.h: Similarly.
14869         * m88k/m88k.c: Similarly.
14870         * m88k/m88k.h: Similarly.
14871         * mips/mips-protos.h: Similarly.
14872         * mips/mips.c: Similarly.
14873         * mips/mips.h: Similarly.
14874         * ns32k/merlin.h: Similarly.
14875         * ns32k/ns32k.c: Similarly.
14876         * ns32k/ns32k.h: Similarly.
14877         * ns32k/tek6000.h: Similarly.
14878         * pa/pa-protos.h: Similarly.
14879         * pa/pa.c: Similarly.
14880         * pa/pa.h: Similarly.
14881         * pdp11/2bsd.h: Similarly.
14882         * pdp11/pdp11-protos.h: Similarly.
14883         * pdp11/pdp11.c: Similarly.
14884         * pdp11/pdp11.h: Similarly.
14885         * romp/romp-protos.h: Similarly.
14886         * romp/romp.c: Similarly.
14887         * romp/romp.h: Similarly.
14888         * rs6000/rs6000-protos.h: Similarly.
14889         * rs6000/rs6000.c: Similarly.
14890         * rs6000/rs6000.h: Similarly.
14891         * rs6000/sysv4.h: Similarly.
14892         * sh/sh-protos.h: Similarly.
14893         * sh/sh.c: Similarly.
14894         * sh/sh.h: Similarly.
14895         * sparc/sparc-protos.h: Similarly.
14896         * sparc/sparc.c: Similarly.
14897         * sparc/sparc.h: Similarly.
14898         * vax/vax.c: Similarly.
14899         * vax/vax.h: Similarly.
14900         * vax/vms.h: Similarly.
14901         * we32k/we32k.c: Similarly.
14902         * we32k/we32k.h: Similarly.
14903
14904 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
14905
14906         * basic-block.h (first_insn_after_basic_block_note): Declare.
14907         * flow.c (first_insn_after_basic_block_note): Define.  Moved
14908         from...
14909         * ssa.c (first_insn_after_basic_block_note): Remove.
14910         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
14911         necessary.
14912         (ssa_eliminate_dead_code): Properly update the CFG and PHI
14913         nodes when we find a dead conditional branch.  Insert BARRIERs
14914         after any blocks with no successors, but which do not have
14915         any BARRIERs.
14916
14917 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
14918
14919         * varray.c (varray_check_failed): Use internal_error.
14920
14921 2001-07-05  Andrew Haley  <aph@redhat.com>
14922
14923         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
14924         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
14925         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
14926
14927 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
14928
14929         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
14930         reference if the target constant is also a SYMBOL_REF.
14931
14932 2001-07-05  Eric Christopher  <echristo@redhat.com>
14933
14934         * config/mips/mips.h (MASK_MIPS3900): Remove.
14935         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
14936         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
14937         (TARGET_MIPS3900): Change to use mips_arch.
14938         (TARGET_MIPS4000): New.
14939         (TARGET_MIPS4100): New.
14940         (TARGET_MIPS4300): New.
14941         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
14942         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
14943         for -mipsX.
14944         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
14945         (ISA_HAS_BRANCHLIKELY): To here.
14946         (CC1_CPU_SPEC):  New.
14947         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
14948         (mips_arch_string): Declare.
14949         (mips_arch): Declare.
14950         (TARGET_OPTIONS): Add -march and -mtune.
14951
14952         * config/mips/mips.c (mips_arch_string): New.
14953         (mips_arch): New.
14954         (override_options): Handle -march for codegen and -mtune
14955         for scheduling. Use mips_arch. Move tx39 target default here.
14956         (mips_parse_cpu): Move error message to override_options.
14957
14958         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14959
14960         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14961
14962         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14963         (MIPS Options): Ditto.  Change mcpu entry to historical text.
14964
14965 2001-07-05  H.J. Lu  (hjl@gnu.org)
14966
14967         * config/mips/mips.c (mips_parse_cpu): New function to parse
14968         -march=*/-mcpu=*.
14969
14970 2001-07-05  Jim Wilson  <wilson@redhat.com>
14971
14972         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14973         * config/ia64/t-ia64: Likewise.
14974         (LIB1ASMFUNCS): Update comment.
14975
14976 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
14977
14978         * doc/install.texi (Install GCC: Binaries): Fix typo.
14979
14980 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14981
14982         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14983         reference using the stack pointer, adjust it since we push Y
14984         temporarily.
14985         ("*ashrsi3"): Likewise.
14986         ("*lshrsi3"): Likewise.
14987
14988 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14989
14990         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14991         when -fomit-frame-pointer is used.
14992
14993 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
14994
14995         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14996         (try_redirect_by_replacing_jump): Reverse updating properly the
14997         count and frequency information.  Reverse removing cc0 setter.
14998         (forwarder_block_p): Reverse fixing for fallthru blocks.
14999
15000 2001-07-05  DJ Delorie  <dj@redhat.com>
15001
15002         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
15003         (translate_options): If the above is defined, use it to map
15004         given options to new options.
15005         * doc/tm.texi: Document it.
15006
15007 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
15008             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15009
15010         * doc/invoke.texi (Optimize Options): Document that -fgcse may
15011         cause programs using computed gotos to run more slowly.
15012
15013 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15014
15015         * doc/install.texi (Specific): Markup, spelling and typo fixes.
15016         Fixed sorting.
15017         Consistently require binutils 2.11.2, not prereleases.
15018         (Specific, decstation-*): Canonicalize as mips-dec-*.
15019         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
15020         always necessary.
15021         (Specific, m68k-altos): Removed reference to README.altos, deleted.
15022         (Specific, mips-*): Reword MIPS C compiler requirements.
15023         (Specific, powerpc*-*-*): New, mention --with-cpu once.
15024         (Specific, sunv5): Removed, obsolete.
15025
15026 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
15027
15028         * dwarf2out.c (output_loc_list): Use an all ones mask for
15029         .text asm output and don't rely on long long
15030         literals. Reformat some long lines.
15031
15032 2001-07-05  Andreas Jaeger  <aj@suse.de>
15033
15034         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
15035         section.
15036
15037 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
15038
15039         * dwarf2out.c (dwarf2out_define): Update comment.
15040         (dwarf2out_undef): Ditto.
15041         (dwarf2out_start_source_file): Ditto.
15042         (dwarf2out_end_source_file): Ditto.
15043         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
15044         since we never call the start/end debug hook for the primary file.
15045
15046 2001-07-04  Kazu Hirata  <kazu@hxi.com>
15047
15048         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
15049         from shll.
15050
15051 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
15052
15053         * cppinit.c (remove_dup_dirs): Inform if a system include
15054         directory is being reordered.
15055         * doc/invoke.texi (Directory Options): GCC warns if you hide a
15056         system include.
15057         * doc/cpp.texi (Search Paths): Likewise.
15058         * doc/gcc.texi (Interoperation): Remove information about
15059         -I/usr/include.
15060
15061 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
15062
15063         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
15064         (VARRAY_TOP_CHAR_PTR): Likewise.
15065
15066 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15067
15068         * gcc.c (process_command): Don't assign elements of a const char*.
15069
15070 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15071
15072         * emit-rtl.c (change_address): Don't abort if invalid address while
15073         reload is in progress.
15074
15075 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
15076
15077         * c-lex.c (cb_file_change): Pass line number to
15078         debug_start_source_file.
15079         (cb_undefine): Pass correct line number to debug_undef.
15080
15081         * toplev.c (debug_start_source_file): Add line number to
15082         parameters. Pass it along to dwarf2out_start_source_file.
15083         (decode_g_option): Stop resetting debug level back to normal when
15084         we change debug formats, unless the current level is
15085         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
15086         3).
15087
15088         * toplev.h (debug_start_source_file): Add line number to
15089         parameters.
15090
15091         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
15092         parameters.
15093
15094         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
15095         parameters.
15096         Output debug_macinfo data for starting file if requested.
15097         (dwarf2out_end_source_file): Output debug_macinfo data for ending
15098         file if requested.
15099         (dwarf2out_define): Output debug_macinfo data for defining a macro
15100         if requested.
15101         (dwarf2out_undef): Output debug_macinfo data for undefining a
15102         macro if requested.
15103         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
15104         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
15105         (macinfo_section_label): New. DWARF2 macro info section label.
15106         (dwarf2out_init): If we want macro info, output the start label
15107         for the section.
15108         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
15109         attribute to the compilation unit die pointing to the macro info.
15110
15111 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
15112
15113         * dwarf2out.c (new_loc_list): Move to inside #ifdef
15114         DWARF2_DEBUGGING_INFO.
15115         (add_loc_descr_to_loc_list): Ditto.
15116         (output_loc_list): Ditto.
15117         Also, fix thinko in curr not being initialized.
15118         (gen_internal_sym): Ditto.
15119
15120 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15121
15122         * emit-rtl.c (replace_equiv_address): New function.
15123         * expr.h (replace_equiv_address): New declaration.
15124         * explow.c (validize_mem): Call it instead of change_address and
15125         also call if -fforce-addr and address is constant.
15126         * expr.c: Replace more calls to change_address with adjust_address
15127         and/or replace_equiv_address or to validize_mem.
15128         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
15129         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
15130         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
15131         * config/i370/i370.md, config/i860/i860.md: Likewise.
15132         * config/i960/i960.md, config/mips/mips.c: Likewise.
15133         * config/mips/mips.md, config/pa/pa.md: Likewise.
15134         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
15135         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
15136
15137 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15138
15139         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
15140
15141         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
15142         function.
15143
15144 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
15145
15146         * doc/include: New directory.
15147         * doc/fdl.texi: Move to doc/include/fdl.texi.
15148         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
15149         * doc/include/funding.texi, doc/include/gpl.texi: New files.
15150         * doc/gcc.texi: Use funding.texi and gpl.texi.
15151         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
15152         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
15153         Update dependencies and use -I $(docdir)/include.
15154
15155 2001-07-04  Anthony Green  <green@redhat.com>
15156
15157         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
15158
15159 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15160
15161         * doc/install.texi (sparc64-*-*): Remove garbage.
15162
15163 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
15164
15165         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
15166         Fix typo in last change to use adjust_address.
15167
15168 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15169
15170         * doc/install.texi (Specific): Update information for *-*-solaris*.
15171
15172 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15173
15174         * explow.c (plus_constant_wide): Reinitialize Y for restart.
15175
15176 2001-07-03  Stan Shebs  <shebs@apple.com>
15177
15178         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
15179         case for flag_no_mach_text_sections.
15180         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
15181         * config/darwin.c (flag_no_mach_text_sections): Remove.
15182         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
15183
15184 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15185
15186         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
15187         and avoid checking for constant as first operand.
15188         * recog.c (find_constant_term_loc): No longer static.
15189         (adj_offettable_operand): Delete.
15190         * rtl.h (adj_offsettable_operand): Delete declaration.
15191         (find_constant_term): Add declaration.
15192         * caller-save.c: Replace calls to adj_offsettable_operand with calls
15193         to adjust_address.
15194         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
15195         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
15196         * config/i386/i386.c, config/i386/i386.md: Likewise.
15197         * config/i860/i860.c, config/i960/i960.c: Likewise.
15198         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
15199         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
15200         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
15201         * config/mips/mips.c, config/mips/mips.md: Likewise.
15202         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
15203         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
15204         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
15205         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
15206         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
15207         * config/ns32k/ns32k.md: Likewise.
15208
15209 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
15210
15211         * rtl.c (copy_rtx): Handle 'T' format letter.
15212         * gensupport.c (collect_insn_data): Likewise.
15213         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
15214
15215 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
15216
15217         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
15218         -B option.  Use 'dir' not 'foo' as example directory name.
15219
15220 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15221
15222         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
15223         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
15224
15225 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
15226
15227         * doc/cppinternals.texi: Improve formatting and logical markup.
15228
15229 2001-07-03  Andreas Jaeger  <aj@suse.de>
15230
15231         * Makefile.in (insn-recog.o): Add dependency on reload.h.
15232
15233         * genrecog.c (write_header): Include reload.h for prototypes in
15234         insn-recog.c.
15235
15236 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
15237
15238 config:
15239         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
15240         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
15241         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
15242         i386_pe_valid_type_attribute_p): Add.
15243         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
15244         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
15245
15246 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15247
15248         * explow.c (plus_constant_wide, case LO_SUM): New case.
15249         (plus_constant_for_output_wide): Delete.
15250         * rtl.h (plus_constant_for_output): Delete.
15251         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
15252         instead of plus_constant_for_output.
15253         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
15254         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
15255         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
15256         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
15257         * config/sparc/sparc.md: Likewise.
15258         Convert some change_address calls to adjust_address.
15259
15260 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
15261
15262         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
15263         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
15264         documentation of -std and -Wwrite-strings.
15265
15266 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
15267
15268         * cse.c (canon_hash): Don't register registers in very small
15269         register classes, as extending their lifetime might cause
15270         reload to fail.
15271
15272 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15273
15274         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
15275
15276         * flow.c (forwarder_block_p): Fix for fallthru blocks.
15277         (try_redirect_by_replacing_jump): Update properly the count
15278         and frequency information.
15279
15280 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
15281
15282         * toplev.c (dump_file_index): Move SSA dumps just after first
15283         jump dump.
15284         (dump_file): Corresponding changes.
15285         (rest_of_compilation): Move SSA path to just after the first
15286         jump pass.
15287         * doc/gcc.texi (Passes): Update due to movement of SSA path.
15288         * doc/invoke.texi: Update dump file #s as they were completely
15289         out of date with reality.
15290
15291 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
15292
15293         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
15294
15295         * expr.c (emit_move_insn_1): Deal with non-default
15296         STACK_PUSH_CODE.
15297
15298         * expr.c (emit_single_push_insn): Fix warning.
15299
15300 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
15301
15302         * expr.c (emit_move_insn_1): Avoid modifying
15303         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
15304
15305 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15306
15307         * emit-rtl.c (adjust_address): New function.
15308         * expr.h (adjust_address): Add declaration.
15309         * builtins.c: Replace some calls to change_address with calls to it
15310         or to validize_mem.
15311         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
15312         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
15313         * config/arm/arm.c, config/convex/convex.c: Likewise.
15314         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
15315         * config/i386/i386.c, config/i386/i386.md: Likewise.
15316         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
15317         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
15318         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
15319         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
15320         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
15321
15322 2001-07-02  Jim Wilson  <wilson@redhat.com>
15323
15324         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
15325
15326 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
15327
15328         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
15329         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
15330
15331 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
15332
15333         * cppinit.c (lang_defaults): New table.
15334         (set_lang): Just read from lang_defaults into the live options
15335         structure.
15336
15337 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
15338
15339         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
15340         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
15341         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
15342
15343 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15344
15345         * doc/install.texi: Various spelling and markup fixes.
15346         (Installing GCC): Component specific installation instructions are
15347         gone.
15348         Fix reference.
15349         Warn about removing old install dir in the presence of shared libs.
15350         (Configuration): Invoke with options target to match configure
15351         --help.
15352         Consistently refer to gas, gld pathnames.
15353         Invert --enable-multilib documentation.
15354         Remove references to old compiler versions.
15355
15356 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15357
15358         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
15359
15360 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15361
15362         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
15363         section.
15364         (Specific, mips*-sgi-irix5): Note IDO download.
15365         Reworded MIPS C hints.
15366         Use GNU as instead of GAS.
15367         Markup fixes.
15368         Removed SGI Freeware reference, IRIX 6 only.
15369         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
15370         Note N64 library requirement/workaround.
15371         Update O32 hints.
15372         Complete list of structure passing bug victims.
15373
15374 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15375
15376         * doc/install.texi: Remove CVS Id.
15377
15378 2001-07-02  Andreas Jaeger  <aj@suse.de>
15379
15380         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
15381         (find_inherently_necessary): Remove unused variable.
15382
15383 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15384
15385         * c-common.h (TDI_inlined): New ast dump phase.
15386         (dump_flag_name): New function.
15387         * c-dump.c (dump_files): Add inlined phase.
15388         (dump_flag_name): Define.
15389         * doc/invoke.texi (-fdump-ast-inlined): Document.
15390
15391 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15392
15393         * stor-layout.c (layout_decl): Revert change to handling of alignment
15394         in packed types.
15395
15396 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15397
15398         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
15399         for FIELD_DECL.
15400
15401 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
15402
15403         * doc/tm.texi (FUNCTION_ARG): Document that the last call
15404         is special.
15405
15406 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15407
15408         * tlink.c (recompile_files): Remove COMPILER_PATH and
15409         LIBRARY_PATH from the environment.
15410
15411 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
15412
15413         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
15414         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
15415         enumerators.
15416         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
15417
15418         * c-parse.in (OBJC_STRING): Kill.
15419         (objc_string): Decompose to [objc_string] '@' STRING.
15420         (reswords): Take the leading '@' off all the Objective C keywords.
15421         (objc_rid_sans_at): Kill.
15422         (init_reswords): Don't initialize it.
15423         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
15424         (_yylex): Kill reconsider label.  Look ahead one token after
15425         an '@'; if we get an identifier, check whether it's an
15426         Objective C @-keyword.  If so, return the keyword.  Otherwise,
15427         put back the token and return the '@' as a terminal.
15428
15429         * cpplib.c (lex_macro_node): Remove unnecessary check for
15430         leading '@' on identifier.  Clarify control flow and commentary.
15431
15432 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15433
15434         * cse.c (new_label_ref): Variable deleted.
15435         (insert): Remove set of new_label_ref.
15436         (check_for_label_ref): New function.
15437         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
15438
15439 See ChangeLog.5 for earlier changes.