OSDN Git Service

* doc/gcc.texi: Don't include install-old.texi. Adjust menu
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
4         description for Trouble section.
5         * doc/install-old.texi: Adjust for inclusion as chapter of new
6         installation manual.
7         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
8         Adjust to include old installation chapter as chapter of new
9         installation manual.
10
11 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
12
13         * rtl.h (get_jump_table_offset): Declare.
14         * rtlanal.c (get_jump_table_offset): Implement.
15
16 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17
18         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
19         Deleted; were used only by BB profiler code.
20         (sbb_head, sbb_tail, sbb_label_num): Likewise.
21         (end_final): Delete now-unused vars I, PTR, and SPTR.
22
23         * expr.c (store_field): Remove warning.
24         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
25         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
26         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
27         divisor constant power of 2.
28         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
29
30 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31
32         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
33         shifting.
34
35 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
36
37         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
38         (DWARF_FRAME_REGISTERS): Delete.
39
40 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
41
42         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
43         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
44         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
45         with defaults for read prefetch with high degree of locality.
46         * doc/extend.texi (__builtin_prefetch): Update documentation.
47         * doc/md.texi (prefetch): Add documentation.
48
49 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
50
51         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
52         UNIX V5.1A stdio.h.
53         * fixinc/fixincl.x: Regenerate.
54         Fixes PR libf2c/4826.
55
56 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
57             Richard Henderson  <rth@redhat.com>
58
59         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
60         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
61
62         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
63         to PRE_GCC3_DWARF_FRAME_REGISTERS.
64         (frame_state): Same.
65         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
66
67 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
68
69         * langhooks.c (lhd_staticp): Mark parameter with
70         ATTRIBUTE_UNUSED.
71
72 2001-12-06  H.J. Lu <hjl@gnu.org>
73
74         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
75         reduce noise.
76         (.po.pox): Likewise.
77         (o/$(PACKAGE).pot): Likewise.
78
79 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
80
81         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
82         * tree-inline.c (expand_call_inline): ... here.
83
84 2001-12-06  H.J. Lu <hjl@gnu.org>
85
86         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
87         (.po.pox): Likewise.
88         (o/$(PACKAGE).pot): Likewise.
89
90 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
91
92         * config.gcc: Include dbxelf.h before elfos.h.
93         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
94
95 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
96
97         * cppfiles.c (open_file): If we've opened a directory by
98         mistake, close it.
99         (find_include_file): Avoid turning / into // or // into ///.
100
101 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
102
103         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
104         (STRUCT_VALUE_REGNUM): Restore definition.
105
106 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
107
108         * flow.c (find_regno_partial): Return register, not the expression
109         the register is in.
110
111 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
112
113         * function.c (handle_epilogue_set): Check for FP setting case when
114         SP is set from FP in same insn.
115
116 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
117
118         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
119         RTX when calling alter_subreg().
120         (store_multiple_sequence): Pass pointer to RTX when calling
121         alter_subreg().
122
123 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
124
125         * function.c (assing_parms): Fix typo in last change.
126         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
127         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
128         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
129         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
130
131 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
132
133         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
134         correct code selecting section.
135
136 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
137
138         * final.c (count_basic_block, add_bb, add_bb_string):
139         Kill.
140         (end_final, final_start_function, final, final_scan_insn,
141         leaf_function_p): Kill BB profiler related code.
142         * flags.h (profile_block_flag): Kill.
143         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
144         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
145         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
146         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
147         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
148         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
149         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
150         __bb_init_trace_func): Kill.
151         * toplev.c (profile_block_flag): Kill.
152         (indepdendent_decode_option, process_options): Kill -a related code.
153         * alpha.c (direct_call_operand): Likewise.
154         * arm.c (arm_expand_prologue, thumb_expand_prologue,
155         thumb_expand_epilogue): Likewise.
156         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
157         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
158         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
159         MACHINE_STATE_RESTORE): Kill.
160         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
161         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
162         MACHINE_STATE_RESTORE): Kill.
163         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
164         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
165         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
166         code.
167         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
168         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
169         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
170         MACHINE_STATE_RESTORE): Kill.
171         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
172         * i960.c (i960_output_function_prologue): Kill BB profiler related
173         code.
174         * ia64.c (ia64_compute_frame_size): Likewise.
175         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
176         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
177         MACHINE_STATE_RESTORE): Kill.
178         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
179         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
180         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
181         MACHINE_STATE_RESTORE): Kill.
182         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
183         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
184         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
185         MACHINE_STATE_RESTORE): Kill.
186         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
187         Kill BB profiler related code.
188         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
189         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
190         MACHINE_STATE_RESTORE): Kill.
191         * mips.c (mips_expand_prologue): Kill BB profiler related code.
192         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
193         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
194         MACHINE_STATE_RESTORE): Kill.
195         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
196         * s960.c (s390_function_prologue): Kill BB profiler related code.
197         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
198         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
199         MACHINE_STATE_RESTORE): Kill.
200         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
201         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
202         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
203         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
204         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
205         sparc_nonflat_function_epilogue): Kill BB profiler related code.
206         (sparc_function_block_profiler, sparc_block_profiler,
207         sparc_function_block_profiler_exit): Kill.
208         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
209         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
210         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
211         MACHINE_STATE_RESTORE): Kill.
212         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
213         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
214         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
215         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
216         MACHINE_STATE_RESTORE): Kill.
217         * doc/invoke.texi: Kill documentation of -a and -ax.
218         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
219         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
220         MACHINE_STATE_RESTORE): Kill.
221
222 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
223
224         * doc/rtl.texi: Use a table to display RTL format characters.
225
226 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
227
228         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
229
230 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
231
232         * function.c (keep_stack_depressed): Check global_live_at_start
233         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
234
235 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
236
237         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
238         as set by the generic FreeBSD configure framework.
239
240 2001-12-04  Jason Merrill  <jason@redhat.com>
241
242         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
243         start_inlining, end_inlining.
244         * tree-inline.c (expand_call_inline): Call them.
245         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
246         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
247         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
248         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
249         (lhd_tree_inlining_end_inlining): New fn.
250
251 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
252
253         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
254         * c-common.h (shadow_warning): New.
255         * c-decl.c: Include c-common.h.
256         (warn_if_shadowing): New, broken out of pushdecl.
257         (pushdecl): Use warn_if_shadowing.
258         (store_parm_decls): Prevent duplicate -Wshadow warnings.
259
260 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
261
262         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
263         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
264         (LIB_SPEC): Remove.
265         
266 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
267
268         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
269         (QUAL_UNION_TYPE): New type.
270
271         * varasm.c (output_constant, case ERROR_MARK): New case.
272
273         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
274         (c_com): Delete its reference.
275         * builtins.c: Delete memory checking code.
276         * calls.c, expr.c, function.c, stmt.c: Likewise.
277         * builtins.c (expand_builtin_arg_info): Remove reference to
278         EXPAND_MEMORY_USE_* modifiers.
279         * explow.c (expr_size): Likewise.
280         * expr.c (expand_expr, expand_increment): Likewise.
281         * expr.h (ARGS_SIZE_RTX): Likewise.
282         * function.c (assign_parms, expand_pending_sizeso): Likewise.
283         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
284         * expr.c (in_check_memory_usage): Delete.
285         (get_push_address, get_memory_usage_from_modifier): Delete.
286         (expand_assigment): Use EXPAND_WRITE on destination.
287         (expand_expr): Delete ro_modifier.
288         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
289         add EXPAND_WRITE.
290         (memory_use_mode): Delete.
291         * flags.h (flag_check_memory_usage): Deleted.
292         (flag_prefix_function_name): Likewise.
293         * function.c (expand_function_start): Don't set
294         current_function_check_memory_usage.
295         * function.h (check_memory_usage): Delete.
296         * libfuncs.h, optabs.c: Delete chkr_* stuff.
297         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
298         EXPAND_WRITE.
299         * toplev.c (flag_check_memory_usage): Deleted.
300         (flag_prefix_function_name): Likewise.
301         (f_options, process_options): Delete references to above.
302         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
303         * varasm.c (CHKR_PREFIX): Deleted.
304         (make_decl_rtl): Remove flag_prefix_function_name handling.
305         (assemble_name): Likewise.
306         * doc/extend.texi: Remove no_check_memory_usage attribute.
307         * doc/invoke.texi: Remove -fcheck-memory-usage
308         and -fprefix-function-name.
309
310 2001-12-05  Andreas Schwab  <schwab@suse.de>
311
312         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
313         from autoconf.
314
315 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
316
317         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
318
319 2001-12-05  William Cohen  <wcohen@redhat.com>
320
321         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
322         instruction.
323
324 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
325
326         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
327         builtins. 
328
329         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
330         better reflect reality (change from Apple's tree).
331         Add more of altivec instructions.
332         Add ftruncv4sf2 pattern.
333         Remove more unspecs (vector merge instructions, etc).
334
335         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
336         builtins. 
337         (bdesc_1arg): New, for 1 argument altivec builtins.
338         (altivec_expand_builtin): Handle unary and ternary ops.
339         (altivec_init_builtins): Ditto.
340
341 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
342
343         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
344         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
345
346 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
347
348         * gcse.c (store_killed_in_insn): Consider pure calls
349         as potential store killers in addition to normal calls.
350
351 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
352
353         * expr.c (expand_expr): When checking promoted value, use
354         DECL_MODE (exp) and not mode.
355
356 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
357
358         * c-typeck.c (output_init_element): Call digest_init
359         just once, not in each if branch and check its return value for
360         error_mark_node.
361
362 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
363
364         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
365         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
366         (finish_struct): Break the loop if n_incomplete went to 0.
367         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
368
369 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
370
371         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
372
373 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
374                           Douglas B. Rupp  <rupp@gnat.com>
375         
376         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
377         * doc/invoke.texi: Add -gvms.
378         * doc/passes.texi: Add mention of vmsdbgout.c.
379         * doc/tm.texi: Document VMS debugging output.
380
381 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
382
383         * function.h (tree, rtx): Remove no-longer-needed definitions.
384
385         * function.c (keep_stack_depressed): Refine check for register
386         clobbered over call.
387
388         * expr.c (store_expr): When copying string constant into array,
389         use functions that update memrefs instead of computations on
390         addresses to better track MEMs.  Also properly handle 32/64 pointers.
391         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
392         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
393
394         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
395         underneath COMPONENT_REFs.
396         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
397
398 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
399
400         * toplev.c (display_target_options): Don't print twice.
401
402 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
403
404         * emit-rtl.c (set_unique_reg_note): Don't set
405         a REG_EQUAL or REG_EQUIV note if multiple sets
406         are present.
407
408 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
409
410         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
411         CASE_DROPS_THROUGH.
412
413 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
414
415         * rtl.h (initialize_uninitialized_subregs): New prototype.
416         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
417         when optimization is on.
418         * flow.c (find_regno_partial): Find subregs within an expression.
419         (initialize_uninitialized_subregs): Initialize live on entry registers
420         which are used in subreg expressions.
421
422 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
423
424         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
425
426 2001-12-04  DJ Delorie  <dj@redhat.com>
427
428         * fixinc/fixincl.c (initialize): Avoid problemsome macro
429         parameter names (PR 3388).
430
431 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
432
433         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
434         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
435
436 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
437
438         * c-common.def (COMPOUND_LITERAL_EXPR): New.
439         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
440         (c_staticp): New function.
441         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
442         (c_staticp): Declare.
443         * c-typeck.c (default_function_array_conversion, build_unary_op):
444         Don't handle CONSTRUCTOR specially.
445         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
446         * c-decl.c (build_compound_literal): New function.
447         * c-tree.h (build_compound_literal): Declare.
448         * c-parse.in (primary): Use build_compound_literal.
449         * c-lang.c (LANG_HOOKS_STATICP): Define.
450         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
451         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
452         * doc/extend.texi: Update documentation of compound literals.
453         Fixes PR c/4787.
454
455 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
456
457         * langhooks.h (struct lang_hooks): Add staticp.
458         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
459         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
460         * langhooks.c (lhd_staticp): New function.
461         * tree.c (staticp): Call lang_hooks.staticp for language-specific
462         tree codes.
463
464 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
465
466         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
467         * gcc.c (process_command): Ensure the cpp driver sees
468         --help and --target-help, and that the help is printed
469         exactly once.
470
471 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
472
473         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
474
475 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
476
477         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
478         flag_strict_aliasing.  Use separate assignment statements.
479
480 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
481
482         * build-make, cross-make: Delete file.
483         * configure.in: Set and substitute CROSS, ALL,
484         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
485         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
486         whether build == host and host == target.  Do not
487         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
488         AC_SUBST cross_defines or extra_c_flags.
489         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
490         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
491         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
492         partially or completely with autoconf-substituted @variable@
493         notation.
494         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
495         @build_overrides@, @extra_c_flags@, all.build, install-build,
496         install-cross-rest, install-float-h-cross): Deleted.
497         (install-normal): Rename to install.  Delete old "install"
498         indirection rule.
499
500 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
501
502         * stmt.c (expand_return): Clear destination instead of clobbering it 
503         when setting a return value via bitsets.
504
505 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
506
507         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
508         it has DECL_SAVED_TREE.
509         
510         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
511         is in a different binding level, get its abstract origin to be
512         olddecl.
513         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
514         check earlier.
515         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
516         DECL_INITIAL is NULL.
517
518 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
519
520         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
521         Return correct value if one of the subexpressions was optimized to
522         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
523         (and_reg_cond): Similarly.
524
525 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
526
527         * function.c (assign_parms): Set last_named only for last named
528         argument.
529
530 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
531
532         * doc/install.texi: Use the GFDL.  Include years from old install
533         manual in copyright notice.  Include copyright and GFDL notice on
534         HTML index page.  Include usual footer on testing.html.
535         * doc/install.texi2html: Build gfdl.html.  Use -I
536         $SOURCEDIR/include.
537         * doc/include/fdl.texi: Adapt for use in the install manual.
538
539 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
540
541         * doc/install.texi: Document that installed native compiler for
542         building cross compilers should be GCC 2.95 or later.
543
544 2001-12-03  Eric Christopher  <echristo@redhat.com>
545
546         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
547         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
548         patterns.
549
550 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
551
552         * rtl.def (PREFETCH): New rtx code.
553         * doc/rtl.texi (PREFETCH): Add documentation.
554         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
555         * rtlanal.c (reg_referenced_p): Ditto.
556         * sched-vis.c (print_exp):  Ditto.
557         * ssa-dce.c (find_inherently_necessary):  Ditto.
558
559         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
560           (PREFETCH_BLOCK): Define.
561         * config/ia64/ia64.md (itanium_class): Add lfetch.
562           (prefetch, prefetch_internal): New.
563
564         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
565         * builtins.def (BUILT_IN_PREFETCH): New.
566         * builtins.c (expand_builtin_expect): New.
567           (expand_builtin): Call it.
568         * doc/extend.texi: Document __builtin_prefetch.
569
570         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
571           conflicts with new generic prefetch functionality.
572         * config/i386/i386.c (ix86_expand_builtin): Use new name for
573           prefetch_sse.
574
575 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
576
577         * objc/Make-lang.in: Update copyright.
578         (OBJC_OBJS): Add objc-lang.o.
579         (objc-lang.o): New rule.
580         * objc/config-lang.in: Fix file description and update
581         copyright.
582         * objc/objc-act.c: Do not include langhooks.h and
583         langhooks-def.h
584         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
585         (objc_post_options): Move to objc-lang.c.
586         (objc_init_options): Move to objc-lang.c.
587         (objc_init): Make non-static.
588         (objc_decode_option): Make non-static.
589         (HASHFUNCTION): Remove macro.
590         (hash_func): New function.
591         (hash_enter): Replace HASHFUNCTION with hash_func.
592         (hash_lookup): Replace HASHFUNCTION with hash_func.
593         (maybe_objc_tree_codes): New function.
594         (init_objc): Move ObjC tree code initialization to
595         maybe_objc_tree_codes().
596         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
597         (objc_init): New public prototype.
598         (objc_decode_option): New public prototype.
599         (maybe_add_objc_tree_codes): New public prototype.
600         * objc/objc-lang.c: New file.
601         (lang_hooks): Moved from objc-act.c.
602         (objc_post_options): Moved from objc-act.c.
603         (objc_init_options): Moved from objc-act.c.
604
605 2001-12-03  Geoff Keating  <geoffk@redhat.com>
606
607         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
608         of array elements.
609
610 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
611
612         PR c/4988
613         * gcc.c (process_command): Don't add a preprocessor option for
614         --help and --target-help; cc1 is enough.
615
616 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
617
618         * c-decl.c (grokdeclarator): Use ISO word.
619         * cppinit.c: Remove leading capital from diagnostic messages, as
620         per GNU coding standards.
621         * emit-rtl.c: Similarly.
622         * final.c: Similarly.
623         * gcc.c: Similarly.
624         * tradcpp.c: Similarly.
625         * config/arm/arm.c: Similarly.
626         * config/arm/arm.h: Similarly.
627         * config/avr/avr.c: Similarly.
628         * config/avr/avr.h: Similarly.
629         * config/c4x/c4x.c: Similarly.
630         * config/cris/cris.c: Similarly.
631         * config/cris/cris.h: Similarly.
632         * config/d30v/d30v.c: Similarly.
633         * config/dsp16xx/dsp16xx.c: Similarly.
634         * config/dsp16xx/dsp16xx.h: Similarly.
635         * config/h8300/h8300.c: Similarly.
636         * config/i386/i386.c: Similarly.
637         * config/i386/xm-djgpp.h: Similarly.
638         * config/i960/i960.h: Similarly.
639         * config/m32r/m32r.c: Similarly.
640         * config/m68hc11/m68hc11.c: Similarly.
641         * config/m88k/m88k.c: Similarly.
642         * config/m88k/m88k.h: Similarly.
643         * config/mcore/mcore.c: Similarly.
644         * config/mcore/mcore.h: Similarly.
645         * config/mips/mips.c: Similarly.
646         * config/mmix/mmix.c: Similarly.
647         * config/pa/pa.c: Similarly.
648         * config/rs6000/rs6000.c: Similarly.
649         * config/rs6000/sysv4.h: Similarly.
650         * config/s390/s390.c: Similarly.
651         * config/sparc/sparc.c: Similarly.
652         * config/v850/v850-c.c: Similarly.
653         * config/v850/v850.c: Similarly.
654
655 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
656
657         * rs6000.h (RETURN_IN_MEMORY): Cast result of
658         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
659
660 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
661
662         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
663         bit twiddling constant.
664
665 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
666
667         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
668         call purge_dead_edges after removing.
669         (delete_null_pointer_checks): Do not handle delete_list.
670
671         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
672         (count_basic_blocks): ... here.
673         (find_basic_blocks, find_bb_boundaries): Cleanup.
674
675         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
676         overflow for types greater then 2 * HOST_WIDE_INT.
677
678         * reload.c (find_reloads): Update the duplicates after swapingg.
679
680 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
681
682         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
683
684 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
685
686         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
687         MASK_LONG_DOUBLE_128): Delete.
688         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
689         TARGET_AIX_STRUCT_RET): New flags.
690         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
691         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
692         and -m(no-)svr4-struct-return.
693         (TARGET_OPTIONS): Add entry for -mlong-double-.
694         (rs6000_long_double_size_string, rs6000_long_double_type_size,
695         rs6000_altivec_abi): Declare.
696         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
697         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
698         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
699         structures of size <= 8 bytes in registers.
700         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
701
702         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
703         rs6000_long_double_type_size, rs6000_altivec_abi): New
704         globals.
705         (rs6000_override_options): Set rs6000_long_double_type_size
706         from rs6000_long_double_size_string, if nonzero.  Set the
707         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
708         not already set.
709         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
710         target_flags bit.
711         (rs6000_init_builtins): This hook now takes no arguments.
712
713         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
714         DRAFT_V4_STRUCT_RET to 1.
715
716 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
717
718         * c-typeck.c (really_start_incremental_init, push_init_level):
719         Avoid constructor_max_index being other than an INTEGER_CST.
720
721 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
722
723         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
724         unsigned.
725         (ASM_GENERATE_INTERNAL_LABEL): Same.
726         (UNIQUE_SECTION): Fix typo.
727
728 2001-12-02  Richard Henderson  <rth@redhat.com>
729
730         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
731
732 2001-12-02  Richard Henderson  <rth@redhat.com>
733
734         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
735         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
736         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
737         * expr.h, final.c, reload1.c: Adjust users.
738
739         * alias.c (nonoverlapping_component_refs_p): New.
740         (decl_for_component_ref, adjust_offset_for_component_ref): New.
741         (nonoverlapping_memrefs_p): Use them.
742         * emit-rtl.c (component_ref_for_mem_expr): New.
743         (set_mem_attributes): Use it.
744         (set_mem_offset): New.
745         * expr.c (expand_assignment): Call set_mem_attributes for
746         inner references; adjust the memory offset as needed.
747         * print-rtl.c (print_mem_expr): New.
748         (print_rtx): Use it.
749
750 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
751
752         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
753
754         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
755         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
756         (ASM_SPEC): Don't redefine.
757         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
758         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
759         * config/alpha/vms-dwarf2.asm: New file.
760
761         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
762         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
763         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
764         (vmsdbgout_after_prologue): New declaration.
765         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
766         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
767         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
768         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
769         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
770         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
771         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
772         Test VMS_DEBUGGING_INFO.
773         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
774         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
775         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
776         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
777         VMS_AND_DWARF2_DEBUG.
778         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
779         (decode_g_option): Add "vms" to debug_type_names.
780         (process_options): Set vmsdbg_debug_hooks if -gvms.
781         (lang_independent_init): Emit line number for VMS unless -g0.
782         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
783         * vmsdbg.h, vmsdbgout.c: New files.
784
785 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
786
787         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
788
789 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
790
791         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
792         * dwarf2out.c (is_cxx): Prototype.
793         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
794         warning.
795         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
796
797 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
798
799         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
800
801 2001-12-02  Geoff Keating  <geoffk@redhat.com>
802
803         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
804         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
805         rather than simplify_subreg.  Check for volatile-ness.  Check that
806         we're not splitting one slow operation into two slow operations.
807
808 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
809
810         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
811         before shifting.
812
813 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
814
815         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
816         capital from diagnostics.
817         * c-lex.c (cb_file_change): Similarly.
818         * c-parse.in : Similarly.
819         * cfgrtl.c (verify_flow_info): Similarly.
820         * collect2.c: Similarly.
821         * cppfiles.c (find_include_file): Similarly.
822         * cppinit.c (cpp_handle_option): Similarly.
823         * cpplex.c (cpp_spell_token): Similarly.
824         * cppmain.c (do_preprocessing): Similarly.
825         * gcc.c (translate_options, process_command, do_spec1,
826         main, pfatal_execute): Similarly.
827         * genattr.c (main): Similarly.
828         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
829         write_test_expr, main): Similarly.
830         * gencodes.c (main): Similarly.
831         * genconfig.c (main): Similarly.
832         * genconstants.c (main): Similarly.
833         * genemit.c (main): Similarly.
834         * genextract.c (main): Similarly.
835         * genflags.c (main): Similarly.
836         * genopinit.c (main): Similarly.
837         * genoutput.c (process_template, main): Similarly.
838         * genpeep.c (main): Similarly.
839         * genrecog.c (main): Similarly.
840         * gensupport.c (is_predicable, identify_predicable_attribute,
841         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
842         * ggc-page.c (alloc_anon): Similarly.
843         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
844         parse_begin, parse_bend, parse_def, parse_end, parse_file,
845         parse_stabs_common, parse_stabs, write_varray, write_object,
846         read_seek, copy_object, main, error): Similarly.
847         * profile.c (compute_branch_probabilities): Similarly.
848         * reg-stack.c (check_asm_stack_operands): Similarly.
849         * reload.c (find_reloads): Similarly.
850         * reload1.c (spill_failure, failed_reload): Similarly.
851         * rtl-error.c (_fatal_insn_not_found): Similarly.
852         * toplev.c (read_integral_parameter, crash_signal,
853         decode_f_option, set_target_switch, parse_options_and_default_flags)
854         : Similarly.
855         * tradcif.y (parse_number, yylex): Similarly.
856         * tradcpp.c (main, fancy_abort): Similarly.
857         * tree.c (tree_check_failed): Similarly.
858         * varray.c (varray_check_failed): Similarly.
859         * xcoffout.c (xcoff_output_standard_types): Similarly.
860 objc:
861         * objc-act.c (get_object_ref, lookup_and_install_protocols,
862         build_objc_string_object, objc_declare_alias, build_ivar_chain,
863         finish_message_expr, build_protocol_expr, is_public,
864         start_class): Similarly.
865
866 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
867
868         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
869         trailing period from diagnostics.
870         * c-lex.c (cb_file_change): Similarly.
871         * cppmacro.c (check_trad_stringification): Similarly.
872         * gcc.c (do_spec_1): Similarly.
873         * genattr.c (main): Similarly.
874         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
875         * gencodes.c (main): Similarly.
876         * genconfig.c (main): Similarly.
877         * genconstants.c (main): Similarly.
878         * genemit.c (main): Similarly.
879         * genextract.c (main): Similarly.
880         * genopinit.c (main): Similarly.
881         * genoutput.c (main): Similarly.
882         * genpeep.c (main): Similarly.
883         * genrecog.c (main): Similarly.
884         * mips-tfile.c (add_file, error): Similarly.
885         * profile.c (init_branch_prob): Similarly.
886         * reload1.c (spill_failure): Similarly.
887         * stmt.c (parse_output_constraint): Similarly.
888         * varasm.c (assemble_variable): Similarly.
889
890 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
891
892         * m68k.c (init_FPA_table): Provide static prototype.
893         * mips/abi64.h (mips_function_value): Move prototype to ...
894         * mips-protos.h (mips_function_value): ... here.
895         * mips.c: Include halfpic.h.
896         * output.h (rdata_section): Prototype.
897
898         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
899         * m88k.c (m88k_svr3_asm_out_constructor,
900         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
901         !OBJECT_FORMAT_ELF.
902         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
903         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
904         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
905
906 2001-12-01  Geoff Keating  <geoffk@redhat.com>
907
908         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
909         LO_SUM addresses less than word size are not legitimate,
910         because they lead to invalid SUBREGs.
911         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
912
913 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
914
915         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
916         while scanning for multiple back edges.
917
918 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
919
920         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
921         * config/rs6000/tramp.asm: Use it.
922
923 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
924
925         * gencheck.c, gengenrtl.c: Don't define xmalloc.
926         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
927         xmalloc.
928
929 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
930
931         * pa.c (output_ascii): Cast `p' to unsigned char.
932
933 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
934
935         * config/rs6000/rs6000.c (altivec_expand_builtin): add
936         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
937         *_16qi,_8hi, rename existing V4SI ones to *_4si.
938         (altivec_init_builtins): Ditto.
939         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
940
941         * config/rs6000/rs6000.md: Add attribute types vecsimple,
942         veccomplex, vecfloat, and vecperm, for altivec instructions.
943         Modify altivec patterns to use approriate attribute type.
944         Modify altivec patterns to match RTL operations where approriate
945         (IE no unspec where we can avoid it).
946         Add vector unit scheduling for ppc7450.
947         Rename patterns to what they are where approriate
948         (altivec_vaddfp->addv4sf3, etc)
949
950         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
951         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
952
953         * config/rs6000/sysv4.h: Add -mcpu=7450.
954
955         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
956         _builtin_altivec_ld_interal function.
957
958 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
959
960         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
961         strchr, strrchr, isascii, gettimeofday.
962         * config.in, configure: Regenerate.
963
964 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
965
966         * unroll.c (unroll_loop): Correct special exit cases.
967
968 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
969
970         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
971         accept DFmode and DImode only.
972
973 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
974
975         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
976         (STACK_DYNAMIC_OFFSET): Same.
977
978 2001-11-30  Richard Henderson  <rth@redhat.com>
979
980         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
981
982 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
983
984         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
985         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
986         the values in call_used_registers.
987
988 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
989
990         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
991         gthr-single.
992
993 2001-11-30  Jason Merrill  <jason@redhat.com>
994
995         * dwarf2out.c (is_cxx): New fn.
996         (add_data_member_location_attribute): Check it.
997         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
998
999 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1000
1001         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
1002
1003 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
1004
1005         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
1006         MODE_VECTOR_FLOAT as allowed.
1007
1008 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
1009
1010         Purge cruft now we have build libiberty.
1011
1012         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
1013         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
1014         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
1015         USE_HOST_STRSTR): Delete variables.
1016         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
1017         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
1018         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1019         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
1020         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
1021         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
1022         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
1023         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
1024         (HOST_LIBS): Ditto.
1025         (HOST_RTL): Remove hashtab.o safe-ctype.o.
1026         (OBJS): Remove splay-tree.o.
1027         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
1028         (distclean): No need to delete splay-tree.c obstack.c
1029         hashtab.c safe-ctype.c.
1030         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
1031         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
1032         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
1033         Delete.
1034         * configure.in: Don't use them.
1035         Set and substitute @FORBUILD@.
1036         * config.in, configure: Regenerate.
1037         * doprint.c: Move to libiberty/_doprnt.c.
1038         * doc/configterms.texi: Document that libiberty is now built
1039         up to three times.  Fix typo.
1040
1041 2001-11-30  Jason Merrill  <jason@redhat.com>
1042
1043         * dwarf2out.c (add_data_member_location_attribute): Do the
1044         right thing for virtual bases.
1045         * dbxout.c (dbxout_type): For a virtual base, print the offset
1046         within the vtable.
1047
1048 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
1049
1050         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
1051
1052 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
1053
1054         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
1055         go in memory.
1056         Remove unused attribute for named.
1057
1058 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1059
1060         * genattrtab.c (attr_rtx_1): New function containing the
1061         majority of `attr_rtx'.  Move variable declarations into the
1062         scope where they are used.  Eliminate unnecessary gotos.
1063         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
1064         VA_FIXEDARG, and VA_CLOSE.
1065
1066 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
1067
1068         * config/cris/cris.c (cris_notice_update_cc): Check first
1069         destination also against overlap with cc_status.value2 and second
1070         destination against overlap with cc_status.value1.  For overlaps,
1071         clear overlapped value, don't just CC_STATUS_INIT.
1072
1073         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
1074         Fix typo in comment.
1075         (LINK_SPEC): Remove whitespace at end of line.
1076
1077 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
1078
1079         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
1080
1081 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
1082
1083         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
1084         macros for the supported debugging types.
1085
1086 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1087
1088         PR other/4932
1089         * config/i386/i386.c (print_operand):  Verify that the
1090           argument to %c is a constant and not a conditional which
1091           needs to be reversed.
1092
1093 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
1094
1095         * emit-rtl.c (gen_lowpart_common): Fix conversion of
1096         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
1097         of low part of those arrays for 32bit and 64bit hosts.
1098
1099 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1100
1101         * Makefile.in (insn-output.o): Depend on insn-codes.h.
1102
1103 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1104
1105         * configure.in (target_list): Add generated-manpages.
1106         * configure: Regenerate.
1107         * Makefile.in (generated-manpages): Depend on
1108         lang.generated-manpages.
1109         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
1110
1111 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
1112
1113         * config/arm/crti.asm (_init): Add .thumb_func if compiled
1114         with -mthumb.
1115         (_fini): Add .thumb_func if compiled with -mthumb.
1116
1117 2001-11-28  Eric Christopher  <echristo@redhat.com>
1118
1119         * config/mips/mips.c (override_options): Fix thinko in mips_tune
1120         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
1121
1122 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
1123
1124         * alpha.md (tablejump): Use pic_offset_table_rtx
1125         instead of gen_rtx_REG.
1126
1127 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
1128
1129         * expr.c (store_expr): When copying a string constant into an
1130         array, reset the known alignment of the MEM for the section to
1131         be cleared to BITS_PER_UNIT.
1132
1133 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
1134
1135         * config/cris/cris.c: Remove whitespace at end of line.
1136
1137 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
1138
1139         * config.gcc (i[34567]86-*-interix3*): New case.
1140         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
1141         New files.
1142
1143 2001-11-28  Richard Henderson  <rth@redhat.com>
1144
1145         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
1146         symbolic_operand as the predicate.
1147
1148 2001-11-28  Richard Henderson  <rth@redhat.com>
1149
1150         * doloop.c (doloop_modify_runtime): Properly select induction
1151         variable; skip late entry test if biv initializer created by loop.
1152
1153 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1154
1155         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
1156         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
1157
1158         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
1159
1160         * tree.h: Add missing checks on some macros; make formatting more
1161         consistent.
1162
1163         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
1164         level; only add to pending_sizes if find it.
1165
1166         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
1167
1168         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
1169         Add casts to remove warnings.
1170
1171         * Makefile.in (OBJS): Sort alphabetically.
1172
1173         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
1174         Also minor cleanups.
1175
1176 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
1177
1178         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
1179         (FLAGS_TO_PASS): Add STAGE_PREFIX.
1180         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
1181         to STAGE_PREFIX.
1182
1183 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
1184
1185         * cse.c (true_dependence_in_rtx): New function.
1186         (invalidate): Use it.
1187
1188         * c-common.h (GOTO_FAKE_P): New macro.
1189         * tree-inline.c (GOTO_FAKE_P): Set.
1190         * c-tree.texi (GOTO_FAKE_P): Document.
1191
1192         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
1193         containing pointers.
1194         (output_addressed_constants): Check for local/external relocations.
1195         * elfos.h (SELECT_SECTION): Classify data section.
1196         * tm.texi (SELECT_SECTION): Update documentation.
1197
1198         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
1199         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
1200
1201 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1202
1203         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1204         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
1205         OBJECT_FORMAT_ROSE.
1206
1207 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
1208
1209         * config/cris/cris.c: Tweak spacing for prototypes.
1210         (LOSE_AND_RETURN): New macro.
1211         (cris_operand_lossage): New function.
1212         (cris_print_index, cris_print_base): Use cris_operand_lossage
1213         rather than fatal_insn.
1214         (cris_print_operand, cris_print_operand_address): Use
1215         LOSE_AND_RETURN rather than fatal_insn and internal_error.
1216         (cris_output_addr_const): Use LOSE_AND_RETURN and
1217         output_operand_lossage rather than fatal_insn and internal_error
1218         for valid but unexpected rtx expressions.
1219
1220         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
1221         for a SUBREG in src or dest, abort instead.
1222
1223 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1224
1225         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
1226         doc.
1227
1228 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
1229
1230         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
1231         preprocessor define.  If only DBX_DEBUGGING_INFO or only
1232         DWARF2_DEBUGGING_INFO is supported for the target, provide
1233         appropriate definitions.
1234
1235 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1236
1237         * Makefile.in: Update, and add c-objc-common.o dependencies.
1238         * c-lang.c: Remove unnecessary includes.
1239         (c_init): Move bulk of code to c_objc_common_init, and call it.
1240         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
1241         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
1242         c-objc-common.c.
1243         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
1244         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
1245         c_objc_common_init, c_missing_noreturn_ok_p): New.
1246         * toplev.c: Update comment.
1247         * doc/passes.texi: Update.
1248 objc:
1249         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
1250         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
1251         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
1252         (objc_init): Update to use c_objc_common_init.
1253
1254 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1255
1256         * cpphash.c (_cpp_init_hashtable): Update.
1257         * cpphash.h (struct spec_nodes): Remove n_L.
1258         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
1259
1260 2001-11-17  Richard Henderson  <rth@redhat.com>
1261
1262         * unroll.c (loop_iterations): Move last change ...
1263         * doloop.c (doloop_modify_runtime): ... here.
1264
1265 2001-11-17  Corey Minyard  <minyard@acm.org>
1266             Richard Henderson  <rth@redhat.com>
1267
1268         * unroll.c (loop_iterations): Detect one situation in which we
1269         overestimate the number of iterations.
1270
1271 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1272
1273         * gcc.c (set_input): Export.
1274         Move declaration ...
1275         gcc.h (set_input): ... here.
1276
1277 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1278
1279         * gcc.c (set_collect_gcc_options): New function, split out from
1280         main.
1281         Ignore elided switches.
1282         (do_spec): Invoke before executing command.
1283         (do_spec_1): Likewise.
1284         Fixes PR other/3968.
1285
1286 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
1287
1288         * config/cris/cris.h (INT_ASM_OP): Remove.
1289
1290 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1291
1292         * config/i386/sol2.h (WINT_TYPE): Redefine.
1293         (WINT_TYPE_SIZE): Likewise.
1294
1295 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1296
1297         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
1298         (dup2): Make static and add prototype.
1299         * m68k/plexus.h: Don't define NO_DUP2.
1300         * configure.in (AC_CHECK_FUNCS): Add dup2.
1301         * config.in, configure: Regenerate.
1302
1303         * ia64/aix.h (REG_SIZE): Don't #undef.
1304         * sparc.h (REG_SIZE): Delete.
1305         * flow.c (mark_used_regs): Don't use REG_SIZE.
1306         * regs.h (REG_SIZE): Delete.
1307
1308 2001-11-27  Andreas Schwab  <schwab@suse.de>
1309
1310         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
1311         PREFERRED_DEBUGGING_TYPE.
1312
1313 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1314
1315         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
1316         (expr.o, varasm.o): Depends on langhooks.h.
1317         * c-common.c (c_safe_from_p): Always declare.
1318         (c_expand_expr): Refine when declared.
1319         * c-lang.c (c-common.h): Now include.
1320         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
1321         (c_init): Don't set lang_safe_from_expr.
1322         * expr.c (langhooks.h): Now include.
1323         (lang_safe_from_p): No longer define.
1324         (safe_from_p): Use lang hook.
1325         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
1326         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
1327         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
1328         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
1329         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
1330         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
1331         * langhooks.h (struct lang_hooks): New fields expand_constant
1332         and safe_from_p.
1333         * output.h (output_constant): Size arg is HOST_WIDE_INT.
1334         * stmt.c (expand_decl_init): No longer need to expand constant
1335         for CONST_DECL.
1336         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
1337         * toplev.c (lang_expand_constant): Delete var.
1338         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
1339         operations on SAVE_EXPR.
1340         * varasm.c (langhooks.h): Now include.
1341         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
1342         (record_constant_1, output_addressed_constants): Likewise.
1343         (initializer_constant_valid_p, output_constant): Likewise.
1344         (output_constant_def): Process no-defer of string constant.
1345         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
1346         (output_constant): Strip more conversions.
1347         Track our size and pad for the rest.
1348         (array_size_for_constructor): Remove code for non-byte STRING_CST.
1349         (output_constructor): SIZE now HOST_WIDE_INT.
1350
1351 2001-11-27  Richard Henderson  <rth@redhat.com>
1352
1353         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
1354         in computing DIFF.
1355
1356 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
1357
1358         * cppfiles.c (read_include_file): Add comment.
1359
1360 2001-11-26  Richard Henderson  <rth@redhat.com>
1361
1362         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
1363
1364 2001-11-26  Richard Henderson  <rth@redhat.com>
1365
1366         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
1367         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
1368         commented out override.
1369
1370 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1371
1372         * cppfiles.c (stack_include_file): Don't optimize zero-length
1373         files.
1374         (read_include_file): NUL-terminate read files.
1375         * cpplex.c (handle_newline, skip_escaped_newlines,
1376         get_effective_char, skip_whitespace, parse_identifier,
1377         parse_identifier_slow, parse_number, parse_string,
1378         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
1379         NUL-terminated.
1380         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
1381         Be sure buffers are NUL terminated.
1382         * cppmacro.c (warn_of_redefinition): Kill compile warning.
1383
1384 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1385
1386         * c-common.c: Include tree-inline.h.
1387         (c_language): Move separate definitions here.
1388         (c_common_init_options, c_common_post_options): New.
1389         (c_common_lang_init): Rename c_common_init.
1390         * c-common.h (c_common_lang_init): Similarly.
1391         (c_common_init_options, c_common_post_options): New.
1392         * c-lang.c (c_post_options): Move body to c_common_post_options.
1393         (c_init_options): Use c_common_init_options.
1394         (c_init): Update.
1395         * langhooks.def: Rearrange.
1396         * langhooks.h: Rearrange, and improve comments.
1397         * toplev.c (do_compile): New function.
1398         (toplev_main): Use it.
1399         (lang_independent_f_options, parse_options_and_default_flags,
1400         process_options): Remove trailing periods.
1401         * Makefile.in: Update.
1402 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
1403         functions.
1404         (ojbc_init): Update.
1405
1406 2001-11-26  Richard Henderson  <rth@redhat.com>
1407
1408         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
1409
1410 2001-11-26  DJ Delorie  <dj@redhat.com>
1411
1412         * expr.c (store_constructor): Actually use the value computed
1413         if WORD_REGISTER_OPERATIONS.
1414
1415 2001-11-26  Richard Henderson  <rth@redhat.com>
1416
1417         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
1418         for CONSTRUCTOR.
1419
1420 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
1421
1422         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
1423         correct function on AIX.
1424
1425 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
1426
1427         * toplev.c (process_options): Don't force
1428         flag_optimize_sibling_calls to zero just because exceptions are
1429         enabled.
1430
1431 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
1432
1433         * df.h (transfer_function_sbitmap): Use PARAMS around argument
1434         list in function prototypes.
1435         (transfer_function_bitmap): Likewise.
1436
1437 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
1438
1439         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
1440         * config/i386/netbsd-elf.h: Likewise.
1441
1442 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
1443
1444         * doc/trouble.texi: Remove outdated RS/6000 comments.
1445
1446 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
1447
1448         * final.c (walk_alter_subreg): Fix return value.
1449
1450 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
1451
1452         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
1453         alter_subreg.
1454         * sparc.md (post-reload splitters): Do not call alter_subreg.
1455         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
1456
1457 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
1458
1459         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
1460
1461 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
1462
1463         * final.c: (insn_lengths): Make it an int *, so that large jump
1464         tables don't overflow.
1465
1466 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1467
1468         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
1469         (format_types): Use it for scanf.
1470         (dollar_arguments_pointer_p): New.
1471         (init_dollar_format_checking): Store details of which arguments
1472         are pointers.
1473         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
1474         (finish_dollar_format_checking): Take extra parameter
1475         pointer_gap_ok.  Treat unused arguments differently if
1476         pointer_gap_ok and the unused arguments are pointers.
1477         (check_format_info_main): Pass extra argument to
1478         finish_dollar_format_checking.
1479         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
1480         unused arguments are present between used arguments with operand
1481         numbers.
1482
1483 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
1484
1485         * df.c: Add prototypes for hybrid_search_bitmap and
1486         hybrid_search_sbitmap.
1487         (hybrid_search_bitmap): New function.
1488         (hybrid_search_sbitmap): New function.
1489         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
1490         (iterative_dataflow_bitmap): Ditto.
1491
1492 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1493
1494         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
1495         address computations.
1496
1497 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1498
1499         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
1500         register b (low part of d).
1501
1502 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1503
1504         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
1505         passed to mcount.
1506
1507 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
1508
1509         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
1510         * config/alpha/x-vms: New file, to compile the above.
1511         * config.gcc (alpha*-dec-vms*): Add x-vms.
1512
1513 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
1514
1515         * genextract.c (main): Set ro_loc for peepholes.
1516
1517 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
1518
1519         * fix-header.c (main): Move inf_buffer termination and inf_limit
1520         calculation to after read.
1521
1522         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
1523         (__UNIX_FOPEN): Define.
1524
1525 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1526
1527         * function.c (assign_stack_temp_for_type): Clear alias set before
1528         setting new one.
1529
1530 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
1531
1532         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
1533         format.
1534         * rs6000.md (cmptf): Fix typo.
1535
1536 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
1537
1538         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
1539         * varasm.c (output_constructor): Use assemble_integer rather
1540         than ASM_OUTPUT_BYTE.
1541
1542 2001-11-23  Andreas Jaeger  <aj@suse.de>
1543
1544         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
1545         extension.
1546
1547 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
1548
1549         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
1550         default definition.
1551         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
1552         (MULTILIB_DEFAULTS): Remove previous definition.
1553
1554 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1555
1556         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
1557         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
1558
1559 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1560
1561         * cris.h: Revert thinko in last patch.
1562
1563 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1564
1565         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
1566         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
1567         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
1568         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
1569         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
1570         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
1571
1572         * predict.c, reg-stack.c: Fix spelling errors.
1573
1574 2001-10-09  Andrew Haley  <aph@redhat.com>
1575
1576         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
1577         start of stack slot.
1578
1579 2001-11-22  Graham Stott  <grahams@redhat.com>
1580
1581         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
1582         replacement jump after original jump.
1583
1584         (verify_flow_info): Remove redundent initialisation.
1585         Handle reaching end of insn list before finding a BARRIER.
1586         Only issue one missing barrier diagnostic.
1587
1588 2001-11-22  Graham Stott  <grahams@redhat.com>
1589
1590         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
1591
1592 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1593
1594         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
1595         insn actually does.
1596
1597 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
1598
1599         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
1600         Fix typo -mm32rx=> -m32rx.
1601
1602         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
1603         targets.
1604
1605         * config.gcc (xscale-coff): Add necessary header files to
1606         tm_file variable.
1607
1608 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
1609
1610         * rs6000.c (output_cbranch): Use $, not %$, in output template.
1611
1612 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1613
1614         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
1615         (lang_type_quals): Declare.
1616         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
1617         retrieve language-specific qualifiers for a type node, instead of
1618         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
1619         lang_dump_tree.
1620         * tree-dump.h: Rename from c-dump.h.
1621         * c-common.h (C_TYPE_QUALS): Removed.
1622         Move declarations for tree-dump.c interface to...
1623         * tree.h: ... here. Remove lang_dump_tree.
1624         * langhooks.h (struct lang_hooks_for_tree_dump): New.
1625         (struct lang_hooks): Add tree_dump hooks.
1626         * langhooks.c (lhd_tree_dump_dump_tree): New function.
1627         (lhd_tree_dump_type_quals): New function.
1628         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
1629         Declare.
1630         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
1631         * Makefile.in: Move tree-dump.o to language-independent back-end.
1632
1633 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1634
1635         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
1636         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
1637         * arc.h (DBX_REGISTER_NUMBER): Likewise.
1638         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
1639         * avr.h (DBX_REGISTER_NUMBER): Likewise.
1640         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
1641         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
1642         * convex.h (DBX_REGISTER_NUMBER): Likewise.
1643         * cris.h (DBX_REGISTER_NUMBER): Likewise.
1644         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
1645         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
1646         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
1647         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
1648         * i370.h (DBX_REGISTER_NUMBER): Likewise.
1649         * i860.h (DBX_REGISTER_NUMBER): Likewise.
1650         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
1651         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
1652         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
1653         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
1654         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
1655         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
1656         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
1657         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
1658         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
1659         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
1660         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
1661         * romp.h (DBX_REGISTER_NUMBER): Likewise.
1662         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
1663         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
1664         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
1665         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
1666         * v850.h (DBX_REGISTER_NUMBER): Likewise.
1667         * vax.h (DBX_REGISTER_NUMBER): Likewise.
1668         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
1669
1670         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
1671         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
1672
1673 2001-11-21  H.J. Lu <hjl@gnu.org>
1674
1675         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
1676
1677 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1678
1679         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
1680         emit_cmp_and_jump_insns.
1681
1682         * stormy16.c (xstormy16_expand_builtin_va_arg,
1683         xstormy16_expand_casesi): Likewise.
1684
1685 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1686
1687         * function.c (keep_stack_depressed): Major rework.
1688         (handle_epilogue_set, emit_equiv_load): New functions.
1689         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
1690         has return value.
1691         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
1692         * rtl.h (SET_IS_RETURN_P): New macro.
1693
1694         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
1695         and also support TREE_ADDRESSABLE.
1696         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
1697
1698 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
1699
1700         * rs6000.md (cmptf_internal1): Replace %$ with $.
1701
1702 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
1703
1704         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
1705         (read_include_file): Use STAT_SIZE_TOO_BIG.
1706
1707         * cppinit.c (INO_T_COPY): Define.
1708         (INO_T_EQ): Uppercase parameters.
1709         (append_include_chain): Use INO_T_COPY.
1710
1711 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
1712
1713         * cfg.c: Fix typos and formatting in the introductory comment.
1714
1715 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
1716
1717         * profile.c (compute_branch_probabilites):  Compute probabilities
1718         for entry/exit edges; estimate probabilities for zero counts.
1719
1720 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
1721
1722         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
1723         to emit_library_call.
1724         * function.c (expand_main_function, expand_function_start,
1725         expand_function_end): Likewise.
1726         * profile.c (output_func_start_profiler): Likewise.
1727         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
1728         second argument to emit_library_call.
1729         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
1730         as second argument to emit_library_call.
1731         * calls.c (emit_library_call): Update fn_type description.
1732
1733 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
1734
1735         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
1736         if fndecl is still DECL_INLINE and has DECL_RESULT.
1737
1738 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1739
1740         * clipper.c (clipper_movstr): Avoid uninitialized warning.
1741         * i960.c (is_mask, legitimize_address): Likewise.
1742         * m88k.c (m88k_expand_prologue): Likewise.
1743         * m88k.md: Likewise.
1744         * mcore.c (emit_new_cond_insn): Likewise.
1745         * stormy16.c (xstormy16_emit_cbranch): Likewise.
1746
1747 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
1748
1749         * config.gcc: Delete powerpcle-*-solaris2* stanza.
1750         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
1751         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
1752         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
1753         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
1754         config/rs6000/t-ppcos: Expunge all references to Solaris.
1755
1756         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
1757
1758         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
1759         output templates.
1760         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
1761         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
1762
1763 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1764
1765         * sh.md: Avoid uninitialized warnings.
1766         * vax.c (vax_rtx_cost): Likewise.
1767
1768 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
1769
1770         * rs6000.c (direct_return): Check if we are saving altivec
1771         registers.
1772         (first_altivec_reg_to_save): New.
1773         Updated stack frame layout comments.
1774         (rs6000_stack_info): Calculate altivec register save size.
1775         Save link register if we saved some altivec registers.
1776         (rs6000_stack_info): Align save size to 16 if altivec abi or
1777         abi_darwin.
1778         (rs6000_stack_info): Calculate altivec register offsets.
1779         (rs6000_stack_info): Add altivec info to save_size.
1780         (debug_stack_info): Add altivec debug info.
1781         (rs6000_emit_prologue): Save altivec registers and vrsave.
1782         (compute_vrsave_mask): New.
1783         (altivec_expand_builtin): Remove unused variables.
1784         (rs6000_parse_abi_options): Add static qualifier.
1785         (rs6000_expand_builtin): Remove unused parameters.
1786         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
1787         (altivec_init_builtins): Same.
1788         (is_altivec_return_reg): New.
1789         (vrsave_operation): New.
1790         (ALTIVEC_REG_BIT): New.
1791         (generate_set_vrsave): New.
1792
1793         * rs6000.md (get_vrsave): New.
1794         (set_vrsave): New.
1795         (*set_vrsave_internal): New.
1796
1797         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
1798         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
1799         altivec_padding_size, vrsave_mask.
1800         (TOTAL_ALTIVEC_REGS): New.
1801         (EPILOGUE_USES): Add VRSAVE_REGNO.
1802
1803 2001-11-20  Jeff Law <law@redhat.com>
1804
1805         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
1806         exit label as necessary.
1807
1808 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
1809
1810         * reload1.c (elimination_effects): Use function_invariant_p
1811         instead of CONSTANT_P when considering register equivalences.
1812
1813 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
1814
1815         * config.gcc: Add FreeBSD/PowerPC target.
1816         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
1817         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
1818         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
1819         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
1820         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
1821         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
1822         freebsd-spec.h to tm_file.
1823         (rs6000-*-lynxos*): Add lynx.h to tm_file.
1824         * config/freebsd.h: Tidy up.
1825         (USING_CONFIG_FREEBSD): Define.
1826         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
1827         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
1828         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
1829         (TARGET_HAS_F_SETLKW): Define.
1830         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
1831         * config/freebsd-spec.h: New file.
1832         * config/rs6000/freebsd.h: New file.
1833         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
1834         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
1835         USING_SVR4_H to know when to turn on ELF support.
1836         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
1837         define only if not already defined.
1838         Add FreeBSD support.
1839         * config/rs6000/aix.h (TARGET_VERSION): Define.
1840         * config/rs6000/beos.h: Likewise.
1841         * config/rs6000/darwin.h: Likewise.
1842         * config/rs6000/mach.h: Likewise.
1843         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
1844         Don't include lynx.h directly.
1845
1846 2001-11-20  Graham Stott  <grahams@redhat.com>
1847
1848         * unwind-dw2-fde.c (__deregister_frame_info_bases):
1849         Fix lossage in last change return OB.
1850
1851 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
1852
1853         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
1854         Remove unneeded exit related macros.
1855
1856 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
1857
1858         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
1859
1860         * rs6000.c (rs6000_emit_move): Add TFmode case.
1861         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
1862         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
1863         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
1864         * rs6000.h: ... to here.
1865         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
1866         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
1867         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
1868
1869 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1870
1871         * emit-rtl.c (get_mem_attrs): Fix typo.
1872
1873 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
1874
1875         * c-lang.c (finish_file): Backout 2001-11-16
1876         changes, instead set DECL_DEFER_OUTPUT for static inline functions
1877         before calling c_expand_deferred_function.
1878
1879 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
1880
1881         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
1882         Don't register empty .eh_frame sections.
1883         (__deregister_frame_info_bases, __deregister_frame): Don't
1884         unregister them either.
1885
1886 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
1887
1888         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
1889         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
1890         * configure: Regenerate.
1891         * config.in: Add dummy definitions of new flags.
1892         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
1893         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
1894         * gcc.c (ASM_DEBUG_SPEC): New macro.
1895         (asm_debug): New static variable.
1896         (default_compilers): Add asm_debug when assembling from
1897         user input.
1898         (static_specs): Add asm_debug.
1899
1900 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
1901
1902         * config.gcc (*-*-freebsd*): Remove configuration block.
1903
1904 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
1905
1906         bootstrap/4422
1907         * configure.in: Setup ability to run ./stage[1234]/xgcc in
1908         fixinc *as if* it were a proper lang subdirectory.
1909         * configure: Rebuilt.
1910
1911 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
1912
1913         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
1914
1915 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1916
1917         * 1750a.md: Don't use hex format for a const_int.
1918
1919 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
1920
1921         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
1922
1923 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
1924
1925         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
1926         defined (prevents link errors when gettext isn't in the system
1927         library).
1928
1929 2001-11-19  DJ Delorie  <dj@redhat.com>
1930
1931         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
1932         (validate_const_int): New.
1933         (read_rtx): Validate constant integers.
1934         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
1935
1936 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
1937
1938         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
1939
1940 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
1941
1942         * toplev.c (DUMPFILE_FORMAT): Define default.
1943         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
1944         (close_dump_file, compile_file): Likewise.
1945         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
1946         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
1947
1948 2001-11-19  Jeff Law <law@redhat.com>
1949
1950         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
1951         a nop-jump.
1952
1953 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
1954
1955         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
1956         Don't fall off the base token run.
1957
1958 2001-11-19  Jason Wilkins <fenix@io.com>
1959
1960         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
1961
1962 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1963
1964         * tree.def (VIEW_CONVERT_EXPR): New tree code.
1965         * tree.h (handled_component_p): New declaration.
1966         * alias.c (handled_component_p): Move function from here ...
1967         * expr.c (handled_component_p): ... to here and non longer static.
1968         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
1969         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
1970         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
1971         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
1972         (expand_expr, case VIEW_CONVERT_EXPR): New case.
1973         (expand_expr, cse ADDR_EXPR): No need to copy if already
1974         BIGGEST_ALIGNMENT.
1975         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
1976         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
1977         (output_constant): Handle VIEW_CONVERT_EXPR.
1978         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
1979         Add new case for VIEW_CONVERT_EXPR.
1980
1981 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1982
1983         * a29k/unix.h (ASM_FILE_START): Const-ify.
1984         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
1985         * i386/isc.h (ASM_FILE_START): Const-ify.
1986         * i386/sun386.h (ASM_FILE_START): Likewise.
1987         * m32r.md: Likewise.
1988         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
1989         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
1990         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
1991         * mn10200.md: Initialize variable.
1992
1993 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
1994
1995         * gcse.c (try_replace_reg): Copy RTX before creating note.
1996
1997         * df.h (df_ref_flags): New uenum.
1998         (DF_REF_FLAGS): New macro.
1999         (struct ref): Add field "flags".
2000         * df.c (HANDLE_SUBREG): Remove.
2001         (df_ref_create): Likewise; set flags field of ref.
2002         (df_def_record_1): Strip down read_write subreg; remove
2003         commented out code; set READ_WRITE flag.
2004         (read_modify_subreg_p): New static function.
2005         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
2006         new argument "flags".
2007         (df_insn_refs_record): Update call of df_uses_record.
2008         (df_insn_modify): Avoid #if 0 around comment.
2009         (df_dump): Dump the read/write flag.
2010
2011         * predict.c (propagate_freq): Make cyclic_probability and frequency
2012         volatile
2013
2014         * i386.c (ix86_cc_mode): Accept USE.
2015
2016         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
2017         jump is turned into simplejump.
2018
2019 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2020
2021         * doc/fragments.texi, doc/trouble.texi: Remove links to old
2022         installation chapter.
2023         * doc/gcc.texi: Don't claim that this manual documents
2024         installation.  Mark Installation menu entry as being out of date.
2025
2026 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
2027
2028         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
2029         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
2030         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
2031
2032 2001-11-19  Jason Merrill  <jason@redhat.com>
2033
2034         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
2035         cur_token, not after.
2036
2037         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
2038         Lose ASM_OUTPUT_CONSTRUCTOR.
2039         * system.h: Poison it and INT_ASM_OP.
2040         * c-lang.c (finish_file): Don't check for it.
2041         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
2042
2043 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2044
2045         * mmix.c (mmix_cc1_ignored_option): Const-ify.
2046         (mmix_init_machine_status): Make static to match declaration.
2047         (mmix_unique_section): Const-ify.
2048         (mmix_output_quoted_string): Avoid automatic aggregate
2049         initialization.
2050         (mmix_output_register_setting): Likewise.
2051         (mmix_output_shiftvalue_op_from_str): Likewise.
2052
2053         * mmix.h (mmix_cc1_ignored_option): Const-ify.
2054         (ASM_OUTPUT_BYTE): Fix format specifier warning.
2055         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2056
2057 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2058
2059         PR c/4448
2060         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
2061         name __objc_thread_exit_status so that it matches the
2062         variable defined in objc/thr.h.
2063
2064 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2065
2066         PR bootstrap/4020
2067         * mklibgcc.in: Add missing semi-colons.
2068         * Makefile.in: Same.
2069
2070 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2071
2072         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
2073         after re-laying out decl in incomplete case.
2074         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
2075
2076 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2077
2078         * doc/install-old.texi: Move some sections out to ...
2079         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
2080         ... here.  New files.  Make into chapters rather than sections.
2081         * doc/gcc.texi: Include the new files and add menu entries for
2082         them.
2083         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
2084
2085 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2086
2087         * tree.h (TYPE_ALIGN_OK): New flag.
2088         * emit-rtl.c (set_mem_attributes): Handle it.
2089         * expr.c (emit_single_push_insn): Only set to alias set 0 if
2090         doing sibcall optimization.
2091         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
2092         when make temporary.
2093         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
2094         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
2095
2096         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
2097
2098 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2099
2100         * c-decl.c (c_decode_option): Give deprecation warning for
2101         -traditional.
2102         * doc/invoke.texi (-traditional): Note that this option is
2103         deprecated.
2104
2105 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2106
2107         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
2108         arg to HOST_WIDE_INT, not long.
2109
2110         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
2111         (HAS_INIT_SECTION): Define.
2112         (REAL_ARITHMETIC): Don't undefine.
2113
2114 2001-11-18  Egor Duda  <deo@logos-m.ru>
2115
2116         * config/i386/cygwin.h: Strip leading '*' from name, if any.
2117
2118 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2119
2120         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
2121         * c-common.c: Include diagnostic.h.
2122         (c_common_finish): New.
2123         * c-common.h (c_common_finish): New.
2124         * c-lang.c (LANG_HOOKS_FINISH): Override.
2125         * c-parse.in: Don't include diagnostic.h.
2126         (finish_parse): Remove.
2127         * langhooks.h: Update comments.
2128         * toplev.c (lang_dependent_init): New prototype.
2129         (finalize): New.
2130         (compile_file): Split cleanup code out to finalize.
2131         (lang_dependent_init): Stop if lang_hooks.init fails.
2132         (toplev_main): Update.
2133         * tree.h (finish_parse): Remove.
2134 objc:
2135         * objc-act.c (LANG_HOOKS_FINISH): Override.
2136
2137 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
2138
2139         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
2140         * config/alpha/vms_tramp.asm: New file.
2141         * config/alpha/vms-tramp.asm: Removed.
2142
2143 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2144
2145         * c-common.c (struct disabled_builtin, disabled_builtins,
2146         disable_builtin_function, builtin_function_disabled_p): New.
2147         (builtin_function_2): Check for disabled built-in functions.
2148         * c-common.h (disable_builtin_function): Declare.
2149         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
2150         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
2151         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
2152
2153 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2154
2155         PR target/4606
2156         * config.gcc: Remove reference to va-clipper.h.
2157
2158 2001-11-17  Stan Shebs  <shebs@apple.com>
2159
2160         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
2161         AltiVec-related bitfields.
2162
2163 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2164
2165         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
2166         (mark_eh_region, case ERT_UKNONW): New case.
2167
2168 2001-11-17  Christopher Faylor  <cgf@redhat.com>
2169             Corinna Vinschen  <vinschen@redhat.com>
2170
2171         * config/i386/cygwin.h: Search target specific include directory for
2172         w32api stuff, if appropriate.
2173
2174 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
2175
2176         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
2177
2178 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
2179
2180         * config/rs6000/rs6000.md: Change all ldvx to lvx.
2181
2182 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
2183
2184         * gensupport.c (process_rtx): Don't assume filename is the first
2185         argument of any rtl.
2186
2187 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2188
2189         * vax-protos.h (reg_was_0_p): New prototype.
2190         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
2191         * vax.c (follows_p, reg_was_0_p): New functions.
2192
2193 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2194
2195         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
2196         (casesi1): Likewise.  Define new pattern which arises by simplification
2197         when operand 1 is a constant int.  Correct pattern which arises by
2198         simplification when operand 1 is zero.
2199
2200 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
2201
2202         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
2203         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
2204         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
2205         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
2206         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
2207         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
2208         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
2209         * config/arm/aof.h: Don't include arm.h.
2210         * config/arm/aout.h: Likewise.
2211         * config/arm/coff.h: Don't include semi.h and aout.h.
2212         * config/arm/elf.h: Don't include aout.h.
2213         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
2214         (TARGET_VERSION): Undef before defining.
2215         (ARM_OS_NAME): Likewise
2216         (TARGET_DEFAULT): Likewise
2217         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
2218         * config/arm/pe.h: Don't include arm/coff.h.
2219         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
2220         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
2221         * config/arm/riscix1-1.h: Likewise.
2222         * config/arm/rix-gas.h: Don't include riscix.h.
2223         (DBX_CONTIN_LENGTH): Undef before defining.
2224         * config/arm/semi.h: Don't include aout.h.
2225         * config/arm/semiaof.h: Don't include aof.h.
2226         * config/arm/strongarm-coff.h: Don't include coff.h.
2227         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
2228         * config/arm/vxarm.h: Don't include arm/coff.h.
2229         * config/arm/xscale-coff.h: Don't include coff.h.
2230
2231 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2232
2233         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
2234         emit_cmp_insn.
2235
2236 2001-11-16  Andreas Jaeger  <aj@suse.de>
2237
2238         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
2239         to ....
2240         (fixup_fallthru_exit_predecessor): ... this.
2241         Change callers and prototype.
2242
2243 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
2244
2245         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
2246         hand; don't use gen_setcc_2.
2247         (ix86_expand_builtin): Fix pshufw.
2248         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
2249         case UNORDERED to emit the right assembler instruction.
2250         (mmx_pshufw): Lose operand 2.
2251         (cvtsi2ss): Fix representation.
2252         From Graham Stott:
2253         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
2254
2255 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
2256
2257         * doc/include/linux-and-gnu.texi: Remove.
2258         * doc/gnu.texi: New.
2259         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
2260         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
2261
2262 2001-11-16  Kazu Hirata  <kazu@hxi.com>
2263
2264         * config/a29k/a29k.c: Fix comment formatting.
2265         * config/a29k/a29k.h: Likewise.
2266         * config/arc/arc.c: Likewise.
2267         * config/arc/arc.h: Likewise.
2268         * config/vax/vax.c: Likewise.
2269         * config/vax/vax.h: Likewise.
2270         * config/we32k/we32k.c: Likewise.
2271         * config/we32k/we32k.h: Likewise.
2272
2273 2001-11-16  Jeff Law  <law@redhat.com>
2274
2275         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
2276         creating a new jump insn.
2277
2278 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2279
2280         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
2281         copy misaligned data.
2282         * varasm.c (assemble_variable): Set alignment into MEM when changed.
2283
2284 2001-11-16  Graham Stott  <grahams@redhat.com>
2285
2286         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
2287         OPALIGN type.
2288
2289 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
2290
2291         * except.c: Support for catching a list of types with a single handler
2292         (struct eh_region): Change type and filter to lists for catch regions.
2293         (mark_eh_region): Mark the filter list for GC also.
2294         (expand_start_catch): Always build a list if argument not NULL and
2295         register each type of the list through add_type_for_runtime.
2296         (duplicate_eh_region_1): Change type into type_list for catch regions.
2297         (assign_filter_values): Assign a filter to each type associated with a
2298         catch region. Assign filter for NULL types in a unique entry in the
2299         filter list.
2300         (build_post_landing_pads): Emit compare and jump for each filter of
2301         the list associated with a catch region.
2302         (reachable_next_level): When the type thrown is known, stop the search
2303         as soon as one type within a catch list matches. Also, a handler is
2304         potentially reachable only if at least one of the types it catches
2305         has not been previously caught.
2306         (collect_one_action_chain): Retrieve the filter for a NULL type list
2307         from the first filter list entry. For non NULL type lists, add an
2308         action record for every filter assigned.
2309         * except.h: Reflect changes in comment before expand_start_catch.
2310
2311 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2312
2313         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
2314         BLKmode.
2315
2316 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
2317
2318         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
2319
2320 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
2321
2322         * c-lang.c (finish_file): Don't emit static inline functions if
2323         they weren't referenced.
2324
2325 2001-11-15  Stan Shebs  <shebs@apple.com>
2326
2327         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
2328
2329 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2330
2331         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
2332         call.
2333         * config/i386/i386.md: Likewise.
2334
2335 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2336
2337         * timevar.c (rtl.h): Include so get fancy abort.
2338
2339 2001-11-15  Dale Johannesen  <dalej@apple.com>
2340
2341         * config/darwin.h (SELECT_RTX_SECTION):  Force address
2342         initializers into 'const' section
2343         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
2344         if_then_else to match result, not operands
2345
2346 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2347
2348         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
2349         * emit-rtl.c (change_address): Fix typo in default alignment.
2350         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
2351         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
2352         * rtl.h (REGNO_PTR_FRAME_P): New macro.
2353
2354         * expr.c (store_field): Pass tree instead of max size; callers changed.
2355         Change handling of alignment.
2356         Only copy to_rtx if is TARGET.
2357         (expand_expr_unaligned): Delete; callers now use expand_expr.
2358         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
2359         (expand_assignment): Change handling of alignment.
2360         Only copy to_rtx if was original.
2361         (get_inner_reference): No longer return alginment; callers changed.
2362         (expand_expr, case COMPONENT_REF): Change handling of alignment.
2363         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
2364         (compare_from_rtx): Delete ALIGN parm; all callers changed.
2365         (do_compare_rtx_and_jump): Likewise.
2366         * expr.h: Reflect above changes.
2367         * tree.h: Likewise.
2368         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
2369         to get_inner_reference.
2370         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
2371         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
2372         * optabs.c: Likewise.
2373         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
2374         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
2375         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
2376         compare_rtx_and_jump, and emit_cmp_jump_insns.
2377         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
2378         * function.c (assign_stack_temp_for_type): No longer static.
2379         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
2380         (prepare_cmp_insn): Delete declaration.
2381         * rtl.h (assign_stack_temp_for_type): Add declaration.
2382         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
2383         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
2384         * config/i386/i386.c,config/mips/mips.c: Likewise.
2385         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
2386         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
2387
2388 2001-11-15  Stan Shebs  <shebs@apple.com>
2389
2390         * config/rs6000/rs6000.h: Fix a comment typo.
2391         (RTX_COSTS): Sort processor versions better.
2392
2393 2001-11-15  Kazu Hirata  <kazu@hxi.com>
2394
2395         * config/h8300/h8300.md: Fix insn length of bit insns.
2396
2397 2001-11-15  Jason Merrill  <jason@redhat.com>
2398
2399         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
2400         DIEs if there were errors in the source.
2401
2402         * config/alpha/alpha-interix.h, config/alpha/elf.h,
2403         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
2404         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
2405         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
2406         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
2407         config/elfos.h, config/lynx.h, config/netware.h,
2408         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
2409         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
2410         uses to use ASM_LONG.
2411
2412 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
2413
2414         * gensupport.c  process_include : Change call to alloca to
2415         xmalloc.
2416
2417 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
2418
2419         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
2420         templates.
2421
2422 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2423
2424         * final.c (alter_subreg): If simplify_subreg can't do anything,
2425         handle REG ourselves and abort for others.
2426
2427 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
2428
2429         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
2430         routines.
2431
2432 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2433
2434         * fix-header.c (read_scan_file): Update.
2435
2436 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2437
2438         * toplev.c (toplev_main): Don't start timing until after
2439         command-line options are parsed.
2440
2441 2001-11-15  Andreas Schwab  <schwab@suse.de>
2442
2443         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
2444         makefile frag, not host makefile frag.
2445         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
2446         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
2447         used.
2448         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
2449         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
2450         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
2451         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
2452         * config/i386/t-dgux (STMP_FIXPROTO): Define.
2453         * config/x-interix: Don't define STMP_FIXPROTO and
2454         FIXPROTO_DEFINES.
2455         * config/t-interix: New file, define STMP_FIXPROTO.
2456         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
2457         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
2458         * config/t-svr4 (FIXPROTO_DEFINES): Define.
2459         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
2460         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
2461         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
2462         * config/m68k/t-hp3200: Renamed from x-hp3200.
2463         * config/i370/t-oe: Renamed from x-oe.
2464         * config/mips/t-iris: Renamed from x-iris.
2465         * config/pa/t-bsd: Renamed from x-pa.
2466         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
2467         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
2468         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
2469         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
2470         config/rs6000/x-cygwin: Remove files.
2471
2472         * configure.in: Check for target objdump and use that in eh_frame
2473         optimization test.
2474         * configure: Regenerated.
2475
2476 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
2477
2478         * jump.c (squeeze_notes): Return true if no real insns were found.
2479         * rtl.h (squeeze_notes): Adjust prototype.
2480         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
2481         squeeze_notes finds no real instructions, abort.
2482         (merge_blocks_move_successor_nojumps): Likewise.
2483         * loop.c (find_and_verify_loops): Likewise.
2484         * stmt.c (expand_end_case): Likewise.
2485         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
2486         find any real instructions.
2487
2488         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
2489
2490         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
2491         conditional jump, request updating life into for the block
2492         containing it.  Fix a typo which prevented life info update.
2493         Clear blocks bitmap before using it.
2494
2495 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2496
2497         * c-common.c: Include c-lex.h.
2498         (c_common_lang_init): Change prototype.  Call init_c_lex and
2499         init_pragma from here.
2500         * c-common.h (c_common_lang_init): Change prototype.
2501         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
2502         * c-lang.c (c_init): Change prototype.  Update.
2503         (c_init_options): Update.
2504         * c-lex.c (cpp_filename): Remove.
2505         (init_c_lex): Update.  Read the main file, and get the original
2506         file name.
2507         (yyparse): Finish the command line options.
2508         * c-parse.in (c_parse_init): Call init_reswords here.
2509         (init_parse): Remove.
2510         * c-tree.h (c_init_decl_processing): New.
2511         * cpphash.c (_cpp_init_hashtable): After initializing the hash
2512         table, populate it.
2513         * cppinit.c (read_original_filename, cpp_finish_options): New.
2514         (cpp_create_reader): New prototype. Defer hash table initialization.
2515         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
2516         hash table.  Get the original filename.
2517         * cpplib.h (cpp_create_reader): Update.
2518         (cpp_start_read): Remove.
2519         (cpp_read_main_file, cpp_finish_options): New.
2520         * cppmain.c (main, do_preprocessing): Update.
2521         * langhooks.h (struct langhooks): Update init prototype.
2522         * toplev.c (general_init, parse_options_and_default_flags,
2523         process_options, lang_indpendent_init, lang_dependent_init,
2524         init_asm_output): New; perform the bulk of initialization.
2525         (compile_file): Move most of initialization to above functions.
2526         (debug_hooks): Initialize statically.
2527         (set_Wunused): Relocate.
2528         (toplev_main): Move most of initialization to other init functions.
2529         Have a clear logic flow.
2530         * tree.h (init_parse, init_decl_processing): Remove.
2531 objc:
2532         * objc-act.c (objc_init): Update prototype, combine with old
2533         init_parse.
2534         (objc_init_options): Update.
2535
2536
2537 2001-11-15  Andreas Jaeger  <aj@suse.de>
2538
2539         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
2540         portability.
2541         * basic-block.h: Adjust prototype.
2542
2543 2001-11-15  Kazu Hirata  <kazu@hxi.com>
2544
2545         * config/rs6000/aix31.h: Fix comment formatting.
2546         * config/rs6000/beos.h: Likewise.
2547         * config/rs6000/darwin.h: Likewise.
2548         * config/rs6000/eabi.asm: Likewise.
2549         * config/rs6000/linux.h: Likewise.
2550         * config/rs6000/linux64.h: Likewise.
2551         * config/rs6000/lynx.h: Likewise.
2552         * config/rs6000/netbsd.h: Likewise.
2553         * config/rs6000/rs6000.c: Likewise.
2554         * config/rs6000/rs6000.h: Likewise.
2555         * config/rs6000/rs6000.md: Likewise.
2556         * config/rs6000/sol2.h: Likewise.
2557         * config/rs6000/tramp.asm: Likewise.
2558         * config/rs6000/xcoff.h: Likewise.
2559         * config/rs6000/xm-beos.h: Likewise.
2560
2561 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
2562
2563         * rtl.def (INCLUDE) : Define.
2564         * gensupport.c  (init_include_reader, process_include,
2565         save_string) :  New functions to implement an include facility
2566         in .md files.
2567         * gensupport.h : Add prototype for init_md_reader_args.
2568         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
2569         genextract.c genflags.c genopinit.c genoutput.c
2570         genpeep.c genrecog.c: Change call to init_md_reader to
2571         init_md_reader_args.
2572         * md.texi: Document (include "path") and -I directives for RTL
2573         generation tools.
2574
2575 2001-11-14  DJ Delorie  <dj@redhat.com>
2576
2577         * integrate.c (get_hard_reg_initial_reg): New.
2578         * integrate.h (get_hard_reg_initial_reg): Prototype.
2579         * local-alloc.c (block_alloc): Don't tie pseudos that
2580         represent call-saved hard regs' initial values.
2581
2582 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2583
2584         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
2585         recursion.
2586
2587 2001-11-14  Roger Sayle <roger@eyesopen.com>
2588
2589         * fold-const.c (fold): Optimize strlen comparisons against zero.
2590
2591 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
2592
2593         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
2594         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
2595         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
2596         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
2597         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
2598         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
2599         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
2600         Include various CPU headers via tm_file.  a.out based platforms now
2601         properly include sparc/aout.h.  sol2.h usage now implies including
2602         elfos.h, svr4.h, and sparc/sysv4.h.
2603         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
2604         Also define to '1'.
2605         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
2606         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
2607         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
2608         Remove.  They are a.out specific and belong in sparc/aout.h.
2609         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
2610         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2611         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
2612         sparc/sparc.h.
2613         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
2614         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
2615         Moved here from sparc/sparc.h.
2616         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
2617         defining.
2618         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
2619         * config/sparc/lynx.h:  Don't include lynx.h.
2620         (SELECT_SECTION): Do not undef.
2621         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
2622         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
2623         and sparc/sysv4.h.
2624         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
2625         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
2626         sparc/aout.h now.
2627         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
2628         Don't undef, there is no need.
2629         * config/sparc/splet.h (CPP_PREDEFINES): Define.
2630         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
2631         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
2632         Don't include sparc/sparc.h.
2633         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
2634         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
2635         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
2636         elfos.h and svr4.h.
2637         (TARGET_VERSION): Define.
2638         * config/sparc/vxsim.h (TARGET_VERSION): Define.
2639
2640 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
2641
2642         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
2643         (cfg_layout_finalize): Use it.
2644         * bb-reorder.c (HAVE_epilogue): Remove.
2645         (make_reorder_chain): Do not care special placement of
2646         last basic block.
2647
2648         * predict.c (expected_value_to_br_prob): Delete the note
2649         once transformed.
2650
2651         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
2652         measure integration time separately.
2653
2654 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2655
2656         * function.c (struct temp_slot): ALIGN now unsigned.
2657
2658 2001-11-14  Kazu Hirata  <kazu@hxi.com>
2659
2660         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
2661         * config/dsp16xx/dsp16xx.h: Likewise.
2662         * config/dsp16xx/dsp16xx.md: Likewise.
2663
2664 2001-11-14  Kazu Hirata  <kazu@hxi.com>
2665
2666         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
2667         that deals with 7-bit shifts in HImode.
2668
2669 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
2670
2671         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
2672         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
2673         (final_scan_insn): Update call of alter_subreg.
2674         (cleanup_subreg_operands): Likewise.
2675         (alter_subreg): Rewrite using simplify_subreg.
2676         (output_address, output_operand): Update call of alter_subreg.
2677         * output.h (alter_subreg): Update prototype.
2678         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
2679         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
2680         * Makefile.in (final.o): Add dependency on expr.h
2681
2682 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2683
2684         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
2685
2686 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
2687
2688         * doc/install.texi (sparc-*-linux*): Mention requirements for
2689         binutils and glibc.
2690
2691 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
2692
2693         * Makefile.in (POD2MAN): Don't include --section=1.
2694         (manext): Rename to man1ext.  All users changed.
2695         (man7ext): New.
2696         (man7dir): New.
2697         (generated-manpages): Also depend on $(docdir)/gfdl.7,
2698         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
2699         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
2700         --section=1 in calls to $(POD2MAN).
2701         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
2702         (maintainer-clean, install, uninstall): Handle the new man pages.
2703         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
2704         (installdirs): Create man7dir.
2705         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
2706         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
2707         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
2708         the SEE ALSO man page section.
2709         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
2710         and fsf-funding(7) in the SEE ALSO man page section.
2711         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
2712         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
2713         * doc/include/fdl.texi, doc/include/funding.texi,
2714         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
2715         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
2716
2717 2001-11-13  Richard Henderson  <rth@redhat.com>
2718
2719         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
2720         as appropriate for the artificial decl.
2721
2722 2001-11-13  Richard Henderson  <rth@redhat.com>
2723
2724         * loop.c (combine_movables): Turn off combination until
2725         move_movables validation bugs are fixed.
2726
2727 2001-11-13  DJ Delorie  <dj@redhat.com>
2728
2729         * config.gcc (powerpc|rs6000): Set default cpp options based
2730         on --with-cpu settings.
2731         * config/rs6000/softfloat.h: New.
2732
2733 2001-11-13  Kazu Hirata  <kazu@hxi.com>
2734
2735         * config/h8300/h8300.c (shift_alg_si): Use special code for
2736         25-bit shifts on H8/S.
2737         (get_shift_alg): Generate special code for 25-bit shifts on
2738         H8/S.
2739
2740 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
2741
2742         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
2743         (adjust_automodify_address_1): New.
2744         * expr.h (adjust_address, adjust_address_nv): Adjust.
2745         (adjust_automodify_address, adjust_automodify_address_nv): Define.
2746         (adjust_address_1): Update prototype.
2747         (adjust_automodify_address_1): Add prototype.
2748         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
2749         (store_by_pieces_2): Likewise.
2750
2751 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2752
2753         * Makefile.in (explow.o): Now depends on ggc.h.
2754         * explow.c (ggc.h): Include.
2755         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
2756
2757         * Makefile.in (expr.o): Depends on insn-attr.h.
2758         * expr.c (insn-attr.h): New include.
2759         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
2760         of MEM.
2761         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
2762         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
2763         clean up related usage in ADDR_EXPR.
2764         (expand_expr_unaligned): Likewise.
2765
2766         * emit-rtl.c (change_address): Fix typo in alias setting.
2767
2768 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2769
2770         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
2771
2772 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2773
2774         PR bootstrap/3451
2775         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
2776         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
2777
2778 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
2779
2780         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
2781         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
2782         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
2783         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
2784         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
2785         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
2786         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
2787         sparc64-*-linux*):  Include various CPU headers via tm_file.
2788         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
2789         (SELECT_SECTION): Likewise.
2790         (SELECT_RTX_SECTION): Likewise.
2791         * config/sparc/sparc_bi.h: New file.
2792         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
2793         * config/sparc/linux-aout.h: Likewise.
2794         * config/sparc/linux.h: Don't include sparc/sysv4.h.
2795         * config/sparc/linux64.h: Likewise.
2796         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
2797         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
2798         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
2799         and dbxcoff.h
2800         (ASM_OUTPUT_IDENT): Do not #undef.
2801         (SELECT_SECTION): Likewise.
2802         (SELECT_RTX_SECTION): Likewise.
2803         * config/sparc/liteelf.h: Don't include gofast.h.
2804         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
2805         * config/sparc/lynx.h: Don't include sparc/sparc.h.
2806         * config/sparc/pbd.h: Likewise.
2807         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
2808         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
2809         * config/sparc/rtemself.h: Don't include rtems.h.
2810         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
2811         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
2812         sparc_bi.h instead.
2813         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
2814         * config/sparc/sol2.h: Include sparc/sparc.h directly.
2815         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
2816         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
2817         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
2818         * config/sparc/sp86x-elf.h: Don't include gofast.h.
2819         * config/sparc/splet.h: Don't include sparc/aout.h.
2820         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
2821         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
2822         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
2823         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
2824         * config/sparc/vxsparc64.h: Don't include gofast.h.
2825         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
2826
2827 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2828
2829         * doc/standards.texi: Mention C99 TC1.
2830
2831 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2832
2833         * mips-protos.h (mips_output_conditional_branch): Const-ify.
2834         * mips.c (mips_output_conditional_branch): Likewise.
2835
2836 2001-11-12  Kazu Hirata  <kazu@hxi.com>
2837
2838         * config/h8300/h8300.c (shift_alg_si): Use special code for
2839         15-bit logical shifts and 31-bit logical shifts.
2840         (get_shift_alg): Generate special code for 15-bit and 31-bit
2841         logical shifts.
2842
2843 2001-11-12  Kazu Hirata  <kazu@hxi.com>
2844
2845         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
2846         doing 6-bit logical shifts on H8/S.
2847         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
2848         (get_shift_alg): Generate special code for 21-bit shifts on
2849         H8/S.
2850
2851 2001-11-12  Kazu Hirata  <kazu@hxi.com>
2852
2853         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
2854         label.
2855
2856 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2857
2858         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
2859         if both size and offset known.
2860
2861 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
2862
2863         * config/ia64/freebsd.h: Fix misspelling.
2864
2865 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
2866
2867         * doc/gcc.texi: Move several chapters out to ...
2868         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
2869         doc/include/linux-and-gnu.texi, doc/interface.texi,
2870         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
2871         ... here.  New files.
2872         * doc/gcc.texi, doc/contrib.texi: Move section headings into
2873         contrib.texi.
2874         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
2875
2876 2001-11-12  Kazu Hirata  <kazu@hxi.com>
2877
2878         * config/alpha/alpha-interix.h: Fix comment formatting.
2879         * config/alpha/alpha.c: Likewise.
2880         * config/alpha/alpha.h: Likewise.
2881         * config/alpha/alpha32.h: Likewise.
2882         * config/alpha/freebsd.h: Likewise.
2883         * config/alpha/unicosmk.h: Likewise.
2884         * config/alpha/vms.h: Likewise.
2885
2886 2001-11-12  Kazu Hirata  <kazu@hxi.com>
2887
2888         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2889
2890 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
2891
2892         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
2893         numbers.
2894
2895 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2896
2897         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
2898         from type.
2899         (replace_equiv_address): Call update_temp_slot_address.
2900
2901         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
2902
2903         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
2904
2905 2001-11-12  Kazu Hirata  <kazu@hxi.com>
2906
2907         * config/h8300/h8300.c (shift_alg_qi): New.
2908         (shift_alg_hi): Likewise.
2909         (shift_alg_si): Likewise.
2910         (get_shift_alg): Change the type of count to unsigned int.
2911         Use the tables.
2912
2913 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
2914
2915         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
2916         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
2917         to decide whether to defer a function.
2918         (finish_function): Adjust.
2919         (c_expand_deferred_function): New function.
2920         * c-lang.c (deferred_fns): New variable.
2921         (c_init): Initialize it, and mark it as a root.
2922         (defer_fn): New function.
2923         (finish_file): Expand all deferred functions.
2924         * c-tree.h (defer_fn): Declare.
2925         (c_expand_deferred_function): Likewise.
2926         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
2927         * objc-act.c (deferred_fns): New variable.
2928         (objc_init): Initialize it, and mark it as a root.
2929         (defer_fn): New function.
2930         (finish_file): Expand all deferred functions.
2931
2932 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2933
2934         * alpha.c (unicosmk_special_name): Prototype.
2935         (unicosmk_ssib_name): Delete unused variable.
2936         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
2937         * alpha/vms.h (PREFIX): Undef before defining.
2938         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
2939         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
2940         controlling usage.  Const-ify.
2941         (alias_number): Delete unused variable.
2942         * m32r/m32r.c (m32r_sched_init): Add missing argument.
2943         (m32r_expand_block_move): Fix uninitialized warnings.
2944         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
2945         always true' warnings.
2946         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
2947         * sh/sh.c: Include "integrate.h".
2948         (output_far_jump): Fix uninitialized warning.
2949         * final.c (shorten_branches): Avoid automatic aggregate
2950         initialization.
2951         * integrate.c (subst_constants): Likewise.
2952
2953 2001-11-11  Kazu Hirata  <kazu@hxi.com>
2954
2955         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
2956         (get_shift_alg): Remove redundant code.
2957
2958 2001-11-11  Kazu Hirata  <kazu@hxi.com>
2959
2960         * config/pa/milli64.S: Fix comment formatting.
2961         * config/pa/pa-64.h: Likewise.
2962         * config/pa/pa-linux.h: Likewise.
2963         * config/pa/pa-protos.h: Likewise.
2964         * config/pa/pa.c: Likewise.
2965         * config/pa/pa.h: Likewise.
2966         * config/pa/pa32-linux.h: Likewise.
2967         * config/pa/pa32-regs.h: Likewise.
2968         * config/pa/pa64-hpux.h: Likewise.
2969         * config/pa/pa64-regs.h: Likewise.
2970         * config/pa/som.h: Likewise.
2971
2972 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
2973
2974         * doc/gcc.texi: Move several chapters out to ...
2975         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
2976         doc/service.texi, doc/standards.texi, doc/trouble.texi,
2977         doc/vms.texi: ... here.  New files.
2978         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
2979
2980 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
2981
2982         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
2983         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
2984         collect2.c, combine.c, config.in, configure, configure.in,
2985         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
2986         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
2987         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
2988         spelling errors.
2989
2990 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2991
2992         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
2993         Adjust operand number in CONST_DOUBLE.
2994
2995         * expmed.c (extract_bit_field): No longer pass in alignment.
2996         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
2997         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
2998         Likewise.
2999         * expr.c (store_constructor, store_constructor_field): Likewise.
3000         (store_field, emit_group_load, emit_group_store): Likewise.
3001         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
3002         (store_bit_field, extract_bit_field): Likewise.
3003         * calls.c, expr.c, function.c: Change calls to above functions.
3004         * ifcvt.c, stmt.c: Likewise.
3005
3006         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
3007         constant and one is on frame.
3008         If know memref offset, adjust size from decl.
3009
3010 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3011
3012         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
3013         format specifier warning.
3014         * convex.h (ASM_OUTPUT_BYTE): Likewise.
3015         * elfos.h (ALIGN_ASM_OP): Undef before defining.
3016         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
3017         warning.
3018         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3019         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3020         * i386-interix.h (gen_stdcall_suffix): Prototype.
3021         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3022         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
3023         ASM_OUTPUT_LONG_DOUBLE): Likewise.
3024         * i386/interix.c (gen_stdcall_suffix): Const-ify.
3025         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3026         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
3027         specifier warnings.
3028         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3029         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
3030         ASM_OUTPUT_LONG_DOUBLE): Likewise.
3031         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3032         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3033         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3034         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3035         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
3036         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
3037         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3038         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
3039         Likewise.
3040         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
3041         Likewise.
3042         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
3043         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3044         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
3045         Likewise.
3046         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
3047         Likewise.
3048         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
3049         Likewise.
3050         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
3051         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3052         * m68k/news.h (PRINT_OPERAND): Likewise.
3053         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
3054         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
3055         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3056         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
3057         definition.
3058         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3059         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
3060         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
3061         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3062         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
3063         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
3064         PRINT_OPERAND): Likewise.
3065         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
3066         Likewise.
3067         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
3068         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
3069         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
3070         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
3071         * mips.c (mips_output_external_libcall): Mark parameter with
3072         ATTRIBUTE_UNUSED.
3073         (mips_asm_file_start): Move variable into the scope where it's
3074         used.
3075         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
3076         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
3077         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
3078         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3079         * ns32k.c (print_operand): Likewise.
3080         * pa.c (print_operand, output_div_insn): Likewise.
3081         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
3082         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
3083         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
3084         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
3085         specifier warnings.
3086         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3087         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3088         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
3089         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
3090         specifier warnings.
3091         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3092
3093         * sdbout.c (sdbout_end_epilogue): Mark parameter with
3094         ATTRIBUTE_UNUSED.
3095         * varasm.c (assemble_global): Likewise.
3096
3097 2001-11-11  H.J. Lu <hjl@gnu.org>
3098
3099         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
3100
3101 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
3102
3103         * final.c (*_MAX_SKIP): Use *_max_skip variables.
3104         * flags.h (align_loops_max_skip, align_jumps_max_skip,
3105         align_labels_max_skip): New global variables.
3106         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
3107         align_labels_max_skip): New global variables.
3108         (toplev_main): Set new variables.
3109         * i386.c (override_options): Set max_skip values.
3110
3111 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
3112
3113         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
3114         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
3115         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
3116         don't print an @fptr for labels either.
3117         (xstormy16_output_addr_vec): Don't print @fptr here.
3118         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
3119
3120 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
3121
3122         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
3123         an ANSI/ISO definitino.
3124         (ssa_const_prop): Likewise.
3125
3126 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
3127
3128         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
3129         altivec registers.
3130
3131 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3132
3133         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
3134         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
3135         * cppmain.c (general_init): Call hex_init.
3136         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
3137
3138         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
3139
3140         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
3141         of dgux.c:output_file_start().
3142
3143         * i386/dgux.c: Delete file.
3144
3145 2001-11-09  Richard Henderson  <rth@redhat.com>
3146
3147         * config/alpha/alpha.c (decl_in_text_section): New.
3148         (current_file_function_operand): Use it.
3149         (alpha_encode_section_info, alpha_end_function): Likewise.
3150
3151 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
3152
3153         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
3154         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
3155         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
3156         so OS specific files and use CPP_PREDEFINES for their needs.
3157         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
3158         target headers to tm_file.
3159         * config/ia64/aix.h (TARGET_VERSION): Likewise.
3160         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
3161         * config/ia64/linux.h (TARGET_VERSION): Likewise.
3162         (FUNCTION_PROFILER): Remove.
3163         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
3164         version in config/ia64/linux.h.
3165         * config/ia64/freebsd.h: New file.
3166         * config/freebsd.h: Tidy up.
3167         (_USING_CONFIG_FREEBSD): Define.
3168         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
3169         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
3170         (FBSD_STARTFILE_SPEC): Likewise.
3171         (FBSD_ENDFILE_SPEC): Likewise.
3172         (FBSD_LIB_SPEC): Likewise.
3173         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
3174         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
3175         set an ELF-improper one.
3176
3177 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3178
3179         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
3180         constant can be loaded in a single instruction to a register.  When
3181         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
3182         depdi for insertion of most significant 32-bits on 64-bit hosts.
3183         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
3184         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
3185         * pa.md: New addmove pattern for adding constant_int to HImode
3186         register and moving result to HImode register.  Remove HImode HIGH
3187         and LO_SUM patterns.
3188
3189 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3190
3191         * Makefile.in: Update.
3192         * c-decl.c (print_lang_decl, print_lang_type): Remove.
3193         (print_lang_identifier): Rename c_print_identifier.
3194         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
3195         (print_lang_statistics, lang_print_xnode): Remove.
3196         * c-parse.in (set_yydebug): Rename c_set_yydebug.
3197         * c-tree.h (c_set_yydebug, c_print_identifier): New.
3198         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
3199         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
3200         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
3201         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
3202         (LANG_HOOKS_INITIALIZER): Update.
3203         * langhooks.h (struct lang_hooks): New members.
3204         (lang_print_tree_hook): New.
3205         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
3206         * print-tree.c: Include langhooks.h.
3207         (print_node): Update.
3208         * toplev.c (decode_d_option): Update.
3209         * tree.c: Include langhooks.h.
3210         (dump_tree_statistics): Update.
3211         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
3212         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
3213 objc:
3214         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
3215         LANG_HOOKS_SET_YYDEBUG): Override.
3216         (lang_print_xnode, print_lang_statistics): Remove.
3217
3218 2001-11-09  Richard Henderson  <rth@redhat.com>
3219
3220         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
3221         on the symbol string.
3222
3223 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3224
3225         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
3226         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
3227         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
3228
3229         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
3230
3231         * tlink.c (recompile_files): Copy strings passed to `putenv'.
3232
3233 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
3234
3235         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
3236         (TYPE_READONLY): Likewise.
3237
3238         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
3239
3240         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
3241         don't pass --gdwarf2 to the assembler if the compiler will also
3242         provide debug info.
3243
3244         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
3245         Don't change INDEX.
3246
3247 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3248
3249         * alias.c (nonoverlapping_memrefs_p): New function.
3250         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
3251
3252         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
3253
3254 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
3255
3256         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
3257         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
3258         generating altivec code.
3259         (FIXED_REGISTERS): VRSAVE is fixed.
3260         (CALL_USED_REGISTERS): VRSAVE is call used.
3261
3262 2001-11-09  Jason Eckhardt  <jle@rice.edu>
3263
3264         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
3265         code the branch target as ".+16/.+12", but rather use labels.
3266
3267 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
3268
3269         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
3270         to work around limitations of certain versions of GAS.
3271
3272         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
3273         (muldi3): Update due to SUBREG_BYTE changes.
3274         (casesi): Similarly.
3275
3276 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
3277
3278         * doc/invoke.texi: Remove comment referring to -xf77-version.
3279
3280 2001-11-09  Kazu Hirata  <kazu@hxi.com>
3281
3282         * config/convex/convex.c: Fix comment formatting.
3283         * config/convex/convex.h: Likewise.
3284
3285 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
3286
3287         * Makefile.in (.po.pox): Look both in srcdir and builddir
3288         for $(PACKAGE).pot.
3289         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
3290         to the source directory.
3291
3292 2001-11-09 Ben Elliston  <bje@redhat.com>
3293            Michael Meissner  <meissner@redhat.com>
3294            Andrew MacLeod  <amacleod@redhat.com>
3295            Richard Henderson  <rth@redhat.com>
3296            Nick Clifton  <nickc@redhat.com>
3297            Catherine Moore  <clm@redhat.com>
3298
3299         * m32r.c: Add support for m32rx processor.
3300         * m32r.h: Ditto.
3301         * m32r.md: Ditto.
3302         * t-m32r: Ditto.
3303         * m32r-protos.h: Add prototypes for m32rx functions.
3304         * doc/invoke.texi: Document -m32rx option.
3305
3306 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
3307
3308         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
3309         or after reload.
3310
3311 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3312
3313         * doc/install.texi2html: Use $MAKEINFO --no-split.
3314
3315 2001-11-09  Andreas Schwab  <schwab@suse.de>
3316
3317         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
3318         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
3319         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3320         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
3321         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
3322
3323 2001-11-09  H.J. Lu <hjl@gnu.org>
3324
3325         * config/mips/mips.c (mips_output_function_prologues): Cast
3326         `tsize' to long for output.
3327
3328 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3329
3330         * c-lang.c (LANG_HOOKS_NAME): New.
3331         (lang_hooks): Constify.
3332         (c_init_options): Update.
3333         (lang_identify): Remove.
3334         * c-parse.in (language_string): Remove.
3335         * dbxout.c: Include langhooks.h.
3336         (dbxout_symbol_location): Update.
3337         * dwarf2out.c: Include langhooks.h.
3338         (gen_compile_unit_die): Update.
3339         * dwarfout.c: Include langhooks.h.
3340         (prototyped_attribute, output_compile_unit_die): Update.
3341         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
3342         (LANG_HOOKS_INITIALIZER): Update.
3343         * langhooks.h (struct lang_hooks): New members.  Constify.
3344         * stringpool.c: Don't include toplev.h.
3345         (set_identifier_size): Remove.
3346         * toplev.c (toplev_main): Initialize identifier size.
3347         (print_version): Update.
3348         * tree.h (language_string, init_lex, lang_identify,
3349         set_identifier_size): Remove.
3350         * Makefile.in: Update dependencies.
3351         * config/darwin.c: Include langhooks.h.
3352         (func_name_maybe_scoped): Update.
3353         * config/darwin.h (ASM_END_FILE): Update.
3354         * config/nextstep.h (ASM_END_FILE): Update.
3355         * config/nextstep21.h (ASM_END_FILE): Update.
3356         * config/i386/sun386.h (ASM_END_FILE): Update.
3357         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
3358         (rs6000_output_function_epilogue): Update.
3359 objc:
3360         * objc-act.c (LANG_HOOKS_NAME): Override.
3361         (struct lang_hooks): Constify.
3362         (objc_init_options): Update.
3363         (lang_identify): Remove.
3364
3365 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
3366
3367         * fold-const.c (lshift_double): Honor PREC.
3368         (rshift_double): Likewise.
3369
3370 2001-11-08  Kazu Hirata  <kazu@hxi.com>
3371
3372         * config/1750a/1750a.c: Fix comment formatting.
3373         * config/1750a/1750a.h: Likewise.
3374
3375 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
3376
3377         * configure.in (--enable-languages): Be more permissive about
3378         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
3379         * configure: Regenerated.
3380
3381 2001-11-08  Richard Henderson  <rth@redhat.com>
3382
3383         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
3384
3385 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
3386
3387         * config.gcc: Rename stormy16 to xstormy16.
3388         * config/stormy16/stormy-abi: Likewise.
3389         * config/stormy16/stormy16-protos.h: Likewise.
3390         * config/stormy16/stormy16.c: Likewise.
3391         * config/stormy16/stormy16.h: Likewise.
3392         * config/stormy16/stormy16.md: Likewise.
3393
3394 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
3395
3396         * tree.h (TYPE_VOLATILE): Add enable-checking code.
3397         (TYPE_READONLY): Likewise.
3398
3399 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3400
3401         * reload1.c (reload): Don't delete equiv insn if can throw.
3402
3403         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
3404         (clear_storage): Likewise, for OBJECT.
3405
3406 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
3407
3408         * pa.c (emit_move_sequence): Fix SUBREG expression to
3409         use proper byte offset when extending a constant from
3410         SImode to DImode.
3411
3412 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
3413
3414         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
3415         which cannot throw.
3416
3417 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3418
3419         * explow.c (convert_memory_address, case SUBREG): Only return
3420         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
3421
3422 2001-11-08  Richard Henderson  <rth@redhat.com>
3423
3424         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
3425         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
3426         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
3427
3428 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
3429
3430         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
3431
3432 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
3433
3434         * dwarf2out.c (debug_str_hash): New.
3435         (struct indirect_string_node): New.
3436         (struct dw_val_struct): Change type of val_str to it.
3437         (DEBUG_STR_SECTION_FLAGS): Define.
3438         (add_AT_string): Push string into hashtable, increment reference
3439         counter.
3440         (AT_string): Return string from ht_identifier.
3441         (AT_string_form): New.
3442         (free_AT): For dw_val_class_str, just decrement reference counter.
3443         (size_of_string): Remove.
3444         (size_of_die): Use AT_string_form to decide what size the string
3445         occupies in DIE.
3446         (size_of_pubnames): Use strlen instead of size_of_string.
3447         (value_format): Use AT_string_form for dw_val_class_str.
3448         (output_die): Output DW_FORM_strp strings using
3449         dw2_asm_output_offset.
3450         (indirect_string_alloc, output_indirect_string): New.
3451         (dwarf2out_finish): Emit .debug_str strings if there are any.
3452
3453 2001-11-08  Andreas Franck  <afranck@gmx.de>
3454
3455         * configure.in: Add AC_ARG_PROGRAM to support program name
3456         transformation with --program-prefix, --program-suffix and
3457         --program-transform-name.
3458         * configure: Regenerated.
3459         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
3460         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
3461         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
3462         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
3463         program_transform_name the way suggested by autoconf.
3464         (GCC_TARGET_INSTALL_NAME): Define.
3465         (install-driver): Use the transformed target alias name.
3466
3467 2001-11-08  Richard Henderson  <rth@redhat.com>
3468
3469         * config/mips/mips.c (save_restore_insns): Remove GP from the
3470         restore registers mask early instead of special casing it inside
3471         the loop.
3472
3473 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3474
3475         * cp/decl.c (shadow_warning): New function.
3476         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
3477         and an error when a block scope decl shadows a parameter.
3478
3479 2001-11-08  Richard Henderson  <rth@redhat.com>
3480
3481         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
3482         case as well.
3483
3484 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3485
3486         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
3487         to implement floating negation on processors prior to PA 2.0.
3488
3489 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
3490
3491         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
3492         (USE_LINKONCE_INDIRECT): Define.
3493         (dw2_output_indirect_constant_1): Try to output indirect constants
3494         into linkonce sections if possible.
3495         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
3496         (dw2_output_indirect_constants): Likewise.
3497
3498 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
3499
3500         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
3501
3502 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3503
3504         * c-decl.c (pushdecl): Remove file and line.
3505         * c-typeck.c (pop_init_level): Remove size.
3506
3507 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
3508
3509         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
3510         for rs6000.
3511
3512         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
3513         (TARGET_ALTIVEC): New.
3514         (TARGET_SWITCHES): Add altivec.
3515         (FIRST_PSEUDO_REGISTER): Change to 109.
3516         (CALL_USED_REGISTERS): Same.
3517         (FIRST_ALTIVEC_REGNO): New.
3518         (LAST_ALTIVEC_REGNO): New.
3519         (ALTIVEC_REGNO_P): New.
3520         (UNITS_PER_ALTIVEC_WORD): New.
3521         (ALTIVEC_VECTOR_MODE): New.
3522         (FIXED_REGISTERS): Add altivec registers.
3523         (REG_ALLOC_ORDER): Same.
3524         (HARD_REGNO_NREGS): Adjust for altivec registers.
3525         (HARD_REGNO_MODE_OK): Same.
3526         (MODES_TIEABLE_P): Same.
3527         (REGISTER_MOVE_COST): Same.
3528         (REGNO_REG_CLASS): Same.
3529         (reg_class): Add ALTIVEC_REGS.
3530         (REG_CLASS_NAMES): Same.
3531         (REG_CLASS_CONTENTS): Same.
3532         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
3533         (ALTIVEC_ARG_RETURN): New.
3534         (FUNCTION_VALUE): Handle VECTOR_TYPE.
3535         (LIBCALL_VALUE): Handle altivec vector modes.
3536         (VECTOR_MODE_SUPPORTED_P): New.
3537         (ALTIVEC_ARG_MIN_REG): New.
3538         (ALTIVEC_ARG_MAX_REG): New.
3539         (ALTIVEC_ARG_NUM_REG): New.
3540         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
3541         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
3542         (REGISTER_NAMES): Add altivec regs.
3543         (DEBUG_REGISTER_NAMES): Same.
3544         (ADDITIONAL_REGISTER_NAMES): Same.
3545         (rs6000_builtins): New.
3546         (MD_EXPAND_BUILTIN): New.
3547         (MD_INIT_BUILTINS): New.
3548         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
3549         for AltiVec instructions.
3550         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
3551         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
3552         registers.
3553         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
3554         (TARGET_SWITCHES): Add no-altivec.
3555         (DATA_ALIGNMENT): Align vectors to 128 bits.
3556         (TARGET_OPTIONS): Add abi= option.
3557         Add rs6000_abi_string extern.
3558         (LOCAL_ALIGNMENT): New.
3559         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
3560         (MASK_ALTIVEC_ABI): New.
3561         (TARGET_ALTIVEC_ABI): New.
3562         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
3563         call-saved.
3564         (STACK_BOUNDARY): Adjust for altivec.
3565         (BIGGEST_ALIGNMENT): Same.
3566         (rs6000_args): Add vregno.
3567         (USE_ALTIVEC_FOR_ARG_P): New.
3568         (FIXED_REGISTERS): Add vrsave register.
3569         (CALL_USED_REGISTERS): Same.
3570         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
3571         (VRSAVE_REGNO): New.
3572         (reg_class): Add VRSAVE_REGS.
3573         (REG_CLASS_NAMES): Same.
3574         (REG_CLASS_CONTENTS): Same.
3575         (REGNO_REG_CLASS): Same.
3576
3577         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
3578         (ABI_STACK_BOUNDARY): Same.
3579         (BIGGEST_ALIGNMENT): Same.
3580         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
3581         (ROUND_TYPE_ALIGN): Same.
3582
3583         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
3584         to 64.
3585
3586         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
3587         to 64.
3588
3589         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
3590         to 64.
3591
3592         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
3593         (altivec_expand_builtin): New.
3594         (altivec_init_builtins): New.
3595         (TARGET_EXPAND_BUILTIN): New.
3596         (TARGET_INIT_BUILTINS): New.
3597         (rs6000_init_builtins): New.
3598         (struct builtin_description): New.
3599         (bdesc_2arg): New.
3600         (rs6000_reg_names): Add altivec registers.
3601         (alt_reg_names): Same.
3602         (secondary_reload_class): Altivec regs can hold altivec regs and
3603         memory.
3604         (rs6000_emit_move): Force constants into memory for AltiVec moves.
3605         (print_operand): Add 'y' case for printing altivec memory
3606         operands.
3607         (rs6000_legitimize_address): Legitimize vector addresses into
3608         [REG+REG] or [REG].
3609         (altivec_expand_binop_builtin): New.
3610         New string rs6000_current_abi.
3611         (rs6000_override_options): Call rs6000_parse_abi_options.
3612         (rs6000_parse_abi_options): New.
3613         (function_arg_boundary): Vector arguments must be 16
3614         byte aligned.
3615         (function_arg_advance): Handle vector arguments.
3616         (function_arg_partial_nregs): Same.
3617         (init_cumulative_args): Same.
3618         (function_arg): Same.
3619
3620         * config/rs6000/rs6000.md (altivec_lvx): New.
3621         (type): Add altivec attribute.
3622         (movv4si): New.
3623         (*movv4si_internal): New.
3624         (movv16qi): New.
3625         (*movv16qi_internal): New.
3626         (movv8hi): New.
3627         (*movv8hi_internal1): New.
3628         (movv4sf): New.
3629         (*movv4sf_internal1): New.
3630         (altivec_stvx): New.
3631         (vaddubm): New.
3632         (vadduhm): New.
3633         (vadduwm): New.
3634         (vaddfp): New.
3635         (vaddcuw): New.
3636         (vaddubs): New.
3637         (vaddsbs): New.
3638         (vadduhs): New.
3639         (vaddshs): New.
3640         (vadduws): New.
3641         (vaddsws): New.
3642         (vand): New.
3643         (vandc): New.
3644         (vavgub): New.
3645         (vavgsb): New.
3646         (vavguh): New.
3647         (vavgsh): New.
3648         (vavguw): New.
3649         (vavgsw): New.
3650         (vcmpbfp): New.
3651         (vcmpequb): New.
3652         (vcmpequh): New.
3653         (vcmpequw): New.
3654         (vcmpeqfp): New.
3655         (vcmpgefp): New.
3656         (vcmpgtub): New.
3657         (vcmpgtsb): New.
3658         (vcmpgtuh): New.
3659         (vcmpgtsh): New.
3660         (vcmpgtuw): New.
3661         (vcmpgtsw): New.
3662         (vcmpgtfp): New.
3663         (vcmpgefp): New.
3664         (vcmpgtub): New.
3665         (vcmpgtsb): New.
3666         (vcmpgtuh): New.
3667         (vcmpgtsh): New.
3668         (vcmpgtuw): New.
3669         (vcmpgtsw): New.
3670         (vcmpgtfp): New.
3671         (vmaxub): New.
3672         (vmaxsb): New.
3673         (vmaxuh): New.
3674         (vmaxsh): New.
3675         (vmaxuw): New.
3676         (vmaxsw): New.
3677         (vmaxfp): New.
3678         (vmrghb): New.
3679         (vmrghh): New.
3680         (vmrghw): New.
3681         (vmrglb): New.
3682         (vmrglh): New.
3683         (vmrglw): New.
3684         (vminub): New.
3685         (vminsb): New.
3686         (vminuh): New.
3687         (vminsh): New.
3688         (vminuw): New.
3689         (vminsw): New.
3690         (vminfp): New.
3691         (vmuleub): New.
3692         (vmulesb): New.
3693         (vmuleuh): New.
3694         (vmulesh): New.
3695         (vmuloub): New.
3696         (vmulosb): New.
3697         (vmulouh): New.
3698         (vmulosh): New.
3699         (vnor): New.
3700         (vor): New.
3701         (vpkuhum): New.
3702         (vpkuwum): New.
3703         (vpkpx): New.
3704         (vpkuhss): New.
3705         (vpkshss): New.
3706         (vpkuwss): New.
3707         (vpkswss): New.
3708         (vpkuhus): New.
3709         (vpkshus): New.
3710         (vpkuwus): New.
3711         (vpkswus): New.
3712         (vrlb): New.
3713         (vrlh): New.
3714         (vrlw): New.
3715         (vslb): New.
3716         (vslh): New.
3717         (vslw): New.
3718         (vsl): New.
3719         (vslo): New.
3720         (vsrb): New.
3721         (vrsh): New.
3722         (vrsw): New.
3723         (vsrab): New.
3724         (vsrah): New.
3725         (vsraw): New.
3726         (vsr): New.
3727         (vsro): New.
3728         (vsububm): New.
3729         (vsubuhm): New.
3730         (vsubuwm): New.
3731         (vsubfp): New.
3732         (vsubcuw): New.
3733         (vsububs): New.
3734         (vsubsbs): New.
3735         (vsubuhs): New.
3736         (vsubshs): New.
3737         (vsubuws): New.
3738         (vsubsws): New.
3739         (vsum4ubs): New.
3740         (vsum4sbs): New.
3741         (vsum4shs): New.
3742         (vsum2sws): New.
3743         (vsumsws): New.
3744         (vxor): New.
3745
3746 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
3747
3748         * Makefile.in (df.o): Add fibheap.h to dependencies.
3749
3750         * df.h: Add prototypes for transfer functions, iterative_dataflow
3751         functions.
3752         (enum df_flow_dir): New enum.
3753         (enum df_confluence_op): New enum.
3754         (struct df): Add inverse_rts_map.
3755
3756         * df.c: Add sbitmap.h to the list of includes.
3757         (df_rd_global_compute): Removed.
3758         (df_ru_global_compute): Removed.
3759         (df_lr_global_compute): Removed.
3760         (df_rd_transfer_function): New function.
3761         (df_ru_transfer_function): New function.
3762         (df_lr_transfer_function): New function.
3763         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
3764         Use iterative_dataflow_bitmap instead of df_*_global_compute.
3765         (iterative_dataflow_sbitmap): New function.
3766         (iterative_dataflow_bitmap): New function.
3767
3768 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3769
3770         * doc/gcc.texi: Move terminology and spelling conventions to
3771         htdocs/codingconventions.html.
3772
3773 2001-11-07  Graham Stott  <grahams@redhat.com>
3774
3775         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
3776
3777 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
3778
3779         * expmed.c (expand_mult): Force operand to register before computing
3780         cost.
3781         * i386.c (x86_decompose_lea): New global vairable.
3782         * i386.h (x86_decompose_lea): Declare.
3783         (TARGET_DECOMPOSE_LEA): New macro.
3784         (RTX_COST): Handle leas properly.
3785
3786 2001-11-06  Richard Henderson  <rth@redhat.com>
3787
3788         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
3789         defined for a CONSTRUCTOR; don't check it.
3790
3791 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
3792
3793         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
3794         test for absolute pathnames.
3795
3796 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
3797
3798         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
3799         instructions up to the target pc inclusive.
3800
3801 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
3802
3803         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
3804
3805 2001-11-06  Eric Christopher  <echristo@redhat.com>
3806
3807         * config/mips/mips.md(movdf_internal2): Add constraints for float
3808         to general register move.
3809         * config/mips/elf64.h: Add default ABI.
3810
3811 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3812
3813         * alias.c:: Include langhooks.h.
3814         * emit-rtl.c: Similarly.
3815         * toplev.c: Similarly.
3816         * tree-inline.c: Similarly.
3817         * langhooks-def.h: New, the old langhooks.h.  Give the default
3818         hooks a common prefix.
3819         * langhooks.h: Contents extracted from toplev.h.
3820         * toplev.h: Move langhook stuff to langhooks.h.
3821         * langhooks.c: Give default hooks a common prefix.
3822
3823         * c-lang.c: Include langhooks-def.h.
3824         * objc/objc-act.c: Similarly.
3825         * Makefile.in: Update.
3826         * objc/Make-lang.in: Update.
3827
3828 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
3829
3830         * doc/install.texi: Document that configure options not listed in
3831         this file are unsupported.  Document --with-system-zlib.
3832
3833 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3834
3835         * rtl.h (mem_for_const_double): New declaration.
3836         * varasm.c (mem_for_const_double): New function.
3837         * config/convex/convex.md (movdf): Use it.
3838         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
3839         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
3840         * config/m68k/m68kv4.h: Likewise.
3841
3842         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
3843         of new GP reg classes.
3844
3845         * expr.c (store_field): When making temp object for unaligned
3846         component, set it to alias set 0.
3847
3848 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
3849
3850         * c-common.c (c_expand_expr_stmt): Apply default conversions to
3851         non-lvalue arrays if C99.
3852         * c-typeck.c (default_conversion): Split out code handling
3853         array-to-pointer and function-to-pointer conversions into a
3854         separate default_function_array_conversion function.
3855         (default_function_array_conversion): New function.  Keep track of
3856         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
3857         arrays unchanged outside C99 mode instead of giving an error for
3858         them.
3859         (build_component_ref): Use pedantic_non_lvalue when handling
3860         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
3861         (convert_arguments): Use default_function_array_conversion.
3862         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
3863         non-lvalues are OK.
3864         (unary_complex_lvalue): Likewise.
3865         (internal_build_compound_expr): Use
3866         default_function_array_conversion.  Apply default conversions to
3867         function in compound expression.
3868         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
3869         Use default_function_array_conversion.
3870         * doc/extend.texi: Update documentation of subscripting non-lvalue
3871         arrays.
3872         Fixes PR c/461.
3873
3874 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
3875
3876         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
3877         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
3878         corresponding to the complete set of .po and .gmo files in
3879         the source directory's po subdir, modified by LINGUAS.  Don't
3880         look at ALL_LINGUAS.
3881         * configure.in: Don't set ALL_LINGUAS.
3882         * configure: Regenerate.
3883
3884         * Makefile.in (.po.gmo): Don't move into source directory.
3885         (.po.pox): Clarify comments.
3886         (install-po): Look for .gmo files in both srcdir and objdir;
3887         don't fail if a file is totally missing.
3888         (distclean): rmdir ada subdirectory too.
3889
3890 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
3891
3892         * config/rs6000/rs6000.c (rs6000_select_section): Handle
3893         CONSTRUCTORs _correctly_.
3894
3895 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3896
3897         * c-decl.c (delete_block): Remove.
3898         * c-tree.h (delete_block): Remove.
3899
3900 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3901
3902         * cppexp.c (lex, parse_defined): Update warning about defined.
3903
3904 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
3905
3906         * config/rs6000/rs6000.c (rs6000_select_section): Handle
3907         CONSTRUCTORs too.
3908
3909 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
3910
3911         * config/arm/arm.c (arm_return_in_memory): Cope with
3912         int_size_in_bytes returning -1.
3913
3914         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
3915         DECL being NULL.
3916
3917 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
3918
3919         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
3920         remove unneeded dependencies;
3921         (cfglayout.o): New.
3922         * cfglayout.c, cfglayout.h: New files; break out from ...
3923         * bb-reorder.c: ... here; Remove unneeded includes;
3924
3925 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
3926
3927         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
3928
3929 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
3930
3931         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
3932         mode as well.  Do not explicitly create intermediate regs.
3933
3934 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3935
3936         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
3937         (common_section): Delete unused variable.
3938         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
3939         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3940         * arm-protos.h (arm_poke_function_name, aof_add_import,
3941         aof_delete_import): Const-ify.
3942         * arm.c (legitimize_pic_address): Wrap variables in the macro
3943         controlling their usage.
3944         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
3945         (arm_poke_function_name, pic_chain, import, aof_add_import,
3946         aof_delete_import): Const-ify.
3947         * i386.c (ix86_osf_output_function_prologue): Const-ify.
3948         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
3949         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
3950         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
3951         * i860/sysv3.h: Add missing comment closure.
3952         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
3953         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
3954         to symbolic_operand.
3955
3956         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
3957         (i960-*-*): Set tmake_file.
3958         (sparc86x-*-elf*): Fix typo in header name.
3959
3960         * sched-rgn.c (schedule_insns): Delete unused variable.
3961
3962 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3963
3964         PR c/2820
3965         * c-typeck.c (lookup_field): Rework to return a chain down to
3966         the looked-up field.
3967         (build_component_ref): Use the new lookup_field to handle
3968         nested anonymous entities correctly.
3969
3970 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3971
3972         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
3973         Change parameters to gen_rtx_CONST_DOUBLE.
3974         (GEN_INT64, sparc_emit_set_const64): Likewise.
3975         * config/sparc/sparc.md (movdf split): Likewise.
3976
3977 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
3978
3979         * unroll.c (calculate_giv_inc): Use find_last_value rather
3980         than just hoping the last instruction is the right SET.
3981         [Fixes 990604-1.c on stormy16.]
3982
3983         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
3984         library at all if -T is used.
3985
3986         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
3987         some uses of uninitialized variables in error cases.
3988
3989         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
3990         look at 'temp' if we won't be using it.
3991
3992         * config/stormy16/stormy16.h (CONST_COSTS): Define.
3993         (RTX_COSTS): Define.
3994         (ADDRESS_COST): Define.
3995         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
3996
3997         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
3998
3999         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
4000         stormy16_asm_output_mi_thunk.
4001         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
4002         function.
4003         * config/stormy16/stormy16-protos.h
4004         (stormy16_asm_output_mi_thunk): New prototype.
4005
4006 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
4007
4008         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
4009         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
4010         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
4011         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
4012         sched-int.h, toplev.c, config/alpha/alpha.c,
4013         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
4014         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
4015         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
4016         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
4017         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
4018         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
4019         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
4020
4021 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4022
4023         * Makefile.in (dbxout.o): Depend on function.h.
4024         * collect2.c (is_in_list): Hide unused function.
4025         * dbxout.c: Include function.h.
4026         (source_label_number, dbxout_source_line, dbxout_source_file,
4027         dbxout_function_end, dbxout_begin_function): Wrap/move inside
4028         macros controlling usage.
4029         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
4030         * output.h (exports_section): Prototype.
4031
4032         * convex.c (convex_output_function_prologue): Fix format specifier
4033         warning.
4034         (asm_declare_function_name): Fix signed/unsigned warning.
4035         (print_operand): Fix format specifier warning.
4036         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
4037         * dsp16xx-protos.h (uns_comparison_operator,
4038         num_1600_core_shifts): Prototype.
4039         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
4040         (frame_size, frame_pointer_offset): Delete.
4041         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
4042         Make static.  Fix format specifier warnings.
4043         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
4044         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
4045         * dsp16xx.md: Add default case in switches.
4046         * fr30.h (IN_RANGE): Delete.
4047         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
4048         * mcore-protos.h (mcore_output_cmov): Const-ify.
4049         * mcore.c (mcore_output_cmov): Likewise.
4050         * mcore.h (switch_to_section): Make static and prototype.
4051         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
4052         unsigned>=0 warnings.
4053         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
4054         * rs6000-protos.h (read_only_data_section,
4055         read_only_private_data_section): Prototype.
4056         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4057         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
4058         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
4059
4060 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4061
4062         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
4063         ATTRIBUTE_UNUSED.
4064         * final.c (final_scan_insn): Add brackets around body of if-stmt.
4065         * gcc.c (convert_filename): Add static prototype.  Const-ify.
4066         Wrap variable in macros controlling its use.
4067         * output.h (sdata_section): Add prototype.
4068
4069         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4070         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
4071         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
4072         (ASM_FILE_START): Const-ify.
4073         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
4074         specifier warning.
4075         * c4x.md: Don't use the 'U' integer suffix.
4076         * clipper.md (clipper_movstr): Delete declaration.
4077         * d30v-protos.h (d30v_move_2words): Const-ify.
4078         (debug_stack_info): Add prototype.
4079         * d30v.c: Include "integrate.h".
4080         (d30v_function_arg_boundary, d30v_function_arg,
4081         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
4082         signed/unsigned warnings.
4083         (d30v_print_operand_memory_reference, d30v_move_2words):
4084         Const-ify.
4085         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
4086         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
4087         * fr30.md: Const-ify.
4088         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4089         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
4090         (mvs_get_label_page): Hide unused static function.
4091         * i860.c (current_function_original_name): Const-ify.
4092         * i860/sysv3.h (current_function_original_name): Likewise.
4093         * i860/sysv4.h (current_function_original_name): Likewise.
4094         * i960.md: Add default case in switches.  Remove unused variable.
4095         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
4096         * m32r.md: Const-ify.
4097         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
4098         * m68hc11.c: Include "reload.h".
4099         (static_chain_reg, print_options, m68hc11_asm_file_start):
4100         Const-ify.
4101         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
4102         around & in comparison.
4103         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
4104         * mn10200.c (shift_mode): Remove trailing comma.
4105         * mn10300-protos.h (output_tst): Const-ify.
4106         * mn10300.c (output_tst): Likewise.
4107         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
4108         warnings.
4109         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
4110         * pa.c (output_ascii): Likewise.
4111         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4112         * pdp11.md (expand_unop): Delete declarations.
4113         * pj-protos.h (pj_output_addsi3): Const-ify.
4114         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
4115         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
4116         unique_src_operand): Add prototypes.
4117         (pj_output_store_into_lval): Make definition static.
4118         (pj_function_incoming_arg): Don't use unary plus.
4119         (pj_output_addsi3): Const-ify.
4120         * romp.md (get_symref): Delete declarations.
4121         * v850-c.c (mark_current_function_as_interrupt): Don't return
4122         value from void function.
4123         * v850.c: Include "integrate.h".
4124         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
4125         * vax-protos.h (const_section): Add prototype.
4126
4127 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
4128
4129         * machmode.def: Add documentation for the seventh argument in
4130         vector modes.
4131
4132 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
4133
4134         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
4135         consistently.
4136         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
4137         <-melf>: Don't have markup for ELF acronym.
4138
4139 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
4140
4141         * config.gcc (mmix-*-*): New target.
4142         * doc/invoke.texi: Document MMIX options.
4143         * doc/contrib.texi: Add note about MMIX port to my entry.
4144         * config/mmix/t-mmix: New file.
4145         * config/mmix/mmix.h: New file.
4146         * config/mmix/mmix-protos.h: New file.
4147         * config/mmix/mmix.c: New file.
4148         * config/mmix/mmix.md: New file.
4149         * config/mmix/crti.asm: New file.
4150         * config/mmix/crtn.asm: New file.
4151
4152 2001-11-03  Kazu Hirata  <kazu@hxi.com>
4153
4154         * config/sparc/linux-aout.h: Fix comment formatting.
4155         * config/sparc/linux.h: Likewise.
4156         * config/sparc/linux64.h: Likewise.
4157         * config/sparc/lynx.h: Likewise.
4158         * config/sparc/pbd.h: Likewise.
4159         * config/sparc/sol2-sld-64.h: Likewise.
4160         * config/sparc/sol2.h: Likewise.
4161         * config/sparc/sparc.c: Likewise.
4162         * config/sparc/sparc.h: Likewise.
4163         * config/sparc/sparc.md: Likewise.
4164         * config/sparc/sunos4.h: Likewise.
4165         * config/sparc/vxsim.h: Likewise.
4166         * config/sparc/vxsparc.h: Likewise.
4167         * config/sparc/vxsparc64.h: Likewise.
4168
4169 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4170
4171         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
4172         reference to CONST_DOUBLE_MEM in comment.
4173         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
4174         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
4175         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
4176         * function.c (pop_function_context_from): Don't call
4177         restore_varasm_status.
4178         * function.h (restore_varasm_status): Delete declaration.
4179         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
4180         * rtl.c: Likewise.
4181         * rtl.def (CONST_DOUBLE): Update comment.
4182         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
4183         (CONST_DOUBLE_CHAIN): Likewise.
4184         (CONST_DOUBLE_MEM): Delete.
4185         (gen_rtx_CONST_DOUBLE): Update parameters.
4186         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
4187         Remove reference to CONST_DOUBLE_MEM.
4188         (const_alias_set): New variable.
4189         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
4190         (immed_real_const_1): Adjust tests for 0, 1, and 2.
4191         Don't set CONST_DOUBLE_MEM.
4192         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
4193         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
4194         Put constant in const_alias_set.
4195         (struct pool_constant): ALIGN now unsigned.
4196         OFFSET now HOST_WIDE_INT.
4197         Delete LABEL.
4198         (restore_varasm_status): Deleted.
4199         (mark_pool_constant): Mark desc->rtl.
4200         (force_const_mem): Rework to store rtl in hash table,
4201         not CONST_DOUBLE_MEM.
4202         Put constant in const_alias_set.
4203         (find_pool_constant): Check desc->rtl.
4204         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
4205         (init_varasm_once): Initialize const_alias_set.
4206
4207         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
4208         force_const_mem.
4209
4210         * reload.c (combine_reloads): Don't combine an output reload if there
4211         are other reloads around for part of the output.
4212
4213         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
4214         constant expression.
4215         (set_mem_decl): New function.
4216         * expr.h (set_mem_decl): New declaration.
4217         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
4218         (output_asm_operand_names): Add tab.
4219         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
4220
4221         * builtins.c (get_memory_rtx): Properly set MEM alias set and
4222         attributes.
4223
4224 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4225
4226         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
4227         Use "invalid" instead of "illegal".  Use @r in comments in
4228         examples.
4229
4230 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4231
4232         * c-decl.c (pushdecl): Move block inside if conditional to remove
4233         possibility of a segfault.  Lookup block-level extern
4234         variables in enclosing scopes correctly.
4235
4236         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
4237
4238 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
4239
4240         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
4241         SUBREG so we avoid SUBREGing memory.
4242
4243         * expmed.c (store_bit_field): Same.
4244
4245 2001-11-02  DJ Delorie  <dj@redhat.com>
4246
4247         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
4248         using FP registers for DImode mem-mem moves is acceptable.
4249
4250 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
4251
4252         * builtins.c (apply_args_size): Handle vector arguments.
4253         (apply_result_size): Same.
4254
4255         * machmode.def: Set WIDER mode field for all vector entries.
4256
4257 2001-11-02  Graham Stott  <grahams@redhat.com>
4258
4259         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
4260
4261 2001-11-01  Eric Christopher  <echristo@redhat.com>
4262
4263         * config.gcc: Revert part of earlier patch.
4264         * config/mips/linux.h: Ditto.
4265         * df.c: Include tm_p.h to avoid warnings.
4266         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
4267         #if/#endif.
4268         * config/mips/mips.c: Define mips_abi regardless.
4269         (mips_output_function_prologues): Add long casts for .frame
4270         output.
4271         (override_options): Allow use of ABI_32.
4272
4273 2001-11-01  Kazu Hirata  <kazu@hxi.com>
4274
4275         * config/m68hc11/m68hc11.c: Fix comment formatting.
4276         * config/m68hc11/m68hc11.h: Likewise.
4277         * config/m68hc11/m68hc11.md: Likewise.
4278
4279 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
4280
4281         * c-typeck.c (default_conversion): Retain the original expression
4282         codes.
4283         * gcc.dg/Wparentheses.c: New tests.
4284
4285 2001-11-01  David S. Miller  <davem@redhat.com>
4286
4287         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
4288         64-bit Sparc description more in line with reality.
4289
4290 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
4291
4292         * Makefile.in (GCOV_OBJS): Add version.o.
4293         * gcov.c: Include "version.h" and <getopt.h>.
4294         (gcov_version_string): Remove.
4295         (print_usage): Take a parameter to determine whether this is a
4296         call from --help or an error message.  Give fuller output that
4297         follows the GNU Coding Standards for --help.
4298         (print_version): New function.
4299         (options): New.
4300         (process_args): Use getopt_long.  Support long options.  Follow
4301         GNU Coding Standards for --help and --version.
4302         * doc/gcov.texi: Document long options.
4303         Addresses part of PR other/704.
4304
4305 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4306
4307         * pa.c (output_move_double): Fix typo in double load.
4308
4309 2001-11-01  Kazu Hirata  <kazu@hxi.com>
4310
4311         * config/h8300/h8300.c (h8300_encode_label): Compute a string
4312         before passing it to ggc_alloc_string.
4313
4314 2001-11-01  Kazu Hirata  <kazu@hxi.com>
4315
4316         * config/m68k/3b1.h: Fix comment formatting.
4317         * config/m68k/3b1g.h: Likewise.
4318         * config/m68k/a-ux.h: Likewise.
4319         * config/m68k/amix.h: Likewise.
4320         * config/m68k/apollo68.h: Likewise.
4321         * config/m68k/atari.h: Likewise.
4322         * config/m68k/aux-exit.c: Likewise.
4323         * config/m68k/ccur-GAS.h: Likewise.
4324         * config/m68k/crds.h: Likewise.
4325         * config/m68k/dpx2.h: Likewise.
4326         * config/m68k/dpx2g.h: Likewise.
4327         * config/m68k/hp310.h: Likewise.
4328         * config/m68k/hp320.h: Likewise.
4329         * config/m68k/isi.h: Likewise.
4330         * config/m68k/linux.h: Likewise.
4331         * config/m68k/lynx.h: Likewise.
4332         * config/m68k/m68k-psos.h: Likewise.
4333         * config/m68k/m68k.c: Likewise.
4334         * config/m68k/m68k.h: Likewise.
4335         * config/m68k/m68k.md: Likewise.
4336         * config/m68k/m68kelf.h: Likewise.
4337         * config/m68k/m68kv4.h: Likewise.
4338         * config/m68k/mot3300.h: Likewise.
4339         * config/m68k/news.h: Likewise.
4340         * config/m68k/next.h: Likewise.
4341         * config/m68k/pbb.h: Likewise.
4342         * config/m68k/plexus.h: Likewise.
4343         * config/m68k/sgs.h: Likewise.
4344         * config/m68k/sun3.h: Likewise.
4345         * config/m68k/tower.h: Likewise.
4346         * config/m68k/vxm68k.h: Likewise.
4347
4348 2001-10-31  DJ Delorie  <dj@redhat.com>
4349
4350         * config/mips/mips.h (mips_cache_flush_func): Prototype.
4351         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
4352         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
4353         * config/mips/mips.c (mips_cache_flush_func): New.
4354         * doc/invoke.texi: Document the new options.
4355
4356 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
4357
4358         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
4359         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
4360
4361         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
4362
4363         * config/cris/cris.c: Include output.h after tree.h but before
4364         target.h.
4365
4366 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
4367
4368         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
4369         (INTL_SUBDIRS): Just intl.
4370         (.SUFFIXES): Add .gmo .po .pox.
4371         (native): Also depend on build-@POSUB@.
4372         (intl.all, intl.install): Depend on config.h and things it includes.
4373         (po-generated): New target; depend on c-parse.c and tradcif.c.
4374         (install-normal): Also depend on install-@POSUB@.
4375         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
4376         (build-, install-, build-po, update-po, install-po,
4377         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
4378
4379         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
4380         * configure.in: Don't munge XGETTEXT.  Don't generate
4381         po/Makefile.in.
4382         * configure: Regenerate.
4383
4384         * exgettext: Delete.
4385         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
4386         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
4387
4388 2001-10-31  Kazu Hirata  <kazu@hxi.com>
4389
4390         * config/h8300/h8300.md (two anonymous patterns): New.
4391
4392 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
4393
4394         * tree.h (tree_index): Add support for V16QI and V8HI.
4395         (V8HI_type_node): New.
4396         (V16QI_type_node): New.
4397
4398         * tree.c (build_common_tree_nodes_2): Same.
4399
4400         * c-common.c (type_for_mode): Same.
4401
4402 2001-10-31  Kazu Hirata  <kazu@hxi.com>
4403
4404         * config/i386/att.h: Fix comment formatting.
4405         * config/i386/beos-elf.h: Likewise.
4406         * config/i386/bsd.h: Likewise.
4407         * config/i386/bsd386.h: Likewise.
4408         * config/i386/crtdll.h: Likewise.
4409         * config/i386/cygwin.asm: Likewise.
4410         * config/i386/cygwin.h: Likewise.
4411         * config/i386/djgpp.h: Likewise.
4412         * config/i386/freebsd-aout.h: Likewise.
4413         * config/i386/freebsd.h: Likewise.
4414         * config/i386/gas.h: Likewise.
4415         * config/i386/i386-interix.h: Likewise.
4416         * config/i386/i386-protos.h: Likewise.
4417         * config/i386/i386.c: Likewise.
4418         * config/i386/i386.h: Likewise.
4419         * config/i386/i386.md: Likewise.
4420         * config/i386/i386elf.h: Likewise.
4421         * config/i386/interix.c: Likewise.
4422         * config/i386/isc.h: Likewise.
4423         * config/i386/isccoff.h: Likewise.
4424         * config/i386/iscdbx.h: Likewise.
4425         * config/i386/linux.h: Likewise.
4426         * config/i386/lynx.h: Likewise.
4427         * config/i386/mingw32.h: Likewise.
4428         * config/i386/netbsd-elf.h: Likewise.
4429         * config/i386/next.h: Likewise.
4430         * config/i386/osf1elf.h: Likewise.
4431         * config/i386/osfrose.h: Likewise.
4432         * config/i386/sco5.h: Likewise.
4433         * config/i386/seq-gas.h: Likewise.
4434         * config/i386/seq-sysv3.h: Likewise.
4435         * config/i386/sequent.h: Likewise.
4436         * config/i386/sol2.h: Likewise.
4437         * config/i386/sun386.h: Likewise.
4438         * config/i386/uwin.asm: Likewise.
4439         * config/i386/uwin.h: Likewise.
4440         * config/i386/vxi386.h: Likewise.
4441         * config/i386/win32.h: Likewise.
4442         * config/i386/winnt.c: Likewise.
4443         * config/i386/xm-cygwin.h: Likewise.
4444         * config/i386/xm-mingw32.h: Likewise.
4445
4446 2001-10-31  Kazu Hirata  <kazu@hxi.com>
4447
4448         * builtins.def: Fix comment typos.
4449         * config/alpha.c: Likewise.
4450         * config/arm/arm.c: Likewise.
4451         * config/avr/avr.h: Likewise.
4452         * config/d30v/d30v.c: Likewise.
4453         * config/d30v/d30v.h: Likewise.
4454         * config/d30v/d30v.md: Likewise.
4455         * config/dsp16xx/dsp16xx.c: Likewise.
4456         * config/fr30/fr30.c: Likewise.
4457         * config/fr30/fr30.md: Likewise.
4458         * config/i386/i386.c: Likewise.
4459         * config/i860/i860.c: Likewise.
4460         * config/i960/i960.c: Likewise.
4461         * config/ia64/ia64.c: Likewise.
4462         * config/mips/mips.c: Likewise.
4463         * config/pa/pa.c: Likewise.
4464         * config/rs6000/rs6000.c: Likewise.
4465         * config/s390/s390.c: Likewise.
4466         * config/sparc/sparc.c: Likewise.
4467
4468 2001-10-30  Kazu Hirata  <kazu@hxi.com>
4469
4470         * config/mips/elf.h: Fix comment formatting.
4471         * config/mips/elf64.h: Likewise.
4472         * config/mips/iris5.h: Likewise.
4473         * config/mips/iris5gas.h: Likewise.
4474         * config/mips/iris6.h: Likewise.
4475         * config/mips/isa3264.h: Likewise.
4476         * config/mips/linux.h: Likewise.
4477         * config/mips/mips.c: Likewise.
4478         * config/mips/mips.h: Likewise.
4479         * config/mips/mips.md: Likewise.
4480         * config/mips/mips16.S: Likewise.
4481         * config/mips/netbsd.h: Likewise.
4482         * config/mips/osfrose.h: Likewise.
4483         * config/mips/r3900.h: Likewise.
4484         * config/mips/sni-svr4.h: Likewise.
4485         * config/mips/svr4-t.h: Likewise.
4486         * config/mips/ultrix.h: Likewise.
4487
4488 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
4489
4490         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
4491         when we update head->current.
4492
4493 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
4494
4495         * tree.c (id_string_size): Remove.
4496         (dump_tree_statistics): Update.
4497         * toplev.c (compile_file): If dumping stats, dump tree stats too.
4498
4499 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
4500
4501         * sched-rgn.c (schedule_insns): Fix comment.
4502
4503 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
4504
4505         * configure.in: Correct previous change: don't assume that
4506         gas's version number _isn't_ the last thing on the line, or
4507         isn't the only number on the line, either.
4508         * configure: Regenerate.
4509
4510 2001-10-30  Kazu Hirata  <kazu@hxi.com>
4511
4512         * cfgcleanup.c: Fix a comment typo.
4513
4514 2001-10-30  Kazu Hirata  <kazu@hxi.com>
4515
4516         * alias.c: Fix comment formatting.
4517         * recog.c: Likewise.
4518         * config/cris/cris.c: Likewise.
4519         * config/cris/cris.h: Likewise.
4520         * config/i960/i960.c: Likewise.
4521         * config/i960/i960.h: Likewise.
4522
4523 2001-10-30  Kazu Hirata  <kazu@hxi.com>
4524
4525         * config/arm/arm.c: Fix a comment typo.
4526         * config/arm/arm.h: Likewise.
4527         * config/ia64/ia64.c: Likewise.
4528
4529 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
4530
4531         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
4532         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
4533         * rtl.h (set_unique_reg_note): Change return value.
4534         * gcse.c (try_replace_reg): Use set_unique_reg_note.
4535         * cse.c (cse_insn): Likewise.
4536         * expr.c (emit_move_insn): Likewise.
4537         * explow.c (force_reg): Likewise.
4538         * local-alloc (update_equiv_regs): Likewise.
4539         * loop.c (move_moveables, load_mems): Likewise.
4540         * reload (find_reloads): Likewise.
4541
4542 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
4543
4544         Localization fixes.
4545         * c-decl.c (parmlist_tags_warning, start_struct,
4546         check_for_loop_decls): Separate messages for struct, union and
4547         enum cases to allow for languages in which they have different
4548         genders.
4549         * c-format.c (scanf_flag_specs): Separate short and long name of
4550         the assignment suppression feature.
4551         (check_format_types): Localize "pointer" and "different types"
4552         strings.
4553         * c-lex.c (lex_number): Localize "an unsigned long int" and
4554         related strings.
4555         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
4556         warning message.
4557         * c-typeck.c (build_unary_up): Separate messages for increment and
4558         decrement cases to allow for languages in which they use different
4559         articles.  Localize the strings "increment" and "decrement" in one
4560         case.
4561
4562 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
4563
4564         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
4565         when no changes has been made.
4566
4567         * gcse.c (reg_set_bitmap): Turn into reg_set.
4568         (modify_mem_list_set, canon_modify_mem_list_set)
4569         (clear_modify_mem_tables, free_modify_mem_tables): New.
4570         (gcse_main); Use free_modify_mem_tables.
4571         (free_gcse_mem): Likewise; free the bitmaps.
4572         (alloc_gcse_main): Initialize the bitmaps.
4573         (canon_list_insert): Set canon_modify_mem_list_set.
4574         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
4575         (compute_hash_table): Use clear_modify_mem_tables.
4576         (reset_opr_set_tables): Likewise.
4577         (oprs_not_set_p): reg_set_bitmap is regset.
4578         (mark_set, mark_clobber): Likewise.
4579
4580         * df.h (DF_EQUIV_NOTES): New constant.
4581         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
4582         when asked for.
4583
4584         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
4585         (init_regions, schedule_insns): Conditionalize the checking
4586         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
4587
4588 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
4589
4590         * i386.md (movti_rex64 splitter): Fix condition.
4591
4592 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
4593
4594         * configure.in: Do not assume that gas's version number is the
4595         last thing on the first line of as --version output.
4596         * configure: Regenerate.
4597
4598         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
4599         MT_WARNING, MT_ERROR, MT_FATAL.
4600         (main): Call gcc_init_libintl.
4601         (v_message): Call gettext on msgid and "warning: "
4602         * tradcif.y: Include intl.h.
4603         (yyerror): Make parameter definition consistent with
4604         prototype.  Call gettext on msgid argument.
4605
4606 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4607
4608         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
4609         warnings.
4610
4611         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
4612
4613 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4614
4615         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
4616         before referencing it.
4617
4618 2001-10-26  DJ Delorie  <dj@redhat.com>
4619
4620         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
4621         override -G, and force -G0.
4622
4623 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
4624
4625         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
4626         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
4627         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
4628         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
4629
4630         * loop.h (struct induction): Rename ext_dependant to
4631         ext_dependent.
4632         * loop.c: Change all uses.
4633         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
4634         All callers changed.
4635         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
4636
4637 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
4638
4639         * c-parse.in (expr_no_commas, primary), c-typeck.c
4640         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
4641
4642 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
4643
4644         Undo assemble_name change in earlier patch.
4645
4646 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
4647
4648         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
4649         determining the type of the receiver, do not check that TREE_CODE
4650         of receiver is CALL_EXPR before calling receiver_is_class_object().
4651         (receiver_is_class_object): For the GNU runtime: recognize
4652         the case that the receiver is self in a class method context.
4653         Check that TREE_CODE of receiver is CALL_EXPR when checking that
4654         the receiver is a call to objc_get_class.
4655
4656 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4657
4658         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
4659
4660 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4661
4662         * Makefile.in (OBJS): Put all files in alphabetical order.
4663
4664         * dwarf2out.c (add_const_value_attribute): Fix error in last
4665         change.
4666
4667 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
4668
4669         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
4670         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
4671         fix warning.
4672         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
4673         (life_analysis): call purge_all_dead_edges after deleting noops.
4674         (delete_noop_move): Do not purge CFG.
4675         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
4676
4677 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
4678
4679         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
4680         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
4681         (ASM_GLOBALIZE_LABEL): Use assemble_name.
4682         (ASM_OUTPUT_COMMON): Likewise.
4683         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
4684         (rs6000_output_function_epilogue): Likewise.
4685         (output_mi_thunk): Fix typo.
4686         (rs6000_output_symbol_ref): Use assemble_name.
4687         (output_toc): Likewise.
4688         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
4689         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
4690         assemble_name calls STRIP_NAME_ENCODING.
4691         (ASM_OUTPUT_LABEL): Use assemble_name.
4692         (ASM_GLOBALIZE_LABEL): Likewise.
4693         (ASM_DECLARE_FUNCTION_NAME): Likewise.
4694         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
4695         (ASM_OUTPUT_LOCAL): Likewise.
4696
4697 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4698
4699         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
4700         (expand_builtin_apply, expand_builtin_return): Likewise.
4701         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
4702
4703 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
4704
4705         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
4706         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
4707         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
4708         configure, configure.in, except.c, except.h, flow.c, function.c,
4709         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
4710         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
4711         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
4712         unroll.c: Fix spelling errors.
4713
4714         * doc/extend.texi, doc/invoke.texi: Fix spelling.
4715
4716         * doc/gcc.texi: Document use of "dependent" and American spelling.
4717
4718 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
4719
4720         * expr.c (emit_group_load): Support CONCATs by storing them to memory
4721         and reloading.
4722
4723 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4724
4725         * expr.c (store_constructor_field): Only call adjust_address on MEM.
4726
4727 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
4728
4729         * genrecog.c (write_switch):  Output if before switch for
4730         DT_elt_zero_wide_safe.
4731
4732 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4733
4734         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
4735         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
4736         (FUNCTION_PROFILER): Const-ify.
4737         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
4738         (eliminate_constant_term, assemble_name, output_addr_const):
4739         Remove declarations.
4740         (ptr_half_pic_address_p, half_pic_hash): Prototype.
4741         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
4742         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
4743         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
4744         (half_pic_declare, half_pic_external): Const-ify.
4745         * toplev.c: Include "halfpic.h".
4746
4747 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
4748
4749         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
4750         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
4751         config/i386/i386.c, config/i386/i386-interix.h,
4752         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
4753         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
4754         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
4755         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
4756         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
4757         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
4758         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
4759         spelling errors.
4760
4761         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
4762         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
4763         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
4764         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
4765         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
4766         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
4767         system.h, toplev.c: Fix spelling errors.
4768
4769 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4770
4771         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
4772
4773         * dwarf2out.c (reg_number): Abort if pseudo.
4774         (reg_loc_descriptor): Return 0 if pseudo.
4775         (is_based_loc): Return 0 if pseudo.
4776         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
4777         recursive calls.
4778         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
4779         (loc_descriptor): Return 0 if can't find location and handle 0
4780         return from recursive calls.
4781         (loc_descriptor_from_tree): Likewise.
4782         Fix handling of indirect.
4783         Also return 0 for PLACEHOLDER_EXPR.
4784         Clean up COMPONENT_REF cases.
4785         (add_AT_location_descriptor): Simplify, but handle 0 return from
4786         loc_descriptor.
4787         (add_const_value_attribute): Avoid shift count warning.
4788         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
4789         Set comp_unit_die as context if not in function.
4790
4791         * config/mips/mips-protos.h: Break up long lines.
4792         Remove needless #ifdef/#endif blocks.
4793         Don't declare functions declared in file made by genpreds or recog.h.
4794         * config/mips/mips.c (mips_output_function_prologue): TSIZE
4795         is now HOST_WIDE_INT; delete unneeded casts.
4796         * config/mips/mips.h: Don't use #elif.
4797
4798         * expr.c (stor_constructor_field): Always call adjust_address.
4799         Copy TARGET before changing its alias set.
4800         (store_field): Likewise, for TO_RTX.
4801         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
4802         replacement.
4803         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
4804         (find_placeholder): Return 0 if can't find object.
4805         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
4806         returns 0.
4807
4808 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
4809
4810         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
4811
4812 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
4813
4814         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
4815         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
4816         (merge_blocks): Properly udpate life after making edge nonfallthru.
4817         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
4818
4819 2001-10-26  Kazu Hirata  <kazu@hxi.com>
4820
4821         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4822
4823 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4824
4825         * c-typeck.c (convert_arguments): When comparing for enumeral
4826         type equality, use TYPE_MAIN_VARIANT.
4827         * gcc.dg/Wconversion.c: New tests.
4828
4829 2001-10-26  Kazu Hirata  <kazu@hxi.com>
4830
4831         * s390/s390.c: Fix comment typos.
4832         * s390/s390.h: Likewise.
4833         * s390/s390.md: Likewise.
4834
4835 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
4836
4837         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
4838         (walk_tree): Use it for tail calls where appropriate.
4839
4840 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
4841
4842         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
4843         non-local label_refs.
4844
4845 2001-10-26  Kazu Hirata  <kazu@hxi.com>
4846
4847         * config/h8300/h8300.md (4 anonymous patterns): New.
4848
4849 2001-10-26  Kazu Hirata  <kazu@hxi.com>
4850
4851         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
4852         algorithm through the shift_info structure.
4853         (emit_a_shift): Update the use of get_shift_alg.
4854
4855 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
4856
4857         * sched-rgn.c: Remove bitset typedef.
4858         Change bitset to sbitmap in prototypes / variable types.
4859         Remove bbset_size.
4860         Remove edgeset_bits.
4861         Remove edgeset_size.
4862         s/BITSET_ADD/SET_BIT/g
4863         s/BITSET_INVERT/sbitmap_ones/g
4864         s/BITSET_INTER/sbitmap_a_and_b/g
4865         s/BITSET_UNION/sbitmap_a_or_b/g
4866         s/BITSET_DIFFER/sbitmap_difference/g
4867         s/bitset_member/TEST_BIT/g
4868         (BITSET_*): Removed.
4869         (bitset_member): Removed.
4870         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
4871         EXECUTE_IF_SET_IN_SBITMAP.
4872         (split_edges): Rewrite, use sbitmap functions instead of bitset
4873         operations.
4874         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
4875
4876 2001-10-26  Andreas Schwab  <schwab@suse.de>
4877
4878         * reload1.c (emit_input_reload_insns): Fix parens in last
4879         (undocumented) change that was supposed to change only whitespace.
4880
4881 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4882
4883         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
4884
4885         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
4886         ASM_OPERANDS.
4887
4888 2001-10-26  Andreas Jaeger  <aj@suse.de>
4889
4890         * flow.c (clear_log_links): Remove unused variable.
4891         * cfgcleanup.c (cleanup_cfg): Likewise.
4892
4893 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
4894
4895         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
4896         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
4897
4898 2001-10-26  Richard Henderson  <rth@redhat.com>
4899
4900         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
4901         rename PV_REG to R27_REG.
4902         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
4903         (REG_CLASS_FROM_LETTER): Update.
4904         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
4905         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
4906         (udivsi3, modsi3, umodsi3): Likewise.
4907         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
4908
4909 2001-10-26  Richard Henderson  <rth@redhat.com>
4910
4911         * cfg.c (clear_aux_for_blocks): Split out of ...
4912         (free_aux_for_blocks): here.
4913         (clear_aux_for_edges): Split from ...
4914         (free_aux_for_edges): here.
4915         * basic-block.h: Declare them.
4916         * lcm.c (compute_antinout_edge): Use them.
4917         (compute_laterin, compute_available, compute_nearerout): Likewise.
4918         (optimize_mode_switching): Likewise.
4919
4920 2001-10-26  Richard Henderson  <rth@redhat.com>
4921
4922         * Makefile.in (unstage*): Remove as, ld, collect-ld before
4923         moving everything back to the main build directory.
4924
4925 2001-10-26  Christopher Faylor  <cgf@redhat.com>
4926
4927         * config/i386/cygwin.h: Search target specific include directory, if
4928         appropriate.
4929
4930 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4931
4932         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
4933         of macro guards. Fix #endif comment.
4934
4935         * output.h (default_exception_section, default_eh_frame_section):
4936         Move prototypes outside of macro guard.
4937
4938         * crtstuff.c: Fix #endif comment.
4939
4940 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
4941
4942         * doc/md.texi (movMM): Clarify semantics of storing into a
4943         non-paradoxical SUBREG.
4944
4945 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
4946
4947         * langhooks.c (lang_hook_default_clear_binding_stack): New.
4948         (lang_hook_default_get_alias_set): Move next to other alias
4949         hooks.
4950         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
4951         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
4952         (LANG_HOOKS_INITIALIZER): Add it.
4953         * toplev.h (struct lang_hooks): Add clear_binding_stack.
4954         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
4955         instead of a loop calling poplevel.
4956
4957 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
4958
4959         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
4960         occurrences of #elif with #if...#endif.
4961
4962 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4963
4964         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
4965
4966 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4967
4968         * alias.c (can_address_p): No longer static.
4969         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
4970         Return 0 if all parameters are default values.
4971         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
4972         (adjust_address_1): Try harder to compute a size.
4973         * expr.c (expand_assignment, store_constructor): If can't address,
4974         set MEM_KEEP_ALIAS_SET_P.
4975         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
4976         (store_field): Likewise.
4977         (store_constructor): Simplify call to store_constructor_field.
4978         * expr.h (can_address_p): New declaration.
4979         * gensupport.c (gen_rtx_CONST_INT): New function.
4980         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
4981         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
4982         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
4983
4984         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
4985
4986 2001-10-24  Christopher Faylor  <cgf@redhat.com>
4987
4988         * config/i386/cygwin.h: Use proper path for mingw crt files when
4989         -mno-cygwin.
4990
4991 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4992
4993         * dwarf2out.c (file_info_cmp): Always return consistent results.
4994
4995 2001-10-24  Roger Sayle <roger@eyesopen.com>
4996
4997         * stmt.c (expand_end_case): Index jumptables from zero for
4998         suitably small values of minval.
4999
5000 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
5001
5002         * stor-layout.c (place_union_field): If any field was aligned with
5003         attribute aligned, set record type's TYPE_USER_ALIGN.
5004         (place_field): Likewise.
5005         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
5006         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
5007
5008 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
5009
5010         * c-common.h (struct c_common_identifier): Remove rid_code field.
5011         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
5012
5013         * c-typeck.c (constructor_designated): New local flag.
5014         (struct constructor_stack): Add "designated" field to match.
5015         (start_init): Clear it.
5016         (really_start_incremental_init, push_init_level): Push and
5017         clear it.
5018         (pop_init_level): Pop it.
5019         (set_designator): Set it.
5020
5021         (pop_init_level): Suppress "missing initializer" warnings if
5022         constructor_designated is true.
5023         (process_init_element): Suppress warning about union
5024         initialization under traditional C, if constructor_designated
5025         is true.
5026
5027 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5028
5029         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
5030         change.
5031
5032 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
5033
5034         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
5035
5036 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
5037
5038         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
5039         the node was already a set to a constant.
5040
5041 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5042
5043         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
5044         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
5045
5046 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5047
5048         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
5049         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
5050         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5051         * s390.c (s390_final_chunkify): Don't use string concatenation.
5052         (s390_function_prologue, s390_function_epilogue): Const-ify.
5053         * s390.h (FUNCTION_PROFILER): Remove unused variable.
5054
5055 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
5056
5057         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
5058         prototypes.
5059
5060 2001-10-23  Stan Shebs  <shebs@apple.com>
5061
5062         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
5063         -traditional-cpp in first-stage compilation.
5064
5065 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5066
5067         * gensupport.c (target_flags): Add.
5068
5069 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
5070
5071         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
5072         if needed.
5073         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
5074         * except.c (expand_builtin_frob_return_addr): Likewise.
5075         (expand_builtin_eh_return): Likewise.
5076         * stmt.c (expand_computed_goto): Likewise.
5077         * explow.c (memory_address): Likewise.
5078         (allocate_dynamic_stack_space): Clean up predicate testing.
5079         (probe_stack_range): Convert SIZE to Pmode.
5080         * calls.c (rtx_for_function_call): Only call convert_memory_address
5081         if needed.
5082         Pass function call operand as ptr_mode, not Pmode.
5083         * expr.c (expand_assignment): Clean up calls to convert_memory
5084         address by only doing so when needed and making offsets Pmode.
5085         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
5086         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
5087         is in Pmode, not ptr_mode.
5088
5089 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5090
5091         * darwin-protos.h (constructor_section, destructor_section,
5092         mod_init_section, mod_term_section): Prototype.
5093         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
5094         Const-ify.
5095         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
5096         Likewise.
5097         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
5098         objc_section_init declaration.
5099         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
5100         (objc_section_init, try_section_alias): Make static.
5101         (alias_section): Make static and hide unused function.
5102         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
5103
5104 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5105
5106         * alias.c (can_address_p): Compnonents are not addressable if
5107         the containing type has alias set 0.
5108         (get_alias_set): Rework to use STRIP_NOPS.
5109         Only call front-end routine on object, type, or object with
5110         NOPs stripped, not inner values.
5111         Use language hook to call front-end routine.
5112         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
5113         (expand_builtin_apply): Call set_mem_align on MEMs we make.
5114         Don't pass alignment to emit_block_move.
5115         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
5116         (expand_builtin_memset): Likewise, but for clear_storage.
5117         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
5118         and remove C++ specific parts.
5119         * c-common.h (c_common_get_alias_set): Add declaration.
5120         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
5121         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
5122         (save_fixed_argument_area): Call set_mem_align.
5123         Remove alignment in call to emit_block_move.
5124         (emit_library_call_value_1, store_one_arg): Likewise.
5125         (target_for_arg): Remove; disabled long ago.
5126         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
5127         once and similar cleanups.
5128         (offset_address): Use proper introductory comment.
5129         * expr.c (emit_block_move): Use alignment from that of MEM args, not
5130         from explicit operand; all callers changed.
5131         (clear_storage): Likewise.
5132         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
5133         (store_field): Remove kludge on alias set used for to_rtx.
5134         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
5135         (expand_expr_unaligned): Call set_mem_attributes instead of
5136         set_mem_alias_set.
5137         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
5138         * function.c (assign_stack_temp_for_type): Set MEM alignment.
5139         (expand_function_end): Track MEM attributes of trampolines.
5140         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
5141         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
5142         attributes from original.
5143         * langhooks.c (lang_hook_default_get_alias_set): New function.
5144         (hook_get_alias_set_0): New function.
5145         * langhooks.h (hook_get_alias_set_0): New declaration.
5146         (lang_hook_default_get_alias_set): Likewise.
5147         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
5148         * reload1.c (alter_reg): Use adjust_address_nv.
5149         * rtl.c (get_mode_alignment): Moved to here.
5150         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
5151         change default if unknown from 1 to BITS_PER_UNIT.
5152         * stor-layout.c (get_mode_alignment): Remove from here.
5153         * toplev.h (struct lang_hoks): Add get_alias_set field.
5154         * tree.h (lang_get_alias_set): Delete declaration.
5155         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
5156         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
5157         (ix86_va_arg): Likewise.
5158         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
5159         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
5160         * config/sparc/sparc.c (sparc_va_arg): Likewise.
5161         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
5162         (expand_block_move_mem): Remove dead code.
5163
5164 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
5165
5166         * c-common.c (warn_div_by_zero): New.
5167         * c-common.h (warn_div_by_zero): New.
5168         * c-decl.c (c_decode_option): Take it on the command line.
5169         * c-typeck.c (build_binary_op): Warn about division by zero.
5170         * doc/invoke.texi: Document the new command line option, fix
5171         documentation of -Wmultichar.
5172         * testsuite/gcc.dg/divbyzero.c: New tests.
5173         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
5174
5175 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
5176
5177         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
5178
5179         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
5180         to avoid update_life_info call.
5181         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
5182         * cfgcleanup.c (bb_flags): New enum.
5183         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
5184         (notice_new_block, update_forwarder_flag): New functions.
5185         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
5186         (try_forward_edges): Likewise; update flags.
5187         (merge_blocks): Likewise.
5188         (outgoing_edges_match): Likewise.
5189         (try_crossjump_to_edge): Likewise.
5190         (try_optimize_cfg): Likewise; initialize and clear the flags;
5191         recompute life info if needed.
5192         (cleanup_cfg): No need to clear aux pointers.
5193
5194 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
5195
5196         * config/i386/i386.c (override_options): Default to minimum
5197         stack alignment when optimizing for code size.
5198         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
5199         change.
5200
5201         * config/i386/i386.c (override_options): Set upper limit of
5202         -mpreferred-stack-boundary to 12.
5203
5204 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
5205
5206         * recog.c (peephole2_optimize): Add default case to switch.
5207
5208 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
5209
5210         * doc/gcc.texi (Sending Patches): Remove.
5211
5212 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
5213
5214         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
5215         fields when comparing.
5216
5217 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5218
5219         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
5220         * arm.c (HOST_INT, HOST_UINT): Likewise.
5221
5222 2001-10-22  Stan Shebs  <shebs@apple.com>
5223
5224         * config/darwin-protos.h (darwin_exception_section): Declare.
5225         (darwin_eh_frame_section): Declare.
5226
5227 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
5228
5229         * i386.md (movti_rex64): Fix mode.
5230
5231 2001-10-22  Stan Shebs  <shebs@apple.com>
5232
5233         * target.h (struct gcc_target): Add asm_out.exception_section,
5234         asm_out.eh_frame_section.
5235         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
5236         (TARGET_ASM_EH_FRAME_SECTION): New.
5237         (TARGET_INITIALIZER): Update.
5238         * output.h (default_exception_section): Declare.
5239         (default_eh_frame_section): Declare.
5240         * dwarf2out.c: Include target.h.
5241         (output_call_frame_info): Call target hook for eh frames.
5242         (default_eh_frame_section): New function.
5243         * except.c: Include target.h.
5244         (output_function_exception_table): Call target hook for exception
5245         section.
5246         * varasm.c (default_exception_section): Rename from
5247         exception_section, remove EXCEPTION_SECTION macro.
5248
5249         * config/darwin.h (darwin_eh_frame_section): New function.
5250         (EXCEPTION_SECTION): Remove.
5251         (TARGET_ASM_EXCEPTION_SECTION): Define.
5252         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
5253         (nextstep_exception_section): New function.
5254         (nextstep_eh_frame_section): New function.
5255         (TARGET_ASM_EXCEPTION_SECTION): Define.
5256         (TARGET_ASM_EH_FRAME_SECTION): Define.
5257
5258         * config/pa/som.h (EXCEPTION_SECTION): Remove.
5259         (TARGET_ASM_EXCEPTION_SECTION): Define.
5260         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
5261         (EXCEPTION_SECTION): Remove.
5262         (TARGET_ASM_EXCEPTION_SECTION): Define.
5263         * config/stormy16/stormy16.h: Remove comments referencing
5264         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
5265
5266         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
5267         TARGET_ASM_EH_FRAME_SECTION.
5268
5269 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
5270
5271         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
5272         terms.
5273
5274         * c-format.c: Fix spelling typo in comment.
5275
5276         * sched-int.h: Fix typo in GCC preamble.
5277
5278 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5279
5280         PR debug/4252
5281         * doc/invoke.texi: Remove references to -fdump-translation-unit.
5282
5283 2001-10-22  Richard Henderson  <rth@redhat.com>
5284
5285         * config/i386/i386.c (ix86_expand_clear): New.
5286         * config/i386/i386-protos.h: Declare it.
5287         * config/i386/i386.md (setcc peep2s): Use it.
5288         (movsi_xor): Unexport.
5289
5290 2001-10-22  Richard Henderson  <rth@redhat.com>
5291
5292         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
5293         free_EXPR_LIST_list for LOG_LINKS.
5294
5295 2001-10-21  Robert Lipe  <robertlipe@usa.net>
5296
5297         * config/i386/i386.c (sco_asm_named_section): Delete.
5298         (sco_asm_out_constructor): Delete.
5299         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
5300         (ASM_OUTPUT_DOUBLE_INT): Likewise.
5301         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
5302         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
5303         (EXCEPTION_SECTION): Delete EH scn renaming hack.
5304
5305 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5306
5307         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
5308         and/or fold extra calls into fewer ones.
5309         * collect2.c (dump_file): Likewise.
5310         * cppexp.c (parse_number): Likewise.
5311         * cpplex.c (_cpp_lex_direct): Likewise.
5312         * final.c (output_asm_insn, asm_fprintf): Likewise.
5313         * fix-header.c (inf_scan_ident, main): Likewise.
5314         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
5315         Likewise.
5316         * fold-const.c (real_hex_to_f): Likewise.
5317         * gen-protos.c (parse_fn_proto): Likewise.
5318         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
5319         * genrecog.c (change_state, write_action): Likewise.
5320         * gensupport.c (shift_output_template): Likewise.
5321         * local-alloc.c (requires_inout): Likewise.
5322         * mips-tfile.c (IS_ASM_IDENT): Likewise.
5323         * protoize.c (is_id_char, main): Likewise.
5324         * real.c (asctoeg): Likewise.
5325         * recog.c (asm_operand_ok): Likewise.
5326         * reload.c (find_reloads): Likewise.
5327         * scan.c (scan_identget_token): Likewise.
5328         * sched-vis.c (print_value): Likewise.
5329         * stringpool.c (ggc_alloc_string): Likewise.
5330         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
5331         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
5332         * tradcpp.c (rescan): Likewise.
5333         * tree.c (clean_symbol_name): Likewise.
5334         * varasm.c (decode_reg_name): Likewise.
5335
5336         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
5337         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
5338         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
5339         * m88k.c (output_ascii): Likewise.
5340         * m88k.h (OVERRIDE_OPTIONS): Likewise.
5341         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
5342         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
5343         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
5344
5345 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
5346
5347         * langhooks.c (lang_hook_default_do_nothing,
5348         lang_hook_default_decode_option): New defaults.
5349         * langhooks.h: Make hooks unconditional and non-NULL.
5350         * toplev.c (compile_file, toplev_main): Update.
5351         * toplev.h: Update comments.
5352         * objc/objc-act.c (lang_hooks): Update to new paradigm.
5353
5354 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5355
5356         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
5357
5358         * system.h (IN_RANGE): New macro.
5359
5360 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
5361
5362         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
5363         INTLDEPS variable, which does not include $LIBICONV.
5364         * Makefile.in: Use INTLDEPS in LIBDEPS.
5365         * configure: Regenerate.
5366
5367 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
5368
5369         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
5370         * cpplex.c (lex_percent, lex_dot): Remove.
5371         (get_effective_char, skip_block_comment, skip_line_comment,
5372         parse_identifier_slow, parse_number, parse_string, save_comment,
5373         _cpp_lex_direct): Update to do lookback freely.
5374         (IF_NEXT_IS, BACKUP): New macros.
5375         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
5376         * cppmacro.c (paste_tokens): Update.
5377
5378 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
5379
5380         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
5381
5382 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
5383
5384         * reload1.c (reload): Check CONSTANT_P before calling
5385         LEGITIMATE_PIC_OPERAND_P.
5386         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
5387         workaround of 2001-10-13.
5388
5389 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
5390
5391         * i386.c (split_di): Handle splitting of DFmode.
5392
5393 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5394
5395         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
5396         (adjust_address_1, offset_address): Likewise.
5397
5398         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
5399         (output_asm_insn): Call it for each line output.
5400         Don't record an operand more than once.
5401
5402         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
5403         * main.c: Include config.h and system.h, but not ansidecl.h.
5404         * Makefile.in (main.o): Update accordingly.
5405
5406 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
5407
5408         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
5409
5410 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
5411
5412         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
5413         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
5414         Break out from ...
5415         (find_sub_basic_blocks): ... here;
5416         (find_many_sub_basic_blocks): New.
5417         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
5418
5419         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
5420
5421         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
5422
5423         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
5424
5425         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
5426         * flow.c (update_life_info): Measure time.
5427         * c-decl.c: Include timevar.h
5428         (c_expand_body): Measure time.
5429         * toplev.c (rest_of_compilation): Measure time of mode switching
5430         separately.
5431         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
5432
5433         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
5434         (lang_independent_options): Add asynchronous-unwind-tables
5435         (toplev_main): flag_asynchronous_unwind_tables implies
5436         flag_unwind_tables.
5437         * flags.h (flag_asynchronous_unwind_tables): Declare.
5438         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
5439         flag_asynchronous_unwind_tables.
5440         (output_call_frame_info): Likewise.
5441         * invoke.texi (-fasynchronous-unwind-tables): Document.
5442         * i386.c (optimization_options): Enable
5443         flag_asynchronous_unwind_tables.
5444
5445         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
5446         * i386.md (s* expanders): Destination is QImode.
5447
5448         * toplev.c (rest_of_compilation): Do not call clear_log_links.
5449         * rtl.h (clear_log_links): Kill.
5450         * flow.c (clear_log_links): Make static; accept blocks parameter;
5451         do no clear life info.
5452         (update_life_info): Call clear_log_links.
5453
5454         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
5455
5456 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
5457
5458         * cpplex.c (handle_newline, skip_escaped_newlines,
5459         get_effective_char, skip_block_comment, skip_line_comment,
5460         parse_identifier_slow, parse_number, parse_string,
5461         _cpp_lex_direct): Update to do more stepping back.
5462         (trigraph_ok): Similarly.  Rename trigraph_p.
5463         (SAVE_STATE, RESTORE_STATE): Remove.
5464         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
5465
5466         * cpplib.c (destringize): Rename destringize_and_run, and
5467         call run_directive directly.
5468         (_cpp_do__Pragma): Simplify.
5469
5470 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5471
5472         * pe.c (arm_pe_unique_section): Const-ify.
5473         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5474         (switch_to_section): Add static prototype.
5475
5476         * output.h (drectve_section): Prototype.
5477
5478 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5479
5480         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
5481         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
5482         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
5483         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
5484         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
5485         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
5486         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
5487         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
5488         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
5489         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
5490         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
5491         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
5492         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
5493         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
5494         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
5495         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
5496         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
5497         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
5498         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
5499         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
5500         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
5501         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
5502         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
5503         cris-*-none, cris-*-linux*: Update ${tmfile} list.
5504         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
5505         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
5506         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
5507         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
5508         v850-*-*): Delete superflous ${cpu_type} setting.
5509         * config/linux.h: Delete svr4.h include.
5510         (SET_ASM_OP): Delete.
5511         * config/netware.h (INT_ASM_OP): Undef before define.
5512         * config/ptx4.h: Delete elfos.h include.
5513         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
5514         * config/svr4.h: Delete elfos.h include. Update commentary.
5515         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
5516         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
5517         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
5518         config/v850/v850.h: Delete svr4.h include.
5519         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
5520         config/m68k/m68kv4.h, config/m88k/sysv4.h,
5521         config/sparc/sysv4.h: Update includes.
5522         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
5523         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
5524         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
5525         config/m88k/dguxbcs.h: Delete includes.
5526         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
5527         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
5528         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
5529         it.
5530         * config/m88k/dgux.h: Delete include.
5531         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
5532         defining it.
5533         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
5534         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
5535         * config/sh/elf.h: Update include.
5536         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
5537         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
5538
5539 2001-10-19  Catherine Moore  <clm@redhat.com>
5540
5541         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
5542         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
5543         base and count fields.
5544         (stormy16_expand_builtin_va_start):  last_reg_count changed to
5545         size_of_reg_args.  Use count + size in first comparison.
5546
5547 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5548
5549         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
5550         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
5551         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
5552         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
5553         Set alignment from type if INDIRECT_REF.
5554         (adjust_address_1, offset_address): Simplify alignment compuitation.
5555         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
5556         here; done by set_mem_attributes.
5557
5558 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5559
5560         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
5561         * arm-protos.h (rdata_section, zero_init_section, common_section):
5562         Prototype.
5563         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
5564         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
5565         traditional mode stringification.
5566         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
5567         in macros controling its use.
5568         * rtlanal.c: Include tm_p.h.
5569         * varasm.c (asm_output_aligned_bss): Mark parameter with
5570         ATTRIBUTE_UNUSED.
5571         (assemble_constant_align, assemble_start_function, assemble_align,
5572         assemble_variable, assemble_trampoline_template,
5573         output_constant_def_contents): Wrap potentially empty if-stmt body
5574         in brackets.
5575
5576 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5577
5578         * a29k-protos.h (literal_section): Prototype.
5579         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
5580         * a29k.md: Ensure function pointers are prototyped.
5581         * genattrtab.c (write_eligible_delay): Mark parameter with
5582         ATTRIBUTE_UNUSED.
5583
5584 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5585
5586         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
5587         * 1750a.c (print_operand): Fix format specifier warning.
5588         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
5589         * 1750a.md: Likewise.
5590         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
5591         * genemit.c (output_add_clobbers): Mark parameter with
5592         ATTRIBUTE_UNUSED.
5593         * genrecog.c (write_subroutine): Likewise.
5594         * integrate.c (expand_inline_function): Delete unused variable.
5595         * varasm.c (remove_from_pending_weak_list): Wrap with
5596         ASM_WEAKEN_LABEL.
5597
5598 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
5599
5600         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
5601         field is different to previous argument's neg field.
5602
5603         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
5604
5605 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5606
5607         * final.c (get_decl_from_op): New function.
5608         (output_asm_insn): Call it; write "*" when item with decl is address.
5609
5610 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
5611
5612         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
5613         about 64-bit support from the 3.0_branch version.
5614
5615 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
5616
5617         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
5618         USE_INCLUDED_LIBINTL when appropriate.
5619         * configure, config.in: Regenerate.
5620         * Makefile.in (datadir): Set to @datadir@.
5621         (intl.o): Also depend on $(CONFIG_H) and system.h.
5622
5623         * intl.c: Factor out common gettext initialization sequence.
5624         (gcc_init_libintl):  New function.
5625         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
5626         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
5627         off NLS.  Add multiple include guard.  No need to #ifdef-guard
5628         an #undef.  Prototype gcc_init_libintl here.
5629
5630         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
5631         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
5632         Use gcc_init_libintl.
5633
5634 2001-10-19  Catherine Moore  <clm@redhat.com>
5635
5636         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
5637
5638         * config/stormy16/stormy16.c (stormy16_split_move):  Make
5639         sure that REG_INC notes are present for auto_inc operands.
5640
5641 2001-10-19  Andreas Jaeger  <aj@suse.de>
5642
5643         * configure: Regenerated.
5644         * configure.in: Add x86_64 to switch statements.
5645
5646 2001-10-18  Richard Henderson  <rth@redhat.com>
5647
5648         * config/alpha/alpha.md (sibcall_osf_1): Load destination
5649         address into $27 explicitly.
5650         (sibcall_value_osf_1): Likewise.
5651
5652 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5653
5654         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
5655         (offset_address): New function.
5656         (free_emit_status): Free regno_decl.
5657         (init_emit): Pass proper number of elements to xcalloc.
5658         Allocate regno_decl.
5659         (mark_emit_status): Mark regno_decl values.
5660         * expr.c (highest_pow2_factor): New function.
5661         (expand_assigment): Use it and offset_address.
5662         Properly handle ptr_mode vs. Pmode in offset calculation.
5663         (store_constructor, expand_expr_unaligned): Likewise.
5664         (expand_expr, case COMPONENT_EXPR): Likewise.
5665         * expr.h (offset_address): New decl.
5666         * function.h (struct emit_status): Add regno_decl.
5667         (REGNO_DECL): New macro.
5668         * final.c (output_asm_name): Move in file and don't conditionalize
5669         on flag_print_asm_name.
5670         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
5671         Output names of operands, if known.
5672         * function.c (assign_parms): Set REGNO_DECL.
5673         * integrate.c (integrate_decl_tree): Likewise.
5674         * stmt.c (expand_decl): Likewise.
5675         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
5676
5677 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
5678
5679         * attribs.c (handle_noinline_attribute): New function.
5680         (handle_used_attribute): Likewise.
5681         (c_common_attribute_table): Added noinline and used.
5682         * doc/extend.texi (Function Attributes): Document them.
5683         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
5684         Warn when merging inline with attribute noinline.
5685         (start_decl, start_function): Warn if inline and attribute
5686         noinline appear in the same declaration.
5687
5688 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
5689
5690         * config.gcc: Update c4x and i370 for C front end-specific
5691         dependencies.
5692         * config/c4x/c4x-c.c: New.
5693         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
5694         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
5695         New declarations.
5696         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
5697         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
5698         Make extern.
5699         (c4x_init_pragma): Remove.
5700         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
5701         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
5702         c4x_pr_ignored): Move to c4x-c.c.
5703         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
5704         * config/c4x/t-c4x: Update.
5705         * config/i370/i370-c.c: New.
5706         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
5707         (i370_pr_map): Move to i370-c.c.
5708         * config/i370/t-i370: New.
5709
5710         * doc/tm.texi: Update.
5711
5712 2001-10-17  Stan Shebs  <shebs@apple.com>
5713
5714         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
5715         typo fixes throughout.
5716         (machopic_output_stub): Remove some dead code.
5717
5718 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
5719
5720         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
5721         leak.
5722
5723 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5724
5725         * Makefile.in (print-rtl.o): Depend on TREE_H.
5726         * alias.c (get_alias_set): Make two passes over objects to first
5727         see if inner object is access via restricted pointer.
5728         Defer allocating alias set for restricted pointer until here.
5729         Call find_placeholder with second arg nonzero.
5730         Minor cleanups.
5731         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
5732         set for restricted pointer types.
5733         * emit-rtl.c (set_mem_attributes): Set more attributes.
5734         (set_mem_align, change_address, adjust_address_1): New functions.
5735         (change_address_1): Now static.
5736         (adjust_address, adjust_address_nv): Deleted.
5737         (replace_equiv_address): Call change_address_1.
5738         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
5739         (find_placeholder): Get starting point from PLIST arg.
5740         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
5741         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
5742         (adjust_address, adjust_address_nv): New macros.
5743         * print-rtl.c (tree.h): New include.
5744         (print_rtx, case MEM): Print all memory attributes.
5745
5746 2001-10-17  Richard Henderson  <rth@redhat.com>
5747
5748         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
5749
5750 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5751
5752         * c-tree.texi: Eliminate duplicated word.
5753         * cpp.texi: Likewise.
5754         * install.texi: Likewise.
5755         * invoke.texi: Likewise.
5756         * tm.texi: Likewise.
5757
5758 2001-10-17  Michael Collison  <collison@isisinc.net>
5759
5760         * dsp16xx.c: Fix comment formatting to match GNU standards.
5761         (dsp16xx_output_function_prologue): Change type of 'size'
5762         parameter from 'int' to HOST_WIDE_INT.
5763         (dsp16xx_output_function_epilogue): Change type of 'size'
5764         parameter from 'int' to HOST_WIDE_INT.
5765
5766 2001-10-16  Richard Henderson  <rth@redhat.com>
5767
5768         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
5769         * configure, config.in: Rebuild.
5770
5771         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
5772         (ix86_output_addr_diff_elt): New.
5773         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
5774         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5775         (JUMP_TABLES_IN_TEXT_SECTION): New.
5776         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
5777         * config/i386/i386-protos.h: Update.
5778
5779         * config/i386/386bsd.h, config/i386/beos-elf.h,
5780         config/i386/freebsd-aout.h, config/i386/freebsd.h,
5781         config/i386/i386-interix.h, config/i386/i386elf.h,
5782         config/i386/linux.h, config/i386/netbsd-elf.h,
5783         config/i386/netbsd.h, config/i386/openbsd.h,
5784         config/i386/ptx4-i.h, config/i386/rtemself.h,
5785         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
5786         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
5787
5788 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
5789
5790         * stmt.c (expand_asm_operands): Update commentary.
5791
5792 2001-10-16  Stan Shebs  <shebs@apple.com>
5793
5794         * config/darwin.h (GCC_NAME): Remove, no longer used.
5795         (NO_MATH_LIBRARY): Ditto.
5796         (MATH_LIBRARY): Define to emptiness.
5797         (DWARF2_DEBUGGING_INFO): Define.
5798         (PREFERRED_DEBUGGING_TYPE): Define.
5799         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
5800         (EXCEPTION_SECTION): Define.
5801         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5802         * config/darwin.c (darwin_encode_section_info): Handle case of
5803         DECL_INITIAL being error_mark_node.
5804
5805 2001-10-16  Richard Henderson  <rth@redhat.com>
5806
5807         * alpha.c (current_file_function_operand): Don't fail for profiling.
5808         (direct_call_operand): New.
5809         * alpha-protos.h: Declare it.
5810         * alpha.h (EXTRA_CONSTRAINT): Use it.
5811         (PREDICATE_CODES): Add it.
5812         (ASM_OUTPUT_MI_THUNK): Remove.
5813         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
5814         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
5815
5816 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
5817
5818         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
5819         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5820
5821 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
5822
5823         * cfg.c (free_edge): Break out from ....
5824         (remove_edge): ... here.
5825         (clear_edges): Use free_edge.
5826
5827         * att.h (ASM_QUAD): Add comment.
5828         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
5829
5830 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
5831
5832         * i386.c (split_ti): New function.
5833         (ix86_split_to_parts): Support TImodes.
5834         * i386.h (VALID_INT_MODE_P): Add TImode.
5835         * i386.md (movdi splitter): Fix.
5836         (movti): Support 64bit integer registers.
5837         (movti_rex64): New function and splitter.
5838
5839         * i386.c (*_cost): Add movsx/movzx cost.
5840         * i386.h (struct processor_costs): Add movsx/movzx fields.
5841         (RTX_COSTS): Handle zero/sign extend + avoid believing that
5842         64bit operations require split on 64bit machine.
5843         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
5844
5845         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
5846         (ix86_expand_move): Avoid pushes of memory if size does not match;
5847         move long constants to register.
5848         (x86_initialize_trampoline): Fix mode.
5849         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
5850         Use ASM_QUAD on 64bit.
5851         * i386.md (test pattern): Disallow impossible constants.
5852         (tablejump PIC expander): Fix emitting of sum.
5853         (movdicc_rex64): Rename to movdicc.
5854         * linux64.h (LINK_SPEC): Add missing '%'.
5855
5856 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
5857
5858         * tree-inline.c (inlinable_function_p): Leave it up to the
5859         front-end to turn -finline-functions into DECL_INLINE set for all
5860         functions.
5861
5862 2001-10-16  Stan Shebs  <shebs@apple.com>
5863
5864         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
5865
5866 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
5867
5868         * recog.c: Formatting and comment typo fixes.
5869
5870         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
5871         version in single tree build.
5872         * configure: Regenerate.
5873
5874 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
5875
5876         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
5877         MODE arguments to gen_rtx and compare operand with const0_rtx.
5878
5879 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5880
5881         * system.h: Poison old unused target macros.
5882         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
5883         * config/stormy16/stormy16.c: Update references to obsolete macros.
5884         * config/stormy16/stormy16.h: Similarly.
5885         * config/stormy16/stormy16.md: Similarly.
5886         * config/cris/cris.h: Similarly.
5887
5888 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5889
5890         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
5891         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
5892         cpp_register_pragma): Update accordingly.
5893
5894 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5895
5896         * c-pragma.h (cpp_register_pragma_space): Remove.
5897         * cpplib.h (cpp_register_pragma_space): Remove.
5898         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
5899         (cpp_register_pragma_space): Remove.
5900         (cpp_register_pragma): Simplify using lookup_pragma_entry,
5901         add sanity checks.
5902         (do_pragma): Similarly.
5903         (_cpp_init_internal_pragmas): Don't register namespaces.
5904
5905         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
5906         Don't register namespaces.
5907         * cp/lex.c (init_cp_pragma): Similarly.
5908         * doc/tm.texi: Update.
5909
5910 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5911
5912         PR c/4157
5913         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
5914
5915 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
5916
5917         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
5918         add scheduling support.
5919         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
5920         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
5921         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
5922
5923
5924 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
5925
5926         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
5927         missing CONSTANT_P test in core GCC.
5928
5929 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
5930
5931         * cppmain.c (struct printer): New member source.
5932         (scan_translation_unit): Fix spacing at start of lines.
5933         (cb_line_change): Update.
5934
5935         * gcc.dg/cpp/spacing2.c: New test.
5936
5937 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
5938
5939         * config/cris/arit.c: Use __builtin_labs, not abs.
5940
5941         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
5942
5943         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
5944         misplaced sprintf and fprintf argument.
5945
5946 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
5947
5948         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
5949         * configure.in, Makefile.in: Take out obsolete check-po logic.
5950         * configure, config.in: Regenerate.
5951
5952 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
5953
5954         * objc/objc-act.c (finish_objc): Correct precondition for emitting
5955         symtab declarations.
5956
5957 2001-10-12  Stan Shebs  <shebs@apple.com>
5958
5959         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
5960         declarations of arguments and local variables.
5961
5962 2001-10-12  Christopher Faylor  <cgf@redhat.com>
5963
5964         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
5965         ENDFILE_SPEC definition.
5966
5967 2001-10-12  Kazu Hirata  <kazu@hxi.com>
5968
5969         * gthr-dce.h: Fix comment formatting.
5970         * gthr-posix.h: Likewise.
5971         * gthr-single.h: Likewise.
5972         * gthr-solaris.h: Likewise.
5973         * gthr-vxworks.h: Likewise.
5974         * gthr-win32.h: Likewise.
5975
5976 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
5977
5978         * final.c (output_asm_insn): Make sure assembly dialects are
5979         terminated, not nested.  Output `|' and `}' characters if they
5980         don't appear inside assembly dialect selection.
5981         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
5982         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
5983         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
5984         strsetsi_rex_1): Add {} braces.
5985
5986 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
5987
5988         * toplev.c (compile_file): Ignore return value from yyparse.
5989         Always pop any nested binding levels after yyparse returns.
5990
5991 2001-10-11  Richard Henderson  <rth@redhat.com>
5992
5993         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
5994
5995 2001-10-11  Richard Henderson  <rth@redhat.com>
5996
5997         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
5998         fall back to add_AT_long_long for large CONST_INT.
5999
6000 2001-10-11  Richard Henderson  <rth@redhat.com>
6001
6002         * config/i386/i386.md (setcc splitters): Add four splitters to
6003         simplify compound compares that simplify_comparison can't handle.
6004
6005 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
6006
6007         * cpplex.c (digraph_spellings, token_spellings): Make static.
6008
6009 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6010
6011         * unroll.c (loop_iterations): Fixup last patch.
6012
6013 2001-10-11  Richard Henderson  <rth@redhat.com>
6014
6015         * rtl.h (REG_VTABLE_REF): New.
6016         * rtl.c (reg_note_name): Add it.
6017         * combine.c (distribute_notes): Handle it.
6018         * final.c (final_scan_insn): Handle it.
6019         * tree.def (VTABLE_REF): New.
6020         * expr.c (expand_expr): Handle it.
6021         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
6022         * output.h: Declare them.
6023
6024 2001-10-11  Richard Henderson  <rth@redhat.com>
6025
6026         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
6027         for a DECL_INITIAL.
6028
6029 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
6030
6031         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
6032         available in 64-bit mode.
6033
6034 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
6035
6036         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
6037         cris-*-linux* cases.
6038         * config/cris/cris-protos.h: New file.
6039         * config/cris/cris.c: New file.
6040         * config/cris/cris.h: New file.
6041         * config/cris/cris.md: New file.
6042         * config/cris/linux.h: New file.
6043         * config/cris/aout.h: New file.
6044         * config/cris/arit.c: New file.
6045         * config/cris/cris_abi_symbol.c: New file.
6046         * config/cris/mulsi3.asm: New file.
6047         * config/cris/t-aout: New file.
6048         * config/cris/t-cris: New file.
6049         * config/cris/t-elfmulti: New file.
6050         * config/cris/t-linux: New file.
6051         * doc/invoke.texi: Add CRIS options.
6052         * doc/install.texi (Specific): Add blurb for CRIS.
6053
6054 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
6055
6056         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
6057         before using it.
6058         * config/float/i32.h: Likewise.
6059         * config/float-i386.h: Likewise.
6060         * config/float-i64.h: Likewise.
6061         * config/float-m68k.h: Likewise.
6062         * config/float-sh.h: Likewise.
6063         * config/float-sparc.h: Likewise.
6064
6065 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
6066
6067         * doc/contrib.texi: Add note about CRIS port to my entry.
6068
6069 2001-10-11  Kazu Hirata  <kazu@hxi.com>
6070
6071         * basic-block.h: Fix formatting.
6072         * bitmap.h: Likewise.
6073         * cpplib.h: Likewise.
6074         * c-tree.h: Likewise.
6075         * diagnostic.h: Likewise.
6076         * flags.h: Likewise.
6077         * ggc.h: Likewise.
6078         * longlong.h: Likewise.
6079         * real.h: Likewise.
6080         * reload.h: Likewise.
6081         * rtl.h: Likewise.
6082         * tree.h: Likewise.
6083
6084 2001-10-10  Richard Henderson  <rth@redhat.com>
6085
6086         * c-parse.in (asm_operand): Allow named operands.
6087         * genconfig.c (max_recog_operands): Set to 29.
6088         * local-alloc.c (requires_inout): Skip multiple digits.
6089         * recog.c (asm_operand_ok): Likewise.
6090         (preprocess_constraints): Use strtoul for matching constraints.
6091         (constrain_operands): Likewise.
6092         * regmove.c (find_matches): Likewise.
6093         * reload.c (find_reloads): Likewise.
6094         * stmt.c (parse_output_constraint): Don't reject in-out
6095         constraint on operands > 9.  Reject '[' in constraint.
6096         (expand_asm_operands): Handle named operands.  Use strtoul
6097         for matching constraints.
6098         (check_operand_nalternatives): Split out from expand_asm_operands.
6099         (check_unique_operand_names): New.
6100         (resolve_operand_names, resolve_operand_name_1): New.
6101
6102         * doc/extend.texi (Extended Asm): Document named operands.
6103         * doc/md.texi (Simple Constraints): Document matching constraints
6104         on operands > 9.
6105
6106 2001-10-10  Richard Henderson  <rth@redhat.com>
6107
6108         * combine.c (try_combine): Handle a SEQUENCE of one insn.
6109
6110         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
6111         (jcc splitters): Add two splitters to simplify compound compares
6112         that simplify_comparison can't handle.
6113
6114 2001-10-10  Richard Henderson  <rth@redhat.com>
6115
6116         * langhooks.c: Include langhooks.h.
6117         * Makefile.in (langhooks.o): Depend on it.
6118
6119 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
6120
6121         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
6122         should not be considered as a no-op.
6123         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
6124
6125 2001-10-10  Stan Shebs  <shebs@apple.com>
6126
6127         * alias.c: Remove uses of "register" specifier in declarations
6128         of arguments and local variables.
6129         * c-common.c: Ditto.
6130         * c-convert.c: Ditto.
6131         * c-decl.c: Ditto.
6132         * c-format.c: Ditto.
6133         * c-semantics.c: Ditto.
6134         * c-typeck.c: Ditto.
6135         * caller-save.c: Ditto.
6136         * calls.c: Ditto.
6137         * cfg.c: Ditto.
6138         * cfgbuild.c: Ditto.
6139         * cfgrtl.c: Ditto.
6140         * collect2.c: Ditto.
6141         * combine.c: Ditto.
6142         * convert.c: Ditto.
6143         * cppexp.c: Ditto.
6144         * cppfiles.c: Ditto.
6145         * cse.c: Ditto.
6146         * dbxout.c: Ditto.
6147         * defaults.h: Ditto.
6148         * df.c: Ditto.
6149         * dwarf2out.c: Ditto.
6150         * dwarfout.c: Ditto.
6151         * emit-rtl.c: Ditto.
6152         * explow.c: Ditto.
6153         * expmed.c: Ditto.
6154         * expr.c: Ditto.
6155         * final.c: Ditto.
6156         * fix-header.c: Ditto.
6157         * floatlib.c: Ditto.
6158         * flow.c: Ditto.
6159         * fold-const.c: Ditto.
6160         * function.c: Ditto.
6161         * gcc.c: Ditto.
6162         * gcse.c: Ditto.
6163         * gen-protos.c: Ditto.
6164         * genattrtab.c: Ditto.
6165         * gencheck.c: Ditto.
6166         * genconfig.c: Ditto.
6167         * genemit.c: Ditto.
6168         * genextract.c: Ditto.
6169         * genflags.c: Ditto.
6170         * gengenrtl.c: Ditto.
6171         * genoutput.c: Ditto.
6172         * genpeep.c: Ditto.
6173         * genrecog.c: Ditto.
6174         * gensupport.c: Ditto.
6175         * global.c: Ditto.
6176         * gmon.c: Ditto.
6177         * graph.c: Ditto.
6178         * haifa-sched.c: Ditto.
6179         * hard-reg-set.h: Ditto.
6180         * hash.c: Ditto.
6181         * integrate.c: Ditto.
6182         * jump.c: Ditto.
6183         * lists.c: Ditto.
6184         * local-alloc.c: Ditto.
6185         * loop.c: Ditto.
6186         * mips-tdump.c: Ditto.
6187         * mips-tfile.c: Ditto.
6188         * optabs.c: Ditto.
6189         * prefix.c: Ditto.
6190         * print-rtl.c: Ditto.
6191         * read-rtl.c: Ditto.
6192         * real.c: Ditto.
6193         * recog.c: Ditto.
6194         * reg-stack.c: Ditto.
6195         * regclass.c: Ditto.
6196         * regmove.c: Ditto.
6197         * reload.c: Ditto.
6198         * reload1.c: Ditto.
6199         * reorg.c: Ditto.
6200         * resource.c: Ditto.
6201         * rtl.c: Ditto.
6202         * rtlanal.c: Ditto.
6203         * scan.c: Ditto.
6204         * sched-deps.c: Ditto.
6205         * sched-rgn.c: Ditto.
6206         * sdbout.c: Ditto.
6207         * simplify-rtx.c: Ditto.
6208         * stmt.c: Ditto.
6209         * stor-layout.c: Ditto.
6210         * toplev.c: Ditto.
6211         * tradcif.y: Ditto.
6212         * tradcpp.c: Ditto.
6213         * tree.c: Ditto.
6214         * unroll.c: Ditto.
6215         * varasm.c: Ditto.
6216         * xcoffout.c: Ditto.
6217
6218 2001-10-10  Richard Henderson  <rth@redhat.com>
6219
6220         * rtl.h (can_reverse_comparison_p): Remove.
6221
6222 2001-10-10  Christopher Faylor <cgf@redhat.com>
6223
6224         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
6225         used.
6226
6227 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
6228
6229         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
6230         (Thanks to Chris Faylor for suggesting macro name).
6231         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
6232         WIN32 defines.
6233         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
6234         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
6235         (MATH_LIBRARY): Undef before definition.
6236         (OUTPUT_QUOTED_STRING): Likewise.
6237         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
6238
6239 2001-10-10  Richard Henderson  <rth@redhat.com>
6240
6241         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
6242         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
6243         a tristate comparison value.
6244         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
6245
6246 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6247
6248         PR c++/4512
6249         * unroll.c (loop_iterations): Ignore insns generated by loop
6250         unrolling.
6251
6252         * config.gcc (mips*-*-gnu*): Delete support.
6253         * config/mips/gnu.h: Remove.
6254
6255 2001-10-10  Kazu Hirata  <kazu@hxi.com>
6256
6257         * calls.c: Fix formatting.
6258         * c-decl.c: Likewise.
6259         * cfgcleanup.c: Likewise.
6260         * combine.c: Likewise.
6261         * cppfiles.c: Likewise.
6262         * cpplib.c: Likewise.
6263         * cppmacro.c: Likewise.
6264         * crtstuff.c: Likewise.
6265         * cse.c: Likewise.
6266         * dwarf2out.c: Likewise.
6267         * expmed.c: Likewise.
6268         * expr.c: Likewise.
6269         * fold-const.c: Likewise.
6270         * function.c: Likewise.
6271         * gcse.c: Likewise.
6272         * genattrtab.c: Likewise.
6273         * ggc-page.c: Likewise.
6274         * integrate.c: Likewise.
6275         * libgcc2.c: Likewise.
6276         * loop.c: Likewise.
6277         * optabs.c: Likewise.
6278         * profile.c: Likewise.
6279         * protoize.c: Likewise.
6280         * real.c: Likewise.
6281         * recog.c: Likewise.
6282         * reload1.c: Likewise.
6283         * reload.c: Likewise.
6284         * reorg.c: Likewise.
6285         * resource.c: Likewise.
6286         * sched-rgn.c: Likewise.
6287         * sdbout.c: Likewise.
6288         * stmt.c: Likewise.
6289         * toplev.c: Likewise.
6290         * varasm.c: Likewise.
6291
6292 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
6293
6294         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
6295         * Makefile.in (langhooks.o): Add dependencies.
6296
6297 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
6298
6299         * rs6000.c (rs6000_emit_load_toc_table): Don't
6300         strdup the toc label.
6301         (create_TOC_reference): Likewise.
6302
6303 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
6304
6305         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
6306         version default.
6307
6308 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
6309
6310         * config/i386/i386.c (ix86_attribute_table): Correct
6311         min_len, max_len fields for dllimport, dllexport and shared.
6312
6313 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
6314
6315         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
6316         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
6317         Consistently use "nonzero" instead of "non-zero".
6318
6319 2001-10-09  Kazu Hirata  <kazu@hxi.com>
6320
6321         * acconfig.h: Fix comment formatting.
6322         * c-dump.h: Likewise.
6323         * c-tree.h: Likewise.
6324         * conditions.h: Likewise.
6325         * expr.h: Likewise.
6326         * function.h: Likewise.
6327         * gthr.h: Likewise.
6328         * hwint.h: Likewise.
6329         * integrate.h: Likewise.
6330         * intl.h: Likewise.
6331         * loop.h: Likewise.
6332         * optabs.h: Likewise.
6333
6334 2001-10-09  Kazu Hirata  <kazu@hxi.com>
6335
6336         * c-common.h: Fix comment formatting.
6337         * c-dump.c: Likewise.
6338         * cfg.c: Likewise.
6339         * diagnostic.h: Likewise.
6340         * except.c: Likewise.
6341         * gcc.h: Likewise.
6342         * gcov-io.h: Likewise.
6343         * genattrtab.c: Likewise.
6344         * output.h: Likewise.
6345         * predict.h: Likewise.
6346         * reload1.c: Likewise.
6347         * reload.h: Likewise.
6348         * resource.h: Likewise.
6349         * scan.h: Likewise.
6350         * system.h: Likewise.
6351         * tree.h: Likewise.
6352         * tree-inline.c: Likewise.
6353         * tsystem.h: Likewise.
6354         * varasm.c: Likewise.
6355         * xcoffout.h: Likewise.
6356
6357 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6358
6359         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
6360
6361 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6362
6363         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
6364         config/i386/i386elf.h, config/i386/netbsd-elf.h,
6365         config/i386/netware.h, config/mcore/gfloat.h,
6366         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
6367         config/netware.h, gccbug.in: Update FSF address.
6368
6369 2001-10-09  Kazu Hirata  <kazu@hxi.com>
6370
6371         * c-common.c: Fix comment typos.
6372         * cfgrtl.c: Likewise.
6373         * collect2.c: Likewise.
6374         * cpplex.c: Likewise.
6375         * doloop.c: Likewise.
6376         * dwarf2out.c: Likewise.
6377         * dwarfout.c: Likewise.
6378         * expr.c: Likewise.
6379         * fold-const.c: Likewise.
6380         * gcc.c: Likewise.
6381         * gcov.c: Likewise.
6382         * gcse.c: Likewise.
6383         * global.c: Likewise.
6384         * ifcvt.c: Likewise.
6385         * loop.c: Likewise.
6386         * optabs.c: Likewise.
6387         * protoize.c: Likewise.
6388         * regclass.c: Likewise.
6389         * reorg.c: Likewise.
6390         * rtl.h: Likewise.
6391         * stmt.c: Likewise.
6392         * tree.h: Likewise.
6393         * doc/cpp.texi: Likewise.
6394         * doc/c-tree.texi: Likewise.
6395         * doc/extend.texi: Likewise.
6396         * doc/invoke.texi: Likewise.
6397         * doc/objc.texi: Likewise.
6398         * doc/tm.texi: Likewise.
6399
6400 2001-10-08  Richard Henderson  <rth@redhat.com>
6401
6402         * varasm.c (set_named_section_flags): Initialize "declared".
6403
6404 2001-10-08  Robert Lipe  <robertlipe@usa.net>
6405
6406         * varasm.c (struct in_named_entry): Add declared.
6407         (named_section_first_declaration): New function.
6408         (default_elf_asm_named_section): Use it.
6409         * output.h (named_section_first_declaration): New.
6410
6411 2001-10-08  Richard Henderson  <rth@redhat.com>
6412
6413         * i386.md (movsi_xor): Export.
6414         (setcc peep2): Use it when available; add an alternative to
6415         match zero_extendhisi2_and.
6416
6417 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6418
6419         * romp-protos.h (romp_initialize_trampoline): New function.
6420         * romp.c (romp_initialize_trampoline): Likewise.
6421         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
6422         romp_initialize_trampoline.
6423
6424 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6425
6426         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
6427         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
6428         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
6429         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
6430
6431 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6432
6433         * unroll.c (loop_iterations): Extend check for multiple back edges.
6434
6435 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
6436
6437         * langhooks.h: New file.
6438         * Makefile.in (OBJS): Added langhooks.o.
6439         (c-lang.o): Depend on langhooks.h.
6440         (c-common.o): Don't depend on tree-inline.h.
6441         (tree-inline.o): Depend on toplev.h.
6442         (langhooks.o): New rule.
6443         * c-common.c: Don't include tree-inline.h.
6444         (c_mark_lang_decl): Mark argument c as unused.
6445         (c_common_lang_init): Don't initialize hooks here.
6446         * c-lang.c: Include langhooks.h, then override some macros.
6447         (lang_hooks): Initialize with macros in langhooks.h.
6448         (c_init): Don't initialize hooks here.
6449         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
6450         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
6451         * tree-inline.c: Include toplev.h.  Don't define hook variables.
6452         * tree-inline.h: Don't define hook types nor declare hook
6453         variables.  Move macros to...
6454         * langhooks.c: ... new file, as functions.  Adjust all callers.
6455
6456 2001-10-08  Jeffrey A Law  <law@cygnus.com>
6457
6458         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
6459         purge_mem_unchanging_flag on all instructions, not just on those
6460         before NOTE_INSN_FUNCTION_BEG.
6461
6462 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6463
6464         * cppmacro.c (_cpp_create_definition): Leave comments off.
6465
6466         * doc/cpp.texi: Update.
6467
6468 2001-10-08  DJ Delorie  <dj@redhat.com>
6469
6470         * c-decl.c (grokfield): Make sure the only unnamed fields
6471         we're allowing are either structs or unions.
6472         * doc/extend.texi: Add documentation for the unnamed field
6473         extension.
6474
6475 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
6476
6477         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
6478         * configure.in: Use it.
6479         * configure: Regenerated.
6480         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
6481         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
6482
6483 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6484
6485         * cppfiles.c (open_file): Don't mark zero-length files
6486         never-reread here.  Don't output diagnostics here either.
6487         (stack_include_file): Mark them never-reread here.
6488         (_cpp_read_file): Update.
6489
6490 2001-10-08  Richard Henderson  <rth@redhat.com>
6491
6492         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6493
6494 2001-10-08  Richard Henderson  <rth@redhat.com>
6495
6496         * expr.c (store_expr): When converting a CONST_INT for storage
6497         in a SUBREG, convert it to both SUBREG modes before stripping
6498         the SUBREG.
6499
6500 2001-10-08  Richard Henderson  <rth@redhat.com>
6501
6502         * varasm.c (restore_varasm_status): New.
6503         * function.h: Declare it.
6504         * function.c (pop_function_context_from): Call it.
6505
6506 2001-10-08  Richard Henderson  <rth@redhat.com>
6507
6508         * c-common.h (struct c_lang_decl): Add declared_inline.
6509         * c-tree.h (DECL_DECLARED_INLINE_P): New.
6510         * c-lang.c (c_disregard_inline_limits): Use it.
6511         * c-decl.c (duplicate_decls): Likewise.
6512         (pushdecl, redeclaration_error_message): Likewise.
6513         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
6514         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
6515         Set DECL_INLINE if -finline-functions.
6516         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
6517
6518 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6519
6520         * cppmacro.c (funlike_invocation_p): Move some logic to caller
6521         in enter_macro_context.  Create a padding token in its own context
6522         if necessary when the search for '(' fails.
6523         (enter_macro_context): Update.
6524
6525 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6526
6527         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
6528         genmultilib, toplev.c: Fix spelling errors of "separate" as
6529         "seperate", and corresponding spelling errors of related words.
6530
6531 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6532
6533         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
6534         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
6535         Likewise.
6536         * c-dump.c (dump_option_value_info): Likewise.
6537         * c-format.c (format_length_info, format_char_info,
6538         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
6539         * collect2.c (names): Likewise.
6540         * cppdefault.h (default_include): Likewise.
6541         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
6542         * flow.c (life_analysis): Likewise.
6543         * gcc.c (dir_separator_str, modify_target, option_map,
6544         target_option_translations, spec_list_1, extra_specs_1,
6545         init_spec): Likewise.
6546         * gcov.c (gcov_version_string): Likewise.
6547         * genattr.c (write_units): Likewise.
6548         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
6549         * gengenrtl.c (rtx_definition, defs): Likewise.
6550         * genrecog.c (pred_table): Likewise.
6551         * global.c (global_alloc): Likewise.
6552         * lcm.c (optimize_mode_switching): Likewise.
6553         * local-alloc.c (find_free_reg): Likewise.
6554         * params.h (param_info): Likewise.
6555         * predict.c (predictor_info): Likewise.
6556         * protoize.c (unexpansion_struct): Likewise.
6557         * real.c (bmask): Likewise.
6558         * recog.h (insn_operand_data, insn_data): Likewise.
6559         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
6560         * stmt.c (expand_nl_goto_receiver): Likewise.
6561         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
6562         target_switches, target_options): Likewise.
6563         * tradcif.y (token, tokentab2, yylex): Likewise.
6564         * tree.h (attribute_spec): Likewise.
6565
6566         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
6567         Likewise.
6568         * arc.c (arc_output_function_epilogue): Likewise.
6569         * arm.c (processors, all_cores, all_architectures,
6570         arm_override_options, isr_attribute_arg, isr_attribute_args,
6571         arm_isr_value): Likewise.
6572         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
6573         Likewise.
6574         * c4x.c (c4x_int_reglist): Likewise.
6575         * d30v.c (override_options): Likewise.
6576         * h8300.c (shift_insn): Likewise.
6577         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
6578         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
6579         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
6580         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
6581         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
6582         * i386.h (processor_costs, ix86_cost): Likewise.
6583         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
6584         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
6585         * m68k.c (codes_68881, codes_FPA): Likewise.
6586         * m88k.c (mode_from_align, max_from_align, all_from_align,
6587         best_from_align, m_options): Likewise.
6588         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
6589         * mcore.c (mode_from_align): Likewise.
6590         * mips/elf64.h (UNIQUE_SECTION): Likewise.
6591         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
6592         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
6593         * mips.h (mips_regno_to_class): Likewise.
6594         * ns32k.c (scales): Likewise.
6595         * pa.c (import_string, magic_milli): Likewise.
6596         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
6597         * sparc.c (leaf_reg_remap, sparc_override_options,
6598         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
6599         Likewise.
6600         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
6601
6602 2001-10-07  Dale Johannesen  <dalej@apple.com>
6603
6604         * reload1.c (reload_reg_free_p): Teach register interference
6605         checking that multiple output reloads are emitted in
6606         reverse order.
6607         reload1.c (reload_reg_reaches_end_p):  Ditto.
6608         reload1.c (reloads_conflict):  Ditto.
6609
6610 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6611
6612         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
6613         NULL_TREE inside @code.
6614
6615 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6616
6617         * doc/gcc.texi: Document consistent style of "32-bit",
6618         "Objective-C", and "@code{NULL}".
6619
6620 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
6621
6622         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
6623         (cpp_token_len, cpp_spell_token, cpp_output_token,
6624         _cpp_equiv_tokens): Handle it.
6625         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
6626         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
6627         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
6628         error messages.
6629
6630 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6631
6632         * gcc.c (default_compilers): Remove .ada.
6633
6634 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6635
6636         * doc/cppinternals.texi: Update.
6637
6638 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
6639
6640         * gcc.c (main): Set this_file_error if the appropriate
6641         compiler for a language has not been installed.
6642
6643 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
6644
6645         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
6646
6647 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
6648
6649         * gccbug.in (CATEGORIES): Add ada.
6650
6651 2001-10-05  Catherine Moore  <clm@redhat.com>
6652
6653         * config/stormy16/stormy-abi:  Document abi changes.
6654         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
6655         (ICALL_REGS): New register class.
6656         (NUM_ARGUMENT_REGISTERS): Now 6.
6657         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
6658         in registers.
6659         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
6660         * config/stormy16.md (call_internal, call_value_internal,
6661         indirect_jump): Use new 'z' constraint.
6662
6663 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6664
6665         * doc/cppinternals.texi: Update.
6666
6667 2001-10-05  Richard Henderson  <rth@redhat.com>
6668
6669         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
6670         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
6671         the gas section-name-as-label feature.
6672
6673 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6674
6675         * doc/cppinternals.texi: Update.
6676
6677 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6678
6679         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
6680         to ensure valid SImode constants.
6681
6682 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
6683
6684         * Makefile.in (c-decl.o): Depend on tree-inline.h.
6685         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
6686         * c-decl.c: Include tree-inline.h.
6687         (c_expand_body): Call optimize_inline_calls. Determine whether
6688         a function is inlinable upfront, and only clear
6689         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
6690         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
6691         (c_disregard_inline_limits): New function.
6692         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
6693         (c_post_options): Enable tree inlining if inlining is enabled.
6694         Don't inline trees when instrumenting functions.
6695         (c_init): Initialize lang_disregard_inline_limits and
6696         lang_cannot_inline_tree_fn.
6697         * tree-inline.c (initialize_inlined_parameters): Handle calls
6698         with fewer arguments than declared parameters, and fewer
6699         parameters than passed arguments.  Don't assume value is a
6700         DECL.
6701         (declare_return_variable): Convert return value back to the
6702         original type, if it was promoted.
6703         (tree_inlinable_function_p): New function.
6704         (inlinable_function_p): Don't look at DECL_INLINE if we're
6705         inlining all functions.  Make it work with a NULL id.
6706         Re-check DECL_UNINLINABLE after language-specific checks.
6707         * tree-inline.h (tree_inlinable_function_p): Declare it.
6708         * integrate.c (save_for_inline): Don't bother to prepare argvec
6709         when not inlining.
6710         * cse.c (check_for_label_ref): Don't check deleted labels.
6711
6712         * Makefile.in (tree-inline.o): Depend on newly-included headers.
6713         * tree-inline.c: Include headers needed for the functions moved in.
6714         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
6715         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
6716         (copy_body, initialize_inlined_parameters): Likewise.
6717         (declare_return_variable, inlinable_function_p): Likewise.
6718         (expand_call_inline, expand_calls_inline): Likewise.
6719         (optimize_inline_calls, clone_body): Likewise.
6720         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
6721         (copy_tree_r, remap_save_expr): Likewise.
6722
6723 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
6724
6725         * Makefile.in (OBJS): Added tree-inline.o.
6726         (c-common.o): Depend on tree-inline.h.
6727         (tree-inline.o): New target.
6728         * c-common.c: Include tree-inline.h.
6729         (c_mark_lang_decl): Don't mark saved_tree.
6730         (c_common_lang_init): Set lang_anon_aggr_type_p.
6731         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
6732         (struct c_lang_decl): Moved saved_tree to tree_decl.
6733         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
6734         * integrate.h (function_attribute_inlinable_p): Declare it.
6735         * integrate.c (function_attribute_inlinable_p): Export it.
6736         * tree-inline.c: New file.  Define variables declared in...
6737         * tree-inline.h: New file.  Declare functions to be moved to
6738         tree-inline.c.  Define macros and declare types and hooks for
6739         language-specific tree inlining.
6740         (flag_inline_trees): Moved definition from cp/decl2.c.
6741         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
6742         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
6743         (struct tree_decl): Moved saved_tree from c_lang_decl and
6744         inlined_fns from C++'s lang_decl.
6745
6746 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
6747
6748         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
6749         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
6750
6751 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
6752
6753         * doc/cppinternals.texi: Update.
6754
6755 2001-10-04  Eric Christopher  <echristo@redhat.com>
6756
6757         * config/mips/mips.c (init_cumulative_args): Remember to set
6758         cum->prototype.
6759         * config.gcc: Redo linux configuration. Add target_cpu_default
6760         of soft-float to all mipsisa32 combinations and tx39.
6761         * config/mips/linux.h: Remove include of mips.h.
6762
6763 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
6764
6765         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
6766         HOST_LDFLAGS and HOST_CPPFLAGS.
6767
6768 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
6769
6770         * c-parse.in (objc_inherit_code, objc_pq_context,
6771         objc_public_flag): Make static.
6772         (objc_interface_context, objc_implementation_context,
6773         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
6774         global tree array in objc/objc-act.[ch].
6775         (methoddef): Remove unnecessary code.
6776
6777         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
6778         Hoist struct definitions to objc-act.h.
6779         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
6780         cat_count): Place declaration in objc-act.h.
6781         (objc_tree_index): Move enumeration to objc-act.h.
6782         (objc_global_trees): Place declaration and macro accessors in
6783         objc-act.h.
6784         (implementation_context): Remove duplicate; use
6785         objc_implementation_context instead:
6786         (method_context): Remove duplicate; use objc_method_context
6787         instead.
6788         (objc_ellipsis_node, objc_method_prototype_template,
6789         implemented_classes, function_type): Move global vars to
6790         objc_global_trees.
6791         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
6792         (build_message_expr): Move actual construction of ObjC message
6793         send nodes to finish_message_expr.
6794         (finish_message_expr): New routine, contains code formerly in
6795         build_message_expr.
6796         * objc/objc-act.h (finish_message_expr): New prototype.
6797         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
6798         declarations; these vars are now part of objc_global_trees.
6799         (objc_tree_index, objc_global_trees): Move definitions from
6800         objc-act.c.
6801         * objc/objc-tree.def: Update copyright info.
6802
6803 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
6804
6805         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
6806         op is NULL.
6807         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
6808         only if TARGET_ARCH64.
6809
6810 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
6811
6812         * doc/extend.texi: Fix some problems with previous checkin.
6813         * doc/invoke.texi: Likewise.
6814
6815 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6816
6817         * cpphash.h: Update comments.
6818         (cpp_context): Update.
6819         (spec_nodes): Remove n__Pragma.
6820         * cppinit.c (cpp_create_reader): Update.
6821         (builtin_array): Add _Pragma.
6822         * cpplib.h: Update comments.
6823         (NODE_DISABLED, BT_PRAGMA): New.
6824         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
6825         * cppmacro.c (struct cpp_macro): Remove disabled.
6826         (builtin_macro): Return int, handle _Pragma, push the new token
6827         on the context stack.
6828         (funlike_invocation_p): Unconstify, update.
6829         (enter_macro_context): Handle builtins here.
6830         (replace_args, push_token_context, push_ptoken_context):
6831         Update for prototype changes.
6832         (_cpp_pop_context): Update.
6833         (cpp_get_token): Don't handle buitins, nor _Pragma here.
6834         (cpp_sys_macro_p): Update.
6835         (_cpp_free_definition): Clear disabled flag.
6836         (_cpp_create_definition): Upate.
6837         * cppmain.c: Update comments.
6838
6839 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
6840                                 Andreas Jaeger <aj@suse.de>,
6841                                 Jan Hubicka    <jh@suse.cz>
6842
6843         * doc/invoke.texi (i386 Options): Document x86-64 options.
6844         (i386 and x86-64 Options): Rename i386 options section.
6845
6846         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
6847         (TARGET_SWITCHES): Add -munwind-info.
6848         (MASK_NO_UNWIND_INFO): New.
6849         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
6850         biarch compilation.
6851         (ASM_OUTPUT_DOUBLE_INT): New.
6852
6853         * config/i386/linux64.h: New spec file for Linux x86-64 support.
6854         * config.gcc: Fix tm_file settings for x86-64.
6855         * config/i386/x86-64.h: New file with OS independent x86-64
6856         definitions.
6857         * config/i386/biarch64.h: New file used to configure compiler
6858         to biarch/64bit compilation.
6859
6860         * config/i386/i386.c: (override_options): Set flags default
6861         for 64bit compilation.
6862
6863 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
6864
6865         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
6866         (ix86_expand_int_movcc): Optimize DImode conditional moves with
6867         constants on x86_64.
6868         (ix86_attr_length_immediate_default): Support MODE_DI.
6869         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
6870         condition.
6871         (indirect_jump, tablejump): Turn into expander.
6872
6873 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
6874
6875         * c-common.c (c_format_attribute_table): Make format and
6876         format_arg attributes apply to function types rather than to
6877         decls.
6878         (is_valid_printf_arglist): Construct an attribute list and pass
6879         that to check_function_format rather than a name.
6880         * c-common.h (check_function_format): Adjust prototype.
6881         * c-decl.c (duplicate_decls): Preserve attributes from type of
6882         built-in decl when allowing for harmless conflict in types.
6883         * c-format.c (record_function_format,
6884         record_international_format, function_format_list,
6885         international_format_info, international_format_list): Remove.
6886         (function_format_info): Remove next, name and assembler_name.
6887         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
6888         (decode_format_attr): New.
6889         (handle_format_attribute): Handle receiving a type rather than a
6890         decl.  Call decode_format_attr.  Store format information in a
6891         function_format_info.
6892         (handle_format_arg_attribute): Correct comment.  Handle receiving
6893         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
6894         arg_num.
6895         (check_format_info_recurse, check_format_info_main): Take argument
6896         numbers as unsigned HOST_WIDE_INT.
6897         (check_function_format): Take a list of attributes from the
6898         function type rather than a name or assembler name.  Check for
6899         format attributes in that list and the attributes on the type of
6900         the current function rather than looking through
6901         function_format_list.
6902         (check_format_info): Use unsigned HOST_WIDE_INT for argument
6903         numbers.
6904         (check_format_info_recurse): Take format_arg attributes from the
6905         type of the function calls rather than using
6906         international_format_list.  Allow for multiple format_arg
6907         attributes.
6908         * c-typeck.c (build_function_call): Pass type attributes to
6909         check_function_format rather than name or assembler name.  Don't
6910         require there to be a name or assembler name to check formats.
6911
6912 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
6913
6914         * attribs.c (decl_attributes): Possibly call
6915         insert_default_attributes to insert default attributes on
6916         functions in a lazy manner.
6917         * builtin-attrs.def: New file; define the default format and
6918         format_arg attributes.
6919         * c-common.c (c_format_attribute_table): Move to earlier in the
6920         file.
6921         (c_common_nodes_and_builtins): Initialize format_attribute_table.
6922         (enum built_in_attribute, built_in_attributes,
6923         c_attrs_initialized, c_init_attributes,
6924         c_common_insert_default_attributes): New.
6925         (c_common_lang_init): Don't initialize format_attribute_table.  Do
6926         call c_init_attributes.
6927         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
6928         * c-common.h (init_function_format_info): Don't declare.
6929         (c_common_insert_default_attributes): Declare.
6930         * c-decl.c (implicitly_declare, builtin_function): Call
6931         decl_attributes.
6932         (init_decl_processing): Don't call init_function_format_info.
6933         (insert_default_attributes): New.
6934         * c-format.c (handle_format_attribute,
6935         handle_format_arg_attribute): Be quiet about inappropriate
6936         declaration when applying default attributes.
6937         (init_function_format_info): Remove.
6938         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
6939         (insert_default_attributes): Declare.
6940
6941 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
6942
6943         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
6944
6945 2001-10-01  Jim Wilson  <wilson@redhat.com>
6946
6947         * sched-deps.c (add_dependence): When elide conditional dependence,
6948         check that insn doesn't modify cond2.
6949
6950 2001-10-01  Dale Johannesen  <dalej@apple.com>
6951
6952         * config/rs6000/rs6000.h (enum processor_type): Add support
6953         for 7400 (G4) and 7450.
6954         (RTX_COSTS): Ditto.
6955         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
6956         (rs6000_issue_rate): Ditto.
6957         (rs6000_adjust_cost): Fix cycle counts for compares.
6958         (debug_stack_info):  Fix an obvious typo.
6959         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
6960         * doc/invoke.texi: Document.
6961         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
6962         for Darwin.
6963         (PROCESSOR_DEFAULT): Ditto.
6964
6965 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
6966
6967         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
6968         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
6969         later recursive make invocation.
6970
6971 2001-10-01  Hans Boehm  <boehm@acm.org>
6972
6973         * optabs.c (emit_libcall_block): When using non-call exceptions,
6974         don't add REG_LIBCALL reg notes to trapping calls.
6975
6976 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
6977
6978         * flow.c (propagate_block_delete_libcall): Remove unused first arg
6979         (propagate_one_insn):  Update for above change
6980
6981 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
6982
6983         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
6984         _Unwind_GetTextRelBase): Argument is unused.
6985
6986 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6987
6988         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
6989         Loop through NOPs, placeholders, and components.
6990         Don't go through NOPs if change mode.
6991         (record_alias_subset): Do nothing if SUBSET and SET are the same.
6992         * emit-rtl.c (set_mem_alias_set): Enable check.
6993         * expr.c (find_placeholder): New function.
6994         (expand_expr, case PLACEHOLDER_EXPR): Use it.
6995         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
6996         to modify it and avoid unneeded copies.
6997         * expr.h (expand_expr): Always define.
6998         (find_placeholder): New declaration.
6999
7000 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7001
7002         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
7003         operand 2 is the stack pointer.
7004         ("addr-peephole"): Fix address computation peephole when operand 2
7005         is the stack pointer.
7006
7007 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7008
7009         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
7010         (ix86_setup_incoming_varargs): Likewise.
7011
7012 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
7013
7014         * stor-layout.c (layout_type): Don't complain about too-large
7015         array here.
7016
7017 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7018
7019         * function.c (keep_stack_depressed): Don't use delete_insn.
7020
7021         * expr.h (set_mem_alias_set): Move decl to here.
7022         * rtl.h (mem_attrs): New typedef and struct.
7023         (union rtunion_def): Add field for mem_attrs.
7024         (X0MEMATTR, MEM_ATTRS): New macros.
7025         (MEM_ALIAS_SET): Use MEM_ATTRS.
7026         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
7027         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
7028         (set_mem_alias_set): Delete decl from here.
7029
7030         * alias.c (set_mem_alias_set): Delete from here.
7031         * emit-rtl.c (mem_attrs_htab): New variable.
7032         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
7033         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
7034         (mem_attrs_mark, get_mem_attrs): Likewise.
7035         (gen_rtx_MEM): Clear MEM_ATTRS.
7036         (set_mem_attributes): Move to here.
7037         (set_mem_alias_set): Likewise, and call get_mem_attrs.
7038         (init_emit_once): const_int_htab now deletable htab.
7039         Initialize mem_attrs_htab.
7040         * explow.c (set_mem_attributes): Delete from here.
7041         * function.c (put_var_into_stack): Clear MEM_ATTRS.
7042         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
7043         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
7044         * reload1.c (reload): Rework changing REG to MEM.
7045
7046 2001-09-30  H.J. Lu <hjl@gnu.org>
7047
7048         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
7049         * config.in: Rebuild.
7050
7051 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7052
7053         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
7054         ("tsthi_1"): Avoid allocation in register y.
7055         ("*movqi_68hc12"): Reorganize and fix constraints.
7056         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
7057         ("addqi3"): Likewise.
7058         ("addhi3"): Fix constraints.
7059         ("*logicalhi3_zexthi"): Disparage soft registers.
7060
7061 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7062
7063         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
7064         to tmp reg.
7065
7066 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7067
7068         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
7069         that we use setjmp/longjmp exceptions.
7070
7071 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
7072
7073         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
7074         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
7075         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
7076         _cpp_pool_alloc, _cpp_next_chunk): Remove.
7077         (_cpp_extend_buff, BUFF_ROOM): Update.
7078         (_cpp_append_extend_buff): New.
7079         (struct cpp_reader): Remove macro_pool, add a_buff.
7080         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
7081         macro_pool.
7082         (cpp_destroy): Free a_buff instead of macro_pool.
7083         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
7084         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
7085         _cpp_pool_alloc, ): Remove.
7086         (parse_number, parse_string): Update use of _cpp_extend_buff.
7087         (_cpp_extend_buff): Update.
7088         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
7089         * cpplib.c (glue_header_name, parse_answer):
7090         Update use of _cpp_extend_buff.
7091         (cpp_register_pragma, cpp_register_pragma_space): Use
7092         _cpp_aligned_alloc.
7093         (do_assert, do_unassert): Check for EOL, update.
7094         * cppmacro.c (stringify_arg, collect_args): Update to use
7095         _cpp_extend_buff and _cpp_append_extend_buff.
7096         (save_parameter, parse_params, alloc_expansion_token,
7097         _cpp_create_definition): Rework memory management.
7098
7099 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
7100
7101         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
7102         update md_exec_prefix.
7103         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
7104         to string constant.
7105
7106 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
7107
7108         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
7109         (SELECT_CC_MODE): Use s390_select_ccmode.
7110         * config/s390/s390-protos.h (s390_select_ccmode): Add.
7111         * config/s390/s390.c (s390_select_ccmode): New.
7112         (s390_match_ccmode): Add CCLmode.
7113         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
7114         (output_branch_condition, output_inverse_branch_condition): Removed.
7115         (print_operand): Use s390_branch_condition_mnemonic.
7116         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
7117         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
7118         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
7119
7120         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
7121         when converting conditional branches to far branches.
7122         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
7123         cmpint_di): Use CCSmode instead of CCUmode.
7124
7125         * config/s390/s390.c (legitimate_la_operand_p): New.
7126         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
7127         * config/s390/s390.md (movsi): Convert load address patterns to
7128         arithmetic operations when necessary.
7129         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
7130         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
7131         (*do_la_reg_0): Don't use before reload.
7132
7133         * config/s390/s390.c (legitimize_address): Make more efficient
7134         use of two-register addressing mode.
7135
7136         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
7137         with -mno-backchain in some corner cases.
7138
7139         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
7140
7141 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
7142
7143         * reload.c (find_reloads): Mark new USE insns with QImode.
7144         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
7145         find_reloads_subreg_address): Likewise.
7146         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
7147         encountered.
7148         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
7149         CLOBBERs.
7150         (reload): Make sure there are no USEs with mode other than
7151         VOIDmode.  At the end, remove those marked with QImode.
7152
7153 2001-09-29  Per Bothner  <per@bothner.com>
7154
7155         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
7156         * Makefile.in (includedir):  Rename to local_includedir.
7157         (includedir):  Define as $(prefix)/include.
7158         * config.in (PREFIX_INCLUDE_DIR):  New variable.
7159         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
7160
7161 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
7162
7163         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
7164         storehps builtins.
7165         * doc/extend.texi (Vector Extensions): New node.
7166         * doc/invoke.texi (Machine Dependent Options): Add documentation for
7167         i386 -mmmx, -msse, -m3dnow.
7168
7169 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
7170
7171         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
7172
7173 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
7174
7175         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
7176
7177         * doc/invoke.texi (Optimize Options): Delete spurious @table.
7178
7179 2001-09-28  Richard Henderson  <rth@redhat.com>
7180
7181         * varasm.c (assemble_integer): Bound alignment check by
7182         BIGGEST_ALIGNMENT.
7183
7184         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
7185
7186 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7187
7188         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
7189
7190 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
7191
7192         Mostly from Graham Stott  <grahams@redhat.com>
7193         * c-common.c (type_for_mode): Add support for V2SFmode.
7194         * tree.c (build_common_tree_nodes_2): Likewise.
7195         * tree.h (enum tree_index, global_trees): Likewise.
7196         * config/i386/i386.c (x86_3dnow_a): New variable.
7197         (override_options): Support 3Dnow extensions.
7198         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
7199         Athlon's version of 3Dnow.
7200         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
7201         (ix86_expand_builtin): Handle them.
7202         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
7203         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
7204         TARGET_3DNOW_A): New macros.
7205         (TARGET_SWITCHES): Add 3Dnow switches.
7206         (VALID_MMX_REG_MODE_3DNOW): New macro.
7207         (VECTOR_MODE_SUPPORTED_P): Use it.
7208         (enum ix86_builtins): Add entries for 3Dnow builtins.
7209         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
7210         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
7211         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
7212         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
7213         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
7214         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
7215         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
7216         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
7217         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
7218         sfence_insn, prefetch): Make these available if TARGET_SSE or
7219         TARGET_3DNOW_A.
7220
7221 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
7222
7223         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
7224         ix86_va_start, ix86_build_va_list): Declare.
7225         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
7226         ix86_va_start, ix86_build_va_list): New global functions.
7227         * i386.md (sse_prologue_save_insn): New insn.
7228         (sse_prologue_save): New expander.
7229         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
7230         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
7231
7232 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
7233
7234         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
7235         Use size_t everywhere, make definitions consistent with
7236         prototypes.
7237
7238 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
7239
7240         * gcse.c (replace_store_insn): Use delete_insn.
7241         * loop.c (move_movables): Likewise; avoid delete_insn
7242         from clobbering notes moved elsewhere.
7243         (check_dbra_loop): Use delete_insn.
7244         * ssa.c (convert_from_ssa): Likewise.
7245         * cse.c (cse_insn): Use delete_insn.
7246
7247 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
7248
7249         * cpphash.h (struct cpp_buff): Make unsigned.
7250         (_cpp_get_buff): Take length of size_t.
7251         (_cpp_unaligned_alloc): New.
7252         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
7253         (struct cpp_reader): Remove ident_pool.  Add u_buff.
7254         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
7255         (cpp_destroy): Destroy u_buff, not ident_pool.
7256         * cpplex.c (parse_number, parse_string, save_comment,
7257         cpp_token_as_text): Update to use the unaligned buffer.
7258         (new_buff): Make unsigned.
7259         (_cpp_unaligned_alloc): New.
7260         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
7261         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
7262         Similarly.
7263         (collect_args): Make unsigned.
7264
7265 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
7266
7267         * cpplex.c (cpp_output_token): Use a putc loop for
7268         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
7269
7270         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
7271         * configure, config.in: Regenerate.
7272         * system.h: Replace fwrite and fprintf with their unlocked
7273         variants if available.
7274
7275 2001-09-27  Richard Henderson  <rth@redhat.com>
7276
7277         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
7278         in favour of .eh_frame.
7279
7280 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
7281
7282         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
7283         to macros.
7284         (LIBCALL_VALUE): Likewise.
7285
7286 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7287
7288         * cpphash.h: Update comment.
7289         * cpplex.c: Update comments.
7290         (_cpp_can_paste): Remove.
7291         * cpplib.h (_cpp_can_paste): Remove.
7292         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
7293         lexer rather than _cpp_can_paste.
7294
7295 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7296
7297         * doc/cppinternals.texi: Update.
7298
7299 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7300
7301         * cpphash.h (struct cpp_pool): Remove locks and locked.
7302         (struct cpp_context): Add member buff.
7303         (struct cpp_reader): Remove member argument_pool.
7304         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
7305         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
7306         * cpplex.c (chunk_suitable): Remove pool argument.
7307         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
7308         (new_buff, _cpp_extend_buff): Update.
7309         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
7310         which buffer is returned.
7311         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
7312         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
7313         * cppmacro.c (lock_pools, unlock_pools): Remove.
7314         (push_ptoken_context): Take a _cpp_buff.
7315         (enter_macro_context): Pool locking removed.
7316         (replace_args): Use a _cpp_buff for the replacement list with
7317         arguments replaced.
7318         (push_token_context): Clear buff.
7319         (expand_arg): Use _cpp_pop_context.
7320         (_cpp_pop_context): Free a context's buffer, if any.
7321
7322 2001-09-26  DJ Delorie  <dj@redhat.com>
7323
7324         * c-typeck.c (digest_init): Check for sizeless arrays.
7325
7326 2001-09-26  Richard Henderson  <rth@redhat.com>
7327
7328         * optabs.c (init_one_libfunc): Create a dummy function type
7329         instead of using error_mark_node.
7330
7331 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7332
7333         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
7334         _cpp_extend_buff, _cpp_free_buff): New.
7335         (struct cpp_reader): New member free_buffs.
7336         * cppinit.c (cpp_destroy): Free buffers.
7337         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
7338         _cpp_extend_buff, _cpp_free_buff): New.
7339         * cpplib.h (struct cpp_options): Remove unused member.
7340         * cppmacro.c (collect_args): New.  Combines the old parse_arg
7341         and parse_args.  Use _cpp_buff for memory allocation.
7342         (funlike_invocation_p, replace_args): Update.
7343
7344 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
7345
7346         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
7347
7348 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
7349
7350         * except.c (sjlj_mark_call_sites): Change address inside sequence.
7351
7352 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
7353
7354         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
7355         glibc.
7356
7357 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
7358             Jim Wilson  <wilson@redhat.com>
7359
7360         * doc/install.texi (Specific, ia64-*-linux): Document.
7361
7362 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
7363
7364         * Makefile.in (cfgrtl.o): Add.
7365         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
7366         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
7367         free_aux_for_edge): Declare.
7368         * cfg.c
7369         (HAVE_return): Undefine.
7370         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
7371         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
7372         free_aux_for_edge): New global functions.
7373         (first_delete_block): New static variable.
7374         (init_flow): Clear first_delete_block.
7375         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
7376          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
7377          try_redirect_by_replacing_jump, last_loop_beg_note,
7378          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
7379          delete_insn, delete_insn_chain, create_basic_block_structure,
7380          create_basic_block, flow_delete_block, compute_bb_for_insn,
7381          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
7382          set_block_for_new_insns, split_block, merge_blocks_nomove,
7383          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
7384          redirect_edge_and_branch, force_nonfallthru_and_redirect,
7385          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
7386          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
7387          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
7388          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
7389          purge_all_dead_edges): Move to ....
7390         * cfgrtl.c: New file; .... Here.
7391
7392         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
7393         (reroder_basic_block): Use alloc_aux_for_blocks.
7394         * predict.c (estimate_bb_frequencies): Likewise; use
7395         alloc_aux_for_edges.
7396         * profile.c (compute_branch_probabilities): Likewise.
7397         (branch_prob): Likewise.
7398         * reg-stack.c (reg_to_stack): Likewise.
7399
7400         * emit-rtl.c (emit_insns_after): Never return NULL.
7401
7402         * basic-block.h (set_block_for_new_insns): Delete.
7403         * cfgrtl.c (set_block_for_new_insns): Delete.
7404
7405         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
7406         calls when crossjumping.
7407
7408         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
7409         * unroll.c (copy_loop_body): Use delete_insn.
7410
7411         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
7412         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
7413         keep_stack_depressed): Likewise.
7414         * gcse.c (cprop_cc0_jump): Likewise.
7415         * local-alloc.c (update_equiv_regs): Likewise.
7416         * loop.c (scan_loop, loop_delete_insns): Likewise.
7417         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
7418         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
7419         delete_output_reload, delete_address_reloads_1,
7420         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
7421         Likewise.
7422         * sibcall.c (replace_call_placeholder): Likewise.
7423         * cse.c (cse_insn): Likewise.
7424
7425 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
7426
7427         From Graham Stott  <grahams@redhat.com>
7428         (def_builtin): Only define builtins appropriate for target_flags.  All
7429         callers changed.
7430         (builtin_decsription): Add new field mask which is used to determine
7431         when to define the builtin via the macro def_builtin.
7432
7433         (bdesc_comi): Initialise new mask fields.
7434         (bdesc_2srg): Likewise.
7435         (bdesc_1arg): Likewise.
7436
7437         * config/i386/i386.c (ix86_init_builtins): Correct return type
7438         building v4hi_ftype_v4hi_int_int tree node.
7439         (ix86_expand_sse_comi): Fix typo swapping operands.
7440         Don't swap comparision condition, it is already swapped.
7441         (ix86_expand_sse_compare): Before swapping operands
7442         move operand 1 into new rtx and not the target rtx.
7443         Don't swap comparison condition, it is already swapped.
7444         Always check whether we need to create a new TARGET.
7445
7446         * config/i386/i386.md: (sse_comi) Fix typos.
7447         (sse_ucomi): Likewise.
7448         (cvtss2si): Fix operand 0 contraint.
7449         (cvttss2si): Likewise.
7450         (sse_unpckhps): Fix mode for operand 2.
7451         (sse_unpcklps): Likewise.
7452
7453 2001-09-25  Graham Stott  <grahams@redhat.com>
7454
7455         * sibcall.c (skip_copy_to_return_value): Tighten return value
7456         copy check.
7457
7458 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
7459
7460         * rs6000.c (lwa_operand): Address must be word aligned.
7461
7462 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7463
7464         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
7465         number has been set.
7466         (type_hash_mark): Mark type itself.
7467
7468 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
7469
7470         * c-lex.c (cb_def_pragma): Update.
7471         (c_lex): Update, and skip padding.
7472         * cppexp.c (lex, parse_defined): Update, remove unused variable.
7473         * cpphash.h (struct toklist): Delete.
7474         (union utoken): New.
7475         (struct cpp_context): Update.
7476         (struct cpp_reader): New members eof, avoid_paste.
7477         (_cpp_temp_token): New.
7478         * cppinit.c (cpp_create_reader): Update.
7479         * cpplex.c (_cpp_temp_token): New.
7480         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
7481         (cpp_output_token): Don't print leading whitespace.
7482         (cpp_output_line): Update.
7483         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
7484         do_include_common, do_line, do_ident, do_pragma,
7485         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
7486         parse_assertion): Update.
7487         (get_token_no_padding): New.
7488         * cpplib.h (CPP_PADDING): New.
7489         (AVOID_LPASTE): Delete.
7490         (struct cpp_token): New union member source.
7491         (cpp_get_token): Update.
7492         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
7493         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
7494         replace_args, quote_string, stringify_arg, parse_arg, next_context,
7495         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
7496         _cpp_backup_tokens, _cpp_create_definition): Update.
7497         (push_arg_context): Delete.
7498         (padding_token, push_token_context, push_ptoken_context): New.
7499         (make_string_token, make_number_token): Update, rename.
7500         (cpp_get_token): Update to handle tokens as pointers to const,
7501         and insert padding appropriately.
7502         * cppmain.c (struct printer): New member prev.
7503         (check_multiline_token): Constify.
7504         (do_preprocessing, cb_line_change): Update.
7505         (scan_translation_unit): Update to handle spacing.
7506         * scan-decls.c (get_a_token): New.
7507         (skip_to_closing_brace, scan_decls): Update.
7508         * fix-header.c (read_scan_file): Update.
7509
7510         * doc/cpp.texi: Update.
7511
7512 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7513
7514         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
7515         leak by passing malloc'ed pointer to reconcat, not concat.
7516
7517 2001-09-24  DJ Delorie  <dj@redhat.com>
7518
7519         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
7520
7521 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
7522
7523         * flow.c (delete_dead_jumptables): Delete jumptable if the only
7524         reference is from the literal pool.
7525
7526 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
7527
7528         * doc/install.texi (Final install): Request additional information
7529         in mail about successful builds.
7530
7531 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7532
7533         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
7534         initial value of return pointer register instead of value in frame-20.
7535         Revise comments.
7536
7537 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7538
7539         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
7540         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
7541         the libcall if there isn't a referenced identifier for the symbol.
7542
7543 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7544
7545         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
7546         non 64-bit machines.  Use these as a plabel for the trampoline.
7547         (TRAMPOLINE_SIZE): Adjust size for new words.
7548         (INITIALIZE_TRAMPOLINE): Initialize new words.
7549         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
7550         pointer to the plabel in the trampoline.
7551
7552 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7553
7554         * pa.c (function_arg): Pass floating arguments in both general and
7555         floating registers in indirect (dynamic) calls when generating code
7556         for the 32 bit ABI and the HP assembler.
7557
7558 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7559
7560         * doc/install.texi: Markup fixes.
7561         Use Solaris 2, SunOS 4 as appropriate.
7562         (Specific, *-*-solaris2*): Explain this.
7563         Unconditionally warn against /usr/ucb tools.
7564         Remove Sun as warning, obsolete.
7565         Move X11 header bug workaround here, update patches.
7566         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
7567         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
7568
7569 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
7570
7571         * errors.h (warning, error, fatal, internal_error): Don't mark
7572         with ATTRIBUTE_PRINTF_n.
7573         * toplev.h (internal_error, fatal_io_error, warning, error,
7574         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
7575         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
7576         Likewise.
7577
7578 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7579
7580         * function.c (pop_function_context_from): var_refs_queue
7581         and temp slots now in GC memory.
7582         (mark_function_status, free_after_compilation): Likewise;
7583         also struct function now in GC memory.
7584         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
7585         (combine_temp_slots): Likewise.
7586         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
7587         (prepare_function_start): Use GC memory for struct function.
7588         (mark_temp_slot): Deleted.
7589         (gcc_mark_struct_function): struct function now in GC memory.
7590
7591         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
7592         code for division, not modulus.
7593
7594         * rtl.def (MEM): Remove obsolete part of comment.
7595
7596 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
7597
7598         * c-format.c (init_function_format_info): Check __builtin_printf
7599         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
7600         in gnu89 mode.
7601
7602 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7603
7604         * c-common.c (format_attribute_table): Remove decl.
7605         * tree.h (format_attribute_table, lang_attribute_table): New decls.
7606         (lang_attribute_common): Likewise.
7607
7608         * function.c (fix_lexical_address): Use set_mem_alias_set.
7609         (expand_function_start): Likewise.
7610         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
7611
7612         * varasm.c (output_constant): Fix unused variable warning.
7613
7614         * attribs.c: New file, from c-common.c.
7615         (attribute_tables): Now four elements.
7616         (format_attribute_table, lang_attribute_common): New variables.
7617         (init_attributes): Reflect above changes.
7618         (handle_mode_attribute): Delete check for wider than uintmax.
7619         * c-common.c: Delete parts moved to attribs.c.
7620         (enum attrs): Deleted; unused.
7621         (c_format_attribute_table): New variable.
7622         (c_common_lang_init): Initialize format_attribute_table with it.
7623         * c-common.h (decl_attributes): Remove decl.
7624         * tree.h (decl_attribute): Move it to here.
7625         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
7626         (attribs.o): New rule.
7627
7628 2001-09-22  Andreas Jaeger  <aj@suse.de>
7629
7630         * builtins.c (c_getstr): Remove unused variable.
7631
7632 2001-09-21  Richard Henderson  <rth@redhat.com>
7633
7634         * reload1.c (reload): Use delete_insn instead of splatting
7635         NOTE_INSN_DELETED.
7636
7637 2001-09-21  Richard Henderson  <rth@redhat.com>
7638
7639         * reload.c (push_secondary_reload): Don't check for "=" in output
7640         constraint after ""->ALL_REGS check.
7641
7642 2001-09-21  Richard Henderson  <rth@redhat.com>
7643
7644         * predict.c (expected_value_to_br_prob): Use pc_set.
7645
7646         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
7647         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
7648
7649 2001-09-21  Richard Henderson  <rth@redhat.com>
7650
7651         * rtl.h (LCT_RETURNS_TWICE): New.
7652         * calls.c (emit_call_1): Set current_function_calls_setjmp for
7653         ECF_RETURNS_TWICE.
7654         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
7655         to ECF_RETURNS_TWICE.
7656         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
7657         call to setjmp.
7658
7659         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
7660
7661         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
7662         (JMP_BUF_SIZE): New.
7663
7664 2001-09-21  Richard Henderson  <rth@redhat.com>
7665
7666         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
7667         to R8_REGS.
7668
7669 2001-09-21  Richard Henderson  <rth@redhat.com>
7670
7671         * tree.def (FDESC_EXPR): New.
7672         * expr.c (expand_expr): Handle it.
7673         * varasm.c (initializer_constant_valid_p): Likewise.
7674         (output_constant): Likewise.
7675         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
7676         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
7677         (ASM_OUTPUT_FDESC): New.
7678         * doc/tm.texi: Document the new macros.
7679
7680 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
7681
7682         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
7683         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
7684         once merging is complete.
7685
7686 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7687
7688         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
7689
7690 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
7691
7692         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
7693         that would be invalid after a merge.
7694
7695 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
7696
7697         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
7698         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
7699         remove some labels.
7700         (flow_delete_insn): This one.
7701         (delete_insn_chain): Rename from ...; do not care labels.
7702         (flow_delete_insn_chain): ... this one.
7703         (flow_delete_block): Remove the insns one BB has been expunged.
7704         (merge_blocks_nomove): Likewise.
7705         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
7706         updating BB boundaries.
7707         (tidy_fallthru_edge): Likewise.
7708         (commit_one_edge_insertion): Likewise.
7709         * cfgbuild.c (find_basic_block): Likewise.
7710         (find_basic_blocks_1): Likewise.
7711         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
7712         (try_crossjump_to_edge): Likewise.
7713         (try_optimize_cfg): Likewise.
7714         * cse.c (delete_trivially_dead_insns): Likewise.
7715         * df.c (df_insn_delete): Likewise.
7716         * doloop.c (doloop_modify): Use delete_related_insns.
7717         * emit-rtl.c (try_split): Likewise.
7718         (remove_insn): Update BB boundaries.
7719         * expect.c (connect_post_landing_pads): Use delete_related_insns.
7720         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
7721         updating BB boundaries.
7722         (propagate_block_delete_insn): Likewise.
7723         (propagate_block_delete_libcall): Likewise.
7724         * function.c (delete_handlers): Use delete_related_insns.
7725         (thread_prologue_and_epilogue_insns): Likewise.
7726         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
7727         * genpeep.c (gen_peephole): Use delete_related_insns.
7728         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
7729         BB boundaries.
7730         (find_cond_trap): Likewise.
7731         * integrate.c (save_for_inline): Use delete_related_insns.
7732         (copy_insn_list): Likewise.
7733         * jump.c (pruge_linie_number_notes): Likewise.
7734         (duplicate_loop_exit_test): Likewise.
7735         (delete_computation): Likewise.
7736         (delete_related_insn): Rename from ...; use delete_insn
7737         (delete_insn): ... this one.
7738         (redirect_jump): Use delete_related_insns.
7739         * loop.c (scan_loop): Likewise.
7740         (move_movables): Likewise.
7741         (find_and_verify_loops): Likewise.
7742         (check_dbra_loop): Likewise.
7743         * recog.c (peephole2_optimize): Likewise.
7744         * reg-stack.c (delete_insn_for_stacker): Remove.
7745         (move_for_stack_reg): Use delete_insn.
7746         * regmove.c (combine_stack_adjustments_for_block): Likewise.
7747         * reload1.c (delete_address_reloads): Use delete_related_insns.
7748         (fixup_abnormal_edges): Use delete_insn.
7749         * recog.c (emit_delay_sequence): Use delete_related_insns.
7750         (delete_from-delay_slot): Likewise.
7751         (delete_scheduled_jump): likewise.
7752         (optimize_skip): Likewise.
7753         (try_merge_delay_insns): Likewise.
7754         (full_simple_delay_slots): Likewise.
7755         (fill_slots_from_thread): Likewise.
7756         (relax_delay_slots): Likewise.
7757         (make_return_insns): Likewise.
7758         (dbr_schedule): Likewise.
7759         * rtl.h (delete_insn): Rename to delete_related_insns.
7760         (delete_insn, delete_insn_chain): New prototypes.
7761         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
7762         by df_insn_delete already.
7763         * ssa-dce.c (delete_insn_bb): Use delete_insn.
7764         * ssa.c (convert_from_ssa): Use delete_related_insns.
7765         * unroll.c (unroll_loop): Likewise.
7766         (calculate_giv_inc): Likewise.
7767         (copy_loop_body): Likewise.
7768
7769         * i386-protos.h (ix86_libcall_value, ix86_function_value,
7770         ix86_function_arg_regno_p, ix86_function_arg_boundary,
7771         ix86_return_in_memory, ix86_function_value): Declare.
7772         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
7773         new static valurables.
7774         (x86_64_reg_class): New enum
7775         (x86_64_reg_class_name): New array.
7776         (classify_argument, examine_argument, construct_container,
7777          merge_classes): New static functions.
7778         (optimization_options): Enable flag_omit_frame_pointer and disable
7779         flag_pcc_struct_return on 64bit.
7780         (ix86_libcall_value, ix86_function_value,
7781         ix86_function_arg_regno_p, ix86_function_arg_boundary,
7782         ix86_return_in_memory, ix86_function_value): New global functions.
7783         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
7784         (function_arg_advance): Handle x86_64 passing conventions.
7785         (function_arg): Likewise.
7786         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
7787         (RETURN_IN_MEMORY): Move offline.
7788         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
7789         (FUNCTION_VALUE_REGNO_P): New macro.
7790         (FUNCTION_ARG_REGNO_P): Move offline.
7791         (struct ix86_args): Add maybe_vaarg.
7792         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
7793         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
7794
7795 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
7796
7797         * s390.md: Changed attributes for scheduling.
7798         * s390.c: (s390_adjust_cost, s390_adjust_priority)
7799         Changed scheduling
7800
7801 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
7802
7803         Table-driven attributes.
7804         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
7805         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
7806         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
7807         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
7808         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
7809         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
7810         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
7811         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
7812         * tree.h (struct tree_decl): Change machine_attributes to
7813         attributes.
7814         * doc/c-tree.texi: Document that all attributes are now attached
7815         to decls and types.
7816         * c-common.c (add_attribute, attrtab, attrtab_idx,
7817         default_valid_lang_attribute, valid_lang_attribute): Remove.
7818         (attribute_tables, attributes_initialized,
7819         c_common_attribute_table, default_lang_attribute_table): New
7820         variables.
7821         (handle_packed_attribute, handle_nocommon_attribute,
7822         handle_common_attribute, handle_noreturn_attribute,
7823         handle_unused_attribute, handle_const_attribute,
7824         handle_transparent_union_attribute, handle_constructor_attribute,
7825         handle_destructor_attribute, handle_mode_attribute,
7826         handle_section_attribute, handle_aligned_attribute,
7827         handle_weak_attribute, handle_alias_attribute,
7828         handle_no_instrument_function_attribute,
7829         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
7830         handle_no_limit_stack_attribute, handle_pure_attribute): New
7831         functions.
7832         (init_attributes, decl_attributes): Rewrite to implement
7833         table-driven attributes.
7834         * c-common.h (enum attribute_flags): Move to tree.h.
7835         * c-format.c (decl_handle_format_attribute,
7836         decl_handle_format_arg_attribute): Rename to
7837         handle_format_attribute and handle_format_arg_attribute.  Update
7838         for table-driven attributes.
7839         * c-common.h (decl_handle_format_attribute,
7840         decl_handle_format_arg_attribute): Remove prototypes.
7841         (handle_format_attribute, handle_format_arg_attribute): Add
7842         prototypes.
7843         * c-decl.c (grokdeclarator): Handle attributes nested inside
7844         declarators.
7845         * c-parse.in (setattrs, maybe_setattrs): Remove.
7846         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
7847         Update to handle nested attributes properly.
7848         (maybe_resetattrs, after_type_declarator,
7849         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
7850         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
7851         properly.
7852         (make_pointer_declarator): Update to handle nested attributes
7853         properly.
7854         * doc/extend.texi: Update documentation of limits of attributes
7855         syntax.  Warn about problems with attribute semantics in C++.
7856         * target.h (struct target): Remove valid_decl_attribute and
7857         valid_type_attribute.  Add attribute_table and
7858         function_attribute_inlinable_p.
7859         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
7860         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
7861         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
7862         Add.
7863         (TARGET_INITIALIZER): Update.
7864         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
7865         definition.
7866         (function_attribute_inlinable_p): New function.  Check for the
7867         presence of any machine attributes before using
7868         targetm.function_attribute_inlinable_p.
7869         (function_cannot_inline_p): Update.
7870         * Makefile.in (integrate.o): Update dependencies.
7871         * doc/tm.texi: Update documentation of target attributes and
7872         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
7873         * tree.c (default_valid_attribute_p, valid_machine_attribute):
7874         Remove.
7875         (default_target_attribute_table,
7876         default_function_attribute_inlinable_p): New.
7877         (lookup_attribute): Update comment to clarify handling of multiple
7878         attributes with the same name.
7879         (merge_attributes, attribute_list_contained): Allow multiple
7880         attributes with the same name but different arguments to appear in
7881         the same attribute list.
7882         * tree.h (default_valid_attribute_p): Remove prototype.
7883         (struct attribute_spec): New.
7884         (default_target_attribute_table): Declare.
7885         (enum attribute_flags): Move from c-common.h.  Add
7886         ATTR_FLAG_TYPE_IN_PLACE.
7887         (default_function_attribute_inlinable_p): Declare.
7888         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
7889         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
7890         (TARGET_ATTRIBUTE_TABLE): Define.
7891         (vms_attribute_table): New.
7892         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
7893         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
7894         (TARGET_ATTRIBUTE_TABLE): Define.
7895         (arc_attribute_table, arc_handle_interrupt_attribute): New.
7896         * config/arm/arm.c (arm_valid_type_attribute_p,
7897         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
7898         Remove.
7899         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
7900         define.
7901         (TARGET_ATTRIBUTE_TABLE): Define.
7902         (arm_attribute_table, arm_handle_fndecl_attribute,
7903         arm_handle_isr_attribute): New.
7904         * config/avr/avr.c (avr_valid_type_attribute,
7905         avr_valid_decl_attribute): Remove.
7906         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
7907         define.
7908         (TARGET_ATTRIBUTE_TABLE): Define.
7909         (avr_attribute_table, avr_handle_progmem_attribute,
7910         avr_handle_fndecl_attribute): New.
7911         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
7912         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
7913         (TARGET_ATTRIBUTE_TABLE): Define.
7914         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
7915         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
7916         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
7917         (TARGET_ATTRIBUTE_TABLE): Define.
7918         (h8300_attribute_table, h8300_handle_fndecl_attribute,
7919         h8300_handle_eightbit_data_attribute,
7920         h8300_handle_tiny_data_attribute): New.
7921         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
7922         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
7923         Remove prototypes.
7924         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
7925         declarations.
7926         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
7927         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
7928         define.
7929         (TARGET_ATTRIBUTE_TABLE): Define.
7930         (ix86_attribute_table, ix86_handle_cdecl_attribute,
7931         ix86_handle_regparm_attribute): New.
7932         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
7933         i386_pe_valid_type_attribute_p): Remove.
7934         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
7935         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
7936         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
7937         (TARGET_ATTRIBUTE_TABLE): Define.
7938         (ia64_attribute_table): New.
7939         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
7940         interrupt_ident2, model_ident1, model_ident2): Remove.
7941         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
7942         (TARGET_ATTRIBUTE_TABLE): Define.
7943         (init_idents): Update.
7944         (m32r_attribute_table, m32r_handle_model_attribute): New.
7945         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
7946         Remove.
7947         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
7948         (TARGET_ATTRIBUTE_TABLE): Define.
7949         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
7950         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
7951         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
7952         (TARGET_ATTRIBUTE_TABLE): Define.
7953         (mcore_attribute_table, mcore_handle_naked_attribute): New.
7954         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
7955         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
7956         (TARGET_ATTRIBUTE_TABLE): Define.
7957         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
7958         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
7959         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
7960         (TARGET_ATTRIBUTE_TABLE): Define.
7961         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
7962         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
7963         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
7964         (TARGET_ATTRIBUTE_TABLE): Define.
7965         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
7966         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
7967         New.
7968         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
7969         Remove.
7970         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
7971         (TARGET_ATTRIBUTE_TABLE): Define.
7972         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
7973         New.
7974         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
7975         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
7976         (TARGET_ATTRIBUTE_TABLE): Define.
7977         (v850_attribute_table, v850_handle_interrupt_attribute,
7978         v850_handle_data_area_attribute): New.
7979         * config/v850/v850-c.c (mark_current_function_as_interrupt):
7980         Return void.  Call decl_attributes instead of
7981         valid_machine_attribute.
7982
7983 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
7984
7985         * sh-protos.h (sh_pr_n_sets): Declare.
7986         * sh.c (calc_live_regs): If the initial value for PR has been copied,
7987         look at the copy to determine if PR needs to be saved.
7988         sh_pr_n_sets: New function.
7989         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
7990         (ALLOCATE_INITIAL_VALUE): Define.
7991
7992         * sh.c (initial_elimination_offset):
7993         Fix RETURN_ADDRESS_POINTER_REGNUM case.
7994
7995 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
7996
7997         * integrate.c (allocate_initial_values): New function.
7998         * integrate.h (allocate_initial_values): Declare.
7999         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
8000         here...
8001         * reload1.c (reload): And initialization of reg_equiv_memory_loc
8002         from here...
8003         * toplev.c (rest_of_compilation): To here.
8004         Call allocate_initial_values.
8005         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
8006
8007 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8008
8009         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
8010
8011 2001-09-20  DJ Delorie  <dj@redhat.com>
8012
8013         * c-typeck.c (really_start_incremental_init): Discriminate
8014         between zero-length arrays and flexible arrays.
8015         (push_init_level): Detect zero-length arrays and handle them
8016         like fixed-sized arrays.
8017         * expr.c (store_constructor): Handle zero-length arrays and
8018         flexible arrays correctly.
8019         * doc/extend.texi: Update zero-length array notes.
8020
8021 2001-09-20  Jim Wilson  <wilson@redhat.com>
8022
8023         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
8024         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
8025         for issue port conflicts.
8026         (cycle_end_fill_slots): TYPE_L instructions take two slots.
8027
8028 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
8029
8030         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
8031         on ia64.
8032
8033 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8034
8035         * fold-const.c (hashtab.h): Include.
8036         (int_const_binop): Remove FORSIZE arg and compute from type; all
8037         callers changed.
8038         Call size_int_type_wide for all single-word constants.
8039         (size_htab_hash, size_htab_eq): New functions.
8040         (size_int_type_wide): Rework to use hash table.
8041         * ggc-common.c (hashtab.h): Include.
8042         (struct d_htab_root): New struct.
8043         (d_htab_roots): New variable.
8044         (ggc_add_deletable_htab, ggc_htab_delete): New functions
8045         (ggc_mark_roots): Handle deletable htabs.
8046         * ggc-page.c (ggc_marked_p): New function.
8047         * ggc-simple.c (ggc_marked_p): Likewise.
8048         * ggc.h: Reformatting throughout.
8049         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
8050         * tree.c (init_obstacks): Make type_hash_table a deletable root.
8051         (type_hash_add): Allocate struct type_hash from GC memory.
8052         (mark_hash_entry, mark_type_hash): Deleted.
8053         (type_hash_marked_p, type_hash_mark): New functions.
8054         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
8055
8056 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
8057
8058         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
8059         than SImode.
8060
8061 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8062
8063         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
8064         array-too-large test for signed sizetype.
8065
8066 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
8067
8068         * i386.md (indirect_jump): Allow Pmode operand.
8069         (tablejump): LIkewise; perform expansion to 64bit mode.
8070         * i386.c (symbolic_operand): Allow 64bit PIC references.
8071         (pic_symbolic_operand): Likewise.
8072         (ix86_find_base_term): Strip the 64bit PIC references.
8073         (legitimate_pic_address_disp_p): Handle 64bit PIC.
8074         (legitimize_pic_address): Likewise.
8075         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
8076         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
8077
8078 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
8079
8080         * stringpool.c (get_identifier_with_length): New function.
8081         * tree.h (get_identifier_with_length): New prototype.
8082
8083 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
8084             David Edelsohn  <edelsohn@gnu.org>
8085
8086         Revert:
8087         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
8088         already sign-extended.
8089
8090         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
8091         * config/rs6000/rs6000.c (logical_operand): Always compare op as
8092         HOST_WIDE_INT.
8093         (rs6000_emit_set_long_const): Avoid unnecessary shift.
8094         (output_profile_hook): Declare label_name const.
8095         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
8096         to match constraints.
8097
8098 2001-09-19  Stan Shebs  <shebs@apple.com>
8099
8100         * alias.c: Fix typos in comments.
8101         * sched-rgn.c (init_ready_list): Ditto.
8102         * unwind-dw2.c (uw_frame_state_for): Ditto.
8103         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
8104         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
8105         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
8106
8107 2001-09-19  Richard Henderson  <rth@redhat.com>
8108
8109         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
8110         to the exit block.
8111         * Makefile.in (cfg.o): Depend on TM_P_H.
8112
8113 2001-09-19  Richard Henderson  <rth@redhat.com>
8114
8115         * config/alpha/alpha.c (local_symbol_p): Split out from ...
8116         (local_symbolic_operand): ... here.
8117         (small_symbolic_operand): Check mode.
8118         (global_symbolic_operand): New.
8119         (input_operand): Reject symbolics if explicit relocs.
8120         (call_operand): Tidy.
8121         (alpha_legitimize_address): Use movdi_er_high_g.
8122         (alpha_expand_mov): Likewise.
8123         * config/alpha/alpha-protos.h: Update.
8124         * config/alpha/alpha.h (PREDICATE_CODES): Update.
8125         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
8126         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
8127         (UNSPECV_LDGP2): Remove.
8128         (all call patterns): Use 's' not 'i' for symbolic constraint.
8129         (call_osf call_value_osf): Use call_operand.
8130         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
8131         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
8132         (prologue_ldgp_1_er): Remove.
8133         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
8134         (builtin_setjmp_receiver_er patterns): Use them.
8135         (exception_receiver_er): Likewise.
8136
8137 2001-09-19  Richard Henderson  <rth@redhat.com>
8138
8139         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
8140
8141         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
8142         and NON_LOCAL_GOTO notes.
8143         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
8144         copy over CALL_INSN_FUNCTION_USAGE.
8145
8146 2001-09-18  Catherine Moore  <clm@redhat.com>
8147
8148         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
8149         Define as 0.
8150
8151 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
8152
8153         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
8154         new-style tm_file specification.  Specify correct tm_p_file,
8155         md_file, and out_file for s390x.
8156
8157         * config/s390/linux.h, linux64.h:  Don't include other target
8158         macro header files.  Now handled via tm_file.
8159
8160         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
8161         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
8162         are defined before use.
8163
8164 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
8165
8166         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
8167         code generation only for Gnu assembler.
8168
8169 2001-09-18  Catherine Moore  <clm@redhat.com>
8170
8171         * config/stormy16 (LIB_SPEC): Remove -lnosys.
8172
8173 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
8174
8175         * config/mips/mips.c (mips_frame_set): New.
8176         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
8177         a parallel frame-related expression with a set for each register.
8178
8179 2001-09-18  Philip Blundell  <philb@gnu.org>
8180
8181         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
8182         header files.
8183
8184 2001-09-17  Dale Johannesen  <dalej@apple.com>
8185
8186         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
8187         * config/rs6000/aix.h (FIXED_R2): Define.
8188         * config/rs6000/darwin.h (FIXED_R2): Define.
8189         * config/rs6000/sysv4.h (FIXED_R2): Define.
8190
8191 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
8192
8193         * except.c (dw2_build_landing_pads): New local
8194         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
8195         barrier after clobbers.  Fixes c++/4012.
8196
8197 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8198
8199         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
8200
8201 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
8202
8203         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
8204         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
8205
8206 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8207
8208         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
8209         alloca/strcpy.
8210
8211 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8212
8213         * cpphash.h (_cpp_lex_direct): New.
8214         * cpplex.c (_cpp_lex_token): Update.
8215         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
8216         and increment that pointer.
8217         * cppmacro.c (alloc_expansion_token): New.
8218         (lex_expansion_token): Lex macro expansion directly into
8219         macro storage.
8220
8221 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
8222
8223         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
8224
8225 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
8226
8227         * basic-block.h (free_bb_for_insn): Declare.
8228         * bb-reorder.c (label_for_bb): Use block_label.
8229         (emit_jump_to_block_after): Remove.
8230         (insert_intra_1): Do not update block_for_insn.
8231         (insert_inter_bb_scope_notes): Likewise; update bb->end
8232         * cfg.c (free_bb_for_insn): New.
8233         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
8234         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
8235         (commit_one_edge_insertion): Likewise.
8236         (commit_one_edge_insertion): Do not update BB boundary.
8237         (commit_edge_insertions): Do not call compute_bb_for_insn.
8238         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
8239         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
8240         (merge_blocks_move_successor_nojumps): Likewise.
8241         (try_crossjump_to_edge): Do not update block_for_insn.
8242         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
8243         * df.c (df_pattern_emit_later): Do not update BB boundary.
8244         (df_jump_pattern_emit_after): Likewise.
8245         (df_insn_move_before): Use emit_insn_before.
8246         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
8247          properly.
8248         (add_insn_after, add_insn_before, emit_insns_after): Update BB
8249         boundaries and basic_block_for_insn.
8250         (reorder_insns_nobb): Rename from reorder_insns.
8251         (reorder_insns): New.
8252         (emit_block_insn_before, emit_block_insn_after): Kill.
8253         * flow.c (check_function_return_warnings): Do not call
8254         compute_bb_for_insn; Do not free basic_block_for_insn.
8255         (attempt_auto_inc): Do not update basic_block_for_insn.
8256         * function.c (emit_return_into_block): Likewise;
8257         do not update BB boundaries.
8258         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
8259         (insert_insn_end_bb): Use emit_insn_before; Likewise.
8260         (pre_insert_copy_insn): Likewise.
8261         (update_ld_motion_notes): Likewise.
8262         (insert_insn_start_bb): Likewise.
8263         (replace_store_insn): Likewise.
8264         * ifcvt.c (noce_process_if_block): Likewise.
8265         (if_convert): Do not call compute_bb_for_insn.
8266         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
8267         Use emit_insn_before and emit_insn_after.
8268         * recog.c (split_all_insns): Do not update BB boundaries;
8269         Do not call compute_bb_for_insn.
8270         (peephole2_optimize): Do not update BB boundaries.
8271         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
8272         emit_insn_before.
8273         (emit_swap_insn): Likewise.
8274         (convert_regs_1): Likewise.
8275         * reload1.c (reload): Call compute_bb_for_insn.
8276         * rtl.h (reorder_insns_nobb): Declare.
8277         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
8278         * toplev.c (rest_of_compilation): Call free_bb_for_insn
8279         at places CFG is invalidated; do not call compute_bb_for_insn.
8280
8281         * cfg.c (expunge_block): Invalidate BB structure.
8282
8283         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
8284         array.
8285
8286         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
8287
8288 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8289
8290         * cpphash.h (_cpp_lex_token): Update prototype.
8291         * cpplex.c (_cpp_lex_token): New prototype.
8292         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
8293         lex_macro_node, read_flag, do_pragma_poison): Update.
8294         * cppmacro.c (cpp_get_token, parse_params,
8295         lex_expansion_token): Update.
8296
8297 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8298
8299         * cppmain.c (scan_translation_unit): Don't worry about
8300         putting a space after hashes.
8301         * cpplib.c (directive_diagnostics): New.
8302         (_cpp_handle_directive): Update to use directive_diagnostics.
8303         (run_directive): Don't toggle prevent_expansion.
8304         (do_line): Backup in case of the line extension.
8305         * cpplib.h (cpp_lexer_pos): Remove.
8306         * cppmacro.c (_cpp_create_definition): Precede a leading #
8307         with whitespace.
8308
8309 2001-09-15  Richard Henderson  <rth@redhat.com>
8310
8311         * c-typeck.c (comptypes): Handle zero-length arrays properly.
8312
8313 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8314
8315         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
8316
8317 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8318
8319         PR preprocessor/3571
8320         * tradcpp.c (handle_directive): Skip non-vertical space.
8321
8322 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8323
8324         * cppmain.c (setup_callbacks): Set line callback only
8325         if outputting preprocessed source.
8326
8327 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8328
8329         * collect2.c (main): Const-ification.
8330         * gcc.c (translate_options, process_command): Use xstrdup in
8331         lieu of xmalloc/strcpy.
8332         (main): Use concat in lieu of xmalloc/strcpy/strcat.
8333
8334 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8335
8336         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
8337         example.
8338
8339 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8340
8341         * scan-decls.c (scan_decls): Fix typo.
8342
8343 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8344
8345         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
8346         Split mlstring_pos into mls_line and mls_col.
8347         * cppinit.c (cpp_create_reader): Initialize line to 1.
8348         (cpp_destroy): Free tokenruns.
8349         (push_include): Don't update lexer_pos.
8350         * cpplex.c (unterminated, parse_string): Update.
8351         (lex_token): Don't update lexer_pos, update.
8352         * cpplib.c (if_stack): Save line instead of line + col.
8353         (start_directive, _cpp_do__Pragma, do_else, do_elif,
8354         push_conditional, _cpp_pop_buffer): Update.
8355         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
8356         (_cpp_create_definition): Update.
8357
8358 2001-09-15  Eric Christopher  <echristo@redhat.com>
8359
8360         * config/mips/abi64.h: Add support for MEABI.
8361
8362 2001-09-15  Eric Christopher  <echristo@redhat.com>
8363
8364         * config/mips/mips.md: Add unspec #2.
8365         (reload_indi): Use.
8366         (reload_outdi): Ditto.
8367         (reload_outsi): Ditto.
8368         (HILO_delay): New.
8369
8370 2001-09-15  Eric Christopher  <echristo@redhat.com>
8371             Jason Eckhardt  <jle@redhat.com>
8372
8373         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
8374         * config/mips/isa32-linux.h: New file.
8375         * config/mips/isa3264.h: Ditto.
8376         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
8377         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
8378         (output_block_mode): Support MEABI.
8379         (function_arg): Ditto. Fix floating point arg passing.
8380         (mips_va_start): Ditto.
8381         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
8382         processors.
8383         (mips_asm_file_start): Add new section to pass abi to gdb.
8384         (function_arg_pass_by_reference): Support MEABI.
8385         (mips_parse_cpu): Support mips32 and mips64 processors.
8386         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
8387         TARGET_MIPS5KC.  Support isa32 and isa64.
8388         (processor_type): Add r4kc, r5kc, r20kc.
8389         (GENERATE_MULT3_SI): New.
8390         (GENERATE_MULT3_DI): Ditto.
8391         (GENERATE_MULT3): Remove.
8392         (ISA_HAS_64BIT_REGS): Add isa == 64.
8393         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
8394         (ISA_HAS_MADD_MSUB): New.
8395         (ISA_HAS_CLZ_CLO): Ditto.
8396         (ISA_HAS_DCLZ_DCLO): Ditto.
8397         (ABI_GAS_ASM_SPEC): New.
8398         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
8399         (ASM_SPEC): Ditto.
8400         (LINK_SPEC): Ditto.
8401         (SUBTARGET_CC1_SPEC): Ditto.
8402         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
8403         (PAD_VARARGS_DOWN): Support MEABI.
8404         (HARD_REGNO_NREGS): Move to mips.c.
8405         (ASM_OUTPUT_IDENT): Add #undef.
8406         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
8407         (mulsi3): Use GENERATE_MULT3_SI.
8408         (mulsi3_mult3): Ditto.  Support mips32, mips64.
8409         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
8410         (mul_sub_si): New pattern.
8411         (unnamed splitters): New.
8412         (muldi3): Use GENERATE_MULT3_DI.
8413         (muldi3_internal2): Ditto.
8414         (movdicc): Support mips32.
8415         * config/mips/t-isa3264: New file.
8416
8417 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
8418
8419         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
8420         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
8421         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
8422
8423         * reorg.c (fill_slots_from_thread): After call to
8424         steal_delay_list_from_target, update own_thread as new_thread may
8425         have branched.
8426
8427 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8428
8429         * cpperror.c (print_location): Take line and column, for
8430         default positioning use the previously lexed token.
8431         (_cpp_begin_message): Take line and column.
8432         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
8433         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
8434         * cpphash.h (_cpp_begin_message): Update prototype.
8435         * cppinit.c (push_include): Don't set output line.
8436         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
8437         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
8438         (do_pragma): Kludge for front ends.  Don't expand macros at all.
8439         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
8440         (struct cpp_token): Remove output_line.
8441         (struct cpp_callbacks): New member line_change.
8442         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
8443         cpp_get_token): Preserve BOL flag.
8444         (cpp_get_line): Remove.
8445         (_cpp_backup_tokens): Remove useless abort().
8446         * cppmain.c (cb_line_change): New.
8447         (scan_translation_unit): Don't worry about starting new lines here.
8448         * scan-decls.c (scan_decls): Update.
8449         * c-lex.c (c_lex, init_c_lex): Update.
8450         (cb_line_change, src_lineno): New.
8451
8452 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
8453
8454         * tree.c (append_random_chars): Generate the random
8455         characters in a reproducable fashion.
8456
8457 2001-09-14  Richard Henderson  <rth@redhat.com>
8458
8459         * config/i386/i386.c (internal_label_prefix): New.
8460         (internal_label_prefix_len): New.
8461         (override_options): Set them.
8462         (local_symbolic_operand): New.
8463         (legitimate_pic_address_disp_p): Use it.
8464         (legitimize_pic_address): Likewise.
8465
8466 2001-09-14  Marc Espie <espie@openbsd.org>
8467
8468         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
8469         correctly.
8470
8471 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8472
8473         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
8474         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
8475
8476 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
8477
8478         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
8479         invocation of SUBREG_REGNO_OFFSET.
8480
8481         * haifa-sched.c: Fix typo in FSF copyright statement.
8482         * sched-deps.c: Fix typo in FSF copyright statement.
8483         * sched-ebb.c: Fix typo in FSF copyright statement.
8484         * sched-rgn.c: Fix typo in FSF copyright statement.
8485         * sched-vis.c: Fix typo in FSF copyright statement.
8486
8487         * config.gcc: Move inclusion of arm elf specific header files
8488         from the files themselves into the tm_file variable.  Make
8489         sure that elfos.h is included before target specific elf
8490         headers.
8491         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
8492         already defined.
8493         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
8494         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
8495         ASM_OUTPUT_CASE_LABEL): Protect definition.
8496         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
8497         not already defined.
8498         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
8499         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
8500         Remove duplicate definition.
8501         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
8502         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
8503         (RDATA_SECTION_FUNCTION): Remove redundant definition.
8504         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
8505         Remove inclusion of arm/elf.h.
8506         * config/arm/unknown-elf.h: as for conix-elf.h.
8507         (STARTFILE_SPEC): Include crti.o and crtn.o.
8508         * config/arm/linux-elf.h: as for conix-elf.h.
8509         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
8510         * config/arm/strongarm-elf.h: Remove inclusion of
8511         unknown-elf.h.
8512         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
8513         * config/arm/unknown-elf-oabi.h: Remove inclusion of
8514         unknown-elf.h and elf.h.
8515         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
8516         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
8517         ASM_WEAKEN_LABEL): Remove redundant definition.
8518         * config/arm/elf.h: Test for inclusion of elfos.h
8519         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
8520         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
8521         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
8522         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
8523         redundant definition.
8524         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
8525         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
8526         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
8527         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
8528         Add rules to build crti.o and crtn.o
8529         * crti.asm: New file.
8530         * crtn.asm: New file.
8531
8532 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8533
8534         * c-parse.in (_yylex): Use _cpp_backup_tokens.
8535         * cpphash.h (struct tokenrun): Add prev.
8536         (struct lexer_state): Remove bol.
8537         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
8538         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
8539         : Remove.
8540         * cppinit.c (cpp_create_reader): Don't set bol.
8541         (cpp_destroy): Don't free lookaheads.
8542         * cpplex.c (lex_directive): Remove.
8543         (next_tokenrun): Update.
8544         (_cpp_lex_token): Clean up logic.
8545         (lex_token): Update to return a pointer to lexed token, since it
8546         can move to the start of the buffer.  Simpify newline handling.
8547         * cpplib.c (SEEN_EOL): Update.
8548         (skip_rest_of_line): Remove lookahead stuff.
8549         (end_directive): Line numbers are already incremented.  Revert
8550         to start of lexed token buffer if we can.
8551         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
8552         parse_answer): Use _cpp_backup_tokens.
8553         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
8554         instead.  Don't check for EOL.
8555         (do_include_common, do_line, do_pragma_system_header): Use
8556         skip_rest_of_line.
8557         * cpplib.h (BOL, _cpp_backup_tokens): New.
8558         * cppmacro.c (save_lookahead_token, take_lookahead_token,
8559         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
8560         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
8561         (builtin_macro): Don't use cpp_get_line.
8562         (cpp_get_line): Short term kludge.
8563         (parse_arg): Handle directives in arguments here.  Back up when
8564         appropriate.  Store EOF at end of argument list.
8565         (funlike_invocation_p): Use _cpp_backup_tokens.
8566         (push_arg_context): Account for EOF at end of list.
8567         (cpp_get_token): Remove lookahead stuff.  Update.
8568
8569 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8570
8571         * c-parse.in (yyerror): Const-ification and/or static-ization.
8572         * c-typeck.c (push_member_name): Likewise.
8573         * collect2.c (main): Likewise.
8574         * dbxout.c (dbxout_parms): Likewise.
8575         * diagnostic.c (format_with_decl): Likewise.
8576         * dwarf2out.c (output_ranges): Likewise.
8577         * dwarfout.c (fundamental_type_code): Likewise.
8578         * except.c (dw2_output_call_site_table): Likewise.
8579         * gcc.c (do_spec_1): Likewise.
8580         * genopinit.c (optabs): Likewise.
8581         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
8582         gen_declaration_1, handle_impent): Likewise.
8583         * protoize.c (default_include, in_system_include_dir, abspath):
8584         Likewise.
8585         * sched-vis.c (visualize_stall_cycles): Likewise.
8586         * sdbout.c (plain_type_1, sdbout_end_function,
8587         sdbout_end_epilogue): Likewise.
8588         * varasm.c (decode_reg_name): Likewise.
8589
8590         * 1750a.c (mod_regno_adjust): Likewise.
8591         * alpha.c (alpha_write_one_linkage,
8592         unicosmk_output_default_externs): Likewise.
8593         * arm.c (arm_condition_codes): Likewise.
8594         * arm.h (arm_condition_codes): Likewise.
8595         * avr.c (output_movsisf, encode_section_info): Likewise.
8596         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
8597         Likewise.
8598         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
8599         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
8600         * m88k.c (output_function_profiler): Likewise.
8601         * mips.c (mips_output_conditional_branch): Likewise.
8602         * ns32k.c (ns32k_out_reg_names): Likewise.
8603         * ns32k.h (ns32k_out_reg_names): Likewise.
8604         * pj.c (pj_output_rval): Likewise.
8605         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
8606         * sparc.c (sparc_flat_function_prologue,
8607         sparc_flat_function_epilogue): Likewise.
8608
8609 2001-09-13  Markus Werle <numerical.simulation@web.de>
8610             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8611
8612         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
8613         Aachen University of Technology".
8614
8615 2001-09-13  Andreas Schwab  <schwab@suse.de>
8616
8617         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
8618         C99.
8619
8620 2001-09-13  Richard Henderson  <rth@redhat.com>
8621
8622         * config/alpha/alpha.c (small_symbolic_operand): New.
8623         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
8624         (some_operand, input_operand): Don't handle HIGH.
8625         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
8626         (alpha_expand_mov): Likewise.
8627         (print_operand) [H]: Just print HIGH symbol.
8628         (print_operand_address): Handle small data.
8629         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
8630         (TARGET_SWITCHES): Add -msmall-data/large-data.
8631         (PIC_OFFSET_TABLE_REGNUM): New.
8632         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
8633         (PREDICATE_COES): Update.
8634         * config/alpha/alpha.md (adddi_er_high): New.
8635         (adddi_er_low): Handle small data.
8636         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
8637         prefer .sdata to .rodata.
8638         (SELECT_RTX_SECTION): Likewise.
8639
8640 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
8641
8642         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
8643         defining __size_t and leaving size_t undefined.
8644
8645 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
8646
8647         * basic-block.h (expunge_block): Declare.
8648         * cfg.c (expunge_block): Remove static declaration.
8649
8650 2001-09-12  Richard Henderson  <rth@redhat.com>
8651
8652         * integrate.c (copy_insn_list): Copy label name from
8653         NOTE_INSN_DELETED_LABEL.
8654
8655 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8656
8657         * c-common.c (c_tree_code_name): Const-ification.
8658         * c-decl.c (c_decode_option): Likewise.
8659         * c-typeck.c (warn_for_assignment): Likewise.
8660         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
8661         Likewise.
8662         * cppinit.c (output_deps): Likewise.
8663         * dependence.c (dependence_string, direction_string): Likewise.
8664         * dwarf2out.c (output_ranges): Likewise.
8665         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
8666         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
8667         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
8668         standard_startfile_prefix, standard_startfile_prefix_1,
8669         standard_startfile_prefix_2, tooldir_base_prefix,
8670         standard_bindir_prefix, find_a_file): Likewise.
8671         * genattrtab.c (make_length_attrs): Likewise.
8672         * gencheck.c (tree_codes): Likewise.
8673         * genemit.c (gen_split): Likewise.
8674         * genrecog.c (special_mode_pred_table): Likewise.
8675         * graph.c (graph_ext): Likewise.
8676         * protoize (default_include): Likewise.
8677         * reload.c (reload_when_needed_name): Likewise.
8678         * sched-vis.c (visualize_stall_cycles): Likewise.
8679         * tlink.c (recompile_files): Likewise.
8680         * toplev.c (decode_g_option): Likewise.
8681         * tradcpp.c (output_deps): Likewise.
8682         * varasm.c (decode_reg_name): Likewise.
8683
8684         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
8685         Const-ification.
8686         * arm.md: Likewise.
8687         * avr.c (avr_regnames, encode_section_info): Likewise.
8688         * c4x.c (float_reg_names): Likewise.
8689         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
8690         * elfos.h (const_section): Likewise.
8691         * i386.c (ix86_comp_type_attributes): Likewise.
8692         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
8693         * ia64/aix.h (UNIQUE_SECTION): Likewise.
8694         * ia64.c (type_names): Likewise.
8695         * m68hc11.c (reg_class_names): Likewise.
8696         * m88k.c (m_options): Likewise.
8697         * mips.c (mips_output_conditional_branch, mips_unique_section):
8698         Likewise.
8699         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
8700         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
8701         ultra_code_names): Likewise.
8702         * sparc.h (OVERRIDE_OPTIONS): Likewise.
8703
8704 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
8705
8706         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
8707         Use --fatal-warnings option for gas.
8708         * configure: Rebuilt.
8709
8710 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8711
8712         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
8713
8714 2001-09-11  Jim Wilson  <wilson@redhat.com>
8715
8716         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
8717
8718 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8719
8720         * builtins.c (c_strlen): Treat an offset too large for a
8721         HOST_WIDE_INT as out of range.
8722
8723 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
8724
8725         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
8726         (EDGE_CRITICAL_P): New predicate.
8727         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
8728         handling.
8729         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
8730         (dump_edge_info): Remove "crit".
8731         * cfganal.c (mark_critical_edges): Kill.
8732         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
8733         * cfgcleanup.c (cleanup_cfg): Likewise.
8734         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
8735         (find_spanning_tree): Likewise.
8736         * reg-stack.c (convert_regs_1): Likewise.
8737         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
8738
8739         * basic-block.h (create_basic_block_structure): New.
8740         (create_basic_block): Update prototype.
8741         (force_nonfallthru): New.
8742         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
8743         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
8744         handle updating of block_for_insn, creating of empty BBs and BBs at
8745         the end of INSN chain.
8746         (create_basic_block): New function.
8747         (split_block): Use create_basic_block.
8748         (force_nonfallthru_and_redirect): Break out from ...; cleanup
8749         (redirect_edge_and_branch_force): ... here.
8750         (force_nonfallthru): New.
8751         (split_edge): Rewrite to use force_nonfallthru and create_block.
8752         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
8753         (find_basic_blocks): Free basic_block_for_insn.
8754         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
8755
8756         * cfg.c: Fix formating.
8757         * cfgcleanup.c: Fix formating.
8758         (merge_blocks, tail_recursion_label_p): Return bool.
8759         (merge_blocks_move_predecessor_nojumps,
8760          merge_blocks_move_successor_nojumps): Return void.
8761
8762 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
8763
8764         * configure.in: Check whether assembler supports section merging.
8765         * config.in: Rebuilt.
8766         * configure: Rebuilt.
8767         * varasm.c (variable_section, output_constant_pool): Pass alignment
8768         to SELECT_SECTION and SELECT_RTX_SECTION.
8769         (mergeable_string_section): New.
8770         (mergeable_constant_section): New.
8771         (default_elf_asm_named_section): Output SECTION_MERGE and
8772         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
8773         * output.h (mergeable_string_section): New.
8774         (mergeable_constant_section): New.
8775         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
8776         * toplev.c (flag_merge_constants): New.
8777         (f_options): Add -fmerge-constants and -fmerge-all-constants
8778         options.
8779         (toplev_main): Default to -fno-merge-constants if not optimizing.
8780         * flags.h (flag_merge_constants): Add extern.
8781         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
8782         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
8783         argument.
8784         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
8785         Define if assembler has working .subsection -1 support.
8786         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
8787         Put constant into special SHF_MERGE sections if the linker should
8788         attempt to merge duplicates.
8789         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
8790         macro argument.
8791         Put constant into special SHF_MERGE sections if the linker should
8792         attempt to merge duplicates.
8793         * config/alpha/elf.h: Likewise.
8794         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
8795         has working .subsection -1 support.
8796         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
8797         SELECT_SECTION.
8798         * config/svr3.h: Likewise.
8799         * config/darwin.h: Likewise.
8800         * config/arm/aof.h: Likewise.
8801         * config/arm/linux-elf.h: Likewise.
8802         * config/avr/avr.h: Likewise.
8803         * config/c4x/c4x.h: Likewise.
8804         * config/d30v/d30v.h: Likewise.
8805         * config/i386/dgux.h: Likewise.
8806         * config/i386/osfrose.h: Likewise.
8807         * config/i386/sco5.h: Likewise.
8808         * config/i386/svr3gas.h: Likewise.
8809         * config/ia64/aix.h: Likewise.
8810         * config/m32r/m32r.h: Likewise.
8811         * config/m68k/m68k.h: Likewise.
8812         * config/m88k/dgux.h: Likewise.
8813         * config/m88k/m88k.h: Likewise.
8814         * config/mcore/mcore-pe.h: Likewise.
8815         * config/mips/mips.h: Likewise.
8816         * config/pa/pa.h: Likewise.
8817         * config/pa/pa-linux.h: Likewise.
8818         * config/romp/romp.h: Likewise.
8819         * config/rs6000/sysv4.h: Likewise.
8820         * config/rs6000/xcoff.h: Likewise.
8821         * config/s390/linux.h: Likewise.
8822         * config/sparc/sparc.h: Likewise.
8823         * config/sparc/sysv4.h: Likewise.
8824         * config/stormy16/stormy16.h: Likewise.
8825         * config/v850/v850.h: Likewise.
8826         * config/vax/vms.h: Likewise.
8827         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
8828         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
8829         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
8830         default_elf_asm_named_section for SHF_MERGE sections.
8831
8832 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
8833
8834         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
8835         is OK.
8836
8837 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
8838
8839         * c-common.c (split_specs_attrs): Allow for empty attributes with
8840         empty TREE_PURPOSE.  Fixes PR c/4294.
8841
8842 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
8843
8844         * basic-block.h (cached_make_edge, make_single_succ): New.
8845         (make_edge): Remove first parameter.
8846         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
8847         * cfg.c (cached_make_edge): Rename from make_edge; return newly
8848         created edge; use obstack allocation.
8849         (make_edge, make_single_succ_edge): New.
8850         (first_removed_edge): New static variable.
8851         (init_flow): Initialize first_removed_edge and n_edges.
8852         (clear_edges): Use remove_edge.
8853         (flow_delete_block): Likewise.
8854         (remove_edge): Add removed edges to the removed edges list.
8855         (split_block, redirect_edge_and_branch_force, split_edge):
8856         Use make_edge.
8857         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
8858         (add_noreturn_fake_exit_edges): Likewise.
8859         (connect_infinite_loops_to_exit): Liekwise.
8860         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
8861         Use cached_make_edge.
8862         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
8863         * profile.c (branch_prob): Update make_edge call.
8864         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
8865
8866 2001-09-11  Richard Henderson  <rth@redhat.com>
8867
8868         * config/alpha/alpha.c: Tidy formatting.
8869         (local_symbolic_operand): Verify mode.
8870         (alpha_sa_mask): Ignore unicos for eh_return.
8871         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
8872         * config/alpha/alpha.md (umk divsi patterns): Remove.
8873         (extendsfdf2): Remove unicos check.
8874         (tablejump): Merge vms and unicos code; always use direct set
8875         plus label_ref use.
8876
8877 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8878
8879         * config.gcc (alpha*-*-unicosmk*): New target.
8880
8881         * config/alpha/alpha-protos.h (symbolic_operand,
8882         unicosmk_add_call_info_word, unicosmk_add_extern,
8883         unicosmk_defer_case_vector, unicosmk_unique_section,
8884         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
8885         unicosmk_asm_file_start, unicosmk_asm_file_end,
8886         unicosmk_output_common): Declare.
8887
8888         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
8889         direct_return, function_arg, alpha_va_start, alpha_va_arg,
8890         alpha_does_function_need_gp, alpha_end_function): Support Cray
8891         Unicos/Mk.
8892         (alpha_init_machine_status, alpha_mark_machine_status,
8893         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
8894         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
8895         unicosmk_asm_named_section, unicosmk_insert_attributes,
8896         unicosmk_section_type_flags, symbolic_operand,
8897         unicosmk_output_module_name, unicosmk_output_default_externs,
8898         unicosmk_output_dex, unicosmk_output_externs,
8899         unicosmk_output_addr_vec, unicosmk_ssib_name,
8900         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
8901         unicosmk_asm_file_end, unicosmk_output_common,
8902         unicosmk_section_type_flags, unicosmk_unique_section,
8903         unicosmk_add_call_info_word, unicosmk_text_section,
8904         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
8905         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
8906         unicosmk_dex_count, unicosmk_special_name): New.
8907         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
8908         TARGET_ABI_UNICOSMK.
8909         (get_aligned_mem, alpha_expand_unaligned_load,
8910         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
8911         alpha_expand_unaligned_store_words): Support big-endian mode.
8912         (print_operand): Likewise. New format specifier 't'. Use
8913         TARGET_AS_SLASH_BEFORE_SUFFIX.
8914         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
8915         (alpha_pv_save_size): Update with above change.
8916         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
8917         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
8918         Unicos/Mk.
8919
8920         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
8921         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
8922         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
8923         (EXTRA_CONSTRAINT): New constraint 'U'.
8924         (PREDICATE_CODES): Add symbolic_operand.
8925
8926         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
8927         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
8928         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
8929         (integer division and modulus patterns): Split in default and
8930         Unicos/Mk versions.
8931         (*divmodsi_internal, *divmoddi_internal): Disable for
8932         TARGET_ABI_UNICOSMK.
8933         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
8934         little-endian and big-endian versions.
8935         (ext, ins, msk): Likewise.
8936         (extv, extzv, insv): Support big-endian mode.
8937         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
8938         (call_umk, call_value_umk, *call_umk, tablejump_umk,
8939         *tablejump_umk_internal, *call_value_umk): New.
8940         (*movdi_nofix): Add pattern for loading an address into a register on
8941         TARGET_ABI_UNICOSMK.
8942         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
8943         (umk_mismatch_args, arg_home_umk): New.
8944         (various insns): Don't use mov, fmov, nop, fnop and unop.
8945         (realign): Support TARGET_ABI_UNICOSMK.
8946
8947         * config/alpha/unicosmk.h: New file.
8948         * config/alpha/t-unicosmk: New file.
8949
8950         * fixinc/inclhack.def (unicosmk_restrict): New.
8951         * fixinc/fixincl.x: Regenerate.
8952
8953         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
8954         (wchar_t): Check for and define __WCHAR_T__.
8955
8956 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
8957
8958         * combine.c (simplify_shift_const): Treat shifts by the mode
8959         size as undefined.
8960
8961 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8962
8963         * cpphash.h (struct tokenrun): New.
8964         (struct cpp_context): New member bol.
8965         (struct cpp_reader): New members.
8966         (_cpp_init_tokenrun): New.
8967         * cppinit.c (cpp_create_reader): Set up the token runs.
8968         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
8969         (lex_token): New internalised version of _cpp_lex_token.  Don't
8970         handle directives or the multiple include optimization here any
8971         more.  Simply lex a token.
8972         * cpplib.c (run_directive): Clear bol.
8973         (_cpp_pop_buffer): Set bol.
8974         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
8975         arguments.
8976
8977 2001-09-11  Michael Meissner  <meissner@redhat.com>
8978
8979         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
8980         give an error if the user uses -mfp32.
8981         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
8982         default options.
8983         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
8984         floating point register size.
8985         (EXTRA_SPECS): Add CPP_FPR_SPEC.
8986
8987         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
8988         HOST_WIDE_INT_PRINT_DEC to properly print the result of
8989         int_size_in_bytes.
8990         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
8991         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
8992
8993 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
8994
8995         * dbxout.c (dbxout_parms): Fix typo in comment.
8996         * unroll.c (loop_find_equiv_value): Ditto.
8997         * toplev.c (rest_of_compilation): Ditto.
8998         * loop.c (scan_loop): Ditto.
8999         * dwarf2out.c (struct dw_fde_struct): Ditto.
9000
9001 2001-09-10  Zack Weinberg  <zackw@panix.com>
9002
9003         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
9004         copying identifier when we're just going to throw it away.
9005         (parse_identifier_slow): New routine to handle abnormal cases.
9006         (_cpp_lex_token): Update call site.
9007
9008         * hashtable.c (ht_lookup): Don't assume that the string we've
9009         been given is NUL-terminated.
9010         * system.h: #define __builtin_expect(a, b) to (a) if not
9011         GCC >=3.0.
9012
9013 2001-09-10  Michael Meissner  <meissner@redhat.com>
9014
9015         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
9016         binutils, gdb.
9017
9018 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
9019
9020         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
9021
9022 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9023
9024         * builtins.c (c_getstr): Correct thinko in last change and further
9025         cleanup.
9026
9027 2001-09-10  Tim Freeman <tim@fungibole.com>
9028
9029         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
9030         into varray's and register them as roots with the garbage
9031         collector so they are not collected too soon.
9032
9033 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
9034
9035         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
9036         New.
9037         * basic-block.h (flow_obstack, label_value_list,
9038         tail_recursion_label_list): Declare
9039         (tidy_fallthru_edges): Declare.
9040         (expunge_block, last_loop_beg_note): Delete.
9041         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
9042         * cfg.c: New file
9043         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
9044         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
9045         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
9046         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
9047         expunge_block, flow_delete_block, compute_bb_for_insn,
9048         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
9049         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
9050         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
9051         try_redirect_by_replacing_jump, last_loop_beg_note,
9052         redirect_edge_and_branch, redirect_edge_and_branch_force,
9053         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
9054         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
9055         commit_edge_insertions, dump_flow_info, debug_flow_info,
9056         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
9057         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
9058         Move here from flow.c
9059         * cfganal.c: New file.
9060         (forwarder_block_p, can_fallthru, mark_critical_edges,
9061          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
9062          find_unreachable_blocks, create_edge_list, free_edge_list,
9063          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
9064          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
9065          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
9066          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
9067          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
9068          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
9069         Move here from flow.c
9070         * cfgbuild.c: New file
9071         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
9072          make_edges, find_basic_blocks_1, find_basic_blocks,
9073          find_sub_basic_blocks): Move here from flow.c
9074         * cfgcleanup.c: New file.
9075         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
9076          merge_blocks_move_predecessor_nojumps,
9077          merge_blocks_move_successor_nojumps, merge_blocks,
9078          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
9079          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
9080         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
9081         if succeeded.
9082         * cfgloop.c: New file
9083         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
9084          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
9085          flow_loop_exit_edges_find, flow_loop_nodes_find,
9086          flow_loop_pre_header_scan, flow_loop_pre_header_find,
9087          flow_loop_tree_node_add, flow_loops_tree_build,
9088          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
9089          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
9090         Move here from flow.c
9091         * flow.c: Remove everything moved elsewhere
9092         * output.h (cleanup_cfg): Return bool.
9093
9094         * bb-reorder.c (reorder_block_def): Remove 'index'.
9095         (insert_intra_1): Add argument BB, set block for new note.
9096         (make_reorder_chain): Do not depdent on BB indexes.
9097         (make_reorder_chain_1): Do not use BB indexes.
9098         (label_for_bb): Likewise; set BB for new insn.
9099         (emit_jump_to_block_after): Likewise.
9100         (fixup_reorder_chain): Sanity check that all basic blocks
9101         are chained; verify newly created insn chain; remove
9102         undocnitional jump simplifying; Do not use BB indexes;
9103         properly initialize count and frequency information;
9104         dump reordered sequence.
9105         (insert_intra_bb_scope_notes): update call of insert_intra_1.
9106         (insert_inter_bb_scope_notes): Set block for new insn.
9107         (reorder_basic_blocks): Dump flow info before reoredering.
9108
9109 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9110
9111         * alias.c (clear_reg_alias_info): Use K&R format definition.
9112         Avoid unsigned warning.
9113         * builtins.c: Use "unsigned int", not "unsigned".
9114         (target_char_cast): Use host_integerp and tree_low_cst.
9115         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
9116         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
9117         (c_getstr): Likewise.
9118         (std_expand_builtin_va_arg): Use int_size_in_bytes.
9119         (builtin_memcpy_read_str): Avoid unsigned warning.
9120         (expand_builtin_memcpy): Alignments are unsigned.
9121         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
9122         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
9123         * predict.c (expensive_function_p): LIMIT now unsigned.
9124         * resource.c (mark_target_live_regs): Make some vars unsigned.
9125         * sdbout.c: Use "unsigned int", not "unsigned".
9126         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
9127         (sdbout_source_line): Likewise.
9128         (sdbout_record_type_name): Remove "const" for NAME declaration.
9129         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
9130
9131 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
9132
9133         * calls.c (store_one_arg): Expand comment.
9134
9135 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9136
9137         * calls.c (store_one_arg): Make sure that the entire argument is
9138         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
9139
9140 2001-09-09  Richard Henderson  <rth@redhat.com>
9141
9142         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
9143
9144 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
9145
9146         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
9147
9148 2001-09-09  Richard Henderson  <rth@redhat.com>
9149
9150         * config/alpha/alpha.c (alpha_next_sequence_number): New.
9151         (alpha_this_literal_sequence_number): New.
9152         (alpha_this_gpdisp_sequence_number): New.
9153         (some_operand, input_operand): Add HIGH.
9154         (local_symbolic_operand): New.
9155         (alpha_encode_section_info): New.
9156         (alpha_legitimate_address_p): Allow LO_SUM.
9157         (alpha_legitimize_address): Generate HIGH+LO_SUM.
9158         (alpha_expand_mov): Likewise.
9159         (secondary_reload_class): Check memory_operand not general_operand
9160         for FP_REGS test.
9161         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
9162         (alpha_expand_unaligned_store): Likewise.
9163         (alpha_expand_unaligned_load_words): Likewise.
9164         (alpha_expand_unaligned_store_words): Likewise.
9165         (alpha_expand_block_clear): Likewise.
9166         (print_operand): Handle %#, %*, %H.
9167         (print_operand_address): Handle LO_SUM.
9168         (find_lo_sum): New.
9169         (alpha_does_function_need_gp): Use it.
9170         (alpha_expand_block_move): Fix signed compare warnings.
9171         (alpha_sa_mask, alpha_align_insns): Likewise.
9172         * config/alpha/alpha-protos.h: Update.
9173         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
9174         (MASK_EXPLICIT_RELOCS): New.
9175         (TARGET_SWITCHES): Add -mexplicit-relocs.
9176         (EXTRA_CONSTRAINT): Add 'T'.
9177         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
9178         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
9179         (ENCODE_SECTION_INFO): Out line.
9180         (REDO_SECTION_INFO_P): New.
9181         (STRIP_NAME_ENCODING): New.
9182         (ASM_OUTPUT_LABELREF): New.
9183         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
9184         (PREDICATE_CODES): Update.
9185         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
9186         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
9187         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
9188         builtin_setjmp_receiver_er, exception_receiver_1_er,
9189         call_value_osf_1_er): New patterns.
9190         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
9191         (movqi, movhi, movsi): Add explicit $31 base register to lda.
9192         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
9193         (FINAL_PRESCAN_INSN): New.
9194
9195 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
9196
9197         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
9198
9199 2001-09-08  Andreas Jaeger  <aj@suse.de>
9200
9201         * i386.h (TARGET_SWITCHES): Fix description.
9202
9203 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
9204
9205         * rs6000.c (num_insns_constant): Compute number of instructions
9206         more accurately.
9207
9208         * doc/install.texi: Explain AIX exception handling work-around.
9209         Update URL for AIX fixes.
9210
9211 2001-09-07  Jim Wilson  <wilson@redhat.com>
9212
9213         * alias.c (clear_reg_alias_info): New.
9214         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
9215         * rtl.h (clear_reg_alias_info): Declare.
9216
9217 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9218
9219         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
9220         available.
9221         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
9222         (m16m,edivm,emulm): Change declaration to match definition.
9223
9224 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
9225
9226         * reload.c (push_reload): Check for subreg_lowpart_p instead of
9227         SUBREG_BYTE being 0 when determining if the inner part of a subreg
9228         can be reloaded.
9229
9230 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9231
9232         * c-common.c (signed_or_unsigned_type): Handle machine mode types
9233         which have no corresponding C type.
9234         * fold_const.c (target_isinf,target_isnan,target_negative): Update
9235         the representation of 64-bit doubles to work with 64-bit ints.
9236
9237 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
9238
9239         * config/mips/mips.c (override_options): Do not override ISA when ABI
9240         specified if MIPS_CPU_STRING_DEFAULT was specified.
9241
9242 2001-09-07  Richard Henderson  <rth@redhat.com>
9243
9244         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
9245         (express_from_1): Wrap lines.
9246         * rtlanal.c (commutative_operand_precedence): Rename from
9247         operand_preference; export.
9248         * rtl.h: Declare it.
9249         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
9250         (simplify_binary_operation): Invoke simplify_plus_minus on
9251         (CONST (PLUS ...)) as well.
9252         (struct simplify_plus_minus_op_data): New.
9253         (simplify_plus_minus_op_data_cmp): New.
9254         (simplify_plus_minus): Use them.  Avoid infinite recursion with
9255         simplify_binary_operation wrt CONST.
9256
9257 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
9258
9259         * h8300-protos.h (general_operand_dst_push): Remove.
9260         * h8300.c (general_operand_dst_push): Likewise.
9261         * h8300.h (OK_FOR_T): Likewise.
9262         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
9263         * h8300.md (pushqi_h8300): New.
9264         (pushqi_h8300hs): Likewise.
9265         (pushqi): Likewise.
9266         (pushhi_h8300): Likewise.
9267         (pushhi_h8300hs): Likewise.
9268         (pushhi): Likewise.
9269
9270 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9271
9272         * genattrtab.c (attr_printf): First arg is unsigned.
9273         Clean up formatting of callers.
9274
9275 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
9276
9277         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
9278         registers.
9279
9280 2001-09-07  Andreas Jaeger  <aj@suse.de>
9281
9282         * i386.h (TARGET_SWITCHES): Fix descriptions.
9283
9284 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9285
9286         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
9287
9288 2001-09-06  Ira Ruben  <ira@apple.com>
9289
9290         Remove OP_IDENTIFIER.
9291         * tree.def (OP_IDENTIFIER): Remove.
9292         * tree.c (tree_node_kind enum): Remove op_id_kind.
9293         (tree_node_kind_names): Remove "op_identifiers".
9294         (make_node): Remove OP_IDENTIFIER test.
9295         (build_op_identifier): Removed because it isn't being used.
9296         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
9297         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
9298
9299 2001-09-06  Richard Henderson  <rth@redhat.com>
9300
9301         * simplify-rtx.c (simplify_binary_operation): Revert last change.
9302
9303 2001-09-06  Richard Henderson  <rth@redhat.com>
9304
9305         * simplify-rtx.c (simplify_binary_operation): Simplify contents
9306         of CONST.
9307
9308 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9309
9310         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
9311         number used for CR register.
9312
9313 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
9314                           Joern Rennecke (amylaar@cygnus.com)
9315
9316         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
9317         * h8300.c (initial_offset): Handle offset between RP and FP.
9318         (h8300_return_addr_rtx): New function.
9319         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
9320         return register.
9321         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
9322         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
9323         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
9324         (CAN_ELIMINATE, REGISTER_NAMES):
9325         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
9326
9327 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
9328
9329         Remove TYPE_NONCOPIED_PARTS.
9330         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
9331         (struct tree_type): Remove noncopied_parts.
9332         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
9333         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
9334         (fixed_type_p): Remove.
9335         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
9336         (expand_expr, MODIFY_EXPR): Likewise.
9337         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
9338         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
9339
9340 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
9341
9342         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
9343         compiler warnings.
9344         (mask64_operand): Likewise.
9345         (includes_rldic_lshift_p): Likewise.
9346         (includes_rldicr_lshift_p): Likewise.
9347
9348 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
9349
9350         * objc/objc-act.c (build_message_expr): If a class method cannot
9351         be found, do not issue a warning if a corresponding instance
9352         method exists in the root class.
9353
9354 2001-09-05  Richard Henderson  <rth@redhat.com>
9355
9356         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
9357
9358 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
9359
9360         * function.c (ggc_mark_struct_function): Mark f->outer.
9361         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
9362         * integrate.c (output_inline_function): ... not here.
9363
9364 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
9365
9366         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
9367
9368         * i386.c (size_cost): New static variable.
9369         (override_function): Use size_cost when -Os is specified.
9370
9371         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
9372         properly;  Use current_function_calls_eh_return.
9373         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
9374         use leave to avoid dependency chain.
9375
9376         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
9377         get BB loop_depth instead of computing it from LOOP notes.
9378
9379         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
9380
9381 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9382
9383         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9384         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9385         UNALIGNED_DOUBLE_INT_ASM_OP): Define
9386
9387 2001-09-05  Jeffrey A Law  (law@cygnus.com)
9388             Jason Merrill (jason@redhat.com)
9389
9390         * stor-layout.c (layout_type): Complain if an array's size can
9391         not be represented in a size_t.
9392
9393         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
9394
9395 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
9396
9397         * gcc.c: (process_command) Add parentheses around assignment
9398         used as truth value.
9399
9400 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
9401
9402         * config/mips/mips.c (save_restore_insns): Don't mark any register
9403         save slots as unchanging if current_function_calls_eh_return.
9404
9405 2001-09-05  Richard Henderson  <rth@redhat.com>
9406
9407         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
9408         * config/alpha/alpha-protos.h: Declare it.
9409         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
9410         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
9411         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
9412         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
9413         (REG_OK_FOR_BASE_P): Select one of the above.
9414
9415 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
9416
9417         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
9418         (crti.o): Prefix name of object file with $(T).
9419         (crtn.o): Likewise.
9420
9421 2001-09-05  David S. Miller  <davem@redhat.com>
9422
9423         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
9424         * config/sparc/linux64.h: Likewise.
9425
9426 2001-09-05  Andreas Jaeger  <aj@suse.de>
9427
9428         * doc/invoke.texi (i386 Options): -mwide-multiply is not
9429         available anymore, remove the documentation.
9430         (i386 Options): Fix typo, cleanup index entries.
9431
9432         * prefix.c (concat): Remove, we can use the version from liberty.
9433
9434 2001-09-05  Richard Henderson  <rth@redhat.com>
9435
9436         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
9437         New functions split out of md file expanders.
9438         * config/alpha/alpha-protos.h: Declare them.
9439         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
9440
9441 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9442
9443         * cppmacro.c (funlike_invocation_p): No need to restore context.
9444
9445 2001-09-04  Richard Henderson  <rth@redhat.com>
9446
9447         * reload.c (push_reload): Export.
9448         * reload.h (push_reload): Declare it.
9449
9450         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
9451         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
9452         * config/alpha/alpha.c (alpha_legitimize_address): New.
9453         (alpha_legitimize_reload_address): Likewise.
9454         * config/alpha/alpha-protos.h: Declare them.
9455
9456 2001-09-04  Stan Shebs  <shebs@apple.com>
9457
9458         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
9459         * config/darwin.c (machopic_stub_name): Account for internally
9460         generated lib calls such as memcpy.
9461
9462 2001-09-04  Richard Henderson  <rth@redhat.com>
9463
9464         * unwind.h (_UA_END_OF_STACK): New flag.
9465         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
9466
9467 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
9468
9469         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
9470
9471 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
9472
9473         * config/mips/mips.c (save_restore_insns): Change base_offset to
9474         fp_offset in second call to mips_emit_frame_related_store.
9475
9476 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
9477
9478         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
9479         sometimes be represented as a NOTE of type
9480         NOTE_INSN_DELETED_LABEL.
9481         (Insns): Document NOTE_INSN_DELETED_LABEL.
9482
9483 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
9484
9485         * c-common.h (tree_dump_index): Add more comments.
9486         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
9487         (dump_option_value_info): New struct.
9488         (dump_options): New array.
9489         (dump_switch_p): Parse switch options symbolically.
9490         * doc/invoke.texi (-fdump-ast): Rename to ...
9491         (-fdump-tree): ... here. Document that options are symbolic, and
9492         not all are applicable.
9493
9494 2001-09-04  David S. Miller  <davem@redhat.com>
9495
9496         * config/sparc/sparc.md (define_splits): Kill constraints.
9497
9498         Cleanup redundant and unused insn attributes.
9499         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
9500         binary, and move.  Mark ialu as default.
9501         (commented out define_function_unit "alu"): Kill.
9502         (define_attr "use_clobbered"): Kill.
9503         (whole file): Kill address insn type references.  Replace
9504         all unary/binary/move references with ialu.
9505         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
9506         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
9507         TYPE_IALU.
9508
9509         Simplify length insn attribute and make more judicious use
9510         of insn attribute defaulting.
9511         * config/sparc/sparc.md (all insns with length > one): Mark as
9512         insn type multi if real instructions, else use default if
9513         it is a forced splitter.
9514         (all insns with length == one): Use default insn length.
9515         (all insns of type ialu): Use default insn type.
9516
9517         Fix erroneous insn attribute settings.
9518         (addx): Set insn type to misc.
9519         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
9520         const_umulsidi3_sp64): Set insn type to imul.
9521
9522         Track SFmode vs DFmode insns according to UltraSPARC
9523         scheduling rules.
9524         * config/sparc/sparc.md ("fptype"): New attribute, default
9525         to "single".
9526         (all DFmode single insns): Mark as fptype "double".
9527
9528 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
9529
9530         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
9531
9532 2001-09-03  Richard Henderson  <rth@redhat.com>
9533
9534         * function.h (struct function): Add arg_pointer_save_area_init.
9535         * function.c (expand_function_end): Init arg_pointer_save_area.
9536         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
9537         when called from a nested function.
9538
9539 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
9540
9541         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
9542         is enabled.
9543
9544 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9545
9546         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
9547
9548 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
9549
9550         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
9551         (emit_push_insn): Use specified padding direction when
9552         STACK_PUSH_CODE is POST_INC.
9553
9554         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
9555
9556 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9557
9558         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
9559
9560 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9561
9562         * cppinit.c (cpp_start_read): Free the imacros list as we
9563         traverse it.  Don't free the chains before returning.
9564         (_cpp_push_next_buffer): Only try pushing buffers if we've
9565         completed -imacros handling.
9566
9567 2001-08-31  Eric Christopher  <echristo@redhat.com>
9568
9569         * gcc.c (handle_braces): Add explaination for abort.
9570
9571 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
9572
9573         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
9574         move adjustment of bitpos instead.
9575
9576 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
9577
9578         * function.c: Remove all_functions.  Make outer_function_chain
9579         static.
9580         (init_function_start): Don't add new function structure to
9581         all_functions.
9582         (find_function_data, push_function_context_to,
9583         pop_function_context_from, put_var_into_stack,
9584         trampoline_address): Update for changed structure element names.
9585         (push_function_context_to): Disentangle.
9586         (free_after_compilation): Also free F.
9587         (expand_dummy_function_end): Don't free cfun here.
9588         (put_var_into_stack): Comment why we can't use find_function_data here.
9589         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
9590         (mark_function_chain): Split into maybe_mark_struct_function and
9591         ggc_mark_struct_function.  Export the latter.
9592         (init_function_once): Mark from cfun and outer_function_chain;
9593         not all_functions.
9594
9595         * function.h (struct function): Kill next_global.  Rename next
9596         to outer.  All users updated to match.
9597         (all_functions, outer_function_chain): Don't declare.
9598
9599         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
9600         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
9601         don't touch f->inlinable, after calling rest_of_compilation.
9602
9603         * tree.h: Forward-declare struct function.  Prototype
9604         ggc_mark_struct_function.
9605
9606 2001-08-31  Kazu Hirata  <kazu@hxi.com>
9607
9608         * config/h8300/h8300.md (*andorhi3): Fix typos.
9609
9610 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9611
9612         * calls.c (emit_library_call_value): Don't use a fixed
9613         argument after VA_CLOSE, i.e. out of scope in traditional C.
9614
9615         * emit-rtl.c (gen_rtvec): Likewise.
9616
9617 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9618
9619         * Makefile.in (c-pragma.o): Depend on output.h.
9620         (reorg.o): Depend on except.h.
9621
9622         * c-pragma.c: Include output.h.
9623
9624         * reorg.c: Include except.h.
9625
9626         * unwind-dw2.c: Call __builtin_alloca, not alloca.
9627
9628 2001-08-31  Richard Henderson  <rth@redhat.com>
9629
9630         * sched-deps.c (add_dependence): Don't elide dependency if the
9631         conditional used by insn is modified in elem.
9632
9633 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
9634
9635         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
9636
9637 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
9638
9639         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
9640         dump_switch_p.
9641
9642 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
9643
9644         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
9645         function.
9646         (stormy16_asm_out_constructor): New function.
9647         (TARGET_ASM_CONSTRUCTOR): Define.
9648         (TARGET_ASM_DESTRUCTOR): Define.
9649
9650 2001-08-31  Andreas Jaeger  <aj@suse.de>
9651
9652         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
9653         * loop.c (add_label_notes): Likewise.
9654         * reload.c (find_reloads): Likewise.
9655         * config/sh/sh.c (machine_dependent_reorg): Likewise.
9656
9657 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
9658
9659         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
9660         code here.  Take _Unwind_{W,Sw}ord*.
9661         (read_encoded_value_with_base): Use them.
9662         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
9663         words.
9664         (extract_cie_info): Simplify read_?leb128 handling.
9665         (execute_stack_op, execute_cfa_program): Likewise.
9666         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
9667
9668 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
9669
9670         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
9671         the frame pointer to pop the stack if convenient.
9672
9673         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
9674         Don't use post-increment before combine.
9675         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
9676         a call-saved register.
9677
9678 2001-08-31  Andreas Jaeger  <aj@suse.de>
9679
9680         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
9681         code was correct.
9682
9683 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
9684
9685         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
9686         not DIV/MOD, of course.
9687
9688 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
9689
9690         * rtl.def: Undo my patch commited 2001-08-27.
9691
9692         * genattrtab.c: Ditto.
9693
9694         * rtl.h: Ditto.
9695
9696         * sched-int.h: Ditto.
9697
9698         * target-def.h: Ditto.
9699
9700         * target.h: Ditto.
9701
9702         * haifa-sched.c: Ditto.
9703
9704         * sched-rgn.c: Ditto.
9705
9706         * sched-vis.c: Ditto.
9707
9708         * Makefile.in: Ditto.
9709
9710         * doc/md.texi: Ditto.
9711
9712         * doc/tm.texi: Ditto.
9713
9714         * doc/contrib.texi: Ditto.
9715
9716         * doc/gcc.texi: Ditto.
9717
9718         * genattrtab.h: Remove it.
9719
9720         * genautomata.c: Remove it.
9721
9722         * genattr.c: Undo my patch and Richard Henderson's patch commited
9723         2001-08-27.
9724
9725 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
9726
9727         * config.gcc (h8300-*-elf*): New case.
9728         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
9729         (SUBTARGET_CPP_SPEC): Define.
9730         (EXTRA_SPECS): Define.
9731         (SUBTARGET_EXTRA_SPECS): Define.
9732         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
9733         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
9734
9735 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
9736
9737         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
9738         (LIB2FUNCS_EXTRA): Define.
9739         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
9740         config/h8300/fixunssfsi.c: New file.
9741
9742 2001-08-30  Kazu Hirata  <kazu@hxi.com>
9743
9744         * config/h8300/h8300.md (zero_extendqihi2): Changes to
9745         define_expand to accommodate target-specific attributes.
9746         (anonymous zero_extendqihi2 patterns): New.
9747
9748 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
9749
9750         * h8300.md (*andorhi3): New pattern.
9751
9752 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
9753
9754         * h8300.c (dosize): Fix test for "sub".
9755
9756 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
9757
9758         * c-typeck.c (pointer_diff): Try to eliminate common term before
9759         doing conversions.
9760
9761 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
9762
9763         * config/arm/arm.c (arm_compute_initial_elimination_offset):
9764         Account for the saves of the FP registers.
9765
9766         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
9767         (TEXT_SECTION_ASM_OP): Define.
9768         (INIT_SECTION_ASM_OP): Define.
9769         (FINI_SECTION_ASM_OP): Define.
9770         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
9771         (RDATA_SECTION_FUNCITON): Provide prototype.
9772
9773 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
9774
9775         * reload1.c (move2add_note_store): Correct typo checking for
9776         argument pushes.
9777
9778 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
9779
9780         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
9781         note should not be considered outside the libcall block.
9782
9783 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9784
9785         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
9786
9787 2001-08-29  Kazu Hirata  <kazu@hxi.com>
9788
9789         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
9790
9791 2001-08-29  Kazu Hirata  <kazu@hxi.com>
9792
9793         * config/h8300/h8300-protos.h: Add a prototype for
9794         emit_logical_op.
9795         * config/h8300/h8300.c (emit_logical_op): New.
9796         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
9797         (andsi3): Likewise.
9798         (iorhi3): Likewise.
9799         (iorsi3): Likewise.
9800         (xorhi3): Likewise.
9801         (xorsi3): Likewise.
9802
9803 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9804
9805         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
9806         comparison with rtx INTVAL.
9807         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
9808         expression.
9809         * pa.h (FUNCTION_ARG_SIZE): Likewise.
9810
9811 2001-08-29  Kazu Hirata  <kazu@hxi.com>
9812
9813         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
9814         comment typos.
9815
9816 2001-08-29  Kazu Hirata  <kazu@hxi.com>
9817
9818         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
9819         (reg n) to (mem (pre_dec (reg n))
9820         (anonymous movsi pattern): Likewise.
9821
9822 2001-08-29  Kazu Hirata  <kazu@hxi.com>
9823
9824         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
9825
9826 2001-08-29  Kazu Hirata  <kazu@hxi.com>
9827
9828         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
9829         several special constants.
9830
9831 2001-08-29  Kazu Hirata  <kazu@hxi.com>
9832
9833         * config/h8300/lib1funcs.asm: Fix comment typos.
9834
9835 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9836
9837         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
9838         Fix format specifier warnings.
9839
9840         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
9841         inet_makeaddr, semctl): Prototype.
9842
9843         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
9844         (save_restore_insns): Use base_offset, not gp_offset.
9845
9846         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
9847         (ASM_OUTPUT_BYTE): Fix format specifier warning.
9848
9849 2001-08-29  Richard Henderson  <rth@redhat.com>
9850
9851         * bb-reorder.c (function_tail_eff_head): New.
9852         (record_effective_endpoints): Set it.
9853         (fixup_reorder_chain): Use it.
9854
9855 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9856
9857         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
9858
9859 2001-08-28  Dale Johannesen  <dalej@apple.com>
9860
9861         * config/darwin.c (machopic_function_base_name): Add const
9862         qualifier to a string.
9863         (darwin_encode_section_info): Ditto.
9864
9865 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9866
9867         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
9868         function definition.
9869
9870 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
9871
9872         * df.h (struct df): Add rts_order variable.
9873
9874         * df.c (df_visit_next_rts): New function.
9875         (df_visit_next): Renamed to df_visit_next_rc
9876         (df_analyse_1): Allocate/compute/free rts_order as well.
9877         (df_rd_global_compute): Use df_visit_next_rc instead of
9878         df_visit_next.
9879         (df_ru_global_compute): Use df_visit_next_rts instead of
9880         df_visit_next.
9881
9882         * flow.c (flow_reverse_top_sort_order_compute): New function.
9883
9884         * basic-block.h: Add prototype.
9885
9886 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
9887
9888         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
9889         blocks, the BB_REACHABLE is now set, rather than aux being
9890         non-NULL. Update the test to reflect this.
9891
9892 2001-08-28  Eric Christopher  <echristo@redhat.com>
9893
9894         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
9895         config/mips/crti.asm: Ditto.
9896
9897 2001-08-28  Eric Christopher <echristo@redhat.com>
9898             Richard Henderson <rth@redhat.com>
9899
9900         * c-pragma.h (add_weak): Move prototype from here...
9901         * output.h (add_weak): ... to here.
9902         * varasm.c (add_weak): Fix typo.
9903         * config/mips/crti.asm: New file.
9904         * config/mips/crtn.asm: Ditto.
9905         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
9906         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
9907         (INVOKE__main): Ditto.
9908         (INIT_SECTION_ASM_OP): New.
9909         (FINI_SECTION_ASM_OP): Ditto.
9910         (STARTFILE_SPEC): Add crti.
9911         (ENDFILE_SPEC): Add crtn.
9912         * config/mips/elf64.h: Same.
9913         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
9914         Remove.
9915         * config/mips/vxworks.h: Ditto.
9916         * config/mips/t-elf: Support crti and crtn.
9917
9918 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
9919
9920         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
9921         INSN_LIST.
9922
9923 2001-08-28  Richard Henderson  <rth@redhat.com>
9924
9925         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
9926         (one_cmplbi2 splitter): Remove redundant test.
9927
9928 2001-08-28  Dale Johannesen  <dalej@apple.com>
9929
9930         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
9931
9932 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
9933
9934         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
9935
9936 2001-08-28  Stan Shebs  <shebs@apple.com>
9937
9938         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
9939         (UNALIGNED_SHORT_ASM_OP): Define.
9940         (UNALIGNED_INT_ASM_OP): Define.
9941
9942 2001-08-28  Will Cohen  <wcohen@redhat.com>
9943
9944         * config/rs6000/rs6000.md (store_multiple): Correct RTL
9945         generation for first set.
9946
9947 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
9948
9949         * flow.c (redirect_edge_succ_nodup): Return new edge.
9950         (try_simplify_condjump): Use new edge.
9951         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
9952
9953         * cse.c (cse_basic_block): Skip note instructions.
9954
9955 2001-08-27  Richard Henderson  <rth@redhat.com>
9956
9957         * combine.c (combine_simplify_rtx): Don't reverse condition
9958         if there is no reverse for the condition.
9959         (simplify_comparison): Don't simplify subregs from INT to FP.
9960
9961         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
9962         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
9963         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
9964         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
9965         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
9966         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
9967
9968 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
9969
9970         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
9971         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
9972         (pushqi1): New.
9973         (adddi_dilshr32, adddi_dishl32): Only data register can be
9974         source for mem destination.
9975
9976         * expmed.c (store_bit_field): Ignore adjustment to bitpos
9977         and use bitnum to decide about register move.
9978
9979 2001-08-27  Richard Henderson  <rth@redhat.com>
9980
9981         * genattr.c (main): Emit state_t even when not doing scheduling.
9982
9983 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
9984             Richard Henderson  <rth@redhat.com>
9985
9986         * gcse.c (reg_first_set, reg_last_set): Replace with ...
9987         (reg_avail_info, current_bb): ... these.
9988         (oprs_unchanged_p, record_last_reg_set_info): Use them.
9989         (compute_hash_table): Likewise.
9990
9991 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
9992
9993         * flow.c (verify_flow_info): Use checksums to verify edges.
9994
9995 2001-08-27  Richard Henderson  <rth@redhat.com>
9996
9997         * genautomata.c (expand_automata): Always create a description.
9998
9999 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
10000
10001         * optabs.c (expand_binop): Correctly handle the carry in multiword
10002         add/subtract operations.
10003
10004 2001-08-27  Fred Fish  <fnf@be.com>
10005
10006         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
10007         __SIZE_TYPE__.
10008
10009 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
10010
10011         * reload.c (find_reloads_toplev): Back out this change:
10012
10013         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
10014
10015         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
10016         mem if the address is a mode_dependent_address_p.
10017
10018 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
10019
10020         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
10021         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
10022         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
10023         RTL constructions.
10024
10025         * genattr.c (main): New variable num_insn_reservations.  Increase
10026         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
10027         pipeline hazard recognizer interface.
10028
10029         * genattrtab.h: New file.
10030
10031         * genattrtab.c: Include genattrtab.h.
10032         (attr_printf, check_attr_test, make_internal_attr,
10033         make_numeric_value): Move protypes into genattrtab.h.  Define them
10034         as external.
10035         (num_dfa_decls): New global variable.
10036         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
10037         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
10038         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
10039         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
10040
10041         * genautomata.c: New file.
10042
10043         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
10044
10045         * sched-int.h: (curr_state): Add the external definition for
10046         automaton pipeline interface.
10047         (haifa_insn_data): Add comments for members blockage and units.
10048
10049         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10050         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
10051         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
10052         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
10053         TARGET_SCHED_DFA_POST_CYCLE_INSN,
10054         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10055         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
10056         macros.
10057         (TARGET_SCHED): Use the new macros.
10058
10059         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
10060         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
10061         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
10062         dfa_bubble): New members in gcc_target.sched.
10063
10064         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
10065         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
10066         (insn_queue): Redefine it as pointer to array.
10067         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
10068         INSN_QUEUE_SIZE.
10069         (max_insn_queue_index_macro_value): New variable.
10070         (curr_state, dfa_state_size, ready_try): New varaibles for
10071         automaton interface.
10072         (ready_element, ready_remove, max_issue): New function prototypes
10073         for automaton interface.
10074         (choose_ready): New function prototype.
10075         (insn_unit, blockage_range): Add comments.
10076         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
10077         FUNCTION_UNITS_SIZE == 0.
10078         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
10079         actual_hazard, potential_hazard): Add comments.
10080         (insn_cost): Use cost -1 as undefined value.  Remove
10081         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
10082         pipeline interface.
10083         (ready_element, ready_remove): New functions for automaton
10084         interface.
10085         (schedule_insn): Add new code for automaton pipeline interface.
10086         (queue_to_ready): Add new code for automaton pipeline interface.
10087         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
10088         (debug_ready_list): Print newline when the queue is empty.
10089         (max_issue): New function for automaton pipeline interface.
10090         (choose_ready): New function.
10091         (schedule_block): Add new code for automaton pipeline interface.
10092         Print ready list before scheduling each insn.
10093         (sched_init): Add new code for automaton pipeline interface.
10094         Initiate insn cost by -1.
10095         (sched_finish): Free the current automaton state and finalize
10096         automaton pipeline interface.
10097
10098         * sched-rgn.c: Include target.h.
10099         (init_ready_list, new_ready, debug_dependencies): Add new code for
10100         automaton pipeline interface.
10101
10102         * sched-vis.c: Include target.h.
10103         (get_visual_tbl_length): Add code for automaton interface.
10104         (target_units, print_block_visualization):  Add comments.
10105
10106         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
10107         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
10108         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
10109         (getruntime.o, genautomata.o): New entries.
10110         (genattrtab.o): Add new dependency file genattrtab.h.
10111         (genattrtab): Add new dependencies.  Link it with `libm.a'.
10112         (getruntime.o, hashtab.o): New entries for canadian cross.
10113
10114         * doc/md.texi: Description of automaton based model.
10115
10116         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
10117         Add comments.
10118         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10119         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
10120         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
10121         TARGET_SCHED_DFA_POST_CYCLE_INSN,
10122         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
10123         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10124         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
10125         hook descriptions.
10126         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
10127         MAX_DFA_ISSUE_RATE): New macro descriptions.
10128
10129         * doc/contrib.texi: Add dfa based scheduler contribution.
10130
10131         * doc/gcc.texi: Add more information about genattrtab.
10132
10133 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
10134
10135         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
10136         an RTL basic block.
10137
10138 2001-08-27  Richard Henderson  <rth@redhat.com>
10139
10140         * function.c (expand_function_end): Don't init arg_pointer_save_area.
10141         (get_arg_pointer_save_area): New.  Create an init it here.
10142         (fix_lexical_addr): Use it.
10143         * function.h: Declare it.
10144         * builtins.c (expand_builtin_setjmp_receiver): Use it.
10145         * stmt.c (expand_nl_goto_receiver): Use it.
10146
10147 2001-08-27  Richard Henderson  <rth@redhat.com>
10148
10149         * final.c (final_scan_insn): Don't enter APP_ON mode for
10150         empty asm strings.
10151
10152         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
10153         alignment for assemble_integer for DW_EH_PE_aligned.
10154         * except.c (output_function_exception_table): Likewise.
10155
10156 2001-08-26  Andreas Jaeger  <aj@suse.de>
10157
10158         * c-tree.h: Add prototyp for c_sizeof_nowarn.
10159
10160 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
10161
10162         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
10163
10164 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
10165
10166         * config/rs6000/rs6000.c (mask_operand): Rewrite without
10167         bit-shifting loop.
10168         (mask64_operand): Likewise.
10169         (rldic_operand): Delete.
10170         (includes_lshift64_p): Delete.
10171         (includes_rldic_lshift_p): New function.
10172         (includes_rldicr_lshift_p): New function.
10173         (print_operand): Don't call rldic_operand in case 'W'.
10174         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
10175         (includes_lshift64_p): Remove.
10176         (includes_rldic_lshift_p): Declare.
10177         (includes_rldicr_lshift_p): Declare.
10178         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
10179         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
10180         Replace match_operand rldic_operand predicate with
10181         const_int_operand.  Replace includes_lshift64_p condition with
10182         includes_rldic_lshift_p.
10183         <ashldi3_internal 64 bit rldicr patterns>: New.
10184
10185 2001-08-27  Andreas Jaeger  <aj@suse.de>
10186
10187         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
10188         * errors.c: Likewise.
10189         * final.c: Likewise.
10190         * dwarf2asm.c: Likewise.
10191         * doprint.c (checkit): Likewise.
10192         * diagnostic.c: Likewise.
10193         * collect2.c: Likewise.
10194         * calls.c: Likewise.
10195         * c-semantics.c (build_stmt): Likewise.
10196         * c-format.c (status_warning): Likewise.
10197         * c-errors.c (pedwarn_c99): Likewise.
10198         * builtins.c (validate_arglist): Likewise.
10199         * config/pj/pj.c (pj_printf): Likewise.
10200         * fix-header.c: Likewise.
10201         * gcc.c: Likewise.
10202         * gcov.c (fnotice): Likewise.
10203         * gensupport.c (message_with_line): Likewise.
10204         * mips-tfile.c: Likewise.
10205         * protoize.c (notice): Likewise.
10206         * read-rtl.c (fatal_with_file_and_line): Likewise.
10207         * rtl-error.c: Likewise.
10208         * tradcpp.c: Likewise.
10209         * tree.c: Likewise.
10210         * cp/tree.c (build_min_nt): Likewise.
10211         (build_min): Likewise.
10212         * cp/lex.c: Likewise.
10213         * cp/errfn.c: Likewise.
10214         * cp/rtti.c (create_pseudo_type_info): Likewise.
10215
10216 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
10217
10218         * df.c (df_uses_record): Return after recording all uses
10219         in ASM_OPERANDS.
10220
10221 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
10222
10223         * df.c (df_insn_modify): Realloc the INSN table here, if
10224         necessary, here, too.
10225
10226 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
10227
10228         * config/mips/mips.c (mips_function_value): Handle complex return
10229         values.
10230
10231 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
10232
10233         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
10234         unshared.
10235         * reload.c (make_memloc): Copy result if it is still
10236         reg_equiv_memory_loc[regno] on return.
10237         (subst_reloads) [ENABLE_CHECKING]: Check that none of
10238         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
10239         reg_equiv_mem are modified by the substitutions.
10240
10241 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10242
10243         * predict.c (expensive_function_p): New.
10244         * rtl.h (expensive_function_p): Declare.
10245         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
10246         (use_fast_prologue_epilogue): New static variable.
10247         (expand_prologue): Set it; emit short prologues if unset.
10248         (expand_epilogue): Likewise.
10249
10250 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
10251
10252         * config.gcc: Add stormy16-*-elf case.
10253         * config/stormy16/stormy-abi: New file.
10254         * config/stormy16/stormy16-lib2.c: New file.
10255         * config/stormy16/stormy16-protos.h: New file.
10256         * config/stormy16/stormy16.c: New file.
10257         * config/stormy16/stormy16.h: New file.
10258         * config/stormy16/stormy16.md: New file.
10259         * config/stormy16/t-stormy16: New file.
10260
10261 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
10262
10263         * i386.h (no-accumulate-outgoing-args): Use proper mask.
10264
10265 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
10266
10267         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
10268         descriptor members are pointer size, not constant 4.
10269         * config/rs6000/rs6000.md (define_splits): Remove more unused
10270         constraints.
10271
10272 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10273
10274         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
10275
10276 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
10277
10278         * cp/rtti.c (VPARAMS): Fix parameter.
10279
10280 2001-08-24  Zack Weinberg  <zackw@panix.com>
10281
10282         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
10283         to zero.
10284         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
10285         to switch.
10286         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
10287         in if controlling use of insv.
10288         (extract_bit_field): Likewise, for extv and extzv.
10289
10290 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
10291
10292         * i386.md (movcc peep2): Fix load of 0.
10293
10294 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10295
10296         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
10297         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
10298
10299 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
10300
10301         * c-pragma.h: Move weak_syms and weak_decls...
10302         * varasm.c: ...here.  Now static.
10303         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
10304         depend on HANDLE_PRAGMA_WEAK.
10305
10306         * c-common.c (c_alignof, c_alignof_expr): Move here...
10307         * c-typeck.c: ...from here.
10308         * c-tree.h, c-common.h: Adjust.
10309
10310 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
10311
10312         * config/ia64/ia64.c (rws_update): If !pred, set write_count
10313         instead of incrementing it.
10314
10315         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
10316         asm ready, don't try to move them all into the same array element.
10317
10318 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10319
10320         * function.c (thread_prologue_and_epilogue_insns): Avoid
10321         fallthru flag on edge to exit.
10322
10323         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
10324
10325         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
10326         dead edges.
10327
10328 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
10329
10330         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
10331         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
10332         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
10333         Remove prototype.
10334
10335 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
10336
10337         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
10338         replace "GNU CC" with "GCC".
10339
10340 2001-08-23  Richard Henderson  <rth@redhat.com>
10341
10342         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
10343         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
10344         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
10345         Need GR between FR and not GR_AND_FR.
10346         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
10347         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
10348         AR regs before GR regs.
10349         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
10350         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
10351         (REGISTER_MOVE_COST): Update.
10352         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
10353
10354 2001-08-23  Richard Henderson  <rth@redhat.com>
10355
10356         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
10357         a register class.
10358
10359 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
10360
10361         * reload1.c (emit_reload_insns): Don't look for notes
10362         on a NULL store_insn.
10363
10364 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10365
10366         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
10367         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
10368         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
10369         format specifier warnings.
10370         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
10371
10372 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
10373
10374         * config/i386/i386-protos.h: Correct declaration of
10375         i386_pe_asm_named_section.
10376
10377 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10378
10379         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
10380         variable i.
10381         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10382
10383 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
10384
10385         * cpperror.c (print_location): Don't show _Pragma.
10386         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
10387         and file change callback generation here.
10388         (stack_include_file): Update use of cpp_push_buffer.
10389         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
10390         (struct cpp_buffer): Remove type, pfile members.
10391         * cppinit.c (cpp_handle_option): Use free_chain.
10392         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
10393         (skip_escaped_newlines, get_effective_char, lex_percent): Take
10394         a cpp_reader rather than a cpp_buffer.
10395         (skip_escaped_newlines, get_effective_char, skip_block_comment,
10396         skip_line_comment, parse_string, lex_percent, lex_dot,
10397         _cpp_lex_token): Update accordingly.
10398         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
10399         generation here.
10400         (cpp_push_buffer): Update prototype.
10401         (run_directive): Update use of cpp_push_buffer.
10402         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
10403         handle_assertion): Update use of run_directive.
10404         * cpplib.h (enum cpp_buffer_type): Remove.
10405         (cpp_push_buffer): Update prototype.
10406         * fix-header.c (read_scan_file): Update.
10407
10408 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10409
10410         * gcc.c (struct prefix_list): Change prefix to const char *.
10411
10412 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10413
10414         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
10415
10416 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
10417
10418         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
10419         from a new MEM.
10420
10421         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
10422         a squeezable note.
10423         * rtl.h: Adjust.
10424         * ifcvt.c (dead_or_predicable): Adjust.
10425         * loop.c (find_and_verify_loops): Adjust.
10426         * stmt.c (expand_end_case): Adjust.
10427         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
10428         head and end insn pointers in the basic block, not just local copies.
10429         (merge_blocks_move_predecessor_nojumps): Likewise.
10430
10431 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
10432
10433         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
10434         bitmap.h, builtin-types.def, builtins.c, builtins.def,
10435         c-aux-info.c, c-common.c, c-common.def, c-common.h,
10436         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
10437         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
10438         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
10439         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
10440         conditions.h, config.gcc, configure.frag, configure.in,
10441         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
10442         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
10443         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
10444         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
10445         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
10446         emit-rtl.c, errors.c, errors.h, except.c, except.h,
10447         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
10448         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
10449         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
10450         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
10451         gencheck.c, gencodes.c, genconfig.c, genemit.c,
10452         genextract.c, genflags.c, gengenrtl.c, genmultilib,
10453         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
10454         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
10455         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
10456         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
10457         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
10458         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
10459         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
10460         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
10461         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
10462         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
10463         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
10464         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
10465         params.h, predict.c, predict.def, predict.h, prefix.c,
10466         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
10467         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
10468         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
10469         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
10470         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
10471         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
10472         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
10473         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
10474         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
10475         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
10476         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
10477         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
10478         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
10479         xcoffout.h: replace "GNU CC" with "GCC".
10480
10481 2001-08-21  Richard Henderson  <rth@redhat.com>
10482
10483         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
10484         (final_scan_insn): Consider jump tables data even if we have no
10485         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
10486         ADDR_VEC_ALIGN.
10487         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
10488         (ASM_OUTPUT_CASE_END): Remove.
10489         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
10490         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
10491         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
10492
10493 2001-08-21  Richard Henderson  <rth@redhat.com>
10494
10495         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
10496         at barrier insns.  Emit stop bits before barriers.
10497
10498         * flow.c (flow_find_cross_jump): Don't consider unconditional
10499         return insns for commoning.
10500
10501         * final.c (compute_alignments): Fix typo.
10502
10503         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
10504         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
10505         (store_bit_field): Use mode_for_extraction more places.
10506         (extract_bit_field): Likewise.
10507
10508 2001-08-21  Zack Weinberg  <zackw@panix.com>
10509
10510         * caller-save.c: Don't include insn-codes.h.
10511         (reg_save_code, reg_restore_code): Make arrays of int.
10512         All uses updated to match.
10513         (insert_save, insert_restore): No need to initialize "code"
10514         variable upon declaration.
10515         * Makefile.in: update dependencies; fix typo in clean rule.
10516
10517 2001-08-21  Richard Henderson  <rth@redhat.com>
10518
10519         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
10520         (merge_if_block): Handle fallout from same.
10521
10522 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10523
10524         * builtins.c (type_to_class): Fix typo in last change.
10525
10526 2001-08-21  Richard Henderson  <rth@redhat.com>
10527
10528         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
10529         ia64_asm_output_label.
10530
10531         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
10532         copy of gp while the real gp register contains garbage.
10533
10534 2001-08-21  Zack Weinberg  <zackw@panix.com>
10535
10536         * expmed.c (mode_for_extraction): New function.
10537         (store_bit_field, extract_bit_field): Use it.
10538         * expr.h: Prototype it and provide an enum for its first argument.
10539
10540         * combine.c, function.c, recog.c: Don't include insn-codes.h.
10541         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
10542         and digging through the insn_data tables.
10543         * Makefile.in: Update dependencies.
10544
10545 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
10546
10547         * cppfiles.c (stack_include_file): line-map.c now handles include
10548         depth.
10549         (handle_missing_handler): Similarly.
10550         (_cpp_execute_include): Similarly.
10551         (_cpp_pop_file_buffer): Similarly.
10552         * cpphash.h (struct cpp_reader): Remove system_include_depth,
10553         buffer_stack_depth and include_depth.
10554         * cpplib.c (do_include_common): line-map.c now handles include depth.
10555         (cpp_push_buffer): Similarly.
10556         (_cpp_pop_buffer): Similarly.
10557         * cppmacro.c (builtin_macro): Update.
10558         * line-map.c (init_line_maps): Set depth.
10559         (add_line_map): Increment "used" earlier.  Update and use the
10560         include depth.
10561         (trace_include): Use the include depth.
10562         * line-map.h (struct line_maps): New member depth.
10563
10564 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
10565
10566         * cppfiles.c (stack_include_file): Don't handle -H here.
10567         * cppinit.c (cpp_start_read): Set include tracing after
10568         cpp_post_options and after stacking the main file.
10569         * line-map.c (trace_include): New.
10570         (init_line_maps, add_line_map): Update.
10571         * line-map.h (struct line_maps): New member trace_includes.
10572
10573 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
10574
10575         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
10576         * cppfiles.c (stack_include_file): Only stack a file if there
10577         is something to do.  Return a boolean indicating whether a
10578         buffer was stacked or not.
10579         (_cpp_execute_include): Similarly.
10580         (_cpp_read_file): Similarly.
10581         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
10582
10583 2001-08-21  Sam Steingold  <sds@gnu.org>
10584
10585         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
10586         (RECACHE): keep obufp_before_macroname up to date
10587
10588 2001-08-21  Zack Weinberg  <zackw@panix.com>
10589
10590         * stmt.c: Don't include insn-codes.h.
10591         (expand_end_case): Machine specific logic moved to expr.c.
10592         No need to worry about __builtin_classify_type.
10593         (check_for_full_enumeration_handling, emit_case_nodes):
10594         Kill #if 0 blocks.
10595
10596         * builtins.o (expand_builtin_classify_type): Split up so code
10597         can be shared with fold_builtin_classify_type.
10598         (type_to_class, fold_builtin_classify_type): New functions.
10599         (fold_builtins): Handle __builtin_classify_type.
10600
10601         * expr.c (do_tablejump): Now static.
10602         (case_values_threshold, try_casesi, try_tablejump): New;
10603         code mostly from stmt.c (expand_end_case).
10604         (expr.h): Update prototypes.
10605
10606         * Makefile.in (stmt.o): Update dependencies.
10607
10608 2001-08-21  Will Cohen  <wcohen@redhat.com>
10609
10610         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
10611         declaration of variable i.
10612         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
10613         declaration of variable i.
10614
10615 2001-08-21  Richard Henderson  <rth@redhat.com>
10616
10617         * crtstuff.c: Fix thinko last change.  Move list tails to start
10618         of CRT_END section.  Tidy ifdefs.
10619         (__EH_FRAME_BEGIN__): Always static for ELF.
10620         (__do_global_ctors_1): Rename from __frame_dummy.
10621         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
10622         name change; don't hide __EH_FRAME_BEGIN__.
10623
10624 2001-08-21  Richard Henderson  <rth@redhat.com>
10625
10626         * gdbinit.in: Move break on exit after break on fancy_abort.
10627
10628         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
10629         sized types.
10630
10631 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
10632
10633         * cpphash.h (_cpp_push_next_buffer): New.
10634         * cppinit.c (do_includes): Remove.
10635         (push_include, free_chain, _cpp_push_next_buffer): New.
10636         (cpp_start_read): Use them to rework command line option handling.
10637         (cpp_handle_option): Combine handling of -include and -imacros.
10638         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
10639         appropriate.  Always insert missing \n at EOF.
10640         * cpplib.c (start_directive): Get the directive position right.
10641         * cppmain.c (cb_file_change): Always print the first line, unless
10642         preprocessed.
10643
10644 2001-08-20  Andreas Jaeger  <aj@suse.de>
10645
10646         * profile.c (compute_branch_probabilities): Remove extra new-line
10647         in error message.
10648         * flow.c (verify_flow_info): Likewise.
10649
10650 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
10651
10652         * basic-block.h (basic_block): Add new field 'flags'.
10653         (BB_REACHABLE): Define.
10654         (expunge_block): Declare.
10655         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
10656         (EXIT_BLOCK_PTR): Ditto.
10657         (expunge_block): Remove static declaration.
10658         (cleanup_cfg): Clear bb->aux on every basic block.
10659         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
10660         computing reachability.
10661         (delete_unreachable_blocks): Delete block b if b->flags has
10662         BB_REACHABLE unset.
10663
10664 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
10665
10666         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
10667
10668 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10669
10670         * sparc.c (sparc_variable_issue): Fix typo in last change.
10671
10672 2001-08-20  Richard Henderson  <rth@redhat.com>
10673
10674         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
10675
10676 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10677
10678         * pa.h (RETURN_IN_MEMORY): Improve comment.
10679
10680 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
10681
10682         * doc/invoke.texi (Profiling options): Clarify the interactions
10683         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
10684
10685 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
10686
10687         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
10688         command.
10689
10690 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10691
10692         * gcc.c (make_relative_prefix): Allocate a sufficiently large
10693         buffer.
10694
10695 2001-08-20  Richard Henderson  <rth@redhat.com>
10696
10697         * final.c (end_final): Fix typo last change.
10698
10699 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10700
10701         * cppinit.c (init_standard_includes): The returned buffer
10702         is already malloc-ed.
10703         * gcc.c (add_prefix): Similarly.
10704         * prefix.c (translate_name): Update to support clear buffer
10705         ownership rules.
10706         (update_path): Similarly.  Be sure to free any newly allocated
10707         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
10708         (tr): New function.
10709         * prefix.h (update_path): Update prototype and document.
10710         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
10711         up and update to new buffer ownership rules.
10712         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
10713
10714 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
10715
10716         * final.c (compute_alignments): New function.
10717         (init_insn_lengths): Do not care label_align.
10718         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
10719         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
10720         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
10721         (shorted_branches): Realloc label_align array; do
10722         not call init_insn_lengths; Do not care about loop alignments.
10723         * output.h (compute_alignments): Declare.
10724         * toplev.c (rest_of_compilation): Call compute_alignments.
10725         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
10726
10727         * predict.c (block_info_def): Add npredecesors, remove nvisited;
10728         change visited to tovisit.
10729         (propagate_freq): Use faster traversing algorithm.
10730         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
10731         to tovisit; reverse meaning.
10732
10733         * predict.c (struct block_info_def): Remove nvisited.
10734         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
10735         (estimate_bb_frequencies): Call mark_dfs_back_edges.
10736
10737 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
10738
10739         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
10740         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
10741         (TARGET_FUSED_MADD): New.
10742         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
10743         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
10744         the multiply-add instructions.
10745
10746 2001-08-19  Richard Henderson  <rth@redhat.com>
10747
10748         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
10749         is aligned to pointer size.
10750
10751 2001-08-19  Richard Henderson  <rth@redhat.com>
10752
10753         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
10754         display markers during final schedule.
10755
10756 2001-08-19  Richard Henderson  <rth@redhat.com>
10757
10758         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
10759
10760 2001-08-19  Richard Henderson  <rth@redhat.com>
10761
10762         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
10763         in the same string.
10764         (ASM_NAME_TO_STRING): Remove.
10765         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
10766         in the same string.  Remove support for expressions.
10767
10768 2001-08-19  Richard Henderson  <rth@redhat.com>
10769
10770         * config/i386/i386.md (tablejump): Make an expander; handle
10771         pic relative addressing here.
10772         (tablejump_1): Rename from tablejump_pic.
10773         (casesi): Remove.
10774
10775 2001-08-19  Richard Henderson  <rth@redhat.com>
10776
10777         * regclass.c (fix_register): Fix typo.
10778
10779 2001-08-18  Richard Henderson  <rth@redhat.com>
10780
10781         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
10782         (struct _Unwind_Context): Expand br_loc to hold it.
10783         (uw_frame_state_for): Handle leaf functions better.
10784         (uw_update_reg_address): Update for br_loc change.
10785
10786 2001-08-18  Richard Henderson  <rth@redhat.com>
10787
10788         * crtstuff.c: Move list heads before code that uses them.
10789         (__JCR_LIST__): Remove initial null.
10790         (frame_dummy, __frame_dummy): Do java registration here ...
10791         (__do_global_ctors_aux): ... not here.
10792
10793         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
10794         (__do_global_dtors_aux): Update to match.
10795         (__JCR_LIST__, __do_jv_register_classes): New.
10796         (.init): Call it.
10797         * config/ia64/crtend.asm (__JCR_END__): New.
10798         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
10799         instead of an indirect LTOFF22 reloc.
10800
10801 2001-08-18  Richard Henderson  <rth@redhat.com>
10802
10803         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
10804         * regclass.c (init_reg_sets_1): Fix typo.
10805         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
10806         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
10807         (ia64_compute_frame_size): Make ar.unat live when in use.
10808         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
10809         for ar.pfs; remove ar.unat handling.
10810         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
10811         call-saved.
10812         (PREDICATE_CODES): Add ar_pfs_reg_operand.
10813         * config/ia64/ia64-protos.h: Update decls.
10814         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
10815         (sibcall_pic): Likewise.
10816
10817 2001-08-18  Richard Henderson  <rth@redhat.com>
10818
10819         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
10820         pred_rel_mutex when searching for insn_group_barrier.
10821         * config/ia64/ia64.md (cycle_display): Combine the expander
10822         and insn patterns.
10823
10824         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
10825         bit before asm as needed.
10826
10827 2001-08-18  Richard Henderson  <rth@redhat.com>
10828
10829         * timevar.def (TV_MACH_DEP): New.
10830         * toplev.c (rest_of_compilation): Use it.
10831         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
10832
10833 2001-08-18  Zack Weinberg  <zackw@panix.com>
10834
10835         * unwind-dw2.c (execute_stack_op): Add default aborts to
10836         the inner switches to prevent warnings.
10837
10838 2001-08-18  Richard Henderson  <rth@redhat.com>
10839
10840         * timevar.h (struct timevar_time_def): Change element type to float.
10841         (ticks_to_msec, clocks_to_msec): Likewise.
10842         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
10843         (get_time): Likewise.
10844         (timevar_print): Adjust zero check and printing to match.
10845
10846 2001-08-18  Zack Weinberg  <zackw@panix.com>
10847
10848         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
10849         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
10850         Eliminate overfull or underfull hboxes.
10851
10852 2001-08-18  Zack Weinberg  <zackw@panix.com>
10853
10854         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
10855
10856 2001-08-18  Zack Weinberg  <zackw@panix.com>
10857
10858         * haifa-sched.c: Convert to target hooks.  Macros replaced
10859         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
10860         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
10861         MD_SCHED_FINISH, and HAVE_cycle_display.
10862         * target-def.h (TARGET_SCHED_ADJUST_COST,
10863         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
10864         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
10865         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
10866         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
10867         New hook #defines to be overridden.
10868         (TARGET_SCHED): Bring them all together.
10869         (TARGET_INITIALIZER): Update.
10870         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
10871         instead of 'struct rtx_def *' throughout.
10872         (struct sched): New set of hooks for the scheduler.
10873         * Makefile.in (haifa-sched.o): Depend on target.h.
10874         * doc/tm.texi: Document the new scheduler hooks, together in
10875         their own section, instead of scattered around.
10876         Fix a bunch of underfull/overfull hboxes.
10877
10878         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
10879         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
10880         sparc.h: Don't define any of the old scheduler macros.
10881
10882         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
10883         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
10884         sparc.c: Create hook functions from code extracted from
10885         corresponding target header, or make existing hooks static, as
10886         appropriate.  Set the appropriate entries in targetm.
10887
10888         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
10889         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
10890         rs6000-protos.h, s390-protos.h, sparc-protos.h:
10891         Remove prototypes for functions which are now static.
10892
10893         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
10894         related gunk; the Haifa scheduler is now the only choice.
10895
10896 2001-08-18  Zack Weinberg  <zackw@panix.com>
10897
10898         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
10899         * genopinit.c: Put floating point divide insns in sdiv_optab.
10900         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
10901         * config/gofast.h, config/c4x/c4x.h,
10902         config/ia64/hpux_longdouble.h, config/mips/mips.h,
10903         config/pa/long_double.h, config/rs6000/sysv4.h,
10904         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
10905         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
10906         (init_optabs): Use init_optabv for overflow-trapping optabs.
10907         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
10908         cmp_optab RTX codes so have_insn_for can find them.
10909
10910         * optabs.c (expand_simple_binop, expand_simple_unop,
10911         have_insn_for, gen_sub3_insn): New interfaces.
10912         * expr.h: Prototype new functions.
10913         (enum optab_methods): Move here from optabs.h.
10914
10915         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
10916         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
10917         Use new functions instead of working directly with optabs.
10918         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
10919         unroll.c: Don't include optabs.h.
10920         * caller-save.c, combine.c, function.c, stmt.c: Just include
10921         insn-codes.h, not optabs.h.
10922         * Makefile.in: Update dependencies.
10923
10924         * combine.c (make_compound_operation, simplify_comparison):
10925         Fix typos testing for this or that instruction.
10926
10927 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
10928
10929         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
10930         generating libgcc.a.
10931
10932 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10933
10934         * except.c (TYPE_HASH): Delete.
10935
10936         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
10937         HOST_WIDE_INT.
10938
10939         * tree.c (TYPE_HASH): Delete.
10940
10941         * tree.h (TYPE_HASH): Define.
10942
10943 2001-08-18  Graham Stott  <grahams@redhat.com>
10944
10945         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
10946         define_split.
10947         (adddi3_internal_2+2): Likewise.
10948         (eh_set_lr_di+1): Likewise.
10949
10950 2001-08-17  Richard Henderson  <rth@redhat.com>
10951
10952         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
10953         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
10954         * dwarf2asm.c: ... here.
10955         * dwarfout.c: Remove them.
10956
10957         * varasm.c (assemble_integer): Add align parameter.
10958         (assemble_real, output_constant, output_constructor): Likewise.
10959         * output.h: Update decls.
10960         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
10961         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
10962         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
10963         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
10964         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
10965         Update all callers.
10966
10967         * final.c (end_final): Abort profile block generation if we
10968         haven't layed it out properly.
10969         * output.h (assemble_eh_integer): Remove stale decl.
10970         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
10971         (min_align): New.
10972         (assemble_integer): Handle unaligned data.
10973         (assemble_real): Abort on unaligned data.
10974         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
10975         anything useful.
10976         (default_dtor_section_asm_out_destructor): Use assemble_align.
10977         (default_named_section_asm_out_constructor): Likewise.
10978         (default_ctor_section_asm_out_constructor): Likewise.
10979         * config/darwin.c (machopic_asm_out_constructor): Likewise.
10980         (machopic_asm_out_destructor): Likewise.
10981         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
10982         (nextstep_asm_out_destructor): Likewise.
10983         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
10984         (vms_asm_out_destructor): Likewise.
10985
10986 2001-08-17  Richard Henderson  <rth@redhat.com>
10987
10988         * config/mips/iris6.h (TARGET_IRIX6): New.
10989         (current_section_name, current_section_flags): New.
10990         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
10991         (MAX_OFILE_ALIGNMENT): New.
10992         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
10993         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
10994         (copy_file_data): Split out from
10995         (mips_asm_file_end): ... here.
10996         (mips_asm_file_start): Remove extra .section directive.  Use
10997         tmpfile instead of mips_make_temp_file.
10998         (mips_unique_section): Use const char * as needed for warnings.
10999         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
11000         re-add align parameter.
11001         (iris6_asm_named_section): New.
11002         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
11003         (iris6_asm_output_align, iris6_section_align_1): New.
11004         (iris6_asm_file_start, iris6_asm_file_end): New.
11005         * config/mips/mips-protos.h: Update decls.
11006
11007 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
11008
11009         * doc/install.texi (Install GCC): Add links to build status pages.
11010         (Specific): Ditto.
11011         (Final install): Ditto; request updates for specific info
11012
11013 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
11014
11015         * cpperror.c (print_location):  Don't take a file name; use the
11016         line map instead.
11017         (_cpp_begin_message): Similarly.
11018         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
11019         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
11020         (cpp_pedwarn_with_file_and_line): Remove.
11021         * cppfiles.c (stack_include_file): Update; set filename to stdin
11022         here when appropriate.
11023         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
11024         (_cpp_begin_message): Don't take a file name.
11025         * cppinit.c: Add comment.
11026         * cpplex.c: Fix end-of-directive indicator.
11027         * cpplib.c: Don't include intl.h.
11028         (run_directive, do_diagnostic): Update.
11029         (do_line): Update to not use nominal_fname.
11030         (cpp_push_buffer): Don't take a filename.
11031         * cpplib.h (struct ht): Remove.
11032         (cpp_push_buffer): Don't take a filename.
11033         (cpp_pedwarn_with_file_and_line): Remove.
11034         * cppmacro.c (struct cpp_macro): Remove file.
11035         (builtin_macro): Update.
11036         (_cpp_create_definition): Update.
11037         * cppmain.c: Correct comment.
11038         * fix-header.c (read_scan_file): Update.
11039
11040 2001-08-17  Kazu Hirata  <kazu@hxi.com>
11041
11042         * sbitmap.c: Fix comment formatting.
11043         * sched-deps.c: Likewise.
11044         * sibcall.c: Likewise.
11045         * simplify-rtx.c: Likewise.
11046         * ssa.c: Likewise.
11047         * ssa-ccp.c: Likewise.
11048         * stor-layout.c: Likewise.
11049         * timevar.c: Likewise.
11050         * toplev.c: Likewise.
11051         * unwind-dw2.c: Likewise.
11052         * unwind-dw2-fde.c: Likewise.
11053         * varasm.c: Likewise.
11054
11055 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11056
11057         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
11058         or larger than an integer in memory.
11059
11060 2001-08-17  Zack Weinberg  <zackw@panix.com>
11061
11062         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
11063         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
11064         * rtl.h: Don't forward-declare union tree_node here.  Don't
11065         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
11066         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
11067         and tree respectively.
11068         * tree.h: Don't forward-declare struct rtx_def here.  Don't
11069         typedef tree here.  Change all uses of struct rtx_def *,
11070         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
11071         and tree respectively.
11072
11073 2001-08-17  Richard Henderson  <rth@redhat.com>
11074
11075         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
11076         config/mips/openbsd.h: Fix typos last change.
11077
11078 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11079
11080         * doc/invoke.texi (Optimize Options): The default for
11081         -finline-limit is 600.
11082
11083 2001-08-17  Richard Henderson  <rth@redhat.com>
11084
11085         * varasm.c (text_section): Allow TEXT_SECTION to override the
11086         printing of TEXT_SECTION_ASM_OP.
11087         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
11088         (DATA_SECTION, BSS_SECTION): Remove.
11089         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
11090         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
11091         Rename from s/_NAME//.
11092         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
11093         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
11094         (TEXT_SECTION): ... here.  New.
11095         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
11096         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
11097         * config/mips/openbsd.h: Likewise.
11098         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
11099         (mips_asm_file_end): Likewise test.
11100         (mips_output_function_epilogue): Likewise.  Switch back to data
11101         section after emitting the function.
11102
11103         * doc/tm.texi (Sections): Document TEXT_SECTION.
11104
11105 2001-08-17  Richard Henderson  <rth@redhat.com>
11106
11107         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
11108         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
11109
11110 2001-08-17  Richard Henderson  <rth@redhat.com>
11111
11112         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
11113         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
11114         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
11115         Add aligned attribute.
11116
11117 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
11118
11119         * config/sh/sh.md: Add modes to unspecs in first insn to match
11120         those in the second.
11121
11122         * Makefile.in: Fix collect2 copy for Cygwin.
11123
11124 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
11125
11126         Install the proper patch.
11127         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
11128         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
11129         (expand_function_start): Likewise.
11130         * stmt.c (expand_decl): Likewise.
11131         * varasm.c (make_decl_rtx): Likewise.
11132
11133 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11134
11135         * final.c: Undo my previous accidental checkin.
11136         * output.h: Likewise.
11137         * tm.texi: Likewise.
11138
11139 2001-08-16  Richard Henderson  <rth@redhat.com>
11140
11141         * varasm.c (named_section_flags): Remove align parameter.
11142         * varasm.c, dwarf2out.c: Update all callers.
11143         * output.h: Update prototypes.
11144
11145         * target.h (target.asm_out.named_section): Remove align parameter.
11146         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
11147         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
11148         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
11149         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
11150         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
11151
11152         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
11153         (get_named_section_flags, set_named_section_flags): New.
11154         (named_section_flags): Use them.
11155         (named_section): Do decl vs section flags check here...
11156         (default_section_type_flags): ... not here.
11157         (init_varasm_once): Create in_named_htab.
11158         (resolve_unique_section): Mark reloc unused.
11159
11160 2001-08-16  Richard Henderson  <rth@redhat.com>
11161
11162         * varasm.c (force_const_mem): Keep pool alignment in bits.
11163         (output_constant_pool): Use assemble_align.
11164
11165 2001-08-16  Zack Weinberg  <zackw@panix.com>
11166
11167         * doc/tm.texi: Remove extra @table command.
11168
11169 2001-08-16  Zack Weinberg  <zackw@panix.com>
11170
11171         * final.c (shorten_branches): Clear the end of the label_align
11172         array only if we made it larger.  Break up messy expressions
11173         for clarity.
11174
11175         * diagnostic.c (internal_error): Check for error recursion
11176         before doing ICE suppression.
11177
11178         * timevar.c: Timing variables now count in milliseconds.
11179         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
11180         (get_time): Not here.
11181         (timevar_print): Don't print any timer whose user, cpu, and
11182         wall times are all zero as displayed.
11183         * timevar.h: Update comment aboout units.  Make timevar
11184         counters unsigned.
11185
11186 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
11187
11188         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
11189         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
11190         (expand_function_start): Likewise.
11191         * stmt.c (expand_decl): Likewise.
11192         * varasm.c (make_decl_rtx): Likewise.
11193
11194 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
11195
11196         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
11197         (finalize_record_size): Don't set TYPE_USER_ALIGN.
11198
11199 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11200
11201         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
11202         variables.
11203
11204 2001-08-16  Andreas Jaeger  <aj@suse.de>
11205
11206         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
11207         prototype.
11208
11209 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
11210
11211         * rtl.h (only_sets_cc0_p): New prototype.
11212         * jump.c (sets_cc0_p): Handle INSN.
11213         (only_sets_cc0_p): New function.
11214         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
11215         (tidy_fallthru_edge): Likewise.
11216         * integrate.c (copy_insn_list): Likewise.
11217         * unroll.c (unroll_loop): Likewise.
11218         (copy_loop_body): Likewise.
11219
11220 2001-08-15  Jason Eckhardt  <jle@redhat.com>
11221
11222         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
11223
11224 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11225
11226         * predict.c (struct block_info_def): Remove nvisited.
11227         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
11228         (estimate_bb_frequencies): Call mark_dfs_back_edges.
11229
11230         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
11231         (ix86_adjust_cost): Teach scheduler that latency to load operand can
11232         be masked.
11233
11234 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
11235
11236         * predict.def: Update hitrates.
11237
11238 2001-08-15  Richard Henderson  <rth@redhat.com>
11239
11240         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
11241
11242 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
11243
11244         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
11245         note from its associated jump.
11246
11247 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
11248
11249         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
11250         also on 64-bit s390x targets.
11251
11252 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
11253
11254         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
11255         function.
11256         (arm_expand_prologue): Handled nested functions which take a
11257         variable argument list.
11258         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
11259         macro with an invocation of
11260         arm_compute_initial_elimination_offset.
11261         * config/arm/arm-protos.h: Prototype
11262         arm_compute_initial_elimination_offset.
11263
11264 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11265
11266         * doc/install.texi (Specific, avr): Fix markup.
11267         (Specific, c4x): Ditto.
11268
11269 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11270
11271         * predict.c (dump_prediction): Change `bool' parameter to `int'.
11272
11273 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
11274
11275         * Makefile.in (OBJS): Add rtl-error.o
11276         (rtl-error.o): New rule.
11277         (diagnostic.o): Adjust dependency.
11278         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
11279         error_for_asm, _fatal_insn, _fatal_insn_not_found,
11280         warning_for_asm): Move to...
11281         rtl-error.c: ...here.  New file.
11282
11283 2001-08-14  Richard Henderson  <rth@redhat.com>
11284
11285         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
11286         if USING_SJLJ_EXCEPTIONS.
11287
11288 2001-08-14  Steve Ellcey <sje@cup.hp.com>
11289
11290         * tlink.c (scan_linker_output): Check string for unsatisfied in
11291         addition to undefined and unresolved.
11292
11293 2001-08-14  Graham Stott  <grahams@redhat.com>
11294
11295         * libgcc2.c (*): Replace EH_FRAME_SECTION with
11296         EH_FRAME_SECTION_NAME.
11297
11298 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
11299
11300         * genattrtab.c (simplify_test_exp_in_temp): New function.
11301         (simplify_test_exp): Avoid explicit use of temporary obstack.
11302         (simplify_cond, insert_right_side, evaluate_eq_attr,
11303         simplify_and_tree, simplify_or_tree, eliminate_known_true):
11304         Use simplify_test_exp_in_temp.
11305         (optimize_attrs): Iterate until expression stabilizes.
11306
11307 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
11308
11309         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
11310         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
11311
11312 2001-08-13  Richard Henderson  <rth@redhat.com>
11313
11314         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
11315         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
11316         * config/arm/conix-elf.h: Likewise.
11317
11318 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
11319
11320         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
11321         in gcc.c.
11322         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
11323
11324         * gcse.c (hash_scan_set): Expressions that are set as part of
11325         jump instructions are not available.
11326
11327 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
11328
11329         * config/s390/s390.c (print_operand, s390_function_prologue,
11330         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
11331
11332 2001-08-13  Richard Henderson  <rth@redhat.com>
11333
11334         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
11335         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
11336         * doc/tm.texi (Exception Region Output): Document it.
11337
11338 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
11339
11340         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
11341         DWARF2 instead of stabs by default.
11342
11343 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
11344
11345         * config/rs6000/rs6000.c: Include optabs.h.
11346
11347 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
11348
11349         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
11350         save/restore routines.
11351         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
11352
11353 2001-08-13  Andreas Jaeger  <aj@suse.de>
11354
11355         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
11356         the english is correct.
11357
11358 2001-08-13  Zack Weinberg  <zackw@panix.com>
11359
11360         * expr.h: Split out optab- and libfunc-related code to...
11361         * optabs.h, libfuncs.h: ... these new headers.
11362
11363         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
11364         (OPTABS_H): New.
11365         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
11366         dependencies.
11367         * mkconfig.sh: Don't include insn-codes.h from config.h.
11368
11369         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
11370         enum insn_code is available.  Move reload_in_optab and
11371         reload_out_optab array declarations to optabs.h.
11372         * regmove.c (gen_add3_insn): Move to optabs.c, export from
11373         there, prototype in expr.h.
11374         * gencodes.c: Cleanup: zap global variables, don't use
11375         printf where puts will do, don't bother defining MAX_INSN_CODE
11376         which nothing uses, let CODE_FOR_nothing get its value implicitly.
11377
11378         * genemit.c, genopinit.c: Include optabs.h in generated file.
11379         * genoutput.c: Include insn-codes.h in generated file.
11380         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
11381         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
11382         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
11383         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
11384         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
11385         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
11386         Include optabs.h.
11387         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
11388         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
11389         config/m88k/m88k.c, config/sparc/sparc.c:
11390         Include libfuncs.h.
11391         * reload.c: Include expr.h and optabs.h before reload.h.
11392         * config/alpha/alpha.c: Include tree.h before reload.h.
11393         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
11394         and reload.h in that order.
11395         * config/sparc/sparc.c: Include debug.h.
11396         * recog.c: Include insn-codes.h.
11397
11398 2001-08-13  Andreas Jaeger  <aj@suse.de>
11399
11400         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
11401         s390*linux.
11402
11403 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
11404
11405         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
11406         * gcc.c (init_spec): Fix typo in comment.
11407         * varasm.c (data_section): Fix typo in comment.
11408
11409 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
11410
11411         * predict.c (dump_prediction): New argument "USED".
11412         (combine_predictions_for_insn): Determine the used heuristics,
11413         output the case no heuristic applied.
11414         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
11415
11416 2001-08-13  Andreas Jaeger  <aj@suse.de>
11417
11418         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
11419         register %rip.
11420
11421 2001-08-13  Kazu Hirata  <kazu@hxi.com>
11422
11423         * jump.c: Fix formatting.
11424
11425 2001-08-13  Kazu Hirata  <kazu@hxi.com>
11426
11427         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
11428         length.
11429
11430 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
11431
11432         * loop.c (check_dbra_loop): Use condjump_label to compute
11433         jump_label.
11434
11435         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
11436         to better document the files they're in.
11437
11438 2001-08-12  Zack Weinberg  <zackw@panix.com>
11439
11440         * recog.h (struct insn_operand_data): Shrink 'mode' field
11441         to 16 bits.
11442
11443 2001-08-12  Kazu Hirata  <kazu@hxi.com>
11444
11445         * gcc.c: Fix comment formatting.
11446         * gccspec.c: Likewise.
11447         * gcov.c: Likewise.
11448         * gcse.c: Likewise.
11449         * genemit.c: Likewise.
11450         * gengenrtl.c: Likewise.
11451         * genrecog.c: Likewise.
11452         * gensupport.c: Likewise.
11453         * ggc-page.c: Likewise.
11454         * global.c: Likewise.
11455         * graph.c: Likewise.
11456         * ifcvt.c: Likewise.
11457         * integrate.c: Likewise.
11458         * lcm.c: Likewise.
11459         * libgcc2.c: Likewise.
11460         * loop.c: Likewise.
11461         * mbchar.c: Likewise.
11462         * optabs.c: Likewise.
11463         * predict.c: Likewise.
11464         * prefix.c: Likewise.
11465         * profile.c: Likewise.
11466         * protoize.c: Likewise.
11467         * real.c: Likewise.
11468         * recog.c: Likewise.
11469         * regclass.c: Likewise.
11470         * regmove.c: Likewise.
11471         * reg-stack.c: Likewise.
11472         * reload1.c: Likewise.
11473         * resource.c: Likewise.
11474         * rtlanal.c: Likewise.
11475         * rtl.c: Likewise.
11476
11477 2001-08-12  Kazu Hirata  <kazu@hxi.com>
11478
11479         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
11480         a tree representing a constant is passed to the macro.
11481
11482 2001-08-12  Richard Henderson  <rth@redhat.com>
11483
11484         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
11485         (rs6000_elf_asm_out_destructor): New.
11486         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
11487         (DTORS_SECTION_ASM_OP): Remove.
11488         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
11489         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
11490
11491 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
11492
11493         Revert:
11494         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11495         * gcc.c (set_collect_gcc_options): New function, split out from
11496         main.
11497         Ignore elided switches.
11498         (do_spec_1): Invoke before executing command.
11499         (set_input): Export.
11500         Move declaration ...
11501         * gcc.h (set_input): ... here.
11502         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11503         file.
11504
11505 2001-08-12  Richard Henderson  <rth@redhat.com>
11506
11507         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
11508         thinko wrt TARGET_RELOCATABLE.
11509
11510 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
11511
11512         * fix-header.c (cb_file_change): Update prototype.
11513
11514 2001-08-11  Zack Weinberg  <zackw@panix.com>
11515
11516         * toplev.c (set_float_handler): Make static.
11517         * toplev.h: Don't prototype set_float_handler.
11518
11519         * simplify-rtx.c: Don't include setjmp.h.
11520         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
11521         New functions.
11522         (simplify_unary_operation, simplify_binary_operation): Use them,
11523         via do_float_handler.
11524
11525         * fold-const.c: Don't include setjmp.h.
11526         (exact_real_inverse_1): New function.
11527         (exact_real_inverse): Use it, via do_float_handler.
11528
11529         * varasm.c: Don't include setjmp.h.
11530         (assemble_real_1): New function.
11531         (assemble_real): Use it, via do_float_handler.
11532         Call internal_error if we get a trap here.
11533
11534         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
11535         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
11536
11537 2001-08-11  Zack Weinberg  <zackw@panix.com>
11538
11539         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
11540         STACK_BOUNDARY if not already defined.
11541
11542         * calls.c, function.c, reload1.c, explow.c: Don't default
11543         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
11544         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
11545
11546         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
11547         to run-time test.
11548
11549         * doc/tm.texi: Document that STACK_BOUNDARY is required;
11550         clarify difference between it and PREFERRED_STACK_BOUNDARY.
11551
11552 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11553
11554         * cppmacro.c (enter_macro_context): Push macro expansions even
11555         if empty.
11556
11557 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11558
11559         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
11560         (rs6000_elf_section_type_flags): Actually return a value.
11561
11562 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
11563
11564         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
11565         Clean up code: add missing comments and prototypes, fix warnings,
11566         remove obsolete code, fix spacing to conform to coding style.
11567
11568 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
11569
11570         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
11571         and TARGET_ASM_CLOSE_PAREN.
11572         (regclass_map): CC register belongs to class NO_REGS.
11573         (legitimize_pic_address): Don't generate unnecessary moves
11574         (to avoid confusing loop optimization).
11575         (check_and_change_labels): Replace jump_long by indirect_jump.
11576         (s390_final_chunkify): Don't start a new literal pool on section
11577         switch in 64-bit code.
11578         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
11579
11580         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
11581         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
11582         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
11583         modes correctly.
11584         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
11585         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
11586         (CONST_COSTS): Fixed incorrect costs.
11587
11588         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
11589         Use emit_jump instead of emit_jump_insn (gen_jump).
11590         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
11591         (to avoid confusing flow analysis).
11592         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
11593         (casesi, casesi_jump): New.
11594         (jump_long): Removed.  Functionality merged into indirect_jump.
11595         (indirect_jump): Accept address_operand, not just register_operand.
11596         (cjump_long, icjump_long): Use same logic as indirect_jump.
11597         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
11598         Fixed broken setjmp/longjmp handling.
11599         (do_builtin_setjmp_setup): Removed.
11600
11601         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
11602         broken GNU as versions that don't accept .quad with large
11603         negative values.  Use hexadecimal output instead.
11604         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
11605         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
11606         FUNCTION_EPILOGUE): Removed.  Now in targetm.
11607
11608         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
11609
11610         * config/s390/fixdfdi.h: Add missing copyright statement.
11611         Fix type conflicts on 64-bit.  Add missing SFmode routines.
11612
11613         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
11614         email address.
11615
11616 2001-08-11  Richard Henderson  <rth@redhat.com>
11617
11618         * rtl.h (REG_EH_RETHROW): Remove.
11619         * rtl.c (reg_note_name): Update.
11620         * combine.c (distribute_notes): Don't check for it.
11621
11622 2001-08-11  Richard Henderson  <rth@redhat.com>
11623
11624         * combine.c (distribute_notes): Place REG_SETJMP.
11625
11626 2001-08-11  Richard Henderson  <rth@redhat.com>
11627
11628         * doc/extend.texi (Arrays and pointers implementation): Discourage
11629         relying on sign-extension of pointers.
11630
11631 2001-08-11  H.J. Lu <hjl@gnu.org>
11632
11633         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
11634         in_dtors.
11635         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
11636         RDATA_SECTION_ASM_OP.
11637
11638 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11639
11640         * doc/install.texi (Specific, c4x): Fix cross-reference to the
11641         main manual to work both for info and HTML versions.
11642
11643 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11644             Matt Kraai <kraai@alumni.carnegiemellon.edu>
11645
11646         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
11647         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
11648         (struct cpp_pool): New member first.
11649         * cppinit.c (append_include_chain): Plug memory leaks.
11650         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
11651         Allocate pragma structures from the (aligned) macro pool to
11652         avoid leaking memory.
11653         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
11654         so we don't leak memory.
11655         * hashtable.c (ht_destroy): New.
11656         * hashtable.h (ht_destroy): New.
11657
11658 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11659             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11660
11661         * c-lex.c (map): Make const.
11662         (cb_file_change): Update for callback passing a line map.
11663         Don't assume we have a previous map.  Remove sanity check
11664         about popping too many files.
11665         * cpperror.c (print_location): Make map const.
11666         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
11667         (cpp_make_system_header): Similarly.
11668         (search_from): Similarly.
11669         (_cpp_execute_include): Don't remember where we came from.
11670         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
11671         (struct cpp_reader): Make map const.
11672         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
11673         * cpplib.c (do_line): Update; line maps now hold sysp.
11674         (cpp_push_buffer): Similarly.
11675         (_cpp_do_file_change): Similarly; callback with map instead.
11676         (cpp_get_line_maps): Constify return value.
11677         (_cpp_pop_buffer): Update.
11678         * cpplib.h (struct cpp_file_change): Remove.
11679         (struct cpp_callbacks): Update.
11680         (cpp_get_line_maps): Constify return value.
11681         * cppmacro.c (_cpp_create_definition): Update.
11682         * cppmain.c (struct printer): Constify map.
11683         (maybe_print_line): Similarly.
11684         (print_line): Similarly.  Deduce flags 1 and 2 here.
11685         (cb_file_change): Update.
11686         * line-map.c (free_line_maps): Warn regardless.
11687         (add_line_map): Return pointer to const.  When passed NULL to_file
11688         with LC_LEAVE, use the obvious values for the return point so the
11689         caller doesn't have to figure them out.
11690         (lookup_line): Return pointer to const.
11691         (print_containing_files): Take pointer to const.
11692         * line-map.h (struct line_map): New members reason, sysp.
11693         (add_line_map): Return pointer to const.
11694         (lookup_line): Similarly.
11695         (print_containing_files): Take pointer to const.
11696
11697 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
11698             Richard Henderson  <rth@redhat.com>
11699
11700         * regmove.c (regmove_optimize): Avoid setting a register twice in
11701         a parallel set.
11702
11703 2001-08-10  Richard Henderson  <rth@redhat.com>
11704
11705         * doc/extend.texi (Arrays and pointers implementation): Document
11706         behavior of pointer/integer conversion.
11707
11708 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
11709
11710         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
11711
11712 2001-08-10  Richard Henderson  <rth@redhat.com>
11713
11714         * doc/extend.texi (C Implementation): New chapter.
11715         * doc/gcc.texi (Top): Link it in.
11716
11717 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
11718
11719         * doc/install.texi (Specific): Fix CVS merge botch.
11720
11721 2001-08-10  Richard Henderson  <rth@redhat.com>
11722
11723         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
11724         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
11725
11726 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
11727
11728         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
11729         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
11730         this macro is now required.
11731
11732         * cselib.c (cselib_process_insn), flow.c (propagate_block),
11733         loop.c (find_and_verify_loops), reload.c (reload): Check
11734         for rtx code of CALL_INSN, not CALL, when deciding if we
11735         need to check for REG_SETJMP note.
11736
11737         * gcse.c (compute_hash_table, compute_store_table): Update
11738         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
11739         logic.
11740
11741         * config/avr/avr.c: Fix typo.
11742         * config/convex/convex.c (expand_movstr): Use adjust_address.
11743         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
11744         variable.
11745         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
11746         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
11747         Fix typo.
11748         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
11749         Do define STACK_BOUNDARY.
11750         * config/i370/i370.c: Include expr.h.
11751         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
11752         config/pa/som.h, config/v850/v850.h: Take in_ctors and
11753         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
11754         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
11755         * config/m88k/m88k.c: Include c-tree.h after expr.h.
11756         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
11757         * config/romp/romp.c: Include expr.h after tree.h.
11758         Include toplev.h.
11759         (output_fpop): Use xmalloc, not oballoc.
11760         * config/we32k/we32k.c: Include expr.h.
11761
11762 2001-08-10  Kazu Hirata  <kazu@hxi.com>
11763
11764         * config/h8300/h8300.h: Fix formatting.
11765
11766 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
11767
11768         * c-common.h (RETURN_NULLIFIED_P): Lose.
11769         * c-semantics.c (genrtl_return_stmt): Don't check it.
11770
11771 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
11772
11773         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
11774         (mips_annotate_frame_insn): New function.
11775         (mips_emit_frame_related_store): New function.
11776         (save_restore_insns): Don't mark instructions that set up the base
11777         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
11778         the store instructions instead.
11779         (mips_expand_prologue): If the stack size is moved into a temporary
11780         register, do not mark that move as frame-related.  Add a
11781         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
11782
11783 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
11784
11785         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
11786         stack slot as unchanging if current_function_calls_eh_return.
11787
11788 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
11789
11790         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
11791         access the second half of the TFmode scratch operand.
11792
11793 2001-08-10  Anthony Green  <green@redhat.com>
11794
11795         * java/class.c (emit_register_classes): Conditionalize code on
11796         JCR_SECTION_NAME.
11797
11798 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11799
11800         * doc/install.texi (Specific, avr): Fix cross-reference to the
11801         main manual to work both for info and HTML versions.
11802
11803 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11804
11805         * stmt.c (expand_null_return_1): Remove code to generate simple returns
11806         and "use_goto" argument.
11807         (expand_null_return, expand_value_return): Update all callers.
11808         * function.c (expand_function_end): Remove code to generate simple
11809         return.
11810         * config/vax/vax.md (epilogue): New expander for function return.
11811         * doc/md.texi (epilogue): Remove "if defined".
11812
11813 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
11814
11815         * Makefile.in: Partially revert my previous change:
11816         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
11817         of the hashtab.o and safe-ctype.o rules.
11818
11819 2001-08-09  Richard Henderson  <rth@redhat.com>
11820
11821         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
11822         (USE_COLLECT2): Remove duplicate definition.
11823         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
11824         (use_collect2): Remove dead code.
11825         * configure.in (use_collect2): Remove will_use_collect2 and
11826         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
11827         * configure: Rebuild.
11828
11829         * target.h (targetm.asm_out.constructor): New.
11830         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
11831         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
11832         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
11833         * varasm.c (in_ctors, in_dtors): New.
11834         (assemble_constructor, assemble_destructor): Remove.
11835         (default_stabs_asm_out_destructor): New.
11836         (default_named_section_asm_out_destructor): New.
11837         (dtors_section, default_dtor_section_asm_out_destructor): New.
11838         (default_stabs_asm_out_constructor): New.
11839         (default_named_section_asm_out_constructor): New.
11840         (ctors_section, default_ctor_section_asm_out_constructor): New.
11841         * output.h: Update declarations.
11842         * c-decl.c (c_expand_body): Use target hooks instead of
11843         assemble_constructor and assemble_destructor.
11844         * profile.c (output_func_start_profiler): Likewise.
11845         * objc/objc-act.c (finish_objc): Likewise.
11846         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
11847         for the constructor.
11848         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
11849
11850         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
11851         (DTORS_SECTION_ASM_OP): Likewise.
11852         (__CTOR_LIST__): Use attribute section when possible.
11853         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
11854
11855         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
11856         ASM_OUTPUT_CONSTRUCTOR.
11857
11858         * config/darwin.c (machopic_asm_out_constructor): New.
11859         (machopic_asm_out_destructor): New.
11860         * config/darwin-protos.h: Update declarations.
11861         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11862         (ASM_OUTPUT_DESTRUCTOR): Remove.
11863         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
11864         * config/nextstep.c (nextstep_asm_out_constructor): New.
11865         (nextstep_asm_out_destructor): New.
11866         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11867         (ASM_OUTPUT_DESTRUCTOR): Remove.
11868         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
11869         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
11870         ASM_OUTPUT_*STRUCTOR.
11871         * config/i386/aix386ng.h: Likewise.
11872
11873         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
11874         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
11875         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
11876         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
11877         * config/lynx.h: Likewise.
11878         * config/netware.h: Likewise.
11879         * config/psos.h: Likewise.
11880         * config/alpha/alpha-interix.h: Likewise.
11881         * config/alpha/elf.h: Likewise.
11882         * config/arc/arc.h: Likewise.
11883         * config/arm/aof.h: Likewise.
11884         * config/arm/coff.h: Likewise.
11885         * config/arm/elf.h: Likewise.
11886         * config/c4x/c4x.h: Likewise.
11887         * config/h8300/h8300.h: Likewise.
11888         * config/i386/cygwin.h: Likewise.
11889         * config/i386/djgpp.h: Likewise.
11890         * config/i386/i386-coff.h: Likewise.
11891         * config/i386/i386-interix.h: Likewise.
11892         * config/i386/sco5.h: Likewise.
11893         * config/i386/vsta.h: Likewise.
11894         * config/i386/win32.h: Likewise.
11895         * config/i960/i960-coff.h: Likewise.
11896         * config/ia64/sysv4.h: Likewise.
11897         * config/m68hc11/m68hc11.h: Likewise.
11898         * config/m68k/coff.h: Likewise.
11899         * config/m68k/mot3300.h: Likewise.
11900         * config/m88k/m88k.h: Likewise.
11901         * config/mcore/mcore-pe.h: Likewise.
11902         * config/mcore/mcore.h: Likewise.
11903         * config/mips/elf.h: Likewise.
11904         * config/mips/elf64.h: Likewise.
11905         * config/mips/iris6.h: Likewise.
11906         * config/pa/pa64-hpux.h: Likewise.
11907         * config/rs6000/sysv4.h: Likewise.
11908         * config/sh/sh.h: Likewise.
11909         * config/sparc/litecoff.h: Likewise.
11910
11911         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
11912         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
11913         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
11914         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11915         (ASM_OUTPUT_DESTRUCTOR): Remove.
11916         * config/a29k/a29k.c: Move include of tree.h.
11917         * config/a29k/udi.h: Delete file.
11918         * config/alpha/alpha.c (vms_asm_out_constructor): New.
11919         (vms_asm_out_destructor): New.
11920         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
11921         (EXTRA_SECTION_FUNCTIONS): Likewise.
11922         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
11923         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
11924         * config/c4x/c4x.c: Move include of tree.h.
11925         * config/clipper/clipper.c (clix_asm_out_constructor): New.
11926         (clix_asm_out_destructor): New.
11927         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11928         (ASM_OUTPUT_DESTRUCTOR): Remove.
11929         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
11930         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11931         (TARGET_ASM_CONSTRUCTOR): New.
11932         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
11933         (sco_asm_out_constructor): New.
11934         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
11935         * config/i386/svr3gas.h: Remove stack grows up code.
11936         Remove code duplicated from i386/sysv3.h.
11937         (TARGET_ASM_CONSTRUCTOR): New.
11938         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
11939         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
11940         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11941         (TARGET_ASM_CONSTRUCTOR): New.
11942         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
11943         (m68hc11_asm_out_destructor): New.
11944         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
11945         (TARGET_ASM_DESTRUCTOR): New.
11946         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
11947         * config/m68k/dpx2.h: Properly undef all the bits inherited from
11948         config/svr3.h pertaining to section manipulation.
11949         * config/m68k/dpx2g.h: Remove #if 0 code.
11950         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
11951         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
11952         (ASM_OUTPUT_CONSTRUCTOR): Remove.
11953         (TARGET_ASM_CONSTRUCTOR): New.
11954         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
11955         (m88k_svr3_asm_out_constructor): New.
11956         (m88k_svr3_asm_out_destructor): New.
11957         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11958         (ASM_OUTPUT_DESTRUCTOR): Remove.
11959         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
11960         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
11961         * config/rs6000/aix.h: Likewise.
11962         * config/mips/rtems64.h: Don't undef removed constructor related bits.
11963         * config/mips/vxworks.h: Likewise.
11964         * config/rs6000/lynx.h: Likewise.
11965         * config/sh/elf.h: Likewise.
11966         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
11967         (DTORS_SECTION_ASM_OP): New.
11968         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11969         (ASM_OUTPUT_DESTRUCTOR): Remove.
11970         * config/sparc/sol2-sld-64.h: Likewise.
11971         * config/vax/vax.c (vms_asm_out_constructor): New.
11972         (vms_asm_out_destructor): New.
11973         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
11974         (ASM_OUTPUT_DESTRUCTOR): Remove.
11975         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
11976
11977         * doc/tm.texi (@node Initialization): Update.
11978
11979 2001-08-09  Richard Henderson  <rth@redhat.com>
11980
11981         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
11982         (__do_global_dtors_aux): Use gp-relative static data to avoid
11983         one dynamic relocation.
11984         (__do_frame_setup): Register Java classes.
11985         * config/alpha/crtend.asm (__JCR_END__): New.
11986
11987 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
11988
11989         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
11990         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
11991         (GEN, STAGESTUFF): Add new files.
11992         (insn-constants.h, s-constants, tm-preds.h, s-preds,
11993         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
11994         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
11995         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
11996         as well as insn-codes.h and insn-flags.h in config.h; and no
11997         extra headers in tconfig.h and hconfig.h.
11998
11999         * gencodes.c: Eliminate code to generate predicate declarations
12000         or #defines for md-file constants.
12001         * genconstants.c, genpreds.c: New files.
12002
12003         * i386.md: Re-order guard expressions such that TARGET_64BIT
12004         comes first, when this permits better optimization.  Add
12005         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
12006         why this is desirable.
12007
12008 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
12009
12010         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
12011         (find_fde_for_dso): Remove.
12012         (_Unwind_IteratePhdrCallback): New.
12013         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
12014         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
12015
12016 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12017
12018         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
12019         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
12020
12021 2001-08-09  Graham Stott  <grahams@redhat.com>
12022
12023         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
12024         (vis_no_unit): Use it.
12025         (visualize_no_unit): Add the insn only if room exists.
12026
12027 2001-08-09  Graham Stott  <grahams@redhat.com>
12028
12029         * predict.c (estimate_probability): Replace magic numbers with
12030         appropriate enumeration.
12031
12032 2001-08-09  Graham Stott  <grahams@redhat.com>
12033
12034         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
12035         parameter.
12036         (EXTRACT_FLAGS): Likewise.
12037
12038 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
12039
12040         * config/mips/mips.c    (mips_legitimate_address_p): Check for
12041         CONST_INT in last patch.
12042
12043 2001-08-08  Anthony Green  <green@redhat.com>
12044
12045         * java/class.c (emit_register_classes): Use assemble_jcr if
12046         possible.  Keep the original mechanism as a fallback.
12047         * defaults.h (JCR_SECTION_NAME): Define if we have named section
12048         and weak symbol support.
12049         * crtstuff.c (__JCR_LIST__): Define.
12050         (__JCR_END__): Define.
12051         (_Jv_RegiserClasses): Define weak symbol if possible.
12052         (__do_global_ctors_aux): Register classes for ELF targets with
12053         weak symbol support.
12054
12055 2001-08-08  Kazu Hirata  <kazu@hxi.com>
12056
12057         * dbxout.c: Fix comment formatting.
12058         * dependence.c: Likewise.
12059         * df.c: Likewise.
12060         * diagnostic.c: Likewise.
12061         * dominance.c: Likewise.
12062         * doprint.c: Likewise.
12063         * dwarf2out.c: Likewise.
12064         * dwarfout.c: Likewise.
12065         * emit-rtl.c: Likewise.
12066         * except.c: Likewise.
12067         * explow.c: Likewise.
12068         * expmed.c: Likewise.
12069         * expr.c: Likewise.
12070         * flow.c: Likewise.
12071         * fold-const.c: Likewise.
12072         * function.c: Likewise.
12073
12074 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12075
12076         * global.c (retry_global_alloc): Avoid shadowing allocno.
12077
12078 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
12079
12080         * except.c (remove_fixup_regions): Fix typo.
12081
12082 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
12083
12084         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
12085         unsigned HOST_WIDE_INT to avoid warning.
12086         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
12087         * flow.c (set_block_for_new_insns): Likewise.
12088
12089 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
12090
12091         * sibcall.c (return_value_pseudo): New static variable.
12092         (skip_copy_to_return_value): Handle return_value_pseudo.
12093         (call_ends_block_p): Ensure that return_value_pseudo is set.
12094         (optimize_sibling_and_tail_recursive_call): Discover the
12095         load of pseudo return value in alternate exit block.
12096
12097 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12098
12099         * calls.c (ECF_ALWAYS_RETURN): New constant.
12100         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
12101         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
12102         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
12103         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
12104         * rtl.c (reg_note_name): New name.
12105         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
12106
12107 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
12108
12109         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
12110
12111 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
12112
12113         * alias.c (get_alias_set): Return a previously calculated
12114         alias set for a VAR_DECL.
12115         * function.c (gen_mem_addressof): Calculate the alias set before
12116         touching the RTL.
12117
12118 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
12119
12120         * predict.def: Set hitrates according our experimental run.
12121
12122 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
12123
12124         * i386.h (HARD_REGNO_RENAME_OK): New macro.
12125
12126 2001-08-08  H.J. Lu <hjl@gnu.org>
12127
12128         * config/mips/mips.c (mips_unique_section): New. Copied from
12129         config/mips/elf.h.
12130
12131         * config/mips/mips-protos.h (mips_unique_section): New
12132         prototype.
12133
12134         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
12135
12136         * config/mips/little.h: New. Generic little endian mips
12137         targets. Only mips*-*-linux* is converted to use it so far.
12138
12139         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
12140         (WCHAR_TYPE): Defined
12141         (WCHAR_TYPE_SIZE): Likewise.
12142         (INIT_SUBTARGET_OPTABS): Likewise.
12143         (BSS_SECTION_ASM_OP): Likewise.
12144         (SBSS_SECTION_ASM_OP): Likewise.
12145         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12146         (ASM_DECLARE_OBJECT_NAME): Likewise.
12147         (UNIQUE_SECTION): Likewise.
12148         (EXTRA_SECTIONS): Likewise.
12149         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
12150         (ASM_OUTPUT_DESTRUCTOR): Likewise.
12151         (ASM_OUTPUT_DEF): Likewise.
12152         (HANDLE_SYSV_PRAGMA): Removed.
12153         (NO_IMPLICIT_EXTERN_C): Likewise.
12154         (TARGET_MEM_FUNCTIONS): Likewise.
12155         (STARTFILE_SPEC): Likewise.
12156         (ENDFILE_SPEC): Likewise.
12157         (LIB_SPEC): Likewise.
12158         (INVOKE__main): Likewise.
12159         (CTOR_LIST_BEGIN): Likewise.
12160         (CTOR_LIST_END): Likewise.
12161         (DTOR_LIST_BEGIN): Likewise.
12162         (DTOR_LIST_END): Likewise.
12163         (SET_ASM_OP): Likewise.
12164         (ASM_OUTPUT_SOURCE_LINE): Likewise.
12165         (ASM_OUTPUT_DEF): Likewise.
12166         (ASM_OUTPUT_IDENT): Likewise.
12167
12168         * config/mips/mips.h (ASM_SPEC): Undefine before define.
12169         (CPLUSPLUS_CPP_SPEC): Likewise.
12170         (ASM_APP_ON) Redefine only if not defined.
12171         (ASM_APP_OFF): Likewise.
12172         (ASM_OUTPUT_SOURCE_LINE): Likewise.
12173         (ASM_OUTPUT_IDENT): Likewise.
12174
12175         * config.gcc: Update tm_file for Linux/mips.
12176
12177 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
12178
12179         * cselib.c (cselib_record_sets): If insn is predicated, turn
12180         sources into IF_THEN_ELSEs.
12181
12182         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
12183         Turn into define_insn_and_split.
12184
12185         * sched-deps.c: Include "cselib.h".
12186         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
12187         Use cselib to turn memory addresses into VALUEs.
12188         (sched_analyze): Call cselib_init/cselib_finish if necessary.
12189         * sched-int.h (struct sched_info): New member USE_CSELIB.
12190         * sched-ebb.c (ebb_sched_info): Initialize it.
12191         * sched-rgn.c (rgn_sched_info): Likewise.
12192         * Makefile.in (sched-deps.o): Update dependencies.
12193
12194         * cselib.h (cselib_subst_to_values): Declare.
12195         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
12196         that have no value and autoincs to be handled by generating a new
12197         dummy value.
12198
12199 2001-08-08  Graham Stott  <grahams@redhat.com>
12200
12201         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
12202         within fixed length SEQUENCE.
12203
12204 2001-08-08  Graham Stott  <grahams@redhat.com>
12205
12206         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
12207         (diagnostic_prefixing_rule): Likewise.
12208         (diagnostic_line_cutoff): Likewise.
12209         (diagnostic_kind_count): Likewise.
12210
12211 2001-08-08  Graham Stott  <grahams@redhat.com>
12212
12213         * alias.c (find_base_decl): Delete redundent assignment.
12214
12215 2001-08-08  Graham Stott  <grahams@redhat.com>
12216
12217         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
12218         (abs): Uppercase and paranthesize macro parameter.
12219         (MEM_DEPENDENCY): Add whitespace.
12220
12221 2001-08-08  Graham Stott  <grahams@redhat.com>
12222
12223         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
12224         failure check for CONST_INT
12225
12226 2001-08-08  Graham Stott  <grahams@redhat.com>
12227
12228         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
12229         (libcall_dead_p): Likewise.
12230
12231         (mark_used_regs): Constify fmt.
12232         (find_use_as_address): Likewise.
12233
12234 2001-08-08  Graham Stott  <grahams@redhat.com>
12235
12236         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
12237          parameter.
12238
12239 2001-08-08  Graham Stott  <grahams@redhat.com>
12240
12241         * combine.c (combine_simplify_rtx): Update comment and
12242         remove erroneous test.
12243
12244 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12245
12246         * cppinit.c (cpp_finish): Pop the final buffer without comment.
12247         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
12248         take care to avoid multiple no-newline at EOF warnings in that
12249         case.
12250
12251 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
12252
12253         * calls.c (expand_call): Do not emit INSN_SETJMP note.
12254         (emit_library_call_value_1): Likewise.
12255         (emit_call_1): Emit REG_SETJMP note.
12256         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
12257         of INSN_SETJMP
12258         * cselib.c (cselib_process_insn): Likewise.
12259         * flow.c (propagate_block): Likewise.
12260         * loop.c (find_and_verify_loops): Likewise.
12261         * reload.c (find_equiv_regs): Likewise.
12262         * reload1.c (reload): Likewise.
12263         * resource.c (mark_referenced_resources,
12264         mark_set_resources): Likewise.
12265         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
12266         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
12267         * haifa-sched.c (unlink_other_notes): Likewise.
12268         (reemit_notes): Likewise.
12269         * sched-ebb.c (sched_ebb): Likewise.
12270         * sched-rgc.c (sched_region): Likewise.
12271         * rtl.c (note_insn_name): Likewise.
12272         (reg_note_name): Add REG_SETJMP
12273         * rtl.h (reg_note): Add REG_SETJMP.
12274         (insn_note): Remove NOTE_INSN_SETJMP.
12275
12276         * profile.c (branch_prob): Add fake edges for setjmp.
12277
12278 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
12279
12280         * config.gcc: Quote target_cpu_default2 correctly for
12281         powerpc*-*-* targets.
12282
12283 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12284
12285         * cpplib.h, line-map.h: Update comments.
12286         * cppmain.c (printer_init): Move inline.
12287         (maybe_print_line, print_line): Take a map pointer.
12288         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
12289         (cb_file_change): Don't use prior value of print.map.
12290
12291 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
12292
12293         * doc/install.texi: Document fine-grained multilib configuration.
12294
12295 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
12296
12297         * rtlanal.c (find_first_parameter_load): Call note_stores
12298         only on the instructions.
12299
12300 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12301
12302         * alias.c (nonlocal_mentioned_p):
12303         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
12304         * calls.c (emit_call_1): Likewise.
12305         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
12306         * cselib.c (cselib_process_insn): Likewise.
12307         * df.c (df_insns_modify): Likewise.
12308         * flow.c (need_fake_edge_p): Likewise.
12309         (propagate_one_insn): Likewise.
12310         * haifa-sched.c (reemit_notes): Likewise.
12311         * integrate.c (copy_insn_list): Likewise.
12312         * jump.c (delete_prior_computation): Likewise.
12313         * local-alloc.c (validate_equiv_mem): Likewise.
12314         * loop.c (scan_loop): Likewise.
12315         * predict.c (estimate_probability): Likewise.
12316         * reload.c (reload): Likewise.
12317         * sched-deps (sched_analyze): Likewise.
12318         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
12319         * gcse.c (compute_hash_table): Likewise.
12320         (mark_call): Likewise.
12321         (store_killed_in_insn): Likewise.
12322
12323 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
12324
12325         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
12326
12327 2001-08-06  Richard Henderson  <rth@redhat.com>
12328
12329         * varasm.c (assemble_gc_entry): Remove.
12330         * output.h: Likewise.
12331
12332 2001-08-06  Richard Henderson  <rth@redhat.com>
12333
12334         * varasm.c (assemble_constructor): Take a symbol_ref and a
12335         priority instead of a bare string.  Move priority handling
12336         here from cp/decl2.c.
12337         * output.h: Update decls.
12338
12339         * c-decl.c (c_expand_body): Update calls to assemble_constructor
12340         and assemble_destructor.
12341         * profile.c (output_func_start_profiler): Likewise.
12342         * objc/objc-act.c (finish_objc): Likewise.
12343         (build_module_descriptor): Return the symbol not the symbol name.
12344
12345 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
12346
12347         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
12348         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
12349         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
12350         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
12351         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
12352         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
12353
12354 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12355
12356         * cpperror.c (print_containing_files): Moved to line-map.c.
12357         (print_location): line-map.c handles re-listing or otherwise.
12358         * cpphash.h (struct lexer_state): Remove next_bol.
12359         (struct cpp_buffer): Remove include_stack_listed.
12360         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
12361         Remove faked buffer handling.
12362         (_cpp_do_file_change): Tweak.
12363         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
12364         * cppmain.c (struct printer): Remove filename.
12365         (print_line, cb_file_change): Update accordingly.
12366         * line-map.c: Include intl.h.
12367         (init_line_maps): Initialize last_listed.
12368         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
12369         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
12370         (print_containing_files): New.
12371         * line-map.h (struct line_maps): New member last_listed.
12372         (print_containing_files, INCLUDED_FROM): New.
12373         * Makefile.in: Update.
12374         * po/POTFILES.in: Add line-map.c.
12375
12376 2001-08-06  Richard Henderson  <rth@redhat.com>
12377
12378         * except.c (convert_from_eh_region_ranges_1): Never mark
12379         USE or CLOBBER insns as throwing.
12380
12381         * expr.c (store_constructor): Don't clobber memory targets.
12382
12383 2001-08-06  Andreas Jaeger  <aj@suse.de>
12384
12385         * profile.c (branch_prob): Remove unused variable insn.
12386
12387         * Makefile.in (local-alloc.o): Add dependency on except.h.
12388
12389         * local-alloc.c: Include except.h for can_throw_internal prototype.
12390
12391 2001-08-06  Richard Henderson  <rth@redhat.com>
12392
12393         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
12394         * function.c (expand_main_function): Implement it.
12395         * doc/tm.texi: Document it.
12396
12397 2001-08-06  Stan Shebs  <shebs@apple.com>
12398
12399         * doc/install.texi: Document powerpc-*-darwin* details.
12400
12401 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
12402
12403         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
12404         (ASM_CPU_SPEC): Move back to rs6000.h
12405         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
12406
12407         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
12408
12409         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
12410         readded.
12411
12412         * config/rs6000/linux64.h: Ditto.
12413
12414         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
12415         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
12416         nothing.
12417
12418         Remove accidently readded definitions of FUNCTION_PROLOGUE,
12419         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
12420
12421         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
12422         to rs6000.h
12423
12424 2001-08-05  Richard Henderson  <rth@redhat.com>
12425
12426         * local-alloc.c (update_equiv_regs): Do not move insns that
12427         can throw.
12428
12429 2001-08-05  Jan Hubicka  <jh@suse.cz>
12430
12431         * Makefile.in (reload1.o): Add dedendancy on except.h
12432         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
12433         prototypes.
12434         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
12435         indicating wehther edges has been cleaned up.
12436         * reload1.c: Inlucde except.h
12437         (fixup_abnormal_edges): Accept deleted insns.
12438         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
12439         after combine.
12440
12441 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12442
12443         * cpplib.c (do_line): Correct line number after pop_buffer.
12444
12445 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12446
12447         PR preprocessor/3824
12448         * line-map.c: Update comments.
12449         * line-map.h: Update comments.
12450         * tradcif.y: Don't consider large numbers unsigned.
12451
12452 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12453
12454         PR preprocessor/3081
12455         * c-lex.c (map): New.
12456         (cb_file_change): Update map and use it.
12457         (cb_def_pragma, cb_define, cb_undef): Use map and line.
12458         (c_lex): Update to use map.
12459         * cpperror.c (print_location): Move to using logical line numbers.
12460         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
12461         (cpp_make_system_header): Similarly.
12462         (_cpp_execute_include): Stop line numbering hacks.  Store the
12463         line we will return to.
12464         * cpphash.h (CPP_BUF_LINE): Remove.
12465         (struct cpp_buffer): Remove lineno and pseudo_newlines.
12466         Add map and return_to_line.
12467         (_cpp_do_file_change): Update.
12468         * cppinit.c (cpp_start_read): Update line kludge.
12469         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
12470         (trigraph_ok): Use logical line numbers for diagnostics.
12471         (skip_block_comment): Likewise.
12472         (skip_whitespace): Likewise.
12473         (skip_line_comment): Use pfile->line instead.
12474         (_cpp_lex_token): Update to use logical line numbering exclusively.
12475         Handle BOL locally.  Accept new lines in directives, but keep
12476         pfile->line decremented.  Diagnostics use logical lines.  Update
12477         directive handling.
12478         * cpplib.c (SEEN_EOL): New.
12479         (skip_rest_of_line, check_eol): Use it.
12480         (end_directive): Increase line number when accepting the newline
12481         at the end of a directive.
12482         (run_directive): Simplify.
12483         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
12484         (_cpp_do_file_change): Update to take buffer line number as an
12485         argument, and store the current map in the cpp_reader.  Remove
12486         line number kludges.
12487         (_cpp_do__Pragma): Restore output position after a _Pragma.
12488         (cpp_push_buffer): Don't set output line or lineno.
12489         (_cpp_pop_buffer): Transfer more info from a faked buffer.
12490         Remove line kludge.  Set output_line.
12491         * cppmacro.c (builtin_macro): Update handling of __LINE__.
12492         (parse_arg): Use logical lines.
12493         (save_lookahead_token): Save EOFs too now.
12494         * cppmain.c (struct printer): Fix comments.
12495         (printer_init): Simplify, let caller do errors.
12496         (scan_translation_unit, check_multiline_token, dump_macro): Update.
12497         (maybe_print_line): Simplify.
12498         (print_line): Don't print a linemarker if -P.
12499         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
12500         (cb_file_change): Simplify.
12501         * line-map.h (LAST_SOURCE_LINE): Fix.
12502         (CURRENT_LINE_MAP): New.
12503
12504 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
12505
12506         * doloop.c (doloop_modify_runtime): Properly compute number of
12507         iterations if loop was unrolled.
12508
12509         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
12510         if their CSELIB_VAL_PTRs are.
12511
12512         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
12513         (setup_spill_pointers): Initialize it.
12514         (spill_restore_mem): Set it.
12515         (do_spill, do_restore): Use it to add REG_INC note.
12516         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
12517
12518         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
12519         asms if other insns are available.
12520
12521         * config/ia64/ia64.c (condop_operator): New predicate.
12522         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
12523         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
12524         patterns.
12525
12526         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
12527         temporary register than directly using a MEM.
12528
12529 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
12530
12531         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
12532         parameter in last change.
12533
12534 2001-08-04  Zack Weinberg  <zackw@panix.com>
12535
12536         * sparc.md: Don't use #if inside C test expression.
12537
12538 2001-08-04  Richard Henderson  <rth@redhat.com>
12539
12540         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
12541
12542 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12543
12544         * cpphash.h (struct cpp_reader): New member directive_line.
12545         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
12546         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
12547         do_pragma): Pass line to callbacks.
12548         (start_directive): Record line of directive.
12549         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
12550         cb_include): Similarly.
12551         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
12552         Similarly.
12553
12554 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
12555
12556         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
12557         comment.
12558
12559 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12560
12561         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
12562
12563         * reload1.c (fixup_abnormal_edges): New static function.
12564         (reload): Use it.
12565
12566         * flow.c (need_fake_edge_p): New function.
12567         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
12568         avoid call insn to be very last insn in the insn stream.
12569
12570         * profile.c (branch_prob): Call flow_call_edges_add instead of
12571         doing that by hand; cleanup cfg to re-merge basic blocks once
12572         we are done.
12573
12574 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12575
12576         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
12577         are also on line-map.h.
12578         * cppfiles.c (stack_include_file): Update.
12579         * cpphash.h (struct cpp_buffer): New member return_at_eof.
12580         (_cpp_pop_buffer): New.
12581         * cppinit.c (cpp_destroy, cpp_finish): Update.
12582         (do_includes): Mark each buffer to return at EOF.
12583         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
12584         return as requested.
12585         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
12586         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
12587         * cpplib.h (cpp_pop_buffer): Remove.
12588         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
12589         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
12590         buffers.
12591         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
12592         to pop buffers.
12593         (do_preprocessing): Update.
12594         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
12595         * c-parse.in (_yylex): Similarly.
12596         * scan-decls.c (scan_decls): Similarly.
12597         * line-map.h: Update comments.
12598
12599         * objc/Make-lang.in (objc-act.o): Update dependencies.
12600
12601 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12602
12603         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
12604         and soft register for operand 0.
12605         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
12606
12607 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12608
12609         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
12610         register for operand 0.
12611         ("bitcmpqi_z_used"): Allow memory for operand 0.
12612         (split "bitcmpqi"): New split to handle address reg as operand 1.
12613
12614 2001-08-04  Andreas Jaeger  <aj@suse.de>
12615
12616         * gcse.c: Revert Daniel's last patch.
12617
12618 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
12619
12620         * sparc-protos.h: Add prototypes for fp_zero_operand and
12621         reg_or_0_operand.
12622         * sh-protos.h: Add prototype for fpul_operand.
12623
12624 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
12625
12626         * doc/extend.texi (Other Builtins): Fix typo in last change.
12627
12628 2001-08-03  Richard Henderson  <rth@redhat.com>
12629
12630         * target.h (gcc_target): Add asm_out.named_section,
12631         section_type_flags, have_named_sections.
12632         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
12633         (TARGET_HAVE_NAMED_SECTIONS): New.
12634         (TARGET_SECTION_TYPE_FLAGS): New.
12635
12636         * Makefile.in (toplev.o): Depend on TARGET_H.
12637         (varasm.o, dbxout.o): Likewise.
12638         * c-common.c (decl_attributes): Check targetm.have_named_sections
12639         instead of ifdef ASM_OUTPUT_SECTION_NAME.
12640         * dbxout.c (dbxout_function_decl): Likewise.
12641         (dbxout_function_end): Likewise.
12642         * toplev.c (compile_file): Likewise.
12643         * varasm.c (exception_section): Likewise.
12644         * cp/decl2.c (finish_objects): Likewise.
12645
12646         * defaults.h (EH_FRAME_SECTION): Remove.
12647         (EH_FRAME_SECTION_ASM_OP): Remove.
12648         (EH_FRAME_SECTION_NAME): New.
12649         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
12650         (UNIQUE_SECTION_P): Remove.
12651         * dwarf2out.c (SECTION_FORMAT): Remove.
12652         (ASM_OUTPUT_SECTION): Remove.
12653         (output_call_frame_info): Use named_section_flags.
12654         (output_comp_unit, dwarf2out_start_source_file): Likewise.
12655         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
12656         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
12657         * varasm.c (in_eh_frame, eh_frame_section): Remove.
12658         (named_section_flags): New.
12659         (named_section): Use it and targetm.section_type_flags.
12660         (resolve_unique_section): New.
12661         (assemble_start_function): Use it.
12662         (asm_emit_uninitialised, assemble_variable): Likewise.
12663         (default_section_type_flags): New.
12664         (default_no_named_section, default_elf_asm_named_section): New.
12665         (default_coff_asm_named_section, default_pe_asm_named_section): New.
12666         * output.h: Update varasm.c decls.
12667         (SECTION_*): New flags.
12668
12669         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
12670         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
12671
12672         * config/elfos.h (UNIQUE_SECTION_P): Remove.
12673         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
12674         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
12675         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
12676         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
12677         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
12678         * config/mips/elf.h, config/mips/elf64.h: Likewise.
12679         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
12680         * config/pa/pa64-hpux.h,
12681
12682         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
12683         (TARGET_ASM_NAMED_SECTION): New.
12684         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
12685         * config/alpha/vms.h, config/arm/coff.h: Likewise.
12686         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
12687         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
12688         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
12689         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
12690         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
12691         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
12692         * config/i386/sco5.h, config/i386/win32.h: Likewise.
12693         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
12694         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
12695         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
12696         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
12697         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
12698         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
12699         * config/sparc/sysv4.h: Likewise.
12700
12701         * config/nextstep.h: Error until named sections implemented.
12702
12703         * config/a29k/a29k.c (a29k_asm_named_section): New.
12704         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
12705         (vms_section_type_flags, vms_asm_named_section): New.
12706         * config/arm/arm.c (arm_elf_asm_named_section): New.
12707         * config/avr/avr.c (asm_output_section_name): Remove.
12708         * config/avr/avr-protos.h: Update.
12709         * config/c4x/c4x.c (c4x_asm_named_section): New.
12710         * config/h8300/h8300.c (h8300_asm_named_section): New.
12711         * config/i386/i386.c (sco_asm_named_section): New.
12712         * config/i386/winnt.c (SECTION_PE_SHARED): New.
12713         (i386_pe_section_type_flags): New.
12714         (i386_pe_asm_named_section): New.
12715         * config/i386/i386-protos.h: Update.
12716         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
12717         * config/mcore/mcore.c (mcore_asm_named_section): New.
12718         * config/mips/mips.c (iris6_asm_named_section): New.
12719         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
12720         instead of UNIQUE_SECTION_P.
12721         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
12722         (xcoff_asm_named_section): New.
12723         * config/sh/sh.c (sh_asm_named_section): New.
12724         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
12725
12726         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
12727         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
12728         (EH_FRAME_SECTION_NAME): New.
12729         (EXCEPTION_SECTION): New.
12730         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
12731         (DEBUG_*_SECTION): Remove.
12732         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
12733         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
12734         (EH_FRAME_SECTION_ASM_OP): Remove.
12735
12736         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
12737         (ASM_OUTPUT_SECTION_NAME): Remove.
12738         (TARGET_ASM_NAMED_SECTION): New.
12739         (TARGET_HAVE_NAMED_SECTIONS): New.
12740         (TARGET_SECTION_TYPE_FLAGS): New.
12741         (EH_FRAME_SECTION_ASM_OP): Remove.
12742         (EH_FRAME_SECTION_NAME): New.
12743
12744 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
12745
12746         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
12747         for complex expressions when cfun == 0.
12748         * doc/extend.texi: Document that __builtin_constant_p can be
12749         used in data initializers as well as functions.
12750
12751 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
12752
12753         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
12754         variable I locally, instead of expecting a declaration in the
12755         calling context.
12756
12757 2001-08-03  Richard Henderson  <rth@redhat.com>
12758
12759         * except.c (collect_one_action_chain): Add an explicit cleanup
12760         action if regions surrounding a catch were encoded entirely
12761         within the call-site entry.
12762
12763 2001-08-03  Richard Henderson  <rth@redhat.com>
12764
12765         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
12766         don't take REGNO of a non-register.
12767
12768 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12769
12770         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
12771         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
12772         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
12773         (__gthread_mutex_init_function): New function for mutex initialization.
12774
12775 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
12776
12777         * Makefile.in: Revert screwed up commit.
12778
12779 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12780
12781         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
12782         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
12783         merged by linker script to get a final _exit().
12784         (__do_global_dtors): New for destructor handling in specific exit
12785         section.
12786         (__do_global_ctors): New for constructors in specific install section.
12787         (__map_data_section): Map data sections before running constructors.
12788         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
12789         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
12790         (DTORS_SECTION_ASM_OP): Likewise.
12791         (CTORS_SECTION_FUNCTION): Define to force a reference to
12792         __do_global_ctors.
12793         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
12794
12795 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
12796
12797         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
12798
12799         * Makefile.in: Add df.h to gcse.c dependencies.
12800
12801 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12802
12803         * varasm.c (output_constant_def_contents): Use for the length of a
12804         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
12805         depending on which is larger.
12806
12807 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
12808
12809         * gcse.c: Include df.h for use as a dataflow analyzer.
12810         Remove regvec.
12811         Declaration of reg_set_info: gone.
12812         New df_analyzer variable used by store motion.
12813         (reg_set_info): Deleted.
12814         (mark_mem_regs): New function, analyze regs used by a mem.
12815         (store_ops_ok): Use dataflow analyzer results to determine if
12816         necessary regs are changed in the block.
12817         (find_moveable_store): Remove check for symbol ref, we can handle
12818         much more complex expressions now.
12819         (compute_store_table): Remove most of the code, it's unnecessary
12820         now that the dataflow analyzer records the info for us.
12821         (store_killed_after): Add parameter to say whether to do the
12822         store_ops_okay test, used to speed up testing when we already know
12823         the answer, and just want to know if the store itself was killed.
12824         (build_store_vector): Largely rewritten to calculate the various
12825         vectors properly, and somewhat optimized.
12826         (store_motion): Init the df_analyzer, get REG_DEF chains.
12827         Also handle trapping expressions (since mems almost always trap)
12828         (simple_mem): Redefine what a simple mem is.
12829
12830 2001-08-03  DJ Delorie  <dj@redhat.com>
12831
12832         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
12833         set from a constant part of the condition.
12834
12835 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
12836
12837         * mkdeps.c (deps_add_default_target): Make local variable
12838         ``start'' a const char pointer.
12839         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
12840
12841 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12842
12843         * doc/install.texi (Configuration): Fix markup.
12844         (Specific, i?86-*-udk): Likewise.
12845         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
12846         --with-gnu-ld.
12847         Document --enable-threads and --enable-libgcj status.
12848         (Specific, mips-sgi-irix*): Canonicalize triples.
12849         (Specific, mips-sgi-irix5): Warn about problems with this config.
12850         Mention required GNU as patch.
12851         Native assembler problems are fixed.
12852         (Specific, mips-sgi-irix6): Update O32 ABI support status.
12853         Document --enable-threads and --enable-libgcj status.
12854
12855 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
12856
12857         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
12858         of mkinstalldirs.
12859
12860 2001-08-03  Richard Henderson  <rth@redhat.com>
12861
12862         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
12863         constant data.
12864
12865 2001-08-03  Richard Henderson  <rth@redhat.com>
12866
12867         * rtlanal.c (find_first_parameter_load): Stop if we
12868         reach a CODE_LABEL at BOUNDARY.
12869
12870 2001-08-03  Richard Henderson  <rth@redhat.com>
12871
12872         * config/alpha/alpha.md (force_movdi): New insn.
12873         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
12874         Tweek FRP marking of VMS prologue insns.
12875         * config/alpha/vms.h (EPILOGUE_USES): New.
12876
12877 2001-08-02  Richard Henderson  <rth@redhat.com>
12878
12879         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
12880
12881 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
12882
12883         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
12884         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
12885         config/convex/convex.h, config/d30v/d30v.c,
12886         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
12887         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
12888         config/mips/mips.h, config/mn10200/mn10200.h,
12889         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
12890         config/v850/v850.h, config/vax/openbsd.h,
12891         config/vax/openbsd1.h, config/vax/ultrix.h,
12892         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
12893         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
12894         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
12895         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
12896         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
12897         in comments and documentation.
12898
12899 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12900
12901         * line-map.c: New.
12902         * line-map.h: New.
12903         * Makefile.in (line-map.o): New.
12904         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
12905         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
12906         * cpperror.c (print_containing_files): Similarly.
12907         (print_location): Update.  Don't output a space before _Pragma.
12908         * cppfiles.c (stack_include_file): Set to line 1 immediately.
12909         (stack_include_filee, cpp_make_system_header): Update.
12910         (_cpp_execute_include): Get logical line number right for calling
12911         as-yet-unterminated #include.
12912         * cpphash.h (struct cpp_reader): Add line_maps.
12913         (_cpp_do_file_change): Update.
12914         * cppinit.c (cpp_create_reader): Initialize line maps.
12915         (cpp_destroy): Destroy line maps.
12916         (cpp_start_read): Get logical line number right.
12917         * cpplex.c (parse_string): Only warn once for multi-line strings.
12918         Use boolean variable for null warning.
12919         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
12920         already.
12921         (do_include_common): End the directive early.
12922         (do_line): Don't warn about out-of-range lines in preprocessed
12923         source.  Update.  Remove unused variables.
12924         (_cpp_do_file_change): Update for new line mapping.
12925         (pragma_cb): New typedef.
12926         (cpp_register_pragma): Stop looking ahead before calling the
12927         handler.  Clean up.
12928         (do_pragma_system_header): End directive early.
12929         (cpp_get_line_maps): New.
12930         (cpp_pop_buffer): Fudge logical line.  Update.
12931         * cpplib.h: Include line-map.h
12932         (enum cpp_fc_reason): Remove.
12933         (struct cpp_file_change): Update.
12934         (cpp_get_line_maps): New.
12935         * cppmain.c (struct_printer): New member map.
12936         (cb_file_change): Update for new mappings.
12937         * fix-header.c (cb_file_change): Similarly.
12938
12939 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
12940
12941         * Makefile.in (libgcc.mk): Define mkinstalldirs.
12942         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
12943
12944 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
12945
12946         * config/vax/vax.c: include expr.h.
12947
12948 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
12949
12950         * Makefile.in ($(srcdir)/configure): Only rebuild in
12951         maintainer mode.
12952         ($(srcdir)/config.in): Only define in maintainer mode.
12953         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
12954
12955 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
12956
12957         * doc/install.texi (Install GCC: Binaries): Update Bull info.
12958
12959 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12960
12961         * gcc.c (set_collect_gcc_options): New function, split out from
12962         main.
12963         Ignore elided switches.
12964         (do_spec_1): Invoke before executing command.
12965         (set_input): Export.
12966         Move declaration ...
12967         * gcc.h (set_input): ... here.
12968         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
12969         file.
12970
12971 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
12972
12973         Kill -fhonor-std.
12974         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
12975         interaction.
12976         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
12977
12978 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
12979
12980         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
12981         for the unnamed instructions it expands to.
12982
12983 2001-08-02  Richard Henderson  <rth@redhat.com>
12984
12985         * regclass.c (call_really_used_regs): Conditionally define.
12986         (init_reg_sets_1): Don't use it if not defined.
12987         (fix_register): Similarly, don't set it.
12988
12989 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12990
12991         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
12992         Correct comment that had been missed in the previous change.
12993
12994 2001-08-01  Stan Shebs  <shebs@apple.com>
12995
12996         * config/darwin.c (machopic_stub_name): Try matching by name.
12997         (update_stubs): New function.
12998         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
12999         unconditionally.
13000
13001 2001-08-01  Richard Henderson  <rth@redhat.com>
13002
13003         * except.c (output_function_exception_table): Use assemble_align.
13004         * varasm.c (assemble_eh_label): Remove.
13005         (assemble_eh_align, assemble_eh_integer): Remove.
13006
13007 2001-08-01  Robert Lipe  <robertl@caldera.com>
13008
13009         * dwarfout.c: Remove reference to README.DWARF.
13010
13011 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
13012
13013         * regclass.c (call_really_used_regs): New array for registers which
13014         are actually used by a call.
13015         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
13016         new array.
13017         (fix_register): Set call_really_used too.
13018         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
13019         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
13020
13021 2001-08-01  Richard Henderson  <rth@redhat.com>
13022
13023         * read-rtl.c (read_name): Consider \r whitespace.
13024
13025 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
13026
13027         * config.gcc: Recognize powerpc-*-netbsd*.
13028
13029         * doc/install.texi (Host/target specific installation notes for
13030         GCC): Mention powerpc-*-netbsd*.
13031
13032         * config/rs6000/netbsd.h: New file.
13033         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
13034         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
13035         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
13036         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
13037         (TARGET_VERSION): Redefine.
13038
13039         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
13040         mcall-netbsd as a match for mcall-sysv.
13041         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
13042         (ncrti.S, ncrtn.S): New targets.
13043         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
13044
13045         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
13046         "netbsd' as a V4 ABI.
13047         (ASM_SPEC): Check for -mcall-netbsd.
13048         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
13049         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
13050         (LIB_SPEC, ENDFILE_SPEC): Ditto.
13051         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
13052         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
13053         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
13054         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
13055
13056         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
13057         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
13058
13059 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
13060
13061         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
13062         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
13063         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
13064         including "unwind-pe.h".
13065
13066 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
13067
13068         * rs6000.md (define_splits): Kill unused constraints.
13069
13070 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
13071                               Jan Hubicka  <jh@suse.cz>
13072
13073         * function.c (thread_prologue_and_epilogue_insns): Kill code
13074         dealing with non-existent CFG.
13075
13076 2001-08-01  Kazu Hirata  <kazu@hxi.com>
13077
13078         * alias.c: Fix comment formatting.
13079         * bitmap.c: Likewise.
13080         * builtins.c: Likewise.
13081         * calls.c: Likewise.
13082         * c-common.c: Likewise.
13083         * c-decl.c: Likewise.
13084         * c-dump.c: Likewise.
13085         * c-lex.c: Likewise.
13086         * collect2.c: Likewise.
13087         * combine.c: Likewise.
13088         * conflict.c: Likewise.
13089         * cppfiles.c: Likewise.
13090         * cppinit.c: Likewise.
13091         * cpplex.c: Likewise.
13092         * cpplib.c: Likewise.
13093         * cppmacro.c: Likewise.
13094         * cppspec.c: Likewise.
13095         * c-pragma.c: Likewise.
13096         * crtstuff.c: Likewise.
13097         * cse.c: Likewise.
13098         * cselib.c: Likewise.
13099         * c-semantics.c: Likewise.
13100         * c-typeck.c: Likewise.
13101
13102 2001-08-01  H.J. Lu <hjl@gnu.org>
13103
13104         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
13105
13106 2001-08-01  H.J. Lu <hjl@gnu.org>
13107
13108         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
13109
13110 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
13111
13112         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
13113         contextualizing Objective-C class name lookup by the lexer.
13114         (typespec_reserved_nonattr): Disable ObjC class name lookup after
13115         seeing a TYPESPEC.
13116         (protocoldef): Add support for forward @protocol declarations.
13117         (yylexname): Suppress ObjC class name lookup in certain contexts;
13118         re-enable after lookup is complete.
13119         (_yylex): Re-enable ObjC class name lookup when certain
13120         punctuation marks are seen.
13121
13122         * objc/objc-act.c (check_protocol_recursively): New function used
13123         for finding circular dependencies in protocols.
13124         (objc_declare_protocols): New function for handling forward
13125         @protocol declarations.
13126         (receiver_is_class_object): Detect the case when 'self' is used
13127         inside of a class method.
13128         (build_message_expr): Issue a warning if class method is desired
13129         but instance method is found instead.
13130         (conforms_to_protocol): Streamline.
13131         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
13132         protocol Foo, even if 'Bar foo' does not.
13133         (check_protocols): Streamline.
13134         (start_protocol): Add checks for circular and duplicate protocol
13135         definitions.
13136         (encode_aggregate_within): For typedefs of structs, encode the
13137         underlying struct.
13138         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
13139         (objc_declare_protocols): New prototype.
13140
13141 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13142
13143         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
13144         * cpplex.c (handle_newline): Update prototype.  Maintain logical
13145         line number.
13146         (skip_escaped_newlines, skip_block_comment, parse_string):
13147         Update accordingly.
13148         (_cpp_lex_token): Update, and store token position within the token.
13149         * cpplib.h (struct cpp_token): Add line and column entries.
13150         * cppmacro.c (replace_args): Position stringified tokens correctly.
13151
13152 2001-08-01  Andreas Jaeger  <aj@suse.de>
13153
13154         * basic-block.h: Add prototype for last_loop_beg_note.
13155
13156 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
13157
13158         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
13159         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
13160         comment.
13161         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
13162         while handling WITH_CLEANUP_EXPR node. Use second operand calling
13163         expand_decl_cleanup.
13164         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
13165         the first RTX.
13166         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
13167         operand while calling simple_cst_equal.
13168         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
13169         operand is the cleanup expression, the third is the RTL_EXPR.
13170         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
13171
13172 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
13173
13174         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
13175
13176 2001-07-31  matthew green  <mrg@eterna.com.au>
13177
13178         * config.gcc (i386-*-netbsdelf): New description.
13179         * config/i386/netbsd-elf.h: New file.
13180
13181 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
13182
13183         * loop.c (check_dbra_loop): Use single_set to compute
13184         jump_label.
13185
13186 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
13187
13188         PowerPC reorg and support for powerpc64-*-linux*.
13189
13190         Also fixes emitting of constants on 32 bit and 64 bit
13191         platforms.
13192
13193         * config.gcc: powerpc64-*-linux* is a new target.
13194         Things that needed aix.h now also include xcoff.h
13195
13196         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
13197         xcoff.h.
13198         Move AIX specific stuff into aix.h.
13199         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
13200         with more than just XCOFF now.
13201         (SET_ASM_OP): Remove, now defined where needed.
13202         (FUNCTION_PROLOGUE): New macro definition.
13203         (FUNCTION_EPILOGUE): New macro definition.
13204         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
13205
13206         * config/rs6000/xcoff.h: New file.
13207
13208         * config/rs6000/linux64.h: New file.
13209
13210         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
13211
13212 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
13213
13214         * rs6000.c (print_operand_address): Handle ELF syntax.
13215         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
13216         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
13217         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
13218
13219 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
13220
13221         * rs6000.c (rs6000_override_options): Only disable
13222         flag_function_sections for XCOFF.
13223         (exact_log2_cint_operand): New predicate.
13224         (reg_or_{add,sub}_cint64_operand): New predicates.
13225         (add_operand): Compare CONST_INT with fewer function calls.
13226         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
13227         (print_operand, case 'p'): Ensure positive operand.
13228         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
13229         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
13230         (PREDICATE_CODES): Add new predicates.
13231         * rs6000.md (addsi3): Split 32-bit constants more correctly.
13232         (divsi3, modsi3): Ensure positive power-of-2.
13233         (adddi3): Use new predicate.  Split 32-bit constants more
13234         correctly.  Re-arrange splitter to handle any constant.
13235         (subdi3): Use new predicate.
13236         (divdi3, moddi3): Ensure positive power-of-2.
13237         (movdi): Use rs6000_emit_set_const.
13238         (load_toc_v4_pic_di): Delete.
13239
13240 2001-07-31  Graham Stott <grahams@redhat.com>
13241
13242         * function.c (pad_below): Revert 2001-07-26 patch.
13243
13244 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13245
13246         * reg-stack (convert_regs_1): Fix best edge condition.
13247
13248 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
13249
13250         * jump.c (duplicate_loop_exit_test): Better test for jumps
13251         entering the loop; create loop pre_header.
13252
13253 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
13254
13255         * doc/install.texi: Add s390 and s390x as new targets.
13256         * doc/invoke.texi: Add documentation of S/390 and zSeries
13257         target options.
13258         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
13259
13260 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
13261
13262         * config/m68k/m68k.md: Replace all general_operand with
13263         nonimmediate_operand for all destinations.
13264         * config/m68k/m68k.c (not_sp_operand): Likewise.
13265
13266 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
13267
13268         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
13269
13270 2001-07-30  Richard Henderson  <rth@redhat.com>
13271
13272         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
13273         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
13274
13275 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
13276
13277         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
13278         Add missing doc strings
13279         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
13280         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
13281
13282 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
13283
13284         * i386.c (ix86_output_main_function_alignment_hack): New function.
13285         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
13286
13287         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
13288         edges by EDGE_DFS_BACK flag.
13289         (dump_edge_info): Add dfs_back flag.
13290         * basic-block.h (EDGE_DFS_BACK): New constant.
13291         (mark_dfs_back_edges): Declare.
13292         * alias.c (loop_p): Remove.
13293         (mark_constant_function): Use mark_dfs_back_edges.
13294
13295         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
13296         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
13297         (compensate_edge): Break out from ...
13298         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
13299         (convert_regs_2): Set block_done once block is really done;
13300         Do updating of the predecessors counts.
13301
13302         * toplev.c (rest_of_compilation): Recompute block_for_insn
13303         before post-reload cfg_cleanup.
13304         * function.c (thread_prologue_epilogue_insns):
13305         Call set_block_for_new_insns when emitting prologue directly.
13306
13307 2001-07-30  Andreas Jaeger  <aj@suse.de>
13308
13309         * jump.c: Add prototype for mark_modified_reg.
13310
13311         * cse.c (set_live_p): Add unused attribute.
13312
13313         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
13314         overflow.
13315         (scan_for_source_files): Use long for count to avoid overflow.
13316         (output_data): Likewise.
13317         (output_data): Don't use string concatatenation to silence gcc
13318         -traditional.
13319
13320         * predict.c: Fix typos and grammar.
13321
13322         * gcse.c (insert_insn_end_bb): Remove unused variables.
13323
13324 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
13325
13326         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
13327         (attempt_auto_inc): LIkewise.
13328         (mark_used_reg): Likewise.
13329         (try_pre_increment_1): Likewise.
13330         * regclass.c (regclass): Likewise.
13331         * global.c (allocno_compare): Update comment; change scaling factor.
13332         * local-alloc.c (QTY_CMP_PRI): Likewise.
13333         * regs.h (REG_FREQ_FROM_BB): New.
13334         (REG_FREQ_MAX): Likewise.
13335
13336 2001-07-30  H.J. Lu <hjl@gnu.org>
13337
13338         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
13339         -D_GNU_SOURCE.
13340
13341 2001-07-30  H.J. Lu  (hjl@gnu.org)
13342
13343         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
13344         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
13345         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
13346
13347 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
13348
13349         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
13350         as -mthumb-interwork when -mcpu=arm7 is specified.
13351
13352 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13353
13354         * predict.def (noreturn, loop branch, loop exit): Mark as first
13355         match heuristics.
13356
13357 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
13358
13359         * combine.c (try_combine): Avoid barrier after noop jumps.
13360
13361 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13362
13363         * cpphash.h (struct cpp_reader): Remove import_warning.
13364         * cpplib.c (skip_rest_of_line): Don't bother turning off
13365         macro expansion.
13366         (parse_include): Move include handling to...
13367         (do_include_common): ... here.  Move import warning from...
13368         (do_import): ... here.
13369         (do_pragma_poison): Don't do a callback for poison identifiers.
13370         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
13371         * cppmain.c (setup_callbacks): Similarly.
13372
13373 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
13374
13375         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
13376         handle multiple sets.
13377         * except.c (sjlj_mark_call_sites): .... here.
13378         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
13379
13380 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13381
13382         Suggested by Richard Henderson and Richard Kenner:
13383         * combine.c (recog_for_combine): Use the fake recog
13384         only if instruction does not match.
13385         * rtl.h (NOOP_MOVE_INSN_CODE): New.
13386         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
13387
13388         * combine.c (try_combine): Discover noop jump as direct jump.
13389
13390 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
13391
13392         * df.c (df_rd_global_compute): Add successors to worklist, not
13393         current item.
13394         (df_ru_global_compute): Ditto.
13395
13396 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
13397
13398         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
13399         increment REG_N_SETS.
13400
13401 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
13402
13403         * sbitmap.h: New prototype for sbitmap_a_xor_b.
13404
13405         * sbitmap.c (sbitmap_a_xor_b): New function.
13406         ifdef the basic block stuff on IN_GCC.
13407
13408 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13409
13410         * cppexp.c (parse_defined): Always record the macro name.
13411         (lex): Don't worry about identifiers, or special-case
13412         CPP_NOT here.
13413         (_cpp_parse_expr): Figure out at the end of the routine
13414         whether we saw a valid !defined() expression.
13415         * cppfiles.c (stack_include_file): Update for mi_valid.
13416         (_cpp_pop_file_buffer): Similarly.
13417         * cpplex.c (_cpp_lex_token): Similarly.
13418         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
13419         mi_if_not_defined, mi_lexed): Remove.
13420         (mi_valid): New.
13421         * cpplib.c (do_if): Simplify.
13422         (do_endif, push_conditional, _cpp_handle_directive): Update
13423         for renaming of mi_state to mi_valid.
13424 doc:
13425         * cpp.texi: Add index entries for digraphs, and add comment
13426         that C++ refers to them as alternative tokens.
13427
13428 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
13429
13430         * basic-block.h (CLEANUP_PRE_LOOP): New.
13431         * except.c (finish_eh_generation): Update call of cleanup_cfg.
13432         * sibcall.c (optimize_sibling_calls): Likewise.
13433         * toplev.c (rest_of_compilation): Likewise.
13434         * flow.c (try_forward_edges): Take argument MODE;
13435         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
13436         (try_optimize_cfg): Update call of try_forward_edges.
13437
13438 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
13439                                 Jan Hubicka  <jh@suse.cz>
13440
13441         * (validate_replace_rtx_1): Fix simplification of MINUS.
13442
13443 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
13444
13445         PR preprocessor/3669
13446         * cppinit.c (init_dependency_output): Turn off dump requests
13447         if sending dependencies to stdout.
13448
13449 2001-07-28  Richard Henderson  <rth@redhat.com>
13450
13451         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
13452         not optimizing.
13453
13454 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
13455
13456         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
13457
13458 2001-07-28  Kazu Hirata  <kazu@hxi.com>
13459
13460         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
13461         is VAR_DECL first to prevent an ICE.
13462
13463 2001-07-28  Richard Henderson  <rth@redhat.com>
13464
13465         * varasm.c (immed_real_const_1): Don't elide special cases for
13466         nested functions.
13467         (clear_const_double_mem): Clear const_tiny_rtx too.
13468
13469 2001-07-28  Richard Henderson  <rth@redhat.com>
13470
13471         * dwarf2out.c (dw_val_class_offset): New.
13472         (struct dw_ranges_struct, dw_ranges_ref): New.
13473         (ranges_table, ranges_table_allocated): New.
13474         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
13475         (add_AT_offset, add_ranges, output_ranges): New.
13476         (print_die, output_die): Handle dw_val_class_offset.
13477         (attr_checksum, size_of_die, value_format): Likewise.
13478         (gen_lexical_block_die): Handle non-contiguous blocks.
13479         (gen_block_die): Likewise.
13480         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
13481         if needed.  Dump the ranges table.
13482         * final.c (final_start_function): Remove unnecessary notes and
13483         rebuild the block tree before numbering the blocks.
13484         * function.c (reorder_blocks_0): Walk the existing block tree
13485         to unmark all blocks.
13486         (reorder_blocks_1): Create block fragments when duplicate block
13487         notes are seen.
13488         (reorder_fix_fragments): New.
13489         (reorder_blocks): Call it.
13490         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
13491
13492 2001-07-28  Richard Henderson  <rth@redhat.com>
13493
13494         * emit-rtl.c (adjust_address): Make a copy of the memory address.
13495
13496 2001-07-28  Richard Henderson  <rth@redhat.com>
13497
13498         * flow.c (add_to_mem_set_list): New function.
13499         (init_propagate_block_info): Use it.
13500         (mark_set_1): Likewise.
13501         (insn_dead_p): Canonicalize memory address for dead store
13502         comparison.  Allow wider mode stores to kill narrower mode stores.
13503         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
13504         (invalidate_mems_from_set): Don't handle MEMs.
13505
13506 2001-07-28  Kazu Hirata  <kazu@hxi.com>
13507
13508         * config/h8300/h8300.h: Fix formatting.
13509
13510 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13511
13512         * basic-block.h (EDGE_FREQUENCY): New macro.
13513         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
13514         for new BB/edges.
13515         * flow.c (find_sub_basic_blocks): Likewise.
13516         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
13517         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
13518
13519         * predict.c (DEF_PREDICTOR): New argument FLAGS.
13520         (HITRATE): New macro.
13521         (PRED_FLAG_FIRST_MATCH): New constant.
13522         (predictor_info): New field flgags.
13523         (combine_predictions_for_insn): Use DS theory to combine
13524         probabilities; set the edge probabilities when finished.
13525         (estimate_probability): Avoid duplicated matches
13526         of LOOP_BRANCH heuristics for nested loops; update comment.
13527         * predict.def: Add flags for each prediction, set probabilities
13528         according to B&L paper.
13529         * predict.h (DEF_PREDICTOR): New argument FLAGS.
13530
13531         * profile.c (compute_branch_probabilities):  Cleanup way the edge
13532         probabilities are computed and REG_BR_PROB notes are dropped; if
13533         values does not match, emit error.
13534         (init_branch_prob): Do error instead of warning when profile driven
13535         feedback is missing or corrupt.
13536
13537 2001-07-27  DJ Delorie  <dj@redhat.com>
13538
13539         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
13540         against a constant, try to adjust the compare to have the desired
13541         constant in it so that min/max optimizations happen more often.
13542
13543 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13544
13545         * flow.c (last_loop_beg_note): New function.
13546         (redirect_edge_and_branch): Use it.
13547         (split_edge): Likewise.
13548
13549         * alias.c (loop_p): Avoid uninitialized memory access.
13550
13551         * flow.c (try_forward_edges): Avoid accessing freed memory.
13552
13553         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
13554         variable access.
13555
13556 2001-07-26  Andrew Haley  <aph@redhat.com>
13557         Joern Rennecke <amylaar@redhat.com>
13558
13559         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
13560         (SUBTARGET_CPP_ENDIAN_SPEC): New.
13561         (SUBTARGET_CPP_SPEC): New.
13562         (CPP_SPEC): Remove.
13563         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
13564         (SUBTARGET_CPP_PTR_SPEC): New.
13565         (CPP_DEFAULT_CPU_SPEC): New.
13566         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
13567         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
13568         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
13569         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
13570         (SUBTARGET_CPP_SPEC): Define as an empty string.
13571
13572 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13573
13574         * doc/install.texi (Configuration): Properly link the host
13575         specific instructions also when generating HTML.
13576
13577 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
13578
13579         * flow.c (redirect_edge_and_branch_force): Test
13580         target->global_live_at_start.
13581
13582 2001-07-26  Richard Henderson  <rth@redhat.com>
13583
13584         * simplify-rtx.c (avoid_constant_pool_reference): Export.
13585         * rtl.h (avoid_constant_pool_reference): Declare it.
13586         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
13587         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
13588
13589 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13590
13591         * rtl.h (cleanup_barriers): Declare.
13592         * jump.c (cleanup_barriers): New function.
13593         * toplev.c (rest_of_compilation): Call cleanup_barriers
13594         before loop optimizer and after bb_reorder.
13595
13596         * flow.c (back_edge_of_syntactic_loop_p): New.
13597         (split_edge): Use it.
13598
13599 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13600
13601         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
13602
13603 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
13604
13605         * cse.c (cse_process_notes): Replace any registers if the address
13606         remains valid.
13607
13608 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
13609
13610         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
13611         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
13612         (propagate_block): Update prototype.
13613         * flow.c (update_life_info): Simplify the CFG and
13614         recalculate the global regs which are alive when
13615         removing dead code during a global update.
13616         (propagate_block): Return non-zero if an INSN is
13617         deleted.
13618
13619 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13620
13621         * Makefile.in (LIBICONV): Define.
13622
13623 2001-07-26  Catherine Moore  <clm@redhat.com>
13624
13625         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
13626         of conditional to avoid tree checking errors.
13627
13628 2001-07-26  Kazu Hirata  <kazu@hxi.com>
13629
13630         * regmove.c (regmove_optimize): Don't replace a reg with
13631         another reg of a different mode.
13632
13633 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
13634
13635         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
13636         limit length of dependency flush list.
13637         * params.h (MAX_PENDING_LIST_LENGTH): Define.
13638         * sched-int.h  (struct deps): Add pending_flush_length field.
13639         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
13640         has 1 element in it.
13641         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
13642         (sched_analyze): After a jump, if the pending memory flush list is too
13643         large, flush the pending lists.
13644         (init_deps): Initialize pending_flush_length to 0.
13645         * doc/invoke.texi (max_pending_list_length): Document parameter.
13646
13647 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
13648
13649         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
13650         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
13651         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
13652
13653 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13654
13655         * cpphash.h (struct_lexer_state): Delete was_skipping.
13656         Move skipping here from struct cpp_reader.
13657         * cpplex.c (parse_identifier): Update.
13658         (_cpp_lex_token): Don't skip tokens in a directive.
13659         * cpplib.c (struct if_stack): Update.
13660         (start_directive, end_directive): Don't change skipping state.
13661         (_cpp_handle_directive): Update.
13662         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
13663         (do_else, do_endif): Update; only check for excess tokens if not
13664         in a skipped conditional block.
13665         (push_conditional): Update for new struct if_stack.
13666
13667 2001-07-26  Graham Stott  <grahams@redhat.com>
13668
13669         * function.c (locate_and_pad_parm): Also pad initial offset
13670         so that the total argument size also includes the padding.
13671
13672 2001-07-26  Graham Stott <grahams@redhat.com>
13673
13674         * gensupport.c (alter_output_for_insn): Correct enable checking failure
13675         change XSTR to XTMPL.
13676
13677         (process_one_cond_exec): Likewise
13678
13679 2001-07-25  Richard Henderson  <rth@redhat.com>
13680
13681         * varasm.c (assemble_variable): Create DECL_RTL before setting
13682         TREE_ASM_WRITTEN.
13683
13684 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
13685
13686         * predict.c (estimate_probability): Avoid duplicated predictions.
13687
13688         * loop.c (find_and_verify_loops): Grok multiple barriers.
13689
13690 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13691
13692         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
13693
13694         * dbxout.c: Consistently use putc instead of fputc.
13695         (print_wide_int): New function; call instead of direct fprintf.
13696         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
13697         (dbxout_type_fields, dbxout_type_method_1): Likewise.
13698         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
13699         (print_int_cst_octal): Likewise.
13700         (print_octal): Show we wrote characters.
13701         (dbxout_type): Set have_used_extensions in more places.
13702
13703 2001-07-25  Catherine Moore  <clm@redhat.com>
13704
13705         * config/v850/v850.c (v850_va_arg):  Use addr
13706         instead of valist to build incr.
13707
13708 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
13709
13710         * flow.c (delete_dead_jumptables): New function.
13711         (life_analyzis): Call it.
13712         * bb-reorder.c (skip_insns_after_block): Handle contradictory
13713         sequences.
13714
13715 2001-07-25  Richard Henderson  <rth@redhat.com>
13716
13717         * except.c (reachable_handlers): Handle a region being removed
13718         out from under a RESX.
13719
13720 2001-07-25  Richard Henderson  <rth@redhat.com>
13721
13722         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
13723         swap GE/GT if it is an fp comparison.
13724
13725 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
13726
13727         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
13728         operands.
13729
13730 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
13731
13732         * ssa.c (rename_insn_1): Do not wrap an assignment to a
13733         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
13734         glitch.
13735
13736         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
13737         throw an exception.
13738         (visit_expression): When attempting to simplify an expression,
13739         retrieve any modes for arguments before they are simplified
13740         to constants.
13741
13742 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
13743             Janis Johnson  <janis@us.ibm.com>
13744
13745         * stmt.c (expand_goto): A nonlocal goto can be a call too.
13746         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
13747         pointer parameters to match documented usage of nonlocal_goto.
13748         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
13749         parameters to their correct order.
13750         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
13751         parameters to their correct order.
13752
13753 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
13754
13755         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
13756
13757 2001-07-25  Jan Hubicka  <jh@suse.cz>
13758             Richard Henderson  <rth@redhat.com>
13759
13760         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
13761         the sequence.
13762         (make_edges): New argument update_p; populate the edge cache if set.
13763         (find_basic_blocks): Update make_edges invocation.
13764
13765 2001-07-24  Joel Sherrill <joel@OARcorp.com>
13766
13767         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
13768
13769 2001-07-24  Joel Sherrill <joel@OARcorp.com>
13770
13771         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
13772         -Acpu and -Amachine.h.
13773         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
13774         Corrected header to say ELF not a.out.
13775         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
13776         when given -msoft-float.
13777
13778 2001-07-24  Joel Sherrill <joel@OARcorp.com>
13779
13780         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
13781         extra multilib parts like arm-elf.
13782         (i960-*-coff*, i960-*-rtems): Should not use collect2.
13783         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
13784         crtfini.o as extra multilib parts.
13785
13786 2001-07-24  Joel Sherrill <joel@OARcorp.com>
13787
13788         * configure.in: Add rtems as a supported thread model.
13789         * gthr-rtems.h: Add missing entry point __gthread_active_p.
13790         * configure: Rebuilt.
13791
13792 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
13793
13794         * stor-layout.c (get_mode_alignment): make it work when
13795         BITS_PER_UNIT is not a power of two.
13796         * builtins.c (get_pointer_alignment): Likewise.
13797
13798 2001-07-24  Richard Henderson  <rth@redhat.com>
13799
13800         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
13801         the retrieved constant into the expected mode.
13802
13803 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
13804
13805         * flow.c (try_simplify_condjump): Avoid duplicated edges.
13806         (verify_flow_info): Check for duplicated edges; clarify
13807         error reporting.
13808
13809         * flow.c (block_label): Update basic_block_for_insn.
13810         (commit_edge_insertions): Call compute_bb_for_insn.
13811
13812         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
13813         returns too.
13814
13815         * flow.c (redirect_edge_and_branch,
13816         try_optimize_cfg): Use redirect_edge_succ_nodup
13817         (redirect_edge_succ_nodup): New.
13818         * basic_block.h (redirect_edge_succ_nodup): Declare.
13819
13820         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
13821         after gcse.
13822
13823 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
13824
13825         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
13826         (try_crossjump_to_edge): Update commetns.
13827         (try_crossjump_bb): Likewise.
13828
13829 2001-07-24  Richard Henderson  <rth@redhat.com>
13830
13831         * combine.c (distribute_notes): Move set of need_refresh
13832         for noop_move_p down to catch all cases.
13833
13834 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
13835
13836         * recog.c (split_all_insns_noflow): New.
13837         * rtl.h (split_all_insns_noflow): Declare.
13838         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
13839         * m68hc11.c (m68hc11_reorg): Likewise.
13840         * sh.c (machine_dependent_reorg): Likewise.
13841         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
13842         call.
13843
13844 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
13845
13846         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
13847         (ashlsi3_n splitter): Likewise.
13848         (lshrsi3_n splitter): Likewise.
13849
13850         (GOTaddr2picreg): Make const SImode.
13851         (sym_label2reg): Likewise.
13852         (symGOT2reg): Likewise.
13853         (symGOTOFF2reg) Likewise.
13854
13855         (casesi_worker_0): Make unspec SImode.
13856
13857 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
13858
13859         * config/sh/sh.c (barrier_align): Check that an operand really is
13860         an insn before extracting its INSN_CODE.
13861
13862 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
13863
13864         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
13865         dangling else.
13866
13867         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
13868         for SImode to prevent overflow.
13869
13870 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13871
13872         * config/mips/irix6-libc-compat.c: New file.
13873         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
13874         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
13875         passing workaround.
13876
13877 2001-07-24  lars brinkhoff  <lars@nocrew.org>
13878
13879         * rtl.texi (REG_POINTER): Document.
13880         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
13881         QFmode, HFmode, TQFmode, QCmode, and HCmode.
13882
13883 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
13884
13885         * flow.c (delete_noop_moves): Do not confuse libcall regions.
13886
13887 2001-07-23  Richard Henderson  <rth@redhat.com>
13888
13889         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
13890
13891 2001-07-23  Kazu Hirata  <kazu@hxi.com>
13892
13893         * config/h8300/h8300-protos.h: Add a prototype for
13894         general_operand_dst_push.
13895         * config/h8300/h8300.c (general_operand_dst_push): New.
13896         * config/h8300/h8300.h (OK_FOR_T): New.
13897         (EXTRA_CONSTRAINT): Use it.
13898         * config/h8300/h8300.md (movqi_push): Remove and integrate into
13899         the existing movqi pattern.
13900         (movhi_push): Likewise.
13901
13902         * reload.c: Fix comment typos.
13903
13904 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
13905
13906         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
13907
13908 2001-07-23  H.J. Lu  (hjl@gnu.org)
13909
13910         * doc/extend.texi: Update __builtin_return_address and
13911         __builtin_frame_address.
13912
13913 2001-07-23  Richard Henderson  <rth@redhat.com>
13914
13915         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
13916         before CSE.
13917         * config/i386/i386.md: New setcc+movzbl peephole2.
13918
13919 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13920
13921         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
13922         * objc/objc-act.c: Include debug.h.
13923         (synth_module_prologue): Save and restore debug hooks too.
13924
13925 2001-07-23  lars brinkhoff  <lars@nocrew.org>
13926
13927         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
13928         and C4X_FLOAT_FORMAT.
13929         (BOOL_TYPE_SIZE): Document.
13930
13931 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
13932
13933         * unroll.c (loop_iterations): Fix miscalculation of initial
13934         giv offset.
13935
13936 2001-07-13  Andrew Haley  <aph@redhat.com>
13937
13938         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
13939         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
13940         * config/sh/sh.c (sh_can_redirect_branch): New function.
13941         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
13942         * reorg.c (steal_delay_list_from_target): Use
13943         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
13944
13945 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
13946
13947         * flow.c (try_simplify_condjump): Unlink insn chain on
13948         fallthru edge; use can_fallthru.
13949
13950 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
13951
13952         * basic-block.h (find_sub_basic_block): Declare.
13953         * flow.c (make_edges): New arguments MIN and MAX;
13954         (find_sub_basic_blocks): Revamp to use make_edges
13955         and purge_dead_edges.
13956         (find_basic_blocks): Update call of find_sub_basic_block.
13957
13958         * recog.c (split_all_insns): Always expect CFG to be consistent;
13959         call find_sub_basic_blocks in case something has changed.
13960         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
13961         has been built.
13962
13963         * basic-block.h (delete_noop_moves): Declare.
13964         * combine.c (combine_instructions): Call it.
13965         (recog_for_combine): Tolerate noop moves
13966         (distribute_notes): Force refresh when register dies at noop move.
13967         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
13968         too.
13969         (life_analysis): Update delete_noop_moves call.
13970         (set_noop_p): Move too ...
13971         * rtlanal.c (noop_move_p): ... here.
13972         * rtl.h (noop_move_p): Declare.
13973
13974         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
13975         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
13976         after combine.
13977         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
13978         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
13979
13980 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
13981
13982         * reload.c (push_reload): Fix typo in comment.
13983         (find_reloads_address): Ditto.
13984         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
13985
13986 2001-07-22  Richard Henderson  <rth@redhat.com>
13987
13988         * flow.c: Grammar check and clarify a lot of comments.
13989         (try_simplify_condjump): Rename variables to be clearer.
13990         (try_forward_edges): Skip complex and fallthru edges.
13991         Rearrange tests to avoid duplicate checks.
13992         (flow_find_cross_jump): Likewise.
13993         (outgoing_edges_match): Allow match if neither branch has
13994         probability data.  Loosen probability match to 5%.
13995         (try_crossjump_to_edge): Hoist repeated indirection into
13996         local variables.
13997         (try_crossjump_bb): Don't check complex edges.  Eliminate
13998         redundant crossjump tests.
13999         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
14000         checks before more expensive checks.
14001
14002 2001-07-22  Richard Henderson  <rth@redhat.com>
14003
14004         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
14005         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
14006         arguments.
14007
14008 2001-07-22  Richard Henderson  <rth@redhat.com>
14009
14010         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
14011         (const_sint32_operand): Likewise.
14012         * m68k.md (anon mulsi pattern): Use const_int_operand not
14013         const_sint32_operand.
14014         (umulsi3_highpart): Zero extend a constant input.
14015         (smulsi3_highpart): Don't bother checking SImode constant.
14016         (const_umulsi3_highpart): Give op3 DImode.
14017         (const_smulsi3_highpart): Likewise.
14018
14019 2001-07-22  Richard Henderson  <rth@redhat.com>
14020
14021         * flow.c (split_block): Make sure bb_note is included in the
14022         new block when splitting before a label.
14023
14024 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
14025
14026         * basic-block.h (redirect_edge_and_branch_force,
14027         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
14028         * flow.c (redirect_edge_and_branch_force,
14029         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
14030         (redirect_edge_and_branch_force): Fix copying of lifeness information.
14031         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
14032         * ifcvt.c (dead_or_predictable): Take BB as an new destination
14033         instead of label; update CFG after transformation.
14034         (find_if_case_1): Update call, use redirect_edge_and_branch_force
14035         for finishing the transformation; handle even case where ELSE
14036         does not follow THEN.
14037         (find_if_case_2): Update call of dead_or_predictable; simplify
14038         CFG update.
14039
14040         * emit-rtl.c (split_branch_probability): New global variable.
14041         (try_split): Take care to set split_branch_probability and
14042         create REG_BR_PROB note for new jump insns.
14043         * md.texi (define_split): Document new feature.
14044
14045         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
14046
14047 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
14048
14049         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
14050         (asm_out_file): Remove redundant declaration.
14051         (assemble_asm): Remove old #if 0 block.
14052         (assemble_variable): Remove end of function; debug output is
14053         now handled with global_decl.  Remove old #if 0 block.  Update.
14054         Remove saved_in_section and associated no-op code.
14055         * Makefile.in (varasm.o): Correct dependencies.
14056
14057 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
14058
14059         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
14060         the definition in defaults.h.
14061
14062 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
14063
14064         * jump.c: Update comments.
14065         (delete_barrier_successors, delete_unreferenced_labels,
14066         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
14067         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
14068         jump_optimize, jump_optimize_minimal): Kill.
14069         (rebuild_jump_labels): Move code from jump_optimize_1.
14070         (purge_line_number_notes): Likewise.
14071         (copy_loop_headers): Likewise.
14072         * reg-stack.c: Update comment.
14073         * stmt.c: Likewise.
14074         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
14075         JUMP_AFTER_REGSCAN): Kill.
14076         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
14077         purge_line_number_notes and copy_loop_headers.
14078
14079 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
14080            Richard Henderson  <rth@redhat.com>
14081
14082         * dbxout.c (dbxout_global_decl): New.
14083         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
14084         * sdbout.c (sdbout_finish): New.
14085         (sdbout_debug_hooks): Use it, add comments.
14086         (sdbout_global_decl): Defer initialised public vars to
14087         sdbout_finish.
14088         * varasm.c (assemble_variable): Don't output debug information
14089         for file-scope variables.
14090
14091 2001-07-22  Richard Henderson  <rth@redhat.com>
14092
14093         * config/alpha/alpha.c (get_trap_mode_suffix): New.
14094         (get_round_mode_suffix): New.
14095         (print_operand): Use them for [/].  Remove support for [&'`()+].
14096         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
14097         * config/alpha/alpha.md (attr round_suffix): New.
14098         (attr trap_suffix): New.
14099         (all insns): Set them appropriately.  Use %/ instead of the
14100         myriad punctuators.
14101
14102 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14103
14104         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
14105
14106 2001-07-22  Richard Henderson  <rth@redhat.com>
14107
14108         * regrename.c (regrename_optimize): Compute nregs for each
14109         potential target register.
14110
14111 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
14112            Richard Henderson  <rth@redhat.com>
14113
14114         * dbxout.c (dbxout_global_decl): New.
14115         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
14116         * sdbout.c (sdbout_finish): New.
14117         (sdbout_debug_hooks): Use it, add comments.
14118         (sdbout_global_decl): Defer initialised public vars to
14119         sdbout_finish.
14120         * varasm.c (assemble_variable): Don't output debug information
14121         for file-scope variables.
14122
14123 2001-07-21  H.J. Lu  (hjl@gnu.org)
14124
14125         * config/mips/mips.c (mips_cpu): Moved into ...
14126         (override_options): Here.
14127
14128         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
14129         mips_tune.
14130         (mips_cpu): Removed.
14131
14132 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14133
14134         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
14135         ("iorqi3"): Likewise.
14136         ("xorqi3"): Likewise.
14137         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
14138         ("*subhi3_sp): Likewise.
14139         ("*subhi3"): Likewise.
14140         ("extendhisi2"): Accept D, X and Y as source operand to avoid
14141         reload problems.
14142
14143 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
14144
14145         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
14146         * config/freebsd.h: Likewise.
14147         * config/linux.h: Likewise.
14148         * config/openbsd.h: Likewise.
14149         * config/alpha/linux-elf.h: Likewise.
14150         * config/arm/linux-elf.h: Likewise.
14151         * config/d30v/d30v.h: Likewise.
14152         * config/fr30/fr30.h: Likewise.
14153         * config/ia64/aix.h: Likewise.
14154         * config/ia64/ia64.h: Likewise.
14155         * config/mips/linux.h: Likewise.
14156         * config/pj/pj.h: Likewise.
14157         * config/rs6000/linux.h: Likewise.
14158         * config/sparc/linux.h: Likewise.
14159         * config/sparc/linux64.h: Likewise.
14160
14161 2001-07-20  Bruce Korb  <bkorb@gnu.org>
14162
14163         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
14164         because getc() and char* may disagree on signedness.
14165
14166 2001-07-20  Richard Henderson  <rth@redhat.com>
14167
14168         * doc/rtl.texi (REG_DEAD): Update for current semantics.
14169
14170         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
14171         insns to delete in the presence of cc0 in a jump insn.
14172
14173 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
14174                                 Jan Hubicka  <jh@suse.cz>
14175
14176         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
14177         of doing the change by hand.
14178
14179 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
14180
14181         * rtlanal.c (set_noop_p): Return true for noop jumps.
14182
14183         * expr.c (emit_single_push_insn): Add call to push expander.
14184         * expr.h (optab_index): Add OTI_push
14185         (push_optab): New constant.
14186         * genopinit.c (optabs): Add push_optab.
14187         * optabs.c (init_optab): Init push optab.
14188         * md.texi (push??1): Document
14189
14190 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14191
14192         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
14193         expand to emit the pattern; put a REG_INC note for push/pop
14194         instructions.
14195         ("movdf", "movdf_internal"): Likewise.
14196         ("movsi", "movsi_internal"): Likewise.
14197         ("movsf", "movsf_internal"): Likewise.
14198         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
14199
14200 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14201
14202         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
14203         gen_highpart.
14204
14205 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
14206
14207         * params.def: Change default max inline insns to 100.
14208
14209 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
14210
14211         * combine.c (combine_simplify_rtx): Generate a new shift operation
14212         when simplifying the first operand of a (neg (ashift)) expression.
14213
14214 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14215
14216         * regclass.c (N_REG_INTS): Use only 32 bits per element.
14217
14218 2001-07-20  Kelley Cook  <kelley.cook@home.com>
14219
14220         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
14221         information.   Move rest into ...
14222         (*-*-solaris): ... here.  Eliminate redundant information and
14223         reword necessary packages section.  Delete 4.x assembler bug info.
14224         (sparc-sun-*): Merge into ...
14225         (sparc-sun-sunos*): here.
14226
14227 2001-07-20  Catherine Moore  <clm@redhat.com>
14228
14229         * config/v850/v850.md (casesi): Generate LABEL_REF
14230         with Pmode.
14231
14232 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
14233
14234         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
14235         * i386.c (ix86_zero_extend_to_Pmode): Make global.
14236         * i386.md (strclrsi expander): Use it.
14237
14238 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14239
14240         * integrate.c (copy_insn_list): handle
14241         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
14242         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
14243         identically as to CODE_LABEL.
14244
14245         * fold-const (fold): Convert A/B/C to A/(B*C) and
14246         A/(B/C) to (A/B)*C
14247
14248         * except.c (connect_post_landing_pads): Delete the RESX insns.
14249
14250 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
14251
14252         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
14253
14254         * config/mips/mips.md (nmadd/nmsub): Use macro.
14255
14256 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
14257
14258         * cppinit.c (remove_dup_dir): Make static.
14259         (remove_dup_dirs): Make static. Only warn about preempting a
14260         system directory with a non-system directory.
14261
14262 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
14263
14264         * ifcvt.c (noce_try_store_flag_constants): Correct order
14265         of parameters to trunc_int_for_mode.
14266
14267 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
14268
14269         * reorg.c (fill_simple_delay_slots): If an instruction might throw
14270         an exception that will be caught within this function, do not fill
14271         its delay slot with any subsequent instruction.
14272
14273 2001-07-19  Steve Ellcey <sje@cup.hp.com>
14274
14275         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
14276         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
14277         pointer extension instruction.
14278         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
14279         * simplify-rtx.c (simplify_unary_operation) Likewise.
14280         * explow.c (convert_memory_address) Check value of
14281         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
14282         less than zero.
14283         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
14284         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
14285         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
14286         Add Multilib Support.
14287         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
14288         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
14289         Add Multilib Support.
14290         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
14291         support.
14292         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
14293         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
14294         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
14295
14296 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
14297
14298         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
14299         old and new operands in `<', `3' and `b'.
14300
14301 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
14302
14303         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
14304         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
14305         (toplev.o): Don't depend on xcoffout.h.
14306         * c-decl.c: Include debug.h
14307         (duplicate_decls): Use debug hook.
14308         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
14309         (dbx_debug_hooks, xcoff_debug_hooks): Update.
14310         (dbxout_types): Remove.
14311         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
14312         * debug.c (do_nothing_debug_hooks): Update.
14313         (debug_true_tree, debug_nothing_rtx): New.
14314         * debug.h (struct rtx_def): New.
14315         (struct gcc_debug_hooks): New hooks ignore_block,
14316         outlining_inline_function and label.
14317         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
14318         dwarf2out_frame_finish): New.
14319         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
14320         Make static, update prototype.
14321         (dwarf2_debug_hooks): Update.
14322         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
14323         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
14324         * dwarfout.c (dwarf_debug_hooks): Update.
14325         * emit-rtl.c: Include debug.h.
14326         (remove_unnecessary_notes): Use debug hook.
14327         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
14328         (final_scan_insn): Use debug hook.
14329         * integrate.c (output_inline_function): Use debug hook.
14330         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
14331         (sdb_debug_hooks): Update.
14332         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
14333         * toplev.c: Don't include xcoffout.h.
14334         (note_outlining_of_inline_function, debug_ignore_block): Remove.
14335         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
14336         Remove.
14337         * tree.h (dwarf2out_do_frame): Remove.
14338
14339 2001-07-19  Catherine Moore  <clm@cygnus.com>
14340
14341         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
14342
14343 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
14344
14345         * reload1.c (eliminate_regs_in_insn): When updating a set
14346         to the frame pointer to the hardware frame pointer, perform
14347         the update always not just when REPLACE is set.
14348
14349         * reload1.c (choose_reload_regs): Don't inherit a reload
14350         that crosses multiple registers if registers past the first
14351         don't fit in the desired class.
14352
14353         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
14354         when negating constants.
14355
14356 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
14357
14358         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
14359         * doc/tree.texi: Ditto.
14360
14361 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
14362             Jakub Jelinek  <jakub@redhat.com>
14363
14364         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
14365         (extract_cie_info): Handle "eh" augmentation properly,
14366         remember eh_ptr.
14367         (struct frame_state, __frame_state_for): New.
14368
14369 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14370
14371         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
14372         HANDLE_SYSV_PRAGMA): Define.
14373         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
14374         previous args.
14375         (copy_object): Caller changed.
14376
14377 2001-07-19  Andreas Schwab  <schwab@suse.de>
14378
14379         * configure.in (assembler dwarf2 debug_line support): Define nop
14380         insn for m68k.
14381         * configure: Regenerated.
14382
14383 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
14384
14385         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
14386         dwarfout.h.
14387         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
14388         to conditionally compiled block.
14389         (dbx_debug_hooks, xcoff_debug_hooks): Update.
14390         * dbxout.h (dbxout_function): Remove.
14391         * debug.c (do_nothing_debug_hooks): Update.
14392         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
14393         global_decl, deferred_inline_function.
14394         * dwarf2out.c (dwarf2_debug_hooks): Update.
14395         (dwarf2out_global_decl): New.
14396         * dwarfout.c: Don't include dwarfout.h.
14397         (dwarfout_global_decl, dwarfout_function_decl,
14398         dwarfout_deferred_inline_function): New.
14399         (dwarf_debug_hooks): Update.
14400         * dwarfout.h: Remove.
14401         * final.c: Don't include dwarfout.h.
14402         * sdbout.c (sdbout_global_decl): New.
14403         (sdbout_debug_hooks): Update.
14404         * toplev.c: Don't include dwarfout.h.
14405         (check_global_declarations, rest_of_compilation): Use new debug hooks.
14406         (note_deferral_of_defined_inline_function): Remove.
14407         * toplev.h (note_deferral_of_defined_inline_function): Remove.
14408         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
14409         * ch/lex.c: Don't include dwarfout.h.
14410         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
14411         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
14412         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
14413         * cp/optimize.c: Include debug.h.
14414         (maybe_clone_body): Use debug hook.
14415         * cp/semantics.c: Include debug.h.
14416         (expand_body): Use debug hook.
14417         * po/POTFILES.in: Remove dwarfout.h.
14418
14419 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
14420
14421         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
14422         * c-parse.in (yyerror, _yylex): Similarly.
14423         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
14424         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
14425         Update comments.
14426         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
14427         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
14428
14429 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
14430
14431         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
14432         in-class declaration at -g1.  Fixes c++/2814.
14433
14434 2001-07-18  Richard Henderson  <rth@redhat.com>
14435
14436         * doc/md.texi (reload_in/out): Document restrictions in predicates
14437         and constraints for these patterns.  Document empty string matching
14438         ALL_REGS.
14439
14440 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14441
14442         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
14443
14444 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14445
14446         * cse.c: Undo my previous patch.
14447
14448 2001-07-18  Tom Tromey  <tromey@redhat.com>
14449
14450         For PR java/2812:
14451         * configure: Rebuilt.
14452         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
14453         instead.
14454         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
14455
14456 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
14457                                 Jan Hubicka  <jh@suse.cz>
14458
14459         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
14460         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
14461         * jump.c (mark_jump_label): Do not forward branches.
14462
14463 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
14464
14465         * cse.c (delete_trivially_dead_insns): Delete the libcall block
14466         when return value is unused.
14467
14468 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14469
14470         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
14471
14472 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
14473
14474         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
14475         on error.  We can't blindly return the result of
14476         pthread_mutex_trylock because it returns a positive number on
14477         error, while we must return -1 on error.
14478         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
14479         fixes.
14480         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
14481
14482 2001-07-18  Andreas Jaeger  <aj@suse.de>
14483
14484         * integrate.c (output_inline_function): Correct type of debug_hooks.
14485
14486 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
14487
14488         * combine.c (combine_simplify_rtx): DIV can be treated
14489         associatively for floats if unsafe math optimisations are enabled.
14490
14491 2001-07-17  Richard Henderson  <rth@redhat.com>
14492
14493         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
14494
14495 2001-07-17  Richard Henderson  <rth@redhat.com>
14496
14497         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
14498         don't force the function address into a register.
14499         (expand_call, emit_library_call_value_1): Update callers.
14500         * builtins.c (expand_builtin_apply): Likewise.
14501         * expr.h (prepare_call_address): Update decl.
14502
14503 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
14504
14505         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
14506         config directory.
14507         * config/i386/chorus.h: Move up.
14508         * config/sparc/chorus.h: Likewise.
14509         * config/rs6000/chorus.h: Likewise.
14510         * config/chorus.h: Moved here.
14511
14512 2001-07-17  Andreas Schwab  <schwab@suse.de>
14513
14514         * configure.in  (assembler eh_frame optimization): Handle big
14515         endian.
14516         * configure: Regenerated.
14517
14518 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
14519
14520         * expr.c (epxand_expr): Convert divisions into multiplications by
14521         reciprocals if -ffast-math.
14522
14523 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
14524
14525         * dbxout.c (dbxout_really_begin_function): Rename to
14526         dbxout_begin_function.
14527         (dbx_debug_hooks, xcoff_debug_hooks): Update.
14528         (dbxout_begin_function): Remove.
14529         (dbxout_function): Update.
14530         (dbxout_source_line): Update prototype.
14531         * dbxout.h (dbxout_begin_function): Remove.
14532         * debug.c (do_nothing_debug_hooks): Update.
14533         (debug_nothing_tree): Update.
14534         (debug_nothing_charstar_rtx): Remove.
14535         * debug.h (union tree_node): Declare.
14536         (struct rtx_def): Remove.
14537         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
14538         begin_function.  Change source_line prototype.
14539         (debug_nothing_tree): New.
14540         (debug_nothing_charstar_rtx): Delete.
14541         (dwarf2out_begin_prologue): Moved from ...
14542         * tree.h: ... here.
14543         * dwarf2out.c (dwarf2_debug_hooks): Update.
14544         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
14545         debug info, call dwarf2out_source_line.
14546         (dwarf2out_souce_line): Update prototype.
14547         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
14548         Change prototype, make static.
14549         (dwarfout_source_line): Update prototype.
14550         (dwarf_debug_hooks): Update.
14551         * dwarfout.h (dwarfout_begin_function): Remove.
14552         * final.c (final_start_function, final_scan_insn): Use appropriate
14553         debug hooks, update to use notice_source_line.
14554         (output_source_line): Rename notice_source_line.  Don't call the
14555         source_line debug hook.
14556         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
14557         make static, update prototype.
14558         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
14559         prototype.
14560         (sdbout_end_prologue): New.
14561         (sdbout_source_line): Update prototype.
14562         (sdbout_debug_hooks): Update.
14563         (sdbout_symbol): Remove unused var.
14564         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
14565         Delete.
14566         * varasm.c: Include debug.h.
14567         (assemble_start_function): Use begin_function debug_hook.
14568         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
14569         update with prototype.
14570         (xcoffout_source_line): Update prototype.
14571         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
14572         update prototype.
14573         (xcoffout_source_line): Update prototype.
14574
14575 2001-07-17  Richard Henderson  <rth@redhat.com>
14576
14577         * c-typeck.c (build_binary_op): Do not shorten unsigned
14578         right shift after sign extension.
14579
14580 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
14581
14582         * combine.c (combine_simplify_rtx): Attempt to simplify
14583         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
14584
14585         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
14586         (simplify_binary_operation, simplify_unary_operation,
14587          simplify_relational_operation): Use it.
14588
14589         * combine.c (combine_simplify_rtx): Don't do associative law
14590         on divisions; allow associative law on floats.
14591
14592 2001-07-17  H.J. Lu <hjl@gnu.org>
14593             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14594
14595         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
14596         ASM_OUTPUT_WEAK_ALIAS are defined.
14597         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
14598         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
14599         Moved ...
14600         * config/mips/iris5.h: ... here.
14601         (HANDLE_SYSV_PRAGMA): Defined as 1.
14602         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
14603         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
14604         symbol.
14605
14606 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
14607
14608         * c-parse.in (all_prefix_attributes): New variable.
14609         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
14610         (maybe_resetattrs): New production.
14611         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
14612         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
14613         notype_initdcl, nested_function, notype_nested_function,
14614         component_decl, components, components_notype,
14615         component_declarator, component_notype_declarator,
14616         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
14617         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
14618         after a comma being applied to more than one declarator.
14619         * doc/extend.texi (Attribute Syntax): Update.  Remove
14620         documentation of bugs that are no longer present.
14621
14622 2001-07-13  Eric Christopher  <echristo@redhat.com>
14623
14624         * config/mips/mips.h: Change TUNE_MIPS* options to use
14625         mips_tune.
14626         (EXTRA_SPECS): Add cc1_cpu_spec.
14627         * config/mips/mips.md (muldf3): Fix typo.
14628
14629 2001-07-16  Richard Henderson  <rth@redhat.com>
14630
14631         * config/m68k/m68k.c: Include expr.h and reload.h.
14632         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
14633         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
14634
14635 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
14636             Richard Henderson  <rth@redhat.com>
14637
14638         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
14639         (insn_live_p): Fix fall off end of function.
14640         (dead_libcall_p): Remove COUNTS argument; update callers.
14641         (delete_trivially_dead_insns): Remove unused variables.
14642
14643 2001-07-17  Andreas Jaeger  <aj@suse.de>
14644
14645         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
14646         x86-64 pic support.
14647
14648         * lcm.c (optimize_mode_switching): Avoid warning for unused
14649         variable if !NORMAL_MODE.
14650
14651         * flow.c (try_crossjump_to_edge): Remove unused variable.
14652
14653 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14654
14655         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
14656         atexit declaration in stdlib.h.
14657
14658 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
14659
14660         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
14661
14662 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14663
14664         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
14665         * except.c (finish_eh_generation): Update call of cleanup_cfg;
14666         do rebuild_jump_labels instead of jump_optimize
14667         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
14668         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
14669         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
14670
14671         * flow.c: Include timevar.h
14672         (find_basic_block): Push/pop timevar;
14673         (cleanup_cfg): Likewise.
14674         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
14675         * Makefile: Add dependencies on timevar.h
14676
14677         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
14678         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
14679
14680         * rtl.h (delete_trivially_dead_insns): Add new parameter.
14681         * toplev.c (rest_of_compilation): Update calls.
14682         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
14683         (delete_trivially_dead_insns): ... here; accept new argument
14684         preserve_basic_blocks; preserve basic blocks if set.
14685
14686         * reg-stack.c (stack_regs_mentioned): Return 0 if
14687         stack_regs_mentioned_data is not initialized.
14688         (reg_to_stack): Make stack_regs_mentioned survive after the
14689         reg-stack is completted; do not call cleanup_cfg.
14690         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
14691         make cleanup_cfg after bb-reorder to output to debug file.
14692
14693 2001-07-16  Richard Henderson  <rth@redhat.com>
14694
14695         * regclass.c (init_reg_sets): Use only 32 bits per initializer
14696         from int_reg_class_contents.
14697
14698 2001-07-16  Richard Henderson  <rth@redhat.com>
14699
14700         * hard-reg-set.h (regs_invalidated_by_call): Declare.
14701         * regclass.c (regs_invalidated_by_call): Move from cse.c.
14702         (init_reg_sets_1): Move initialization from cse_main.
14703         * cse.c (regs_invalidated_by_call): Move to regclass.c.
14704         (cse_main): Move its initialization also.
14705         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
14706         * flow.c (propagate_one_insn): Likewise.
14707         * gcse.c (compute_hash_table): Likewise.
14708         (compute_kill_rd, compute_store_table): Likewise.
14709         * sched-deps.c (sched_analyze_1): Likewise.
14710
14711 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
14712
14713         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
14714         gen_rtx_SET.
14715
14716 2001-07-16  Steve Ellcey <sje@cup.hp.com>
14717
14718         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
14719         in if statement so we don't access undefined memory.
14720
14721 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
14722
14723         * gcse.c: Update comment at top.
14724         Update comment on mem handling.
14725         mem_last_set, mem_first_set, mem_set_in_block: gone.
14726         Declaration of reg_set_info: gone.
14727         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
14728         pointless with load_killed_in_block_p (they are *more*
14729         conservative then it, not less, and less accurate).
14730         (oprs_not_set_p): Ditto.
14731         (alloc_gcse_mem): Don't allocate mem_set_in_block
14732         (free_gcse_mem): Don't free it, either.
14733         (record_last_mem_set_info): Update comment in front, remove
14734         mem_*set_* stuff. Note the reason we don't handle stores directly
14735         here.
14736         (compute_hash_table): Update comments to reflect reality. Remove
14737         mem_*set_* references.
14738         (reset_opr_set_tables): Remove mem_*set_* references.
14739         (mark_call): Ditto.
14740         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
14741         (mark_clobber): Ditto (on both parts, we double set here too).
14742         (expr_killed_p): Remove mem_set_in_block test.
14743         (compute_transp): Remove mem_set_in_block test.
14744
14745         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
14746         of edge, and removal of phi alternative to dump file.
14747         (ssa_ccp_substitute_constants): Add note about register now being
14748         constant, and which uses were replaced in what insns to dump file.
14749
14750 2001-07-16  Andreas Jaeger  <aj@suse.de>
14751
14752         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
14753         variables of type HOST_WIDEST_INT.
14754
14755         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
14756         (__bb_exit_func): Correct type of count_max to avoid overflow.
14757         (num_digits): Handle long long argument.
14758
14759         * combine.c (gen_lowpart_for_combine): Remove unused variable.
14760
14761 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14762
14763         * output.h (sdb_begin_function_line): Restore as an extern
14764         variable.
14765         * sdbout.c (sdb_begin_function_line): Make extern.
14766
14767 2001-07-15  Richard Henderson  <rth@redhat.com>
14768
14769         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
14770         * genrecog.c (maybe_both_true_mode): New.
14771         (maybe_both_true_2): Use it.
14772         (write_switch): Don't put Pmode in a switch.
14773         * rtl.c (mode arrays): Don't explicitly size them.
14774
14775 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14776
14777         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
14778         handling; move unconditional splitting before mode switching.
14779
14780         * i386.md (type): Add fistp type.
14781         (i387, length_attr, scheduling definitions): Handle this type.
14782         (fix_trunc?f?i2): Revamp to use mode switching.
14783         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
14784         * i386.h (fp_cw_mode): New enum
14785         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
14786         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
14787
14788 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14789
14790         * Makefile.in (integrate.o): Add debug.h.
14791         * integrate.c (debug.h): Add.
14792         (output_inline_function): Save, reset, and restore debug_hooks.
14793
14794 2001-07-15  Richard Henderson  <rth@redhat.com>
14795
14796         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
14797         instead of COMPARE for the EQUIV expression.
14798
14799 2001-07-15  Richard Henderson  <rth@redhat.com>
14800
14801         * flow.c (redirect_edge_and_branch_force): Initialize
14802         global_live_at_start and global_live_at_end.
14803         (allocate_bb_life_data): Export.
14804         * basic-block.h (allocate_bb_life_data): Declare.
14805         * toplev.c (rest_of_compilation): Call it.
14806
14807 2001-07-15  Richard Henderson  <rth@redhat.com>
14808
14809         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
14810         (alpha_tablejump_best_label): New.
14811         * config/alpha/alpha-protos.h: Declare them.
14812         * config/alpha/alpha.md: Use braced strings for code blocks.
14813         (tablejump_osf): Break out add with r29.
14814         (tablejump_osf_internal): Remove.
14815         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
14816         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
14817
14818 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
14819
14820         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
14821         of the movable.
14822
14823         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
14824
14825         * i386-protos.h (ix86_split_fp_branch): Update prototype.
14826         (ix86_fp_jump_nontrivial_p): New.
14827         * i386.md (fp_jcc_?): Update call of split_fp_branch;
14828         use ix86_fp_jump_nontrivial_p.
14829         * i386.c (ix86_fp_jump_nontrivial_p): New.
14830         (ix86_split_fp_branch): Accept code instead of rtx.
14831         (ix86_expand_compare): Expand comparison early in case
14832         doing so is resonably cheap.
14833
14834 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
14835
14836         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
14837         not 'machine'.
14838         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
14839         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
14840
14841 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
14842
14843         * dbxout.c (dbxout_source_line): Make static, update prototype.
14844         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
14845         (dbxout_init, dbxout_finish, dbxout_source_line,
14846         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
14847         * dbxout.h (dbxout_source_line): Delete.
14848         * debug.c (debug_nothing_file, debug_nothing_file_int,
14849         debug_nothing_file_charstar_rtx): New.
14850         (do_nothing_debug_hooks): Update.
14851         (debug_nothing_void, debug_nothing_charstar_rtx,
14852         dwarf2out_end_epilogue): New.
14853         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
14854         * debug.h (struct rtx_def): Declare.
14855         (gcc_debug_hooks): New hooks source_line, end_epilogue
14856         and end_function.
14857         (debug_nothing_void, debug_nothing_charstar_rtx,
14858         dwarf2out_end_epilogue): New.
14859         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
14860         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
14861         (dwarf2_debug_hooks): Update.
14862         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
14863         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
14864         * dwarf2out.h (dwarf2out_source_line): Remove.
14865         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
14866         Make static, update prototype.
14867         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
14868         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
14869         (dwarf_debug_hooks): Update.
14870         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
14871         dwarfout_end_function): Remove.
14872         * final.c (profile_function): Use debug hooks for ending functions
14873         and epilogues.
14874         (output_source_line, final_end_function): Update prototype,
14875         use debug hooks.
14876         (final_start_function, final_scan_insn): Update.
14877         * output.h (sdb_begin_function_line): Remove.
14878         (final_end_function): Update prototype.
14879         * sdbout.c (sdb_begin_function_line): Make static.
14880         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
14881         (sdbout_source_line): New.
14882         (sdbout_end_epilogue, sdbout_end_function): Make static, update
14883         prototypes.
14884         (sdb_debug_hooks): Update.
14885         (sdbout_init, sdbout_source_line,
14886         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
14887         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
14888         * toplev.c (compile_file, rest_of_compilation): Update.
14889         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
14890         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
14891         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
14892         Update for prototype changes.
14893         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
14894         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
14895
14896 2001-07-15  Richard Henderson  <rth@redhat.com>
14897
14898         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
14899         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
14900         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
14901         * config/alpha/alpha.c: Likewise.
14902         * config/alpha/alpha.md: Likewise.
14903         * config/alpha/alpha32.h: Likewise.
14904         * config/alpha/vms.h: Likewise.
14905         (OPEN_VMS): Remove.
14906
14907 2001-07-14  Richard Henderson  <rth@redhat.com>
14908
14909         * config/alpha/alpha.md: Use define_constants for unspec values.
14910         Substitute throughout.
14911
14912 2001-07-14  Tim Josling  <tej@melbpc.org.au>
14913
14914         * tree.def (EXPON_EXPR) remove. Never supported anyway.
14915
14916 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14917
14918         * pa.md: Remove unused constraints from define_split's.
14919
14920 2001-04-14  Richard Henderson  <rth@redhat.com>
14921
14922         * ifcvt.c (find_cond_trap): Test for exit block.
14923
14924 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
14925
14926         Re-install recently reverted patch.
14927         * emit-rtl.c (try_split): Update mark_jump_label call.
14928         * flow.c (find_sub_basic_blocks): Likewise.
14929         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
14930         jump_back_p): Kill.
14931         (mark_all_labels): Kill second parameter.
14932         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
14933         (rebuild_jump_labels, jump_optimize_minimal): Update call
14934         of jump_optimize_1.
14935         (jump_optimize_1): Kill crossjumping code.
14936         (mark_jump_label): Kill cross_jump parameter.
14937         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
14938         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
14939         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
14940          splitting.
14941         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
14942         DFI_bpro.
14943         (dump_file_info): Likewise.
14944         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
14945         reorganize passes to do reg-stack first, bb-reorder second.
14946         * invoke.texi (-d letters doc): Remove the jump2 pass.
14947
14948 2001-07-14  Richard Henderson  <rth@redhat.com>
14949
14950         * ifcvt.c (find_cond_trap): New.
14951         (find_if_header): Call it.
14952         (merge_if_block): Relax existing jump sanity check.
14953         * jump.c (jump_optimize_1): Remove conditional trap handling.
14954
14955 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
14956
14957         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
14958         millicode.
14959         (insn_refs_are_delayed): Correct comment.
14960         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
14961         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
14962         instead of r31.  Make associated insn !TARGET_64BIT, and
14963         provide an additional 64-bit insn that clobbers r2.
14964         (divsi3): Likewise.
14965         (udivsi3): Likewise.
14966         (modsi3): Likewise.
14967         (umodsi3): Likewise.
14968
14969 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
14970
14971         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
14972
14973         * flow.c (redirect_edge_and_branch_force, split_edge,
14974         try_crossjump_to_edge): Use set_block_for_new_insns.
14975         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
14976
14977 2001-07-13  H.J. Lu  (hjl@gnu.org)
14978
14979         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
14980         the correct patch.
14981
14982 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
14983
14984         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
14985
14986 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
14987
14988         * c-common.c (decl_attributes): Take a pointer to the node to
14989         which attributes are to be attached, and a flags argument.
14990         * c-common.h (enum attribute_flags): New.
14991         (decl_attributes): Update prototype.
14992         * c-decl.c (start_decl, push_parm_decl, finish_struct,
14993         finish_enum, start_function): Update calls to decl_attributes.
14994         * c-parse.in (component_declarator, component_notype_declarator,
14995         label): Update calls to decl_attributes.
14996
14997 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
14998
14999         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
15000         * config/avr/avr.c (legitimate_address_p): Return value changed
15001         from letter to register classes. For better debugging.
15002
15003 2001-07-13  Kazu Hirata  <kazu@hxi.com>
15004
15005         * jump.c (reversed_comparison_code_parts): Fix comment typos.
15006
15007 2001-07-13  H.J. Lu  (hjl@gnu.org)
15008
15009         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
15010
15011 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
15012
15013         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
15014         correctly for shared configurations.
15015         * config/t-libgcc-pic:  New.
15016         * config/{i386,m68k,sparc}/t-openbsd:  New.
15017         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
15018         Support -shared.  Support debugging libraries with -g.
15019         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
15020         frame information does not emit pointer diffs.
15021         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
15022         emit pointer diffs.
15023
15024 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
15025
15026         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
15027
15028 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
15029
15030         * combine.c (try_combine): Ensure const_int pow2 is positive.
15031
15032 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
15033
15034         * config.gcc: Add configuration for s/390.
15035         * config/s390/s390.c: New. Subroutines for code generation.
15036         * config/s390/s390.h: New. Definitions for s/390.
15037         * config/s390/s390-protos.h: New. Prototypes.
15038         * config/s390/linux.h: New. Definitions for linux for s/390.
15039         * config/s390/linux64.h: New. Definitions for linux for zSeries.
15040         * config/s390/t-linux: New. Makefile fragment.
15041         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
15042         * config/s390/fixdfdi.h: New. Fix L_fix*di.
15043
15044 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
15045
15046         * emit-rtl.c (try_split): Update mark_jump_label call.
15047         * flow.c (find_sub_basic_blocks): Likewise.
15048         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
15049         jump_back_p): Kill.
15050         (mark_all_labels): Kill second parameter.
15051         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
15052         (rebuild_jump_labels, jump_optimize_minimal): Update call
15053         of jump_optimize_1.
15054         (jump_optimize_1): Kill crossjumping code.
15055         (mark_jump_label): Kill cross_jump parameter.
15056         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
15057         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
15058         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
15059          splitting.
15060         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
15061         DFI_bpro.
15062         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
15063         reorganize passes to do reg-stack first, bb-reorder second.
15064         * invoke.texi (-d letters doc): Remove the jump2 pass.
15065
15066 2001-07-12  Steve Ellcey <sje@cup.hp.com>
15067
15068         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
15069
15070 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15071
15072         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
15073         basic blocks.
15074         (verify_flow_info): Make diagnostics prettier.
15075
15076 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
15077
15078         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
15079
15080         * flow.c (outgoing_edges_match): Return early if condition reversal
15081         failed.
15082
15083 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
15084
15085         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
15086         (mips_move_2words): When splitting a move into two instructions,
15087         prefix the second address operand with '%D'.
15088
15089 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
15090
15091         * Makefile.in (final.o): Depend on debug.h.
15092         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
15093         (dbx_debug_hooks): Add new hooks.
15094         (xcoff_debug_hooks): New.
15095         * debug.c (debug_nothing_file_int_int): New.
15096         (do_nothing_debug_hooks): Update.
15097         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
15098         (debug_nothing_file_int_int): New.
15099         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
15100         static, update prototype.
15101         (dwarf2_debug_hooks): Update.
15102         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
15103         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
15104         static, update prototype.
15105         (dwarf_debug_hooks): Update.
15106         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
15107         * final.c: Include debug.h.
15108         (final_scan_insn): Use debug hooks when beginning and ending blocks.
15109         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
15110         static, update prototype.
15111         (sdb_debug_hooks): Update.
15112         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
15113         * toplev.c: Distinguish between xcoff and dbx.
15114
15115         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
15116         Call all debug hooks, not just dwarf ones.
15117
15118 2001-07-11  Timothy Wall  <twall@redhat.com>
15119
15120         * config.gcc: Add configuration for AIX5/IA64.
15121         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
15122         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
15123         support prefix/suffix code.
15124         * config/ia64/t-aix: New.  Makefile fragment.
15125         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
15126
15127 2001-07-11  Kazu Hirata  <kazu@hxi.com>
15128
15129         * recog.c (validate_change): Fix a comment typo.
15130
15131 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
15132
15133         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
15134         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
15135         hooks directly.
15136         * dbxout.c (dbx_debug_hooks): Add new hooks.
15137         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
15138         make static.
15139         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
15140         make static.
15141         * dbxout.h (dbxout_start_new_source_file,
15142         dbxout_resume_previous_source_file): Delete.
15143         * debug.c (do_nothing_debug_hooks): Add new hooks.
15144         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
15145         (debug_nothing_int_charstar, debug_nothing_int): New.
15146         * debug.h (gcc_debug_hooks): New hooks define, undef,
15147         start_source_file and end_source_file.
15148         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
15149         (debug_nothing_int_charstar, debug_nothing_int): New.
15150         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
15151         the conditionally compiled section.
15152         (dwarf2out_start_source_file, dwarf2out_end_source_file,
15153         dwarf2out_define, dwarf2out_undef): Make static.
15154         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
15155         dwarf2out_define, dwarf2out_undef): Remove.
15156         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
15157         (dwarfout_start_source_file, dwarfout_end_source_file,
15158         dwarfout_define, dwarfout_undef): Make static.
15159         (dwarfout_start_source_file_check,
15160         dwarfout_end_source_file_check): New.
15161         (dwarfout_define, dwarfout_finish): Update.
15162         * dwarfout.h (dwarfout_start_new_source_file,
15163         dwarfout_resume_previous_source_file, dwarfout_define,
15164         dwarfout_undef): Remove.
15165         * sdbout.c (sdb_debug_hooks): Add new hooks.
15166         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
15167         make static.
15168         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
15169         make static, take an arg.
15170         * sdbout.h (sdbout_start_new_source_file,
15171         sdbout_resume_previous_source_file): Delete.
15172         * toplev.c (debug_start_source_file, debug_end_source_file,
15173         debug_define, debug_undef): Delete.
15174         * toplev.h (debug_start_source_file, debug_end_source_file,
15175         debug_define, debug_undef): Delete.
15176
15177         * java/jcf-parse.c: Include debug.h.
15178         (parse_class_file): Update to use debug hooks directly.
15179         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
15180
15181 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15182
15183         * alias.c (set_mem_alias_set): New function.
15184         * rtl.h (set_mem_alias_set): Declare it.
15185         * builtins.c (expand_builtin_return_addr): Call it instead of
15186         using MEM_ALIAS_SET accessor.
15187         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
15188         (get_memory_rtx, expand_builtin_va_arg): Likewise.
15189         (expand_builtin_va_copy):Likewise.
15190         * caller-save.c (setup_save_areas): Likewise.
15191         * calls.c (compute_argument_addresses): Likewise.
15192         * explow.c (set_mem_attributes): Likewise.
15193         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
15194         (expand_assignment, store_constructor_field, store_field): Likewise.
15195         (expand_expr_unaligned): Likewise.
15196         * function.c (assign_stack_temp_for_type): Likewise.
15197         (put_reg_into_stack, gen_mem_addressof): Likewise.
15198         * ifcvt.c (noce_try_cmove_arith): Likewise.
15199         * reload1.c (reload, alter_reg): Likewise.
15200         * config/alpha/alpha.c (get_aligned_mem): Likewise.
15201         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
15202         (alpha_expand_unaligned_store): Likewise
15203         (alpha_expand_unaligned_load_words): Likewise.
15204         (alpha_expand_unaligned_store_words): Likewise.
15205         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
15206         (alpha_expand_epilogue): Likewise.
15207         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
15208         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
15209         * config/i386/i386.c (legitimize_pic_address): Likewise.
15210         * config/i960/i960.c (setup_incoming_varargs): Likewise.
15211         * config/ia64/ia64.c (spill_restore_mem): Likewise.
15212         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
15213         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
15214         * config/mips/mips.c (mips_va_arg): Likewise.
15215         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
15216         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
15217         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
15218         (setup_incoming_varargs, rs6000_va_arg): Likewise.
15219         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
15220         (rs6000_emit_epilogue): Likewise.
15221         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
15222         * config/sparc/sparc.c (sparc_va_arg): Likewise.
15223         * config/v850/v850.c (v850_va_arg): Likewise.
15224
15225 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
15226
15227         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
15228         when fallthru edge is present.
15229         (mege_blocks): Handle case where creation of jump insn
15230         is required.
15231
15232         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
15233         CLEANUP_POST_REGSTACK): New constants.
15234         * except.c (finish_eh_generation): Update call of cleanup_cfg,
15235         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
15236         * output.h (cleanup_cfg): Update prototype.
15237         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
15238         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
15239         cleanup_cfg call; kill missleading comment.
15240         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
15241         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
15242         parameter; control optimizations performed using it.
15243         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
15244         try_crossjump_bb): New functions.
15245
15246 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15247
15248         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
15249         extern.
15250         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
15251         pa_output_function_prologue.
15252         * pa-protos.h (pa_output_function_prologue): New prototype.
15253
15254 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15255
15256         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
15257         and low to get correct sign extension in low+high test.
15258
15259 2001-07-11  Janis Johnson <janis@us.ibm.com>
15260
15261         * gcov.c (arcdata): Use gcov_type to fix branch percentage
15262         for large hit count.
15263
15264         * profile.c (branch_prob): Fix .bbg info for computed gotos
15265         and C++ EH code.
15266
15267 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
15268
15269         * stmt.c (parse_output_constraint): New function, split out
15270         from ...
15271         (expand_asm_operands): ... here.  Use parse_output_constraint.
15272         * tree.h (parse_output_constraint): Declare it.
15273
15274 2001-07-11  Richard Henderson  <rth@redhat.com>
15275
15276         * bitmap.c: Comment some functions; fiddle whitespace.
15277         (bitmap_free): Don't export.
15278         (bitmap_element_allocate): Use memset.
15279         * bitmap.h (bitmap_free): Don't declare.
15280
15281 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
15282
15283         * gcse.c, lcm.c, sched-deps.c:
15284         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
15285
15286         * flow.c (flow_loops_find): Free dom if we found no loops, since
15287         we aren't going to save it.
15288
15289         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
15290         done.
15291
15292 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
15293
15294         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
15295
15296 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15297
15298         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
15299         #ifndef DWARF2_DEBUGGING_INFO.
15300
15301 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
15302
15303         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
15304
15305 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
15306
15307         * config/mips/mips.c (gen_int_relational): Tell the caller not to
15308         reverse a branch if a NE comparison is implemented with GTU.
15309
15310 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
15311             H.J. Lu  <hjl@gnu.org>
15312
15313         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
15314         constant addresses.
15315         (call_internal2): Likewise.
15316         (call_value_internal1): Likewise.
15317         (call_value_internal2): Likewise.
15318         (call_value_multiple_internal1): Likewise.
15319         (call_value_multiple_internal2): Likewise.
15320
15321 2001-07-10  Kazu Hirata  <kazu@hxi.com>
15322
15323         * calls.c (emit_library_call_value_1): Fix a comment typo.
15324         * dwarf2out.c (mem_loc_descriptor): Likewise.
15325         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
15326
15327 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
15328
15329         * simplify-rtx.c (simplify_subreg): Fix typo in comment
15330
15331 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15332
15333         * recog.c (offsettable_address_p): Handle LO_SUM case.
15334         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
15335         instead of plus_constant.
15336
15337 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15338
15339         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
15340         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
15341
15342 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15343
15344         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
15345         adjust_address_nv instead of plus_constant.
15346
15347 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
15348
15349         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
15350         dwarf2out.o): Depend on debug.h, wrap long lines.
15351         * dbxout.c: Include debug.h.
15352         (dbx_debug_hooks): New.
15353         (dbxout_init): Make static, take just 2 args.
15354         (dbxout_finish): Make static.
15355         * dbxout.h (dbxout_init, dbxout_finish): Delete.
15356         * debug.c: New file.
15357         * debug.h: New file.
15358         * dwarf2out.c: Include debug.h.
15359         (dwarf2_debug_hooks): New.
15360         (dwarf2out_init): Make static.
15361         (dwarf2out_finish): Make static, take 2 args.
15362         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
15363         * dwarfout.c: Include debug.h.
15364         (dwarf_debug_hooks): New.
15365         (dwarfout_init): Make static.
15366         (dwarfout_finish): Make static, take 2 args.
15367         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
15368         * sdbout.c: Include debug.h.
15369         (sdb_debug_hooks): New.
15370         (sdbout_init): Make static, take 2 args.
15371         * sdbout.h (sdbout_init): Delete.
15372         * toplev.c: Include debug.h.
15373         (debug_hooks): New.
15374         (compile_file): Set deubg_hooks based on command line options.
15375         Use the hooks unconditionally rather than conditional compilation.
15376
15377 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
15378
15379         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
15380         first_insn_after_basic_block_note instead.
15381
15382         * df.c (df_bb_refs_unlink): #if 0 out for now.
15383
15384 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
15385
15386         * ssa.h: Add prototype for ssa_const_prop
15387         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
15388         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
15389         (ssa_fast_dce): Remove unused variable
15390
15391 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
15392
15393         * diagnostic.c (finish_diagnostic): Rename to
15394         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
15395         calls thourghout.
15396
15397 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
15398
15399         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
15400         .loc support.
15401
15402         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
15403         (dump_file): Only pad the demangled name with spaces if the
15404         mangled name was padded with spaces.
15405
15406 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
15407
15408         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
15409         edge detection.
15410
15411 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15412
15413         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
15414         extraction if no direct load if either EXPAND_CONST_ADDRESS or
15415         EXPAND_INITIALIZER.
15416
15417         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
15418         whether can put offset inside LO_SUM to check mode alignment, not size.
15419
15420 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
15421
15422         * doc/tm.texi (Misc): Fix thinko.
15423
15424 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
15425
15426         * regmove.c (replace_in_call_usage): Fix warnings.
15427         * sched-deps.c (add_dependence): Fix warnings.
15428         * simplify-rtx.c (simplify_subreg): Likewise.
15429         Return NULL_RTX instead of NULL.
15430
15431         * reg-stack.c (emit_swap_insn): Eliminate warnings.
15432         (subst_asm_stack_regs): Likewise.
15433
15434         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
15435         warnings.
15436
15437         * dwarf2out.c (output_call_frame_info): Declare i as int.
15438         (build_abbrev_table): Declare n_alloc as int.
15439         (dwarf2out_finish): Initialize die.
15440         * except.c: Declare sjlj_funcdef_number as unsigned.
15441         (connect_post_landing_pads): Declare j as unsigned.
15442         (convert_to_eh_region_ranges): Initialize call_site.
15443         (output_function_exception_table): Initialize tt_format_size.
15444         * expr.c (move_by_pieces_1): Initialize to1.
15445         (store_constructor): Initialize minelt and maxelt.
15446         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
15447         * function.c (instantiate_decls): Avoid signed/unsigned warning.
15448
15449         * c-decl.c (combine_parm_decls): Unused, remove.
15450         * c-tree.h: Remove prototype for combine_parm_decls.
15451
15452         * reload.c (push_reload): Fix warning.
15453         (regno_clobbered_p): Likewise.
15454         * reload1.c (replace_pseudos_in_call_usage): Likewise.
15455         (reload_combine): Likewise.
15456
15457         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
15458         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
15459         warnings.
15460         * bitmap.c (bitmap_operation): Change user.
15461         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
15462
15463 2001-07-10  Eric Christopher  <echristo@redhat.com>
15464
15465         * config/mips/mips.c (override_options): Fix typo.
15466
15467 2001-07-09  Stan Shebs  <shebs@apple.com>
15468
15469         * target.h (struct gcc_target): New fields init_builtins and
15470         expand_builtin.
15471         * target-def.h (TARGET_INIT_BUILTINS): New macro.
15472         (TARGET_EXPAND_BUILTIN): New macro.
15473         (TARGET_INITIALIZER): Add them.
15474         * builtins.c: Include target.h.
15475         (expand_builtin): Use targetm.expand_builtin.
15476         (default_init_builtins): New function.
15477         (default_expand_builtin): New function.
15478         * expr.h (default_init_builtins): Declare.
15479         (default_expand_builtin): Declare.
15480         * c-common.c (c_common_nodes_and_builtins): Use
15481         targetm.init_builtins.
15482         * defaults.h (MD_INIT_BUILTINS): Remove.
15483         * Makefile.in (builtins.o): Depend on target.h.
15484
15485         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
15486         (TARGET_EXPAND_BUILTIN): Define.
15487         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
15488         (MD_EXPAND_BUILTIN): Remove.
15489
15490         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
15491         (TARGET_EXPAND_BUILTIN): Define.
15492         (c4x_init_builtins): Make endlink arg a local.
15493         (c4x_print_operand): Fix typos in adjust_address usages.
15494         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
15495         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
15496         (MD_EXPAND_BUILTIN): Remove.
15497
15498         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
15499         (TARGET_EXPAND_BUILTIN): Define.
15500         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
15501         (ix86_init_builtins): Call new function only if TARGET_MMX.
15502         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
15503         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
15504         (MD_EXPAND_BUILTIN): Remove.
15505
15506         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
15507         (TARGET_EXPAND_BUILTIN): Define.
15508         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
15509         (MD_EXPAND_BUILTIN): Remove.
15510
15511         * doc/tm.texi: Document these changes.
15512
15513 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
15514
15515         * basic-block.h (tree_node): Forward declare if needed.
15516         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
15517         (BLOCK_HEAD_TREE): Define.
15518         (BLOCK_END_TREE): Define.
15519         (struct loops): Rename field 'tree' to 'tree_root'.
15520         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
15521         'end_tree'.
15522         (flow_loops_tree_build): Rename reference to field 'tree' to
15523         'tree_root'.
15524         (flow_loops_level_compute): Ditto.
15525         * predict.c (estimate_bb_frequencies): Ditto.
15526         * tree.h (struct tree_common): Add field 'aux'.
15527
15528 2001-07-09  Stan Shebs  <shebs@apple.com>
15529
15530         * config/darwin.c (darwin_encode_section_info): Don't mark any
15531         DECL_EXTERNAL node as defined.
15532
15533 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15534
15535         * pa.c (pa_init_machine_status, pa_mark_machine_status,
15536         pa_free_machine_status, hppa_init_pic_save): Delete.
15537         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
15538         (hppa_profile_hook): Use hppa_pic_save_rtx.
15539         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
15540         hppa_init_pic_save): Delete.
15541         (hppa_pic_save_rtx): Declare.
15542         * pa.md (call, call_value, sibcall, sibcall_value,
15543         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
15544
15545 2001-07-09  Kazu Hirata  <kazu@hxi.com>
15546
15547         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
15548         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
15549
15550 2001-07-09  Andreas Jaeger  <aj@suse.de>
15551
15552         * output.h: Add declaration of final_forward_branch_p.
15553
15554         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
15555
15556         * varray.c: Include errors.h for internal_error and trim_filename
15557         declarations.
15558
15559         * Makefile.in (varray.o): Add errors.h.
15560
15561 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
15562
15563         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
15564         * optabs.c (have_add2_insn): Check whether the add insn chosen
15565         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
15566         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
15567
15568 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
15569
15570         * Makefile.in (OBJS): Add ssa-ccp.o
15571         (ssa-ccp.o): Add dependencies.
15572         * toplev.c (DFI_ssa_ccp): New dump file enum.
15573         (dump_file): Add entry for dumping after SSA CCP.
15574         (flag_ssa_ccp): New flag variable.
15575         (f_options): Add -fssa-ccp.
15576         (rest_of_compilation): Run SSA CCP if requested.
15577         * timevar.def (TV_SSA_CCP): New timevar.
15578         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
15579         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
15580         Fix minor typo in SSA DCE documentation.
15581         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
15582         Add documentation for new dump option.  Renumber dump files
15583         appropriately.
15584
15585 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15586
15587         * emit-rtl.c (gen_highpart_mode): New.
15588         * rtl.h (gen_highpart_mode): Declare.
15589         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
15590         operand can be VOIDmode constant.
15591
15592 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
15593
15594         * flow.c (redirect_edge_and_branch_force): New.
15595         (can_fallthru): Ensure that basic blocks are succeeding.
15596         (try_optimize_cfg): Do not delete basic block if it is the last one.
15597
15598         * flow.c (try_redirect_by_replacing_jump): Do not remove
15599         jumps with side effects, unlink chain on fallthru edge;
15600         set block for new jump instruction; avoid basic block to
15601         over by line number note.
15602
15603         * flow.c (try_simplify_condjump): Verify that the condjump
15604         is not always falling through.
15605
15606         Re-install patch:
15607         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
15608
15609         * flow.c (forwarder_block_p): Fix for fallthru blocks.
15610         (try_redirect_by_replacing_jump): Update properly the count
15611         and frequency information.
15612
15613 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15614
15615         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
15616         address that is a LO_SUM specially.
15617         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
15618
15619         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
15620
15621         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
15622         (operand_subword): Use them.
15623         (change_address_1): Renamed from change_address; new arg VALIDATE.
15624         * expr.h: Reflect above changes; change_address now macro.
15625         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
15626         making MEM.
15627         * cselib.c (add_mem_for_addr): Likewise.
15628         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
15629         * regmove.c (try_apply_stack_adjustment): Likewise.
15630         * reload.c (push_reload, make_memloc): Likewise.
15631         * reload1.c (eliminate_regs): Likewise.
15632         * simplify-rtx.c (simplify_replace_rtx): Likewise.
15633         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
15634         adjust_addess.
15635         * combine.c (make_extraction, simplify_shift_const): Likewise.
15636         (gen_lowpart_for_combine): Likewise.
15637         * cse.c (gen_lowpart_if_possible): Likewise.
15638         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
15639         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
15640         * optabs.c (gen_move_insn): Likewise.
15641         * reload1.c (alter_reg): Likewise.
15642         * simplify-rtx.c (simplify_subreg): Likewise.
15643         * stmt.c (expand_anon_union_decl): Likewise.
15644         * recog.c (validate_replace_rtx_1): Likewise.
15645         (expr.h): Include.
15646         * Makefile.in (recog.o): Add $(EXPR_H).
15647         * explow.c (stabilize): Call replace_equiv_address.
15648         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
15649         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
15650
15651 2001-07-03  Andrew Haley  <aph@redhat.com>
15652
15653         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
15654         the mode of the memory location.
15655
15656 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
15657
15658         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
15659
15660 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
15661
15662         * final.c (output_addr_const): Use target opening and
15663         closing parentheses.
15664         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
15665         defaults, add to TARGET_ASM_OUT.
15666         * target.h (struct gcc_target): Add open_paren and close_paren.
15667         * doc/md.texi: Update.
15668         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
15669         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
15670         TARGET_ASM_CLOSE_PAREN.
15671         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
15672         Override.
15673         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
15674         Override.
15675         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
15676         * config/a29k/a29k.h: Similarly.
15677         * config/alpha/alpha.h: Similarly.
15678         * config/arc/arc.h: Similarly.
15679         * config/arm/aof.h: Similarly.
15680         * config/arm/aout.h: Similarly.
15681         * config/avr/avr.h: Similarly.
15682         * config/c4x/c4x.h: Similarly.
15683         * config/clipper/clipper.h: Similarly.
15684         * config/convex/convex.h: Similarly.
15685         * config/d30v/d30v.h: Similarly.
15686         * config/dsp16xx/dsp16xx.h: Similarly.
15687         * config/elxsi/elxsi.h: Similarly.
15688         * config/fr30/fr30.h: Similarly.
15689         * config/h8300/h8300.h: Similarly.
15690         * config/i370/i370.h: Similarly.
15691         * config/i386/i386.h: Similarly.
15692         * config/i860/i860.h: Similarly.
15693         * config/i960/i960.h: Similarly.
15694         * config/ia64/ia64.h: Similarly.
15695         * config/m32r/m32r.h: Similarly.
15696         * config/m68hc11/m68hc11.h: Similarly.
15697         * config/m68k/m68k.h: Similarly.
15698         * config/m88k/m88k.h: Similarly.
15699         * config/mcore/mcore.h: Similarly.
15700         * config/mips/mips.h: Similarly.
15701         * config/mn10200/mn10200.h: Similarly.
15702         * config/mn10300/mn10300.h: Similarly.
15703         * config/ns32k/ns32k.h: Similarly.
15704         * config/pa/pa.h: Similarly.
15705         * config/pdp11/pdp11.h: Similarly.
15706         * config/pj/pj.h: Similarly.
15707         * config/romp/romp.h: Similarly.
15708         * config/rs6000/rs6000.h: Similarly.
15709         * config/sh/sh.h: Similarly.
15710         * config/sparc/sparc.h: Similarly.
15711         * config/v850/v850.h: Similarly.
15712         * config/vax/vax.h: Similarly.
15713         * config/we32k/we32k.h: Similarly.
15714
15715 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
15716
15717         * doc/c-tree.texi: Document representation of attributes.
15718
15719 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
15720
15721         * doc/tm.texi: Update some places for the rename of target to
15722         targetm.  Fix typo.
15723
15724 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
15725
15726         * target.h (struct gcc_target): Add insert_attributes.
15727         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
15728         (TARGET_INITIALIZER): Update.
15729         * tree.c, tree.h (default_insert_attributes): New function.
15730         Update comments on other default functions to refer to targetm,
15731         not target.
15732         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
15733         TARGET_INSERT_ATTRIBUTES.
15734         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
15735         * c-common.c (decl_attributes): Use targetm.insert_attributes.
15736         Don't use PRAGMA_INSERT_ATTRIBUTES.
15737         * Makefile.in (c-common.o): Depend on $(TARGET_H).
15738         * c-decl.c (start_decl, start_function): Don't call
15739         SET_DEFAULT_DECL_ATTRIBUTES.
15740         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
15741         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
15742         declare.
15743         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
15744         (c4x_check_attribute): Avoid modifying attribute list itself.
15745         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
15746         Make static.
15747         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
15748         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
15749         declare.
15750         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
15751         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
15752         Make static.
15753         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
15754         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
15755         declare.
15756         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
15757         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
15758         Adjust parameters.  Make static.
15759
15760 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
15761
15762         * c-common.c (decl_attributes): Only take a single attributes
15763         parameter.
15764         * c-common.h (decl_attributes): Update prototype.
15765         * c-decl.c (start_decl, start_function): Only take a single
15766         attributes parameter.  Update calls to decl_attributes.
15767         (finish_struct, finish_enum): Update calls to decl_attributes.
15768         (push_parm_decl): Expect unified list of attributes.  Update call
15769         to decl_attributes.
15770         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
15771         notype_nested_function, component_declarator,
15772         component_notype_declarator, label): Update calls to
15773         decl_attributes.
15774         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
15775         lists that are passed to push_parm_decl.
15776         * c-tree.h (start_function, start_decl): Update prototypes.
15777         * config/sh/sh-protos.h, config/sh/sh.c
15778         (sh_pragma_insert_attributes): Only take a single attributes
15779         parameter.
15780         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
15781         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
15782         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
15783         build_module_descriptor, generate_static_references,
15784         generate_strings, build_selector_translation_table,
15785         generate_descriptor_table, generate_protocols,
15786         generate_ivars_list, generate_dispatch_table,
15787         generate_protocol_list, generate_category,
15788         generate_shared_structures, really_start_method, add_objc_decls,
15789         generate_classref_translation_entry): Update calls to start_decl
15790         and start_function.
15791         (build_tmp_function_decl, start_method_def): Unify attribute lists
15792         that are passed to push_parm_decl.
15793
15794 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
15795
15796         * final.c (no_asm_to_stream): New.
15797         (final_scan_insn): Use target structures for prologue ends
15798         and epilogue starts.
15799         * output.h (no_asm_to_stream): New.
15800         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
15801         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
15802         (TARGET_ASM_OUT): Update.
15803         * target.h (struct gcc_target): New members function_end_prologue
15804         and function_begin_epilogue.
15805         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
15806         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
15807         * config/alpha/alpha.c (output_end_prologue): Rename to
15808         alpha_output_function_end_prologue.  Use in target struct
15809         and make static.
15810         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
15811         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
15812         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
15813         ia64_output_function_end_prologue.  Use in target struct
15814         and make static.
15815         (ia64_function_prologue, ia64_funciton_epilogue): Rename
15816         mistyped prototypes.
15817         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
15818         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
15819         Delete.
15820         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
15821         an use in target struct, make static.
15822         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
15823         Delete.
15824
15825 2001-07-08  Richard Henderson  <rth@redhat.com>
15826
15827         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
15828
15829 2001-07-08  Richard Henderson  <rth@redhat.com>
15830
15831         * config/i386/i386.md: Remove constraints strings from define_split
15832         and define_peephole2 patterns.
15833         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
15834         (eh_return): Use them.
15835
15836 2001-07-08  Richard Henderson  <rth@redhat.com>
15837
15838         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
15839         Document MD_FALLBACK_FRAME_STATE_FOR.
15840
15841 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15842
15843         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
15844         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
15845         elimination.
15846         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
15847
15848 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
15849
15850         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
15851         of the label inside NAME as opposed to just the end of NAME.
15852
15853 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
15854
15855         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
15856         * config/alpha/alpha.c (alpha_init_machine_status,
15857         alpha_mark_machine_status, alpha_free_machine_status): Delete.
15858         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
15859         (vms_valid_decl_attribute_p): Make static, conditionally compile.
15860         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
15861
15862 2001-07-06  Stan Shebs  <shebs@apple.com>
15863
15864         * target.h (targetm): Rename global from "target", so as not to
15865         conflict with local variables.
15866         * c-decl.c: Ditto.
15867         * c-typeck.c: Ditto.
15868         * final.c: Ditto.
15869         * tree.c: Ditto.
15870         * cp/decl.c: Ditto.
15871         * cp/decl2.c: Ditto.
15872         * cp/typeck.c: Ditto.
15873         * 1750a/1750a.c: Ditto.
15874         * a29k/a29k.c: Ditto.
15875         * arc/arc.c: Ditto.
15876         * arm/arm.c: Ditto.
15877         * avr/avr.c: Ditto.
15878         * clipper/clipper.c: Ditto.
15879         * convex/convex.c: Ditto.
15880         * d30v/d30v.c: Ditto.
15881         * dsp16xx/dsp16xx.c: Ditto.
15882         * elxsi/elxsi.c: Ditto.
15883         * fr30/fr30.c: Ditto.
15884         * h8300/h8300.c: Ditto.
15885         * i370/i370.c: Ditto.
15886         * i386/i386.c: Ditto.
15887         * i860/i860.c: Ditto.
15888         * i960/i960.c: Ditto.
15889         * ia64/ia64.c: Ditto.
15890         * m32r/m32r.c: Ditto.
15891         * m68hc11/m68hc11.c: Ditto.
15892         * m68k/m68k.c: Ditto.
15893         * m88k/m88k.c: Ditto.
15894         * mips/mips.c: Ditto.
15895         * ns32k/ns32k.c: Ditto.
15896         * pa/pa.c: Ditto.
15897         * pdp11/pdp11.c: Ditto.
15898         * romp/romp.c: Ditto.
15899         * rs6000/rs6000.c: Ditto.
15900         * sh/sh.c: Ditto.
15901         * sparc/sparc.c: Ditto.
15902         * vax/vax.c: Ditto.
15903         * we32k/we32k.c: Ditto.
15904         * doc/tm.texi: Update the manual to match.
15905
15906 2001-07-06  Richard Henderson  <rth@redhat.com>
15907
15908         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
15909         DWARF2_UNWIND_INFO not just whether it is defined.
15910
15911 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
15912
15913         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
15914         call to simplify_binary_operation returns a new pattern.
15915
15916 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15917
15918         * glimits.h (__SHRT_MAX__): New.
15919         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
15920         (SHRT_MAX): Define in terms of __SHRT_MAX__.
15921
15922 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
15923
15924         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
15925         avoid warnings.
15926
15927 2001-07-06  Richard Henderson  <rth@redhat.com>
15928
15929         * bitmap.c (bitmap_release_memory): Move adjacent to the
15930         allocation functions.
15931         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
15932         the implementation.  Binary search for the set bit.
15933         (bitmap_union_of_diff): Allocate the temporary on the stack
15934         instead of using xmalloc.
15935
15936 2001-07-06  Richard Henderson  <rth@redhat.com>
15937
15938         * genrecog.c (validate_pattern): Warn for constraints in
15939         define_{expand,split,peephole2}.  Remove strict_low_part
15940         before looking up match_dup.
15941
15942 2001-07-06  DJ Delorie  <dj@redhat.com>
15943
15944         * doc/gcc.texi (Makefile): Rename to be a more general purpose
15945         chapter about various build hints and history.  Add section
15946         talking about the various types of native and cross builds.
15947
15948 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
15949
15950         * Makefile.in (final.o): Depend on target.h.
15951         * final.c: Include target.h.
15952         (default_function_pro_epilogue): New.
15953         (final_start_function): Use target structure for function prologues.
15954         (final_end_function): Use target structure for function epilogues.
15955         * fold-const.c (real_hex_to_f): Constify s and p.
15956         * output.h (default_function_pro_epilogue): New.
15957         * real.h (real_hex_to_f): Update prototype.
15958         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
15959         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
15960         (TARGET_INITIALIZER): Update.
15961         * target.h (gcc_target): Add struct asm_out.
15962         * doc/tm.texi: Update.
15963
15964 config:
15965         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
15966         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
15967         in cpu/cpu.c, or rename old functions consistently.  Take
15968         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
15969         redundant macros and prototypes.  Make new functions static.
15970
15971         * 1750a/1750a.c: Similarly.
15972         * 1750a/1750a.h: Similarly.
15973         * a29k/a29k-protos.h: Similarly.
15974         * a29k/a29k.c: Similarly.
15975         * a29k/a29k.h: Similarly.
15976         * arc/arc-protos.h: Similarly.
15977         * arc/arc.c: Similarly.
15978         * arc/arc.h: Similarly.
15979         * arm/arm-protos.h: Similarly.
15980         * arm/arm.c: Similarly.
15981         * arm/arm.h: Similarly.
15982         * avr/avr-protos.h: Similarly.
15983         * avr/avr.c: Similarly.
15984         * avr/avr.h: Similarly.
15985         * clipper/clipper-protos.h: Similarly.
15986         * clipper/clipper.c: Similarly.
15987         * clipper/clipper.h: Similarly.
15988         * convex/convex.c: Similarly.
15989         * convex/convex.h: Similarly.
15990         * d30v/d30v-protos.h: Similarly.
15991         * d30v/d30v.c: Similarly.
15992         * d30v/d30v.h: Similarly.
15993         * d30v/d30v.md: Similarly.
15994         * dsp16xx/dsp16xx-protos.h: Similarly.
15995         * dsp16xx/dsp16xx.c: Similarly.
15996         * dsp16xx/dsp16xx.h: Similarly.
15997         * elxsi/elxsi.c: Similarly.
15998         * elxsi/elxsi.h: Similarly.
15999         * fr30/fr30.c: Similarly.
16000         * fr30/fr30.md: Similarly.
16001         * h8300/h8300-protos.h: Similarly.
16002         * h8300/h8300.c: Similarly.
16003         * h8300/h8300.h: Similarly.
16004         * i370/i370-protos.h: Similarly.
16005         * i370/i370.c: Similarly.
16006         * i370/i370.h: Similarly.
16007         * i386/i386.c: Similarly.
16008         * i386/osf1elf.h: Similarly.
16009         * i386/osfrose.h: Similarly.
16010         * i860/i860-protos.h: Similarly.
16011         * i860/i860.c: Similarly.
16012         * i860/i860.h: Similarly.
16013         * i960/i960-protos.h: Similarly.
16014         * i960/i960.c: Similarly.
16015         * i960/i960.h: Similarly.
16016         * ia64/ia64-protos.h: Similarly.
16017         * ia64/ia64.c: Similarly.
16018         * ia64/ia64.h: Similarly.
16019         * m32r/m32r-protos.h: Similarly.
16020         * m32r/m32r.c: Similarly.
16021         * m32r/m32r.h: Similarly.
16022         * m68hc11/m68hc11-protos.h: Similarly.
16023         * m68hc11/m68hc11.c: Similarly.
16024         * m68hc11/m68hc11.h: Similarly.
16025         * m68k/crds.h: Similarly.
16026         * m68k/dpx2.h: Similarly.
16027         * m68k/m68k-protos.h: Similarly.
16028         * m68k/m68k.c: Similarly.
16029         * m68k/m68k.h: Similarly.
16030         * m68k/news.h: Similarly.
16031         * m88k/m88k-protos.h: Similarly.
16032         * m88k/m88k.c: Similarly.
16033         * m88k/m88k.h: Similarly.
16034         * mips/mips-protos.h: Similarly.
16035         * mips/mips.c: Similarly.
16036         * mips/mips.h: Similarly.
16037         * ns32k/merlin.h: Similarly.
16038         * ns32k/ns32k.c: Similarly.
16039         * ns32k/ns32k.h: Similarly.
16040         * ns32k/tek6000.h: Similarly.
16041         * pa/pa-protos.h: Similarly.
16042         * pa/pa.c: Similarly.
16043         * pa/pa.h: Similarly.
16044         * pdp11/2bsd.h: Similarly.
16045         * pdp11/pdp11-protos.h: Similarly.
16046         * pdp11/pdp11.c: Similarly.
16047         * pdp11/pdp11.h: Similarly.
16048         * romp/romp-protos.h: Similarly.
16049         * romp/romp.c: Similarly.
16050         * romp/romp.h: Similarly.
16051         * rs6000/rs6000-protos.h: Similarly.
16052         * rs6000/rs6000.c: Similarly.
16053         * rs6000/rs6000.h: Similarly.
16054         * rs6000/sysv4.h: Similarly.
16055         * sh/sh-protos.h: Similarly.
16056         * sh/sh.c: Similarly.
16057         * sh/sh.h: Similarly.
16058         * sparc/sparc-protos.h: Similarly.
16059         * sparc/sparc.c: Similarly.
16060         * sparc/sparc.h: Similarly.
16061         * vax/vax.c: Similarly.
16062         * vax/vax.h: Similarly.
16063         * vax/vms.h: Similarly.
16064         * we32k/we32k.c: Similarly.
16065         * we32k/we32k.h: Similarly.
16066
16067 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
16068
16069         * basic-block.h (first_insn_after_basic_block_note): Declare.
16070         * flow.c (first_insn_after_basic_block_note): Define.  Moved
16071         from...
16072         * ssa.c (first_insn_after_basic_block_note): Remove.
16073         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
16074         necessary.
16075         (ssa_eliminate_dead_code): Properly update the CFG and PHI
16076         nodes when we find a dead conditional branch.  Insert BARRIERs
16077         after any blocks with no successors, but which do not have
16078         any BARRIERs.
16079
16080 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
16081
16082         * varray.c (varray_check_failed): Use internal_error.
16083
16084 2001-07-05  Andrew Haley  <aph@redhat.com>
16085
16086         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
16087         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
16088         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
16089
16090 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
16091
16092         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
16093         reference if the target constant is also a SYMBOL_REF.
16094
16095 2001-07-05  Eric Christopher  <echristo@redhat.com>
16096
16097         * config/mips/mips.h (MASK_MIPS3900): Remove.
16098         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
16099         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
16100         (TARGET_MIPS3900): Change to use mips_arch.
16101         (TARGET_MIPS4000): New.
16102         (TARGET_MIPS4100): New.
16103         (TARGET_MIPS4300): New.
16104         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
16105         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
16106         for -mipsX.
16107         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
16108         (ISA_HAS_BRANCHLIKELY): To here.
16109         (CC1_CPU_SPEC):  New.
16110         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
16111         (mips_arch_string): Declare.
16112         (mips_arch): Declare.
16113         (TARGET_OPTIONS): Add -march and -mtune.
16114
16115         * config/mips/mips.c (mips_arch_string): New.
16116         (mips_arch): New.
16117         (override_options): Handle -march for codegen and -mtune
16118         for scheduling. Use mips_arch. Move tx39 target default here.
16119         (mips_parse_cpu): Move error message to override_options.
16120
16121         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
16122
16123         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
16124
16125         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
16126         (MIPS Options): Ditto.  Change mcpu entry to historical text.
16127
16128 2001-07-05  H.J. Lu  (hjl@gnu.org)
16129
16130         * config/mips/mips.c (mips_parse_cpu): New function to parse
16131         -march=*/-mcpu=*.
16132
16133 2001-07-05  Jim Wilson  <wilson@redhat.com>
16134
16135         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
16136         * config/ia64/t-ia64: Likewise.
16137         (LIB1ASMFUNCS): Update comment.
16138
16139 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
16140
16141         * doc/install.texi (Install GCC: Binaries): Fix typo.
16142
16143 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16144
16145         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
16146         reference using the stack pointer, adjust it since we push Y
16147         temporarily.
16148         ("*ashrsi3"): Likewise.
16149         ("*lshrsi3"): Likewise.
16150
16151 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16152
16153         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
16154         when -fomit-frame-pointer is used.
16155
16156 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
16157
16158         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
16159         (try_redirect_by_replacing_jump): Reverse updating properly the
16160         count and frequency information.  Reverse removing cc0 setter.
16161         (forwarder_block_p): Reverse fixing for fallthru blocks.
16162
16163 2001-07-05  DJ Delorie  <dj@redhat.com>
16164
16165         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
16166         (translate_options): If the above is defined, use it to map
16167         given options to new options.
16168         * doc/tm.texi: Document it.
16169
16170 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
16171             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16172
16173         * doc/invoke.texi (Optimize Options): Document that -fgcse may
16174         cause programs using computed gotos to run more slowly.
16175
16176 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16177
16178         * doc/install.texi (Specific): Markup, spelling and typo fixes.
16179         Fixed sorting.
16180         Consistently require binutils 2.11.2, not prereleases.
16181         (Specific, decstation-*): Canonicalize as mips-dec-*.
16182         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
16183         always necessary.
16184         (Specific, m68k-altos): Removed reference to README.altos, deleted.
16185         (Specific, mips-*): Reword MIPS C compiler requirements.
16186         (Specific, powerpc*-*-*): New, mention --with-cpu once.
16187         (Specific, sunv5): Removed, obsolete.
16188
16189 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16190
16191         * dwarf2out.c (output_loc_list): Use an all ones mask for
16192         .text asm output and don't rely on long long
16193         literals. Reformat some long lines.
16194
16195 2001-07-05  Andreas Jaeger  <aj@suse.de>
16196
16197         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
16198         section.
16199
16200 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
16201
16202         * dwarf2out.c (dwarf2out_define): Update comment.
16203         (dwarf2out_undef): Ditto.
16204         (dwarf2out_start_source_file): Ditto.
16205         (dwarf2out_end_source_file): Ditto.
16206         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
16207         since we never call the start/end debug hook for the primary file.
16208
16209 2001-07-04  Kazu Hirata  <kazu@hxi.com>
16210
16211         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
16212         from shll.
16213
16214 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
16215
16216         * cppinit.c (remove_dup_dirs): Inform if a system include
16217         directory is being reordered.
16218         * doc/invoke.texi (Directory Options): GCC warns if you hide a
16219         system include.
16220         * doc/cpp.texi (Search Paths): Likewise.
16221         * doc/gcc.texi (Interoperation): Remove information about
16222         -I/usr/include.
16223
16224 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
16225
16226         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
16227         (VARRAY_TOP_CHAR_PTR): Likewise.
16228
16229 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16230
16231         * gcc.c (process_command): Don't assign elements of a const char*.
16232
16233 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16234
16235         * emit-rtl.c (change_address): Don't abort if invalid address while
16236         reload is in progress.
16237
16238 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
16239
16240         * c-lex.c (cb_file_change): Pass line number to
16241         debug_start_source_file.
16242         (cb_undefine): Pass correct line number to debug_undef.
16243
16244         * toplev.c (debug_start_source_file): Add line number to
16245         parameters. Pass it along to dwarf2out_start_source_file.
16246         (decode_g_option): Stop resetting debug level back to normal when
16247         we change debug formats, unless the current level is
16248         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
16249         3).
16250
16251         * toplev.h (debug_start_source_file): Add line number to
16252         parameters.
16253
16254         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
16255         parameters.
16256
16257         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
16258         parameters.
16259         Output debug_macinfo data for starting file if requested.
16260         (dwarf2out_end_source_file): Output debug_macinfo data for ending
16261         file if requested.
16262         (dwarf2out_define): Output debug_macinfo data for defining a macro
16263         if requested.
16264         (dwarf2out_undef): Output debug_macinfo data for undefining a
16265         macro if requested.
16266         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
16267         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
16268         (macinfo_section_label): New. DWARF2 macro info section label.
16269         (dwarf2out_init): If we want macro info, output the start label
16270         for the section.
16271         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
16272         attribute to the compilation unit die pointing to the macro info.
16273
16274 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
16275
16276         * dwarf2out.c (new_loc_list): Move to inside #ifdef
16277         DWARF2_DEBUGGING_INFO.
16278         (add_loc_descr_to_loc_list): Ditto.
16279         (output_loc_list): Ditto.
16280         Also, fix thinko in curr not being initialized.
16281         (gen_internal_sym): Ditto.
16282
16283 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16284
16285         * emit-rtl.c (replace_equiv_address): New function.
16286         * expr.h (replace_equiv_address): New declaration.
16287         * explow.c (validize_mem): Call it instead of change_address and
16288         also call if -fforce-addr and address is constant.
16289         * expr.c: Replace more calls to change_address with adjust_address
16290         and/or replace_equiv_address or to validize_mem.
16291         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
16292         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
16293         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
16294         * config/i370/i370.md, config/i860/i860.md: Likewise.
16295         * config/i960/i960.md, config/mips/mips.c: Likewise.
16296         * config/mips/mips.md, config/pa/pa.md: Likewise.
16297         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
16298         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
16299
16300 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16301
16302         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
16303
16304         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
16305         function.
16306
16307 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
16308
16309         * doc/include: New directory.
16310         * doc/fdl.texi: Move to doc/include/fdl.texi.
16311         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
16312         * doc/include/funding.texi, doc/include/gpl.texi: New files.
16313         * doc/gcc.texi: Use funding.texi and gpl.texi.
16314         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
16315         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
16316         Update dependencies and use -I $(docdir)/include.
16317
16318 2001-07-04  Anthony Green  <green@redhat.com>
16319
16320         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
16321
16322 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16323
16324         * doc/install.texi (sparc64-*-*): Remove garbage.
16325
16326 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
16327
16328         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
16329         Fix typo in last change to use adjust_address.
16330
16331 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16332
16333         * doc/install.texi (Specific): Update information for *-*-solaris*.
16334
16335 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16336
16337         * explow.c (plus_constant_wide): Reinitialize Y for restart.
16338
16339 2001-07-03  Stan Shebs  <shebs@apple.com>
16340
16341         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
16342         case for flag_no_mach_text_sections.
16343         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
16344         * config/darwin.c (flag_no_mach_text_sections): Remove.
16345         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
16346
16347 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16348
16349         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
16350         and avoid checking for constant as first operand.
16351         * recog.c (find_constant_term_loc): No longer static.
16352         (adj_offettable_operand): Delete.
16353         * rtl.h (adj_offsettable_operand): Delete declaration.
16354         (find_constant_term): Add declaration.
16355         * caller-save.c: Replace calls to adj_offsettable_operand with calls
16356         to adjust_address.
16357         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
16358         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
16359         * config/i386/i386.c, config/i386/i386.md: Likewise.
16360         * config/i860/i860.c, config/i960/i960.c: Likewise.
16361         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
16362         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
16363         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
16364         * config/mips/mips.c, config/mips/mips.md: Likewise.
16365         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
16366         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
16367         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
16368         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
16369         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
16370         * config/ns32k/ns32k.md: Likewise.
16371
16372 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
16373
16374         * rtl.c (copy_rtx): Handle 'T' format letter.
16375         * gensupport.c (collect_insn_data): Likewise.
16376         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
16377
16378 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
16379
16380         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
16381         -B option.  Use 'dir' not 'foo' as example directory name.
16382
16383 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16384
16385         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
16386         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
16387
16388 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
16389
16390         * doc/cppinternals.texi: Improve formatting and logical markup.
16391
16392 2001-07-03  Andreas Jaeger  <aj@suse.de>
16393
16394         * Makefile.in (insn-recog.o): Add dependency on reload.h.
16395
16396         * genrecog.c (write_header): Include reload.h for prototypes in
16397         insn-recog.c.
16398
16399 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
16400
16401 config:
16402         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
16403         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
16404         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
16405         i386_pe_valid_type_attribute_p): Add.
16406         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
16407         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
16408
16409 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16410
16411         * explow.c (plus_constant_wide, case LO_SUM): New case.
16412         (plus_constant_for_output_wide): Delete.
16413         * rtl.h (plus_constant_for_output): Delete.
16414         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
16415         instead of plus_constant_for_output.
16416         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
16417         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
16418         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
16419         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
16420         * config/sparc/sparc.md: Likewise.
16421         Convert some change_address calls to adjust_address.
16422
16423 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
16424
16425         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
16426         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
16427         documentation of -std and -Wwrite-strings.
16428
16429 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
16430
16431         * cse.c (canon_hash): Don't register registers in very small
16432         register classes, as extending their lifetime might cause
16433         reload to fail.
16434
16435 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16436
16437         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
16438
16439         * flow.c (forwarder_block_p): Fix for fallthru blocks.
16440         (try_redirect_by_replacing_jump): Update properly the count
16441         and frequency information.
16442
16443 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
16444
16445         * toplev.c (dump_file_index): Move SSA dumps just after first
16446         jump dump.
16447         (dump_file): Corresponding changes.
16448         (rest_of_compilation): Move SSA path to just after the first
16449         jump pass.
16450         * doc/gcc.texi (Passes): Update due to movement of SSA path.
16451         * doc/invoke.texi: Update dump file #s as they were completely
16452         out of date with reality.
16453
16454 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
16455
16456         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
16457
16458         * expr.c (emit_move_insn_1): Deal with non-default
16459         STACK_PUSH_CODE.
16460
16461         * expr.c (emit_single_push_insn): Fix warning.
16462
16463 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16464
16465         * expr.c (emit_move_insn_1): Avoid modifying
16466         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
16467
16468 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16469
16470         * emit-rtl.c (adjust_address): New function.
16471         * expr.h (adjust_address): Add declaration.
16472         * builtins.c: Replace some calls to change_address with calls to it
16473         or to validize_mem.
16474         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
16475         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
16476         * config/arm/arm.c, config/convex/convex.c: Likewise.
16477         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
16478         * config/i386/i386.c, config/i386/i386.md: Likewise.
16479         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
16480         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
16481         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
16482         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
16483         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
16484
16485 2001-07-02  Jim Wilson  <wilson@redhat.com>
16486
16487         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
16488
16489 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
16490
16491         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
16492         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
16493
16494 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
16495
16496         * cppinit.c (lang_defaults): New table.
16497         (set_lang): Just read from lang_defaults into the live options
16498         structure.
16499
16500 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
16501
16502         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
16503         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
16504         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
16505
16506 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16507
16508         * doc/install.texi: Various spelling and markup fixes.
16509         (Installing GCC): Component specific installation instructions are
16510         gone.
16511         Fix reference.
16512         Warn about removing old install dir in the presence of shared libs.
16513         (Configuration): Invoke with options target to match configure
16514         --help.
16515         Consistently refer to gas, gld pathnames.
16516         Invert --enable-multilib documentation.
16517         Remove references to old compiler versions.
16518
16519 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16520
16521         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
16522
16523 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16524
16525         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
16526         section.
16527         (Specific, mips*-sgi-irix5): Note IDO download.
16528         Reworded MIPS C hints.
16529         Use GNU as instead of GAS.
16530         Markup fixes.
16531         Removed SGI Freeware reference, IRIX 6 only.
16532         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
16533         Note N64 library requirement/workaround.
16534         Update O32 hints.
16535         Complete list of structure passing bug victims.
16536
16537 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16538
16539         * doc/install.texi: Remove CVS Id.
16540
16541 2001-07-02  Andreas Jaeger  <aj@suse.de>
16542
16543         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
16544         (find_inherently_necessary): Remove unused variable.
16545
16546 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
16547
16548         * c-common.h (TDI_inlined): New ast dump phase.
16549         (dump_flag_name): New function.
16550         * c-dump.c (dump_files): Add inlined phase.
16551         (dump_flag_name): Define.
16552         * doc/invoke.texi (-fdump-ast-inlined): Document.
16553
16554 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16555
16556         * stor-layout.c (layout_decl): Revert change to handling of alignment
16557         in packed types.
16558
16559 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16560
16561         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
16562         for FIELD_DECL.
16563
16564 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
16565
16566         * doc/tm.texi (FUNCTION_ARG): Document that the last call
16567         is special.
16568
16569 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
16570
16571         * tlink.c (recompile_files): Remove COMPILER_PATH and
16572         LIBRARY_PATH from the environment.
16573
16574 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
16575
16576         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
16577         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
16578         enumerators.
16579         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
16580
16581         * c-parse.in (OBJC_STRING): Kill.
16582         (objc_string): Decompose to [objc_string] '@' STRING.
16583         (reswords): Take the leading '@' off all the Objective C keywords.
16584         (objc_rid_sans_at): Kill.
16585         (init_reswords): Don't initialize it.
16586         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
16587         (_yylex): Kill reconsider label.  Look ahead one token after
16588         an '@'; if we get an identifier, check whether it's an
16589         Objective C @-keyword.  If so, return the keyword.  Otherwise,
16590         put back the token and return the '@' as a terminal.
16591
16592         * cpplib.c (lex_macro_node): Remove unnecessary check for
16593         leading '@' on identifier.  Clarify control flow and commentary.
16594
16595 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16596
16597         * cse.c (new_label_ref): Variable deleted.
16598         (insert): Remove set of new_label_ref.
16599         (check_for_label_ref): New function.
16600         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
16601
16602 See ChangeLog.5 for earlier changes.