t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2003-01-25  Richard Henderson  <rth@redhat.com>
2
3         2002-02-19  Robert Lipe  <robertlipe@usa.net>
4         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
5
6 2002-01-25  Roger Sayle  <roger@eyesopen.com>
7
8         * builtins.c (purge_builtin_constant_p): Scan insn stream
9         sequentially rather than by basic block.
10         * function.c (purge_addressof): Simplify test with INSN_P.
11
12 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
13
14         * combine.c (simplify_comparison, case AND): Remove a redundant test.
15
16 2002-01-25  Roger Sayle  <roger@eyesopen.com>
17
18         * function.h (struct function): New field calls_constant_p.
19         (current_function_calls_constant_p): New macro for above.
20         * function.c (prepare_function_start): Initialize calls_eh_return
21         and calls_constant_p.
22         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
23         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
24         when the current_function_calls_constant_p.
25         * integrate.c (expand_inline_function): Set calls_constant_p if
26         the function being inlined has calls_constant_p set.
27
28 2002-01-25  Roger Sayle  <roger@eyesopen.com>
29
30         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
31         optimizing, even if flag_gcse is true.
32         * toplev.c (rest_of_compilation): purge_builtin_constant_p
33         only needs to be called when "optimize > 0 && flag_gcse".
34
35 2003-01-25  Roger Sayle  <roger@eyesopen.com>
36
37         * stmt.c (emit_case_bit_tests): New routine to implement suitable
38         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
39         (case_bit_test_cmp): New comparison function for "qsort" to order
40         case_bit_tests by decreasing number of destination nodes.
41         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
42         (expand_end_case_type): Use emit_case_bit_tests to implement
43         suitable switch statments.
44         (CASE_USE_BIT_TESTS): New target macro to disable the above.
45         * Makefile.in (stmt.o): Add dependency on optab.h.
46         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
47
48 2003-01-23  Andreas Schwab  <schwab@suse.de>
49
50         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
51         __do_global_ctors_aux hidden global and don't put it in
52         .init_array.
53         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
54         instead so that it comes first.
55
56 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
57
58         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
59         subreg is read/modify.
60
61 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
62
63         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
64         do libcall for large blocks.
65         * i386.md (comi patterns): Set type to ssecomi.
66         (sse2_unpck?pd): Fix mode of vec_select.
67
68         * cse.c: Include except.h
69         (cse_set_around_loop):  Do not create new basic blocks.
70         * Makefile.in (cse.o): Add dependnecy on except.h
71
72 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
73
74         * builtins.c (fold_trunc_transparent_mathfn): New function.
75         (fold_builtin): Use it.
76         * convert.c (convert_to_real): Re-enable code to convert
77         math functions; add support for floor familly functions.
78
79 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
80
81         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
82         dependencies on coretypes.h and $(TM_H).
83
84 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
85
86         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
87
88 2002-01-24  Stuart Hastings  <stuart@apple.com>
89
90         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
91
92 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
93
94         * config/c4x/c4x.md (UNSPEC_BU): New constants.
95         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
96         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
97         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
98         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
99         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
100         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
101         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
102
103 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
104
105         * emit-rtl.c (reg_attrs_htab): New static variable.
106         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
107         functions.
108         (reg_rtx): Do not maintain regno_decl.
109         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
110         set_mem_attrs_from_reg): New global function.
111         (init_emit): Do not initialize regno_decl.
112         (init_emit_once): initialize reg_attrs_htab.
113         * final.c (alter_subreg): Do not replace REG by SUBREG.
114         (gen_mem_expr_from_op): Improve output.
115         (output_asm_operands): Likewise.
116         * function.c (assign_params): Do not set REGNO_DECL.
117         * function.h (struct function): Kill regno_decl.
118         (REGNO_DECL): Kill.
119         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
120         * print_rtl.c (print_rtx): Output REG information.
121         * regclass.c (reg_scan_mark_refs): Update attrs.
122         * reload1.c (alter_reg): Likewise.
123         * simplify_rtx.c (simplify_subreg): Likewise.
124         * stmt.c (expand_decl): Likewise.
125         * rtl.def (REG): Add new field.
126         * rtl.h (struct reg_attrs): New.
127         (rtunion_def): At rtreg.
128         (X0MEMATTR): Add checking.
129         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
130         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
131         Declare.
132         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
133
134 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
135
136         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
137         (xtensa_emit_call, print_operand): Fix printf format strings
138         to avoid compile warnings.
139         (xtensa_function_prologue, xtensa_function_epilogue): Change type
140         of "size" argument to HOST_WIDE_INT to fix compile warnings.
141         * config/xtensa/xtensa-protos.h
142         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
143
144 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
145
146         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
147         (implicit_built_in_decls): New global array.
148         (mathfn_built_in): New global function.
149         (fold_trunc_transparent_mathfn): New static function
150         (expand_builtin_strstr, expand_bultin_strchr,
151         expand_builtin_strpbrk, expand_builtin_strcpy,
152         expand_builtin_strncpy, expand_bultin_strcmp,
153         expand_bultin_strncat, expand_builtin_fputs): Use
154         implicint_built_in_decls.
155         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
156         * builtins.def: Fix comments.
157         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
158         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
159         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
160         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
161         (DEF_C99_C90RES_BULTIN): New.
162         (*f, *l builtins): Update.
163         * c-common.c (DEF_BUILTIN): Initialize implicit array.
164         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
165         * convert.c (strip_float_extensions): New global function.
166         * tree.h (DEF_BUILTIN): Accept 10 arguments.
167         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
168         Declare.
169         * java/builtins.c (define_builtin): Handle implicit.
170         (DEF_BUILTIN): Update.
171         * tm.texi (TARGET_C99_FUNCTIONS): Document.
172         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
173         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
174         when using glibc2.
175
176 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
177
178         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
179         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
180         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
181         * config/xtensa/crti.asm: New file.
182         * config/xtensa/crtn.asm: New file.
183         * config/xtensa/t-elf: New file.
184         * config/xtensa/t-linux: New file.
185         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
186         Move various CFLAGS settings to new t-elf file.
187
188 2003-01-24  Richard Henderson  <rth@redhat.com>
189
190         PR optimization/4382
191         * tree-inline.c (find_builtin_longjmp_call_1): New.
192         (find_builtin_longjmp_call): New.
193         (inlinable_function_p): Use it.
194
195 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
196
197         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
198         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
199         * config/i386/i386.c (function_arg_pass_by_reference): New.
200         (ix86_va_arg): Support arguments passed by reference.
201
202 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
203
204         * cfgloopanal.c: New file.
205         * cfgloopmanip.c: New file.
206         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
207         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
208         cfglayout.o): Add dependency on cfgloop.h.
209         (cfgloop.o): Add flags.h dependency.
210         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
211         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
212         (struct loop, struct loops, flow_loops_find, flow_loops_update,
213         flow_loops_free, flow_loops_dump, flow_loop_dump,
214         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
215         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
216         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
217         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
218         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
219         find_common_loop, verify_loop_structure): Declarations moved to ...
220         * cfgloop.h: New file.
221         * bb-reorder.c (reorder_basic_blocks): Modified.
222         * cfglayout.c: Include cfgloop.h.
223         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
224         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
225         (break_superblocks): New static function.
226         (cfg_layout_finalize): Use it.
227         (cfg_layout_split_block): New function.
228         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
229         fields.
230         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
231         changed.
232         (cfg_layout_split_block): Declare.
233         * cfgloop.c: Include cfgloop.h and flags.h.
234         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
235         get_loop_body): Avoid signed versus unsigned comparison warnings.
236         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
237         loop_latch_edge): Modified.
238         (verify_loop_structure): Modified to use flags stored in loop structure;
239         check irreducible loops.
240         (cancel_loop, cancel_loop_tree): New functions.
241         (estimate_probability): Use loop analysis code for predictions.
242         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
243         warnings.
244         * doloop.c: Include cfgloop.h.
245         * loop.c: Include cfgloop.h.
246         * predict.c: Include cfgloop.h.
247         * toplev.c: Include cfgloop.h.
248         * unroll.c: Include cfgloop.h.
249         * tracer.c (tracer): Modified.
250
251 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
252
253         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
254
255 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
256
257         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
258         * configure: Regenerate.
259
260         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
261         (tls_symbolic_reference_mentioned_p): Add prototype.
262         (s390_tls_get_offset): Add prototype.
263         (emit_pic_move): Remove prototype, replace by ...
264         (emit_symbolic_move): .. this new prototype.
265
266         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
267         (tls_model_chars): New global variable.
268         (s390_encode_section_info): Encode TLS model.
269         Use targetm.binds_local_p to check for local symbols.
270         (s390_strip_name_encoding): New function.
271         (TARGET_STRIP_NAME_ENCODING): Define.
272
273         (get_thread_pointer): New function.
274         (legitimize_tls_address): New function. 
275         (legitimize_address): Call it.
276         (emit_pic_move): Remove, replace by ...
277         (emit_symbolic_move): ... this new function.
278
279         (larl_operand): Handle TLS operands.
280         (legitimate_constant_p): Likewise.
281         (s390_decompose_address): Likewise.
282         (s390_cannot_force_const_mem): New function.
283         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
284
285         (s390_output_symbolic_const): Handle TLS unspecs.
286         (print_operand): New code 'J'.
287         (machine_function): Add struct member 'some_ld_name'.
288         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
289
290         (enum s390_builtin): New type.
291         (code_for_builtin_64, code_for_builtin_31): New global variables.
292         (s390_init_builtins, s390_expand_builtin): New functions.
293         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
294
295         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
296         (ASM_OUTPUT_LABELREF): Define.
297         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
298
299         * config/s390/s390.md: Define TLS UNSPEC constants.
300         ("movdi", "movsi"): Handle TLS operands.
301         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
302         ("*tls_load_64", "*tls_load_31"): New insns.
303         ("call_value_tls", "call_value_tls_exp"): New expanders.
304         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31", 
305         "bas_tls_64", "bas_tls_31"): New insns.
306
307 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
308
309         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
310         spe ABI is configured, if requested.
311
312 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
313
314         * doc/passes.texi: Fix typo.
315
316 2003-01-24  Andreas Schwab  <schwab@suse.de>
317
318         * stor-layout.c (excess_unit_span): Only define if used.
319
320 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
321
322         * gcc/doc/invoke.texi (Optimization Options): List -O levels
323         for each optimization flag.
324
325 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
326
327         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
328
329 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
330
331         * doc/bugreport.texi: Use @command instead of @code for commands.
332         * doc/collect2.texi: Likewise.
333         * doc/headerdirs.texi: Likewise.
334         * doc/invoke.texi: Likewise.
335         * doc/standards.texi: Likewise.
336         * doc/tm.texi: Likewise.
337         * doc/trouble.texi: Likewise.
338
339 2003-01-24  Nick Clifton  <nickc@redhat.com>
340
341         * config/arm/arm.c (use_return_insn): Do not use a single return
342         instruction for interrupt handelrs which have to create a stack
343         frame.
344         (arm_expand_prologue): Do not pre-bias the return address of
345         interrupt handlers which create a stack frame.
346
347 2003-01-24  Nick Clifton  <nickc@redhat.com>
348
349         * Add sh2e support:
350
351         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
352
353                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
354                 med_cbranches.  Fix logic in short_cbranches.
355
356         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
357
358                 * config/sh/sh.md (delay for cbranch): Don't annul delay
359                 slots on SH2e.
360                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
361                 cbranch with unfilled delay slot on SH2e.
362                 (output_branch): Fill with a nop the delay slot of a
363                 branch that required a delay slot but didn't get one.
364
365         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
366
367                 * doc/invoke.texi (SH options): Document -m2e.
368                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
369                 * config/sh/lib1funcs.asm: Likewise.
370                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
371                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
372                 not __sh1__.
373                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
374                 SH2E up.
375                 (SH3E_BIT): Renamed to...
376                 (SH_E_BIT): ... this.  Replace all uses.
377                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
378                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
379                 (TARGET_SWITCHES): Added 2e.
380                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
381                 (processor_type): Added PROCESSOR_SH2E.
382                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
383                 TARGET_SH2E, except in sqrtsf2_i.
384                 (attribute cpu): Added sh2e.
385                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
386                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
387                 * config.gcc: Add sh2e target support.
388
389 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
390
391         Rename -W to -Wextra.
392         * c-decl.c:  Update comments.
393         * c-typeck.c:  Likewise.
394         * flags.h:  Likewise.
395         * function.c:  Likewise.
396         * stmt.c:  Likewise.
397         * toplev.c:  Update comments.
398         (W_options):  Add 'extra'.
399         (display_help):  Remove '-W'.
400         (decode_W_option):  Special warn_uninitialized treatment in the case
401         of -Wextra.
402         * doc/invoke.texi:  Update with new entries.
403
404 2003-01-23  Richard Henderson  <rth@redhat.com>
405
406         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
407         in no-else-block case.  Add commentary.
408
409 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
410
411         * configure.in: Revert last change.
412
413 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
414
415         * configure.in: Don't include ansidecl.h in tconfig.h.
416         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
417         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
418         ATTRIBUTE_UNUSED.
419
420         * configure: Regenerate.
421
422 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
423
424         PR java/6748
425         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
426         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
427         kernels.
428
429 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
430
431         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
432
433 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
434
435         * genattrtab.c (write_attr_get): Mark 'insn' paramter
436         as ATTRIBUTE_UNUSED.
437
438 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
439
440         * arm.c (thumb_base_register_rtx_p): New function.
441         (thumb_index_register_rtx_p): New function.
442         (thumb_legitimate_address_p): New function.
443         (thumb_legitimate_offset_p): New function.
444         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
445         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
446         definitions.
447         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
448         (THUMB_LEGITIMATE_OFFSET): Delte.
449         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
450         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
451         (thumb_legitimate_offset_p): Likewise.
452
453 2003-01-23  Andreas Schwab  <schwab@suse.de>
454
455         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
456
457 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
458
459         * fixinc/Makefile.in (FL_LIST): Revert last change.
460
461 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
462
463         PR other/7341
464         * invoke.texi (ftest-coverage): Fix broken cross-reference.
465         Change @code to @command for gcov command.
466
467         * gcc.texi: Adjust title of gcov section.
468         Adjust copyright.
469         * gcov.texi: Likewise.
470
471 2003-01-22  Roger Sayle  <roger@eyesopen.com>
472
473         PR optimization/8423
474         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
475         its argument is constant, or 0 if !flag_gcse.
476         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
477         if it's argument is constant.
478         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
479         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
480         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
481         * builtins.c (purge_builtin_constant_p): New function to force
482         instantiation of any remaining CONSTANT_P_RTX nodes.
483         * rtl.h (purge_builtin_constant_p): Prototype here.
484         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
485         pass after GCSE and before loop.
486         (flag_gcse): No longer static.
487         * flags.h (flag_gcse): Prototype here.
488
489 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
490
491         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
492         introduced by last change.
493
494 2003-01-22  Andreas Schwab  <schwab@suse.de>
495
496         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
497
498 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
499
500         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
501         request a scratch reg on H8S when the shift count is 8.
502
503 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
504
505         * config/s390/s390-protos.h (preferred_la_operand_p):
506         Remove second parameter.
507         * config/s390/s390.c (preferred_la_operand_p): Likewise.
508         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
509         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
510         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
511         Add peepholes to transform ADD to LOAD ADDRESS.
512
513 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
514
515         * arm.c (arm_address_register_rtx_p): New function.
516         (arm_legitimate_address_p): New function.
517         (arm_legitimate_index_p): New function.
518         (legitimize_pic_address): Use arm_legitimate_index_p.
519         * arm-protos.h (arm_legtimate_address_p): Add prototype.
520         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
521         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
522
523 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
524
525         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
526         * config/s390/2064.md (define_bypass): Correct 'Load' and
527         'Load-address' bypass values.
528         
529 2003-01-22  Andreas Schwab  <schwab@suse.de>
530
531         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
532
533 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
534
535         * genautomata.c (output_internal_insn_latency_func,
536         output_print_reservation_func): Short circuit when there is no
537         automaton to generate code for.
538
539 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
540
541         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
542         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
543
544 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
545
546         * config/rs6000/rs6000.md: Remove warning.
547         (builtin_setjmp_receiver): Likewise.
548         * config/darwin.c (update_stubs): Slightly improve terrible hack
549         with identifiers.  Add comment pointing out problems with it.
550         (update_non_lazy_ptrs): Likewise.
551
552 2003-01-21  Richard Henderson  <rth@redhat.com>
553
554         * dwarf2out.c (lookup_filename): Fix printf format warning.
555         * system.h (fread_unlocked, fwrite_unlocked): Undef.
556
557         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
558         (fixincl.o-warn, gnu-regex.o-warn): New.
559         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
560         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
561         * fixinc/fixincl.c (process): Fix printf format warning.
562
563 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
564
565         * dwarf2out (output_file_names): Don't crash if called
566         with empty file_table.
567
568 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
569
570         * genautomata.c (output_internal_insn_latency_func): Add
571         missing break statement to generated code.
572
573 2003-01-21  Roger Sayle  <roger@eyesopen.com>
574
575         * stmt.c (same_case_target_p): New function to determine whether
576         two case labels branch to the same target.  Split out from...
577         (group_case_nodes): ... here.  Use same_case_target_p instead.
578         (strip_default_case_nodes): Remove explicit case nodes
579         that branch to the default destination.
580         (expand_end_case_type): Call strip_default_case_nodes after
581         group_case_nodes, to simplify the case-list before we count it.
582         Only generate table_label RTX when actually needed.  Try to share
583         thiscase->exit_label and thiscase->data.case_stmt.default_label
584         when a switch has no explicit default case.  Simplify test for
585         constant index.
586
587 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
588
589         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
590         \t.
591         (*negsf2_h8300hs): Likewise.
592         (*addsi3_lshiftrt_16_zexthi): Likewise.
593         (*iorhi3_lshiftrt_8): Likewise.
594
595 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
596
597         * dwarf2out.c (fde_table_in_use): Mark GTY.
598         (dwarf2out_cfi_label_num): New variable, marked GTY.
599         (dwarf2out_cfi_label): Use it instead of static label_num.
600         * emit-rtl.c (label_num): Mark GTY.
601
602 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
603
604         * config/h8300/h8300.c (output_plussi): Support H8/300.
605         (compute_plussi_length): Likewise.
606         (compute_plussi_cc): Likewise.
607         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
608         output assembly instructions.
609
610 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
611
612         * calls.c (fix_unsafe_tree): Prototype.
613
614         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
615         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
616         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
617         c-parse.o-warn): Add -Wno-error.
618         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
619
620         * configure.in (--enable-werror): Add new flag.
621         * doc/install.texi (--enable-werror): Document.
622         * configure: Regenerate.
623
624         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
625
626 2003-01-21  Andreas Schwab  <schwab@suse.de>
627
628         * genautomata.c (output_internal_insn_latency_func): Fix missing
629         close paren in output.
630
631 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
632
633         * genautomata.c: Space savings in generated code:
634         (output_dfa_insn_code_func): Split out the table-enlargement
635         path to an out-of-line static function, dfa_insn_code_enlarge.
636         (output_internal_insn_latency_func): Use a lookup table for the
637         default latencies.
638         (output_print_reservation_func): Use a lookup table for the
639         strings.
640
641 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
642
643         PR opt/7507
644         * calls.c (fix_unsafe_tree): Split out from ...
645         (expand_call): ... here.  Use it on the function address too.
646
647 2003-01-20  Richard Henderson  <rth@redhat.com>
648
649         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
650
651 2003-01-20  Richard Henderson  <rth@redhat.com>
652
653         PR opt/7154
654         * stmt.c (expand_asm_operands): Validize memory operands.
655
656 2003-01-20  Richard Henderson  <rth@redhat.com>
657
658         PR opt/8848
659         * ifcvt.c (noce_process_if_block): Correct arguments to
660         modified_between_p for no-else-block case.
661
662 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
663
664         * config/h8300/h8300.c (const_costs): Remove a warning.
665         (output_plussi): Likewise.
666         (compute_plussi_length): Likewise.
667         (compute_plussi_cc): Likewise.
668
669 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
670
671         * config/h8300/h8300.md (addsi_h8300): Remove the last
672         alternative.
673
674 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
675
676         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
677
678 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
679
680         * system.h (__NO_STRING_INLINES): Define.
681
682 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
683
684         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
685         is not a scalar int mode.
686
687 2003-01-20  Roger Sayle  <roger@eyesopen.com>
688
689         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
690         insn's notes following a substitution inside a libcall.
691
692 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
693
694         * configure.in: Check for system-provided 'uchar' type.
695         * configure, config.in: Regenerate.
696         * cpphash.h: Only typedef 'uchar' if the system doesn't.
697
698 2003-01-20  Richard Henderson  <rth@redhat.com>
699
700         * expr.h (MUST_PASS_IN_STACK): Move implementation...
701         * calls.c (default_must_pass_in_stack): ... here.
702
703 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
704
705         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
706
707         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
708
709         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
710         Wrap up definition of `insn_alts'.
711
712         * genattrtab.c (main): Wrap up `insn_alts'.
713
714 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
715
716         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
717         prototyping.
718         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
719
720         * config.in, configure: Regenerate.
721
722 2003-01-20  Nick Clifton  <nickc@redhat.com>
723
724         * config/arm/arm.md (sibcall_epilogue): Add an
725         UNSPEC_PROLOGUE_USE to prevent the link register from being
726         considered dead.
727
728 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
729
730         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
731
732 2003-01-20  Andreas Schwab  <schwab@suse.de>
733
734         * system.h: Don't declare strsignal if the decl test hasn't been
735         run yet.
736
737 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
738
739         * config/h8300/h8300.c (notice_update_cc): Don't assume that
740         recog_data.operands[0] is always associated with cc0.
741
742 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
743
744         * collect2.c (ldgetname): Expand declaration to prototype.
745         * read-rtl.c (atoll): Add prototype.
746         * system.h (strsignal): Also declare if no declaration found.
747
748 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
749
750         * config.gcc (mips64*-*-linux*): Added.
751         * config/mips/linux64.h, config/mips/t-linux64: New file.
752         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
753         * config/mips/mips.c (override_options): Use it.
754         * config/mips/mips.h (TARGET_SWITCHES): Added...
755         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
756         * Makefile.in (SPECS): New.
757         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
758         * gcc.c (process_command): Move self-spec processing past spec
759         file loading.
760         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
761         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
762         CRTSTUFF_T_CFLAGS.
763         (SPECS): Document.
764         * doc/invoke.texi (-mabi-fake-default): Document.
765
766 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
767
768         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
769         z_reg, z_reg_qi): Declare static and GTY().
770         (da_reg): Remove.
771         (create_regs_rtx): Don't create da_reg.
772         ("gt-m68hc11.h"): Include for GTY roots.
773         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
774         and GTY() here.
775         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
776         (m68hc11_soft_tmp_reg): Likewise.
777         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
778
779 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
780
781         * basic-block.h: Fix comment formatting.
782         * calls.c: Likewise.
783         * combine.c: Likewise.
784         * convert.c: Likewise.
785         * gcov.c: Likewise.
786         * haifa-sched.c: Likewise.
787         * libgcc2.c: Likewise.
788         * loop.c: Likewise.
789         * profile.c: Likewise.
790         * system.h: Likewise.
791
792 2003-01-18  Roger Sayle  <roger@eyesopen.com>
793
794         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
795
796 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
797
798         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
799
800 2003-01-17  Dale Johannesen  <dalej@apple.com>
801
802         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
803           (*floatunssidf2_internal):  Ditto.
804
805 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
806
807         * alias.c: Fix comment typos.
808         * basic-block.h: Likewise.
809         * c-common.c: Likewise.
810         * c-common.h: Likewise.
811         * c-decl.c: Likewise.
812         * c-opts.c: Likewise.
813         * c-pragma.c: Likewise.
814         * c-pretty-print.h: Likewise.
815         * cfg.c: Likewise.
816         * cfganal.c: Likewise.
817         * cfgbuild.c: Likewise.
818         * cfgcleanup.c: Likewise.
819         * cfglayout.c: Likewise.
820         * cfgrtl.c: Likewise.
821         * convert.c: Likewise.
822         * cpphash.h: Likewise.
823         * cpplex.c: Likewise.
824         * cpplib.h: Likewise.
825         * df.h: Likewise.
826         * diagnostic.c: Likewise.
827         * diagnostic.h: Likewise.
828         * dwarf2.h: Likewise.
829
830 2003-01-17  Stan Shebs  <shebs@apple.com>
831
832         * config/darwin-protos.h: Forward-declare struct cpp_reader.
833
834 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
835
836         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
837         mistake in last checkin.
838
839 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
840
841         * et-forest.c: Fix comment typos.
842         * et-forest.h: Likewise.
843         * except.c: Likewise.
844         * expr.c: Likewise.
845         * flags.h: Likewise.
846         * flow.c: Likewise.
847         * gcc.c: Likewise.
848         * gcse.c: Likewise.
849         * genattrtab.c: Likewise.
850         * genautomata.c: Likewise.
851         * gengtype.c: Likewise.
852         * genrecog.c: Likewise.
853         * global.c: Likewise.
854         * gthr-rtems.h: Likewise.
855
856 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
857
858         * i386.c (x86_function_profiler): Fix format specifier.
859
860 2003-01-17  Richard Henderson  <rth@redhat.com>
861
862         * gengtype.c (walk_type): Allow paramN_is.
863
864 2003-01-17  Nick Clifton  <nickc@redhat.com>
865
866         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
867
868 2003-01-16  Richard Henderson  <rth@redhat.com>
869
870         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
871
872 2003-01-16  Richard Henderson  <rth@redhat.com>
873
874         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
875         (alpha_next_sequence_number): Likewise.
876         (alpha_this_literal_sequence_number): Likewise.
877         (alpha_this_gpdisp_sequence_number): Likewise.
878         (struct alpha_funcs, alpha_funcs_num): Likewise.
879         (struct alpha_links): Fix branch merge error.
880         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
881
882 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
883
884         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
885         R. Ghazi.
886
887 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
888
889         * ifcvt.c: Fix comment typos.
890         * lcm.c: Likewise.
891         * libgcc2.c: Likewise.
892         * local-alloc.c: Likewise.
893         * loop.c: Likewise.
894         * predict.c: Likewise.
895         * ra-build.c: Likewise.
896         * ra.c: Likewise.
897         * ra-colorize.c: Likewise.
898         * ra.h: Likewise.
899         * ra-rewrite.c: Likewise.
900         * regmove.c: Likewise.
901         * reload.h: Likewise.
902         * rtlanal.c: Likewise.
903         * toplev.c: Likewise.
904         * tree.h: Likewise.
905         * unwind-dw2-fde-glibc.c: Likewise.
906         * vmsdbgout.c: Likewise.
907
908 2003-01-16  Richard Henderson  <rth@redhat.com>
909
910         * dwarf2out.c (struct file_table): Remove.
911         (FILE_TABLE_INCREMENT): Remove.
912         (file_table): Make a varray; mark for GC.  Update all users.
913         (file_table_last_lookup_index): Extract from struct file_table.
914         (output_file_names): Fix unsigned compare warnings.
915         (add_name_attribute): Remove inline marker.
916         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
917         (lookup_filename): Don't manage size of file_table.
918         (init_file_table): Allocate file_table with GC.
919         (dwarf2out_init): Don't record main_input_filename here.
920         (dwarf2out_finish): Do it here instead.
921
922 2003-01-16  Bruce Korb  <bkorb@gnu.org>
923
924         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
925
926 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
927
928         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
929         instead of rotldi3_mextr.
930
931 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
932
933         * haifa-sched.c (move_insn): Restore moving all schedule group.
934         (set_priorities): Restore taking SCHED_GROUP_P into account.
935
936         * sched-deps.c (add_dependence): Restore processing the last group
937         insn.
938         (remove_dependence, group_leader): Restore the functions.
939         (set_sched_group_p): Restore adding dependencies from previous insn
940         in the group.
941         (compute_forward_dependences): Restore usage of group_leader.
942
943         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
944         account.
945
946         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
947         account.
948         (can_schedule_ready_p): Ditto.
949         (add_branch_dependences): Restore skipping over the group insns.
950
951 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
952
953         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
954         68HC12 pre/post inc/dec side effects.
955
956 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
957
958         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
959
960 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
961
962         * sh.md (mshflo_w_x): Fix description of operation.
963
964 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
965
966         * config/rs6000/rs6000.h: Mention Altivec registers in
967         commentary.  Fix typo.
968
969 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
970
971         * config/rs6000/rs6000.md (movti_string): Remove clobber.
972         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
973         generate PARALLEL with clobber for TARGET_POWER.
974
975 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
976
977         * ra-colorize.c (colorize_one_web): Initialize variable.
978         * regmove.c (fixup_match_1): Likewise.
979         * reload1.c (reload_as_needed): Likewise.
980         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
981
982 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
983
984         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
985
986 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
987
988         * dbxout.c (lastfile, cwd): Fix `unused' warning.
989         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
990         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
991         is_main_source, file_table, decl_die_table_in_use,
992         abbrev_die_table_in_use, line_info_table_in_use,
993         separate_line_info_table_in_use, pubname_table_in_use,
994         arange_table_in_use, ranges_table_in_use,
995         current_function_has_inlines): Likewise.
996         * flow.c (life_analysis): Likewise.
997         * genemit.c (gen_insn): Likewise.
998         * protoize.c (cplus_suffix): Likewise.
999
1000         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
1001         * arm.h (ROUND_UP_WORD): Likewise.
1002
1003         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
1004         warning.
1005         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
1006         init_emit_once): Likewise.
1007         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
1008         Likewise.
1009         * function.c (assign_stack_temp_for_type): Likewise.
1010         * loop.c (loop_invariant_p): Likewise.
1011         * recog.c (push_operand): Likewise.
1012         * regclass.c (init_reg_sets_1): Likewise.
1013         * reload.c (update_auto_inc_notes): Likewise.
1014         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
1015         * stmt.c (expand_asm_operands): Likewise.
1016         * stor-layout.c (start_record_layout): Likewise.
1017
1018 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
1019
1020         * config/c4x/c4x.md (epilogue): Correct last patch.
1021
1022 2003-01-15  Richard Henderson  <rth@redhat.com>
1023
1024         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
1025         also check that GP is being used.
1026         (alpha_find_lo_sum_using_gp): New.
1027         (alpha_does_function_need_gp): Use get_attr_usegp.
1028         * config/alpha/alpha-protos.h: Update.
1029         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
1030         as needed.
1031
1032 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1033
1034         * gcse.c (one_cprop_pass): Change function arguments to take both
1035         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
1036         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
1037         (bypass_jumps): New function to perform separate jump bypassing pass.
1038         * rtl.h (bypass_jumps): Add function prototype.
1039         * timevar.def (TV_BYPASS): New timing variable.
1040         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
1041         (dump_file): New entry for the bypass RTL dump file.
1042         (rest_of_compilation): Insert new jump bypassing optimization
1043         pass after loop.
1044         * doc/passes.texi: Document new pass.
1045
1046 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1047
1048         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
1049         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
1050         * pa.h (TARGET_SOM_SDEF): Define.
1051         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
1052
1053 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
1054
1055         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
1056         allocate 4-bytes of locals on 68HC11.
1057         (expand_epilogue): Likewise.
1058         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
1059
1060 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
1061
1062         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
1063         and -mshort-double to the assembler to specify the ABI.
1064         (LINK_SPEC): Likewise.
1065         (CPP_SPEC): Pass HCS12 specific define.
1066         (MASK_M68S12): New define.
1067         (TARGET_M68S12): Likewise.
1068         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
1069         (TARGET_VERSION): Update.
1070         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
1071         (LINK_SPEC): Update.
1072         (ASM_SPEC): Update.
1073         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
1074         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
1075
1076 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
1077
1078         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
1079         the return code.
1080
1081 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
1082
1083         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
1084         flag before setting it.
1085
1086 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1087
1088         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
1089         when loop condition is known true, i.e.  "while (1) { ... }".
1090         (genrtl_for_stmt): Similarly for "for" statements.
1091
1092 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1093
1094         * real.c (real_sqrt): Return a bool result indicating whether
1095         a floating point exception or trap should be raised.
1096         * real.h (real_sqrt): Update function prototype.
1097         * builtins.c (fold_builtin): Only fold non-trapping square
1098         roots unless we're ignoring errno and trapping math.
1099
1100 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
1101
1102         * expr.h (emit_conditional_add): Add PARAMS to declaration.
1103         * gengtype-lex.l (malloc, realloc): Move defines after include of
1104         system.h.  Remove duplicate include of system.h.
1105
1106 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1107
1108         PR middle-end/9009
1109         * optabs.c (expand_unop):  When manipulating the FP sign bit
1110         using integer operations, account for targets with different
1111         integer and FP word orders.
1112         (expand_abs): Likewise.
1113
1114 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
1115
1116         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
1117         file extension in section name.
1118
1119 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
1120
1121         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
1122         constant offset.
1123
1124 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
1125
1126         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
1127         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
1128         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
1129         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1130
1131 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
1132
1133         PR f/9258
1134         * global.c (struct allocno): Add no_stack_reg.
1135         (global_conflicts): Set no_stack_reg.
1136         (find_reg): Use it.
1137
1138         * convert.c (convert_to_real): Fold - and abs only when profitable.
1139         * fold-const.c (fold): Fold truncates in - and abs.
1140
1141 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
1142
1143         Segher Boessenkool  <segher@koffie.nl>
1144
1145         * predict.c (real_inv_br_prob_base): New variable.
1146         (propagate_freq): Use multiply by reciprocal instead of
1147         division.  Don't divide by 1.0 at all.
1148         (estimate_bb_frequencies): Similar.
1149
1150 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
1151
1152         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
1153         * configure: Rebuilt.
1154
1155 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
1156
1157         * config/s390/s390.c (s390_safe_attr_type): New function.
1158         (s390_use_dfa_pipeline_interface): New function, return true for z900.
1159         (s390_issue_rate): New function.
1160         (s390_agen_dep_p): New function.
1161         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
1162         (s390_adjust_cost): Return 'cost' if new DFA is used.
1163         (s390_adjust_priority): Delete function.
1164         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
1165         * config/s390/s390.md (atype attribute): Attribute 'atype' default
1166         determined by 'op_type'.
1167         (type attribute): Added more type attributes.
1168         * config/s390/2064.md: New DFA description for z900 pipeline.
1169
1170 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
1171
1172         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
1173         forced to memory.  Fixes PR bootstrap/9036.
1174
1175         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
1176         to set $gp before the call.
1177
1178 2003-01-14  Richard Henderson  <rth@redhat.com>
1179
1180         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
1181         for force_const_mem.
1182
1183 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1184
1185         * genattr.c (main): Rearrange output to avoid prototype warning.
1186         * genautomata.c (transform_3): Fix ambiguous-else warning.
1187         * local-alloc.c (requires_inout): Add parentheses around
1188         assignment used as truth-value.
1189         * timevar.c: Move system includes above local includes.  Include
1190         toplev.h
1191         * Makefile.in (timevar.o): Depend on toplev.h.
1192
1193 2003-01-14  Denis Chertykov  <denisc@overta.ru>
1194
1195         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
1196         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
1197
1198         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
1199         attributes.
1200         (TARGET_ATTRIBUTE_TABLE): New macro.
1201         (valid_machine_type_attribute): Remove.
1202         (valid_machine_decl_attribute): Remove.
1203         (ip2k_handle_progmem_attribute): New function.
1204         (ip2k_handle_fndecl_attribute): New function.
1205
1206 2003-01-10  Andrew Haley  <aph@redhat.com>
1207
1208         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
1209         registers to be in correct order.  Add rip.
1210
1211 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
1212
1213         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
1214         (*iorsi3_and_lshiftrt_9_sb): Likewise.
1215
1216 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1217
1218         * convert.c (strip_float_extensions):  Look for narrowest type handling
1219         FP constants.
1220
1221         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
1222         float1 CMP float2.
1223         * convert.c (strip_float_extensions): Make global.
1224         * tree.h (strip_float_extensions): Declare.
1225
1226 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1227
1228         * timevar.def: define TV_NAME_LOOKUP.
1229         * timevar.c (timevar_pop): Be verbose when aborting.
1230
1231 2003-01-13  Andreas Schwab  <schwab@suse.de>
1232
1233         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
1234         $(parsedir), just move the temporary file at the end.
1235         ($(parsedir)/gengtype-yacc.c): Likewise.
1236
1237 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
1238
1239         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
1240         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
1241         splitting.
1242         * configure: Rebuilt.
1243
1244 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1245
1246         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
1247         internal_mcount): Don't use PARAMS.
1248         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
1249         ISO C style.
1250         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
1251
1252 2003-01-13  Andreas Schwab  <schwab@suse.de>
1253
1254         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
1255         directive.
1256
1257 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
1258
1259         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
1260         (*iorsi3_and_lshiftrt_n_sb): Likewise.
1261
1262 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
1263
1264         PR c++/9264
1265         * c-lex.c (c_lex): Set the token value to error_mark_node for
1266         invalid numeric constants.
1267
1268 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1269
1270         * c-pch.c (asm_file_startpos): Change to `long'.
1271         (pch_init): Use ftell, not ftello.
1272         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
1273         Use `long' instead of `off_t'.
1274         (c_common_read_pch): Likewise.
1275         * ggc-common.c (gt_pch_save): Use long/ftell instead of
1276         off_t/ftello.
1277
1278 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
1279
1280         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
1281
1282 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
1283
1284         * arm-protos.h (struct cpp_reader): Add declaration.
1285
1286 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
1287
1288         PR target/9068
1289         * i386.c (output_fp_compare): Fix typo.
1290
1291 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
1292
1293         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
1294
1295 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
1296
1297         * Makefile.in (parsedir): New variable.
1298         (docobjdir): New variable.
1299         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
1300         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
1301         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
1302         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
1303         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
1304         Use docobjdir.
1305         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
1306         objc.maintainer-clean): Use parsedir.
1307
1308         * varasm.c (struct constant_descriptor_rtx): Remove unused
1309         `label' field.
1310
1311         * toplev.c (documented_lang_options): Document -Winvalid-pch.
1312
1313 2003-01-10  Richard Henderson  <rth@redhat.com>
1314
1315         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
1316         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
1317
1318 2003-01-10  Richard Henderson  <rth@redhat.com>
1319
1320         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
1321         not INTEGRAL_MODE_P when widening extensions.
1322
1323 2003-01-10  Richard Henderson  <rth@redhat.com>
1324
1325         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
1326
1327 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
1328
1329         * ggc-page.c (ggc_collect): Avoid overflow computing
1330         min_expand.
1331
1332         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
1333         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
1334         Remove calls.
1335         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
1336
1337 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
1338
1339         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
1340         with weird operands.
1341
1342 2003-01-10  Dale Johannesen <dalej@apple.com>
1343
1344         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
1345         parameters.  Call check_sibcall_argument_overlap if indicated.
1346         (check_sibcall_argument_overlap):  Add mark_stored_args_map
1347         parameter.  Don't mark parameter area as clobbered if not set.
1348         (expand_call):  Adjust calls to above.
1349
1350 2003-01-10 Kelley Cook <kelleycook@comcast.net>
1351
1352         * configure.in (linker read-only and read-write section mixing):
1353         Squelch some assembler warnings.
1354         * configure: Likewise.
1355
1356 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
1357
1358         * doc/invoke.texi: Document -mtune, delete -mcpu
1359         option for S/390 and zSeries.
1360         * config/s390/s390.c (s390_tune_string) New variable.
1361         (s390_cpu_string) Delete variable.
1362         (override_options): Use s390_tune_string instead of
1363         s390_cpu_string.
1364         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
1365
1366 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
1367
1368         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
1369
1370 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
1371
1372         * jump.c (next_nonnote_insn_in_loop): New function.
1373         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
1374         next_nonnote_insn.
1375         (duplicate_loop_exit_test). Likewise.
1376
1377 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
1378
1379         Merge from pch-branch:
1380
1381         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
1382
1383         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
1384         load.
1385
1386         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
1387
1388         * cpplib.c (count_registered_pragmas): New function.
1389         (save_registered_pragmas): New function.
1390         (_cpp_save_pragma_names): New function.
1391         (restore_registered_pragmas): New function.
1392         (_cpp_restore_pragma_names): New function.
1393         * cpphash.h (_cpp_save_pragma_names): Prototype.
1394         (_cpp_restore_pragma_names): Likewise.
1395         * cpppch.c (struct save_macro_item): Split from save_macro_data.
1396         (struct save_macro_data): New field 'saved_pragmas'.
1397         (save_macros): Update for changes to struct save_macro_data.
1398         (cpp_prepare_state): Call _cpp_save_pragma_names, update
1399         for changes to struct save_macro_data.
1400         (cpp_read_state): Call _cpp_restore_pragma_names, update
1401         for changes to struct save_macro_data.
1402
1403         * cpppch.c (cpp_read_state): Restore the hashtable references
1404         in the cpp_reader.
1405
1406         * tree.h (built_in_decls): Mark for PCH.
1407
1408         * dbxout.c (lastfile): Don't mark for PCH.
1409
1410         * ggc.h: Document PCH calls into memory managers.
1411
1412         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
1413
1414         * doc/invoke.texi (Precompiled Headers): Document the
1415         directory form of PCH.
1416         * cppfiles.c (validate_pch): New function.
1417         (open_file_pch): Search suitably-named directories for PCH files.
1418
1419         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
1420
1421         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
1422         reorder options.
1423         (Type Information): Mention that the information is also
1424         used to implement PCH.
1425         * doc/passes.texi (Passes): Improve documentation of
1426         language-specific files.
1427
1428         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
1429
1430         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
1431         (struct walk_type_data): Add reorder_fn field.
1432         (walk_type): Process 'reorder' option.
1433         (write_types_process_field): Reorder parameters to gt_pch_note_object,
1434         call reorder_note_routine.
1435         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
1436         (ggc_wtd): Update for change to struct write_types_data.
1437         (pch_wtd): Likewise.
1438         * ggc.h (gt_pch_note_object): Reorder parameters.
1439         (gt_handle_reorder): New definition.
1440         (gt_pch_note_reorder): New prototype.
1441         * ggc-common.c (struct ptr_data): Add reorder_fn.
1442         (gt_pch_note_object): Reorder parameters.
1443         (gt_pch_note_reorder): New.
1444         (gt_pch_save): Call reorder_fn.
1445         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
1446
1447         * dbxout.c (cwd): Don't mark for PCH.
1448
1449         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
1450
1451         * gengtype.c (finish_root_table): Fix some warnings.
1452         (write_root): Handle TYPE_STRING.
1453         * ggc.h (gt_ggc_m_S): Add prototype.
1454         * stringpool.c (gt_ggc_m_S): New function.
1455
1456         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
1457
1458         * dwarf2out.c (dw2_string_counter): New.
1459         (AT_string_form): Use it.
1460         (same_dw_val_p): Update for removal of hashtable.h hash tables.
1461
1462         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1463
1464         * dbxout.c: Include gt-dbxout.h.
1465         (lastfile): Mark for PCH/GGC.
1466         (cwd): Likewise.
1467         (struct typeinfo): Likewise.
1468         (typevec): Likewise.
1469         (typevec_len): Likewise.
1470         (next_type_number): Likewise.
1471         (struct dbx_file): Likewise.
1472         (current_file): Likewise.
1473         (next_file_number): Likewise.
1474         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
1475         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
1476         (dbxout_end_source_file): Don't free struct dbx_file.
1477         (dbxout_type): Use GGC to allocate typevec.
1478         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
1479         (GTFILES): Add dbxout.c.
1480         (gt-dbxout.h): New rule.
1481
1482         * Makefile.in (c-pch.o): Add debug.h as dependency.
1483         * c-pch.c: Include debug.h.
1484         (pch_init): Call start_source_file to keep nesting right.
1485         (c_common_read_pch): Add orig_name parameter.  Call
1486         start_source_file debug hook.  Call end_source_file debug hook.
1487         * c-common.h (c_common_read_pch): Update prototype.
1488         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
1489         callback.
1490         * cppfiles.c (struct include_file): Add new field `header_name'.
1491         (find_or_create_entry): Default it to `name'.
1492         (open_file_pch): Set it to the original header file searched for.
1493         (stack_include_file): Don't stack an empty buffer, just handle
1494         PCH files immediately.  Pass header_name field to read_pch callback.
1495
1496         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
1497
1498         * function.c (funcdef_no): Mark to be saved in a PCH.
1499
1500         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
1501
1502         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
1503
1504         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
1505
1506         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
1507
1508         * optabs.h (code_to_optab): Add GTY marker.
1509
1510         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
1511
1512         * Makefile.in (GTFILES): Add cpplib.h.
1513         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
1514         * c-decl.c (build_compound_literal): Don't use var_labelno.
1515         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
1516         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
1517         * varasm.c (const_labelno): Use gengtype to mark.
1518         (var_labelno): Likewise.
1519         (in_section): Likewise.
1520         (in_named_name): Likewise.
1521         (struct in_named_entry): Likewise.
1522         (in_named_htab): Likewise.
1523         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
1524         (init_varasm_once): Use GGC to allocate in_named_htab.
1525         * config/darwin.c (current_pic_label_num): Mark for PCH.
1526
1527         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
1528
1529         * ggc-simple.c (init_ggc_pch): New stub procedure.
1530         (ggc_pch_count_object): Likewise.
1531         (ggc_pch_total_size): Likewise.
1532         (ggc_pch_this_base): Likewise.
1533         (ggc_pch_alloc_object): Likewise.
1534         (ggc_pch_prepare_write): Likewise.
1535         (ggc_pch_write_object): Likewise
1536         (ggc_pch_finish): Likewise.
1537         (ggc_pch_read): Likewise.
1538
1539         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
1540
1541         * c-pch.c (c_common_write_pch): Write the macro definitions after
1542         the GCed data.
1543         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
1544         definitions after the GCed data.
1545         * cpplib.c (save_macros): New.
1546         (reset_ht): New.
1547         (cpp_write_pch_deps): Split out of cpp_write_pch.
1548         (cpp_write_pch_state): Split out of cpp_write_pch.
1549         (cpp_write_pch): Delete.
1550         (struct save_macro_data): Delete.
1551         (cpp_prepare_state): New.
1552         (cpp_read_state): Erase and restore initial macro definitions.
1553         * cpplib.h (struct save_macro_data): Forward-declare.
1554         (cpp_write_pch_deps): Prototype.
1555         (cpp_write_pch_state): Prototype.
1556         (cpp_write_pch): Delete prototype.
1557         (cpp_prepare_state): Prototype.
1558         (cpp_read_state): Add fourth argument.
1559
1560         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
1561
1562         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
1563         (write_array): Remove warning.
1564
1565         * gengtype.c (contains_scalar_p): New.
1566         (finish_root_table): Add the table to all languages, even if it's
1567         empty.
1568         (write_roots): Output gt_pch_scalar_rtab.
1569         * ggc-common.c (gt_pch_save): Write out scalars.
1570         (gt_pch_restore): Read scalars back.
1571
1572         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
1573         (struct page_entry): Delete pch_page field.
1574         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
1575         (clear_marks): Likewise.
1576         (sweep_pages): Likewise.
1577         (poison_pages): Likewise.
1578         (ggc_print_statistics): Likewise.
1579         (ggc_pch_read): Don't free objects read from a PCH.
1580         Properly set up in_use_p and page_tails.
1581
1582         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
1583
1584         * gengtype.c (struct write_types_data): New.
1585         (struct walk_type_data): Make `cookie' const; add extra
1586         prev_val item; add `orig_s' field.
1587         (walk_type): Update prev_val[3].
1588         (write_types_process_field): New.
1589         (write_func_for_structure): Take write_types_data structure.
1590         (write_types): New.
1591         (ggc_wtd): New.
1592         (pch_wtd): New.
1593         (write_types_local_process_field): New.
1594         (gc_mark_process_field): Delete.
1595         (write_local_func_for_structure): New.
1596         (gc_mark_func_name): Delete.
1597         (write_gc_types): Delete.
1598         (write_local): New.
1599         (finish_root_table): Don't include 'ggc_' in PFX.
1600         (write_root): Rename from write_root.  Fill pchw field of structures.
1601         (write_array): New.
1602         (write_roots): Rename from write_gc_roots.  Split out to write_array.
1603         Update to changes to other routines.  Write gt_pch_cache_rtab table.
1604         (main): Write PCH walking routines.
1605         * ggc-common.c: Include toplev.h, sys/mman.h.
1606         (ggc_mark_roots): For cache hashtables, also mark the hash table
1607         and the array of entries.
1608         (saving_htab): New.
1609         (struct ptr_data): New.
1610         (POINTER_HASH): New.
1611         (gt_pch_note_object): New.
1612         (saving_htab_hash): New.
1613         (saving_htab_eq): New.
1614         (struct traversal_state): New.
1615         (call_count): New.
1616         (call_alloc): New.
1617         (compare_ptr_data): New.
1618         (relocate_ptrs): New.
1619         (write_pch_globals): New.
1620         (struct mmap_info): New.
1621         (gt_pch_save): New.
1622         (gt_pch_restore): New.
1623         * ggc-page.c (ROUND_UP_VALUE): New.
1624         (ROUND_UP): New.
1625         (struct page_entry): Add field `pch_page'.
1626         (init_ggc): Use ROUND_UP.
1627         (struct ggc_pch_data): Declare.
1628         (init_ggc_pch): New.
1629         (ggc_pch_count_object): New.
1630         (ggc_pch_total_size): New.
1631         (ggc_pch_this_base): New.
1632         (ggc_pch_alloc_object): New.
1633         (ggc_pch_prepare_write): New.
1634         (ggc_pch_write_object): New.
1635         (ggc_pch_finish): New.
1636         (ggc_pch_read): New.
1637         * ggc.h (gt_pointer_operator): New.
1638         (gt_note_pointers): New.
1639         (gt_pch_note_object): New prototype.
1640         (gt_pointer_walker): New.
1641         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
1642         (LAST_GGC_ROOT_TAB): Update.
1643         (gt_pch_cache_rtab): Declare.
1644         (gt_pch_scalar_rtab): Declare.
1645         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
1646         (LAST_GGC_CACHE_TAB): Update.
1647         (gt_pch_save_stringpool): Declare.
1648         (gt_pch_restore_stringpool): Declare.
1649         (gt_pch_p_S): Declare.
1650         (gt_pch_n_S): Declare.
1651         (struct ggc_pch_data): Forward-declare.
1652         (init_ggc_pch): Declare.
1653         (ggc_pch_count_object): Declare.
1654         (ggc_pch_total_size): Declare.
1655         (ggc_pch_this_base): Declare.
1656         (ggc_pch_alloc_object): Declare.
1657         (ggc_pch_prepare_write): Declare.
1658         (ggc_pch_write_object): Declare.
1659         (ggc_pch_finish): Declare.
1660         (ggc_pch_read): Declare.
1661         (gt_pch_save): Declare.
1662         (gt_pch_restore): Declare.
1663         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
1664         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
1665         const_double_htab, mem_attrs_htab using GGC.
1666         * c-pch.c: Include ggc.h.
1667         (pch_init): Allow reading PCH file back.
1668         (c_common_write_pch): Call gt_pch_save.
1669         (c_common_read_pch): Call gt_pch_restore.
1670         * c-parse.in (init_reswords): Delete now-untrue comment.
1671         Allocate ridpointers using GGC.
1672         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
1673         calling expand_deferred_fns.
1674         * c-common.h (ridpointers): Mark for GTY machinery.
1675         * Makefile.in (stringpool.o): Update dependencies.
1676         (c-pch.o): Update dependencies.
1677         (ggc-common.o): Update dependencies.
1678         * stringpool.c: Include gt-stringpool.h.
1679         (gt_pch_p_S): New.
1680         (gt_pch_n_S): New.
1681         (struct string_pool_data): New.
1682         (spd): New.
1683         (gt_pch_save_stringpool): New.
1684         (gt_pch_restore_stringpool): New.
1685         * tree.c (init_ttree): Make type_hash_table allocated using GC.
1686
1687         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
1688
1689         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1690         (output_mangled_typename): Don't pass size_t to printf.
1691
1692         * tree.h (union tree_type_symtab): Add tag to `address' field.
1693         (union tree_decl_u2): Add tag to 'i' field.
1694         * varasm.c (union rtx_const_un): Add tags to all fields.
1695         * gengtype.c (struct walk_type_data): New.
1696         (output_escaped_param): Take struct walk_type_data parameter.
1697         (write_gc_structure_fields): Delete.
1698         (walk_type): New.
1699         (write_gc_marker_routine_for_structure): Delete.
1700         (write_func_for_structure): New.
1701         (gc_mark_process_field): New.
1702         (gc_mark_func_name): New.
1703         (gc_counter): Delete.
1704         (write_gc_types): Use write_func_for_structure.
1705         (write_gc_roots): Use walk_type.
1706
1707         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
1708
1709         * ggc-common.c (ggc_mark_roots): Delete 'x'.
1710         (ggc_splay_dont_free): Fix warning about unused 'x'.
1711         (ggc_print_common_statistics): Remove warnings.
1712
1713         2002-10-01  Mike Stump  <mrs@apple.com>
1714
1715         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1716         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
1717
1718         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
1719             Catherine Moore  <clm@redhat.com>
1720
1721         * Makefile (c-pch.o): Update dependencies.
1722         (LIBCPP_OBJS): Add cpppch.o.
1723         (cpppch.o): New.
1724         * c-common.c (c_common_init): Don't call pch_init here.
1725         * c-common.h (c_common_read_pch): Update prototype.
1726         * c-lex.c (c_common_parse_file): Call pch_init here.
1727         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1728         (c_common_decode_option): Handle them.
1729         * c-pch.c: Include c-pragma.h.
1730         (save_asm_offset): Delete.
1731         (pch_init): Move contents of save_asm_offset into here, call
1732         cpp_save_state.
1733         (c_common_write_pch): Call cpp_write_pch.
1734         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1735         cpp_valid_state.
1736         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1737         * cppfiles.c (stack_include_file): Update for change to
1738         parameters of cb.read_pch.
1739         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1740         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1741         `restore_pch_deps' fields.
1742         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1743         (cpp_save_state): Prototype.
1744         (cpp_write_pch): Prototype.
1745         (cpp_valid_state): Prototype.
1746         (cpp_read_state): Prototype.
1747         * cpppch.c: New file.
1748         * flags.h (version_flag): Remove prototype.
1749         * mkdeps.c (deps_save): New.
1750         (deps_restore): New.
1751         * mkdeps.h (deps_save): Prototype.
1752         (deps_restore): Prototype.
1753         * toplev.c (late_init_hook): Delete.
1754         (version_flag): Make static again.
1755         (compile_file): Don't call late_init_hook.
1756         * toplev.h (late_init_hook): Delete.
1757         * doc/cppopts.texi: Document -fpch-deps.
1758         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1759
1760         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1761
1762         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1763         callers.
1764         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1765         (c_common_read_pch): Rename from c_read_pch, change callers.
1766
1767         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1768         a space between it and its argument.
1769
1770         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1771
1772         * c-pch.c: New file.
1773         * toplev.h (late_init_hook): Declare.
1774         * toplev.c (late_init_hook): Define.
1775         (version_flag): Make globally visible.
1776         (compile_file): Call late_init_hook.
1777         (init_asm_output): Make output file seekable.
1778         * gcc.c (default_compilers): Update c-header rule.
1779         * flags.h (version_flag): Declare.
1780         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1781         fields.
1782         * cppfiles.c (struct include_file): Add 'pch' field.
1783         (INCLUDE_PCH_P): New.
1784         (open_file_pch): New.
1785         (stack_include_file): Handle PCH files specially.
1786         (find_include_file): Call open_file_pch instead of open_file.
1787         (_cpp_read_file): Explain why open_file is used instead of
1788         open_file_pch.
1789         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1790         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1791         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1792         in cpplib callbacks.
1793         * c-common.c (pch_file): Correct comment.
1794         (allow_pch): Define.
1795         (c_common_init): Call pch_init.
1796         * c-common.h (allow_pch): Declare.
1797         (pch_init): Declare.
1798         (c_valid_pch): Declare.
1799         (c_read_pch): Declare.
1800         (c_write_pch): Declare.
1801         * Makefile.in (c-pch.o): New.
1802         (C_AND_OBJC_OBJS): Add c-pch.o.
1803         * doc/invoke.texi (Precompiled Headers): Add index entries,
1804         complete truncated paragraph.
1805
1806         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1807
1808         * c-common.c: (pch_file): Define.
1809         * c-common.h (pch_file): Declare.
1810         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1811         (missing_arg): Require --output-pch= to have an argument.
1812         (c_common_decode_option): Handle --output-pch=.
1813         * gcc.c: Document new %V.
1814         (default_compilers): Handle compiling C header files.
1815         (do_spec_1): Implement %V.
1816         (main): Handle "gcc foo.h" without trying to run linker.
1817         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1818         (Overall Options): Document what the driver does with header files,
1819         document new -x option possibilities.
1820         (Invoking G++): More documentation for PCH.
1821         (Precompiled Headers): New.
1822
1823         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1824
1825         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1826         organized.
1827         (ggc_add_root): Delete.
1828         (ggc_mark_rtx): Delete.
1829         (ggc_mark_tree): Delete.
1830         (struct ggc_statistics): Remove contents.
1831         * ggc-common.c: Remove unneeded includes.
1832         (struct ggc_root): Delete.
1833         (roots): Delete.
1834         (ggc_add_root): Delete.
1835         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1836         (ggc_print_common_statistics): Remove most of the contents.
1837         * Makefile.in (GGC_H): No longer uses varray.h.
1838         (ggc-common.o): Update dependencies.
1839         (c-parse.o): Add varray.h to dependencies.
1840         (c-common.o): Add varray.h.
1841         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1842         (mark_ident_hash): Rename to ggc_mark_stringpool.
1843         (init_stringpool): Don't use ggc_add_root.
1844         * c-parse.in: Include varray.h.
1845         * c-common.c: Include varray.h.
1846         * objc/Make-lang.in (objc-act.o): Add varray.h.
1847         * objc/objc-act.c: Include varray.h.
1848
1849         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1850
1851         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1852         (dw_cfi_oprnd1_desc): Likewise.
1853
1854         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1855
1856         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1857         move out of ifdef.
1858         (alpha_links): Use gengtype to mark; move out of ifdef.
1859         (mark_alpha_links_node): Delete.
1860         (mark_alpha_links): Delete.
1861         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1862         alpha_links, strings.  Don't use ggc_add_root.
1863         * ggc-common.c (ggc_splay_alloc): New.
1864         (ggc_splay_dont_free): New.
1865         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1866         (ggc_mark_tree): Likewise.
1867         (splay_tree_new_ggc): New.
1868         (ggc_splay_alloc): Declare.
1869         (ggc_splay_dont_free): Declare.
1870         * dwarf2asm.c: Include gt-dwarf2asm.h.
1871         (mark_indirect_pool_entry): Delete.
1872         (mark_indirect_pool): Delete.
1873         (indirect_pool): Use gengtype to mark.
1874         (dw2_force_const_mem): Don't use ggc_add_root.
1875         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1876         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1877         (gt-dwarf2asm.h): Depend on s-gtype.
1878
1879         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1880
1881         * tree.h (union tree_type_symtab): Mark `die' field.
1882         * Makefile.in (dwarf2out.o): Update dependencies.
1883         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1884         hash tables.
1885         (dw_cfi_oprnd1_desc): New function.
1886         (dw_cfi_oprnd2_desc): New function.
1887         (indirect_string_alloc): Delete.
1888         (debug_str_do_hash): New function.
1889         (debug_str_eq): New function.
1890         (mark_limbo_die_list): Delete.
1891         (dwarf2out_init): Don't call ggc_add_root.
1892
1893 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1894
1895         The following changes are merged from itanium-sched-branch:
1896
1897         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1898
1899         * doc/md.texi: Clarify assignment of units to automata description.
1900
1901         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1902
1903         * genautomata.c (unit_decl): Remove members
1904         `the_same_automaton_unit' and
1905         `the_same_automaton_message_reported_p'.
1906         (process_unit_to_form_the_same_automaton_unit_lists,
1907         form_the_same_automaton_unit_lists_from_regexp,
1908         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1909         Remove them.
1910         (annotation_message_reported_p): New global variable.
1911         (check_unit_distribution_in_reserv,
1912         check_regexp_units_distribution): New functions.
1913         (check_unit_distributions_to_automata): Rewrite it.
1914
1915         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1916
1917         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1918         Use continue instead of break if cycle is too big.
1919
1920         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1921
1922         * genautomata.c (check_unit_distributions_to_automata): Output at
1923         most one message for a unit.
1924         (process_unit_to_form_the_same_automaton_unit_lists): Check
1925         automaton of units instead of units themself.
1926
1927         * doc/md.texi: Describe the constraint about assigning unit to
1928         automata.
1929
1930         2002-12-20  Jan Hubicka  <jH@suse.cz>
1931                     Vladimir Makarov  <vmakarov@redhat.com>
1932
1933         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1934         and `in_set_p'.
1935         (gen_cpu_unit): Initialize the new members.
1936         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1937         up `min_occ_cycle_num'.
1938         (evaluate_max_reserv_cycles): Change the function call.
1939         (CLEAR_BIT): New macro.
1940         (states_union, state_shift): Use the mask.
1941         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1942         (form_reservs_matter): New function.
1943         (make_automaton): Call the function and use the mask.
1944         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1945         account.
1946
1947         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1948
1949         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1950
1951         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1952
1953         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1954         for Itanium.
1955
1956         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1957
1958         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1959         default cpu.
1960
1961         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1962                 2002-10-31  Dale Johannesen <dalej@apple.com>
1963
1964         * haifa-sched.c (find_set_reg_weight): New function.
1965         (find_insn_reg_weight): Use the new function.
1966         (schedule_block): Do sorting ready queue always
1967         after insn issue.
1968
1969         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1970
1971         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1972
1973         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1974
1975         * haifa-sched.c (choice_entry): New structure.
1976         (choice_stack, cycle_issued_insns): New variables.
1977         (max_issue): Rewrite it.
1978         (choose_ready): Set up ready_try for unknown insns too.
1979         (schedule_block): Allocate and free choice_stack.  Set up
1980         and modify cycle_issued_insns.
1981
1982         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1983         with and without filling the bundle.
1984         (bundling): Combine calls of issue_nops_and_insn.
1985
1986         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1987
1988         * config/ia64/itanium1.md: New file.
1989
1990         * config/ia64/itanium2.md: New file.
1991
1992         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1993         Remove the old pipeline description.
1994
1995         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1996         itanium processor names.
1997
1998         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1999
2000         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
2001         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
2002
2003         * config/ia64/ia64.md: Add descriptions for Itanium2.
2004
2005         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
2006
2007         * config/ia64/ia64.h (processor_type): New enumeration.
2008         (ia64_tune, ia64_tune_string): New external declarations.
2009         (TARGET_OPTIONS): Add option `tune='.
2010
2011         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
2012         variables.
2013         (ia64_override_options): Set up `ia64_tune'.
2014         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
2015         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
2016         (bundling): Add nops for MM-insns only for Itanium.
2017         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
2018         Itanium.
2019
2020         * config/ia64/ia64.md (cpu): New attribute.
2021         (DFA description): Enable it only for Itanium.
2022
2023         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
2024                     Richard Henderson  <rth@redhat.com>
2025
2026         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
2027         MASK_EARLY_STOP_BITS.
2028         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
2029         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
2030         `early-stop-bits'.
2031
2032         * config/ia64/ia64.c (ia64_dfa_new_cycle,
2033         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
2034         instead of TARGET_TUNE_STOP_BITS.
2035
2036         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
2037         `-mearly-stop-bits'.
2038
2039         * config/ia64/ia64.c (automata_option "v"): Comment it.
2040
2041         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
2042
2043         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
2044         New macros.
2045         (TARGET_SWITCHES): Add entries for the new option.
2046
2047         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
2048         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
2049         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
2050         global variables.
2051         (ia64_sched_reorder2): Set up `clocks'.
2052         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
2053         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
2054         queue when TARGET_TUNE_STOP_BITS.
2055         (bundling): Insert additional nops for MM-insns.
2056         (final_emit_insn_group_barriers): Add insertion of stop bits
2057         according `stops_p'.
2058         (ia64_reorg): Initiate the new varibales.
2059
2060         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
2061
2062         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
2063
2064         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
2065         insns at the end of block insn scheduling.
2066
2067         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
2068
2069         * sched-deps.c (remove_dependence, group_leader): Remove it.
2070         (add_dependence): Add dependence to group leader to.
2071         (set_sched_group_p): Add dependence to the first insn of the
2072         schedule group too.
2073         (sched_analyze_insn): Make dependence to jump as anti-dependence.
2074         Change true dependence by anti-dependence when
2075         `reg_pending_barrier'.
2076
2077         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
2078         add_branch_dependences): Ignore schedule groups.
2079
2080         * sched-ebb.c (init_ready_list): Ditto.
2081
2082         * (move_insn, set_priorities): Ditto.
2083
2084         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
2085         flag is clear after reload.
2086         (adjust_cost): Change cost only for output dependencies.
2087
2088         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
2089
2090         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
2091
2092         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
2093
2094         * target.h (gcc_target): Add member
2095         `dependencies_evaluation_hook'.
2096
2097         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
2098         macro.
2099         (TARGET_SCHED): Add initiatialization of the new member.
2100
2101         * sched-ebb.c: Include `target.h'.
2102         (schedule_ebb): Call `dependencies_evaluation_hook'.
2103
2104         * sched-rgn.c (schedule_region): Call
2105         `dependencies_evaluation_hook'.
2106
2107         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2108         New macro.
2109         (ia64_dependencies_evaluation_hook): New function.
2110
2111         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2112         Describe the new hook.
2113
2114         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
2115
2116         * target.h (gcc_target): Add members
2117         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
2118
2119         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
2120         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
2121         macros.
2122         (TARGET_SCHED): Add initiatialization of the new members.
2123
2124         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
2125         insn scheduling too.
2126         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
2127         initialize `ready_try'.
2128         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
2129         `dfa_new_cycle' says not to do it.
2130
2131         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
2132         bundling.
2133
2134         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
2135
2136         * config/ia64/ia64.c: Include `hashtab.h'.
2137         (ia64_first_cycle_multipass_dfa_lookahead_guard,
2138         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
2139         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
2140         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
2141         bundle_state_eq_p, insert_bundle_state,
2142         initiate_bundle_state_table, finish_bundle_state_table,
2143         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
2144         get_template, get_next_important_insn, bundling): New functions.
2145         (ia64_internal_sched_reorder): Remove it.
2146         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2147         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
2148         (ia64_safe_itanium_requires_unit0): Remove it.
2149         (group_barrier_needed_p): Place group barrier right before a real
2150         insn.
2151         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
2152         Remove them.
2153         (bundle_name): New variable.
2154         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
2155         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
2156         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
2157         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
2158         temp_dfa_state, prev_cycle_state): New global variables.
2159         (insn_matches_slot, maybe_rotate, finish_last_head,
2160         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
2161         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
2162         find_best_packet, itanium_reorder, dump_current_packet,
2163         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
2164         (sched_data, sched_ready, sched_types): Remove them.
2165         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
2166         `init_insn_group_barriers'.
2167         (ia64_sched_reorder, ia64_sched_reorder2): Call
2168         ia64_dfa_sched_reorder.
2169         (ia64_variable_issue): Rewrite it.
2170         (bundle_state): New structure.
2171         (index_to_bundle_states, bundle_states_num,
2172         allocated_bundle_states_chain, free_bundle_state_chain): New
2173         global variables.
2174         (ia64_sched_finish): Add stop bits and call `bundling' after the
2175         2nd insn scheduling.
2176         (ia64_use_dfa_pipeline_interface): Return zero always.
2177         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
2178         insn scheduling.
2179         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
2180         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
2181         (ia64_reorg): Add bundling insns.
2182
2183         * doc/tm.texi
2184         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2185         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
2186
2187         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
2188
2189         * config/ia64/ia64.md: Add Itanium1 DFA description.
2190         (itanium_class): Add `nop' and `pre_cycle'.  Add
2191         define_function_unit for `nop'.
2192         (nop): Change attribute `itanium_class'.
2193         (pre_cycle): New define_insn.
2194
2195         * config/ia64/ia64-protos.h (bundling_p): New external variable.
2196         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
2197         ia64_produce_address_p): New function prototypes.
2198
2199         * config/ia64/ia64.c (bundling_p): New global variable.
2200         (ia64_use_dfa_pipeline_interface,
2201         ia64_first_cycle_multipass_dfa_lookahead,
2202         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
2203         functions.
2204         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2205         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2206         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
2207         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
2208         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
2209         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
2210         (dfa_pre_cycle_insn): New variable.
2211
2212         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2213
2214         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
2215         constructions.
2216
2217         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
2218         New function prototypes.
2219
2220         * genattrtab.c (main): Process the new constructions.
2221
2222         * genautomata.c (gen_presence_absence_set,
2223         process_presence_absence_names, process_presence_absence_patterns,
2224         add_presence_absence, check_absence_pattern_sets): Add parameter
2225         `final_p'.
2226         (unit_decl): Add new members `final_presence_list' and
2227         `final_absence_list'.
2228         (unit_pattern_rel_decl): Add new member `final_p'.
2229         (gen_final_presence_set, gen_final_absence_set): New functions.
2230         (process_decls): Use member `final_p'.
2231         (temp_reserv): New global variable.
2232         (reserv_sets_are_intersected): Add processing `final_presence_set'
2233         and `final_absence_set'.
2234         (initiate_states): Allocate `temp_reserv'.
2235         (unit_final_presence_set_table, unit_final_absence_set_table): New
2236         gloabal variables.
2237         (initiate_presence_absence_pattern_sets): Initiate them.
2238         (NDFA_to_DFA): Fix typo.
2239         (output_description): Output `final_presence_set' and
2240         `final_absence_set'.
2241
2242         * doc/md.texi (final_presence_set, final_absence_set): Describe
2243         them.
2244
2245         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2246
2247         * genautomata.c (transform_3): Process a missing case (nothing on
2248         unit place).
2249
2250         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2251
2252         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
2253         comments about queried units and the minimization.
2254
2255         * doc/md.texi: Ditto.
2256
2257         * genautomata.c (create_composed_state): Return nonzero if the new
2258         state has been created.
2259         (first_cycle_unit_presence): New function.
2260         (state_is_differed): Add new parameter.  Use the new function.
2261         Take queried units into account.
2262         (partition_equiv_class): Pass additional parameter to
2263         `state_is_differed'.
2264         (merge_states): Process composed states too.
2265         (build_automaton, create_automata, output_min_issue_delay_table,
2266         output_tables, output_statistics): Output more information.
2267         (output_reserved_units_table): Use function
2268         `first_cycle_unit_presence'.
2269         (output_tables): Output table of queried units even if the
2270         minimization is switched on.
2271         (write_automata): Output code for querying units even if the
2272         minimization is switched on.
2273
2274         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
2275
2276         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
2277         syntax of the constructions.
2278
2279         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
2280         extended syntax of the constructions.
2281
2282         * genautomata.c (unit_rel_decl): Rename it to
2283         `unit_pattern_rel_decl'.
2284         (pattern_set_el, pattern_reserv): New structures.
2285         (pattern_set_el_t, pattern_reserv_t): New types.
2286         (gen_presence_absence_set): New function.
2287         (process_presence_absence): Remove it.
2288         (process_presence_absence_names,
2289         process_presence_absence_patterns): New functions.
2290         (get_presence_absence_set): Remove it.
2291         (initiate_presence_absence_sets): Rename it on
2292         `initiate_presence_absence_pattern_sets'.  Use new function
2293         `form_reserv_sets_list'.
2294         (form_reserv_sets_list, check_presence_pattern_sets,
2295         check_absence_pattern_sets, output_pattern_set_el_list): New
2296         functions.
2297         (unit_decl): Change types of members `presence_list' and
2298         `absence_list'.
2299         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
2300         (decl): Change types of members `excl', `presence', and `absence'.
2301         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
2302         at the end of the vector.
2303         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
2304         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
2305         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
2306         (gen_presence_set, gen_absence_set): Use new function
2307         `gen_presence_absence_set'.
2308         (add_presence_absence): Process `pattern_list' instead of
2309         `source_list'.
2310         (process_decls): USe new functions
2311         `process_presence_absence_names' and
2312         `process_presence_absence_patterns'.
2313         (reserv_sets_are_intersected): Use new function
2314         `check_presence_pattern_sets'.
2315         (presence_set, absence_set): Remove them.
2316         (unit_presence_set_table, unit_absence_set_table): New global
2317         variables.
2318         (output_description): Use new function
2319         `output_pattern_set_el_list'.
2320         (generate): Use `initiate_presence_absence_pattern_sets'.
2321
2322         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
2323
2324         * genattr.c (main): Add output of prototype of new interface
2325         function `dfa_clean_insn_cache'.
2326
2327         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
2328         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
2329         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
2330         the generated code.
2331         (write_automata): Call the new function.
2332
2333 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
2334
2335         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
2336         correctly.
2337
2338 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
2339
2340         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
2341
2342 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
2343
2344         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
2345         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
2346         (CONSTRAINT_LEN): Provide default definition.
2347         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2348         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
2349         (EXTRA_CONSTRAINT_STR): Likewise.
2350         (REG_CLASS_FROM_CONSTRAINT): Define.
2351         * genoutput.c (check_constraint_len, constraint_len): New functions.
2352         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
2353         constraint / modifier.
2354         (gen_insn): Call check_constraint_len.
2355         * local-alloc.c (block_alloc): Update to use new macros / pass
2356         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
2357         * ra-build.c (handle_asm_insn): Likewise.
2358         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
2359         (constrain_operands, peep2_find_free_register): Likewise.
2360         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
2361         * regmove.c (find_matches): Likewise.
2362         * reload.c (push_secondary_reload, find_reloads): Likewise.
2363         (alternative_allows_memconst): Likewise.
2364         * reload1.c (maybe_fix_stack_asms): Likewise.
2365         (reload_cse_simplify_operands): Likewise.
2366         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
2367         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
2368         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2369         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
2370         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
2371         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
2372
2373         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
2374
2375 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2376
2377         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
2378         length.
2379         (*extzv_1_r_h8300hs): Likewise.
2380         (*extzv_1_r_inv_h8300): Likewise.
2381         (*extzv_1_r_inv_h8300hs): Likewise.
2382
2383 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2384
2385         * config/h8300/h8300.h (PREDICATE_CODES): New.
2386
2387 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2388
2389         * config/h8300/h8300.md (*addsi3_upper): New.
2390         (*iorsi3_shift): Likewise.
2391         (two splitters): Likewise.
2392         (*addsi3_shift): Likewise.
2393         (two splitters): Likewise.
2394
2395 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
2396
2397         * Makefile.in (optabs.o): Add dependency on basic-block.h.
2398         * basic-block.h (control_flow_insn_p): Fuction was exported.
2399         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
2400         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
2401         notes only when the region is contained in a single basic block.
2402
2403 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
2404
2405         PR inline-asm/8832
2406         * tree.h (expand_asm): New prototype.
2407         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
2408         to do so.
2409         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
2410         down to expand_asm.
2411         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
2412         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
2413         (volatile_refs_p) [ASM_INPUT]: Likewise.
2414         (side_effects_p) [ASM_INPUT]: Likewise.
2415
2416 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
2417
2418         * i386.md (*mul*): FIx constraints; remove confused comment; fix
2419         athlon_decode attributes
2420         (imul/k8 optimization peep2s): New.
2421
2422         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
2423         * i386.md (type attribute): Add ssecomi.
2424         (unit, memory, prefix attributes): Handle ssecomi.
2425         (cvt?2? patterns): Fix athlon_decode attribute
2426         (comi patterns): Set attribute to ssecomi.
2427
2428         PR target/8343
2429         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
2430
2431 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
2432
2433         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
2434         that match register_operands.
2435         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
2436         register_operand the default case.
2437
2438 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
2439
2440         PR c/8032
2441         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
2442         an empty element, do not advance the pointer to unfilled
2443         fields if there are pending initializers.
2444
2445 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2446
2447         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
2448         (install-gcc-tooldir, install-cpp, installdirs,
2449         install-common, install-driver, install-info, install-man,
2450         install-headers, install-include-dir, install-headers-tar,
2451         install-headers-cpio, install-headers-cp, install-mkheaders,
2452         install-collect2, uninstall): Prepend $(DESTDIR) to
2453         destination paths in all (un)installation commands.
2454         (install-driver): Rewrite $(LN) commands to support DESTDIR
2455         with "ln" as well as with "ln -s".
2456         (installdirs): Simply use mkinstalldirs.
2457         (install-libgcc, install-multilib): Also pass DESTDIR.
2458         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
2459         installation destination variable ldir.
2460         * config/alpha/t-osf4, config/arm/t-netbsd,
2461         config/ia64/t-hpux, config/mips/t-iris5-6,
2462         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
2463         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
2464         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
2465         in the definition of SHLIB_INSTALL.
2466         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
2467         $(libsubdir) in the installation commands.
2468
2469 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2470
2471         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
2472         non-optimizing compile.
2473         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
2474         compile.
2475
2476 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
2477
2478         * config/i386/i386.c (ix86_attribute_table): Add new attributes
2479         ms_struct and gcc_struct.
2480         (ix86_handle_struct_attribute): New function.
2481         (ix86_ms_bitfield_layout_p): Update to take new attributes
2482         into account.
2483         * doc/extend.texi: Document new attributes.
2484         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
2485
2486 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
2487
2488         PR optimization/8750
2489         * config/i386/i386.c (ix86_expand_prologue): Don't allow
2490         scheduling pass to move insns across __alloca call.
2491
2492 2003-01-08  Dale Johannesen  <dalej@apple.com>
2493
2494         * config/rs6000/rs6000.md:  Replace *store_multiple_string
2495         with *stmsi[3-8].
2496
2497 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
2498
2499         PR target/9210
2500         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
2501         Set SYMBOL_REF_FLAG on local data sym_ref.
2502
2503 2003-01-08  Dale Johannesen  <dalej@apple.com>
2504
2505         * function.c (assign_parms):  Don't set pretend_args_size if
2506           REG_PARM_STACK_SPACE.
2507           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
2508           pretend_args_size.
2509
2510 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2511
2512         * gcc.hlp: Delete.
2513
2514 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
2515
2516         * i386.c  (ix86_expand_int_addcc): Fix thinko.
2517
2518 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
2519
2520         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
2521         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
2522         as hook_bool_tree_hwi_hwi_tree_true.
2523         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
2524         (rs6000_emit_epilogue): Same.
2525         (rs6000_output_mi_thunk): Re-implement as RTL.
2526         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
2527         xcoffout_declare_function if any debugging enabled.
2528
2529 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
2530
2531         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
2532         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
2533         * config/mips/mips.h (enum processor_type): Rename
2534         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
2535         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
2536         Add PROCESSOR_M4K.
2537         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
2538         (ISA_MIPS32R2): New define.
2539         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
2540         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
2541         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
2542         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
2543         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
2544         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
2545         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
2546         compiling MIPS16 code.
2547         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
2548         comment.
2549         (ISA_HAS_SEB_SEH): New define.
2550         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
2551         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
2552         processor_type value renaming.  Add support for MIPS32R2.
2553         Clean up comments, and move "sb1" entry with other MIPS64 CPU
2554         entries.
2555         (override_options): Reimplement -mipsN option handling so that
2556         it will work correctly for -mips32r2.  Avoid branch-likely
2557         instructions on MIPS32R2.
2558         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
2559         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
2560         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
2561         (extendhisi2_hw, extendqisi2_hw): New.
2562         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
2563         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
2564         MIPS32R2, and MIPS64.
2565         (LINK_SPEC): Pass -mips32r2 to linker.
2566         * config/mips/t-isa3264: Built -mips32r2 multilibs.
2567         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
2568         for mips32r2 in the -march description.  Alphabetically sort
2569         CPU names in the -march description.  Add long-missed -mips32
2570         and -mips64 to MIPS option summary.
2571
2572         * config.gcc: Update copyright years to include 2003.
2573         * config/mips/mips.c: Likewise.
2574         * config/mips/mips.h: Likewise.
2575         * config/mips/mips.md: Likewise.
2576         * config/mips/netbsd.h: Likewise.
2577         * doc/invoke.texi: Likewise.
2578
2579 2003-01-08  Andreas Schwab  <schwab@suse.de>
2580
2581         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
2582         variable.
2583         * configure: Regenerated.
2584
2585 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2586
2587         * config/h8300/h8300.c (output_logical_op): Replace byte/word
2588         extraction of det with b0, b1, w0, w2, etc.
2589         (compute_logical_op_length): Likewise.
2590         (compute_logical_op_cc): Likewise.
2591
2592 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2593
2594         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
2595         HIGH on all variants.
2596
2597 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
2598
2599         * Makefile.in (PARTITION_H): New.
2600         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
2601         * basic-block.h: Include hard-reg-set.h.
2602
2603 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
2604
2605         * arm.h (ENABLE_XF_PATTERNS): Delete.
2606         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
2607         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
2608         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
2609         (cmpxf_trap): Delete.
2610         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
2611
2612 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2613
2614         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
2615         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
2616         (add??cc): New expanders.
2617         * i386.c (expand_int_addcc): New function.
2618         * i386-protos.h (expand_int_addcc): Declare.
2619
2620         * alias.c (memory_modified_1): New static function.
2621         (memory_modified): New static varaible.
2622         (memory_modified_in_insn_p): New global function.
2623         * rtl.h (memory_modified_in_insn_p): Declare.
2624         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
2625         references.
2626
2627         * expr.h (emit_conditional_add): Declare.
2628
2629 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
2630
2631         PR other/8947
2632         * doc/invoke.texi (-malign-double): Explain that the option breaks
2633         binary compatibility.
2634
2635 2003-01-08  Andreas Schwab  <schwab@suse.de>
2636
2637         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
2638         should come from the generic *-*-linux* entry.
2639
2640 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
2641
2642         * cselib.c (cselib_current_insn_in_libcall): New static variable.
2643         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
2644         we are inside libcall.
2645         * cselib.h (elt_loc_list): Add in_libcall.
2646         * gcse.c (do_local_cprop): Do not copy propagate using insns
2647         in libcalls.
2648
2649 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
2650
2651         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
2652         not normally affect to issue rate.
2653
2654 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2655
2656         * genopinit.c (optabs): Add addc_optab.
2657         * ifcvt.c (noce_try_store_flag): Rename to ...
2658         (noce_try_addcc): ... this one; handle generic conditional increment.
2659         (noce_process_if_block): Update noce_try_addcc call.
2660         * optabs.c (emit_conditional_add): New.
2661         (init_obtabs): Initialize addc_optab.
2662         * optabs.h (optab_index): Add OTI_addcc.
2663         (addcc_optab): New macro.
2664         * md.texi: Document addMcc
2665
2666         PR target/8322
2667         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
2668         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2669         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2670
2671         * reload1.c (delete_output_reload): Avoid repeated attempts
2672         to delete insn.
2673
2674 2003-01-07  Andreas Schwab  <schwab@suse.de>
2675
2676         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
2677         Move --enable-initfini-array check ...
2678         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
2679         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
2680         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
2681         * configure: Rebuild.
2682
2683 2003-01-07  Richard Henderson  <rth@redhat.com>
2684
2685         * alias.c (find_base_value): Only use new_reg_base_value shortcut
2686         if the register is set once.
2687
2688 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
2689
2690         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2691         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2692         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2693
2694 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2695             Sunil Davasam  <sunil.k.davasam@intel.com>
2696
2697         PR libstdc++/9076
2698         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2699         DW_CFA_same_value, read next and ignore.
2700
2701 2003-01-07  Richard Henderson  <rth@redhat.com>
2702
2703         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2704
2705 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2706
2707         * cfg.c: Include alloc-pool.h
2708         (edge_pool): New pool.
2709         (bb_pool): New pool.
2710         (first_deleted_edge): Remove.
2711         (first_deleted_block): Remove.
2712         (init_flow): Alloc/free the pools.
2713         (free_edge): Use pools.
2714         (alloc_block): Ditto.
2715         (expunge_block): Ditto.
2716         (cached_make_edge): Ditto.
2717
2718         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2719
2720 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2721
2722         * et-forest.c: Include alloc-pool.h.
2723         (struct et_forest): Add node_pool and occur_pool.
2724         (et_forest_create): Create the new pools.
2725         (et_forest_delete): Delete them.
2726         (et_forest_add_node): Allocate and free using pools.
2727         (et_forest_add_edge): Ditto.
2728         (et_forest_remove_node): Ditto.
2729         (et_forest_remove_edge): Ditto.
2730
2731         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2732
2733 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2734
2735         * config/h8300/h8300.c (output_logical_op): Simplify and
2736         optimize the handling of SImode.
2737         * config/h8300/h8300.c (compute_logical_op_length): Update
2738         accordingly.
2739         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2740
2741 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2742
2743         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2744         big-endian correction to indirect arguments too.
2745
2746 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2747
2748         Segher Boessenkool  <segher@koffie.nl>
2749
2750         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2751         (alt_reg_names): Ditto, fix formatting.
2752         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2753
2754 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2755
2756         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2757         (output_logical_op): Constify intval and det.
2758         (compute_logical_length): Likewise.
2759         (compute_logical_cc): Likewise.
2760         (output_a_shift): Constify mask.
2761         (h8300_encode_label): Constify len.
2762
2763 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2764
2765         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2766         (h8300_expand_epilogue): Likewise.
2767
2768 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2769
2770         Segher Boessenkool  <segher@koffie.nl>
2771
2772         * config/rs6000/altivec.md: Remove spaces from assembler
2773         instruction argument lists.
2774
2775 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2776
2777         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2778         c4x_assembler_function_p.
2779         (c4x_null_epilogue_p): Complement return value, all uses updated.
2780         (c4x_insert_attributes): Add naked.
2781         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2782         * doc/extend.texi: Update C4x function attributes.
2783
2784 2003-01-06  Richard Henderson  <rth@redhat.com>
2785
2786         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2787         properly when changing "local-ness".
2788         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2789
2790 2003-01-06  Dale Johannesen  <dalej@apple.com>
2791
2792         * config/darwin-protos.h:  Add prototypes for new section functions.
2793
2794 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2795
2796         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2797         to EABI.
2798
2799 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2800
2801         * hwint.h: If the current compiler has no 64-bit type at all,
2802         make HOST_WIDEST_INT 32 bits.
2803
2804 2003-01-06  Eric Christopher  <echristo@redhat.com>
2805
2806         * config/mips/mips.md (movdf_internal2): Fix constraints.
2807
2808 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2809
2810         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2811
2812 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2813
2814         * config/mips/mips.md (leadi): Use dla rather than la.
2815
2816 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2817
2818         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2819         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2820
2821 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2822
2823         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2824         redefinition.
2825
2826 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2827
2828         * config/h8300/h8300.md (*extzv_8_23): New.
2829
2830 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2831
2832         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2833         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2834         USE_EH_FRAME_REGISTRY when defining.
2835
2836 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2837
2838         * config/h8300/h8300.c (output_a_shift): Do not output a
2839         variable shift.
2840         * config/h8300/h8300.md (two splitters): New.
2841
2842 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2843
2844         * config/mips/mips.md: Disable the movstrsi define_split.
2845
2846 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2847
2848         * alloc-pool.c: Don't include "libiberty.h".
2849         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2850         * convert.c (convert_to_real): Hide unused variable.
2851
2852 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2853
2854         * Makefile.in (gtyp-gen.h): Const-ify.
2855         * gcov-dump.c (tag_table): Likewise.
2856
2857 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2858
2859         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2860         of *both* the file name and the fix name.
2861
2862 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2863
2864         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2865         collect2.
2866         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2867         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2868         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2869         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2870         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2871         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2872         elfos.h.
2873         (EH_FRAME_IN_DATA_SECTION): Delete define.
2874         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2875         (STARTFILE_SPEC): Use crtbegin.o.
2876         (ENDFILE_SPEC): Use crtend.o.
2877         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2878         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2879         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2880         DTOR_LIST_BEGIN): Define.
2881         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2882         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2883         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2884
2885 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2886
2887         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2888         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2889         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2890         Cleanup handling of replacement text.
2891         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2892
2893 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2894
2895         * fixinc/tests/base/math.h: removed obsolete results
2896         * fixinc/tests/base/stdlib.h: ditto
2897         * fixinc/tests/base/sys/param.h: ditto
2898         * fixinc/tests/base/sys/stat.h: ditto
2899         * fixinc/tests/base/time.h: ditto
2900         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2901         * fixinc/tests/base/sys/byteorder.h: ditto
2902         * fixinc/inclhack.def: Remove superfluous backslashes
2903
2904 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2905
2906         * config/h8300/h8300-protos.h: Add prototypes for
2907         the new functions defined below.
2908         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2909         define.
2910         (dosize): Emit RTL instead of assembly code.
2911         (push): Likewise.
2912         (pop): Likewise.
2913         (h8300_output_function_prologue): Remove.
2914         (h8300_expand_prologue): New.
2915         (h8300_expand_epilogue): New.
2916         (h8300_output_function_epilogue): Do only the reset of
2917         pragma_saveall.
2918         * config/h8300/h8300.md (push_h8300): New.
2919         (push_h8300hs): Likewise.
2920         (pop_h8300): Likewise.
2921         (pop_h8300hs): Likewise.
2922         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2923         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2924         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2925         (*ldm_h8300s_2): New.
2926         (*ldm_h8300s_3): Likewise.
2927         (*ldm_h8300s_4): Likewise.
2928         (return): Likewise.
2929         (*return_1): Likewise.
2930         (prologue): Likewise.
2931         (epilogue): Likewise.
2932         (monitor_prologue): Likewise.
2933
2934 2003-01-03  Dale Johannesen  <dalej@apple.com>
2935
2936         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2937           machopic_picsymbol_stub1.
2938           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2939         * rs6000/rs6000.c:  Update copyright.
2940           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2941
2942 2003-01-02  Jason Merrill  <jason@redhat.com>
2943
2944         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2945
2946         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2947         static/external decls.
2948
2949         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2950         outermost scope.
2951         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2952
2953 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2954
2955         * config/h8300/h8300-protos.h: Add a prototype for
2956         h8300_current_function_interrupt_function_p.
2957         * config/h8300/h8300.c (interrupt_handler): Remove.
2958         (os_task): Likewise.
2959         (monitor): Likewise.
2960         (pragma_interrupt): New.
2961         (WORD_REG_USED): Use
2962         h8300_current_function_interrupt_function_p.
2963         (dosize): Likewise.
2964         (h8300_output_function_prologue): Likewise.
2965         Do not set interrupt_handler, os_task, monitor.
2966         (h8300_output_function_prologue): Use
2967         h8300_current_function_interrupt_function_p.
2968         Do not set interrupt_handler, os_task, monitor.
2969         (h8300_current_function_interrupt_function_p): New.
2970         (h8300_pr_interrupt): Set pragma_interrupt.
2971         (h8300_insert_attributes): Reset pragma_interrupt.
2972
2973 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2974
2975         * doc/install.texi (Configuration): Fix markup for reference to
2976         gcc/config.gcc.
2977
2978 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2979
2980         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2981         (*iorhi3_two_qi): Likewise.
2982         (*iorsi3_zexthi): Likewise.
2983         (*xorhi3_zextqi): Likewise.
2984         (*xorsi3_zexthi): Likewise.
2985         (*xorsi3_zextqi): Likewise.
2986
2987 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2988
2989         * config/h8300/h8300.c (stack_pointer_operand): New.
2990         (const_int_gt_2_operand): Likewise.
2991         (const_int_ge_8_operand): Likewise.
2992         * config/h8300/h8300.md (a splitter): Likewise.
2993         (a peephole2): Likewise.
2994         * config/h8300/h8300-protos.h: Add prototypes for the new
2995         functions above.
2996
2997 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2998
2999         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
3000         objc/objc-act.h: Fix copyright years.
3001
3002 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3003
3004         * doc/passes.texi: Fix documentation for -fssa-ccp
3005
3006 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
3007
3008         * gccbug.in: Update for new categories.
3009
3010 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3011
3012         * config/h8300/h8300.md: Reorder some patterns.
3013
3014 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3015
3016         * config/h8300/h8300.c (output_logical_op): Fix a warning.
3017
3018 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3019
3020         * config/darwin-protos.h, config/c4x/c4x-protos.h,
3021         config/cris/cris-protos.h, config/i370/i370-protos.h,
3022         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
3023         config/v850/v850-protos.h: Use struct, and don't conditionally
3024         compile on GCC_C_PRAGMA_H.
3025
3026 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3027
3028         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
3029         * config/h8300/h8300-protos.h: Likewise.
3030         * config/sh/sh-protos.h: Likewise.
3031
3032 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3033
3034         * config/arm/arm-protos.h: Use struct cpp_reader instead of
3035         cpp_reader.
3036         * config/h8300/h8300-protos.h: Likewise.
3037         * config/sh/sh-protos.h: Likewise.
3038
3039 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3040
3041         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
3042         arm_pr_long_calls_off): Use struct.
3043         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
3044         : Similarly.
3045         Don't include cpplib.h.
3046         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
3047         sh_pr_nosave_low_regs): Similarly.
3048
3049 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3050
3051         * config/h8300/h8300.c: Include cpplib.h.
3052
3053 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3054
3055         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
3056           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
3057           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
3058           "GCC" in the copyright header.
3059
3060 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3061
3062         * c-pragma.c (c_register_pragma): New.
3063         (init_pragma): Use it.
3064         * c-pragma.h (cpp_register_pragma): Don't declare.
3065         (c_register_pragma): New.
3066         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
3067         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
3068         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
3069         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3070         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
3071         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
3072         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
3073         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
3074         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
3075         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
3076         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
3077         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
3078
3079 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3080
3081         * config/h8300/h8300-protos.h: Update the prototypes.
3082         * config/h8300/h8300.c (const_le_2_operand): Change to
3083         const_int_le_2_operand.
3084         (const_int_le_6_operand): Change to const_int_le_6_operand.
3085         * config/h8300/h8300.md (two peepholes): Update the function
3086         names.
3087
3088 2002-12-31  Tom Tromey  <tromey@redhat.com>
3089
3090         * doc/install.texi (Testing): Fixed typo.
3091
3092 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3093
3094         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
3095         (TRAMPOLINE_SIZE): Support the normal mode.
3096         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
3097
3098 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
3099
3100         * c-common.h (pending_lang_change): Declare.
3101
3102 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
3103
3104         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
3105         descriptions.
3106
3107 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
3108
3109         * gcc/doc/invoke.texi (Optimization Options): List the options
3110         enabled by each -O flag.
3111
3112 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3113
3114         * doc/install.texi (Configuration): Explicitly refer
3115         gcc/config.gcc for a list of cpu models.
3116
3117 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3118
3119         * config/h8300/h8300.h: Fix comment typos.
3120
3121 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
3122
3123         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
3124
3125 2002-12-30  Tom Tromey  <tromey@redhat.com>
3126
3127         * doc/install.texi (Testing): Mention Jacks.
3128
3129 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3130
3131         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
3132
3133 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3134
3135         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
3136         cases.
3137         (compute_logical_op_length): Update to reflect the change in
3138         output_logical_op.
3139         (compute_logical_op_cc): Likewise.
3140
3141 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3142
3143         * doc/service.texi: Uncomment and update FAQ link.
3144
3145 2002-12-30  Andreas Jaeger  <aj@suse.de>
3146
3147         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
3148
3149 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3150
3151         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
3152
3153 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3154
3155         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
3156         are clearing the most significant byte.
3157         (compute_logical_op_length): Update to reflect the change in
3158         output_logical_op.
3159         (compute_logical_op_cc): Likewise.
3160
3161 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3162
3163         * config/h8300/h8300.md: Give internal names to anonymous
3164         insns.
3165
3166 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3167
3168         * config/h8300/h8300.md: Reorder some insns.
3169
3170 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3171
3172         * config/h8300/h8300-protos.h: Add prototypes for
3173         const_int_qi_operand and const_int_hi_operand.
3174         * config/h8300/h8300.c (const_int_qi_operand): New.
3175         (const_int_hi_operand): Likewise.
3176         * config/h8300/h8300.md (three peepholes): New.
3177
3178 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3179
3180         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
3181         Use @copying.
3182
3183 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3184
3185         * configure.in: Increase makeinfo version requirement to 4.[2-9].
3186         * configure: Regenerate.
3187         * doc/install.texi: Update Texinfo version requirement.
3188
3189 2002-12-28  Andreas Jaeger  <aj@suse.de>
3190
3191         * config/i386/i386.c (x86_function_profiler): Mark labelno as
3192         possibly unused.
3193
3194         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
3195         correct format.
3196
3197 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
3198
3199         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
3200         *iorhi_ashift_8.
3201         (*iorhi_lshiftrt_8): New.
3202
3203 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
3204
3205         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
3206
3207 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3208
3209         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
3210
3211 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3212
3213         * config/h8300/h8300-protos.h: Fix comment typos.
3214         Update copyright.
3215         * config/h8300/h8300.c: Fix comment typos.
3216
3217 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3218
3219         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
3220
3221 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3222
3223         * config/i386/athlon.md: Fix comment typos.
3224         * config/i386/crtdll.h: Likewise.
3225         * config/i386/djgpp.h: Likewise.
3226         * config/i386/i386-interix.h: Likewise.
3227         * config/i386/i386.c: Likewise.
3228         * config/i386/i386.h: Likewise.
3229         * config/i386/i386.md: Likewise.
3230         * config/i386/k6.md: Likewise.
3231         * config/i386/mingw32.h: Likewise.
3232         * config/i386/pentium.md: Likewise.
3233         * config/i386/sco5.h: Likewise.
3234         * config/i386/winnt.c: Likewise.
3235         * config/i386/xmmintrin.h: Likewise.
3236
3237 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
3238
3239         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
3240         INSN_P before checking to see if it is dead.
3241         (mark_all_insn_unnecessary): Similarly.
3242         (ssa_eliminate_dead_code): Similarly.
3243         * rtl.h (struct rtx_def): Update comments for in_struct usage
3244         in dead code elimination pass.
3245         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
3246
3247 2002-12-26  Andreas Schwab  <schwab@suse.de>
3248
3249         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
3250
3251 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
3252
3253         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
3254         tartet_flags_explicit.
3255         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
3256         Compact target_flags bits.
3257         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
3258         (TARGET_SWITCHES): Delete references to *_SET flags.
3259
3260 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
3261
3262         * i386.md (memory attribute): Fix setcc attribute.
3263
3264 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3265
3266         * output.h: Fix comment typos.
3267         * predict.c: Likewise.
3268         * print-tree.c: Likewise.
3269         * profile.c: Likewise.
3270         * ra-build.c: Likewise.
3271         * ra-colorize.c: Likewise.
3272         * ra-debug.c: Likewise.
3273         * ra-rewrite.c: Likewise.
3274         * ra.c: Likewise.
3275         * ra.h: Likewise.
3276         * real.c: Likewise.
3277         * recog.c: Likewise.
3278         * reg-stack.c: Likewise.
3279         * regclass.c: Likewise.
3280
3281 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3282
3283         * config/h8300/h8300.c (print_operand_address): Do not negate
3284         a negative number when printing one.
3285
3286 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3287
3288         * config/h8300/h8300-protos.h: Add prototypes for
3289         output_plussi, compute_plussi_length, and compute_plussi_cc.
3290         * config/h8300/h8300.c (output_plussi): New.
3291         (compute_plussi_length): Likewise.
3292         (compute_plussi_cc): Likewise.
3293         * config/h8300/h8300.md (addsi_h8300h): Call
3294         output_plussi, compute_plussi_length, and compute_plussi_cc.
3295
3296 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
3297
3298         * config/h8300/h8300.md (two peepholes): Use match_dup instead
3299         of match_operand in the new patterns.
3300
3301 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3302
3303         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
3304
3305 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
3306
3307         * configure.in (enable-coverage): Add SELF_COVERAGE.
3308         * profile.c (end_branch_prob): Use SELF_COVERAGE.
3309
3310 2002-12-24  Jim Wilson  <wilson@redhat.com>
3311
3312         * alias.c (record_set): Handle multi-reg hard registers.
3313
3314 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
3315
3316         * regmove.c: Fix comment typos.
3317         * reload.c: Likewise.
3318         * reload1.c: Likewise.
3319         * resource.c: Likewise.
3320         * rtl.def: Likewise.
3321         * rtl.h: Likewise.
3322         * rtlanal.c: Likewise.
3323         * sched-deps.c: Likewise.
3324         * sched-rgn.c: Likewise.
3325         * sibcall.c: Likewise.
3326         * simplify-rtx.c: Likewise.
3327         * ssa-ccp.c: Likewise.
3328         * ssa.c: Likewise.
3329         * stmt.c: Likewise.
3330         * stor-layout.c: Likewise.
3331         * system.h: Likewise.
3332         * tlink.c: Likewise.
3333         * toplev.c: Likewise.
3334         * tracer.c: Likewise.
3335         * tree-inline.c: Likewise.
3336         * tree.c: Likewise.
3337         * tree.h: Likewise.
3338         * unroll.c: Likewise.
3339         * varasm.c: Likewise.
3340
3341 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
3342
3343         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
3344         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
3345         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
3346         DG/UX entries.
3347         * doc/md.texi: Remove AMD 29K entries.
3348         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
3349         1.38.1, NewsOS, RT PC, WE32K entries.
3350
3351 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
3352
3353         PR/8763
3354         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
3355         (altivec_vspltisw_v4sf): Name pattern.
3356         (altivec_vslw_v4sf): New pattern.
3357
3358 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
3359
3360         * doc/include/gcc-common.texi: Define DEVELOPMENT.
3361
3362 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
3363
3364         * stor-layout.c (update_alignment_for_field): Correct handling of
3365         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
3366         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
3367         bitfield does not affect alignment.
3368
3369 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
3370
3371         * expr.c (expand_assignment): Apply special treatment to
3372         ARRAY_TYPE.
3373
3374 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
3375
3376         * config/h8300/h8300-protos.h: Update the prototype of
3377         expand_a_shift.
3378         * config/h8300/h8300.c (expand_a_shift): Change the return
3379         type to void.
3380         * config/h8300/h8300.md: Update all the uses of
3381         expand_a_shift.
3382
3383 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
3384
3385         * tree.c (save_expr): Allow either side of a dyadic operand to be
3386         constant.
3387
3388         * doc/portability.texi (portability): Update portability goals.
3389
3390 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
3391
3392         * config/h8300/h8300.c (output_a_shift): Remove unused code.
3393
3394 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
3395
3396         * stor-layout.c (update_alignment_for_field): Guard use of
3397         ADJUST_FIELD_ALIGN with #ifdef.
3398
3399         * stor-layout.c (update_alignment_for_field): Use
3400         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
3401         bitfield when PCC_BITFIELD_TYPE_MATTERS.
3402
3403 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3404
3405         * genautomata.c: Fix comment typos.
3406
3407 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3408
3409         * params.def (tracer-min-branch-probability-feedback): Fix default.
3410         * final.c (compute_alignments): Use profile to avoid code bloat.
3411
3412 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3413
3414         * config/h8300/h8300.c (get_shift_alg): Make shift insn
3415         sequences end with a valid cc0 whenever possible.
3416
3417 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3418
3419         * config/h8300/h8300.md (negsf2): New.
3420         (*negsf2_h8300): Likewise.
3421         (*negsf2_h8300hs): Likewise.
3422
3423 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
3424
3425         * integrate.c (output_inline_function): Don't hold private
3426         pointers to 'struct function' over GC calls.
3427
3428 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
3429
3430         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
3431         NO_FPSCR_VALUES.
3432         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
3433
3434 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3435
3436         * config/h8300/h8300.md (zero_extendqisi2): Correct the
3437         length.
3438
3439 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3440
3441         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
3442         second alternative "#".
3443         (*zero_extendqihi2_h8300hs): Likewise.
3444         (a define_split): New.
3445
3446 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3447
3448         * config/h8300/h8300-protos.h: Update the prototype for
3449         split_adds_subs.
3450         Add prototypes for const_le_2_operand and const_le_6_operand.
3451         * config/h8300/h8300.c (split_adds_subs): Add an argument to
3452         specify whether inc/dec should be used when possible.
3453         (const_le_2_operand): New.
3454         (const_le_6_operand): Likewise.
3455         * config/h8300/h8300.md (two peepholes): New.
3456
3457 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3458
3459         * config/fr30/fr30.md: Fix a comment typo.
3460         * config/i386/i386.c: Likewise.
3461         * config/ip2k/ip2k.h: Likewise.
3462
3463 2002-12-20  Jim Wilson  <wilson@redhat.com>
3464
3465         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
3466         (__ev_subw, __ev_subiw): New.
3467         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
3468         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
3469
3470 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
3471
3472         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
3473         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
3474         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
3475         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
3476
3477 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
3478
3479         * config/h8300/h8300-protos.h: Add prototypes for
3480         incdec_operand and eqne_operator.
3481         * config/h8300/h8300.c (incdec_operand): New.
3482         (eqne_operator): Likewise.
3483         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
3484         (CONST_OK_FOR_O): Likewise.
3485         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
3486         CONST_OK_FOR_O.
3487         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
3488         (addhi3_incdec): New.
3489         (addsi3_incdec): Likewise.
3490         (two peepholes): Likewise.
3491
3492 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
3493
3494         * config/h8300/h8300.c (dosize): Remove warnings.
3495         (print_operand): Likewise.
3496
3497 2002-12-20  Richard Henderson  <rth@redhat.com>
3498
3499         * config/alpha/alpha.c (decl_has_samegp): New.
3500         (samegp_function_operand): Use it.  Rename from
3501         current_file_function_operand.
3502         (direct_call_operand): Handle -msmall-text via symbol->jump.
3503         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
3504         (tls_symbolic_operand_type): Likewise.
3505         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
3506         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
3507         (alpha_end_function): Set symbol->jump for functions defined in
3508         the text section.
3509         * config/alpha/alpha-protos.h: Update.
3510         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
3511         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
3512         (PREDICATE_CODES): Update.
3513         * config/alpha/alpha.md (call patterns): Update for
3514         samegp_function_operand rename; use !samegp reloc if
3515         TARGET_EXPLICIT_RELOCS.
3516         * doc/invoke.text: Document -msmall-text and -mlarge-text.
3517
3518 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
3519
3520         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
3521         all registers capable of holding a double float.
3522         (*rcond): change name of "reverse branch" insns to
3523         something more meaningful.
3524         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
3525         comparisons properly.
3526         (*ffs): Change operand 0 from write to read-modify-write.
3527         (*ffsssi2): Drop constraints from define_expand.
3528
3529         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
3530         MOVE_RATIO as default for store operations.
3531
3532         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
3533         LONG_REGS class.
3534         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
3535         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
3536         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
3537
3538         * config/ns32k/STATUS: New File
3539         * config/ns32k/NOTES: New file.
3540
3541 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
3542
3543         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
3544         option for S/390 and zSeries.
3545         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
3546         s390_arch_string): New variables.
3547         (override_options): Checking for options and setting of
3548         appropriate target_flags, cpu and arch flags.
3549         * config/s390/s390.h: (processor_type): New enum.
3550         (TARGET_SWITCHES): New switches -mesa/zarch.
3551         * config/s390/s390.md: New attribute 'cpu'.
3552
3553 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3554
3555         * c-pretty-print.h: Fix comment typos.
3556         * integrate.c: Likewise.
3557         * varasm.c: Likewise.
3558         * config/c4x/c4x.h: Likewise.
3559         * config/c4x/c4x.md: Likewise.
3560         * config/fr30/fr30.md: Likewise.
3561         * config/frv/frv.c: Likewise.
3562         * config/h8300/h8300.c: Likewise.
3563         * config/i386/i386.c: Likewise.
3564         * config/i386/i386.h: Likewise.
3565         * config/ia64/ia64.c: Likewise.
3566         * config/ia64/ia64.h: Likewise.
3567         * config/ip2k/ip2k.md: Likewise.
3568         * config/m68hc11/m68hc11-crt0.S: Likewise.
3569         * config/m68hc11/m68hc11.h: Likewise.
3570         * config/m68hc11/m68hc11.md: Likewise.
3571         * config/m68hc11/m68hc12.h: Likewise.
3572         * config/mcore/mcore.md: Likewise.
3573         * config/mips/mips.c: Likewise.
3574         * config/mips/mips.md: Likewise.
3575         * config/mmix/mmix-modes.def: Likewise.
3576         * config/pa/pa.c: Likewise.
3577         * config/rs6000/rs6000.c: Likewise.
3578         * config/rs6000/rs6000.h: Likewise.
3579         * config/rs6000/rs6000.md: Likewise.
3580
3581 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3582
3583         * config/h8300/h8300.md (output_a_shift): Clean up the code to
3584         output shifts using rotation.
3585
3586 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3587
3588         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
3589
3590 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3591
3592         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
3593         pointer.
3594         (pushqi_h8300hs): Likewise.
3595         (pushhi_h8300): Likewise.
3596         (pushhi_h8300hs): Likewise.
3597
3598 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
3599
3600         * sched-rgn.c (init_regions): Update comment.
3601
3602 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
3603
3604         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
3605         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
3606         attributes.
3607         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
3608         (get_vrsave_internal,set_vrsave_internal): Same.
3609         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
3610         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
3611         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
3612
3613 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3614             Danny Smith  <dannysmith@users.sourceforge.net>
3615             Eric Kohl  <ekohl@rz-online.de>
3616
3617         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
3618         attributes incompatible with fastcall attribute.
3619         (ix86_handle_regparm_attribute): Likewise.
3620
3621         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
3622         fastcall types.
3623
3624         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3625         attributes.
3626         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
3627         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
3628         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
3629         i386_pe_output_labelref rather than here.
3630         (gen_fastcall_suffix): New function. Decorates a label name with the
3631         fastcall prefix (@) and the stdcall suffix.
3632         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
3633         has a fastcall attribute.
3634         (i386_pe_output_labelref): New function. Outputs a label reference.
3635         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
3636         valid attribute.
3637         (ix86_return_pops_args): Fastcall functions pop the stack.
3638         (init_cumulative_args): Reserve registers ECX and EDX if function has
3639         fastcall attribute.
3640         (function_arg): Use registers ECX and EDX if function has fastcall
3641         attribute.
3642         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
3643         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
3644         (FASTCALL_PREFIX): Define as '@'.
3645         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3646         attributes.
3647         * doc/extend.texi: Add documentation of fastcall attribute.
3648
3649 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3650
3651         * configure.in: FORBUILD when build!=host changed from
3652         ../$build-alias to ../build-$build_alias to match change made
3653         in top directory.
3654         * configure: Regenerated.
3655
3656 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3657
3658         PR optimization/8988
3659         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
3660         the biv when eliminating.
3661
3662 2002-12-19  Devang Patel  <dpatel@apple.com>
3663         * gcc.c (struct default_compiler): Recognizes input file name with
3664         .CPP extension as C++ source files
3665         * cp/lang-spec.h: Same
3666         * doc/invoke.texi:  Add documentation for .CPP support.
3667
3668 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
3669
3670         PR 8553
3671         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
3672         registers.
3673         ("absv16qi2"): Same.
3674         ("absv4si2"): Same.
3675         ("absv4sf2"): Same.
3676         ("altivec_abss_v16qi"): Same.
3677         ("altivec_abss_v8hi"): Same.
3678         ("altivec_abss_v4si"): Same.
3679
3680 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
3681
3682         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
3683         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
3684
3685 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3686
3687         PR target/8340
3688         * stmt.c (expand_asm_operands): Produce an error when
3689         the PIC register is clobbered.
3690
3691 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
3692
3693         * Makefile.in (OBJS): Add alloc-pool.o
3694         (alloc-pool.o): New object.
3695
3696         * alloc-pool.c: New file.
3697         * alloc-pool.h: New file.
3698
3699 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
3700
3701         * gcc.c (validate_switches): Robustify against skipping past '\0'.
3702
3703 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3704
3705         * config.gcc: Set extra_objs in the generic Darwin rule,
3706         not in the machine-specific rules.
3707
3708 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3709
3710         * ChangeLog: Follow spelling conventions.
3711         * ChangeLog.2: Likewise.
3712         * ChangeLog.4: Likewise.
3713         * ChangeLog.5: Likewise.
3714         * cppexp.c: Likewise.
3715         * df.c: Likewise.
3716         * gcov.c: Likewise.
3717         * gengtype.c: Likewise.
3718         * reload1.c: Likewise.
3719         * sched-rgn.c: Likewise.
3720         * stmt.c: Likewise.
3721         * stor-layout.c: Likewise.
3722         * timevar.c: Likewise.
3723         * toplev.c: Likewise.
3724         * tree.h: Likewise.
3725         * varasm.c: Likewise.
3726         * config/fr30/fr30.md: Likewise.
3727         * config/i386/i386.c: Likewise.
3728         * config/ia64/ia64.c: Likewise.
3729         * config/pa/pa.c: Likewise.
3730
3731 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3732
3733         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3734
3735 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3736
3737         PR 8551
3738         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3739         macro.
3740         (vec_cmplt C++ functions): Reverse arguments.
3741
3742 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3743
3744         * config/rs6000/t-rs6000: Move contents to t-fprules,
3745         add rules for dependencies of rs6000.o and to build rs6000-c.o
3746         * config/rs6000/t-fprules: New file from t-rs6000.
3747         * config/rs6000/t-beos: Remove soft-fp rules.
3748         * config/rs6000/t-ppccomm: Likewise.
3749         * config/rs6000/t-newas: Likewise.
3750         * config/rs6000/t-rs6000-c-rule: Delete.
3751         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3752         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3753         Create generic Darwin rules.
3754
3755         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3756
3757 2002-12-18  Doug Evans  <dje@sebabeach.org>
3758
3759         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3760         and LIT_NAME_P.
3761         (move_src_operand): Remove compile-time warning.
3762         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3763
3764 2002-12-18  Jason Merrill  <jason@redhat.com>
3765
3766         * unwind-dw2-fde.c (frame_downheap): Split out from...
3767         (frame_heapsort): Here.
3768
3769 2002-12-17  Jason Merrill  <jason@redhat.com>
3770
3771         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3772         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3773
3774         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3775
3776         * calls.c (expand_call): Don't try to be clever about expanding
3777         the return slot address.
3778
3779 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3780
3781         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3782         Define.
3783
3784 2002-12-17  Jason Merrill  <jason@redhat.com>
3785
3786         * genmultilib: Use 'cd ./foo'.
3787
3788 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3789
3790         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3791
3792 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3793
3794         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3795         * doc/cpp.texi: Likewise.
3796         * doc/extend.texi: Likewise.
3797         * doc/gty.texi: Likewise.
3798         * doc/install.texi: Likewise.
3799         * doc/invoke.texi: Likewise.
3800         * doc/md.texi: Likewise.
3801         * doc/passes.texi: Likewise.
3802         * doc/rtl.texi: Likewise.
3803         * doc/sourcebuild.texi: Likewise.
3804         * doc/tm.texi: Likewise.
3805
3806 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3807
3808         * doc/invoke.texi: Minor spelling and grammar fixes.
3809
3810 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3811
3812         * config/s390/s390.c (s390_output_constant_pool): Replace
3813         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3814
3815 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3816
3817         * convert.c (convert_to_real): Disable function transformation for
3818         now.
3819
3820 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3821
3822         * gcc.c (handle_braces): Allow '@' as a switch name.
3823
3824 2002-12-16  Jason Merrill  <jason@redhat.com>
3825
3826         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3827         with special struct-return ABIs.
3828
3829         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3830         doesn't match the begin SCOPE_STMT in partialness.
3831
3832 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3833
3834         * genmultilib: Create temporary files in unique subdirectory.
3835
3836         * gcc.c (validate_switches): Allow '@' as a switch name.
3837
3838 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3839
3840         * Makefile.in (gcov-iov.h): Improve portability.
3841
3842 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3843
3844         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3845         gas
3846         * mips.md (tablejump insn): Likewise.
3847
3848 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3849
3850         * doc/include/gcc-common.texi: Change version number to 3.4.
3851
3852 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3853
3854         * fixinc/fixlib.h: add: #include <signal.h>
3855         * fixinc/fixincl.c: remove: #include <signal.h>
3856
3857 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3858
3859         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3860         (EXTRA_CONSTRAINT): Use it.
3861         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3862
3863 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3864
3865         * config.gcc (need_64bit_hwint): New variable.
3866         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3867         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3868         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3869         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3870         Set it.
3871         (powerpc*-*-darwin*): Unset it.
3872         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3873         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3874         deleted/nonexistent xm-*.h headers.
3875         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3876         target set need_64bit_hwint in config.gcc.
3877         * configure, config.in: Regenerate.
3878
3879         * hwint.h: Overhaul.  Don't bother trying int for
3880         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3881         decision to force 64-bit HOST_WIDE_INT on
3882         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3883         not visible at this point.  Don't allow prior definition of
3884         any macro defined by this file.
3885
3886         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3887         HOST_BITS_PER_WIDE_INT.
3888         * config/c4x/c4x.h: Adjust redefinition of
3889         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3890         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3891         config/i386/xm-i386-interix.h: Delete file.
3892
3893 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3894             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3895
3896         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3897         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3898
3899 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3900
3901         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3902
3903 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3904
3905         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3906         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3907         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3908         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3909         config/v850/t-v850:  Correct dependencies and normalize
3910         compilation commands for files that include coretypes.h and tm.h.
3911
3912         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3913         not config.h and system.h.
3914
3915 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3916
3917         * i386.c (flags_reg_operand):  New function.
3918         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3919         * i386.md (cmov splitter, movqicc): Use new predicate.
3920
3921 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3922
3923         * i386.md (movqicc splitter): Fix template.
3924
3925 2002-12-13  Jason Merrill  <jason@redhat.com>
3926
3927         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3928         * calls.c (expand_call): Handle it.
3929         * tree-inline.c (struct inline_data): Remove target_exprs field.
3930         (optimize_inline_calls): Don't initialize it.
3931         (expand_call_inline): Don't modify it.  Handle
3932         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3933         (declare_return_variable): Take return slot addr.
3934         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3935         to return_slot_addr.
3936         * langhooks-def.h, langhooks.c: Adjust.
3937         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3938         a decl with no DECL_INITIAL.
3939
3940         * expr.c (expand_expr): Don't discard the target of a call which
3941         returns in memory.
3942
3943 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3944
3945         * cppinit.c (path_include): Take an environment variable name.
3946         Tidy up.
3947         (init_standard_includes): Simplify environment handling, and
3948         move to ...
3949         (cpp_read_main_file): ...here as -nostdinc should not affect
3950         environment variable paths.
3951
3952 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3953
3954         * pa.c (output_millicode_call): Correct typo.
3955         (output_call): Likewise.
3956
3957 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3958
3959         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3960         operand's range.  Print value directly, without aid from
3961         output_address.
3962         <case U>: New.
3963         <case S>: Make sure argument to fprintf has the right type.
3964         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3965         (EXTRA_CONSTRAINT): Adjust.
3966         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3967         bclr.  Use %U for immediate operands of bset and bclr.
3968         (iorqi3): New expand, with insns for AM33 and mn10300.
3969
3970 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3971
3972         * sh.c (sh_register_operand): New function.
3973         (prepare_move_operands): Use it.
3974         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3975         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3976         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3977         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3978         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3979         (movv2si_i): Likewise.
3980
3981 2002-12-13  Jim Wilson  <wilson@redhat.com>
3982
3983         * doc/extend.texi (Complex Numbers): Update info on debug info.
3984
3985 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3986
3987         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3988         alternative.
3989
3990 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3991
3992         * hooks.h (hook_tree_tree_bool_false): Declare
3993         hook_bool_tree_tree_false instead.
3994
3995 2002-12-12  Devang Patel  <dpatel@apple.com>
3996
3997         * doc/invoke.texi: Document Darwin linker options, -bundle
3998         -bind_at_load, -all_load and -arch_errors_fatal
3999
4000 2002-12-12  Jim Wilson  <wilson@redhat.com>
4001
4002         * dbxout.c (dbxout_fptype_value): New.
4003         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
4004
4005 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4006
4007         * c-decl.c: Fix a comment typo.
4008         * cfg.c: Likewise.
4009         * cfgcleanup.c: Likewise.
4010         * cfglayout.c: Likewise.
4011         * cfgrtl.c: Likewise.
4012         * c-typeck.c: Likewise.
4013         * dominance.c: Likewise.
4014         * dwarf2asm.c: Likewise.
4015         * dwarfout.c: Likewise.
4016         * expmed.c: Likewise.
4017         * expr.c: Likewise.
4018         * final.c: Likewise.
4019         * flow.c: Likewise.
4020         * function.c: Likewise.
4021         * gcc.c: Likewise.
4022         * genautomata.c: Likewise.
4023         * integrate.c: Likewise.
4024         * loop.c: Likewise.
4025         * loop.h: Likewise.
4026         * output.h: Likewise.
4027         * profile.c: Likewise.
4028         * ra.h: Likewise.
4029         * reload1.c: Likewise.
4030         * reload.c: Likewise.
4031         * sched-rgn.c: Likewise.
4032         * stmt.c: Likewise.
4033         * tree.h: Likewise.
4034         * vmsdbgout.c: Likewise.
4035
4036 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4037
4038         * config/h8300/h8300.md: Add a new peephole2.
4039
4040 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4041
4042         * config/h8300/h8300.md (a peephole2): Accept a constant
4043         that's accepted by CONST_OK_FOR_J.
4044
4045 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4046
4047         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
4048         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
4049         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
4050         (*addhi_h8300hs): Likewise.
4051
4052 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
4053
4054         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
4055         (sh_register_move_cost): Add clause for SImode fp-fp moves.
4056         Increase cost for moves involving multiple general purpose registers.
4057         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
4058         TARGET_FMOVD.
4059         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
4060         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
4061         (enum reg_class reg_class_from_letter): No longer const.
4062         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
4063         REGCLASS_HAS_GENERAL_REG.
4064         Handle SImode moves from/to fp registers.
4065         ! TARGET_SHMEDIA && TARGET_FMOVD.
4066         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
4067         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
4068
4069 2002-12-12  Andreas Schwab  <schwab@suse.de>
4070
4071         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
4072         change and some warnings.
4073
4074 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4075
4076         * doc/md.texi (pushm): Fix a typo.
4077
4078 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
4079
4080         * config/mips/mips.c (mips_output_conditional_branch): Support
4081         PIC-safe out-of-range branch and branch-likely.
4082         * config/mips/mips.md (attr length): PIC-safe out-of-range
4083         branches are longer.
4084         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
4085         unused code to support indirect jumps.
4086
4087 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
4088
4089         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
4090         $(tm_file_list).
4091
4092 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
4093
4094         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
4095
4096 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
4097
4098         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
4099
4100 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4101
4102         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
4103         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
4104         BIGGEST_ALIGNMENT.
4105         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
4106         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
4107
4108 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4109
4110         * doc/invoke.texi: Correct dump file names.
4111
4112 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4113
4114         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
4115         name to globalize_label or assemble_name.
4116
4117 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
4118
4119         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
4120         if not TARGET_SHMEDIA.
4121
4122 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
4123
4124         * sh.h (REG_CLASS_HAS_FP_REG): New.
4125         (REGISTER_MOVE_COST) Use it.  Put body into a function and
4126         move it into:
4127         * sh.c (sh_register_move_cost).
4128         * sh-protos.h (sh_register_move_cost): Declare.
4129
4130         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
4131         (sh_adjust_cost): Always return a value.
4132
4133 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
4134
4135         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
4136         (REGISTER_MOVE_COST): Use it.
4137
4138 2002-12-11  Richard Henderson  <rth@redhat.com>
4139
4140         * tree.h (MODULE_LOCAL_P): Kill.
4141         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
4142
4143 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4144
4145         * config/h8300/h8300.md (two define_peephole2): New.
4146
4147 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4148
4149         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
4150         (CONST_OK_FOR_K): Likewise.
4151         (CONST_OK_FOR_M): Likewise.
4152         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
4153
4154 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
4155
4156         * c-common.c (builtin_define_type_max): Handle unsigned
4157         types too.
4158
4159 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
4160
4161         * haifa-sched.c (rank_for_schedule): Correct style.
4162
4163 2002-12-10  Per Bothner  <pbothner@apple.com>
4164
4165         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
4166         directive_index into an unsigned field and a new is_directive field.
4167         * cppinit.c (mark_named_operators):  Update to set new fields.
4168         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
4169         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
4170         No longer need to subtract 1 from directive_index.
4171         (_cpp_init_directives):  No longer need to add 1 to directive_index.
4172         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
4173
4174 2002-12-10  Roger Sayle  <roger@eyesopen.com>
4175
4176         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
4177         check for evaluating sqrt of a constant at compile time.
4178         * simplify-rtx.c (simplify_unary_operation): Likewise.
4179
4180 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
4181
4182         PR other/8882
4183         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
4184
4185 2002-12-10  Devang Patel  <dpatel@appple.com>
4186
4187         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
4188         * doc/invoke.texi: Add new "Darwin Options" section.
4189
4190 2002-12-10  Jim Wilson  <wilson@redhat.com>
4191
4192         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
4193         memory.
4194
4195 2002-12-10  Andrew Haley  <aph@redhat.com>
4196
4197         * cse.c (cse_insn): Don't cse past a basic block boundary.
4198
4199 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
4200
4201         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
4202         -shared.
4203         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
4204         * config/alpha/linux.h (LIB_SPEC): Likewise.
4205         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
4206         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
4207         * config/sparc/linux.h (LIB_SPEC): Likewise.
4208         * config/sparc/linux64.h (LIB_SPEC): Likewise.
4209
4210 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
4211
4212         * doc/invoke.texi: Document UltraSparc III option.
4213
4214 2002-12-09  Richard Henderson  <rth@redhat.com>
4215
4216         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
4217         __tune_pentium2__ and __tune_pentium3__ as necessary.
4218
4219 2002-12-09  Richard Henderson  <rth@redhat.com>
4220
4221         * target.h (gcc_target): Add cannot_force_const_mem.
4222         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
4223         (TARGET_INITIALIZER): Add it.
4224         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
4225         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
4226         * reload1.c (reload): Likewise.
4227         * hooks.c (hook_bool_rtx_false): New.
4228         * hooks.h: Declare it.
4229
4230         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
4231         (TARGET_CANNOT_FORCE_CONST_MEM): New.
4232         (ix86_expand_move): Remove de-const-pooling hack.
4233
4234 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
4235
4236         * toplev.c (dump_file): Fix order to match reality.
4237
4238 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
4239
4240         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
4241         (store_multiple): Likewise.
4242
4243 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4244
4245         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
4246         function pointers in page 0.
4247
4248 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4249
4250         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
4251         definition
4252         (MEMBER_TYPE_FORCES_BLK): Move.
4253         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
4254         aggregate arguments.
4255         (ia64_function_value): Use PARALLEL to return aggregate values.
4256
4257 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4258
4259         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4260         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4261         * calls.c (store_unaligned_arguments_into_pseudos) Remove
4262         FUNCTION_ARG_REG_LITTLE_ENDIAN.
4263         * stmt.c (expand_return): Ditto.
4264         * expr.c (move_block_from_reg): Ditto.
4265         (copy_blkmode_from_reg): Ditto.
4266         * expmed.c (store_bit_field): Ditto.
4267
4268 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
4269
4270         * config.gcc: Added tic4x-* target as an alias to c4x-*
4271
4272 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
4273
4274         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
4275         constructing insn directly.
4276
4277 2002-12-06  Per Bothner  <pbothner@apple.com>
4278
4279         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
4280         char to an int bit-field, for hosts where char is unsigned.
4281
4282 2002-12-07  Roger Sayle  <roger@eyesopen.com>
4283             Richard Henderson <rth@redhat.com>
4284
4285         * real.c (ieee_extended_motorola_format,
4286         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
4287         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
4288         Provide appropriate values for new signbit field.
4289
4290 2002-12-07  Roger Sayle  <roger@eyesopen.com>
4291
4292         * real.h (real_format): Add signbit field.
4293         * real.c (ieee_single_format, ieee_double_format,
4294         ieee_extended_motorola_format, ieee_extended_intel_96_format,
4295         ieee_extended_intel_128_format, ibm_extended_format,
4296         ieee_quad_format, vax_f_format, vax_d_format,
4297         vax_g_format, i370_single_format, i370_double_format,
4298         c4x_single_format, c4x_extended_format, real_internal_format):
4299         Provide suitable signbit value, or -1 to avoid bit twiddling.
4300
4301         * optabs.c (expand_unop): Try implementing negation of
4302         floating point modes by flipping the sign bit.
4303         (expand_abs): Try implementing abs of floating point modes
4304         by clearing the sign bit.
4305
4306 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4307
4308         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
4309         of constructing insn directly.
4310
4311 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
4312
4313         * config/h8300/h8300.md (*iorhi_shift_8): New.
4314
4315 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
4316
4317         * doc/invoke.texi: Document FRV port options.
4318         * doc/md.texi: Document FRV register classes.
4319
4320 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4321
4322         * doc/install.texi (Configuration): Improve description of cases
4323         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
4324
4325 2002-12-06  Per Bothner  <pbothner@apple.com>
4326
4327         * cpplib.h (NODE_MACRO_ARG):  New flag.
4328         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
4329         Remove value.operator field.  Move arg_index field to value union.
4330         (directive_index):  Make signed, since also used for C++ operators.
4331         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
4332         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
4333         Save node->value, and set node->value.arg_index.
4334         (_cpp_create_definition):  For each paramater, restore node->value.
4335         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
4336         * cpptrad.c (scan_out_logical_line): Likewise.
4337         (scan_out_logical_line): Check for directive > 0.
4338         * cpplib.c (cpp_handle_directive):  Likewise.
4339         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
4340         by negative of directive_index.
4341         * cppinit.c (mark_named_operators):  Likewise.
4342
4343         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
4344
4345 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
4346
4347         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
4348         FPU.
4349         (push): Generate push_fpscr.
4350         (pop): Generate pop_fpscr.
4351         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
4352         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
4353
4354 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
4355
4356         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
4357         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
4358
4359 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4360
4361         * sh.md (movdi_i): Name.  Remove inappropriate comment.
4362
4363 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
4364         Merged from basic improvements branch (excerpt):
4365
4366         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4367         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4368
4369 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
4370
4371         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
4372
4373 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
4374
4375         * i386.md (dimode peep2s): Re-add "&& 1".
4376
4377 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
4378
4379         * i386.c (ix86_expand_prologue):  Add comment, do not use
4380         fast prologues for cold and normal functions.
4381
4382 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4383
4384         * i386.c (x86_rep_movl_optimal): New variable.
4385         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
4386         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
4387
4388         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4389         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4390         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4391         generate unnecesary subregs.
4392
4393 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4394
4395         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
4396         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
4397
4398 2002-12-05  Dale Johannesen  <dalej@apple.com>
4399
4400         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
4401
4402 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
4403
4404         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
4405         PROFILE_HOOK.
4406         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
4407
4408 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
4409
4410         * config/rs6000/spe.h (__ev_mwlufi): Remove.
4411         (__ev_mwlufia): Remove.
4412         (__ev_mwlumfaaw): Remove.
4413         (__ev_mwlusfaaw): Remove.
4414         (__ev_mwlumfanw): Remove.
4415         (__ev_mwlusfanw): Remove.
4416
4417 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
4418
4419         * config/h8300/h8300.md (*andorsi3_shift_8): New.
4420
4421 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
4422
4423         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
4424         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
4425         (get_shift_alg): Return optimal assembly instructions for the
4426         shifts mentioned above.
4427
4428 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
4429
4430         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
4431         condtiional moves.
4432
4433 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4434
4435         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
4436         implement ashiftrt:HI by 13 bits on H8S.
4437
4438 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4439
4440         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
4441         * pa.md (canonicalize_funcptr_for_compare): Output library call to
4442         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
4443         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
4444         CTOR_LIST_BEGIN): New defines.
4445         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
4446         (fptr.c): Add make rules.
4447
4448 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
4449
4450         * combine.c (combine_simplify_rtx): Add new canonicalizations.
4451         * doc/md.texi (Insn Canonicalizations): Document new
4452         canonicalizations for multiply/add combinations.
4453         * config/rs6000/rs6000.md: Add and modify floating add/multiply
4454         patterns to ensure they're used whenever they can be.
4455
4456 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4457
4458         * config/h8300/h8300.c: Update the comments related to shifts.
4459
4460 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
4461
4462         * config/mips/mips.md (get_fnaddr): Correct length attribute.
4463
4464 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4465
4466         * config/h8300/h8300.md (*extzv_8_8): New.
4467         (*extzv_8_16): Likewise.
4468
4469 2002-12-04  Jason Merrill  <jason@redhat.com>
4470
4471         PR c++/8461, c++/8625
4472         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
4473         references.
4474         * tree-inline.c (initialize_inlined_parameters): Likewise.
4475
4476         * tree.c (variably_modified_type_p): Just return an error_mark_node.
4477
4478 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
4479
4480         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
4481         macro instruction in a branch delay slot, to avoid assembler
4482         warnings.
4483
4484 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
4485
4486         PR c/7622
4487         * c-semantics (genrtl_scope_stmt): Do not output inlined
4488         nested functions that contain no code.
4489
4490 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
4491
4492         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
4493         to be forced into nonfallthru.
4494
4495 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
4496
4497         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
4498
4499 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
4500
4501         * config/rs6000/spe.md (*movv1di_const0): New pattern.
4502
4503 2002-12-03  Richard Henderson  <rth@redhat.com>
4504
4505         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
4506
4507 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
4508
4509         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
4510         Initialize tmp.using_obstack to 0.
4511
4512 2002-12-03  Andreas Schwab  <schwab@suse.de>
4513
4514         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
4515         (EH_RETURN_STACKADJ_RTX): Define.
4516         (EH_RETURN_HANDLER_RTX): Define.
4517         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4518         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
4519         registers and don't save fixed registers.
4520         (m68k_output_function_prologue): Use it.
4521         (use_return_insn): Likewise.
4522         (m68k_output_function_epilogue): Likewise.
4523
4524 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
4525
4526         * config/h8300/h8300.c (single_one_operand): Fix a warning.
4527         (single_zero_operand): Likewise.
4528
4529 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
4530
4531         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
4532         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
4533         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
4534         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
4535         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
4536         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
4537         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
4538         doc/install-old.texi: Replace hconfig.h with bconfig.h.
4539         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
4540
4541 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
4542
4543         * config/rs6000/rs6000.md (ffssi): Convert to expander.
4544         (ffsdi): Likewise.
4545         (cntlzw2, cntlzd2): New patterns.
4546
4547 2002-12-02  H.J. Lu <hjl@gnu.org>
4548
4549         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
4550         (mips*-*-linux*): Remove mips/t-linux.
4551
4552 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
4553
4554         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4555
4556 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4557
4558         * config/h8300/h8300.c (dosize): Replace argument op with
4559         sign.
4560         (h8300_output_function_prologue): Update the call to dosize.
4561         (h8300_output_function_epilogue): Likewise.
4562
4563 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
4564
4565         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
4566
4567 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4568
4569         * configure.in: Use "missing" script to generate warning if
4570         flex or bison programs not found, instead of invoking "false".
4571         * configure: Rebuilt.
4572
4573 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4574
4575         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
4576
4577 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
4578
4579         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4580
4581 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4582
4583         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
4584         (push): Likewise.
4585         (pop): Likewise.
4586         (h8300_output_function_prologue): Likewise.
4587         (h8300_output_function_epilogue): Likewise.
4588
4589 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
4590
4591         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4592         corresponding mode of non-integer mode, unless it is VOIDmode.
4593
4594 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4595
4596         * config/h8300/h8300.md (stm_h8300s_2): New.
4597         (stm_h8300s_3): Likewise.
4598         (stm_h8300s_4): Likewise.
4599         (five define_peephole2): Likewise.
4600
4601 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4602
4603         * ra-build.c: Fix a comment typo.
4604
4605 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4606
4607         * i386.c (ix86_expand_int_movcc): fix
4608         reversed BRANCH_COST test; be curefull about infinite recursion.
4609
4610 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4611
4612         * config/h8300/h8300.c (h8300_output_function_prologue):
4613         Remove variable idx.
4614         (h8300_output_function_epilogue): Likewise.
4615
4616 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
4617
4618         * config/frv/xm-frv.h: Delete, unnecessary.
4619
4620 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4621
4622         * config/h8300/h8300.md: Add comments for define_peephole2.
4623
4624 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
4625
4626         * builtin-types.def (BT_SIZE): Use size_type_node.
4627         * builtins.c (fold_builtin): Make the builtin strlen returns a
4628         size_t, not a sizetype.
4629         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
4630         c_size_type_node.
4631         (c_alignof_expr): Likewise.
4632         (c_common_nodes_and_builtins): Likewise.
4633         * c-common.h (CTI_C_SIZE_TYPE): Remove.
4634         (c_size_type_node): Likewise.
4635         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
4636         * tree.h (TI_SIZE_TYPE): New enumeral.
4637         (size_type_node): Likewise.
4638
4639 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
4640
4641         * configure.in: Don't put ${tm_file} into host_xm_file,
4642         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
4643         Take location of tm-preds.h into account when calculating
4644         tm_p_file_list.
4645         * configure: Regenerate.
4646         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
4647         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
4648         Remove special case code for tm_p.h and *config.h; add new
4649         special case code for tm.h and tconfig.h. Clean up a bit.
4650
4651         * Makefile.in (tm_file, tm_file_list): New variables set from
4652         @-substitutions.
4653         (GCONFIG_H): Deleted.
4654         (GTM_H, TM_H): New.
4655         (CONFIG_H): Is now just config.h $(host_xm_file_list).
4656         (TM_P_H): Move up with the other mkconfig.sh-generated
4657         headers; don't mention tm-preds.h explicitly.
4658         (tm.h, cs-tm.h): New rule.
4659         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
4660         invocations of mkconfig.sh for changes to that program.
4661         (mostlyclean): Delete print-rtl1.c.
4662         (clean): Delete tm.h.
4663         Update dependencies for the files listed below.
4664
4665         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
4666
4667         * coretypes.h: New file.
4668         * system.h: #define malloc to xmalloc and realloc to xrealloc
4669         when FLEX_SCANNER or YYBISON is defined, independent of the
4670         value of GCC_VERSION.
4671         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
4672         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
4673         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
4674         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
4675         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
4676         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
4677         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
4678         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
4679         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
4680         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
4681         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
4682         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
4683         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
4684         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
4685         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4686         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4687         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4688         genconstants.c, genemit.c, genextract.c, genflags.c,
4689         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4690         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4691         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4692         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4693         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4694         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4695         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4696         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4697         print-tree.c, profile.c, protoize.c, ra-build.c,
4698         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4699         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4700         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4701         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4702         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4703         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4704         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4705         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4706         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4707         xcoffout.c, config/darwin-c.c, config/darwin.c,
4708         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4709         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4710         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4711         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4712         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4713         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4714         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4715         config/i960/i960-c.c, config/i960/i960.c,
4716         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4717         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4718         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4719         config/mips/irix6-libc-compat.c, config/mips/mips.c,
4720         config/mmix/mmix.c, config/mn10200/mn10200.c,
4721         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4722         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4723         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4724         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4725         config/sparc/sparc.c, config/stormy16/stormy16.c,
4726         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4727         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4728         Include coretypes.h and tm.h.
4729
4730         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4731         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4732         genrecog.c: Include coretypes.h and tm.h from the file
4733         generated by this program.
4734
4735         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4736         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4737         coretypes.h and tm.h, and tsystem.h when not already included.
4738         No need to include stddef.h nor stdlib.h.
4739
4740         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4741         include auto-host.h or ansidecl.h/
4742         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4743         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4744         include auto-host.h, ansidecl.h, or system.h.
4745         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4746         and do not redefine volatile.
4747
4748 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4749
4750         * i386.md (movdf_integer):  Always enable in 64bit.
4751         (movdf_nointeger): Always disable in 64bit.
4752
4753 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4754
4755         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4756         pseudo register number plus 1.
4757
4758 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4759
4760         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4761         corresponding mode of non-integer mode, unless it is VOIDmode.
4762
4763 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4764
4765         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4766
4767         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4768
4769 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4770
4771         * config/s390/t-crtstuff: New target makefile fragment.
4772         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4773
4774 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4775
4776         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4777         alternatives to correct the length when the memory operand is
4778         either pre_dec or post_inc.
4779
4780 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4781
4782         * config/h8300/h8300.md (an anonymous pattern): Give an
4783         internal name *tst_extzv_bitqi_1_n.
4784         Accept bit_operand instead of bit_memory_operand.
4785         Do not accept bit tests with the MSB.
4786         (*tst_extzv_memqi_1_n): New.
4787
4788 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4789
4790         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4791         sharing when operand is SUBREG.
4792
4793 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4794
4795         * athlon.md (athlon-decodev): New reservation unit.
4796         (athlon-direct0): New reservation.
4797         (athlon-vector): New use athlon-decodev.
4798         (athlon-double, athlon-direct): Better model.
4799         (athlon_imul_k8): Use athlon-direct0.
4800         (athlon_movlpd_load): New insn reservation.
4801
4802 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4803
4804         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4805         Fix a comment typo.
4806         (h8300_tiny_constant_address_p): Likewise.
4807
4808 2002-11-28  Michael Matz  <matz@suse.de>
4809
4810         * doc/passes.texi: Mention the other register allocator.
4811
4812 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4813
4814         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4815
4816 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4817
4818         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4819         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4820         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4821
4822 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4823
4824         * config/h8300/h8300.c (h8300_and_costs): New.
4825         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4826         * config/h8300/h8300-protos.h: Add a prototype for
4827         h8300_and_costs.
4828
4829 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4830
4831         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4832         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4833         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4834         * i386.md (truncdfsf patterns and splitters): Use
4835         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4836
4837 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4838
4839         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4840         pointer argument in the prototypes of the following builtins
4841         be (const TYPE *) rather than (TYPE *):
4842          + __builtin_altivec_ld_internal_4sf
4843          + __builtin_altivec_ld_internal_4si
4844          + __builtin_altivec_ld_internal_8hi
4845          + __builtin_altivec_ld_internal_16qi
4846          + __builtin_altivec_lvsl
4847          + __builtin_altivec_lvsr
4848          + __builtin_altivec_lvebx
4849          + __builtin_altivec_lvehx
4850          + __builtin_altivec_lvewx
4851          + __builtin_altivec_lvxl
4852          + __builtin_altivec_lvx
4853          + __builtin_altivec_dst
4854          + __builtin_altivec_dstt
4855          + __builtin_altivec_dstst
4856          + __builtin_altivec_dststt
4857
4858 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4859
4860         * except.c (default_exception_section): Move variable into the
4861         scope where it is used.
4862
4863 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4864
4865         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4866         correct version.
4867
4868 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4869
4870         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4871
4872 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4873
4874         * config/h8300/h8300.c (h8300_shift_costs): New.
4875         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4876         * config/h8300/h8300-protos.h: Add a prototype for
4877         h8300_shift_costs.
4878
4879 2002-11-27  Jim Wilson  <wilson@redhat.com>
4880
4881         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4882         in output template.
4883
4884 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4885
4886         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4887         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4888         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4889         (i386_pe_dllimport_name_p): Likewise.
4890         (i386_pe_mark_dllexport): Likewise.
4891         (i386_pe_mark_dllimport): Likewise.
4892         (i386_pe_encode_section_info): Likewise.
4893         (i386_pe_strip_name_encoding): Likewise.
4894
4895 2002-11-27  Richard Henderson  <rth@redhat.com>
4896
4897         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4898         (nm && NF == 3): Set sawsymbol true.
4899         (END): Exit if no symbols seen.
4900         (output): Fix map syntax error if no globals for the version.
4901
4902 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4903
4904         * builtins.def (DEF_C99_BUILTIN): Fix.
4905
4906 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4907
4908         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4909         (all): Add .size and .type information.
4910
4911 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4912
4913         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4914         partial_reg_stall target.
4915
4916 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4917
4918         * i386.md (movhicc): Allow general operand.
4919         (movqicc): New expander.
4920         (movqicc_noc): New pattern.
4921         * i386.c (ix86_expand_carry_flag_compare): New function.
4922         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4923         HImode conversion; support QImode conditional moves
4924
4925 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4926
4927         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4928         (ix86_expand_prologue): Multiply the count by amount of registers to be
4929         pushed.
4930
4931 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4932
4933         * i386.c (override_options): Error about wrong -mcpu on x86-64
4934         compilation.
4935
4936 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4937
4938         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4939
4940 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4941
4942         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4943         x86_extended_reg_mentioned_p): Declare.
4944         * i386.c (extended_reg_mentioned_1): New static function.
4945         (x86_extended_QIreg_mentioned_p,
4946         x86_extended_reg_mentioned_p): New global functions.
4947         * i386.h (REX_SSE_REGNO_P): New macro.
4948         * i386.md (prefix_rex): New attribute.
4949         (length attribute): Add rex.
4950
4951 2002-11-26  Andrew Haley  <aph@redhat.com>
4952
4953         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4954         from_Unwind_Find_Enclosing_Function.
4955         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4956         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4957         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4958         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4959         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4960
4961 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4962
4963         * config/s390/s390.c (390_output_constant_pool): Set alignment
4964         before label in 64 bit mode, behind otherwise.
4965
4966 2002-11-26  Richard Henderson  <rth@redhat.com>
4967
4968         * c-common.c (handle_visibility_attribute): Accept "default".
4969         * tree.h (enum symbol_visibility): New.
4970         (decl_visibility): Declare.
4971         * target.h (gcc_target.visibility): Take visibility arg as integer.
4972         * varasm.c (default_assemble_visibility): Likewise.
4973         (decl_visibility): New.
4974         (maybe_assemble_visibility): Use it.
4975         * output.h (default_assemble_visibility): Update prototype.
4976         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4977         visibility arg as integer.
4978         * doc/extend.texi: Document default visibility.
4979
4980 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4981
4982         * config/h8300/h8300.c: Adjust spacing.
4983         * config/h8300/h8300.h: Likewise.
4984
4985 2002-11-26  Richard Henderson  <rth@redhat.com>
4986
4987         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4988         hook_void_FILEptr_constcharptr): Rename so that the return
4989         type is first.
4990         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4991         hook_bool_tree_false): New.
4992         * hooks.h: Update.
4993         * langhooks-def.h: Update for renames.
4994         * target-def.h: Likewise.
4995         * tree.c (default_comp_type_attributes,
4996         default_set_default_type_attributes, default_insert_attributes,
4997         default_function_attribute_inlinable_p,
4998         default_ms_bitfield_layout_p): Remove.
4999         * tree.h: Update.
5000
5001 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5002
5003         * pa-protos.h (function_value): New prototype.
5004         * pa.c (function_value): Use a PARALLEL to return small aggregates on
5005         TARGET_64BIT.
5006         * pa.h (FUNCTION_VALUE): Use function_value.
5007         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
5008         call_value_internal_reg, sibcall_value_internal_symref,
5009         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
5010         value.
5011
5012 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5013
5014         * expr.c (gen_group_rtx, emit_group_move): New functions.
5015         * expr.h (gen_group_rtx, emit_group_move): Prototype.
5016         * function.c (expand_function_start): Use gen_group_rtx to create a
5017         PARALLEL rtx to hold the return value when the real return rtx is a
5018         PARALLEL.
5019         (expand_function_end): Use emit_group_move to move the return value
5020         from a PARALLEL to the real return registers.
5021         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
5022         in PARALLELs.
5023
5024 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
5025
5026         * config/t-libc-ok: Fix typo.
5027
5028 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5029
5030         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
5031         before AC_PROG_CC.
5032         * configure: Rebuilt.
5033
5034 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
5035
5036         * c-decl.c: (start_struct): Commonize flag setting.
5037
5038 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
5039
5040         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
5041         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
5042         RS6000_CPU_CPP_ENDIAN_BUILTINS.
5043         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
5044
5045 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
5046
5047         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
5048         insns.
5049         * config/s390/s390.c (struct machine_function): Introduction of
5050         struct machine_function.
5051         (s390_output_symbolic_const): Use of cfun.
5052         (s390_optimize_prolog): Likewise.
5053         (s390_fixup_clobbered_return_reg): Likewise.
5054         (s390_frame_info): Likewise.
5055         (s390_emit_prologue, s390_emit_epilogue): Likewise.
5056         (s390_init_machine_status): New function.
5057         (override_options): call s390_init_machine_status.
5058         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
5059         prototype.
5060
5061 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5062
5063         * varasm.c (output_constant_pool): For pool constants in mergeable
5064         section ensure each constant is padded to multiple of entity size.
5065
5066 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5067
5068         * varasm.c (default_exception_section): Move to...
5069         * except.c (default_exception_section): ... here. Make
5070         .gcc_except_table read-only if it is not expected to have any
5071         dynamic relocations and linker handles it.
5072         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
5073         if it is not expected to have any dynamic relocations and linker
5074         handles it.
5075         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
5076         when linking read-only and read-write sections together.
5077         * configure, config.in: Rebuilt.
5078         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
5079         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
5080
5081 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
5082
5083         * i386.md (pushsf_rex64): Fix typo.
5084
5085 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
5086
5087         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
5088         new function.
5089         (__ev_create_ufix32_fs): Same.
5090         (__ev_get_sfix32_fs_internal): New.
5091         (__ev_get_sfix32_fs): Define to use function.
5092         (__ev_get_ufix32_fs_internal): New.
5093         (__ev_get_ufix32_fs): Define to use function.
5094         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
5095         (__ev_get_lower_ufix32_fs): Same.
5096         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
5097         (__ev_get_lower_sfix32_fs): Same.
5098         (__ev_set_sfix32_fs_internal): New.
5099         (__ev_set_ufix32_fs_internal): New.
5100         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
5101         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
5102         (__ev_set_upper_sfix32_fs): Call function.
5103         (__ev_set_lower_sfix32_fs): Same.
5104         (__ev_set_upper_ufix32_fs): Same.
5105         (__ev_set_lower_ufix32_fs): Same.
5106
5107 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
5108
5109         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
5110
5111 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5112
5113         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
5114         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5115         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5116         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
5117         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
5118         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5119         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
5120         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
5121         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5122         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5123         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
5124         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
5125         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
5126         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5127         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
5128         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
5129         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
5130         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
5131         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
5132         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
5133         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5134         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
5135         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
5136         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
5137         defining.
5138         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
5139         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
5140
5141 2002-11-25  Dave Pitts  <dpitts@cozx.com>
5142
5143         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
5144
5145 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
5146
5147         * config/h8300/h8300.md (an anonymous pattern): New.
5148
5149 2002-11-25  Richard Henderson  <rth@redhat.com>
5150
5151         * alias.c (find_base_value): Use new_reg_base_value if it's live.
5152         (copying_arguments): Make boolean.
5153
5154 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5155
5156         * gcc.c (static_spec_functions): Add if-exists-else spec
5157         function.
5158         (if_exists_else_spec_function): New function.
5159         * doc/invoke.texi: Document the if-exists-else spec function.
5160
5161         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
5162         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
5163
5164 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5165
5166         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
5167         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
5168         "${tmake_file} rs6000/t-netbsd".
5169         * config/rs6000/netbsd.h: Rewrite.
5170         * config/rs6000/t-netbsd: New file.
5171
5172 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
5173
5174         * config/h8300/h8300.md (an anonymous pattern): Relax the
5175         condition for the pattern.
5176
5177 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
5178
5179         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
5180         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
5181         evmwlssfanw, evmwlsmfanw.
5182
5183         * config/rs6000/rs6000.c (bdesc_2arg): Same.
5184
5185         * config/rs6000/spe.md: Same for patterns.
5186
5187 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
5188
5189         PR c/8639
5190         * fold-const.c (extract_muldiv): Don't propagate division unless
5191         both arguments are multiples of C.
5192
5193 2002-11-25  Andrew Haley  <aph@redhat.com>
5194
5195         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
5196         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
5197         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
5198         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5199
5200 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
5201
5202         * i386.c (x86_use_ffreep): New global variable.
5203         * i386.h (x86_use_frfeep): Declare
5204         (TARGET_USE_FFREEP): New macro
5205         * i386.md  (movs?f*): Use freep when asked for.
5206         (push?f): Remove dead code.
5207
5208 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
5209
5210         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
5211         target help message.
5212
5213 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5214
5215         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
5216         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
5217         crtbeginT.o".
5218         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
5219         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
5220         to "" for a.out configurations.
5221         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
5222
5223 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5224
5225         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
5226         NETBSD_CPP_SPEC directly.
5227         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
5228         netbsd_endfile_spec.
5229         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
5230
5231 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5232
5233         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
5234         NETBSD_STARTFILE_SPEC.
5235         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
5236         (ENDFILE_SPEC): Likewise.
5237         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
5238
5239 2002-11-24  Andreas Schwab  <schwab@suse.de>
5240
5241         * Makefile.in (install-driver): Remove versioned link before
5242         trying to create it.
5243
5244         * config/m68k/m68k.c: Fix typo in last change defining
5245         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
5246
5247 2002-11-23  H.J. Lu <hjl@gnu.org>
5248
5249         * aclocal.m4: Include ../config/accross.m4.
5250         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
5251         (gcc_AC_C_COMPILE_ENDIAN): Removed.
5252         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
5253         instead of $ac_cv_c_compile_endian.
5254
5255         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
5256         AC_COMPILE_CHECK_SIZEOF.
5257         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
5258         * configure: Rebuild.
5259
5260 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
5261
5262         * config/h8300/h8300.c (print_operand): Update the use of
5263         h8300_tiny_constant_address_p.
5264         (h8300_adjust_insn_length): Likewise.
5265         (h8300_tiny_constant_address_p): Check if the given rtx is a
5266         variable declared with __attribute__ ((tiny_data)).
5267
5268 2002-11-22  Dale Johannesen  <dalej@apple.com>
5269
5270         * toplev.c (rest_of_compilation):  Fix comments.
5271
5272 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
5273
5274         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
5275         allow mmap from /dev/zero.  Don't make decisions for the host
5276         based on presence or absence of /dev/zero on the build machine.
5277         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
5278         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
5279         * configure: Regenerate.
5280
5281 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
5282
5283         * gcc.c (make_relative_prefix, split_directories)
5284         (free_split_directories): Removed.
5285
5286 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
5287
5288         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
5289         * configure: Regenerated.
5290
5291 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
5292
5293         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
5294         length computation when xor.l is output.
5295
5296 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
5297
5298         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
5299         (call_vms_1, call_value_vms_1): Cleanup syntax.
5300
5301 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
5302
5303         * athlon.md (define_atuomaton): Add athlon_load.
5304         (athlon-double): New reservation.
5305         (athlon-ieu0): New CPU unit.
5306         (athlon-load?): Use athlon_load automaton.
5307         (*_k8 reservations): New.
5308         (other insn revervations): Activate for K8.
5309
5310 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5311
5312         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
5313
5314 2002-11-21  Jim Wilson  <wilson@redhat.com>
5315
5316         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
5317         vectors to SI.
5318
5319 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
5320
5321         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
5322         * config/xtensa/xtensa.c (struct machine_function): Add
5323         incoming_a7_copied flag.
5324         (xtensa_copy_incoming_a7): Define.
5325         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
5326         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
5327
5328 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
5329
5330         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
5331         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
5332         x86_64_nonmemory_operand, x86_64_movabs_operand,
5333         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
5334         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
5335         (local_symbolic_operand): Do not care the 64bit limits.
5336         (x86_64_sign_extended_value): Remove allow_rip support.
5337         (legitimate_pic_address_disp_p): Handle all cases allowed
5338         with RIP addressing.
5339         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
5340         (legitimize_pic_address): Reorganize.
5341         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
5342
5343 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5344
5345         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
5346         * config/arm/netbsd-elf.h: New file.
5347
5348 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5349
5350         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
5351         subtarget_asm_float_spec.
5352         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
5353         defaults from...
5354         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
5355
5356 2002-11-21  Nick Clifton  <nickc@redhat.com>
5357
5358         * config/fr30/fr30.md (movsf_constant_store): Move code to
5359         detect 0.0 into fr30.c.
5360         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
5361         Prototype.
5362         * config/fr30/fr30.c (fr30_const_double_is_zero): New
5363         function.  Return true if the rtx is 0.0.
5364
5365 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5366
5367         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
5368         if -mlittle-endian is specified.
5369
5370 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
5371
5372         PR optimization/2903
5373         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
5374         (anddi_notsesidi_di): Likewise.
5375
5376 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
5377
5378         * config/h8300/h8300.c (print_operand): Use
5379         h8300_eightbit_constant_address_p and
5380         h8300_tiny_constant_address_p.
5381         (h8300_adjust_insn_length): Likewise.
5382         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
5383         (TINY_CONSTANT_ADDRESS_P): Likewise.
5384         (OK_FOR_U): Use eightbit_constant_address_p.
5385
5386 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
5387
5388         * config/s390/libgcc-libc.ver: Add multilib support.
5389         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
5390         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
5391         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
5392         EXTRA_MULTILIB_PARTS): Define.
5393
5394 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
5395
5396         * arm.c (arm_get_frame_size): A leaf function does not need its
5397         stack padding to an aligned boundary if it has no frame.
5398         (thumb_get_frame_size): Likewise.
5399
5400 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
5401
5402         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
5403         (override_options): Likewise.
5404
5405 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
5406
5407         * config.gcc: Add k8 target alias support
5408         * i386.c (_cost): Declare costs for various variants of divides and
5409         multiplies.
5410         (k8_cost): New.
5411         (m_K8, m_ATHLON_K8): New macros.
5412         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
5413         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
5414         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
5415         x86_integer_DFmode_moves, x86_partial_reg_dependency,
5416         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
5417         x86_prologue_using_move, x86_epilogue_using_move,
5418         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
5419         x86_sse_typeless_stores): Set for K8
5420         (override_options): Add k8 support; fix athlon alignment;
5421         complain about non-x86-64 capable CPU being used in x86-64 compilation.
5422         (ix86_issue_rate): Set for K8.
5423         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
5424         x86_machine_dependent_reorg): Handle K8 like
5425         * i386.h
5426         (x86_costs):  Change mult_init and divide into array.
5427         (TARGET_K8, TARGET_ATHLON): New macros.
5428         (MODE_INDEX): New macro.
5429         (RTX_COST): Use new costs.
5430         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
5431         (TARGET_CPU_DEFAULT_NAMES): Add k8
5432         (TARGET_CPU_DEFAULT_k8): New constant
5433         (enum processor_type): Add PROCESSOR_K8.
5434         * i386.md (cpu attribute): Add k8.
5435
5436         * invoke.texi: Document -march=k8.
5437
5438         * i386.md (type attribute): Add leave
5439         (mode attribute): Remove unknownfp.
5440         (length_immediate, modrm, memory attributes): Handle leave correctly.
5441         (fp comparison patterns): Determine FP mode.
5442         (leave, leave_rex64): Remove special cases.
5443         * ppro.md (ppro_uops, ppro_p2): Add leave
5444         * pentiun.md (pent_pop): Handle leave too.
5445         * k6.md (k6_load): Handle leave.
5446         * athlon.md (athlon_leave, athlon_pop): Fix.
5447         (athlon_decode): Handle leave.
5448
5449 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
5450
5451         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
5452         to component type using GET_MODE_INNER.
5453         * expr.c (emit_move_insn_1): Ditto.
5454         * optabs.c (expand_binop): Ditto.
5455         (expand_unop): Ditto.
5456         (expand_complex_abs): Ditto.
5457
5458 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
5459
5460         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
5461
5462 2002-11-20  DJ Delorie  <dj@redhat.com>
5463
5464         * config/stormy16/stormy16.c (s16builtins,
5465         xstormy16_init_builtins, xstormy16_expand_builtin): New.
5466         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
5467
5468 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
5469
5470         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
5471         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
5472         (executing gencheck, genconfigs, genconditions, genflags,
5473         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
5474         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
5475         gengtype, genprotos): Prepend $(RUN_GEN).
5476         * configure.in: Move host compiler tests before --enable-checking
5477         tests.
5478         (--enable-checking=valgrind): New.
5479         * config.in, configure: Regenerate.
5480         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5481         Define as empty.
5482         (read_include_file): When doing the mmap+1 trick,
5483         valgrind-annotate the byte after the mmap:ed area as readable.
5484         (purge_cache): Remove above annotation.
5485         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
5486         VALGRIND_PATH -q to each command.
5487
5488         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5489         Define as empty.
5490         (ggc_realloc): Update valgrind annotations.
5491         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5492         Define as empty.
5493         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
5494         valgrind-annotate memory.
5495
5496 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
5497
5498         * recog.c (constrain_operands): Prefer exact match over reloadable
5499         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
5500
5501         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
5502         operands in Pmode.
5503
5504 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
5505
5506         PR c/8518
5507         * c-decl.c (duplicate_decls): Outline the second definition
5508         of an extern inline function in all cases.
5509
5510 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5511
5512         * stor-layout.c (place_field): Update rli->offset as well as
5513         rli->bitpos.
5514
5515 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5516
5517         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
5518
5519 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5520
5521         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
5522         into a libcall block.
5523         (divsi3): Likewise divsi3_i4_media.
5524
5525 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5526
5527         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
5528         out another register.
5529
5530 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
5531
5532         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
5533         (not just mask) are set in C.
5534
5535 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
5536
5537         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
5538
5539 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5540
5541         * profile.c (index_counts_file): Fix obvious mistake.
5542
5543 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5544
5545         * Makefile.in (profile.o): Add hashtab.h dependency.
5546         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
5547         * profile.c: Include hashtab.h.
5548         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
5549         cleanup_counts_index, index_counts_file, struct section_reference,
5550         struct da_index_entry, counts_file_name, counts_file_index): New.
5551         (get_exec_counts, init_branch_prob): Modified.
5552
5553 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5554
5555         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
5556         to tmake_file. Remove setting gas and gnu_ld here.
5557         * config/sh/libgcc-glibc.ver: New file.
5558         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5559         (SHLIB_MAPFILES): New.
5560         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
5561         (MD_STARTFILE_PREFIX): Likewise.
5562         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
5563         (DWARF2_UNWIND_INFO): Redefine.
5564         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5565         (LINK_EH_SPEC): Redefine.
5566         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
5567         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
5568         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
5569         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
5570         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
5571         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
5572         SH_DWARF_FRAME_FPSCR): Likewise.
5573         * config/sh/sh-protos.h (sh_set_return_address): Declare.
5574         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
5575         registers if the current function calls EH return.
5576         (sh_expand_epilogue): Handle EH stack adjustments.
5577         (sh_set_return_address): New function.
5578         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5579         Don't abort even if the number is mapped to -1.
5580         (EH_RETURN_DATA_REGNO): Define.
5581         (EH_RETURN_STACKADJ_RTX): Define.
5582         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
5583         (eh_return): New pattern.
5584         (eh_set_ra_di, eh_set_ra_si): Likewise.
5585         Add splitter to perform EH return after reload.
5586
5587 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
5588
5589         * stor-layout.c (excess_unit_span): New function.
5590         (place_field): Use it.
5591
5592 2002-11-19  Andreas Schwab  <schwab@suse.de>
5593
5594         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
5595         not valid in C++.
5596
5597 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5598
5599         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
5600         * configure: Regenerate.
5601
5602 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5603
5604         * convert.c (strip_float_extensions): New function.
5605         (convert_to_real): Optimize some cases.
5606
5607 2002-11-19  Andreas Jaeger  <aj@suse.de>
5608
5609         * loop.c (record_giv): Initialize not_replaceable.
5610         (check_final_value): Likewise.
5611
5612 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5613
5614         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
5615         MASK_H8300S.
5616
5617 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
5618
5619         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
5620         only if -mh or -ms present.
5621         (h8300_eightbit_constant_address_p): Support the normal mode.
5622         (h8300_tiny_constant_address_p): Likewise.
5623         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
5624         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
5625         (Pmode): Evaluate to HImode for the normal mode.
5626         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
5627         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
5628         (ASM_WORD_OP): Evaluate to word for the normal mode.
5629         * config/h8300/h8300.md (tablejump_normal_mode): New.
5630         (indirect_jump_normal_mode): New.
5631         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
5632         directory.
5633         (MULTILIB_DIRNAMES): Create target dependent directory
5634         'normal'.
5635         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
5636         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
5637
5638 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
5639
5640         * i386.md (length_immediate): Do not refer to insn address.
5641         (jcc*, jmp patterns):  Compute length explicitly.
5642
5643 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5644
5645         PR c/8588
5646         * optabs.c (expand_binop): Convert CONST_INTs in shift
5647         operations too.
5648
5649 2002-11-19  Roger Sayle  <roger@eyesopen.com>
5650
5651         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
5652
5653 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5654
5655         * config/h8300/h8300.md (an anonymous pattern): Relax the
5656         condition to accept the same operands and/or subregs.
5657
5658 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
5659
5660         * config/sh/sh.c (gen_shl_and): Revert previous patch.
5661         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
5662         reload_completed.
5663
5664 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5665
5666         * config/h8300/h8300.c (print_operand): Update the use of
5667         EIGHTBIT_CONSTANT_ADDRESS_P.
5668         (h8300_adjust_insn_length): Likewise.
5669         (h8300_eightbit_constant_address_p): Check if the given rtx is
5670         a variable with __attribute__((eightbit_data)).
5671         * config/h8300/h8300.h (OK_FOR_U): Update the use of
5672         EIGHTBIT_CONSTANT_ADDRESS_P.
5673
5674 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5675
5676         * doc/contrib.texi (Contributors): Add self as second contact in
5677         addition to Jeff Law.
5678
5679 2002-11-19  Andreas Jaeger  <aj@suse.de>
5680
5681         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
5682         find_alloca_call to right place.
5683
5684 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5685
5686         * cppfiles.c: Fix formatting.
5687
5688 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
5689
5690         * gcc.c (The Specs Language): Document spec functions.
5691         (static_spec_functions, lookup_spec_function)
5692         (eval_spec_function, handle_spec_function)
5693         (if_exists_spec_function, alloc_args): New.
5694         (execute): Abort if processing_spec_function is true.
5695         (do_spec_1): Hand off spec to handle_spec_function if %:
5696         is encountered.  If processing_spec_function is true,
5697         end any pending argument when the end of the string is reached.
5698         (main): Use alloc_args to allocate the initial argument vector.
5699         * gcc.h (struct spec_function): New.
5700         (lang_specific_spec_functions): New extern.
5701
5702         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5703         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5704         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
5705
5706         * doc/invoke.texi: Document spec functions.
5707
5708         * cppspec.c (lang_specific_spec_functions): New.
5709         * gccspec.c: Likewise.
5710
5711 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
5712
5713         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5714         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5715         (fixunstfsi_libfunc): Change.
5716         (fixunstfdi_libfunc): Change.
5717         (sdiv_optab): Don't zero out SImode handler.
5718         (udiv_optab): Don't zero out SImode handler.
5719         (smod_optab): Don't zero out SImode handler.
5720         (umod_optab): Don't zero out SImode handler.
5721
5722 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
5723
5724         PR preprocessor/8524
5725         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5726         Add a new one in its place, which hopefully works.
5727         (skip_rest_of_line): Change test for bottom-of-context-stack.
5728
5729 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5730
5731         * i386.md (addqi_1_slp): Fix output template.
5732         (subqi_1_slp): Fix type.
5733
5734 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5735
5736         * calls.c (alloca_call_p): New global function.
5737         * tree.h (alloca_call_p): New.
5738         * tree-inline.c (inlinable_function_p):  Do not inline when
5739         function calls alloca.
5740         (find_alloca_call, find_alloca_call_1): New functions.
5741
5742 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5743
5744         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5745         bst.  Update the insn length.
5746         (*andorhi3): Likewise.
5747         (*andorsi3): Likewise.
5748
5749 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5750
5751         * config/sh/sh-protos.h (sh_mark_label): Declare.
5752         * config/sh/sh.c (sh_mark_label): New function, taken from
5753         movdi_const, but fixing the case when the address has an addend.
5754         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5755
5756 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5757
5758         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5759         (add_constant): Set it.
5760         (dump_table): Don't reorder a constant if part_of_sequence_p.
5761         (machine_dependent_reorg): Assume that float constants will
5762         stay in their original order if used as a sequence.
5763
5764 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5765
5766         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5767         in compact code.
5768
5769 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5770
5771         * config/sh/sh.md (initialize_trampoline): Do not force the
5772         trampoline address into R0_REGS here.
5773
5774 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5775
5776         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5777         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5778         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5779         generate unnecesary subregs.
5780
5781 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5782
5783         * df.c: Fix formatting.
5784
5785 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5786
5787         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5788         lengths.
5789
5790 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5791
5792         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5793         is not an arith_reg_operand.
5794
5795 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5796
5797         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5798         is smaller than representation.
5799
5800 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5801
5802         * builtins.c: Fix formatting.
5803
5804 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5805
5806         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5807         floats?dff2_i387):
5808         Work around regclass stupidity.
5809         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5810
5811 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5812
5813         * i386.md (fop_df_6): New pattern.
5814         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5815         (fop_xf_6): Rewrite
5816         (fop_xf_7): Delete.
5817         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5818         (fop_tf_6): Rewrite
5819         (fop_tf_7): Delete.
5820
5821 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5822
5823         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5824
5825 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5826
5827         * config/h8300/h8300.md: Fix formatting.
5828
5829 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5830
5831         * config/h8300/h8300.md: Replace spaces with tabs.
5832         * config/h8300/t-h8300: Remove a trailing empty line.
5833
5834 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5835
5836         * tlink.c: Fix formatting.
5837
5838 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5839
5840         PR 8362
5841         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5842         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5843         when scratch register never needed.
5844         (ldmsi[3-8]): New patterns.
5845
5846 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5847
5848         * hard-reg-set.h: Follow spelling conventions.
5849         * real.c: Likewise.
5850         * target.h: Likewise.
5851
5852 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5853
5854         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5855
5856 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5857
5858         * optabs.c: Fix formatting.
5859
5860 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5861
5862         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5863         * i386.md (attribute type): Add type shift1 and rotate1.
5864         (*_slp): Rewrite to have just two operands to avoid reload problems.
5865
5866 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5867
5868         * config/h8300/h8300.md (4 anonymous patterns): New.
5869
5870 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5871
5872         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5873         * doc/invoke.texi: Correct description of what needs to be done to
5874         force collection at every ggc_collect call.
5875
5876 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5877
5878         * config/s390/s390.c (optimization_options): Set
5879         flag_asynchronous_unwind_tables to 1 by default.
5880
5881 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5882
5883         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5884
5885 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5886
5887         * i386-protos.h (x86_function_profiler): New function
5888         * i386.h (MCOUNT_NAME): New.
5889         (PROFILE_COUNT_REGISTER): New.
5890         (FUNCTION_PROFILER): Move offline to ...
5891         * i386.c (x86_function_profiler) ... here; fix 64bit support
5892         * beos-elf.h (FUNCTION_PROFILER): Kill.
5893         (MCOUNT_NAME): New.
5894         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5895         (MCOUNT_NAME): New.
5896         (PROFILE_COUNT_REGISTER): New.
5897         * linux.h (FUNCTION_PROFILER): Kill.
5898         (MCOUNT_NAME): New.
5899         * x86-64.h (FUNCTION_PROFILER): Kill.
5900         (MCOUNT_NAME): New.
5901         * freebsd.h (FUNCTION_PROFILER): Kill.
5902         (MCOUNT_NAME): New.
5903
5904 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5905
5906         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5907         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5908         * config/arm/arm.c (arm_va_arg,
5909         arm_function_arg_pass_by_reference): New.
5910         * config/arm/arm-protos.h: Add prototypes.
5911
5912 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5913
5914         * gthr-single.h: Fix formatting.
5915
5916 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5917
5918         * tree.c (tree_vec_elt_check_failed): New function.
5919         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5920         (TREE_VEC_ELT): Use it.
5921
5922         * tree-inline.c (optimize_inline_calls): Don't copy a
5923         zero-length vector.
5924
5925 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5926
5927         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5928
5929 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5930
5931         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5932         both operands contain local relocations.
5933         (categorize_decl_for_section): Don't use mergeable sections if
5934         initializer has any relocations.
5935
5936 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5937
5938         * gthr-vxworks.h: Fix formatting.
5939
5940 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5941
5942         * doc/install.texi (Testing): Document extra Java testing.
5943         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5944
5945 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5946
5947         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5948         beginning of the spec.
5949         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5950         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5951         regarding problems with global constructors when using GNU ld.
5952
5953 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5954
5955         * gthr-solaris.h: Fix formatting.
5956
5957 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5958
5959         * gthr-posix.h: Fix formatting.
5960
5961 2002-11-12  Devang Patel <dpatel@apple.com>
5962         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5963         (process_command): Same.
5964         * doc/invoke.texi: Info about these two new options.
5965
5966 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5967
5968         * config/h8300/h8300.md (*andorsi3): New.
5969
5970 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5971
5972         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5973
5974 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5975
5976         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5977         expressions appropriately.
5978
5979 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5980
5981         * gthr-win32.h: Fix formatting.
5982
5983 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5984
5985         * config/h8300/h8300.c (single_one_operand): Correctly compute
5986         mask when mode is SImode.
5987         (single_zero_operand): Likewise.
5988         * config/h8300/h8300.md (two new anonymous insns): New.
5989
5990 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5991
5992         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5993         to that entire project.
5994
5995 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5996
5997         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5998         directories.
5999
6000 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
6001
6002         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
6003         * doc/invoke.texi: Document them.
6004
6005         * ggc-page.c: Include params.h.  Remove definitions of
6006         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
6007         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
6008         (init_gcc): Don't set G.allocated_last_gc here.
6009         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
6010         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
6011         perform collection.
6012         * ggc-simple.c: Similarly.
6013         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
6014         dependencies.
6015
6016 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
6017
6018         * gthr-dce.h: Fix formatting.
6019
6020 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6021
6022         PR c/8467
6023         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
6024         mode of DECL_RTL case.
6025
6026 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
6027
6028         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
6029
6030 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
6031
6032         * i386.c (construct_container): Fix handling of SSE_CLASS.
6033
6034 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
6035
6036         * config/m68k/t-crtstuff (crti.o): Use this...
6037         ($(T)crti.o): ... instead.
6038         (crtn.o): Use this...
6039         ($(T)crtn.o): ... instead.
6040
6041 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
6042
6043         PR c/8439
6044         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
6045         if there is something new to be simplified.
6046
6047 2002-11-10  H.J. Lu <hjl@gnu.org>
6048
6049         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
6050         * expr.c (PUSH_ARGS_REVERSED): Likewise.
6051
6052         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
6053
6054 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
6055
6056         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
6057         * config/rs6000/linux.h, config/rs6000/linux64.h,
6058         config/rs6000/windiss.h: ... not here.
6059
6060 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
6061
6062         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
6063         __ABICALLS__ if TARGET_ABICALLS.
6064
6065 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
6066
6067         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
6068
6069 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
6070
6071         * c-decl.c (grokdeclarator): Make error for duplicate type
6072         qualifiers into a pedwarn, disabled for C99.
6073
6074 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
6075
6076         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
6077         as FUNCTION_ARG_PASS_BY_REFERENCE.
6078
6079 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
6080
6081         * doc/install.texi: Add *-*-vxworks* specific installation
6082         instructions.
6083
6084         * config/vxlib.c: Rewrite using generation numbers to identify
6085         valid TSD keys.
6086
6087 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
6088
6089         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
6090
6091 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6092
6093         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
6094
6095         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
6096         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
6097         * pa.c (output_millicode_call): Use symbol difference rather than
6098         $PIC_pcrel$0 when using HP assembler.
6099         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
6100         not elfos.h (i.e., gas) is being used.
6101         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
6102         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
6103         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
6104         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
6105         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
6106         using elfos.h.
6107         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
6108         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
6109         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
6110         using elfos.h.
6111         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6112         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
6113         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
6114         Don't define when not using elfos.h.
6115         (ASM_DECLARE_RESULT): Don't define.
6116         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
6117         doesn't work on hppa64-hp-hpux11.
6118         (hppa*-hp-hpux11): Update.
6119
6120 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
6121
6122         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
6123         to the assembler if -mno-abicalls was specified.
6124
6125 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6126
6127         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
6128         ASM_OUTPUT_DEF): Delete.
6129
6130 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
6131
6132         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
6133
6134 2002-11-08  Roger Sayle  <roger@eyesopen.com>
6135
6136         * real.c (real_sqrt): Update comment with bibliographic reference.
6137
6138 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
6139
6140         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
6141
6142 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6143
6144         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
6145
6146 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
6147
6148         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
6149         (expand_builtin): Likewise.
6150         * builtins.def: Add
6151         __builtin_floor, __builtin_floorf, __builtin_floorl
6152         __builtin_ceil, __builtin_ceilf, __builtin_ceill
6153         __builtin_round, __builtin_roundf, __builtin_roundl
6154         __builtin_trunc, __builtin_truncf, __builtin_truncl
6155         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
6156         * genopinit.c (optabs): Initialize the new optabs.
6157         * optab.c (init_optabs): Likewise.
6158         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
6159         OTI_round, OTI_nearbyint.
6160         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
6161         * doc/md.texi: Document new named patterns.
6162         * doc/extend.texi (builtin functions)  Document
6163         floor, floorf, floorl, ceil, ceilf,
6164         ceill, round, roundf, roundl, trunc,
6165         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
6166
6167 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
6168
6169         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
6170
6171 2002-11-08  Dale Johannesen  <dalej@apple.com>
6172
6173         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
6174
6175 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
6176
6177         PR preprocessor/8497
6178         PR preprocessor/8501
6179         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
6180         start a directive.  In assembler, #NUM is not a line directive.
6181
6182 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
6183
6184         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
6185         buffers.
6186
6187 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
6188
6189         * config/h8300/h8300.md (two anonymous test insns): New.
6190
6191 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6192
6193         * jump.c (mark_jump_label): Handle subregs of label_refs.
6194
6195 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
6196
6197         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
6198         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
6199
6200 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
6201
6202         * config/ia64/crtend.asm: Include "auto-host.h".
6203         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
6204         * config/ia64/crtbegin.asm: Similarly.
6205         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
6206         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
6207
6208         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
6209         * configure.in: Use it if --enable-initfini-array not specified.
6210         * doc/install.texi (Configuration): Document --enable-initfini-array.
6211         * configure, config.in: Rebuild.
6212
6213 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
6214
6215         * config/arm/arm-protos.h (arm_get_frame_size)
6216         (thumb_get_frame_size): New prototypes.
6217         * config/arm/arm.c (arm_get_frame_size)
6218         (thumb_get_frame_size): New functions.
6219         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
6220         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
6221         arm_get_frame_size.
6222         (thumb_expand_prologue, thumb_expand_epilogue): Use
6223         thumb_get_frame_size.
6224         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
6225         (machine_function): Add frame_size member.
6226         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
6227
6228 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
6229
6230         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
6231         Adjust code to use portable unsigned bit manipulation.
6232         (insn_flags, tune_flags): Change type to unsigned.
6233         (struct processors): Make flags unsigned long.
6234         (arm_override_options): Change type of count and current_bit_count
6235         to unsigned.
6236
6237 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
6238
6239         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
6240
6241 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
6242
6243         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
6244
6245 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
6246
6247         * reg-stack.c (compensate_edge): Fix sanity check.
6248
6249 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
6250
6251         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
6252         crt2.o.  Rearrange t-darwin makefiles.
6253         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
6254         * unwind-dw2-fde-darwin.c: New.
6255         * unwind-dw2-fde-glibc.c: Correct comment.
6256         * unwind-dw2-fde.c (__register_frame_info_bases)
6257         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
6258         (classify_object_over_fdes): Use last_fde.
6259         (add_fdes): Likewise.
6260         (linear_search_fdes): Likewise.
6261         * unwind-dw2-fde.h (struct object)
6262         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
6263         (last_fde): New.
6264         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
6265         (ENDFILE_SPEC): No crtend.o.
6266         * config/t-darwin: New.
6267         * config/i386/t-darwin: Delete.
6268         * config/darwin-crt2.c: New.
6269         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
6270         or config/t-darwin.
6271
6272 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
6273
6274         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
6275         MASK_MS_BITFIELD_LAYOUT
6276         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
6277         MS bitfields for Objective-C.
6278         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
6279         defines.
6280
6281         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
6282         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
6283         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
6284
6285         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
6286         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
6287         (TARGET_SWITCHES): Add above mask.
6288
6289         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
6290         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
6291         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
6292         flags for interix.
6293
6294 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
6295
6296         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
6297         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
6298         assembler.
6299         * config/mips/mips.md (tablejump_internal3): Output .cpadd
6300         before jump on ABI_N32 too.
6301         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
6302         length to match.
6303
6304 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
6305
6306         * i386.md (negsf splitter): Accept memory operand in second register.
6307         (abssf/absdf splitters): Simplify
6308         (sse_loadss, sse_loadsd): Turn into expander.
6309
6310 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
6311
6312         PR target/8480
6313         * config/rs6000/rs6000.md (movdi_internal64): Discourage
6314         FPR to FPR moves.
6315
6316 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
6317
6318         * doc/contrib.texi: Merge in the list from the Java web pages.
6319
6320 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
6321
6322         * config/sparc/freebsd: Fix typo.
6323
6324 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6325
6326         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
6327
6328 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
6329
6330         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
6331         non-SImode addresses.
6332
6333 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
6334
6335         * i386.md (float_truncate SSE splitter): Ensure that operand is not
6336         stack register.
6337         (float SSE splitters): Reorder conditional.
6338
6339 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
6340
6341         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
6342
6343 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
6344
6345         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
6346         (STARTFILE_SPEC): Remove p and pg options.
6347
6348 2002-11-05  Andrew Haley  <aph@redhat.com>
6349
6350         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
6351         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
6352
6353 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
6354
6355         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
6356         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
6357
6358 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
6359
6360         * gthr-vxworks.h: Rewritten from scratch.
6361         * config/vxlib.c: New file.
6362         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
6363         * config/rs6000/t-vxworks: Add config/vxlib.c to
6364         LIB2FUNCS_EXTRA here too, because of clash with
6365         config/rs6000/t-ppccomm.
6366
6367 2002-11-04  Dale Johannesen  <dalej@apple.com>
6368
6369         * doloop.c (doloop_modify_runtime):  Fix loop count computation
6370         for unrolled loops.
6371         * loop.c (loop_invariant_p):  Support calling from unroller.
6372
6373 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
6374
6375         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
6376         for comparison.
6377
6378 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
6379
6380         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
6381
6382         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
6383         (CLASS_CANNOT_CHANGE_MODE): Remove.
6384         (CANNOT_CHANGE_MODE_CLASS): New.
6385
6386         * config/alpha/alpha.h: Same.
6387
6388         * config/ia64/ia64.h: Same.
6389
6390         * config/mips/mips.h: Same.
6391
6392         * config/s390/s390.h: Same.
6393
6394         * config/sh/sh.h: Same.
6395
6396         * config/pa/pa64-regs.h: Same.
6397
6398         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
6399
6400         * config/sh/sh.c (sh_cannot_change_mode_class): New.
6401
6402         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
6403         prototype.
6404
6405         * config/mips/mips.c (mips_cannot_change_mode_class): New.
6406
6407         * doc/tm.texi (Register Classes): Remove
6408         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
6409         Document CANNOT_CHANGE_MODE_CLASS.
6410
6411         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
6412         (push_reload): Same.
6413
6414         * simplify-rtx.c (simplify_subreg): Same.
6415
6416         * reload1.c (choose_reload_regs): Same.
6417
6418         * recog.c (register_operand): Same.
6419
6420         * regrename.c (mode_change_ok): Change to use new
6421         CANNOT_CHANGE_MODE_CLASS infrastructure.
6422
6423         * regclass.c (cannot_change_mode_set_regs): New.
6424         Declare subregs_of_mode.
6425         (regclass): Use subregs_of_mode.
6426         Remove references to reg_changes_mode.
6427         (init_reg_sets_1): Remove class_can_change_mode and
6428         reg_changes_mode code.
6429         (invalid_mode_change_p): New.
6430         (dump_regclass): Use invalid_mode_change_p instead of
6431         class_can_change_mode.
6432         (regclass): Same.
6433         (record_operand_costs): Do not set reg_changes_mode.
6434
6435         * local-alloc.c (struct qty): Remove changes_mode field.
6436         (alloc_qty): Remove changes_mode initialization.
6437         (update_qty_class): Remove set of changes_mode.
6438         (find_free_reg): Use subregs_of_mode.
6439
6440         * global.c (find_reg): Use subregs_of_mode info.
6441
6442         * rtl.h (cannot_change_mode_set_regs): New prototype.
6443         (invalid_mode_change_p): Same.
6444         (REG_CANNOT_CHANGE_MODE_P): New macro.
6445
6446         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
6447         REG_CHANGES_MODE.
6448         (life_analysis): Clear subregs_of_mode.
6449
6450         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
6451         Remove use of CLASS_CANNOT_CHANGE_MODE.
6452         (simplify_set): Same.
6453         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
6454         REG_CHANGES_MODE.
6455
6456         * regs.h: Add extern for subregs_of_mode;
6457         Include hard-reg-set and basic-block.
6458         (REG_CHANGES_MODE): Delete.
6459
6460 2002-11-03  Roger Sayle  <roger@eyesopen.com>
6461
6462         * real.c (real_sqrt): New function to calculate square roots.
6463         * real.h (real_sqrt): Add function prototype.
6464         * builtins.c (fold_builtin): Fold sqrt of constant argument.
6465         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
6466         of constant argument.
6467
6468 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6469
6470         * jump.c (never_reached_warning): Don't set contains_insn until the
6471         first line note is seen.
6472
6473 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
6474
6475         * config/rs6000/rs6000.md (movti_string): Use string instructions.
6476
6477 2002-11-03  Roger Sayle  <roger@eyesopen.com>
6478
6479         PR c/7128
6480         * c-typeck.c (c_expand_asm_operands): Defend against
6481         error_mark_nodes in the output argument to avoid ICE.
6482
6483 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
6484
6485         PR middle-end/8408
6486         * genrecog.c (preds): Handle ADDRESSOF.
6487         (validate_pattern): Mark it as an lvalue.
6488
6489 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
6490
6491         * config/rs6000/rs6000.c (rs6000_override_options): Use string
6492         instructions when optimizing for size.
6493
6494 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
6495
6496         * config/h8300/h8300.h: Fix comment typos.
6497         * config/h8300/h8300.md: Likewise.
6498         * config/h8300/lib1funcs.asm: Likewise.
6499
6500 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6501
6502         Revert this change:
6503
6504         *doc/install.texi (Installing GCC: Configuration): Clarify
6505         the only supported ways to configure gcc.
6506
6507 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6508
6509         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
6510         instead of 'O' for the constraint for the second operand.
6511
6512 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
6513
6514         PR c++/8391
6515         * toplev.c (rest_of_compilation): Do not refuse to output code for
6516         an inline function in a local class.
6517
6518 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
6519
6520         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
6521         (TRANSFER_FROM_TRAMPOLINE): Reformat.
6522         Add comment.
6523
6524 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6525
6526         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
6527
6528 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6529
6530         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
6531
6532 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
6533
6534         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
6535         (MASK_INLINE_DIV_THR): Remove.
6536         (TARGET_INLINE_DIV_LAT): Remove.
6537         (TARGET_INLINE_DIV_THR): Remove.
6538         (TARGET_INLINE_DIV): Remove.
6539         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
6540         (MASK_INLINE_FLOAT_DIV_THR): New macro.
6541         (MASK_INLINE_INT_DIV_LAT): New macro.
6542         (MASK_INLINE_INT_DIV_THR): New macro.
6543         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
6544         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
6545         (TARGET_INLINE_INT_DIV_LAT): New macro.
6546         (TARGET_INLINE_INT_DIV_THR): New macro.
6547         (TARGET_INLINE_FLOAT_DIV): New macro.
6548         (TARGET_INLINE_INT_DIV): New macro.
6549         * config/ia64/ia64.md (divsi3): Change to use new macros.
6550         (modsi3): Ditto.
6551         (udivsi3): Ditto.
6552         (umodsi3): Ditto.
6553         (divsi3_internal): Ditto.
6554         (divdi3): Ditto.
6555         (moddi3): Ditto.
6556         (udivdi3): Ditto.
6557         (umoddi3): Ditto.
6558         (divdi3_internal_lat): Ditto.
6559         (divdi3_internal_thr): Ditto.
6560         (divsf3): Ditto.
6561         (divsf3_internal_lat): Ditto.
6562         (divsf3_internal_thr): Ditto.
6563         (divdf3): Ditto.
6564         (divdf3_internal_lat): Ditto.
6565         (divdf3_internal_thr): Ditto.
6566         (divtf3): Ditto.
6567         (divtf3_internal_lat): Ditto.
6568         (divtf3_internal_thr): Ditto.
6569         * config/ia64/ia64.c (ia64_override_options): Change
6570         to check new macros for conflicts in settings.
6571         * doc/invoke.texi (-minline-divide-min-latency): Remove.
6572         (-minline-divide-max-throughput): Remove.
6573         (-minline-float-divide-min-latency): New.
6574         (-minline-float-divide-max-throughput): New.
6575         (-minline-int-divide-min-latency): New.
6576         (-minline-int-divide-max-throughput): New.
6577
6578 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
6579
6580         PR target/7856
6581         * arm.c (use_return_insn): Don't use a return insn if there are
6582         saved integer regs, but LR is not one of them.
6583
6584 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
6585
6586         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
6587         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
6588
6589 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
6590
6591         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
6592         (movps, movpd splitters): Use canonical form.
6593         (movv2di): Fix merge problem.
6594
6595 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
6596
6597         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6598
6599 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6600
6601         PR optimization/6162
6602         * doc/md.texi: Document restriction on commutative operand
6603         specification.
6604
6605 2002-10-31  Eric Christopher  <echristo@redhat.com>
6606
6607         * explow.c (convert_memory_address): Use shallow_copy_rtx.
6608
6609 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6610
6611         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
6612
6613 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6614
6615         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
6616
6617 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6618
6619         * config/rs6000/darwin.h:  Correct formatting in previous.
6620
6621 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6622
6623         * config/rs6000/darwin.h:  Enable -falign-xxx options.
6624
6625 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
6626
6627         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
6628         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
6629         * i386.c (optimization_options): Set flag_omit_frame_pointer,
6630         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
6631         Do not clear -momit-leaf-frame-pointer when profiling.
6632         (ix86_frame_pointer_required): Frame pointer is always required when
6633         profiling.
6634
6635 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6636
6637         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6638
6639 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
6640
6641         * sh.h (binary_logical_operator): Declare.
6642         * sh.c (binary_logical_operator): New function.
6643         * sh.md (xordi3+1): New combiner splitter pattern.
6644
6645 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
6646
6647         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6648         __enable_execute_stack function.
6649
6650 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
6651
6652         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
6653         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
6654         * unwind-sjlj.c (fc_key_dtor): Delete.
6655         (fc_key_init): Adjust __gthread_key_create call to match.
6656
6657 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
6658
6659         * c-common.c: Add GTY to vector_type_node_list.
6660
6661 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
6662
6663         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6664         * pa-protos.h (attr_length_millicode_call, attr_length_call,
6665         pa_init_machine_status): Declare new global functions.
6666         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
6667         implement new functions.
6668         (attr_length_millicode_call, attr_length_call): Implement.
6669         (total_code_bytes): Change type to long.
6670         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
6671         Reset counter if flag_function_sections.
6672         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
6673         (output_cbranch): Move call to gen_label_rtx.
6674         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
6675         delay slot in all variants, shorten pc-relative calls.
6676         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
6677         slot usage and exposure, various new call variants, and shortened
6678         sequences for some variants on TARGET_PA_20.
6679         Miscellaneous format changes.
6680         * pa.h (total_code_bytes): Change type to long.
6681         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
6682         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
6683         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
6684         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
6685         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6686         stores on TARGET_ELF32.
6687         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6688         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6689         canonicalize_funcptr_for_compare expanders): Calculate attribute length
6690         attr_length_millicode_call().
6691         (call_internal_symref, call_value_internal_symref): Clobber register 1.
6692         Calculate attribute length using attr_length_call().
6693         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6694         to delay slot.
6695         (sibcall, sibcall_value): Rewrite.
6696         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6697         register 1.  Use attr_length_call().
6698         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6699         New patterns.
6700         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6701         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6702         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6703         * doc/invoke.texi (mlong-calls): Document.
6704
6705 2002-10-30  Roger Sayle  <roger@eyesopen.com>
6706
6707         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
6708         handling of cases where one or both branches of the conditional
6709         have void type, i.e. throw an exception or don't return.
6710         (fold): Only apply (and undo) type conversion to the non-void
6711         branches of a COND_EXPR.
6712
6713 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
6714
6715         PR c++/8333
6716         * varasm.c (asm_output_aligned_bss): Do not call
6717         ASM_GLOBALIZE_LABEL.
6718
6719 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
6720             Torbjorn Granlund  <tege@swox.com>
6721
6722         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6723         for addressibility.
6724         (load_toc_v4_PIC_1b): Same.
6725
6726 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6727
6728         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6729         Truncate the addresses for H8/300 using HImode.
6730
6731 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6732
6733         * i386.md (negdf splitter): Fix construction of the constant.
6734
6735 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6736
6737         * i386.md (negsf, negdf): Reorganize to use vector modes
6738         for SSE variants.
6739         (abssf, absdf): Use force_reg.
6740         (movv4sf, movv2df): New splitters.
6741         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6742         * i386.c (zero_extended_scalar_load_operand
6743
6744         * i386-protos.h (ix86_expand_call): Update prototype.
6745         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6746         (ix86_expand_call): Use r11 for indirect sibcalls.
6747         * i386.md (call, call_value, untyped_call, call_value_pop):
6748         update x86_expand_call call.
6749         (sibcall, sibcall_value): new patterns
6750         (call_rex64, call_value_rex64): Do not accept sibcalls.
6751         (sibcall_rex64, sibcall_value_rex64,
6752         sibcall_rex64_v, sibcall_value_rex64_v): New.
6753
6754 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6755
6756         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6757         before final pass.
6758
6759 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
6760
6761         * toplev.c (rest_of_type_compilation): Return early in case of
6762         errors.
6763         (check_global_declarations): Don't call debug_hooks->global_decl
6764         in case of errors.
6765
6766 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6767
6768         * doc/c-tree.texi (Tree overview): Fix typos.
6769
6770 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6771
6772         * Makefile.in (gnucompare*):  Only record bad comparisons
6773         if there really was a bad comparison.
6774
6775 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6776
6777         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6778         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6779         * md.texi (machine dependent constraints): Document 'C'
6780
6781         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6782
6783         * i386.c (ix86_expand_vector_move): Fix.
6784
6785         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6786         * i386.md (sse2_maskmovdqu_rex64): New pattern
6787
6788         PR target/8322
6789         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6790         (ix86_init_mmx_sse_builtins): Fix type.
6791
6792 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6793
6794         * gthr-posix.h: Include <unistd.h> for feature tests.
6795         (sched_get_priority_max, sched_get_priority_min)
6796         (pthread_getschedparam, pthread_setschedparam): Only use
6797         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6798         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6799         returns from sched_get_priority_max and sched_get_priority_min
6800         as an error.
6801
6802 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6803
6804         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6805         MASK_QUICKCALL.
6806
6807 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6808
6809         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6810         (h8300_tiny_constant_address_p): Likewise.
6811         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6812         h8300_eightbit_constant_address_p.
6813         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6814         * config/h8300/h8300-protos.h: Add the prototypes for the two
6815         new functions.
6816
6817 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6818
6819         * reload1.c (update_eliminables): Unconditionally check if
6820         frame_pointer_needed has changed.
6821
6822 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6823
6824         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6825         before final pass.
6826
6827 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6828
6829         PR optimization/8334
6830         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6831         check for zero operands explicitly.
6832
6833 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6834
6835         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6836         memory after adjusting to BLKmode.
6837
6838 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6839
6840         * config/h8300/h8300.h (MASK_*): New.
6841         (TARGET_*): Use MASK_*.
6842
6843 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6844
6845         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6846         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6847         config/rs6000/vxworks.h: New files.
6848         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6849
6850         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6851         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6852         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6853         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6854         sparc-*-vxsim*): Delete stanzas.
6855         * gthr-vxworks.h: Rip out all substantive code and just
6856         include gthr-single.h.
6857
6858         * config/alpha/vxworks.h, config/arm/vxarm.h,
6859         config/i386/vxi386.h, config/i960/t-vxworks960,
6860         config/i960/vx960-coff.h, config/i960/vx960.h,
6861         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6862         config/mips/vxworks.h, config/rs6000/vxppc.h,
6863         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6864         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6865         config/sparc/vxsparc64.h: Delete files.
6866
6867 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6868
6869         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6870         tm_defines if pthreads are enabled.
6871         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6872         if NETBSD_ENABLE_PTHREADS is defined.
6873
6874 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6875
6876         * ChangeLog.1: Fix typos.
6877         * cse.c: Fix a comment typo.
6878         * reload1.c: Likewise.
6879
6880 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6881
6882         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6883         * fixinc/tests/base/_G_config.h: New file.
6884
6885 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6886
6887         * combine.c: Fix comment formatting.
6888         * loop.c: Likewise.
6889         * real.c: Likewise.
6890         * regclass.c: Likewise.
6891         * regmove.c: Likewise.
6892         * regrename.c: Likewise.
6893         * reg-stack.c: Likewise.
6894         * reload1.c: Likewise.
6895         * reload.c: Likewise.
6896         * reload.h: Likewise.
6897         * unroll.c: Likewise.
6898
6899 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6900
6901         * reload1.c (reload): Fix a comment typo.
6902
6903 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6904
6905         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6906
6907 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6908
6909         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6910         * dwarf2out.c: Include hashtab.h.
6911         (is_main_source): New static variable.
6912         (attr_checksum, die_checksum): Modified to handle die references.
6913         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6914         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6915         record_comdat_symbol_number): New static functions.
6916         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6917         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6918         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6919         declarations added.
6920
6921 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6922
6923         * config/h8300/h8300.c (initial_offset): Change to
6924         h8300_initial_elimination_offset.
6925         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6926         h8300_initial_elimination_offset.
6927         * config/h8300/h8300-protos.h: Update the prototype.
6928
6929 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6930
6931         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6932         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6933         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6934         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6935         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6936         and RTX_CODE.
6937         (mmix_function_value_regno_p): Declare.
6938
6939         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6940         invalid for floating point mode result, with fix.
6941
6942 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6943
6944         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6945         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6946         (stage1_build): Likewise.
6947
6948 2002-10-25  Mike Stump  <mrs@apple.com>
6949
6950         Fixes gcc.dg/warn-1.c.
6951         * c-typeck.c (warn_for_assignment): Don't print argument number,
6952         if zero.
6953
6954 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6955
6956         * toplev.c (dump_file_index): Add DFI_ce3.
6957         (dump_file_info): Likewise.
6958         (rest_of_compilation): Run first ifcvt pass before tracer.
6959
6960 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6961
6962         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6963
6964 2002-10-25  Richard Henderson  <rth@redhat.com>
6965
6966         * real.c (real_to_decimal): If the >1 tens reduction loop results
6967         in a negative exponent, fall into the <1 pten computation.
6968
6969 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6970
6971         PR middle-end/6994
6972         * c-objc-common.c (inline_forbidden_p): Can not inline
6973         functions containing structures or unions containing VLAs.
6974         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6975         TYPE_SIZE and TYPE_SIZE_UNIT.
6976         (copy_tree_r): Copy types if they are variably modified.
6977
6978 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6979
6980         * config/s390/s390.md: Remove old-style peepholes.
6981
6982 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6983
6984         * config/s390/s390.c (s390_decompose_address): Do not range check the
6985         displacement if base or index is the argument pointer register.
6986
6987 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6988
6989         PR other/3337
6990         PR bootstrap/6763
6991         PR bootstrap/8122
6992         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6993         * fixinc/fixincl.x: Regenerate.
6994         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6995         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6996         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6997         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6998         * config.in, configure: Regenerate.
6999
7000 2002-10-24  Igor Shevlyakov <igor@microunity.com>
7001
7002         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7003
7004 2002-10-24  Richard Henderson  <rth@redhat.com>
7005
7006         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
7007
7008 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7009
7010         * config/h8300/h8300.c (initial_offset): Simplify by using
7011         round_frame_size.
7012
7013 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7014
7015         * doc/install.texi (avr): Update required binutils version.
7016
7017 2002-10-24  Theodore A. Roth  <troth@openavr.org>
7018
7019         * doc/install.texi: Point avr users at more up-to-date information.
7020
7021 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
7022
7023         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
7024         to pull operands out of the literal pool where possible.
7025
7026 2002-10-24  Denis Chertykov  <denisc@overta.ru>
7027
7028         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
7029
7030 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
7031
7032         * expr.c (convert_move): If unsignedp is less then zero there
7033         is no equivalent code.
7034
7035 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
7036
7037         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
7038
7039 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
7040
7041         * config/s390/s390.h: Rework comments; re-sort target macro definitions
7042         according to the sequence they are defined in the manual.
7043         (POINTER_BOUNDARY): Remove.
7044
7045 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7046
7047         * config/h8300/h8300.c (round_frame_size): Replace 8 with
7048         BITS_PER_UNIT.
7049
7050 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7051
7052         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
7053         64-bit safe.
7054         (TINY_CONSTANT_ADDRESS_P): Likewise.
7055
7056 2002-10-24  Richard Henderson  <rth@redhat.com>
7057
7058         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7059         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
7060         vcall offset.
7061
7062 2002-10-24  Richard Henderson  <rth@redhat.com>
7063
7064         PR opt/7944
7065         * reload.c (find_reloads_toplev): Mode of X is not important
7066         when simplifying subregs of constants.
7067
7068 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
7069
7070         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
7071         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
7072         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
7073         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
7074         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
7075
7076 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
7077
7078         * optabs.c (expand_binop): Don't reuse the shift target in the
7079         middle of shift sequences.
7080
7081 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
7082
7083         * i386.md (abs splitters): Do not produce nested subregs.
7084
7085 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
7086
7087         * i386.md (movti_rex64): Fix constraints.
7088
7089 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
7090
7091         * i386.md (abssf,absdf): Use vector operands for SSE
7092         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
7093         vector operand.
7094
7095 2002-10-23  Ziemowit Laski <zlaski@apple.com>
7096
7097         * objc/objc-act.c (get_static_reference): Remove unneeded
7098         TYPE_BINFO initialization.
7099         (get_object-reference): Likewise.
7100         (build_constructor): Tighten precondition check.
7101         (finish_message_expr): Likewise.
7102
7103 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
7104
7105         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
7106         after CONST test.
7107
7108 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
7109
7110         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
7111         in HFAs.
7112
7113 2002-10-23  Richard Henderson  <rth@redhat.com>
7114
7115         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7116         (alpha_output_mi_thunk_osf): Handle vcall_offset.
7117
7118 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
7119
7120         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
7121         var_mod_type_p.
7122         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
7123         hook_tree_bool_false.
7124
7125         * tree.c (variably_modified_type_p): Moved here from
7126         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
7127         language-specific cases.  Due to this, must weaken some 'if
7128         and only if' checks to merely 'if'.
7129         * tree.h: Prototype variably_modified_type_p.
7130
7131         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
7132
7133 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
7134
7135         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
7136         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
7137
7138         * config/s390/s390-protos.h (fp_operand): Remove.
7139         * config/s390/s390.c (fp_operand): Remove.
7140         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
7141         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
7142         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
7143         (movdi_31, movdf_31 splitters): Likewise.
7144
7145         * config/s390/s390.h (IEEE_FLOAT): Remove.
7146         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
7147         (INT_REGNO_P): Rename to ...
7148         (GENERAL_REGNO_P): ... this.
7149         (FLOAT_REGNO_P): Rename to ...
7150         (FP_REGNO_P): ... this.
7151         (ADDR_REGNO_P): New macro.
7152         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
7153         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
7154         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
7155         (HARD_REGNO_NREGS): Adapt to macro renaming.
7156         (HARD_REGNO_MODE_OK): Likewise.
7157
7158 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
7159             Geoff Keating  <geoffk@apple.com>
7160
7161         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
7162         (rs6000_memory_move_cost): New function.
7163         * config/rs6000/rs6000-protos.h: Declare them.
7164         * config/rs6000/rs6000.h: Use them.
7165
7166 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
7167
7168         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
7169         inlining it into other libgcc2 routines.
7170         (__udivmoddi4): Likewise.
7171
7172 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
7173
7174         * doc/sourcebuild.texi (Test Suites): Improve.
7175
7176 2002-10-22  Stan Shebs  <shebs@apple.com>
7177
7178         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
7179         case for Darwin.
7180
7181 2002-10-22  Jim Wilson  <wilson@redhat.com>
7182
7183         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
7184
7185 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
7186
7187         PR other/8289
7188         * xmmintrin.h: Add const to the argument of loads.
7189
7190         * i386.md (pushv2di): New pattern.
7191         PR target/6890
7192         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
7193
7194 2002-10-22  Richard Henderson  <rth@redhat.com>
7195
7196         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
7197         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
7198         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
7199         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7200         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7201         (TARGET_ASM_OUT): Update.
7202         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
7203         (hook_bool_tree_hwi_hwi_tree_true): New.
7204         (default_can_output_mi_thunk_no_vcall): New.
7205         * hooks.h: Declare them.
7206         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
7207
7208         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7209         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
7210         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
7211         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
7212         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
7213         config/stormy16/stormy16.c: Similarly.
7214
7215         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
7216         Handle 64-bit properly.  Streamline.
7217         (x86_output_mi_vcall_thunk): Remove.
7218         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
7219         (x86_can_output_mi_thunk): New.
7220         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7221         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7222         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
7223
7224         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
7225         output_mi_thunk; make static; always use function_section.
7226         (TARGET_ASM_OUTPUT_MI_THUNK): New.
7227         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7228         (rs6000_ra_ever_killed): Test no_new_pseudos not
7229         targetm.asm_out.output_mi_thunk in conjunction with thunks.
7230         * config/rs6000/rs6000-protos.h: Update.
7231         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7232         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
7233         xcoffout_declare_function when using rs6000_output_mi_thunk.
7234
7235         * config/s390/s390.c (s390_output_mi_thunk): Rename from
7236         s390_output_mi_vcall_thunk.
7237         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7238         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7239
7240         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
7241         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7242         * config/vax/vax-protos.h: Update.
7243         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
7244
7245 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
7246
7247         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
7248         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
7249         * i386.md (movti_internal): Use 'C'
7250
7251         * xmmintrin.h (_mm_cmplt_epi*): New.
7252
7253 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
7254
7255         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
7256         ("*movdf_64"): Likewise.
7257         ("*lshrdi3_64"): Likewise.
7258         ("blockage"): Add length attribute.
7259         ("lit"): Likewise.
7260
7261 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
7262
7263         * i386.md: FIx typo.
7264         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
7265         (sse2_umulv2siv2di3): Fix predicate.
7266         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
7267         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
7268         * xmmintrin.h (_mm_mul_epu16): Rename to...
7269         (_mm_mul_epu32): This one.
7270         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
7271
7272         (contains_128bit_aligned_vector_p): Undo accidental checkin.
7273
7274 2002-10-22  Eric Christopher  <echristo@redhat.com>
7275
7276         * config/sparc/sparc.h: Add #error.
7277
7278 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
7279
7280         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
7281         [s390x-*-linux*]: Likewise.
7282         * config/s390/t-linux: Remove.
7283         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
7284
7285 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
7286
7287         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
7288         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
7289         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
7290         * i386.md (mmx_punpck?dq): Simplify.
7291         (sse2_pubpcklqdq): Fix.
7292         (sse2_pubpckhqdq): New.
7293         * xmmintrin.h (_mm_unpackhi_epi32): New.
7294
7295         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
7296         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
7297
7298 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
7299
7300         PR c++/7209
7301         * fold_const.c (fold_binary_op_with_conditional_arg): Always
7302         build compound_expr if we used save_expr.
7303
7304 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
7305
7306         * output.h (SECTION_NOTYPE): Define.
7307         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
7308         init array sections.
7309         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
7310         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
7311         merge TLS support.
7312
7313 2002-10-21  Richard Henderson  <rth@redhat.com>
7314
7315         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
7316         the function type, not the return type.
7317
7318 2002-10-21  Richard Henderson  <rth@redhat.com>
7319
7320         * real.c (sticky_rshift_significand): Return inexact, don't
7321         or it in immediately.
7322         (sub_significands): Accept incomming carry.
7323         (div_significands, rtd_divmod): Update for sub_significands change.
7324         (round_for_format): Update for sticky_rshift_significand change.
7325         (do_add): Don't involve the inexact bit in addition, do give the
7326         inexact bit as the subtraction carry-in.
7327         (encode_internal, decode_internal, real_internal_format): New.
7328         * real.h (real_internal_format): Declare.
7329
7330 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7331
7332         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
7333         don't define sdiv_qrnnd.
7334
7335 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
7336
7337         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
7338         using IN_RANGE.
7339         (TINY_CONSTANT_ADDRESS_P): Likewise.
7340
7341 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7342
7343         * i386.c (builtin_description): Add punpcklqdq and movdq2q
7344         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
7345         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
7346         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
7347         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
7348         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
7349         __builtin_ia32_setzero128.
7350         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
7351         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
7352         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
7353         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
7354         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
7355         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
7356         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
7357         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
7358         sse2_movq): New patterns.
7359         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
7360         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
7361         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
7362         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
7363         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
7364         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
7365         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
7366         (_mm_insert_epi16): Fix.
7367
7368 2002-10-21  Dale Johannesen  <dalej@apple.com>
7369
7370         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
7371             unsafe math reversals correctly for RTL generation.
7372           (output_cbranch):  Replace rs6000_reverse_condition call
7373             by its former definition.
7374
7375 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
7376
7377         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
7378         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
7379         from constant pool or LABEL_REFs as sign extended if allow_rip.
7380         Change all +-1GB limits to +-16MB.
7381         (x86_64_general_operand, x86_64_szext_general_operand,
7382         x86_64_nonmemory_operand, x86_64_movabs_operand,
7383         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7384         legitimate_address_p, ix86_expand_int_movcc): Update callers.
7385         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
7386         in CM_SMALL_PIC model.
7387         (legitimate_pic_address_disp_p): Don't check offsets before
7388         calling local_symbolic_operand.
7389         (legitimize_pic_address): Force offsets bigger than +-16MB into
7390         register.
7391         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
7392         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
7393         prototype.
7394
7395         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
7396         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
7397         * configure: Rebuilt.
7398         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
7399         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
7400         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
7401         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
7402         -fpic.
7403         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
7404         non-pic code if TARGET_64BIT.
7405         (legitimize_address): Generate 64-bit TLS sequences.
7406         (output_pic_addr_const): Support x86-64 TLS operators.
7407         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
7408         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
7409         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
7410         (output_addr_const_extra): Support x86-64 TLS operators.
7411         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
7412         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
7413         unconditionally.
7414         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
7415         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
7416         (*tls_global_dynamic_sun): Renamed to...
7417         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
7418         (tls_global_dynamic): Renamed to...
7419         (tls_global_dynamic_32): ... this.
7420         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
7421         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
7422         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
7423         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
7424         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
7425         (tls_local_dynamic_base_dynamic): Renamed to...
7426         (tls_local_dynamic_base_dynamic_32): ... this.
7427         (tls_local_dynamic_base_dynamic_64,
7428         *tls_local_dynamic_base_dynamic_64): New.
7429         (*tls_local_dynamic_once): Renamed to...
7430         (*tls_local_dynamic_32_once): ... this.
7431
7432 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7433
7434         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
7435         __divdi3, __umoddi3, or __moddi3.
7436
7437 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7438
7439         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
7440         instead of just opt_index as switch expression.
7441
7442         * calls.c (store_one_arg): Change type of 'excess_align'
7443         to unsigned int.
7444
7445         * profile.c (output_gcov_string): Change type of 'temp'
7446         to size_t.
7447
7448 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7449
7450         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
7451         (__fixunssfdi, __fixsfdi): Likewise.
7452         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
7453         (s390_single_qi): Likewise.
7454         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
7455         unsigned comparison warning.
7456         (s390_return_addr_rtx): New function.
7457         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
7458         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
7459         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
7460
7461 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7462
7463         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
7464         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
7465         (s390_output_mi_thunk): Remove.
7466         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7467
7468 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
7469
7470         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
7471
7472 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
7473
7474         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
7475         inverted test in the conditional determining the possibility
7476         of sibcalls in PIC mode.
7477
7478 2002-10-20  Richard Henderson  <rth@redhat.com>
7479
7480         * target.h (struct gcc_target): Line wrap.
7481
7482         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
7483         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
7484         * config/alpha/alpha.h: ... not here.
7485         * config/alpha/alpha-protos.h: Update.
7486
7487         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
7488         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
7489         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
7490         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
7491         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
7492         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
7493         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
7494         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
7495         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
7496         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
7497         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
7498         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
7499         config/sparc/sparc.c, config/sparc/sparc.h,
7500         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
7501         config/stormy16/stormy16.h: Similarly.
7502
7503         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
7504         selection logic from call patterns.
7505
7506 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
7507
7508         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
7509
7510 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7511
7512         PR other/8202
7513         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
7514         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
7515         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
7516         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
7517
7518 2002-10-20  Roger Sayle  <roger@eyesopen.com>
7519
7520         PR c/761
7521         * toplev.c (flag_unsafe_profile_arcs): Remove.
7522         (flag_bounded_pointers): Remove.
7523         (flag_bounds_check): Correct comments.
7524         (lang_independent_options): Remove -funsafe-profile-arcs and
7525         -fbounded-pointers.  Correct -fbounds-check comments.
7526
7527         * flags.h: Correct flag_schedule_interblock comments.
7528         (flag_bounded_pointers): Remove prototype.
7529         (flag_bounds_check): Correct comments.
7530
7531         * c-opts.c (c_common_init_options): No need to mark
7532         flag_bounds_check as unspecified.
7533         (c_common_post_options): And no need to set it from
7534         flag_bounded_pointers if its still unspecified.
7535
7536         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
7537         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
7538         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
7539         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
7540
7541 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
7542         Angela Marie Thomas  <angela@releasedominatrix.com>
7543         Brendan Kehoe  <brendan@zen.org>
7544         Nick Clifton  <nickc@redhat.com>
7545         Andrew Haley  <aph@redhat.com>
7546
7547         * configure.in (--with-sysroot): New.  Don't inhibit libc if
7548         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
7549         and CROSS_SYSTEM_HEADER_DIR.
7550         * configure: Rebuilt.
7551         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
7552         (TARGET_SYSTEM_ROOT): New.
7553         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
7554         CROSS_SYSTEM_HEADER_DIR.
7555         (install-gcc-tooldir): New target.
7556         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
7557         if SYSTEM_HEADER_DIR does not exist and it's not the default
7558         sys-include directory.
7559         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
7560         (install-mkheaders): Likewise.
7561         * gcc.c (target_system_root): New variable.
7562         (add_sysrooted_prefix): New function.
7563         (process_command): Recompute run-time target_system_root from
7564         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
7565         does not exist.
7566         (do_spec_1): Process 'R' spec.
7567         (main): Add md_exec_prefix to exec_prefixes regardless of
7568         startfile_prefix_spec.  Use add_sysrooted_prefix for
7569         startfile_prefixes, and don't skip the default ones when cross
7570         compiling with sysroot enabled.  Removed unused case of
7571         non-absolute standard_startfile_prefix.
7572         * config/interix.h: Remove the only potential, yet disabled,
7573         occurrence of non-absolute (empty) standard_startfile_prefix.
7574         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
7575         linking.
7576         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
7577         * doc/install.texi (--with-sysroot): Document.
7578         (--with-headers, --with-libs): Deprecate.
7579
7580 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7581             Mark Mitchell  <mark@codesourcery.com>
7582
7583         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
7584         match target.h.
7585         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
7586         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
7587         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
7588         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
7589         x86_output_mi_thunk): Likewise.
7590         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
7591         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
7592         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
7593         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
7594         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
7595         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
7596         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
7597         Likewise.
7598         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
7599
7600         * target.h (gcc_target): Update output_mi_thunk and
7601         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
7602         vcall_index.
7603
7604         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
7605         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7606         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
7607         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
7608         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
7609         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
7610         signature.
7611         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
7612         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7613         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7614         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
7615         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
7616         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7617         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7618         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
7619         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
7620
7621         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
7622         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
7623
7624 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
7625
7626         * real.c (do_add): Fix 0+0 sign corner case.
7627         (do_divide): Fix Inf/0 corner case.
7628
7629 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
7630
7631         * i386.c (classify_argument): Pass MMX arguments in memory
7632         (ix86_expand_builtin): Expand proper address mode for cflush.
7633         * i386.md (movdqa): Fix typo.
7634         (sse2_cflush): Accept DImode addresses.
7635
7636         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
7637         (_mm_max_sd): Fix pasto.
7638         (_mm_storeh_pd, _mm_storel_pd): Fix.
7639
7640         * i386.c (bdesc_comi): Fix to match specification.
7641         (ix86_expand_sse_comi): Emit the comparison properly.
7642         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
7643         Do not use comparison operator.
7644         (vnmaskcmp): Fix template.
7645
7646         * xmmintrin.h (_mm_cvtps_pi16): Fix.
7647
7648 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
7649
7650         * dependence.c : Removed.
7651         * Makefile.in : Remove dependence.o.
7652
7653 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
7654
7655         * mmintrin.h (__m64): typedef it to v2si.
7656         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
7657         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
7658         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
7659         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
7660         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
7661         * xmmintrin.h (_mm_setzero_si64): Likewise.
7662
7663         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
7664         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
7665
7666         PR target/7693
7667         Patch by Shawn Wagner
7668         * mmintrin.h: Replace pi64 by si64.
7669
7670 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
7671
7672         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
7673         Use length of 4 not *.
7674         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
7675         (movdf_softfloat64): Likewise.
7676         (movdi_internal32): Use length of 4 not *.
7677         (movti_power): Same.
7678         (ctrsi, ctrdi): Same.
7679
7680 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
7681
7682         * c-decl.c (start_decl): Point users of the old initialized-
7683         typedef extension at __typeof__.
7684
7685 2002-10-18  Richard Henderson  <rth@redhat.com>
7686
7687         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7688         (real_to_decimal): Re-implement using the logic from the
7689         gcc 3.2 etoasc.  Comment heavily.
7690         (div_significands): Simplify loop startup and comparison logic.
7691
7692 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
7693
7694         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7695         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7696         (TARGET_ASM_OUT): Add them.
7697         * target.h (asm_out): Add output_mi_thunk and
7698         output_mi_vcall_thunk.
7699         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7700         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7701         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7702         * config/arm/arm.c (arm_output_mi_thunk): Define.
7703         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7704         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7705         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7706         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7707         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7708         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7709         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7710         prototype.
7711         (x86_output_mi_vcall_thunk): Declare.
7712         * config/i386/i386.c (override_options): Clear
7713         output_mi_vcall_thunk in 64-bit mode.
7714         (ix86_fntype_regparm): New function.
7715         (ix86_return_pops_args): Use it.
7716         (ia32_this_parameter): New function.
7717         (x86_output_mi_vcall_thunk): New function.
7718         (x86_output_mi_thunk): Use it
7719         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7720         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7721         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7722         * config/i960/i960.c (i960_output_mi_thunk): New function.
7723         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7724         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7725         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7726         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7727         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7728         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7729         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7730         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7731         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7732         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7733         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7734         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7735         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7736         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7737         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7738         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7739         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7740         * config/s390/s390.c (s390_output_mi_thunk): Define.
7741         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7742         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7743         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7744         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7745         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7746         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7747         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7748         * config/vax/vax.c (vax_output_mi_thunk): Define.
7749         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7750         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7751         * doc/tm.texi: Adjust documentation.
7752
7753 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7754
7755         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7756         __enable_execute_stack function.
7757         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7758         as NETBSD_ENABLE_EXECUTE_STACK.
7759         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7760         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7761         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7762         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7763         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7764
7765 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7766
7767         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7768         to __enable_execute_stack with the address of the trampoline
7769         if TRANSFER_FROM_TRAMPOLINE is defined.
7770         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7771         constant if building libgcc2.
7772
7773 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7774
7775         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7776         (ix86_memory_move_cost): Fix for 64bit compilation.
7777
7778 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7779
7780         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7781
7782 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7783
7784         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7785         in CTR/LR/MQ.
7786         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7787         to/from CTR/LR/MQ.
7788         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7789         (movsf_softfloat): Likewise.
7790
7791 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7792
7793         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7794
7795 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7796
7797         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7798         tramp, not addr, to pass the trampoline address to
7799         __enable_execute_stack.
7800
7801 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7802
7803         * mmintrin.h: Guard by __MMX__
7804         * xmmintrin.h: Guard by __SSE__
7805
7806         PR other/8062
7807         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7808         (_mm_load*_?d): New functions.
7809         (_mm_set*_?d): New functions.
7810         (_mm_store*_?d): New functions.
7811
7812 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7813
7814         Really commit patch announced at Oct 14
7815         PR c/7344
7816         * predict.c (can_predict_insn_p): New function.
7817         (estimate_probability): Avoid unnecesary work.
7818         (process_note_prediction): Likewise.
7819         * toplev.c (rest_of_compilation): Account early branch prediction pass
7820         as TV_BRANCH_PROB.
7821
7822         PR other/8048
7823         Found by Ian Ollmann
7824         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7825         (_mm_load?_pd): Likewise.
7826         (_mm_store?_pd): Likewise.
7827
7828         PR target/7386
7829         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7830         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7831         swapped alternative.
7832
7833         PR opt/7630
7834         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7835         (push_reload): Update call.
7836
7837 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7838
7839         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7840         if using mips/elf.h or mips/elf64.h.
7841         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7842         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7843
7844 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7845
7846         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7847         SI.
7848
7849 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7850
7851         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7852         (LPREFIX): Likewise.
7853         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7854         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7855         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7856         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7857         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7858
7859         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7860         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7861         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7862         BSS_SECTION_ASM_OP): Move from linux.h.
7863         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7864         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7865
7866         * config/s390/s390.c (s390_function_profiler): Use
7867         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7868
7869 2002-10-15  Eric Christopher  <echristo@redhat.com>
7870
7871         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7872         * java/parse.y (obtain_incomplete_type): Make pointer
7873         ptr_mode.
7874
7875 2002-10-15  Richard Henderson  <rth@redhat.com>
7876
7877         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7878         as arguments.  Bound DIGITS by the available buffer size.
7879         (real_to_hexadecimal): Likewise.
7880         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7881         (REAL_VALUE_TO_DECIMAL): Remove.
7882         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7883         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7884         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7885         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7886         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7887         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7888         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7889         use real_to_decimal directly, and with the proper arguments.
7890         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7891
7892 2002-10-15  Jim Wilson  <wilson@redhat.com>
7893
7894         * reload1.c (merge_assigned_reloads): After converting overlapping
7895         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7896
7897         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7898
7899 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7900
7901         * expr.c (do_tablejump): Fix typo in my previous commit.
7902
7903 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7904
7905         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7906
7907 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7908
7909         * config/s390/s390.c (s390_split_branches): Add return
7910         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7911
7912         (find_base_register_in_addr): New function.
7913         (find_base_register_ref): New function.
7914         (replace_base_register_ref): New function.
7915
7916         (struct constant_pool): Add members pool_insn, insns, and anchor.
7917         Remove member last_insn.
7918         (s390_start_pool): Initialize them.
7919         (s390_end_pool): Emit pool placeholder insn.
7920         (s390_add_pool_insn): New function.
7921         (s390_find_pool): Use insns bitmap instead of addresses.
7922         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7923         Replace unspec 104 by local-pool-relative references.
7924         (s390_output_constant_pool): Output anchor label if required.
7925         (s390_output_symbolic_const): Handle unspec 104 and 105.
7926         (s390_add_pool): Remove, replace by ...
7927         (s390_add_constant, s390_find_constant): ... these new functions.
7928         (s390_add_anchor): New function.
7929
7930         (s390_chunkify_pool): Delete, replace by ...
7931         (s390_chunkify_start, s390_chunkify_finish,
7932         s390_chunkify_cancel): ... these new functions.
7933         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7934         Recompute register live data for special registers.
7935         (s390_fixup_clobbered_return_reg): New function.
7936         (s390_machine_dependent_reorg): Rewrite to use new
7937         s390_chunkify_... routines.
7938
7939         config/s390/s390.md ("reload_base"): Rename to ...
7940         ("reload_base_31"): ... this.
7941         ("reload_base_64"): New insn.
7942         ("reload_base2"): Remove.
7943         ("reload_anchor"): New insn.
7944         ("pool"): New insn.
7945
7946         s390.c (s390_pool_overflow): Remove.
7947         s390.h (s390_pool_overflow): Likewise.
7948         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7949
7950 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7951
7952         * sh.md (movv8qi_i+2): Don't split if source is -1.
7953
7954 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7955
7956         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7957
7958 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7959
7960         PR opt/7409
7961         * loop.c (loop_regs_scan): Mark registers used for function
7962         argument passing as MAY_NOT_OPTIMIZE.
7963
7964 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7965
7966         * gcov-io.h (gcov_info): Fix type.
7967         * profile.c (create_profiler): Fix type mismatch.
7968
7969 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7970
7971         * i386.md (movv2di_internal): New pattern.
7972         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7973         (movv2di): New expander.
7974         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7975
7976         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7977         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7978         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7979         (ix86_expand_builtin): Likewise.
7980         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7981         sse_andti3,
7982         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7983         sse_andnti3,
7984         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7985         sse_orti3,
7986         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7987         sse_xorti3): Kill.
7988         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7989          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7990         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7991          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7992         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7993          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7994
7995         * xmmintrin.h (__m128i): Define as __v2di.
7996
7997         PR c++/6419
7998         (expand_expr): Use DECL_RTL_SET_P.
7999
8000 2002-10-14  Roger Sayle  <roger@eyesopen.com>
8001
8002         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
8003
8004 2002-10-14  Roger Sayle  <roger@eyesopen.com>
8005             Zack Weinberg <zack@codesourcery.com>
8006
8007         * config/i386/i386.c (k6_cost): Correct typo.
8008
8009 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
8010
8011         PR optimization/6631
8012         * alias.c (objects_must_conflict_p): Check honor_readonly when
8013         examining TYPE_READONLY.
8014         * function.c (assign_stack_temp_for_type): Likewise.
8015
8016 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
8017
8018         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
8019         Swap zero extension arguments.
8020         (umaxhi3): Fix instruction class.
8021         PR target/7211
8022         (prefetch): Fix prefetch instructions.
8023         PR target/7238
8024         (pkwb): Fix output constraint.
8025
8026 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
8027
8028         * config/mips/mips.c (print_operand): Increase buffer size for
8029         real numbers.
8030
8031 2002-10-14  Richard Henderson  <rth@redhat.com>
8032
8033         PR opt/8165
8034         * gcse.c (adjust_libcall_notes): Revert last change.
8035         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
8036
8037 2002-10-14  Andrew Haley  <aph@redhat.com>
8038
8039         * tree-inline.c (remap_block): All local class initialization
8040         flags go in the outermost scope.
8041         (expand_call_inline): Call java_inlining_map_static_initializers.
8042         (expand_call_inline): Call java_inlining_merge_static_initializers.
8043         * java/lang.c (merge_init_test_initialization): New.
8044         (java_inlining_merge_static_initializers): New.
8045         (inline_init_test_initialization): New.
8046         (java_inlining_map_static_initializers): New.
8047
8048         * tree-inline.c (expand_call_inline): Convert retvar to expected
8049         type.
8050
8051 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
8052
8053         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
8054
8055 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
8056
8057         * stmt.c: Fix typo in comment.
8058
8059 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
8060
8061         * c-common.c (c_common_type_for_mode): Add V2HImode case.
8062         * tree.c (build_common_tree_nodes_2): Initialize
8063         unsigned_V2HI_type_node and V2HI_type_node.
8064         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
8065         (unsigned_V2HI_type_node, V2HI_type_node): Define.
8066
8067 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
8068
8069         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
8070         Handle TARGET_64BIT.
8071
8072 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8073
8074         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
8075         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
8076         (MULTILIB_DIRNAMES): Remove long32.
8077         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
8078         (MULTILIB_REDUNDANT_DIRS): Remove.
8079
8080 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8081
8082         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
8083         * gcc.c (driver_self_specs): New variable.
8084         (do_self_spec): New function.
8085         (main): Use it to process driver_self_specs.
8086
8087 2002-10-13  Richard Henderson  <rth@redhat.com>
8088
8089         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
8090         indirect sibcalls when regparm >= 3.
8091
8092         * config/i386/i386.c (sibcall_insn_operand): New.
8093         * config/i386/i386.h (PREDICATE_CODES): Update.
8094         * config/i386/i386-protos.h: Update.
8095         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
8096
8097         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
8098
8099 2002-10-12  Roger Sayle  <roger@eyesopen.com>
8100
8101         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
8102         arithmetic right shifts of ~0 during RTL simplifications.
8103
8104 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
8105
8106         PR preprocessor/7862
8107         PR preprocessor/8190
8108         * gcc.c (cpp_unique_options): Don't delete .d files.
8109         Remove stray whitespace.
8110
8111 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
8112
8113         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
8114         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
8115         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
8116         (pdp11_output_function_epilogue, output_ascii): Likewise.
8117         (output_addr_const_pdp11): Likewise.
8118         * pdp11.md (movdi): Use offsetable memory for floating store.
8119         (lshrsi3, negsi2): Delete irrelevant comment.
8120
8121 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
8122
8123         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
8124         indirect calls to be sibcall optimized.
8125         * config/i386/i386.md (sibcall_1): New.
8126         (call_1): Add no-sibcalls condition.
8127         (sibcall_value_1): New.
8128         (call_value_1): Add no-sibcalls condition.
8129
8130 2002-10-11  Eric Christopher  <echristo@redhat.com>
8131
8132        * output.h (default_valid_pointer_mode): Declare.
8133        * varasm.c (default_valid_pointer_mode): Define.
8134        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
8135        * target.h: Ditto.
8136        * tree.c (build_pointer_type_for_mode): New function.
8137        (build_pointer_type): Use.
8138        (build_reference_type_for_mode): New function.
8139        (build_reference_type): Use.
8140        * tree.h: Declare new functions.
8141        * c-common.c (handle_mode_attribute): Use new functions, check
8142        for type.
8143        * stor-layout.c (layout_type): Depend on machine mode for
8144        REFERENCE_TYPE and POINTER_TYPE.
8145        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
8146        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
8147        and REFERENCE_TYPE.
8148        * config/mips/mips.c (mips_valid_pointer_mode): New function.
8149        (TARGET_VALID_POINTER_MODE): Use and define.
8150        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
8151
8152 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
8153
8154         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
8155         not the address of the REG.
8156         (struct cse_reg_info): Make subreg_ticked unsigned.
8157
8158 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
8159
8160         * doc/compat.texi: Add info about C++ libraries.
8161
8162 2002-10-11  Richard Henderson  <rth@redhat.com>
8163
8164         PR opt/8165
8165         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
8166
8167 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8168
8169         * cfganal.c (dfs_enumerate_from): Use PARAMS.
8170         * genautomata.c (output_insn_code_cases): Likewise.
8171         * real.c (real_format): Likewise.
8172         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
8173         ensure value is promoted before doing subtraction.
8174
8175 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
8176
8177         * calls.c (expand_call): Simplify noreturn call.
8178
8179         PR c/7344
8180         * cfgbuild.c (make_edges): Create edge cache when we do have
8181         large jumptable.
8182         * expr.c (do_tablejump): Note size of maximal jumptable.
8183         * function.c (prepare_function_start): Zero out size.
8184         * function.h (function): Add max_jumptable_ents.
8185
8186         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8187
8188 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8189
8190         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
8191         register for mperm_w operation.
8192
8193 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8194
8195         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
8196         an integer, use simplify_gen_subreg.
8197
8198 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
8199
8200         * calls.c (flags_from_decl_or_type): Make extern.
8201         (ECF_*): Move ...
8202         * rtl.h (ECF_*): ... here.
8203         (flags_from_decl_or_type): Declare.
8204
8205 2002-10-10  Roger Sayle  <roger@eyesopen.com>
8206             Nathan Sidwell <nathan@codesourcery.com>
8207
8208         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
8209         shifts of the form -1 >> x.
8210
8211 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
8212
8213         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8214
8215 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
8216
8217         * extend.texi (Vector Extensions): Remove comment about single
8218         element vectors.
8219
8220 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8221
8222         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
8223         * function.c (insns_for_mem_hash): Likewise.
8224         * varasm.c (STRHASH): Likewise.
8225
8226 2002-10-10  Stuart Hastings  <stuart@apple.com>
8227
8228         * cse.c (struct cse_reg_info): Add subreg_ticked.
8229         (SUBREG_TICKED): New.
8230         (get_cse_reg_info): Initialize SUBREG_TICKED.
8231         (mention_regs): Use it.
8232         (invalidate): Set SUBREG_TICKED.
8233         (invalidate_for_call): Likewise.
8234         (addr_affects_sp_p): Likewise.
8235
8236 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
8237
8238         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
8239         into proper operand.
8240
8241 2002-10-10  Denis Chertykov  <denisc@overta.ru>
8242
8243         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
8244         deallocation.
8245         * config/ip2k/libgcc.S: Combine routines used by function
8246         epilogue.
8247
8248 2002-10-10  Jim Wilson  <wilson@redhat.com>
8249
8250         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
8251         UDIV.
8252
8253 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
8254
8255         * config/rs6000/aix52.h: New file.
8256         * config/rs6000/t-aix52: New File.
8257         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
8258         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
8259
8260 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
8261
8262         PR target/5610
8263         * invoke.texi (-msse-math): Kill
8264         (-msse): Add note to mfpmath=sse.
8265
8266 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
8267
8268         PR target/7723
8269         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
8270
8271 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
8272
8273         PR preprocessor/8179
8274         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
8275         as cc1_options.
8276         (default_compilers): Pass debug options when preprocessing
8277         stdin.
8278
8279 2002-10-06  Richard Henderson  <rth@redhat.com>
8280
8281         * toplev.c (rest_of_compilation): Revert opt/2960 change.
8282
8283 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
8284
8285         * i386.c (*_cost): Add branch costs.
8286         (override_options): set ix86_branch_cost.
8287         (ix86_expand_int_movcc): Use BRANCH_COST.
8288         * i386.h (costs): Add branch_cost.
8289
8290 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
8291
8292         PR c/7353
8293         * c-decl.c (start_decl): Unconditionally issue error for
8294         'typedef foo = bar'.
8295         (finish_decl): Remove special case for TYPE_DECL with initializer.
8296
8297         * doc/extend.texi: Delete "Naming Types" section.  Change all
8298         cross-references to that section to refer to "Typeof" instead.
8299         Add the useful safe-max()-macro example from "Naming Types" to
8300         "Typeof", rewritten using that extension.  Add some compatibility
8301         notes to "Typeof."
8302
8303 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8304
8305         * loop.c: Revert 2002-08-15 change.
8306         (LOOP_REGNO_NREGS): Ensure type is int.
8307
8308 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
8309
8310         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
8311         which copies first FPR and clears second.
8312         (extendsftf2): Same.
8313         (floatditf2): Fix typo.
8314         (floatsitf2): Same.
8315         (fix_trunctfdi2): Same.
8316         (fix_trunctfsi2): Same.
8317
8318 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8319
8320         * conflict.c (arc_hash): Change return type to hashval_t.
8321         * cselib.c (get_value_hash): Likewise.
8322         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
8323         state_hash, automata_list_hash): Likewise.
8324         * read-rtl.c (def_hash): Likewise.
8325         * tree.c (type_hash_hash): Likewise.
8326
8327 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
8328
8329         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
8330         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
8331
8332 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
8333
8334         * sh.md (ffssi2): Fix emitted code.
8335
8336 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
8337
8338         * cse.c (insn_live_p): Pass insn pattern, not full insn
8339         to may_trap_p.
8340
8341 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
8342
8343         * cppmacro.c (paste_tokens): Only allow / to paste with =.
8344
8345 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
8346
8347         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
8348         64-bit hosts.
8349         (movtf_internal): Reference correct displacement for second value
8350         in memory.
8351         (movtf splitter): Correct generation of constants in 64-bit mode.
8352
8353 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
8354
8355         * libgcc2.c (__floatdisf): Properly cure double rounding.
8356
8357 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8358
8359         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
8360         * doc/cpp.texi (Common Predefined Macros): Document.
8361
8362 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8363
8364         PR doc/7484
8365         * doc/invoke.texi (Option Summary): List
8366         -Wmissing-declarations as a C only option.
8367
8368 2002-10-08  Roger Sayle  <roger@eyesopen.com>
8369
8370         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
8371         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
8372         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
8373
8374 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
8375
8376         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
8377         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
8378         variables.
8379         (safe_vector_operand): Update sse_clrv4sf call.
8380         (ix86_expand_buildin): Likewise
8381         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
8382         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
8383         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
8384         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
8385         macros.
8386         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
8387         movv4si):  Obey the new flags.
8388         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
8389         reformating penalty.
8390         (anddf, cmov patterns): Avoid reformating by first converting.
8391         (sse_cvtsd2ss): Fix predicate.
8392         (sse2_clrti): Fix mode,
8393         (sse_clrv4sf): Avoid unspec.
8394
8395 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
8396
8397         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
8398         mno-app-regs|mcmodel=medany.
8399         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
8400         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
8401         (CRTSTUFF_T_CFLAGS): Define.
8402
8403 2002-10-08  Roger Sayle  <roger@eyesopen.com>
8404
8405         PR target/8087
8406         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
8407         pool references that are constructed using LO_SUM.
8408
8409 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
8410
8411         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
8412         -Wall.
8413         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
8414         message.
8415         * flags.h (warn_strict_aliasing): Declare.
8416         * toplev.c (warn_strict_aliasing): Define.
8417         (lang_independent_options): Add it.
8418         * doc/invoke.texi (-Wstrict-aliasing): Document it.
8419
8420 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
8421
8422         * system.h (GCCBUGURL): Delete.
8423         * version.c (bug_report_url): New.  Add commentary about
8424         modifying both these strings in modified distributions.
8425         * version.h: Declare bug_report_url.
8426
8427         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
8428         bug_report_url.
8429
8430 2002-10-08  Nick Clifton  <nickc@redhat.com>
8431
8432         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
8433         convert uint64_t into __ev64_opaque__.
8434         (__ev_set_acc_s64): Likewise, but using signed types.
8435
8436 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
8437
8438         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
8439         ("*doloop_di_long"): Likewise.
8440
8441 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
8442
8443         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
8444
8445 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
8446
8447         * config/mips/mips.md (define_attr cpu): Add r4111.
8448
8449 2002-10-08  Anthony Green  <green@redhat.com>
8450
8451         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
8452
8453 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8454
8455         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
8456         for REAL_VALUE_TO_DECIMAL output.
8457
8458 2002-10-07  Richard Henderson  <rth@redhat.com>
8459
8460         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
8461         function; cleanup PLUS case by using recursion.  Update all users.
8462         (NONZERO_BASE_PLUS_P): Remove.
8463         (find_comparison_args): Use rtx_addr_can_trap_p instead.
8464         (fold_rtx): Use nonzero_address_p.
8465         * rtl.h (nonzero_address_p): Declare.
8466         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
8467         (rtx_addr_can_trap_p): Likewise.
8468         (nonzero_address_p): New.
8469         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
8470         (simplify_relational_operation): Use nonzero_address_p.
8471
8472 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
8473
8474         * config/rs6000/rs6000.c (rs6000_override_options): Set
8475         real_format_for_mode for IBM extended format, if enabled.
8476         (easy_fp_constant): Add TFmode.
8477         (rs6000_legitimize_address): Add TFmode.
8478         (rs6000_legitimate_address): Same.
8479         (function_arg_advance): TFmode uses two FPRs.
8480         (rs6000_emit_prologue): Fix warning.
8481         (rs6000_output_function_epilogue): Add TFmode.
8482         (output_toc): Add TFmode.
8483         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
8484         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
8485         * rs6000.md (movtf splitter): Load TFmode constant.
8486
8487 2002-10-07  Dale Johannesen  <dalej@apple.com>
8488
8489         * rtl.h:  Add NOTE_PRECONDITIONED.
8490         * unroll.c:  Set it.
8491         * loop.c:  Set loop_info->preconditioned from it.
8492         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
8493
8494 2002-10-07  Richard Henderson  <rth@redhat.com>
8495
8496         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
8497         new rtx for comparing the argument pointer against zero.
8498         (i960_va_start): Similarly.
8499
8500 2002-10-07  Richard Henderson  <rth@redhat.com>
8501
8502         * config/i960/i960.md (*): Use TFmode, not XFmode.
8503         * config/i960/i960.c (*): Likewise.
8504         (i960_arg_size_and_align): Remove XFmode alignment hack.
8505         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
8506         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
8507         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
8508         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
8509
8510 2002-10-07  Richard Henderson  <rth@redhat.com>
8511
8512         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
8513         entry points; use void return value and argument list.
8514
8515 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
8516
8517         * calls.c (expand_call): Fix function-is-volatile check.
8518
8519 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
8520
8521         * t-pdp11: Add MULTILIB support for msoft-float.
8522         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
8523
8524         * t-pdp11: Add LIB2FUNCS_EXTRA.
8525         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
8526         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
8527         'fldd' to 'ldd', rename 'fstd' to 'std'.
8528         (pdp11_output_function_epilogue): Likewise.
8529         (output_move_quad): Make the comment gas compatible.
8530         (output_ascii): Add preceding 0 to the octal constant.
8531         (print_operand_address): Add pre_modify, post_modify.
8532         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
8533         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
8534         with the indication of Paul Koning.
8535         (PRINT_OPERAND): Fix floating constant.
8536         * pdp11.md (movdi): Restrict matching pattern.
8537         (movqi): Generalize the matching pattern.
8538         (movdf): Restrict matching pattern.
8539         (zero_extendqihi2): Change constant representation.
8540         (floatsidf2): Fix wrong operands.
8541         (addqi3): Fix wrong instruction name.
8542         (subqi3): Fix wrong instruction name.
8543         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
8544         (xorsi3): Fix wrong insn.
8545         (one_cmplqi2): Add two operand pattern.
8546         (lsrsi3): New.
8547         (negsi2): New.
8548         (call): Add register indirect case.
8549         (mod): Fix wrong subreg.
8550
8551 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
8552             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8553
8554         PR c/7411
8555         * expr.c (expand_expr) [PLUS]: Simplify after the operands
8556         have been expanded in EXPAND_NORMAL mode.
8557
8558 2002-10-06  Richard Henderson  <rth@redhat.com>
8559
8560         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
8561
8562 2002-10-06  Richard Henderson  <rth@redhat.com>
8563
8564         PR optimization/2960
8565         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
8566         optimize_size.
8567
8568 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
8569
8570         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
8571         previously definitions.
8572
8573 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
8574
8575         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
8576         * c-opts.c (find_opt): Similarly.
8577
8578 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
8579
8580         * athlon.md: rewrite to DFA.
8581         * i386 (ix86_adjust_cost): Drop memory latency code.
8582         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
8583
8584 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
8585
8586         * gcc.c (set_multilib_dir): Don't access *end.
8587         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
8588         (print_multilib_info): Don't show paths starting with ".:".
8589         * genmultilib: Add new option, "yes" if multilibs are enabled.
8590         Update comments.  If multilibs not enabled, print .:${osdirout}
8591         for each directory.  If multilibs are enabled, always print
8592         ${dirout}:${osdirout}, even if the two are the same.
8593         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
8594         Pass all MULTILIB_* variables to genmultilib even if
8595         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
8596
8597 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
8598
8599         * gcc.c (process_command): Set .validated for -pipe.  Correct
8600         grammar in comment.
8601
8602 2002-10-04  Bruce Korb  <bkorb@gnu.org>
8603
8604         * fixinc/inclhack.def(hpux11_abs):  use format fix
8605         * fixinc/fixincl.x: regenerate
8606         * fixinc/tests/base/stdlib.h: accommodate new fix test
8607
8608 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8609
8610         * c-common.c (cb_register_builtins):  Use really_no_inline.
8611
8612 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
8613
8614         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
8615         copied instruction if the note is not loop invariant.
8616
8617 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
8618
8619         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
8620
8621 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8622
8623         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
8624         and -mhp-ld options to list of options.  Add -mgnu-ld
8625         and -mhp-ld option descriptions.
8626
8627 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8628
8629         * fixinc/inclhack.def (hpux11_abs):  New.
8630         (stdio_va_list): change __va_list__ to __gnuc_va_list.
8631         * fixinc/fixincl.x: Rebuild.
8632
8633 2002-10-04  Roger Sayle  <roger@eyesopen.com>
8634
8635         * config/i386/i386.h (processor_costs): Add new fields fadd,
8636         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
8637         (RTX_COSTS): Use these fields to determine the RTX costs
8638         of floating point addition/subtraction, multiplication,
8639         division, fabs, negation and square root respectively.
8640         * config/i386/i386.c (size_cost): Provide instruction sizes
8641         for these new fields.
8642         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
8643         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
8644         counts for these new fields for all x86 processor variants.
8645
8646 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8647
8648         * mips.c (mips_const_double_ok): Delete unused variable.
8649
8650         * gengtype.c (rtx_next): Change type to int.
8651
8652 2002-10-04  Andreas Jaeger  <aj@suse.de>
8653
8654         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
8655
8656 2002-10-04  Richard Henderson  <rth@redhat.com>
8657
8658         * real.h (SIGNIFICAND_BITS): Add one more word.
8659         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
8660         * real.c (times_pten): New.
8661         (real_to_decimal, real_from_string): Use it.
8662         (sticky_rshift_significand): Use & to find modulus.
8663         (rshift_significand, lshift_significand): Likewise.
8664         (do_divide): Apply sticky bit after normalization.
8665         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
8666
8667 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
8668
8669         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
8670         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8671
8672 2002-10-03  Andreas Jaeger  <aj@suse.de>
8673
8674         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
8675         to unsigned long, adjust printf format string.
8676         (output_mangled_typename): Likewise.
8677
8678 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
8679
8680         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
8681         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
8682         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
8683         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
8684         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
8685         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8686         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8687         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8688
8689 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
8690
8691         * doc/invoke.texi (-Wabi): Document mangling bug.
8692
8693 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
8694
8695         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8696         name for the tbtab label that depends on the function asm name.
8697         Don't output tbtab label unless optional_tbtab.
8698         (output_mi_thunk): Formatting.
8699
8700 2002-10-03  Richard Henderson  <rth@redhat.com>
8701
8702         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8703         * config/m68k/m68k.c (override_options): ... here.
8704         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8705         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8706         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8707         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8708
8709 2002-10-03  Richard Henderson  <rth@redhat.com>
8710
8711         * real.h (struct real_value): Use ENUM_BITFIELD.
8712
8713 2002-10-03  Richard Henderson  <rth@redhat.com>
8714
8715         * config/i960/i960.md (call, call_value): Use emit_call_insn.
8716
8717 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8718
8719         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8720
8721 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8722
8723         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8724         * config/pa/pa.h (MASK_GNU_LD): New.
8725         (TARGET_GNU_LD): New.
8726         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8727         on gnu-ld and MASK_GNU_LD.
8728         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8729
8730 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8731
8732         * i386.c (athlon_cost): Fix the move costs.
8733
8734 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8735
8736         * final.c (final): Use symbol name as function name for profiling.
8737         * profile.c (get_exec_counts): Likewise.
8738         (branch_prob): Likewise.
8739
8740 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8741
8742         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8743
8744 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8745
8746         * gcc.c (print_multi_os_directory): New variable.
8747         (option_map): Support --print-multi-os-directory.
8748         (struct prefix_list): Add os_multilib field.
8749         (multilib_os_dir): New variable.
8750         (static_specs): Add multilib_options.
8751         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8752         subdirs if nonzero.
8753         (read_specs, execute): Update callers.
8754         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8755         pass 1 as multilib option.
8756         (display_help): Include --print-multi-os-directory.
8757         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8758         (process_command): Update callers.  Handle --print-multi-os-directory.
8759         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8760         set.
8761         (main): Update find_a_file and add_prefix callers.
8762         Handle print_multi_os_directory.
8763         (struct mdswitchstr): New.
8764         (mdswitches, n_mdswitches): New variables.
8765         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8766         present on the command line nor their mutually incompatible
8767         switches.
8768         (default_arg): Optimize.
8769         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8770         array.
8771         (print_multilib_info): Only print GCC multilib dir name, not OS
8772         multilib dirname.
8773         * genmultilib: Add osdirnames parameter.  Output multilib_options
8774         variable.  If osdirnames is specified, output dirnames as
8775         dirname:osdirname.
8776         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8777         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8778         to compute libgcc_s soname and install path.
8779         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8780         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8781         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8782         argument.
8783
8784         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8785         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8786         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8787         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8788         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8789         and -m64.
8790         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8791         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8792         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8793         (STARTFILE_ARCH_SPEC): Remove.
8794         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8795         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8796         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8797         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8798         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8799
8800 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8801
8802         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8803
8804 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8805
8806         * i386.md (lea to mul peep2): Fix condition.
8807
8808 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8809
8810         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8811         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8812
8813 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8814
8815         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8816         attribute "unused".
8817
8818         * config/t-libunwind: Mention unwind-sjlj.c.
8819         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8820         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8821
8822         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8823         before inclusion of config.gcc, but after configuring the compiler etc.
8824         Determine default value for --enable-libunwind-exceptions based on
8825         whether the host has a libunwind library (not guaranteed to be correct,
8826         but it's a reasonable first guess and can always be overridden with an
8827         explicit --enable/disable-libunwind-exceptions.
8828         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8829         tmake_file when $use_libunwind_exceptions is enabled.
8830         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8831         ia64 (e.g., config/t-linux also updates it).
8832         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8833         along with the shared version of libgcc since the latter requires
8834         the former.
8835         * unwind-libunwind.c: New file.
8836         * config/t-libunwind: Ditto.
8837
8838 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8839
8840         * config.gcc: Remove support for vax-*-vms*.
8841         * config/vax/vms.h: Remove.
8842         * config/vax/xm-vms.h: Remove.
8843         * config/vax/vax-protos.h: Remove VMS-specific code.
8844         * config/vax/vax.c: Remove VMS-specific code.
8845
8846 2002-10-02  Richard Henderson  <rth@redhat.com>
8847
8848         PR opt/7124
8849         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8850         for secondary_memory_needed pairs.
8851
8852 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8853
8854         * doc/vms.texi: Blow away false include file section.
8855
8856 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8857
8858         PR optimization/6627
8859         * toplev.c (force_align_functions_log): New global variable.
8860         * flags.h (force_align_functions_log): Add extern prototype.
8861         * varasm.c (assemble_start_function): Use it to force minimum
8862         function alignment.
8863         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8864         minimum function alignment to one byte.
8865         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8866         the least significant bit of vtable member function pointers.
8867         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8868         here from cp/cp-tree.h.
8869
8870 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8871
8872         * i386.c (print_operand_address): Use RIP addressing for offsetted
8873         label refs too.
8874
8875 2002-09-30  David S. Miller  <davem@redhat.com>
8876
8877         PR middle-end/7151
8878         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8879         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8880
8881 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8882
8883         * calls.c (expand_call): Remove the `no indirect check'
8884         for sibcall optimization; use function_ok_for_sibcall
8885         target hook; refine check for `function is volatile'.
8886         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8887         * hooks.c (hook_tree_tree_bool_false): New.
8888         * hooks.h (hook_tree_tree_bool_false): Declare.
8889         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8890         (TARGET_INITIALIZER): Add it.
8891         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8892         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8893         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8894         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8895         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8896         Remove function declaration.
8897         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8898         function static and accept another argument of type `tree'.
8899         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8900         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8901         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8902         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8903         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8904         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8905         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8906         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8907         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8908         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8909         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8910         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8911         Remove function declaration.
8912         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8913         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8914         rename first argument to `decl'; accept another argument
8915         of type `tree'; make static.
8916         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8917         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8918         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8919         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8920         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8921         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8922         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8923         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8924         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8925
8926 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8927
8928         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8929
8930 2002-10-01  Richard Henderson  <rth@redhat.com>
8931
8932         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8933         (real_to_hexadecimal): Likewise.
8934         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8935         dump the XWINT fields of a floating point CONST_DOUBLE.
8936
8937 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8938
8939         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8940
8941 2002-10-01  Richard Henderson  <rth@redhat.com>
8942
8943         * calls.c (precompute_register_parameters): Force non-legitimate
8944         constants into pseudos.
8945
8946 2002-10-01  Nick Clifton  <nickc@redhat.com>
8947
8948         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8949         to assembler template.
8950
8951 2002-10-01  Richard Henderson  <rth@redhat.com>
8952
8953         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8954         for TLS debug info to !DECL_EXTERNAL.
8955
8956 2002-10-01  Matt Thomas  <matt@3am-software.com>
8957             Jason Thorpe  <thorpej@wasabisystems.com>
8958
8959         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8960         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8961         if not already defined.
8962         * config/vax/elf.h: New file.
8963         * config/vax/netbsd-elf.h: New file.
8964         * config/vax/vax.c: Include "debug.h".
8965         (vax_output_function_prologue): Add dwarf2 support.  Use
8966         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8967         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8968         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8969         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8970         (VAX_ISTREAM_SYNC): Remove.
8971         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8972         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8973         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8974         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8975         and assemble_name.
8976         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8977         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8978         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8979         (INCOMING_RETURN_ADDR_RTX): Define.
8980         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8981         (VUNSPEC_SYNC_ISTREAM): Define.
8982         (blockage): Use VUNSPEC_BLOCKAGE.
8983         (sync_istream): New insn.
8984
8985 2002-10-01  Richard Henderson  <rth@redhat.com>
8986
8987         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8988         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8989         (*call): New insn.
8990
8991 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8992
8993         PR c/8083
8994         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8995         type based aliasing.
8996
8997 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8998
8999         * stor-layout.c (update_alignment_for_field): New function.
9000         (place_union_field): Use it.
9001         (place_field): Likewise.
9002
9003 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
9004
9005         PR other/8077
9006         * gcc.c (cc1_options): Add space on -auxbase-strip.
9007
9008 2002-10-01  Jim Wilson  <wilson@redhat.com>
9009
9010         * config/v850/v850.h (EPILOGUE_USES): Define.
9011
9012 2002-09-30  Andrew Haley  <aph@redhat.com>
9013
9014         * flow.c (insn_dead_p): When using non-call-exceptions, don't
9015         eliminate insns that may trap.
9016         * cse.c (insn_live_p): Likewise.
9017
9018 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9019
9020         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
9021         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
9022         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
9023         * config/mips/mips.md: Apply same renaming here.
9024
9025 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9026
9027         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
9028         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
9029         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
9030         * config/mips/mips.md (define_attr cpu): Remove r4320.
9031         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
9032
9033 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9034
9035         * config/mips/mips.c (mips16_strings): New variable.
9036         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
9037         symbol in mips16_strings.  Free the list.
9038         (mips_encode_section_info): Keep track of local strings.
9039
9040 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9041
9042         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
9043         (sordered_df, sordered_sf): Remove.
9044         * config/mips/mips.c (get_float_compare_codes): New fn.
9045         (gen_int_relational, gen_conditional_move): Use it.
9046
9047 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9048
9049         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
9050         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
9051         * config/mips/mips.c (fcc_register_operand): New function.
9052         (mips_emit_fcc_reload): New function, extracted from reload_incc.
9053         (override_options): Allow TFmode values in float registers
9054         if ISA_HAS_8CC.
9055         * cnfig/mips/mips.md (reload_incc): Change destination prediate
9056         to fcc_register_operand.  Remove misleading source constraint.
9057         Use mips_emit_fcc_reload.
9058         (reload_outcc): Duplicate reload_incc.
9059
9060 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
9061
9062         * gcc.c (validate_switches): Handle all new forms of spec
9063         syntax introduced recently.  Now returns a char *.
9064         (validate_all_switches): Repetitive logic broken out to...
9065         (validate_switches_from_spec): ...here.
9066         * mklibgcc.in: Don't @-flag commands to generate .oS files.
9067
9068 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9069
9070         * longlong.h: Partially synchronize with GMP-4.1 version:
9071         Use i370 definitions also for s390.
9072         Add generic definition of umul_ppmm in terms of smul_ppmm.
9073         [s390] (umul_ppmm): Remove.
9074         [s390] (smul_ppmm): Fix incorrect assembler constraints.
9075         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
9076
9077 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
9078
9079         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
9080         Add new RL_REGS register class.
9081         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
9082         Call xtensa_preferred_reload_class for both input and output reloads.
9083         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
9084         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
9085         instead of either AR_REGS or GR_REGS classes.
9086         (xtensa_secondary_reload_class): Use new RL_REGS class.
9087         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
9088
9089 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9090
9091         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
9092         (pa_strip_name_encoding): Strip '@' and '*', in that order.
9093         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
9094         there is a '*' prefix in NAME.
9095
9096 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
9097
9098         * reload.c (push_reload): Handle subregs and secondary memory.
9099         * reload1.c (gen_reload): Likewise.
9100
9101         * jump.c (reg_or_subregno): New function.
9102         * rtl.h (reg_or_subregno): Declare
9103         * unroll.c (find_splittable_givs): Handle subregs.
9104
9105 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
9106
9107         * store-layout.c (finish_record_layout): Add free_p parameter.
9108         (layout_type): Pass it.
9109         * tree.h (finish_record_layout): Update prototype.
9110
9111 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
9112
9113         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
9114
9115         * gcse.c (cprop_jump): Check that the register has not
9116         been modified
9117         (cprop_jump): Likewise.
9118
9119 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
9120
9121         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
9122         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
9123         that we have a SImode access, and only then if reload hasn't completed;
9124         for all other cases, use LO_REGS.
9125
9126 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9127
9128         * openbsd.h: Fix typo in last change.
9129
9130 2002-09-29  Richard Henderson  <rth@redhat.com>
9131
9132         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
9133
9134 2002-09-29  Richard Henderson  <rth@redhat.com>
9135
9136         PR c/8002
9137         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
9138         for CONST_INT.
9139
9140 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
9141
9142         * real.h (ibm_extended_format): Declare.
9143         * real.c (encode_ibm_extended, decode_ibm_extended): New
9144         functions.
9145
9146 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9147
9148         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
9149
9150         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
9151
9152 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9153
9154         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
9155
9156 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
9157
9158         * builtins.def: Fix comment formatting.
9159         * c-common.def: Likewise.
9160         * cfgcleanup.c: Likewise.
9161         * combine.c: Likewise.
9162         * gengtype.c: Likewise.
9163         * params.def: Likewise.
9164         * predict.def: Likewise.
9165         * rtl.def: Likewise.
9166         * stab.def: Likewise.
9167         * stor-layout.c: Likewise.
9168         * tree.def: Likewise.
9169         * config/darwin.c: Likewise.
9170         * config/darwin.h: Likewise.
9171         * config/dbxcoff.h: Likewise.
9172         * config/elfos.h: Likewise.
9173         * config/fp-bit.c: Likewise.
9174         * config/freebsd-spec.h: Likewise.
9175         * config/interix.h: Likewise.
9176         * config/libgloss.h: Likewise.
9177         * config/linux-aout.h: Likewise.
9178         * config/linux.h: Likewise.
9179         * config/lynx-ng.h: Likewise.
9180         * config/lynx.h: Likewise.
9181         * config/netbsd-aout.h: Likewise.
9182         * config/netbsd.h: Likewise.
9183         * config/netware.h: Likewise.
9184         * config/psos.h: Likewise.
9185         * config/ptx4.h: Likewise.
9186
9187 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
9188
9189         * ChangeLog.4: Fix typos.
9190         * ChangeLog.6: Likewise.
9191         * FSFChangeLog.10: Likewise.
9192         * genattrtab.c: Fix comment typos.
9193         * haifa-sched.c: Likewise.
9194         * real.c: Likewise.
9195         * tree.h: Likewise.
9196         * config/arm/arm.c: Likewise.
9197         * config/arm/crti.asm: Likewise.
9198         * config/arm/crtn.asm: Likewise.
9199         * config/frv/frv.c: Likewise.
9200         * config/frv/frv.md: Likewise.
9201         * config/h8300/h8300.md: Likewise.
9202         * config/i386/rtemself.h: Likewise.
9203         * config/ia64/unwind-ia64.c: Likewise.
9204         * config/ip2k/ip2k.h: Likewise.
9205         * config/m88k/m88k.c: Likewise.
9206         * config/m88k/m88k.md: Likewise.
9207         * config/mips/sr71k.md: Likewise.
9208         * config/mmix/mmix.c: Likewise.
9209         * config/rs6000/rs6000.c: Likewise.
9210         * config/sh/sh.md: Likewise.
9211
9212 2002-09-26  Theodore A. Roth  <troth@verinet.com>
9213
9214         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
9215         * config/avr/avr.md: Ditto.
9216
9217 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
9218
9219         PR preprocessor/8055
9220         * cppmacro.c (stringify_arg): Do not overflow the buffer
9221         with the terminating NUL when the argument to be stringified
9222         has no tokens.
9223
9224 2002-09-27  Richard Henderson  <rth@redhat.com>
9225
9226         * unroll.c (simplify_cmp_and_jump_insns): New.
9227         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
9228         instead of expand_simple_foo.
9229
9230 2002-09-27  Richard Henderson  <rth@redhat.com>
9231
9232         PR optimization/7520
9233         * cfganal.c (flow_active_insn_p): New.
9234         (forwarder_block_p): Use it.
9235
9236 2002-09-27  Richard Henderson  <rth@redhat.com>
9237
9238         * emit-rtl.c (active_insn_p): Revert last change.
9239
9240 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
9241
9242         * doc/extend.texi (tls_model): Document.
9243         * varasm.c (decl_tls_model): New.
9244         * c-common.c (handle_tls_model_attribute): New.
9245         (c_common_attribute_table): Add tls_model.
9246         * config/alpha/alpha.c (alpha_encode_section_info): Use
9247         decl_tls_model.
9248         * flags.h (enum tls_model, flag_tls_default): Move...
9249         * tree.h (enum tls_model, flag_tls_default): ...here.
9250         (decl_tls_model): New prototype.
9251         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
9252         * config/i386/i386.c (ix86_encode_section_info): Likewise.
9253         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
9254         Allow !flag_pic.
9255
9256 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
9257
9258         * LANGUAGES: Follow spelling conventions.
9259         * rtl.def: Likewise.
9260         * sbitmap.c: Likewise.
9261         * sched-int.h: Likewise.
9262         * sched-rgn.c: Likewise.
9263         * sibcall.c: Likewise.
9264         * simplify-rtx.c: Likewise.
9265         * ssa.c: Likewise.
9266         * stab.def: Likewise.
9267         * stmt.c: Likewise.
9268         * stor-layout.c: Likewise.
9269         * target.h: Likewise.
9270         * timevar.c: Likewise.
9271         * toplev.c: Likewise.
9272         * tree-dump.c: Likewise.
9273         * tree-inline.c: Likewise.
9274         * tree.c: Likewise.
9275         * tree.def: Likewise.
9276         * tree.h: Likewise.
9277         * unroll.c: Likewise.
9278         * varasm.c: Likewise.
9279         * vmsdbgout.c: Likewise.
9280         * treelang/treelang.texi: Likewise.
9281         * treelang/treetree.c: Likewise.
9282
9283 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
9284
9285         * config/h8300/h8300.c (compute_saved_regs): Use a macro
9286         instead of a hard register number.
9287         (get_shift_alg): Use an enumerated type instead of numbers.
9288         (h8300_shift_needs_scratch_p): Likewise.
9289
9290 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9291
9292         * varasm.c (force_data_section): Remove.
9293         (assemble_constant_align): Likewise.
9294         * output.h: Remove corresponding prototypes.
9295
9296 2002-09-26  Roger Sayle  <roger@eyesopen.com>
9297
9298         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
9299         jump, if the loop to exit is the top of the current nesting stack.
9300
9301 2002-09-26  Torbjorn Granlund  <tege@swox.com>
9302
9303         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
9304         arithmetic.
9305
9306 2002-09-26  David S. Miller  <davem@redhat.com>
9307
9308         PR optimization/7335
9309         * calls.c (emit_library_call_value_1): Passing args by reference
9310         converts a CONST function into a PURE one.
9311
9312 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
9313
9314         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
9315         text_section.
9316         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
9317         text section.
9318         * config/rs6000/rs6000.c (rs6000_override_options): Allow
9319         function-sections and data-sections functionality on AIX.
9320
9321 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
9322             Dale Johannesen  <dalej@apple.com>
9323
9324         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
9325         in RTL for sub-word loads from memory.
9326
9327 2002-09-26  Richard Henderson  <rth@redhat.com>
9328
9329         PR c/7160
9330         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
9331         on call insns.
9332
9333 2002-09-26  Richard Henderson  <rth@redhat.com>
9334
9335         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
9336
9337 2002-09-26  Chris Lattner  <sabre@nondot.org>
9338
9339         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
9340         handling undefined values.
9341
9342 2002-09-26  Richard Henderson  <rth@redhat.com>
9343
9344         PR opt/7520
9345         * emit-rtl.c (active_insn_p): Consider a clobber of the
9346         function return value to be active even after reload.
9347
9348 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
9349
9350         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
9351         by absolute loop increment, not loop increment.
9352
9353 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9354
9355         * c-common.h: Follow spelling conventions.
9356         * cpplex.c: Likewise.
9357         * cpplib.h: Likewise.
9358         * gthr-dce.h: Likewise.
9359         * gthr-posix.h: Likewise.
9360         * optabs.c: Likewise.
9361         * output.h: Likewise.
9362         * profile.c: Likewise.
9363         * protoize.c: Likewise.
9364         * ra-rewrite.c: Likewise.
9365         * real.c: Likewise.
9366         * recog.c: Likewise.
9367         * reg-stack.c: Likewise.
9368         * regclass.c: Likewise.
9369         * regmove.c: Likewise.
9370         * reload.c: Likewise.
9371         * reload.h: Likewise.
9372         * reload1.c: Likewise.
9373         * reorg.c: Likewise.
9374         * resource.c: Likewise.
9375         * rtl.h: Likewise.
9376         * rtlanal.c: Likewise.
9377
9378 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9379
9380         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
9381         for symbol address.
9382
9383 2002-09-24  Eric Christopher  <echristo@redhat.com>
9384
9385         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
9386         * config/mips/elf64.h: Ditto.
9387
9388 2002-09-24  Eric Christopher  <echristo@redhat.com>
9389
9390         * except.c (expand_builtin_extract_return_address): Handle case
9391         where Pmode != ptr_mode.
9392
9393 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9394
9395         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
9396
9397 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9398
9399         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
9400
9401 2002-09-26  Igor Shevlyakov <igor@microunity.com>
9402
9403         * combine.c (simplify_set): Don't call to force_to_mode if size
9404         of integer type is larger than HOST_BITS_PER_WIDE_INT.
9405
9406 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
9407
9408         * Makefile.in (qmtest-g++): Fix file path.
9409
9410 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
9411
9412         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
9413         A + (-const) on RTX level, even for unsigned types.
9414
9415 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
9416
9417         * reload.c (dup_replacements): New function.
9418         (find_reloads): Use it to duplicate replacements at the top level
9419         of match_dup operands.
9420
9421 2002-09-26  Miles Bader  <miles@gnu.org>
9422
9423         * v850.md ("length"): Change default value to 4.
9424
9425 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9426
9427         * ChangeLog.1: Follow spelling conventions.
9428         * ChangeLog.4: Likewise.
9429         * ChangeLog.6: Likewise.
9430         * FSFChangeLog.11: Likewise.
9431         * doc/cpp.texi: Likewise.
9432         * doc/invoke.texi: Likewise.
9433         * doc/tm.texi: Likewise.
9434
9435 2002-09-26  Nick Clifton  <nickc@redhat.com>
9436
9437         * config.gcc: Add x prefix to v850e case for handling
9438         --with-cpu=v850e.
9439
9440 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
9441
9442         * gcc.c (input_suffix_matches, switch_matches,
9443         mark_matching_switches, process_marked_switches,
9444         process_brace_body): New functions - split from handle_braces.
9445         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
9446         and ignore whitespace in more places.
9447         (specs documentation comment): Document %{S:X;T:Y;:D}.
9448         Clarify other %{...} docs.
9449         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
9450         %{...} docs.
9451
9452         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
9453         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
9454
9455 2002-09-25  David S. Miller  <davem@redhat.com>
9456
9457         PR target/7842
9458         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
9459         extend.
9460
9461 2002-09-25  Richard Henderson  <rth@redhat.com>
9462
9463         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
9464         fp CONST_DOUBLE; use real_identical.
9465
9466 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
9467
9468         * doc/invoke.texi: Add more -Wabi examples.
9469
9470 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
9471
9472         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
9473
9474 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
9475
9476         * profile.c (end_branch_prob): Only look for __gcov_init on
9477         weak-enabled native compilers.
9478
9479 2002-09-24  Denis Chertykov  <denisc@overta.ru>
9480
9481         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
9482         cases of optimizing "add sp,w" to "inc sp".
9483
9484 2002-09-24  Adam Nemet  <anemet@lnxw.com>
9485
9486         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
9487         epilogue for naked functions.
9488
9489 2002-09-24  Adam Nemet  <anemet@lnxw.com>
9490             Nick Clifton  <nickc@redhat.com>
9491
9492         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
9493         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
9494         is defined.
9495
9496 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
9497
9498         * config/s390/s390.c (preferred_la_operand_p): New function.
9499         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
9500         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
9501         ("*la_64_cc", "*la_31_cc", splitters): ... these.
9502         ("*la_31"): Deactivate for TARGET_64BIT.
9503         ("*la_31_and", "*la_31_and_cc"): New.
9504
9505 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9506
9507         * real.h (real_value): Make `exp' explicitly signed.
9508
9509 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
9510
9511         * config/elfos.h: Follow spelling conventions.
9512         * config/alpha/alpha.h: Likewise.
9513         * config/arc/arc.h: Likewise.
9514         * config/arm/arm.md: Likewise.
9515         * config/avr/avr.h: Likewise.
9516         * config/cris/cris.md: Likewise.
9517         * config/d30v/d30v.h: Likewise.
9518         * config/frv/frv.c: Likewise.
9519         * config/frv/frv.h: Likewise.
9520         * config/h8300/h8300.c: Likewise.
9521         * config/h8300/h8300.h: Likewise.
9522         * config/h8300/h8300.md: Likewise.
9523         * config/i386/cygwin.h: Likewise.
9524         * config/i386/i386.h: Likewise.
9525         * config/i386/sysv3.h: Likewise.
9526         * config/i960/i960.h: Likewise.
9527         * config/ia64/ia64.h: Likewise.
9528         * config/ia64/ia64.md: Likewise.
9529         * config/ip2k/ip2k.h: Likewise.
9530         * config/m32r/m32r.h: Likewise.
9531         * config/m68k/m68k.h: Likewise.
9532         * config/m88k/m88k.h: Likewise.
9533         * config/mcore/mcore.c: Likewise.
9534         * config/mcore/mcore.h: Likewise.
9535         * config/mcore/mcore.md: Likewise.
9536         * config/mips/mips.h: Likewise.
9537         * config/mmix/mmix.h: Likewise.
9538         * config/mmix/mmix.md: Likewise.
9539         * config/ns32k/netbsd.h: Likewise.
9540         * config/ns32k/ns32k.h: Likewise.
9541         * config/ns32k/ns32k.md: Likewise.
9542         * config/pa/pa.h: Likewise.
9543         * config/romp/romp.h: Likewise.
9544         * config/rs6000/rs6000.h: Likewise.
9545         * config/rs6000/rs6000.md: Likewise.
9546         * config/sparc/sparc.h: Likewise.
9547         * config/stormy16/stormy-abi: Likewise.
9548         * config/stormy16/stormy16.h: Likewise.
9549         * config/vax/vax.h: Likewise.
9550
9551 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9552
9553         * config/alpha/alpha.h: Remove commented-out macro
9554         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
9555         * config/avr/avr.h: Likewise.
9556         * config/d30v/d30v.h: Likewise.
9557         * config/dsp16xx/dsp16xx.h: Likewise.
9558         * config/i370/i370.h: Likewise.
9559         * config/i386/i386.h: Likewise.
9560         * config/i960/i960.h: Likewise.
9561         * config/m68k/m68k.h: Likewise.
9562         * config/m88k/m88k.h: Likewise.
9563         * config/mips/mips.h: Likewise.
9564         * config/ns32k/ns32k.h: Likewise.
9565         * config/pdp11/pdp11.h: Likewise.
9566         * config/romp/romp.h: Likewise.
9567         * config/rs6000/rs6000.h: Likewise.
9568         * config/s390/s390.h: Likewise.
9569         * config/sh/sh.h: Likewise.
9570         * config/sparc/sparc.h: Likewise.
9571         * config/stormy16/stormy16.h: Likewise.
9572         * config/vax/vax.h: Likewise.
9573
9574 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9575
9576         * function.c (push_temp_slots_for_block): Remove.
9577         (push_temp_slots_for_target): Likewise.
9578         (get_target_temp_slot_level): Likewise.
9579         (set_target_temp_slot_level): Likewise.
9580         (get_first_block_beg): Likewise.
9581         * function.h: Remove corresponding prototypes.
9582
9583 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
9584
9585         * version.c (version_string): Now const char[].
9586         * version.h: Update to match.
9587
9588 2002-09-23  Richard Henderson  <rth@redhat.com>
9589
9590         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
9591         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
9592         (TARGET_SWITCHES): Don't reference them.
9593         * config/i386/i386.c (override_options): Use target_flags_explicit
9594         to examine bits set by the user.
9595
9596 2002-09-23  Dale Johannesen  <dalej@apple.com>
9597
9598         * dbxout.c (dbxout_parms):  Set current_sym_code for params
9599         passed on stack by invisible reference.
9600
9601 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
9602
9603         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
9604         at least one byte of space.
9605
9606 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9607
9608         * c-common.h (flag_abi_version): Fix typo in comment.
9609         * doc/invoke.texi (flag_abi_version): Document default value.
9610
9611 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
9612
9613         * doc/extend.texi (Extended Asm): Clarify that overlap between
9614         asm-declared register variables used in an asm and the asm clobber
9615         list is not allowed.
9616         * stmt.c (decl_conflicts_with_clobbers_p): New function.
9617         (expand_asm_operands): Keep track of clobbered registers.  Call
9618         decl_conflicts_with_clobbers_p for each input and output operand.
9619         If no conflicts found before, also do conflict sanity check when
9620         emitting clobbers.
9621
9622 2002-09-23  Richard Henderson  <rth@redhat.com>
9623
9624         * c-common.c (cpp_define_data_format): Remove.
9625         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
9626         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9627         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9628         * doc/cpp.texi: Don't document them either.
9629         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
9630         __LONG_LONG_MAX__): Document.
9631         (__TARGET_FLOAT_FORMAT__): Remove.
9632
9633 2002-09-23  Richard Henderson  <rth@redhat.com>
9634
9635         * real.c (do_multiply): Normalize U before addition.
9636
9637 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9638
9639         * c-common.c (flag_abi_version): New variable.
9640         * c-common.h (flag_abi_version): Declare it.
9641         * c-opts.c (missing_arg): Add -fabi-version.
9642         (c_common_decode_option): Process -fabi-version.
9643         * doc/invoke.texi (-fabi-version): Document it.
9644         (-Wabi): Add information about bit-fields in unions.
9645
9646 2002-09-22  Roger Sayle  <roger@eyesopen.com>
9647
9648         * expr.c (STORE_BY_PIECES_P): New target macro.
9649         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
9650         instead of MOVE_BY_PIECES_P.
9651         * doc/tm.texi: Document this new macro.
9652
9653 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9654
9655         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
9656         unless -fno-pic or -fno-PIC is specified.
9657
9658 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9659
9660         * c-common.c (preprocessing_trad_p): Define.
9661         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
9662         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
9663         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9664         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
9665         * pa-linux.h (CPP_PREDEFINES): Delete.
9666         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9667         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
9668         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
9669         (TARGET_OS_CPP_BUILTINS): Define.
9670         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
9671         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
9672         (SUBTARGET_SWITCHES): Provide default definition.
9673         (TARGET_OPTIONS): Reformat.  Use N_() macro.
9674         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
9675         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
9676         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
9677         (TARGET_CPU_CPP_BUILTINS): Define.
9678         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
9679         * doc/invoke.texi (msio, mwsio): Document new hppa options.
9680         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
9681         preprocessing_trad_p().
9682
9683 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9684
9685         * doc/install.texi: Document behavior of --with-headers and
9686         --with-libs when arguments are omitted.
9687
9688 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
9689
9690         * dbxout.c: Follow spelling conventions.
9691         * defaults.h: Likewise.
9692         * df.c: Likewise.
9693         * diagnostic.h: Likewise.
9694         * doloop.c: Likewise.
9695         * dwarf2out.c: Likewise.
9696         * dwarfout.c: Likewise.
9697         * emit-rtl.c: Likewise.
9698         * except.c: Likewise.
9699         * explow.c: Likewise.
9700         * expmed.c: Likewise.
9701         * expr.c: Likewise.
9702         * expr.h: Likewise.
9703         * flags.h: Likewise.
9704         * flow.c: Likewise.
9705         * fold-const.c: Likewise.
9706         * function.c: Likewise.
9707         * function.h: Likewise.
9708         * gcc.c: Likewise.
9709         * gcov-io.h: Likewise.
9710         * gcov.c: Likewise.
9711         * gcse.c: Likewise.
9712         * genattrtab.c: Likewise.
9713         * genconfig.c: Likewise.
9714         * genrecog.c: Likewise.
9715         * ggc-page.c: Likewise.
9716         * ggc.h: Likewise.
9717         * global.c: Likewise.
9718         * gthr-win32.h: Likewise.
9719         * integrate.c: Likewise.
9720         * jump.c: Likewise.
9721         * langhooks.c: Likewise.
9722         * langhooks.h: Likewise.
9723         * line-map.h: Likewise.
9724         * local-alloc.c: Likewise.
9725         * longlong.h: Likewise.
9726         * loop.c: Likewise.
9727         * loop.h: Likewise.
9728
9729 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9730
9731         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9732
9733 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9734
9735         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9736         for -Os/TARGET_64BIT too.
9737
9738 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9739
9740         * ChangeLog: Follow spelling conventions.
9741         * ChangeLog.0: Likewise.
9742         * ChangeLog.1: Likewise.
9743         * ChangeLog.2: Likewise.
9744         * ChangeLog.3: Likewise.
9745         * ChangeLog.4: Likewise.
9746         * ChangeLog.5: Likewise.
9747         * ChangeLog.6: Likewise.
9748         * FSFChangeLog.10: Likewise.
9749         * FSFChangeLog.11: Likewise.
9750         * alias.c: Likewise.
9751         * basic-block.h: Likewise.
9752         * c-aux-info.c: Likewise.
9753         * c-common.c: Likewise.
9754         * c-common.h: Likewise.
9755         * c-decl.c: Likewise.
9756         * c-format.c: Likewise.
9757         * c-semantics.c: Likewise.
9758         * c-typeck.c: Likewise.
9759         * calls.c: Likewise.
9760         * cfganal.c: Likewise.
9761         * cfgloop.c: Likewise.
9762         * collect2.c: Likewise.
9763         * combine.c: Likewise.
9764         * conflict.c: Likewise.
9765         * cppexp.c: Likewise.
9766         * cppfiles.c: Likewise.
9767         * cpphash.h: Likewise.
9768         * cppinit.c: Likewise.
9769         * cpplex.c: Likewise.
9770         * cpplib.c: Likewise.
9771         * cpplib.h: Likewise.
9772         * cppmacro.c: Likewise.
9773         * cse.c: Likewise.
9774
9775 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9776
9777         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9778         LINK_SPEC.
9779         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9780         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9781         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9782
9783 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9784
9785         PR opt/7930
9786         * cse.c (fold_rtx): Calculate old_cost before we fold each
9787         operand.
9788
9789 2002-09-21  Richard Henderson  <rth@redhat.com>
9790
9791         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9792         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9793         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9794         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9795         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9796         * doc/cpp.texi: Don't document them.
9797
9798 2002-09-21  Richard Henderson  <rth@redhat.com>
9799
9800         * c-common.c (builtin_define_float_constants): Use real_format
9801         to get the floating-point parameters.
9802
9803 2002-09-21  Richard Henderson  <rth@redhat.com>
9804
9805         * real.c (struct real_format): Move to real.h.
9806         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9807         initialize with ieee defaults.
9808         (real_to_target_fmt, real_from_target_fmt): New.
9809         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9810         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9811         ieee_quad_format, i370_single_format, i370_double_format,
9812         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9813         (ieee_quad_format): Fix emin.
9814         (format_for_size, init_real_once): Remove.
9815         * real.h (struct real_format): Move from real.c.
9816         (real_format_for_mode): Declare.
9817         (real_to_target_fmt, real_from_target_fmt): Declare.
9818         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9819         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9820         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9821         i370_single_format, i370_double_format, c4x_single_format,
9822         c4x_extended_format): Declare.
9823         * toplev.c (do_compile): Don't call init_real_once.
9824
9825         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9826         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9827
9828         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9829         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9830         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9831         for VAX, if enabled.
9832
9833         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9834         for C4X.
9835
9836         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9837         * config/i370/i370.c (override_options): New.
9838         * config/i370/i370-protos.h: Update.
9839
9840         * config/i386/i386.c (override_options): Set real_format_for_mode
9841         for Intel 80-bit extended.
9842         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9843
9844         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9845         (OVERRIDE_OPTIONS): Move code...
9846         * config/i960/i960.c (i960_initialize): ... here.  Set
9847         real_format_for_mode for Intel 80-bit extended.
9848
9849         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9850         for Intel 80-bit extended, if enabled.
9851
9852         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9853         for Motorola 96-bit extended.
9854
9855         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9856         * config/vax/vax.c (override_options): New.
9857         * config/vax/vax-protos.h: Update.
9858
9859 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9860
9861         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9862         #if TARGET_MACHO.
9863
9864         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9865         insns.  Supply missing clobber of scratch reg.
9866
9867 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9868
9869         * config/m32r/m32r.c: Follow spelling conventions.
9870         * config/m32r/m32r.h: Likewise.
9871         * config/m32r/m32r.md: Likewise.
9872         * config/m68k/m68k.c: Likewise.
9873         * config/m88k/m88k.c: Likewise.
9874         * config/mcore/mcore.c: Likewise.
9875         * config/mips/mips.c: Likewise.
9876         * config/mips/mips.h: Likewise.
9877         * config/mmix/mmix.c: Likewise.
9878         * config/mn10200/mn10200.c: Likewise.
9879         * config/ns32k/ns32k.h: Likewise.
9880         * config/pa/pa.c: Likewise.
9881         * config/pa/pa64-linux.h: Likewise.
9882         * config/pdp11/pdp11.h: Likewise.
9883         * config/romp/romp.c: Likewise.
9884         * config/romp/romp.h: Likewise.
9885         * config/rs6000/eabi.asm: Likewise.
9886         * config/rs6000/linux64.h: Likewise.
9887         * config/rs6000/rs6000.c: Likewise.
9888         * config/rs6000/rs6000.h: Likewise.
9889         * config/rs6000/rs6000.md: Likewise.
9890         * config/rs6000/sysv4.h: Likewise.
9891         * config/rs6000/xcoff.h: Likewise.
9892
9893 2002-09-20  Jim Wilson  <wilson@redhat.com>
9894
9895         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9896
9897 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9898
9899         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9900         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9901         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9902         (legitimate_address_p): Likewise.
9903         (legitimize_address): Use @gotntpoff and @indntpoff.
9904         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9905         (output_addr_const_extra): Likewise.
9906
9907 2002-09-20  Jim Wilson  <wilson@redhat.com>
9908
9909         * combine.c (try_combine): When split an instruction pair, where the
9910         first has a sign_extend src, verify that the src and dest modes match.
9911
9912 2002-09-20  Richard Henderson  <rth@redhat.com>
9913
9914         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9915         (override_options): Do not initialize them.
9916         (mips_const_double_ok): Allow no fp constants except zero,
9917         and not even that for mips16.
9918         (const_float_1_operand): Use dconst1.
9919         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9920         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9921         Don't allow arbitrary constants; fix predicates and C constraint.
9922
9923 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9924
9925         * cppmacro.c: Don't warn about function-like macros without
9926         '(' during pre-expansion.
9927
9928 2002-09-20  Jim Wilson  <wilson@redhat.com>
9929
9930         * config/v850/v850.c (current_function_anonymous_args): Delete.
9931         (expand_prologue): Use current_function_args_info.anonymous_args.
9932         (expand_epilogue): Delete use of current_function_anonymous_args.
9933         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9934         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9935         (current_function_anonymous_args): Delete extern declaration.
9936         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9937
9938 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9939
9940         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9941         to load_macho_picbase.
9942         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9943         (load_macho_picbase): Take the symbol to use as a parameter.
9944         (macho_correct_pic): New insn.
9945         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9946
9947         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9948         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9949         (CAN_ELIMINATE): Likewise.
9950         (INITIAL_ELIMINATION_OFFSET): Likewise.
9951         (TOC_REGISTER): Likewise.
9952
9953 2002-09-20  Richard Henderson  <rth@redhat.com>
9954
9955         * real.c (real_hash): New.
9956         * real.h: Declare it.
9957         * cse.c (canon_hash): Use it.
9958         * cselib.c (hash_rtx): Likewise.
9959         * emit-rtl.c (const_double_htab_hash): Likewise.
9960         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9961         * varasm.c (struct rtx_const): Reduce vector size; separate
9962         integer and fp vectors.
9963         (HASHBITS): Remove.
9964         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9965         take modulus MAX_HASH_TABLE.
9966         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9967         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9968         (SYMHASH): Don't use HASHBITS.
9969         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9970         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9971         (simplify_subtraction): Fix kind comparison.
9972         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9973         Use a union to pun integer array.
9974         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9975         only hash two words of integral CONST_DOUBLE.
9976
9977 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9978
9979         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9980         (STARTFILE_PREFIX_SPEC): New.
9981         (LINK_SPEC): Modify.
9982         (LIB_SPEC): Modify.
9983         (LIBGCC_SPEC): New.
9984
9985 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9986
9987         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9988         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9989
9990 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9991
9992         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9993         Add clobber of the condition code register.
9994
9995 2002-09-20  Richard Henderson  <rth@redhat.com>
9996
9997         * real.c (do_fix_trunc): Static.
9998         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9999         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
10000         encode_i370_single, encode_i370_double, encode_c4x_single,
10001         encode_c4x_extended): Add default abort case.
10002
10003 2002-09-20  Richard Henderson  <rth@redhat.com>
10004
10005         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
10006         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
10007         (struct realvaluetype): Remove.
10008         (REAL_VALUE_TYPE): Use struct real_value.
10009         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
10010         (test_real_width): New.
10011         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
10012         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
10013         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
10014         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
10015         real_to_integer, real_to_integer2, real_to_decimal,
10016         real_to_hexadecimal, real_from_string, real_from_integer,
10017         real_inf, real_nan, real_2expN, real_convert, real_to_target,
10018         real_from_target): Likewise.
10019         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
10020         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
10021
10022 2002-09-20  Richard Henderson  <rth@redhat.com>
10023
10024         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
10025         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
10026         * defaults.h: ... here.
10027         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
10028         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
10029         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
10030         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
10031
10032 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
10033
10034         * config/mmix/mmix.md ("negdf2"): Rewrite.
10035         ("*expanded_negdf2"): New.
10036
10037 2002-09-19  Jim Wilson  <wilson@redhat.com>
10038
10039         * combine.c (simplify_set): When optimizing a subreg src with a
10040         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
10041
10042 2002-09-19  Dale Johannesen <dalej@apple.com>
10043         * combine.c (make_extraction): Don't create
10044         invalid subreg.
10045
10046 2002-09-19  Roger Sayle  <roger@eyesopen.com>
10047
10048         * tree.c (integer_nonzerop): New predicate for nonzero integers.
10049         * tree.h (integer_nonzerop): Add function prototype.
10050         * stmt.c (expand_end_loop):  Don't rotate the loop when there
10051         are no instructions in the test, i.e. the loop is unconditional.
10052         (expand_exit_loop_if_false):  Optimize RTL generation of loop
10053         tests when the condition is always true or always false.
10054         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
10055         do-loops when the condition is always true.
10056         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
10057         the for-expression is empty.
10058
10059 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
10060
10061         * gcc.c (use_pipes): New flag.
10062         (process_command): Set it.  Adjust check for -pipe conflicting
10063         with -time or -save-temps.
10064         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
10065         %<SWITCH.  Drop %| (without a SUFFIX).
10066         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
10067         (give_switch): Third argument eliminated.
10068         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
10069         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
10070         (specs documentation comment): Update.
10071
10072         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
10073         config/svr4.h, config/i386/freebsd-aout.h,
10074         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
10075         config/m68k/openbsd.h, config/mips/openbsd.h,
10076         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
10077         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
10078         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
10079         * config/cris/cris.h: Update comment.
10080
10081         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
10082         error messages.  Don't use %{^SWITCH}.
10083         * ada/misc.c (gnat_decode_option): Handle -I with a
10084         separate argument.
10085
10086         * f/lang-specs.h: Use %| and %m.
10087         * java/jvspec.c: Use %m and %(invoke_as).  Change all
10088         uses of %{<SWITCH} to %<SWITCH.
10089
10090         * doc/invoke.texi: Update documentation of specs.
10091         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
10092
10093 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
10094
10095         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
10096         and STRICT_LOW_PART within SET_DEST.
10097         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
10098         splitters, replacing pre-reload splitters.
10099         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
10100         "*zero_extendqihi2_31"): New insns.
10101         ("*zero_extendqihi2_64"): Do not clobber CC.
10102
10103 2002-09-18  Devang Patel  <dpatel@apple.com>
10104
10105         * cp/cp-tree.h: New prototype for walk_vtables().
10106         * cp/decl.c (walk_vtables_r): New function.
10107         (struct cp_binding_level): Add new members, namespaces,
10108         names_size and vtables.
10109         (add_decl_to_level): Add decl in namespaces or vtables
10110         chain, if conditions match.
10111         (walk_vtables): New function.
10112         (walk_namespaces_r): Travers separate namespace chain
10113         for namespace decls.
10114         (wrapup_globals_for_namespace): Use names_size instead
10115         of list_length().
10116         * cp/decl2.c (finish_file): Use walk_vtables() instead of
10117         walk_globals() to walk vtable decls.
10118
10119 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
10120
10121         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
10122         (DTORS_SECTION_ASM_OP): Ditto.
10123         (READONLY_DATA_SECTION_ASM_OP): Moved.
10124         (DATA_SECTION_ASM_OP): New.
10125         (SDATA_SECTION_ASM_OP): New.
10126         (BSS_SECTION_ASM_OP): New.
10127         (SBSS_SECTION_ASM_OP): New.
10128         (TEXT_SECTION_ASM_OP): New.
10129
10130 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
10131
10132         * config/fp-bit.c: Follow spelling conventions.
10133         * config/d30v/d30v.c: Likewise.
10134         * config/d30v/d30v.h: Likewise.
10135         * config/fr30/fr30.c: Likewise.
10136         * config/fr30/fr30.h: Likewise.
10137         * config/fr30/fr30.md: Likewise.
10138         * config/frv/frv.c: Likewise.
10139         * config/frv/frv.h: Likewise.
10140         * config/h8300/h8300.c: Likewise.
10141         * config/h8300/lib1funcs.asm: Likewise.
10142         * config/i370/i370.c: Likewise.
10143         * config/i386/i386.h: Likewise.
10144         * config/i386/i386.md: Likewise.
10145         * config/i386/pentium.md: Likewise.
10146         * config/i386/winnt.c: Likewise.
10147         * config/i960/i960.c: Likewise.
10148         * config/ia64/ia64.h: Likewise.
10149         * config/ip2k/ip2k.c: Likewise.
10150         * config/ip2k/ip2k.h: Likewise.
10151         * config/ip2k/ip2k.md: Likewise.
10152         * config/ip2k/libgcc.S: Likewise.
10153
10154 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
10155
10156         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
10157         (GOTOFF_P): Extend to allow gotoff plus constant.
10158
10159 2002-09-18  Richard Henderson  <rth@redhat.com>
10160
10161         * ifcvt.c (noce_process_if_block): Correctly detect X modified
10162         with INSN_B before COND_EARLIEST.  Don't check A and B for
10163         modification in condition range.  Reorder INSN_B for A==B properly.
10164         (if_convert): Iterate until no matches for a block.
10165
10166 2002-09-18  Richard Henderson  <rth@redhat.com>
10167
10168         * calls.c (store_one_arg): Rename default_align to parm_align;
10169         always adjust parm_align for downward padding.
10170
10171 2002-09-18  Richard Henderson  <rth@redhat.com>
10172
10173         * toplev.c (backend_init): Move init_real_once invocation ...
10174         (do_compile): ... here.
10175
10176 2002-09-18  Richard Henderson  <rth@redhat.com>
10177
10178         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
10179         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
10180
10181 2002-09-18  Richard Henderson  <rth@redhat.com>
10182
10183         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
10184
10185 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
10186
10187         * config/rs6000/rs6000.md: (floatdisf2): Rename to
10188         floatdisf2_internal1.
10189         (floatdisf2): New define_expand.
10190         (floatdisf2_internal2): Likewise.
10191
10192 2002-09-18  Richard Henderson  <rth@redhat.com>
10193
10194         * real.c (sticky_rshift_significand): Collect sticky as
10195         unsigned long, not bool.
10196
10197 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
10198
10199         * config/s390/s390.c (s390_address_cost): New function.
10200         config/s390/s390-protos.h (s390_address_cost): Add prototype.
10201         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
10202         (RTX_COST): Use COSTS_N_INSNS.
10203
10204 2002-09-18  Douglas Rupp  <rupp@gnat.com>
10205             Donn Terry  <donnte@microsoft.com>
10206
10207         * stor-layout.c (place_field): Handle alignment of whole
10208         structures when MSVC compatible bitfields are involved.
10209         Change method of computing location of MS bitfields to
10210         be compatible with #pragma pack(n).
10211
10212         * tree.h (record_layout_info): Add new field
10213         remaining_in_alignment.
10214
10215         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
10216         (pragma pack): Add paragraph on MSVC bitfield packing.
10217
10218 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
10219
10220         PR optimization/7967
10221         * arm.md (ne_zeroextractsi): Add clobber of the condition code
10222         register.
10223
10224 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
10225
10226         * config/s390/s390.c: Follow spelling conventions.
10227         * config/sh/lib1funcs.asm: Likewise.
10228         * config/sh/sh.c: Likewise.
10229         * config/sh/sh.h: Likewise.
10230         * config/sparc/sparc.c: Likewise.
10231         * config/sparc/sparc.h: Likewise.
10232         * config/sparc/sparc.md: Likewise.
10233         * config/stormy16/stormy16.c: Likewise.
10234         * config/stormy16/stormy16.h: Likewise.
10235         * config/v850/v850.c: Likewise.
10236         * config/v850/v850.h: Likewise.
10237         * config/vax/vax.c: Likewise.
10238         * config/vax/vax.h: Likewise.
10239
10240 2002-09-18  Nick Clifton  <nickc@redhat.com>
10241
10242         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
10243         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
10244         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
10245
10246 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10247
10248         * function.c (max_parm_reg_num): Remove.
10249         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
10250         drop_through_at_end_p, move_cleanups_up,
10251         expand_end_case_dummy, case_index_expr_type): Likewise.
10252         * stor-layout.c (pos_from_byte): Likewise.
10253         * tree.c (chain_member_value, chain_member_purpose, listify,
10254         tree_int_cst_msb, index_type_equal): Likewise.
10255         * tree.h: Remove prototypes for unused functions.
10256
10257 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
10258
10259         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
10260         statement that the only translation is to en_UK.
10261
10262 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10263
10264         * config/alpha/alpha.c: Follow spelling conventions.
10265         * config/alpha/alpha.h: Likewise.
10266         * config/alpha/alpha.md: Likewise.
10267         * config/arc/arc.h: Likewise.
10268         * config/arm/arm.c: Likewise.
10269         * config/arm/arm.h: Likewise.
10270         * config/arm/arm.md: Likewise.
10271         * config/arm/pe.c: Likewise.
10272         * config/arm/unknown-elf.h: Likewise.
10273         * config/avr/avr.c: Likewise.
10274         * config/avr/avr.h: Likewise.
10275         * config/c4x/c4x.c: Likewise.
10276         * config/cris/cris.c: Likewise.
10277         * config/cris/cris.h: Likewise.
10278
10279 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
10280
10281         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
10282         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
10283         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
10284
10285 2002-09-17  Dale Johannesen  <dalej@apple.com>
10286
10287         * cfgcleanup.c (try_forward_edges):  Do not forward a
10288         branch to just after a loop exit before loop optimization;
10289         this interfered with doloop detection.
10290
10291 2002-09-17  Nick Clifton  <nickc@redhat.com>
10292
10293         * config/arm/arm.c (output_return_instruction): Do not
10294         writeback the stack pointer when it is being loaded.
10295         (arm_output_epilogue): Likewise.
10296
10297 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10298
10299         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
10300         generate a pseudo reg that receives the result of a libcall.
10301         (prepare_float_lib_cmp): Likewise.
10302
10303 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
10304
10305         * config/ia64/elf.h: Remove CPP_PREDEFINES.
10306
10307 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10308
10309         Fix PR/7014 and related objc bugs:
10310         * c-typeck.c (comp_target_types): Added a reflexive argument.
10311         Pass it to ObjC when/if calling objc_comptypes().  Updated all
10312         callers to provide the appropriate reflexive argument.
10313         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
10314         typechecking for all cases of comparisons and assignments,
10315         particularly the obscure and less common ones involving protocols.
10316
10317 2002-09-17  Nick Clifton  <nickc@redhat.com>
10318
10319         * machmode.def (V1DImode): New mode.  A single element vector.
10320         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
10321         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
10322         * tree.c (build_common_tree_nodes_2): Build
10323         unsigned_V1DI_type_node and V1D1_type_node.
10324         * c-common.c (c_common_type_for_mode): Return
10325         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
10326         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
10327
10328 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10329
10330         * doc/objc.texi (Constant string objects): Extended documentation
10331         to make clear that the constant string class ivar layout is
10332         completely fixed.
10333
10334 2002-09-17  Roger Sayle  <roger@eyesopen.com>
10335
10336         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
10337         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
10338
10339 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10340
10341         * config/mips/mips.c (save_restore_insns): Remove unused variable.
10342         * gcc.c (make_relative_prefix): Likewise.
10343         * loop.c (check_final_value): Likewise.
10344         * jump.c (init_label_info): Remove return value.
10345         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
10346
10347 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10348
10349         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
10350         (ASM_PN_FORMAT): Define.
10351
10352 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10353
10354         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
10355         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
10356         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
10357         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
10358         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
10359         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
10360         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
10361         Delete.
10362         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
10363         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
10364         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
10365
10366         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
10367         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
10368
10369 2002-09-16  Richard Henderson  <rth@redhat.com>
10370
10371         * expr.c (emit_block_move): Set memory block size as appropriate
10372         for the copy.
10373
10374 2002-09-16  Richard Henderson  <rth@redhat.com>
10375
10376         PR fortran/3924
10377         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
10378
10379 2002-09-16  Richard Henderson  <rth@redhat.com>
10380
10381         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
10382         as well as OFFSET for BITPOS.
10383
10384 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
10385
10386         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
10387         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
10388         winchip2 and c3.
10389         * doc/invoke.texi: Mention new aliases.
10390
10391 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10392
10393         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
10394         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
10395         downward.
10396         * function.c (pad_below):  Always compile.
10397         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
10398         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
10399         Pad below when the argument is not in a register and the padding
10400         direction is downward.
10401
10402         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
10403         (PAD_VARARGS_DOWN): Define.
10404         * pa.c (function_arg_padding): Revise padding directions to make them
10405         compatible with the 32 and 64-bit runtime architecture documentation.
10406         (hppa_va_arg):  Add code to handle variable and size zero arguments
10407         passed by reference on TARGET_64BIT.  Reformat.
10408         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
10409         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
10410         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
10411         Add comments.
10412         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
10413         (RETURN_IN_MEMORY): Return size zero types in memory.
10414         (FUNCTION_VALUE): Return TFmode in general registers.
10415         (MUST_PASS_IN_STACK): Define.
10416         (FUNCTION_ARG_BOUNDARY): Simplify.
10417         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
10418         by reference.
10419         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
10420
10421 2002-09-16  Richard Henderson  <rth@redhat.com>
10422
10423         * real.c (do_fix_trunc): New.
10424         (real_arithmetic): Call it.
10425         * simplify-rtx.c (simplify_unary_operation): Handle FIX
10426         with a floating-point result mode.
10427
10428 2002-09-16  Richard Henderson  <rth@redhat.com>
10429
10430         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
10431         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
10432         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
10433         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
10434         * builtins.c (fold_builtin_nan): New.
10435         (fold_builtin): Call it.
10436         * real.c (real_nan): Parse a non-empty string.
10437         (round_for_format): Fix NaN significand truncation.
10438         * real.h (real_nan): Return bool.
10439         * doc/extend.texi: Document new builtins.
10440
10441 2002-09-16  Jason Merrill  <jason@redhat.com>
10442             Danny Smith  <dannysmith@users.sourceforge.net>
10443
10444         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
10445         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
10446         (i386_pe_mark_dllimport): Not here.
10447
10448 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
10449
10450         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
10451
10452 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
10453
10454         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
10455         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
10456         < 64.
10457         (rs6000_emit_cmove): Use real_isinf not target_isinf.
10458
10459 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10460
10461         * calls.c (emit_library_call_value_1): Don't refer to
10462         hard_libcall_value.
10463         * optabs.c (prepare_float_lib_cmp): Likewise.
10464
10465 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
10466
10467         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
10468         mangling.
10469
10470         The following changes are merged from pch-branch:
10471
10472         * doc/gty.texi (GTY Options): Document %a.
10473         * gengtype.c (do_scalar_typedef): New function.
10474         (process_gc_options): Handle `length' option.
10475         (set_gc_used_type): A pointer to an array of structures doesn't
10476         qualify as a pointer to a structure.
10477         (output_escaped_param): Add `%a' escape.
10478         (write_gc_structure_fields): Allow 'desc' on array of unions.
10479         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
10480         do_scalar_typedef.
10481
10482         * gengtype.c (enum rtx_code): Make global.
10483         (rtx_format): Make global.
10484         (rtx_next): New.
10485         (gen_rtx_next): New.
10486         (write_rtx_next): New.
10487         (adjust_field_rtx_def): Skip fields marked by chain_next.
10488         (open_base_files): Delete redundant prototype.
10489         (write_enum_defn): New.
10490         (output_mangled_typename): Correct abort call.
10491         (write_gc_marker_routine_for_structure): Handle chain_next and
10492         chain_prev options.
10493         (finish_root_table): Don't output redundant \n.
10494         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
10495         * c-tree.h (union lang_tree_node): Add chain_next option.
10496
10497         * gengtype.h (NUM_PARAM): New definition.
10498         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
10499         * gengtype.c (find_param_structure): New.
10500         (adjust_field_type): Handle param<n>_is option.
10501         (process_gc_options): Detect use_params option.  Update callers.
10502         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
10503         'use_params' option.
10504         (open_base_files): Add splay-tree.h to list of files included.
10505         (output_mangled_typename): New.
10506         (write_gc_structure_fields): Update 'param' parameter to support
10507         multiple parameters.  Change name mangling.  Allow parameterized
10508         fields to have an apparent scalar type.  Handle param<n>_is options,
10509         use_param option.
10510         (write_gc_marker_routine_for_structure): Update for change to name
10511         mangling.  Better guess the output file for parameterized types.
10512         (write_gc_types): Update for change to name mangling.
10513         (write_gc_root): Update for change to name mangling.  Handle (ignore)
10514         param<n>_is options.
10515         * doc/gty.texi (GTY Options): Add description of param<n>_is
10516         options, use_params option.
10517         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
10518         * gengtype-lex.l: Produce token for param<n>_is.
10519         * gengtype-yacc.y: Parse param<n>_is.
10520
10521         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
10522
10523         * rtl.c: Update comment describing rtx_format.
10524         * rtl.h (union rtunion): Separate definition and typedef.
10525         (struct rtx_def): Use gengtype to mark.
10526         * Makefile.in (gengtype.o): Also depend on rtl.def.
10527         * ggc.h (ggc_mark_rtx_children): Delete prototype.
10528         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
10529         * ggc-common.c (ggc_mark_rtx_children): Delete.
10530         (ggc_mark_rtx_children_1): Delete.
10531         (gt_ggc_m_rtx_def): Delete.
10532         * gengtype.c (adjust_field_rtx_def): New.
10533         (adjust_field_type): Call adjust_field_rtx_def.
10534         (write_gc_structure_fields): Add 'default' case to switch if none
10535         is specified; remove unused code.
10536
10537         * tree.h (struct tree_exp): Update for change to meaning
10538         of special.
10539         * gengtype.c (adjust_field_tree_exp): New function.
10540         (adjust_field_type): Handle `tree_exp' special here.
10541         (write_gc_structure_fields): Don't handle `tree_exp' special here.
10542         Handle new `dot' option.
10543
10544         * gengtype.h: Make `info' a pointer-to-const.
10545         * gengtype-yacc.y (yacc_ids): Use xasprintf.
10546
10547         * gengtype.c (write_gc_structure_fields): Remove implementation
10548         of `always' option, add `default' option.
10549         * doc/gty.texi (GTY Options): Remove documentation of `always',
10550         add `default'.
10551
10552 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
10553
10554         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
10555
10556 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10557
10558         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
10559
10560         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
10561         instead of the *-protos.h file directly.
10562         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
10563         * darwin.c (machopic_output_stub): Move prototype ...
10564         * darwin-protos.h (machopic_output_stub): ... here.
10565         * rs6000-protos.h (machopic_output_stub): Don't declare.
10566
10567 2002-09-16  Richard Henderson  <rth@redhat.com>
10568
10569         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
10570
10571 2002-09-16  Richard Henderson  <rth@redhat.com>
10572
10573         * real.c, real.h: Rewrite from scratch.
10574
10575         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
10576         (paranoia): New target.
10577         * builtins.c (fold_builtin_inf): Use new real.h interface.
10578         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
10579         * c-lex.c (interpret_float): Likewise.
10580         * emit-rtl.c (gen_lowpart_common): Likewise.
10581         * optabs.c (expand_float): Use real_2expN.
10582         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
10583         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
10584         (FLOAT_WORDS_BIG_ENDIAN): New.
10585         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
10586         directly to REAL_VALUE_NEGATIVE.
10587         * loop.c (canonicalize_condition): Likewise.
10588         * simplify-rtx.c: Include tree.h.
10589         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
10590         with floating-point result modes.
10591         * toplev.c (backend_init): Call init_real_once.
10592
10593         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
10594         * tree.c (build_real): Likewise.
10595         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
10596         float_values, inited_float_values, check_float_value): Remove.
10597         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
10598         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
10599         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
10600         (VAX_HALFWORD_ORDER): Remove.
10601
10602 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
10603
10604         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
10605         (s390_load_address): ... this new function.
10606         (s390_decompose_address): Allow the argument pointer and all
10607         virtual registers as 'pointer' registers.
10608         (s390_expand_plus_operand): Use s390_load_address.
10609         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
10610         ("force_la_31"): New insn pattern.
10611         config/s390/s390-protos.h (legitimize_la_operand): Remove.
10612         (s390_load_address): Add prototype.
10613
10614         * config/s390/s390.c: Include "optabs.h".
10615         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
10616         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
10617         s390_expand_cmpstr): Add prototypes.
10618         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
10619         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
10620         for operands 0 and 1 to "memory_operand".  Add type attribute.
10621         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
10622         for operands 0 and 1 to "memory_operand".  Add type attribute.
10623         ("movstrdi_long", "movstrsi_long"): Remove.
10624         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
10625         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
10626         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
10627         ("clrstrsico"): Remove, replace by ...
10628         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
10629         ("clrstrsi_64"): Rename to "clrstr_long_64".
10630         ("clrstrsi_31"): Rename to "clrstr_long_31".
10631         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
10632         ("cmpstr_const"): Remove, replace by ...
10633         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
10634         ("cmpstr_64"): Rename to "cmpstr_long_64".
10635         ("cmpstr_31"): Rename to "cmpstr_long_31".
10636
10637 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10638
10639         * ABOUT-NLS: Follow spelling conventions.
10640         * ChangeLog: Likewise.
10641         * ChangeLog.1: Likewise.
10642         * ChangeLog.2: Likewise.
10643         * ChangeLog.3: Likewise.
10644         * ChangeLog.4: Likewise.
10645         * ChangeLog.5: Likewise.
10646         * ChangeLog.6: Likewise.
10647         * FSFChangeLog.10: Likewise.
10648         * FSFChangeLog.11: Likewise.
10649         * c-common.c: Likewise.
10650         * c-lex.c: Likewise.
10651         * c-objc-common.c: Likewise.
10652         * cppexp.c: Likewise.
10653         * cppinit.c: Likewise.
10654         * cpplex.c: Likewise.
10655         * doloop.c: Likewise.
10656         * flow.c: Likewise.
10657         * function.c: Likewise.
10658         * integrate.c: Likewise.
10659         * loop.c: Likewise.
10660         * reg-stack.c: Likewise.
10661         * reload.h: Likewise.
10662         * ssa.c: Likewise.
10663
10664 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10665
10666         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
10667         * vmsdbgout.c: Include "target.h".
10668
10669 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10670
10671         * ChangeLog: Follow spelling conventions.
10672         * ChangeLog.0: Likewise.
10673         * ChangeLog.1: Likewise.
10674         * ChangeLog.2: Likewise.
10675         * ChangeLog.4: Likewise.
10676         * ChangeLog.6: Likewise.
10677         * config.gcc: Likewise.
10678         * dwarfout.c: Likewise.
10679         * reload1.c: Likewise.
10680         * simplify-rtx.c: Likewise.
10681         * unwind-sjlj.c: Likewise.
10682         * config/avr/avr.h: Likewise.
10683         * config/d30v/d30v.h: Likewise.
10684         * config/frv/frv.c: Likewise.
10685         * config/frv/frv.h: Likewise.
10686         * config/ip2k/ip2k.h: Likewise.
10687         * config/m88k/m88k-move.sh: Likewise.
10688         * config/stormy16/stormy16.c: Likewise.
10689         * config/stormy16/stormy16.h: Likewise.
10690         * doc/extend.texi: Likewise.
10691         * doc/interface.texi: Likewise.
10692         * doc/invoke.texi: Likewise.
10693         * doc/md.texi: Likewise.
10694         * doc/rtl.texi: Likewise.
10695         * doc/tm.texi: Likewise.
10696         * doc/trouble.texi: Likewise.
10697         * ginclude/float.h: Likewise.
10698         * treelang/treelang.texi: Likewise.
10699
10700 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10701
10702         * i386-protos.h (i386_pe_dllexport_name_p,
10703         i386_pe_dllimport_name_p, i386_pe_unique_section,
10704         i386_pe_declare_function_type, i386_pe_record_external_function,
10705         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10706         prototype.
10707         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10708         * i386/t-interix (winnt.o): Likewise.
10709
10710         * v850-protos.h (v850_output_addr_const_extra): Prototype.
10711
10712 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10713
10714         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10715         MIPS ABI CPP macros.
10716         (TARGET_CPU_CPP_BUILTINS): Redefine.
10717         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10718         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10719
10720 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10721
10722         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10723
10724 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10725
10726         * ChangeLog: Follow spelling conventions.
10727         * ChangeLog.0: Likewise.
10728         * ChangeLog.1: Likewise.
10729         * ChangeLog.2: Likewise.
10730         * ChangeLog.3: Likewise.
10731         * ChangeLog.4: Likewise.
10732         * ChangeLog.5: Likewise.
10733         * ChangeLog.6: Likewise.
10734         * FSFChangeLog.10: Likewise.
10735         * FSFChangeLog.11: Likewise.
10736         * c-common.c: Likewise.
10737         * c-common.h: Likewise.
10738         * c-format.c: Likewise.
10739         * c-opts.c: Likewise.
10740         * cpplib.c: Likewise.
10741         * langhooks.h: Likewise.
10742         * real.c: Likewise.
10743         * reg-stack.c: Likewise.
10744         * toplev.c: Likewise.
10745         * config/arm/arm.c: Likewise.
10746         * config/arm/arm.md: Likewise.
10747         * config/arm/linux-gas.h: Likewise.
10748         * config/arm/netbsd.h: Likewise.
10749         * config/c4x/c4x.c: Likewise.
10750         * config/c4x/c4x.h: Likewise.
10751         * config/c4x/c4x.md: Likewise.
10752         * config/c4x/libgcc.S: Likewise.
10753         * config/fr30/fr30.md: Likewise.
10754         * config/frv/frv.md: Likewise.
10755         * config/ia64/ia64.md: Likewise.
10756         * config/mips/mips.h: Likewise.
10757         * config/mn10300/mn10300.c: Likewise.
10758         * config/stormy16/stormy16.c: Likewise.
10759         * config/v850/v850.md: Likewise.
10760         * doc/extend.texi: Likewise.
10761         * doc/invoke.texi: Likewise.
10762         * doc/md.texi: Likewise.
10763
10764 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10765
10766         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10767         library if -pthread is specified.
10768
10769 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10770
10771         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10772         for --enable-threads=yes and --enable-threads=posix.
10773
10774 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10775
10776         * config/sparc/cypress.md: Replace Sparc with SPARC.
10777         * config/sparc/freebsd.h: Likewise.
10778         * config/sparc/gmon-sol2.c: Likewise.
10779         * config/sparc/hypersparc.md: Likewise.
10780         * config/sparc/lb1spc.asm: Likewise.
10781         * config/sparc/lb1spl.asm: Likewise.
10782         * config/sparc/linux.h: Likewise.
10783         * config/sparc/linux64.h: Likewise.
10784         * config/sparc/lynx.h: Likewise.
10785         * config/sparc/sol2.h: Likewise.
10786         * config/sparc/sparc-modes.def: Likewise.
10787         * config/sparc/sparc.c: Likewise.
10788         * config/sparc/sparc.h: Likewise.
10789         * config/sparc/sparc.md: Likewise.
10790         * config/sparc/sparclet.md: Likewise.
10791         * config/sparc/supersparc.md: Likewise.
10792         * config/sparc/sysv4.h: Likewise.
10793         * config/sparc/vxsim.h: Likewise.
10794         * config/sparc/vxsparc64.h: Likewise.
10795
10796 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10797
10798         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10799         * collect2.c (ignore_library, aix_std_libs): Move into the context
10800         where it is used.
10801         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10802         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10803         * m88k.c (output_call): Wrap variables with macro controlling use.
10804         * rs6000.md: Likewise.  Const-ify variable.
10805         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10806         * final.c (only_leaf_regs_used): Likewise.
10807         * regrename.c (maybe_mode_change): Mark parameter with
10808         ATTRIBUTE_UNUSED.
10809         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10810         (find_reloads_address_1): Likewise.
10811         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10812
10813 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10814
10815         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10816
10817 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10818
10819         * ChangeLog: Follow spelling conventions.
10820         * ChangeLog.0: Likewise.
10821         * ChangeLog.2: Likewise.
10822         * ChangeLog.3: Likewise.
10823         * ChangeLog.4: Likewise.
10824         * ChangeLog.5: Likewise.
10825         * ChangeLog.6: Likewise.
10826         * cppfiles.c: Likewise.
10827         * cppinit.c: Likewise.
10828         * cpplib.h: Likewise.
10829         * cse.c: Likewise.
10830         * debug.h: Likewise.
10831         * df.c: Likewise.
10832         * dominance.c: Likewise.
10833         * hashtable.c: Likewise.
10834         * hashtable.h: Likewise.
10835         * loop.c: Likewise.
10836         * config/arm/README-interworking: Likewise.
10837         * config/arm/arm.c: Likewise.
10838         * config/arm/arm.h: Likewise.
10839         * config/arm/arm.md: Likewise.
10840         * config/dsp16xx/dsp16xx.h: Likewise.
10841         * config/frv/frv.c: Likewise.
10842         * config/frv/frv.h: Likewise.
10843         * config/ip2k/ip2k.h: Likewise.
10844         * config/rs6000/rs6000.c: Likewise.
10845         * config/stormy16/stormy-abi: Likewise.
10846         * config/stormy16/stormy16.h: Likewise.
10847         * config/v850/v850.c: Likewise.
10848
10849 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10850
10851         * loop.c: Fix a comment typo.
10852
10853 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10854
10855         * config/fr30/fr30.h: Fix comment typos.
10856         * config/frv/frv.c: Likewise.
10857         * config/i386/xmmintrin.h: Likewise.
10858         * config/mips/mips.c: Likewise.
10859         * config/sh/sh.c: Likewise.
10860
10861 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10862
10863         * haifa-sched.c: Follow spelling conventions.
10864         * regclass.c: Likewise.
10865         * regrename.c: Likewise.
10866         * config/fp-bit.c: Likewise.
10867         * config/frv/frv.h: Likewise.
10868         * config/m88k/m88k.c: Likewise.
10869         * config/mcore/mcore.c: Likewise.
10870         * config/rs6000/darwin.h: Likewise.
10871         * config/rs6000/gnu.h: Likewise.
10872         * config/rs6000/linux.h: Likewise.
10873         * config/rs6000/linux64.h: Likewise.
10874         * config/rs6000/rs6000.c: Likewise.
10875         * config/rs6000/rs6000.h: Likewise.
10876         * config/sh/sh.c: Likewise.
10877         * config/sparc/sparc.c: Likewise.
10878         * config/sparc/ultra1_2.md: Likewise.
10879
10880 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10881
10882         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10883         memory operand when source is 0 (K constraint).
10884         ("movsi_internal"): Likewise.
10885         ("movdf_internal"): Likewise.
10886         ("movsf_internal"): Likewise.
10887
10888 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10889
10890         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10891         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10892         (rs6000_xcoff_encode_section_info): Likewise.
10893         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10894
10895 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10896
10897         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10898
10899 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10900
10901         * stmt.c (struct nexting): Remove unused alt_end_label field.
10902         (expand_start_loop): Delete initialization of alt_end_label.
10903         (expand_start_null_loop): Likewise.
10904         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10905
10906 2002-09-13  Richard Henderson  <rth@redhat.com>
10907
10908         * Makefile.in (toplev.o): Depend on real.h.
10909         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10910
10911 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10912
10913         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10914         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10915         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10916
10917 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10918
10919         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10920
10921 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10922
10923         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10924         ia64*-*-linux*): Set extra_parts.
10925         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10926         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10927
10928 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10929
10930         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10931         * config/h8300/h8300.c: Likewise.
10932         * config/h8300/h8300.h: Likewise.
10933         * config/h8300/h8300.md: Likewise.
10934         * doc/invoke.texi: Likewise.
10935
10936 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10937
10938         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10939
10940 2002-09-13  Richard Henderson  <rth@redhat.com>
10941
10942         * config/alpha/alpha.md (attr type): Add callpal.
10943         (imb, trap, load_tp, set_tp): Use it.
10944         * config/alpha/ev4.md (ev4_callpal): New.
10945         * config/alpha/ev5.md (ev5_callpal): New.
10946         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10947         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10948         (alphaev5_insn_pipe): Likewise.
10949
10950 2002-09-13  Andreas Jaeger  <aj@suse.de>
10951
10952         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10953
10954 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10955
10956         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10957         LIB2ADDEH): New, set to NULL.
10958         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10959
10960 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10961
10962         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10963         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10964         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10965         Add declarations.
10966         (_U_Qfneg): Remove.
10967
10968 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10969
10970         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10971         for H8/300, H8S aa:8 mode.
10972         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10973         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10974         for H8/300 aa:8 mode.
10975
10976 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10977
10978         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10979         insns.
10980
10981 2002-09-12  Richard Henderson  <rth@redhat.com>
10982
10983         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10984         (print-rtl.o): Don't define GENERATOR_FILE.
10985         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10986         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10987         unless GENERATOR_FILE.
10988
10989 2002-09-12  Stan Shebs  <shebs@apple.com>
10990
10991         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10992         * config/i386/darwin.h: ... instead of here.
10993
10994         * target.h (struct gcc_target): New field
10995         terminate_dw2_eh_frame_info.
10996         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10997         (TARGET_INITIALIZER): Add it.
10998         * dwarf2out.c (output_call_frame_info): Use target hook.
10999         * dwarf2asm.c (dw2_asm_output_delta): Use macro
11000         ASM_OUTPUT_DWARF_DELTA if defined.
11001         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
11002         (ASM_OUTPUT_DWARF_DELTA): Ditto.
11003         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
11004         (ASM_OUTPUT_DWARF_PCREL): Ditto.
11005         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
11006         (powerpc-*-darwin*): Ditto.
11007         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
11008         to work correctly for Darwin.
11009         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
11010         (STARTFILE_SPEC): Add crtbegin.o.
11011         (ENDFILE_SPEC): Define.
11012         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
11013         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
11014         (ASM_OUTPUT_DWARF_DELTA): Define.
11015         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11016         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
11017
11018 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
11019
11020         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
11021         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
11022         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
11023
11024 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
11025
11026         * toplev.c: Move default definition of USER_LABEL_PREFIX...
11027         * defaults.h: ... here.
11028
11029 2002-09-12  Richard Henderson  <rth@redhat.com>
11030
11031         * vax.c: Include tree.h earlier.
11032
11033 2002-09-12  Stan Shebs  <shebs@apple.com>
11034
11035         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
11036         (machopic_operand_p): Ditto.
11037
11038 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11039
11040         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11041         Fix a comment typo.
11042
11043 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11044
11045         * toplev.c (do_abort): Fix a comment typo.
11046
11047 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11048
11049         * cselib.c: Fix comment formatting.
11050         * gengtype.c: Likewise.
11051
11052 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11053
11054         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
11055         (udivmodhi4): Likewise.
11056
11057 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
11058             Roger Sayle  <roger@eyesopen.com>
11059
11060         * i386.c (any_fp_register_operand, fp_register_operand,
11061         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
11062         New predicate functions.
11063         * i386-protos.h:  Add their prototypes.
11064         * i386.h: Add them to PREDICATE_CODES.
11065         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
11066         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
11067         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
11068         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
11069         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
11070         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
11071         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
11072         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
11073         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
11074         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
11075         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
11076         Use these new predicates to simplify and correct the use of
11077         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
11078
11079 2002-09-12  Jason Merrill  <jason@redhat.com>
11080
11081         * diagnostic.c (output_add_identifier): New fn.
11082         * diagnostic.h: Declare it.
11083
11084         * calls.c (store_one_arg): Use size_in_bytes to determine the
11085         amount of space to push.
11086
11087 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
11088
11089         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
11090
11091 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
11092
11093         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
11094         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
11095         (s390_select_ccmode): Likewise.
11096         (s390_branch_condition_mask): Likewise.
11097         (optimization_options): Do not set flag_branch_on_count.
11098         (s390_split_branches): Handle doloop branches.
11099         (s390_chunkify_pool): Likewise.
11100         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
11101         ("doloop_end"): New expander.
11102         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
11103         associated splitters): New.
11104
11105 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11106
11107         * genattrtab.c (simplify_cond): Remove unused variable(s).
11108         * global.c (record_conflicts): Likewise.
11109         * jump.c (rebuild_jump_labels): Likewise.
11110         * loop.c (scan_loop, check_final_value): Likewise.
11111         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
11112         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
11113         * rtlanal.c (reg_set_p): Likewise.
11114         * stmt.c (expand_asm_operands, expand_decl): Likewise.
11115         * genautomata.c (empty_reserv): Remove.
11116         * loop.c (max_luid): Likewise.
11117         * sched-rgn.c (bitlst_table_size): Likewise.
11118
11119 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
11120
11121         Reimplement gcov format.
11122         * gcov-io.h: Replace.
11123         * gcov.c: Reimplement.
11124         * gcov-iov.c: New file.
11125         * gcov-dump.c: New file.
11126         * libgcc2.c (L_bb): Replace with ...
11127         (L_gcov): ... this.
11128         (struct bb_function_info, struct bb): Remove.
11129         (inhibit_libc): Never inhibit.
11130         (gcov_list, gcov_crc): New static variables.
11131         (gcov_version_mismatch): New static function.
11132         (__bb_exit_func): Renamed to ...
11133         (__gcov_exit): ... here. Made static. Reimplement.
11134         (__gcov_init_func): Rename to ...
11135         (__gcov_init): ... here. Check version, update crc.
11136         (__bb_fork_func): Rename to ...
11137         (__gcov_flush): ... here.
11138         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
11139         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
11140         * calls.c (expand_call): Call __gcov_flush.
11141         * profile.c (bb_file, last_bb_file_name): Remove.
11142         (bbg_file_name): New global variable.
11143         (output_gcov_string): Remove.
11144         (get_exec_counts): Reimplement.
11145         (branch_prob): Reimplement gcov file writing.
11146         (init_branch_prob): Create bbg_file_name, don't create
11147         bb_file_name.
11148         (end_branch_prob): Adjust. Don't remove counter file when
11149         instrumenting ourselves.
11150         (create_profiler): Adjust.
11151         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
11152         point to gcov-io.h.
11153         * Makefile.in (LANGUAGES): Add gcov-dump.
11154         (coverageexts): Remove .bb.
11155         (STAGESTUFF): Add gcov-dump.
11156         (LIB2FUNCS_ST): Replace _bb with _gcov.
11157         (profile.o): Depend on gcov-iov.h.
11158         (final.o): Don't depend on profile.h, gcov.h.
11159         (gcov.o): Depend on gcov-iov.h.
11160         (gcov-iov.o): New target.
11161         (gcov-iov): New target.
11162         (gcov-iov.h): New target.
11163         (gcov-dump.o): New target.
11164         (GCOV_DUMP_OBJS): New variable.
11165         (gcov-dump): New target.
11166         (distclean): Remove coverageexts.
11167         (stage1): Remove coverageexts.
11168
11169 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
11170
11171         * fold-const.c (make_range): Only narrow to signed range if
11172         the signed range is smaller than the unsigned range.
11173
11174 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
11175
11176         * emit-rtl.c (set_mem_size): New function.
11177         * expr.h (set_mem_size): Declare.
11178         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
11179         (expand_block_move): Instead, use adjust_address and
11180         replace_equiv_address to generate proper aliasing info.
11181         Move common code out of conditionals.  Localize vars.
11182
11183 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
11184
11185         * optabs.c (expand_binop): Minor cleanup.
11186         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
11187
11188 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
11189
11190         * print-tree.c (print_node): Print the restrict qualifier.
11191
11192 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
11193
11194         * doc/install.texi: Fix typos.
11195
11196 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
11197
11198         * Makefile.in: Remove all references to s-under and underscore.c.
11199         * collect2.c, tlink.c: Change all uses of prepends_underscore
11200         to look directly at USER_LABEL_PREFIX.
11201
11202 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
11203
11204         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
11205         alignment to csect.
11206         (rs6000_xcoff_unique_section): Only set section name for public
11207         data.
11208         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
11209         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
11210         duplicate definition.
11211
11212 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11213
11214         * pa.md (extzv): Check predicates before emitting extzv_32.
11215         (insv): Likewise.
11216
11217 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
11218
11219         * config/s390/s390.h (MOVE_MAX): Define to correct value.
11220         (MAX_MOVE_MAX): Define.
11221         (MOVE_BY_PIECES_P): Define.
11222         (CLEAR_BY_PIECES_P): Define.
11223
11224 2002-09-10  Denis Chertykov  <denisc@overta.ru>
11225
11226         * config/avr/avr.md (movstrhi): Use right operands for conversion.
11227
11228 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
11229
11230         PR c/7873
11231         * arm.md (insv): Use reg_or_int_operand for operand[3].
11232
11233 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
11234
11235         * rs6000.c (rs6000_assemble_visibility): Protect declaration
11236         inside macro.  Correct function definition typo.
11237         (rs6000_xcoff_section_type_flags): New function.
11238         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
11239         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
11240         with appropriate PIC test.
11241         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
11242         determine readonly.
11243         (rs6000_binds_local_p): Combine PIC flags.
11244         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
11245         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
11246
11247 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11248
11249         * h8300.md: Fix signed/unsigned warnings.
11250         * mcore.md: Likewise.
11251         * mn10300.c (mask_ok_for_mem_btst): Likewise.
11252
11253 2002-09-09  Per Bothner  <per@bothner.com>
11254
11255         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
11256         characters, and only print TREE_STRING_LENGTH chars.
11257
11258 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
11259
11260         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
11261         (ASM_FILE_END) New.
11262         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
11263         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
11264         * config/ia64/ia64.c (ia64_asm_output_external): Create list
11265         of external functions if TARGET_HPUX_LD is true.
11266         (ia64_hpux_add_extern_decl): New, routine to put names on
11267         list of external functions.
11268         (ia64_hpux_asm_file_end): Put out declarations for external
11269         functions if and only if they are used.
11270
11271 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11272
11273         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
11274         on TARGET_64BIT before pic register restore.
11275
11276 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
11277
11278         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
11279         (TARGET_HAVE_TLS): New description.
11280
11281 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
11282
11283         * doc/extend.texi (Statement Exprs): Fix broken link.
11284
11285 2002-09-09  Denis Chertykov  <denisc@overta.ru>
11286
11287         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
11288         right conversion of operands[1].
11289
11290 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
11291
11292         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
11293         commutative.  Use "nonimmediate_operand" instead of "register_operand"
11294         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
11295
11296         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
11297         as commutative.
11298
11299         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
11300         mark as commutative.  Use "nonimmediate_operand" instead of
11301         "register_operand" as predicate for operand 1.
11302
11303         ("movstrictsi"): Fix typo in insn name.
11304
11305 2002-09-09  Jan Hubicka  <jh@suse.cz>
11306
11307         * i386.c (index_register_operand): New.
11308         * i386.h (predicate_codes): Add new predicate.
11309         * i386.md (lea_general_*): Use index_register_operand
11310         (ashift to lea splitter): Do not produce invalid leas
11311         (ashift to mov+ashift split): New.
11312
11313 2002-09-09  Nick Clifton  <nickc@redhat.com>
11314
11315         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
11316         Fix folding marks.
11317
11318 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
11319             J"orn Rennecke <joern.rennecke@superh.com>
11320
11321         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
11322
11323 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
11324
11325         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
11326         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
11327         attributes.
11328
11329 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
11330
11331         * basic_block.h (gcov_type): Explain why it is signed.
11332         * final.c: Don't include profile.h.
11333         (struct function_list, functions_head, functions_tail,
11334         end_final): Moved to profile.c
11335         (final): Move arc chaining code to profile.c.
11336         * function.c (prepare_function_start): Remove duplicate line.
11337         * output.h (end_final): Remove prototype.
11338         * predict.c (estimate_loops_at_level): Use gcov_type.
11339         * profile.c (struct function_list, functions_head,
11340         functions_tail): Moved from final.c
11341         (need_func_profiler): Remove.
11342         (instrument_edges): Don't set need_func_profiler.
11343         (get_exec_counts): Avoid signed/unsigned warning.
11344         (compute_checksum): Use crc32.
11345         (branch_prob): Adjust. Chain onto functions_head.
11346         (init_branch_prob): Absorb init_edge_profiler.
11347         (init_edge_profiler): Remove.
11348         (create_profiler): Moved and renamed from final.c:end_final.
11349         Emit data and constructor.
11350         (output_func_start_profiler): Remove.
11351         * profile.h (struct profile_info): checksum is unsigned.
11352         * rtl.h (output_func_start_profiler): Remove prototype.
11353         (create_profiler): Declare.
11354         * toplev.c (compile_file): Call create_profiler, if instrumenting
11355         arcs. Don't call end_final.
11356
11357 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11358
11359         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
11360
11361 2002-09-08  Richard Henderson  <rth@redhat.com>
11362
11363         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
11364         (DW_OP_GNU_push_tls_address): New.
11365         (DW_OP_lo_user): Fix.
11366         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
11367         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
11368         (size_of_loc_descr): Likewise.
11369         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
11370         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
11371         (loc_descriptor_from_tree): Handle TLS variables.
11372         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
11373         (add_location_or_const_value_attribute): ... not here.  Defer
11374         to loc_descriptor_from_tree for TLS variables.
11375
11376         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
11377         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
11378         * config/i386/i386-protos.h: Update.
11379
11380 2002-09-08  Roger Sayle  <roger@eyesopen.com>
11381
11382         PR optimization/6405
11383         * unroll.c (loop_iterations): last_loop_insn should be the previous
11384         non-note instruction before loop->end.
11385         * loop.c (strength_reduce): The conditional jump is the last
11386         non-note instruction before loop->end (as above).
11387
11388 2002-09-08  Roger Sayle  <roger@eyesopen.com>
11389
11390         * combine.c (try_combine): Handle the case that undobuf.other_insn
11391         has been turned into a return or unconditional jump, by inserting
11392         a BARRIER if necessary.
11393         (simplify_set):  Test if a condition code setter has a constant
11394         comparison at compile time, if so convert this insn to a no-op move
11395         and update/simplify the condition code user (undobuf.other_insn).
11396
11397 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
11398
11399         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
11400         (CLEAR_INSN_CACHE): Define.
11401
11402 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
11403
11404         * basic-block.h: Fix comment formatting.
11405         * c-common.c: Likewise.
11406         * c-common.h: Likewise.
11407         * c-lex.c: Likewise.
11408         * c-pretty-print.c: Likewise.
11409         * cfglayout.c: Likewise.
11410         * cfgloop.c: Likewise.
11411         * defaults.h: Likewise.
11412         * et-forest.c: Likewise.
11413         * explow.c: Likewise.
11414         * function.h: Likewise.
11415         * gcov.c: Likewise.
11416         * genattrtab.c: Likewise.
11417         * gengtype.c: Likewise.
11418         * ifcvt.c: Likewise.
11419         * libgcc2.c: Likewise.
11420         * loop.c: Likewise.
11421         * profile.c: Likewise.
11422         * ra-build.c: Likewise.
11423         * real.c: Likewise.
11424         * rtl.h: Likewise.
11425         * tracer.c: Likewise.
11426         * tree-inline.c: Likewise.
11427         * varasm.c: Likewise.
11428
11429 2002-09-08  Jan Hubicka  <jh@suse.cz>
11430
11431         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
11432         handling.
11433
11434         * loop.c (loop_givs_reduce):  Emit addition after.
11435
11436 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
11437
11438         * varasm.c (default_assemble_visibility): Rename from
11439         assemble_visibility.
11440         * output.h: Here too.
11441         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
11442         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
11443
11444 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
11445
11446         * reload.c (find_reloads <p constraint>): Pass operand_mode to
11447         find_reloads_address.
11448
11449 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
11450
11451         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
11452         (anonymous pattern): Likewise.
11453
11454 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11455
11456         * machmode.def: Add modes for half-float vectors.
11457
11458 2002-09-07  Scott Snyder  <snyder@fnal.gov>
11459
11460         PR target/7374
11461         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
11462
11463 2002-09-07  Roger Sayle  <roger@eyesopen.com>
11464
11465         * basic-block.h (struct loop): Remove unused cont_dominator field.
11466
11467 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11468
11469         * varasm.c (decode_rtx_const): Don't check undefined field for
11470         CONST_VECTOR.
11471
11472 2002-09-07  Glen Nakamura  <glen@imodulo.com>
11473
11474         PR opt/7814
11475         * sched-deps.c (sched_analyze_insn): Make sure to add insn
11476         to reg_last->sets after flushing the dependency lists to guarantee
11477         that subsequent clobbers will be dependent on it.
11478
11479 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11480
11481         * combine.c (simplify_shift_const): Calculate rotate count
11482         correctly for vector operands.
11483
11484 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
11485
11486         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
11487         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
11488         tree_expr_nonnegative_p.
11489         (build_conditional_expr): Likewise.
11490         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
11491
11492 2002-09-07  Richard Henderson  <rth@redhat.com>
11493
11494         * builtins.def (inf, inff, infl): Mark const.
11495         (huge_val, huge_valf, huge_vall): Likewise.
11496         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
11497
11498         * real.c (ereal_inf): Clear E before use.
11499
11500 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
11501
11502         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
11503         an expander and an anonymous pattern.  Zero out the upper half
11504         of the dividend in the expander.
11505         (udivmodqi4): Likewise.
11506
11507 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
11508
11509         * config/h8300/h8300.c: Fix formatting.
11510         * config/h8300/h8300.h: Likewise.
11511         * config/h8300/h8300.md: Likewise.
11512
11513 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11514
11515         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
11516         information.
11517
11518 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
11519
11520        * rtlanal.c (dead_or_set_regno_p): Fix typo.
11521
11522 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
11523
11524         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11525
11526         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
11527         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11528         (TARGET_ASM_OUT): Add the above here.
11529         * target.h (struct gcc_target): Add "visibility" field.
11530         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
11531         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
11532         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11533         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
11534
11535 2002-09-06  Ziemowit Laski <zlaski@apple.com>
11536
11537         * c-lang.c (objc_is_id): New stub.
11538         * c-tree.h (objc_is_id): New forward declaration.
11539         * c-typeck.c (build_c_cast): Do not strip protocol
11540         qualifiers from 'id' type.
11541         * objc/objc-act.c (objc_comptypes): Correct handling
11542         of protocol qualifiers.
11543         (objc_is_id): New.
11544
11545 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
11546
11547         * pentium.md (pentium-firstvboth): Fix typo.
11548
11549 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
11550
11551         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
11552         (enum shift_type, enum h8_cpu): Likewise.
11553         (INL, ROT, LOP, SPC macros): Likewise.
11554         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
11555         const designator.
11556         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
11557         space efficient algorithms when optimize for codesize.
11558
11559 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11560
11561         Fix PR/1727 and long-standing failing testcase
11562         objc/formal-protocol-6.m.
11563         * objc-act.c (build_protocol_expr): If compiling for the GNU
11564         runtime, create a list of Protocol statically allocated instances
11565         if it doesn't exist, then add the Protocol object to this same
11566         list.
11567         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
11568         instead of TREE_CHAIN.
11569
11570 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11571
11572         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
11573         10k.  Fixed category dumping - print out category names with the
11574         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
11575         interface.
11576         (finish_objc): Fixed the -gen-decls option.  It was printing out
11577         only the last class.  Dump an interface declaration of all classes
11578         being compiled instead.
11579
11580 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
11581
11582         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
11583         prototype.
11584         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
11585         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
11586         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
11587         rather than GEN_INT.
11588         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
11589         (return_addr_mask, *check_arch2): New.
11590
11591 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
11592
11593         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
11594         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
11595         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
11596         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
11597         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
11598         "adddf3", "*adddf3", "*adddf3_ibm",
11599         "addsf3", "*addsf3", "*addsf3_ibm",
11600         "muldi3", "mulsi3", "mulsidi3",
11601         "muldf3", "*muldf3", "*muldf3_ibm",
11602         "mulsf3", "*mulsf3", "*mulsf3_ibm",
11603         "*anddi3_cc", "*anddi3_cconly", "anddi3",
11604         "*andsi3_cc", "*andsi3_cconly", "andsi3",
11605         "*iordi3_cc", "*iordi3_cconly", "iordi3",
11606         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
11607         "*xordi3_cc", "*xordi3_cconly", "xordi3",
11608         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
11609         instead of "register_operand" as predicate for "%0" operand.
11610
11611 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
11612
11613         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
11614         unconditionally when gcc_cv_as_flags64 checks are gone.
11615         * configure: Rebuilt.
11616
11617 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
11618
11619         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
11620         2002-07-26 change.  Comment.
11621
11622 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11623
11624         * frv.c (frv_unique_section, frv_select_section,
11625         frv_select_rtx_section): Delete.
11626         (frv_in_small_data_p): New.
11627         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
11628         TARGET_ASM_SELECT_RTX_SECTION): Delete.
11629         (TARGET_IN_SMALL_DATA_P): Define.
11630
11631 2002-09-05  Dale Johannesen  <dalej@apple.com>
11632
11633         * reload1.c (reload):  Retain only those memory clobbers
11634         added for variable-array handling.
11635
11636 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11637
11638         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
11639         return-in-memory rules.
11640         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
11641
11642 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11643
11644         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
11645         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
11646
11647 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11648
11649         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
11650         not a compile-time constant for the non-IBM case.
11651         * config/arm/arm-protos.h (arm_float_words_big_endian): New
11652         prototype.
11653         * config/arm/arm.c (arm_float_words_big_endian): New function.
11654         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
11655         if TARGET_VFP  and not TARGET_HARD_FLOAT.
11656         (ARM_FLAG_VFP, TARGET_VFP): Define.
11657         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
11658
11659 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11660
11661         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
11662         URLs.  Fix AIX wording.
11663
11664 2002-09-05  Stan Shebs  <shebs@apple.com>
11665
11666         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
11667         -fPIC equivalent on Darwin.
11668
11669 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11670
11671         * sh.c (sh_expand_builtin): Return early if encountering an
11672         error_mark for a type.
11673
11674 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
11675
11676         * config/s390/s390.c (s390_expand_plus_operand): Do not require
11677         double-word scratch register.
11678         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
11679
11680         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
11681         "*cli"): Replace s_operand by memory_operand.
11682         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
11683
11684 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
11685
11686         * config/h8300/h8300.c (asm_file_start): Add a missing
11687         semicolon.
11688
11689 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11690
11691         * c-typeck.c (build_function_call): Remove unused variable(s).
11692         (build_c_cast): Likewise.
11693         * calls.c (rtx_for_function_call): Likewise.
11694         * cfglayout.c (duplicate_insn_chain): Likewise.
11695         * cfgloop.c (flow_loop_nodes_find): Likewise.
11696         * cfgrtl.c (split_edge): Likewise.
11697         * df.c (df_ref_create): Likewise.
11698         * except.c (expand_end_catch): Likewise.
11699         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11700         * function.c (emit_return_into_block): Likewise.
11701         (reposition_prologue_and_epilogue_notes): Likewise.
11702         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11703         * combine.c (subst_prev_insn, need_refresh): Remove.
11704         * dwarf2out.c (primary_filename): Remove.
11705         * final.c (new_block): Remove.
11706         * gcse.c (orig_bb_count): Remove.
11707
11708 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11709
11710         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11711         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11712         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
11713         directly instead of using a function pointer.
11714
11715 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
11716
11717         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11718         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11719         (ix86_output_addr_diff_elt) Likewise.
11720         (x86_output_mi_thunk) Likewise.
11721         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11722
11723 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11724
11725         * frv.c (frv_encode_section_info): Fix error in last change.
11726
11727 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11728
11729         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11730         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11731         (TARGET_BINDS_LOCAL_P): Define.
11732         (rs6000_override_options): Save original flag_pic value.
11733         (rs6000_elf_select_section): Call default_elf_select_section_1.
11734         (rs6000_elf_unique_section): Call default_unique_section_1.
11735         (rs6000_elf_in_small_data_p): New function.
11736         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11737         (rs6000_xcoff_select_section): Update based on defaults.
11738         (rs6000_xcoff_unique_section): Set to basic name if not common.
11739         (rs6000_binds_local_p): New function.
11740         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11741         targetm.have_srodata_section if SDATA_EABI.
11742         (TARGET_IN_SMALL_DATA_P): Define.
11743
11744 2002-09-04  Dale Johannesen  <dalej@apple.com>
11745
11746         * varasm.c (struct rtx_const, decode_rtx_const):
11747         Make veclo and vechi fields not share storage.
11748
11749 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11750
11751         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11752         for moving.
11753         (move_movables): Abort if we see the first insn of a libcall.
11754
11755 2002-09-04  Richard Henderson  <rth@redhat.com>
11756
11757         * builtin-types.def (BT_FN_FLOAT): New.
11758         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11759         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11760         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11761         * builtins.c (fold_builtin_inf): New.
11762         (fold_builtin): Call it.
11763         * real.c (ereal_inf): New.
11764         * real.h: Declare it.
11765         * doc/extend.texi: Document new builtins.
11766
11767 2002-09-04  Richard Henderson  <rth@redhat.com>
11768
11769         * cse.c (cse_insn): Avoid subreg games if the equivalence
11770         is already in the proper mode.
11771
11772 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11773
11774         PR c/7102
11775         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11776
11777 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11778
11779         * pa.md (setccfp0, setccfp1): New patterns.
11780
11781 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11782
11783         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11784         frv_select_section, frv_select_rtx_section,
11785         frv_encode_section_info, frv_unique_section): Delete.
11786         * frv.c: Update for target hooks.
11787         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11788         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11789         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11790
11791 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11792
11793         * ip2k-protos.h (function_prologue, function_epilogue,
11794         encode_section_info): Update to match target hook specification.
11795         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11796         (function_prologue, function_epilogue, encode_section_info):
11797         Update to match target hook specification.
11798         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11799         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11800         (NOTICE_UPDATE_CC): Cast to void.
11801         * ip2k.md: Add defaults in switch statements.
11802
11803 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11804
11805         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11806         issues.
11807
11808 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11809
11810         * config/sparc/t-netbsd64: Disable multilib for now.
11811
11812 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11813
11814         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11815         * target.h (gcc_target): Add have_srodata_section member.
11816         * varasm.c (section_category): Add SECCAT_SRODATA.
11817         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11818         READONLY_SDATA_SECTION defined.
11819         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11820         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11821         (default_unique_section_1): Likewise.
11822
11823 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11824
11825         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11826         into DImode pieces.
11827
11828         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11829         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11830         for floating-point register class.
11831         * pa.c (function_arg): Fix handling of modes wider than one word for
11832         TARGET_64BIT.
11833
11834 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11835
11836         * combine.c (make_compound_operation): Don't generate zero / sign
11837         extensions in floating point modes.
11838
11839 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11840
11841         * doc/c-tree.texi: Fix overfull hboxes.
11842         * doc/cppopts.texi: Ditto.
11843         * doc/extend.texi: Ditto.
11844         * doc/gty.texi: Ditto.
11845         * doc/invoke.texi: Ditto.
11846         * doc/makefile.texi: Ditto.
11847         * doc/rtl.texi: Ditto.
11848         * doc/standards.texi: Ditto.
11849         * doc/tm.texi: Ditto.
11850
11851 2002-09-04  Richard Henderson  <rth@redhat.com>
11852
11853         * c-common.c (builtin_define_with_hex_fp_value): New.
11854         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11855
11856 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11857
11858         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11859         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11860         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11861         Warn that these options can break ABI compatibility.
11862
11863 2002-09-04  Richard Henderson  <rth@redhat.com>
11864
11865         * real.c (ereal_to_decimal): Add digits parameter.
11866         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11867         * c-pretty-print.c (pp_c_real_literal): Update call.
11868         * print-rtl.c (print_rtx): Likewise.
11869         * print-tree.c (print_node_brief, print_node): Likewise.
11870         * sched-vis.c (print_value): Likewise.
11871         * config/arc/arc.c (arc_print_operand): Likewise.
11872         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11873         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11874         * config/i386/i386.c (print_operand): Likewise.
11875         * config/i960/i960.c (i960_print_operand): Likewise.
11876         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11877         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11878         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11879         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11880         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11881         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11882         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11883         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11884         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11885         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11886         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11887         * config/mips/mips.c (print_operand): Likewise.
11888         * config/ns32k/ns32k.c (print_operand): Likewise.
11889         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11890         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11891         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11892
11893 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11894
11895         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11896         xtensa_multibss_section_type_flags.
11897         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11898
11899 2002-09-04  Richard Henderson  <rth@redhat.com>
11900
11901         * doc/install-old.texi: Don't mention enquire.
11902         * doc/sourcebuild.texi: Update float.h description.
11903
11904 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11905
11906         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11907
11908 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11909
11910         * builtins.c (build_function_call_expr): Remove prototype, export
11911         as non-static and add a comment above function definition.
11912         (builtin_mathfn_code): New function to check for math builtins.
11913         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11914         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11915         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11916         log(sqrt(x)) as log(x)/2.0.
11917
11918         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11919         in new "builtins.c" section.  Place the build_range_type prototype
11920         with the other prototypes from "tree.c".
11921
11922         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11923         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11924         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11925         x/exp(y) as x*exp(-y).
11926
11927 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11928
11929         * varasm.c (default_section_type_flags): Append _1 to name with
11930         shlib parameter.  Use original name to call new function with
11931         implicit flag_pic.
11932         (decl_readonly_section): Likewise.
11933         (default_elf_select_section): Likewise.
11934         (default_unique_section): Likewise.
11935         (default_bind_local_p): Likewise.
11936         (categorize_decl_for_section): Add shlib parameter to use in place
11937         of implicit flag_pic.
11938         * output.h: Declare new functions with _1 and shlib argument.
11939
11940 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11941
11942         * doc/install.texi: Fix typos, formatting problems, and obvious
11943         overfull/underfull boxes.
11944
11945         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11946         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11947         include its file, compat.texi.
11948         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11949
11950 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11951
11952         Debian BTS Bug #157416
11953         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11954         * cpplib.c (destringize_and_run): Kludge around getting
11955         tokens from in-progress macros.
11956         (_cpp_do__Pragma): Simplify.
11957
11958 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11959
11960         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11961         (CPP_CPU_SPEC): Remove.
11962         (TARGET_CPU_CPP_BUILTINS): New.
11963         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11964         (CPP_SPEC): Remove.
11965         (TARGET_OS_CPP_BUILTINS): New.
11966         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11967         (TARGET_OS_CPP_BUILTINS): New.
11968         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11969         TARGET_OS_CPP_BUILTINS.
11970         (CPP_PREDEFINES): Remove.
11971         (CPLUSPLUS_CPP_SPEC): Remove.
11972         (TARGET_OS_CPP_BUILTINS): New.
11973
11974 2002-09-03  Richard Henderson  <rth@redhat.com>
11975
11976         * Makefile.in (USER_H): Add ginclude/float.h.
11977         (FLOAT_H): Remove.
11978         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11979         (mostlyclean): Don't remove float.h intermediate files.
11980         (distclean): Don't remove float.h.
11981         * config.gcc: Remove all float_format references.
11982         * configure.in (float_format, float_h_file): Remove.
11983
11984         * c-common.c: Include tree-inline.h.
11985         (builtin_define_with_int_value): New.
11986         (builtin_define_type_precision): Use it.
11987         (builtin_define_float_constants): New.
11988         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11989         __FLT_EVAL_METHOD__.
11990         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11991         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11992         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11993         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11994         (TARGET_FLT_EVAL_METHOD): New.
11995
11996         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11997         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11998         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11999         * ginclude/float.h: New.
12000
12001 2002-09-03  Stan Shebs  <shebs@apple.com>
12002
12003         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
12004         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
12005         (PREFERRED_DEBUGGING_TYPE): Ditto.
12006         (ASM_OUTPUT_IDENT): Remove empty definition.
12007
12008 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
12009
12010         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
12011         cxx_target.
12012         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
12013         handling routine for builtin pragma.
12014         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
12015         Registered pragma handling routine.
12016         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
12017         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
12018         If builtin pragma seen for math routine and C89 conformance is
12019         requested use different math function in order to set errno.
12020         * t-ia64 (ia64-c.o): Add new rule for new file.
12021
12022 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
12023
12024         * config/s390/s390.md ("movti"): Add Q->Q alternative.
12025         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
12026         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
12027
12028         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
12029         "*movsf_ss"): Remove.
12030
12031 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12032
12033         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
12034         Delete macros.
12035
12036 2002-09-03   Arati Dikey  <aratid@kpit.com>
12037
12038         * h8300.c (asm_file_start): Corrected optimization comment.
12039
12040 2002-09-03  Stan Shebs  <shebs@apple.com>
12041
12042         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
12043         * c-tree.h (recognize_objc_keyword): Remove decl.
12044         * c-typeck.c (comp_target_types): Update a comment.
12045
12046 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
12047
12048         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
12049         and register validity checks.
12050         (general_s_operand): Adapt to s390_decompose_address interface change.
12051         (q_constraint): Likewise.
12052         (s390_expand_plus_operand): Likewise.
12053         (legitimiate_address_p): Likewise.
12054         (legitimate_la_operand_p): Likewise.
12055         (legitimize_la_operand): Likewise.
12056         (print_operand_address): Likewise.
12057         (print_operand): Likewise.
12058
12059 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12060
12061         PR objc/5956:
12062         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
12063         was causing the new selector never to match the existing ones
12064         (Patch by Alexander Malmberg <alexander@malmberg.org>).
12065
12066 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
12067
12068         * config/i386/i386.md ("femms"): Add "memory" attr "none".
12069
12070 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
12071
12072         * expr.c (expand_expr): Remove extraneous comment and code.
12073
12074 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
12075
12076         * stor-layout (finish_builtin_struct): Renamed and moved from c++
12077         frontend. Take chain of fields. Allow NULL alignment type.
12078         * tree.h (finish_builtin_struct): Declare.
12079
12080 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12081
12082         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
12083         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
12084         config/arc/arc.c config/arc/arc.h config/arm/aout.h
12085         config/arm/arm.c config/arm/arm.h config/arm/arm.md
12086         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
12087         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
12088         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
12089         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
12090         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
12091         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
12092         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
12093         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
12094         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
12095         config/pa/pa.h config/pa/pa.md config/romp/romp.h
12096         config/rs6000/linux64.h config/rs6000/lynx.h
12097         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
12098         config/s390/s390.c config/s390/s390.md config/sh/sh.c
12099         config/sparc/sparc.c config/sparc/sysv4.h
12100         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
12101         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
12102         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
12103
12104         * doc/tm.texi: Update docs.
12105         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
12106         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
12107
12108 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12109
12110         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
12111         * arc.c (arc_internal_label): New function.
12112         (TARGET_ASM_INTERNAL_LABEL): Set.
12113         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12114         * arm.c (arm_internal_label): New function.
12115         (TARGET_ASM_INTERNAL_LABEL): Set.
12116         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12117         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12118         * i370.c (i370_internal_label): New function.
12119         (TARGET_ASM_INTERNAL_LABEL): Set.
12120         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12121         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12122         * m68k.c (m68k_hp320_internal_label): New function.
12123         (TARGET_ASM_INTERNAL_LABEL): Set.
12124         * m88k.c (m88k_internal_label): New function.
12125         (TARGET_ASM_INTERNAL_LABEL): Set.
12126         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12127         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
12128         * genoutput.c (output_prologue): Include target.h in output file.
12129         * output.h (default_internal_label): Declare.
12130         * sdbout.c: Include target.h.
12131         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
12132         TARGET_ASM_OUT.
12133         * target.h (internal_label): Add to struct gcc_target.
12134         * varasm.c (default_internal_label): New function.
12135
12136 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12137
12138         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12139         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12140         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12141         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12142         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12143         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12144         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12145         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12146         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12147         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12148         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12149         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12150         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12151         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12152         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12153         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12154         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12155         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12156         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12157         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12158         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12159         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12160         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12161         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12162         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12163         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
12164         * mmix.c (mmix_asm_output_internal_label): Likewise.
12165         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12166         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12167         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12168         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12169         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12170         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12171         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12172         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12173         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12174         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12175         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12176         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12177         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12178         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12179         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12180         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12181         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12182         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12183         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12184
12185         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
12186
12187 2002-08-31  Richard Henderson  <rth@redhat.com>
12188
12189         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
12190
12191 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12192
12193         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
12194
12195 2002-08-30  Richard Henderson  <rth@redhat.com>
12196
12197         PR opt/7515
12198         * c-objc-common.c: Include target.h.
12199         (c_cannot_inline_tree_fn): Don't auto-inline functions that
12200         don't bind locally.  Factor setting DECL_UNINLINABLE.
12201         * Makefile.in (c-objc-common.o): Update.
12202
12203 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
12204
12205         * doc/install.texi (Configuration, Building): Fix a typo and
12206         some formatting directives.
12207
12208 2002-08-30  Paul Koning <pkoning@equallogic.com>
12209
12210         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
12211         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
12212         implemented" note.
12213         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
12214         for alphabetic order.
12215         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
12216         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
12217         (VAX_HALFWORD_ORDER): Document.
12218         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
12219         IEEE float format.
12220         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
12221         (ASM_OUTPUT_LABEL_REF): Fix font.
12222         (CASE_VECTOR_SHORTEN_MODE): Ditto.
12223
12224 2002-08-30  Denis Chertykov  <denisc@overta.ru>
12225
12226         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
12227         stuff.
12228         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
12229         CONST_DOUBLE constants.
12230
12231 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
12232
12233         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
12234         related defines to...
12235         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
12236         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
12237         as a no-op.
12238
12239 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
12240
12241         * config/arm/arm.c (arm_asm_output_labelref): New function.
12242         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
12243         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
12244
12245 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
12246
12247         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
12248         memory exhausted" workarounds.
12249
12250 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12251
12252         * diagnostic.c (fancy_abort): Don't repeat "internal error".
12253         * toplev.c (crash_signal): Likewise.
12254
12255 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12256
12257         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
12258         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
12259         Extended, updated documentation.
12260         (-Wundeclared-selector): Documented.
12261
12262 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
12263
12264         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
12265         the value 1.  Do not undef before defining.
12266         * config/darwin.h: Likewise.
12267         * config/dbx.h: Likewise.
12268         * config/dbxcoff.h: Likewise.
12269         * config/dbxelf.h: Likewise.
12270         * config/elfos.h: Likewise.
12271         * config/interix.h: Likewise.
12272         * config/lynx-ng.h: Likewise.
12273         * config/lynx.h: Likewise.
12274         * config/netware.h: Likewise.
12275         * config/psos.h: Likewise.
12276         * config/svr3.h: Likewise.
12277         * config/alpha/alpha.h: Likewise.
12278         * config/alpha/elf.h: Likewise.
12279         * config/alpha/vms.h: Likewise.
12280         * config/arc/arc.h: Likewise.
12281         * config/arm/aout.h: Likewise.
12282         * config/arm/coff.h: Likewise.
12283         * config/c4x/c4x.h: Likewise.
12284         * config/h8300/h8300.h: Likewise.
12285         * config/i386/cygwin.h: Likewise.
12286         * config/i386/djgpp.h: Likewise.
12287         * config/i386/gas.h: Likewise.
12288         * config/i386/gstabs.h: Likewise.
12289         * config/i386/i386-coff.h: Likewise.
12290         * config/i386/i386-interix.h: Likewise.
12291         * config/i386/sco5.h: Likewise.
12292         * config/i386/svr3dbx.h: Likewise.
12293         * config/i386/sysv3.h: Likewise.
12294         * config/i386/win32.h: Likewise.
12295         * config/i386/x86-64.h: Likewise.
12296         * config/i960/i960.h: Likewise.
12297         * config/ia64/ia64.h: Likewise.
12298         * config/ip2k/ip2k.h: Likewise.
12299         * config/m32r/m32r.h: Likewise.
12300         * config/m68k/3b1.h: Likewise.
12301         * config/m68k/3b1g.h: Likewise.
12302         * config/m68k/ccur-GAS.h: Likewise.
12303         * config/m68k/coff.h: Likewise.
12304         * config/m68k/hp2bsd.h: Likewise.
12305         * config/m68k/hp310g.h: Likewise.
12306         * config/m68k/hp320g.h: Likewise.
12307         * config/m68k/hp3bsd.h: Likewise.
12308         * config/m68k/hp3bsd44.h: Likewise.
12309         * config/m68k/linux-aout.h: Likewise.
12310         * config/m68k/m68k-aout.h: Likewise.
12311         * config/m68k/mot3300.h: Likewise.
12312         * config/m68k/netbsd.h: Likewise.
12313         * config/m68k/openbsd.h: Likewise.
12314         * config/m68k/pbb.h: Likewise.
12315         * config/m68k/plexus.h: Likewise.
12316         * config/m68k/sun2.h: Likewise.
12317         * config/m68k/sun3.h: Likewise.
12318         * config/m68k/tower-as.h: Likewise.
12319         * config/m68k/vxm68k.h: Likewise.
12320         * config/m88k/aout-dbx.h: Likewise.
12321         * config/m88k/m88k-aout.h: Likewise.
12322         * config/mcore/mcore-elf.h: Likewise.
12323         * config/mcore/mcore-pe.h: Likewise.
12324         * config/mips/elf.h: Likewise.
12325         * config/mips/elf64.h: Likewise.
12326         * config/mips/iris5gas.h: Likewise.
12327         * config/mips/iris6.h: Likewise.
12328         * config/mips/mips.h: Likewise.
12329         * config/mips/sni-gas.h: Likewise.
12330         * config/mmix/mmix.h: Likewise.
12331         * config/ns32k/netbsd.h: Likewise.
12332         * config/pa/pa64-hpux.h: Likewise.
12333         * config/romp/romp.h: Likewise.
12334         * config/rs6000/sysv4.h: Likewise.
12335         * config/rs6000/xcoff.h: Likewise.
12336         * config/sh/coff.h: Likewise.
12337         * config/sh/elf.h: Likewise.
12338         * config/sparc/linux64.h: Likewise.
12339         * config/sparc/liteelf.h: Likewise.
12340         * config/sparc/netbsd.h: Likewise.
12341         * config/sparc/openbsd.h: Likewise.
12342         * config/sparc/pbd.h: Likewise.
12343         * config/sparc/sp64-elf.h: Likewise.
12344         * config/sparc/sp86x-elf.h: Likewise.
12345         * config/sparc/sparc.h: Likewise.
12346         * config/vax/vax.h: Likewise.
12347         * config/vax/vaxv.h: Likewise.
12348
12349 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
12350
12351         * h8300.c (shift_alg_hi): Various tweaks to improve performance
12352         of HImode shifts.
12353         (get_shift_alg): Corresponding changes.
12354
12355 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12356
12357         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
12358
12359 2002-08-29  Richard Henderson  <rth@redhat.com>
12360
12361         * expr.h (enum block_op_methods): New.
12362         (emit_block_move): Update prototype.
12363         * expr.c (block_move_libcall_safe_for_call_parm): New.
12364         (emit_block_move_via_loop): New.
12365         (emit_block_move): Use them.  New argument METHOD.
12366         (emit_push_insn): Always respect the given alignment.
12367         (expand_assignment): Update call to emit_block_move.
12368         (store_expr, store_field, expand_expr): Likewise.
12369         * builtins.c (expand_builtin_apply): Likewise.
12370         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
12371         * function.c (expand_function_end): Likewise.
12372         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
12373         * config/sparc/sparc.c (sparc_va_arg): Likewise.
12374         * calls.c (expand_call, emit_library_call_value_1): Likewise.
12375         (save_fixed_argument_area): Use emit_block_move with
12376         BLOCK_OP_CALL_PARM instead of move_by_pieces.
12377         (restore_fixed_argument_area): Likewise.
12378         (store_one_arg): Fix alignment parameter to emit_push_insn.
12379
12380 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12381
12382         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
12383
12384 2002-08-29  Catherine Moore  <clm@redhat.com>
12385
12386         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
12387         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
12388         (PREDICATE_CODES): Include new predicates.
12389         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
12390         (TARGET_SWITCHES):  Add strict-align.
12391         (TARGET_STRICT_ALIGN): New.
12392         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
12393         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
12394         Define.
12395         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
12396         v850_muldi3.
12397         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
12398         L_callt_save_r2_r31, L_return_r2_r31,
12399         L_save_all_interrupt): Change addi to add.
12400         (L_save_interrupt, L_return_interrupt): Rework.
12401         (__return_r31):  Correct .size directive.
12402         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
12403         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
12404         New routines.
12405         * config/v850/v850.c (expand_prologue): Call
12406         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
12407         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
12408         (reg_or_int9_operand): New predicate.
12409         (reg_or_const_operand): New routine.
12410         * config/v850/v850.md (return_interrupt): Changed from
12411         restore_interrupt.
12412         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
12413         (callt_save_interrupt): Change save sequence.
12414         (callt_return_interrupt): New.
12415         (save_interrupt): Don't use runtime function for LONG_CALLS
12416         and TARGET_PROLOG_FUNCTION.
12417         (save_all_interrupt): Likewise.
12418         (mulsi3): Use new predicate.
12419         (moviscc): Disallow some combination of constants.
12420         Fix define_split for sasf insns, so that it will not generate bad
12421         code if operand0 and operand5 are the same.
12422         * config/v850/v850-protos.h: Prototype new predicates.
12423
12424 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
12425
12426         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
12427         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
12428
12429 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12430
12431         * c-common.c (builtin_define_type_precision): New function.
12432         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
12433         wchar_t is unsigned in C++.
12434         * doc/cpp.texi (Common Predefined Macros): Document
12435         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
12436         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12437         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12438
12439 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
12440
12441         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
12442         section.  Mention that it is enabled by -Wall.
12443         (-Wall): Mention that there can be language-specific warnings as well.
12444         (-Wctor-dtor-privacy): Mention that it is enabled by default.
12445         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
12446
12447 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
12448
12449         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
12450         if it is ever live.
12451
12452         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
12453         attribute for SHCOMPACT.
12454
12455         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
12456         appropriately.
12457         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
12458         by the ABI.
12459
12460         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
12461
12462 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
12463
12464         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
12465         "MASK_GAS|MASK_ABICALLS".
12466         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
12467         (TARGET_DEFAULT): Remove.
12468         (MACHINE_TYPE): Undefine before defining.
12469         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
12470
12471 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
12472
12473         * c-common.c (warn_abi): New variable.
12474         * c-common.h (warn_abi): Likewise.
12475         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
12476         (c_common_decode_option): Handle it.
12477         * doc/invoke.texi: Document -Wabi.
12478
12479 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12480
12481         * c-common.c (warn_undeclared_selector): New variable.
12482         * c-common.h (warn_undeclared_selector): Idem.
12483         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
12484         to on when -Wundeclared-selector is found.
12485         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
12486         * objc/objc-act.c (build_selector_expr): If
12487         warn_undeclared_selector is set, check that the selector has
12488         already been defined, and emit a warning if not.
12489
12490 2002-08-27  Nick Clifton  <nickc@redhat.com>
12491             Catherine Moore  <clm@redhat.com>
12492             Jim Wilson  <wilson@cygnus.com>
12493
12494         * config.gcc: Add v850e-*-* target.
12495         Add --with-cpu= support for v850.
12496         * config/v850/lib1funcs.asm: Add v850e callt functions.
12497         * config/v850/v850.h: Add support for v850e target.
12498         * config/v850/v850.c: Add functions to support v850e target.
12499         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
12500         * config/v850/v850.md: Add patterns for v850e instructions.
12501         * doc/invoke.texi: Document new v850e command line switches.
12502
12503 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
12504                           Aldy Hernandez <aldyh at redhat dot com>
12505
12506         * doc/tm.texi: Applied numerous fixes to the automaton based
12507         scheduler descrition.
12508
12509 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
12510
12511         * i386.c (classify_argument): Handle variable sized objects.
12512
12513 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12514
12515         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
12516
12517 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
12518
12519         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
12520
12521 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
12522
12523         * i386.c (classify_argument): Properly compute word size of the analyzed object.
12524
12525 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
12526
12527         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
12528         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
12529         accordingly.
12530         (attribute insn_class): Provide default definitions based on type.
12531         Remove all insn-specific settings.
12532         (various function units): Remove old SH4 scheduling.
12533         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
12534         New attributes.  Set them where appropriate.
12535         (cpu unit FS): Don't define / use.
12536         (F3, load_store): New cpu units.
12537         (F01): New reservation.
12538         (all insn_reservations): Make dependent on sh4 pipeline model.
12539         Fix latencies.
12540         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
12541         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
12542         (mt insn_reservation): Use type mt_group.
12543         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
12544         sh4_fload and sh4_store.
12545         (insn_reservation branch_zero and branch): Replace with sh4_branch.
12546         (insn_reservation branch_far): Replace with sh4_return.
12547         (insn_reservation return_from_exp): Rename to:
12548         (sh4_return_from_exp).  Change to be just d_lock*5.
12549         (insn_reservation lds_to_pr): Rename to:
12550         (sh4_lds_to_pr).  Change to be just d_lock*2.
12551         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
12552         d_lock*2.
12553         (insn_reservation prload_mem): Rename to:
12554         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
12555         (insn_reservation fpscr_store): Rename to:
12556         (fpscr_load).  Change to d_lock,nothing,F1*3.
12557         (insn_reservation fpscr_store_mem): Rename to:
12558         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
12559         (insn_reservation multi): Change to
12560         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
12561         (insn_reservation fp_arith): Change to issue,F01,F2.
12562         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
12563         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
12564         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
12565         (insn_reservation fp_double_cmp): Change to
12566         d_lock,(d_lock+F01),F1+F2,F2.
12567         (insn_reservation dp_div): Change to
12568         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
12569         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
12570         (sh_adjust_cost, SHcompact): Differentiate between different
12571         kinds of dependencies.  Drop factor of ten for superscalar.
12572         Use new instruction types.  Add new exception rules.
12573
12574         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
12575
12576         * sh.md (mperm_w): Add DONE.
12577
12578 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
12579
12580         * longlong.h: Import current PowerPC defintion from GMP-4.1.
12581
12582         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
12583
12584         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
12585
12586 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12587
12588         * sh.h (MAX_FIXED_MODE_SIZE): Define.
12589
12590 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
12591
12592         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
12593         delimiter.
12594
12595 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12596
12597         * c-common.c (cpp_define_data_format): New function.
12598         (cb_register_builtins): Call it.
12599
12600         * doc/cpp.texi (Common Predefined Macros): Document
12601         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12602         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12603         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
12604         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
12605         __TARGET_USES_VAX_H_FLOAT__.
12606
12607 2002-08-26  Ziemowit Laski <zlaski@apple.com>
12608
12609         * objc/objc-act.c (get_super_receiver): If inside a class method
12610         of a category, cast the receiver to 'id' before accessing the 'isa'
12611         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
12612
12613 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
12614
12615         * config/s390/s390-protos.h (s390_function_prologue,
12616         s390_function_epilogue): Remove.
12617         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
12618         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
12619
12620         config/s390/s390.c (s390_machine_dependent_recorg): New function.
12621         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
12622         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
12623         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
12624         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
12625
12626         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
12627         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
12628         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
12629         function is not a leaf function.  Use save_gprs and restore_gprs.
12630         (s390_emit_epilogue): Likewise.
12631         (save_gprs, restore_gprs): New functions.
12632         (struct s390_frame): Remove return_reg_saved_p member.
12633         (save_fprs_p): Remove.
12634         (s390_optimize_prolog): New function.
12635         (s390_legitimate_reload_constant): Remove now unnecessary check.
12636
12637         (s390_function_count): Remove.
12638         (s390_output_symbolic_const): Replace s390_function_count by
12639         current_function_funcdef_no.
12640         (s390_output_constant_pool): Likewise.
12641
12642         (legitimize_pic_address): Use regs_ever_live to track PIC register
12643         instead of current_function_uses_pic_offset_table.
12644         (s390_emit_prologue): Likewise.
12645         config/s390/s390.md ("call", "call_value"): Likewise.
12646
12647 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
12648
12649         * c-opts.c (find_opt): Don't complain about wrong languages
12650         here.  Return exact matches even for wrong language.
12651         (c_common_decode_option): Complain about wrong languages
12652         here.
12653
12654 2002-08-24  Stuart Hastings  <stuart@apple.com>
12655
12656         * function.h (struct function): Add flag
12657         all_throwers_are_sibcalls.
12658         * except.c (set_nothrow_function_flags): Replaces
12659         nothrow_function_p. Set new flag.
12660         * except.h (set_nothrow_function_flags): Replaces
12661         nothrow_function_p.
12662         * dwarf2out.c (struct dw_fde_struct): Add flag
12663         all_throwers_are_sibcalls.
12664         (output_call_frame_info): Test it.
12665         (dwarf2out_begin_prologue) Propagate it from cfun to
12666         dw_fde_struct.
12667         * toplev.c (rest_of_compilation): Update calls to
12668         nothrow_function_p.
12669
12670 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
12671
12672         * ggc-page.c (compute_inverse): Short circuit calculation for
12673         object sizes larger than half a page.
12674
12675 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
12676
12677         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
12678         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
12679         default.
12680         (rs6000_elf_unique_section): Likewise.
12681
12682 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12683
12684         * ns32k.c (ns32k_globalize_label): Delete.
12685         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12686
12687 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
12688
12689         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12690         for loading delta with num_insns_constant_wide.  Calculate
12691         delta_low, delta_high without using a conditional.
12692
12693 2002-08-22  Jason Merrill  <jason@redhat.com>
12694
12695         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12696         * c-common.def: Adjust.
12697         * c-dump.c (c_dump_tree): Adjust.
12698         * c-semantics.c (genrtl_return_stmt): Adjust.
12699         * c-pretty-print.c (pp_c_statement): Adjust.
12700         * tree-inline.c (copy_body_r): Adjust.
12701
12702 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
12703
12704         * ggc-page.c: Avoid division in ggc_set_mark.
12705         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12706         compute_inverse): New.
12707         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12708         (init_ggc): Initialize inverse_table.
12709
12710 2002-08-22  Tom Tromey  <tromey@redhat.com>
12711
12712         * doc/install.texi (Configuration): Document --datadir.
12713
12714 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
12715
12716         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12717
12718 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
12719
12720         * gengtype-lex.l (ID): Allow underscore as first character.
12721
12722 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
12723
12724         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12725         function.
12726         (rs6000_xcoff_asm_named_section): Rename.
12727         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12728
12729 2002-08-21  Tom Tromey  <tromey@redhat.com>
12730
12731         For PR java/6005 and PR java/7611:
12732         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12733         (fold): Likewise.
12734         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12735         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12736         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12737         (LANG_HOOKS_INITIALIZER): Use it.
12738         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12739         field.
12740
12741 2002-08-21  Stan Shebs  <shebs@apple.com>
12742
12743         * tree.c (finish_vector_type): Fix a typo in a comment.
12744         * Makefile.in: Fix "the the" stutters in comments.
12745         * genautomata.c: Ditto.
12746         * ifcvt.c: Ditto.
12747         * regrename.c: Ditto.
12748         * config/alpha/alpha.c: Ditto.
12749         * config/alpha/vms-crt0-64.c: Ditto.
12750         * config/alpha/vms-crt0.c: Ditto.
12751         * config/alpha/vms-psxcrt0-64.c: Ditto.
12752         * config/alpha/vms-psxcrt0.c: Ditto.
12753         * config/d30v/d30v.h: Ditto.
12754         * config/fr30/fr30.h: Ditto.
12755         * config/rs6000/rs6000.c: Ditto.
12756         * config/stormy16/stormy16.h: Ditto.
12757         * doc/md.texi: Ditto.
12758
12759 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12760
12761         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12762
12763 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12764
12765         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12766         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12767         Also make duplicate modifiers such as "short short" into hard
12768         errors.
12769
12770 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12771             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12772
12773         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12774         to the actual end.  Add '@end table' and '@table @code'.
12775
12776 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12777
12778         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12779
12780         * unroll.c (biv_total_increment): Don't try to compute the total
12781         increment for FP BIVs.
12782
12783 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12784
12785         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12786         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12787         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12788         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12789         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12790         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12791         (GLOBAL_ASM_OP): Define.
12792         * arm.c (aof_globalize_label): New function.
12793         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12794         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12795         * c4x.c (c4x_globalize_label): New function.
12796         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12797         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12798         (GLOBAL_ASM_OP): Define.
12799         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12800         * darwin-protos.h (darwin_globalize_label): Declare.
12801         * darwin.c (darwin_globalize_label): New function.
12802         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12803         (ASM_GLOBALIZE_LABEL): Delete.
12804         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12805         * dsp16xx.c (asm_output_common): Use target hook.
12806         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12807         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12808         (GLOBAL_ASM_OP): Define.
12809         * i370.c (i370_globalize_label): New function.
12810         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12811         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12812         * i386.c (ix86_asm_file_end): Use target hook.
12813         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12814         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12815         * ia64.c (ia64_asm_output_external): Likewise.
12816         * ia64/sysv4.h: Update comment.
12817         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12818         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12819         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12820         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12821         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12822         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12823         * mmix.c (mmix_asm_globalize_label): Likewise.
12824         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12825         (GLOBAL_ASM_OP): Define.
12826         * ns32k.c (ns32k_globalize_label): New function.
12827         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12828         (ASM_GLOBALIZE_LABEL): Delete.
12829         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12830         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12831         * pa.c (pa_globalize_label): New function.
12832         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12833         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12834         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12835         (GLOBAL_ASM_OP): Define.
12836         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12837         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12838         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12839         (GLOBAL_ASM_OP): Define.
12840         * v850.c (v850_output_aligned_bss): Use target hook.
12841         * vax.c (vms_globalize_label): New function.
12842         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12843         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12844         (GLOBAL_ASM_OP): Define.
12845         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12846         * doc/tm.texi: Update docs.
12847         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12848         target hook.
12849         * final.c (output_alternate_entry_point): Likewise.
12850         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12851         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12852         * output.h (assemble_global): Delete.
12853         (default_globalize_label): Declare.
12854         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12855         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12856         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12857         * target.h (gcc_target): Add globalize_label member.
12858         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12859         globalize_decl): Use target hook.
12860         (assemble_global): Delete.
12861         (default_globalize_label): New function.
12862
12863 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12864
12865         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12866
12867 2002-08-20  Devang Patel  <dpatel@apple.com>
12868         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12869
12870 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12871
12872         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12873         * arm.c (thumb_output_function_prologue): Likewise.
12874         * avr.c (print_operand): Likewise.
12875         * c4x.c (c4x_print_operand): Likewise.
12876         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12877         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12878         * cris.c (cris_target_asm_function_prologue,
12879         cris_asm_output_mi_thunk): Likewise.
12880         * h8300.c (print_operand): Likewise.
12881         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12882         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12883         * m68hc11.c (asm_print_register, print_operand,
12884         print_operand_address): Use stdio instead of asm_fprintf.
12885         (print_operand_address): Fix format specifier.
12886         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12887         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12888         asm_fprintf.
12889         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12890         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12891         * m68k.c (m68k_output_function_prologue,
12892         m68k_output_function_epilogue, print_operand): Likewise.
12893         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12894         Likewise.  Fix format specifier.
12895         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12896         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12897         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12898
12899 2002-08-15  Eric Christopher  <echristo@redhat.com>
12900             Jeff Knaggs  <jknaggs@redhat.com>
12901
12902         * config.gcc (mipsisa64sr71k-elf): New target.
12903         * config/mips/sr71k.md: New file.
12904         * config/mips/mips.md: Use it.
12905         (rot*): Add sr71k specifics.
12906         * config/mips/t-sr71k: New file.
12907         * config/mips/mips.h (sr71k): New cpu.
12908         (TARGET_SR71K): Use it.
12909         (TUNE_SR71K): Ditto.
12910         (GENERATE_BRANCHLIKELY): Ditto.
12911         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12912         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12913         * config/mips/mips.c (sr71k): New cpu.
12914         (mips_use_dfa_pipeline_interface): Use.
12915
12916 2002-08-15  Eric Christopher  <echristo@redhat.com>
12917             Richard Sandiford <rsandifo@redhat.com>
12918             Aldy Hernandez  <aldyh@redhat.com>
12919             Graham Stott    <grahams@redhat.com>
12920             Michael Meissner  <meissner@redhat.com>
12921             Gavin Romig-Koch  <gavin@redhat.com>
12922             Ken Raeburn  <raeburn@cygnus.com>
12923             Alexandre Oliva <aoliva@redhat.com>
12924
12925         * config.gcc (mips64vr-elf): New target.
12926         * config/mips/5400.md: New file.
12927         * config/mips/5500.md: Ditto.
12928         * config/mips/mips.md: Use them.
12929         (frsqrt): New.
12930         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12931         cpus.
12932         (mips_issue_rate): Use them.
12933         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12934         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12935         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12936         cpus.
12937         (TARGET_MIPSx): Use them.
12938         (TUNE_MIPSx): Ditto.
12939         (GETNATE_MULT3_SI): Ditto.
12940         (ISA_HAS_BRANCHLIKELY): Ditto.
12941         (ISA_HAS_CONDMOVE): Ditto.
12942         (ISA_HAS_NMADD_NMSUB): Ditto.
12943         (ISA_HAS_MULHI): New. Ditto.
12944         (ISA_HAS_MULS): Ditto.
12945         (ISA_HAS_MSAC): Ditto.
12946         (ISA_HAS_MACC): Ditto.
12947         (ISA_HAS_ROTR_SI): Ditto.
12948         (ISA_HAS_ROTR_DI): Ditto.
12949         (RTX_COSTS): Use.
12950
12951 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12952
12953         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12954         at head.
12955         (remove_dup_nonsys_dirs): New function.
12956         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12957         (merge_include_chains): Remove non-system include directories from
12958         quote and bracket include chains when they duplicate equivalent system
12959         directories.
12960         * doc/cpp.texi (-I): Update.
12961         * doc/cppopts.texi (-I): Update.
12962         * doc/install.texi (--with-local-prefix): Further document usage of
12963         this option.
12964         * doc/invoke.texi (-I): Update.
12965
12966 2002-08-20  Richard Henderson  <rth@redhat.com>
12967
12968         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12969         (emit_block_move): Split out subroutines.
12970         (emit_block_move_via_movstr): New.
12971         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12972         (emit_block_move_libcall_fn): New.  Construct function prototype for
12973         bcopy as well.
12974         (clear_storage): Split out subroutines.
12975         (clear_storage_via_clrstr): New.
12976         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12977         (clear_storage_libcall_fn): New.  Construct function prototype for
12978         bzero as well.
12979         (emit_push_insn): Use emit_block_move.
12980         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12981         (store_constructor): Likewise.
12982
12983 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12984
12985         * objc/objc-act.c (building_objc_message_expr): Rename to
12986         current_objc_message_selector.
12987
12988 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12989
12990         * objc/objc-act.c (build_ivar_chain): Remove.
12991         (objc_copy_list): Likewise.
12992         (get_class_ivars): Inline call to removed build_ivar_chain
12993         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12994         slot; use that slot (rather than CLASS_IVARS) when accessing
12995         ivars for base classes.  Call copy_list and chainon instead of
12996         objc_copy_list.
12997         (build_private_template): Call get_class_ivars instead of
12998         build_ivar_chain.
12999         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
13000         (continue_class): Call get_class_ivars instead of
13001         build_ivar_chain.
13002         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
13003         of DECL_BIT_FIELD (which may have been cleared).
13004         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
13005
13006 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13007
13008         * genautomata.c (output_translate_vect, output_state_ainsn_table,
13009         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
13010         in output file.
13011         (output_internal_min_issue_delay_func): Initialize variable in
13012         output file.
13013
13014 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
13015
13016         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
13017         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
13018
13019 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
13020             Steve Ellcey  <sje@cup.hp.com>
13021
13022         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
13023         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
13024         * explow.c (trunc_int_for_mode): Abort when the mode is not
13025         a scaler integer mode.
13026         * combine.c (expand_compound_operation): Don't expand Vector
13027         or Complex modes into shifts.
13028         (expand_field_assignment): Don't do bitwise arithmatic and
13029         shifts on Vector or Complex modes.
13030         (simplify_comparison): Don't call trunc_int_for_mode
13031         for VOIDmode.
13032         * recog.c (general_operand): Likewise.
13033         (immediate_operand): Likewise.
13034         (nonmemory_operand): Likewise.
13035
13036 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
13037
13038         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
13039         multi-instruction SImode constant.  Add REG_EQUAL note.
13040         * config/rs6000/rs6000.md (movsi splitter): Use
13041         rs6000_emit_set_const.
13042
13043 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13044
13045         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
13046         the macro test controlling its use.
13047
13048 2002-08-18  H.J. Lu  (hjl@gnu.org)
13049
13050         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
13051         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
13052         gnu_ld=yes.
13053         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
13054         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
13055         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
13056         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
13057         here.
13058         (cris-*-linux*): Remove setting thread_file here.
13059
13060 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
13061
13062         PR preprocessor/7602
13063         * cppinit.c (path_include): Treat the system environment
13064         variables as being cxx_aware.
13065
13066 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
13067
13068         * c-decl.c (flexible_array_type_p): New function.
13069         (grokdeclarator, finish_struct): Use it.
13070         * doc/extend.texi: Document constraints on use of structures with
13071         flexible array members.
13072
13073 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
13074
13075         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
13076         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
13077         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
13078
13079 2002-08-16  Stan Shebs  <shebs@apple.com>
13080
13081         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
13082         for ObjC with -fnext-runtime.
13083         * doc/cpp.texi: Document it.
13084
13085 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
13086
13087         * doc/install.texi (Final installation): Replace links to individual
13088         build status pages with a link to a common page that lists them all.
13089
13090 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
13091
13092         * doc/invoke.texi: Fix typo.
13093
13094 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
13095
13096         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
13097
13098 2002-08-16  Andrew Haley  <aph@redhat.com>
13099
13100         * tree-inline.c: Add includes for Java inliner.
13101         (remap_decl): Don't handle anonymous types for Java.
13102         (remap_block): Add handling for Java trees.
13103         (copy_scope_stmt): Conditionalize for non-Java use only.
13104         (copy_body_r): Handle Java trees.  Add handling for
13105         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
13106         (initialize_inlined_parameters):  Handle Java trees.
13107         (declare_return_variable): Likewise.
13108         (expand_call_inline): Handle Java trees.
13109         (walk_tree): Likewise.
13110         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
13111         (add_stmt_to_compound): New function.
13112
13113 2002-08-15  Richard Henderson  <rth@redhat.com>
13114
13115         * Makefile.in (LOOSE_WARN): Remove -fno-common.
13116         (NOCOMMON_FLAG): New substitution point.
13117         (GCC_WARN_CFLAGS): Include it.
13118         * configure.in (ac_checking): Set nocommon_flag.
13119         (nocommon_flag): New substitution point.
13120
13121 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
13122
13123         * c-tree.h (skip_evaluation): Move declaration...
13124         * c-common.h: ... here.
13125         * c-typeck.c (build_external_ref): Don't assemble_external nor
13126         mark a tree as used if skip_evaluation is set.
13127         * c-parse.in (typeof): New non-terminal to set skip_evaluation
13128         around TYPEOF.
13129         (typespec_nonreserved_nonattr): Use it.
13130
13131 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
13132
13133         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
13134         (xcoff_debug_hooks): Update end_prologue.
13135         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
13136         * debug.h (end_prologue): Add file arg.
13137         (end_epilogue): Add line and file args.
13138         (dwarf2out_end_epilogue): Add line and file args.
13139         (vmsdbgout_after_prologue): Remove.
13140         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
13141         (dwarf2_debug_hooks): Update end_prologue.
13142         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
13143         (dwarfout_end_prologue): Add file arg.
13144         * final.c (vmsdbgout_after_prologue): Remove
13145         (final_end_function): Update end_epilogue call.
13146         (final_scan_insn): Update end_prologue call.
13147         * sdbout.c (sdbout_end_epilogue): Add line and file args.
13148         (sdbout_end_prologue): Add file arg.
13149         (sdb_debug_hooks): Update end_prologue.
13150         (sdb_begin_prologue): Update sdbout_end_prologue call.
13151         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
13152         vmsdbgout_end_function.
13153         (vmsdbgout_end_prologue): New function renamed from
13154         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
13155         (vmsdbgout_end_function): New function.
13156         (vmsdbgout_end_epilogue): Add line and file args. Call
13157         vmsdbgout_source_line.
13158         (write_pclines): Write only valid line numbers.
13159         (write_srccorr): Don't write source correlation records if 0 lines.
13160         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
13161
13162 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
13163
13164         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
13165         (_Unwind_Internal_Ptr): 32 bit version for use in
13166         read_encoded_value_with_base.
13167         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
13168         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
13169         right size.
13170
13171 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13172
13173         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
13174         signed/unsigned warnings.
13175
13176         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
13177         record_reg_classes): Likewise.
13178
13179         * reload.c (reload_inner_reg_of_subreg, push_reload,
13180         find_reloads_address_1): Likewise.
13181
13182 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
13183
13184         * rs6000.c (output_mi_thunk): Return to function section on
13185         TARGET_ELF.
13186
13187         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
13188
13189 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
13190
13191         * config/s390/s390.c (legitimize_address): Optimize loading
13192         of large displacements.
13193
13194 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
13195
13196         * config/alpha/alpha-protos.h: Update.
13197
13198         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
13199         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
13200         (alpha_linkage_symbol_p): New static function.
13201         (print_operand_address): Print linkage operand.
13202
13203         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
13204         variables.
13205         (reloc_kind): New enum.
13206         (struct alpha_funcs): New struct.
13207         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
13208
13209         (alpha_need_linkage): Rewrite.
13210         (alpha_use_linkage): New global function.
13211         (alpha_write_linkage): Rewrite and make static.
13212         (alpha_write_one_linkage): Rewrite
13213
13214         (alpha_start_function): Remove procedure descriptor output.
13215         (alpha_end_function): Write linkages at end of each function.
13216
13217         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
13218         (call_vms_1, call_value_vms_1): Rewrite.
13219
13220         * config/alpha/vms.h (ASM_FILE_END): Remove.
13221
13222 2002-08-14  Richard Henderson  <rth@redhat.com>
13223
13224         * ggc-page.c (RTL_SIZE): New.
13225         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
13226         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
13227
13228 2002-08-14  Richard Henderson  <rth@redhat.com>
13229
13230         * calls.c: Include target.h.
13231         * Makefile.in (calls.o): Update.
13232
13233         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
13234         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
13235
13236 2002-08-14  Richard Henderson  <rth@redhat.com>
13237
13238         * Makefile.in (LOOSE_WARN): Add -fno-common.
13239         * c-common.h (constant_string_class_name): Add missing extern.
13240
13241 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
13242
13243         PR preprocessor/7358
13244         * c-opts.c (check_deps_environment_vars): Ignore main file
13245         for SUNPRO_DEPENDENCIES.
13246         * cppfiles.c (stack_include_file): Ignore main file if
13247         appropriate.
13248         * cpplib.h (struct cpp_options): New member in deps.
13249         * doc/cppenv.texi: Update.
13250
13251 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13252
13253         PR preprocessor/7526
13254         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
13255
13256 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
13257
13258         * doc/invoke.texi (-a): Remove documentation.
13259         (-fprofile-arcs): Remove reference to -a, -ax options.
13260         * doc/gcov.texi (Gcov Data Files): Data might be merged.
13261
13262 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13263
13264         Fix PR/7566
13265         * c-semantics.c (genrtl_case_label): Don't (mis)use
13266         warning_with_decl.
13267
13268 2002-08-14  Dale Johannesen  <dalej@apple.com>
13269
13270         * explow.c (emit_stack_restore):  Emit memory clobbers
13271         preceding the stack pop, to prevent the scheduler from
13272         moving refs to variable arrays below this pop.
13273         * reload1.c (reload):  Preserve these clobbers for sched2.
13274         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
13275
13276 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13277
13278         * c-opts.c (c_common_post_options): Correct test.
13279
13280 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13281
13282         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
13283         order in call to fprintf.
13284
13285 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13286
13287         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
13288
13289 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13290
13291         * reload.c (find_reloads): Handle constraint letters marked by
13292         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
13293         (alternative_allows_memconst): Likewise.
13294         * reload1.c (maybe_fix_stack_asms): Likewise.
13295         * recog.c (asm_operand_ok, preprocess_constraints,
13296         constrain_operands): Likewise.
13297         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13298         * local-alloc.c (block_alloc, requires_inout): Likewise.
13299         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13300
13301         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
13302         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13303         * doc/tm.texi: Document these two new target macros.
13304
13305         * config/s390/s390.c (s390_expand_plus_operand): Accept already
13306         valid operands.
13307         (q_constraint): New function.
13308         config/s390/s390-protos.h (q_constraint): Declare it.
13309         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
13310         (EXTRA_MEMORY_CONSTRAINT): New macro.
13311
13312         * config/s390/s390.md: Throughout the machine description,
13313         replace all instances of the constraint combinations 'Qo'
13314         or 'oQ' with simply 'Q'.
13315
13316 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13317
13318         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
13319         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
13320         (LIBGCC2_CFLAGS): Compile with -mrelax.
13321
13322 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13323
13324         * doc/invoke.texi: Document -minmax for 68HC12.
13325
13326         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
13327         ("uminqi3"): Likewise.
13328         ("uminhi3", "umaxhi3"): Likewise.
13329
13330         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
13331         (TARGET_MIN_MAX): Define.
13332         (TARGET_SWITCHES): New option -minmax/-mnominmax.
13333
13334 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13335
13336         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
13337         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
13338
13339         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
13340         (ret, declare, farsym): New gas macros.
13341         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
13342         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
13343         and declare the symbol far when compiled with -mlong-calls.
13344         (__far_trampoline): New for 68HC12 trampoline code to invoke a
13345         far handler using jsr/bsr.
13346
13347         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
13348         (jsr): New macro to transform a 'jsr' into a 'call'.
13349
13350 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13351
13352         * doc/invoke.texi: Document -mlong-calls for 68HC12.
13353
13354         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
13355         -mlong-calls is specified.
13356         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
13357         assembler directives.
13358         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
13359         (TARGET_SWITCHES): Add -mlong-calls options.
13360         (current_function_far): Declare.
13361
13362         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
13363         into account the page register saved on the stack.
13364         (m68hc11_override_options): Take into account -mlong-calls option.
13365         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
13366
13367         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
13368         if the function is going to be in 68HC12 banked memory (-mlong-calls).
13369         ("*return_16bit"): Likewise.
13370         ("*return_void"): Likewise.
13371         ("call", "call_value"): Use call for a far function call.
13372
13373 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13374
13375         * toplev.c (parse_options_and_default_flags): Don't call
13376         post_options here.
13377         (general_init): Initialize GC, pools and tree hash here,
13378         instead of lang_independent_init.
13379         (lang_independent_init): Rename backend_init.
13380         (do_compile): Call post_options hook; exit early if there
13381         have been errors after switch processing.
13382         (toplev_main): Update.
13383
13384 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13385
13386         * c-pretty-print.h: Guard against multiple inclusion.
13387         Robustify macros.
13388         (pp_c_attributes): Declare.
13389         * c-pretty-print.c (pp_c_attributes): New function.
13390
13391 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13392
13393         * m68k.c (m68k_output_function_prologue,
13394         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
13395         and NEWS/MOTOROLA.
13396         * genattrtab.c: Remove dpx2 comment.
13397         * libgcc2.c (__enable_execute_stack): Delete versions for
13398         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
13399         sony_news/SYSTYPE_BSD.
13400         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
13401         __gmicro__, __i860__, __NeXT__ and __pyr__.
13402         * rtl.h: Remove convex comment.
13403         * varasm.c: Likewise.
13404
13405 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13406
13407         * c-opts.c (lang_flags): Const-ify.
13408         * ra-build.c (undef_table): Likewise.
13409         * ra.c (eliminables): Likewise.
13410
13411 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13412
13413         * tree.h: Guard against multiple inclusion.
13414
13415 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
13416
13417         * reload1.c (reload_cse_simplify): Before checking
13418         REG_FUNCTION_VALUE_P, check REG_P.
13419
13420 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
13421
13422         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
13423
13424 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13425
13426         * c-opts.c (c_common_init_options): Extra braces needed.
13427
13428 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
13429
13430         * sh.c (sh_init_builtins): Add PARAMS to declaration.
13431         (sh_media_init_builtins, sh_expand_builtin): Likewise.
13432         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
13433         (sh_expand_binop_v2sf): Likewise.
13434         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
13435         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
13436         (sh_initialize_trampoline): Likewise.
13437
13438 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13439
13440         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
13441         new condition code modes.
13442         s390.c (s390_match_ccmode_set): Handle those new CC modes.
13443         (s390_select_ccmode): Likewise.
13444         (s390_branch_condition_mask): Likewise.
13445
13446         * s390-protos.h (s390_tm_ccmode): Declare.
13447         s390.c (s390_tm_ccmode): New function.
13448         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
13449
13450         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
13451         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
13452         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
13453
13454         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
13455         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
13456         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
13457         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
13458         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
13459
13460         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
13461         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
13462         "*cmpqi_ccs_0"): Remove, replace by ...
13463         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
13464         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
13465         "*tstqi", "*tstqi_cconly"): ... these new patterns.
13466
13467         ("*cmpsidi_ccs"): Remove, replace by ...
13468         ("*cmpsi_ccs_sign"): ... this new pattern.
13469         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
13470
13471         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
13472         ("*cli"): ... this new pattern.
13473
13474         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
13475         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
13476         New patterns.
13477         ("adddi3_64"): Rename to "*adddi3_64".
13478         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
13479         ("adddi3"): Adapt expander.
13480
13481         ("*addsi3_cc"): Allow "general_operand" for operand 2.
13482         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
13483         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
13484
13485         ("addhi3", "addqi3"): Remove, replace by ...
13486         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
13487
13488         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
13489         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
13490         ("subdi3"): Replace by insn and splitter "*subdi3_31".
13491         ("subdi3"): New expander.
13492
13493         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
13494
13495         ("subhi3", "subqi3"): Remove, replace by ...
13496         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
13497
13498         ("*muldi3_sign"): New pattern.
13499         ("muldi3"): Do not clobber CC.
13500         ("mulsi3"): Likewise.
13501         ("mulsi_6432"): Likewise.
13502
13503 2002-08-13  Denis Chertykov  <denisc@overta.ru>
13504
13505         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
13506         which can change CC0.
13507
13508 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
13509
13510         * gcse.c (adjust_libcall_notes): New function.
13511         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
13512
13513 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
13514
13515         * libgcc2.c (L_bb): Remove unneeded #includes.
13516         (__global_counters, __gthreads_active): Remove unused globals.
13517         (__bb_exit_func): Merge counts into files rather than appending.
13518         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
13519         (ALL_CFLAGS): ... to here.
13520
13521 2002-08-13  Denis Chertykov  <denisc@overta.ru>
13522
13523         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
13524         (function_epilogue): Don't calculate function size.
13525         (ip2k_set_compare): Don't use lookup_const_double.
13526         (asm_file_start): Initialization of commands_in_file removed.
13527         (asm_file_end): Output of commands_in_file removed.
13528
13529         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
13530         __INT_MAX__.
13531
13532 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13533
13534         * c-opts.c (c_common_init_options): Check option array is
13535         sorted if checking enabled.
13536
13537 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
13538
13539         * c-pretty-print.c: #include "c-tree.h".
13540         (pp_c_simple_type_specifier): Tweak.
13541         (pp_c_storage_class_specifier): New.
13542         (pp_c_function_specifier): Likewise.
13543         (pp_c_declaration_specifiers): Likewise.
13544         (pp_c_init_declarator): Likewise.
13545         (pp_c_declaration): Likewise.
13546         (pp_c_direct_declarator): Stub.
13547         (pp_c_declarator): Likewise.
13548         (pp_c_parameter_declaration): Likewise.
13549
13550 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13551
13552         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
13553         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
13554         struct deferred_opt): New.
13555         (COMMAND_LINE_OPTIONS): Add -M*.
13556         (missing_arg): Update.
13557         (c_common_decode_option): Handle -M*.
13558         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
13559         don't call cpp_post_options.
13560         (c_common_finish, check_deps_environment_vars): Update.
13561         * cppfiles.c (stack_include_file, handle_missing_header): Update.
13562         * cpphash.h (CPP_PRINT_DEPS): Remove.
13563         * cppinit.c: Don't include version.h.
13564         (cpp_create_reader): Don't call deps_init.  Initialize
13565         warn_long_long.
13566         (cpp_read_main_file): Init deps if necessary.
13567         (cpp_destroy): Conditionally free deps.
13568         (cpp_finish): Update.
13569         (no_tgt): Remove.
13570         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
13571         (cpp_post_options): Rename post_options.
13572         * cpplib.h (struct cpp_options): Remove some dependency options;
13573         move others to a new structure.
13574         (cpp_post_options): Remove.
13575         (cpp_finish): Comment.
13576         * fix-header.c (read_scan_file): Don't call cpp_post_options.
13577
13578 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13579
13580         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
13581         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
13582         MMIX_rR_REGNUM as clobbered.
13583         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
13584
13585 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
13586
13587         * diagnostic.h (output_formatted_scalar): Rename from
13588         output_formatted_integer.
13589         * diagnostic.def: Add DK_DEBUG.
13590         * diagnostic.c (output_decimal): Adjust.
13591         (output_long_decimal): Likewise.
13592         (output_unsigned_decimal): Likewise.
13593         (output_octal): Likewise.
13594         (output_long_octal): Likewise.
13595         (output_hexadecimal): Likewise.
13596         (output_long_hexadecimal): Likewise.
13597         * c-pretty-print.c (pp_c_type_specifier): New function.
13598         (pp_c_specifier_qualifier_list): Likewise.
13599         (pp_c_abstract_declarator): Likewise.
13600         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
13601
13602 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
13603
13604         * doc/trouble.texi (Disappointments): Add static constructor and
13605         destructor dependency information for AIX.
13606
13607 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13608
13609         * cpphash.h (struct printer): New from cppmain.c.
13610         (cpp_reader): New member.
13611         * cppmain.c (struct printer): Move to cpphash.h.
13612         (options, print): Remove.
13613         (account_for_newlines, print_line, maybe_print_line,
13614         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
13615         scan_translation_unit_trad, cb_line_change, cb_ident,
13616         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
13617         cb_def_pragma): Make reentrant.
13618
13619 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13620
13621         * real.c (ieee_64): Always define.
13622         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13623         (dec_h): Not used yet, hide it.
13624         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
13625         macro controlling use.
13626         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13627
13628 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13629
13630         * i386.md (tablejump): Sign extend the operand.
13631         * i386.c (classify_argument): Fix missed case from previous patch.
13632
13633 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13634
13635         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
13636         to c-copts.c.
13637         (warn_multichar): Die.
13638         (cb_register_builtins): Export.
13639         * c-common.h (warn_multichar, preprocess_file): Remove.
13640         (cb_register_builtins): New.
13641         * c-lang.c (c_init): Remove.
13642         (LANG_HOOKS_INIT): Use c_objc_common_init.
13643         * c-lex.c (init_c_lex): Don't canonicalize filename.
13644         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
13645         (preprocess_file): Make static.  Update for cpplib.
13646         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
13647         (c_common_post_options): Set some cpp options here.
13648         (c_common_init): Move from c-common.c.
13649         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
13650         * cpplib.h (struct cpp_options): Remove in_fname.
13651         (cpp_preprocess_file): Update.
13652         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
13653
13654 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13655
13656         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
13657
13658 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13659
13660         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
13661         backslash in comment preceeding macro definition.
13662         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
13663         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
13664         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
13665
13666 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13667
13668         * expr.c (store_expr): In condition for checking if value is
13669         generated in TARGET, move call to expr_size last.
13670
13671 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13672
13673         * c-common.c (c_common_init): Call preprocess_file instead.
13674         (c_common_finish): Move to c-opts.c.
13675         * c-common.h (preprocess_file): new.
13676         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
13677         check_deps_environment_vars, c_common_finish): New.
13678         (c_common_decode_option): Update for out_fname and dependencies.
13679         * cppinit.c (init_dependency_output, output_deps): Remove.
13680         (cpp_destroy): Update prototype.
13681         (cpp_add_dependency_target): New.
13682         (cpp_read_main_file): Don't overlay a buffer.
13683         (cpp_finish): Take a deps output stream and write deps to it.
13684         Return the error count.
13685         (cpp_post_options): Don't canonicalize out_fname, or do anything
13686         with dependencies.
13687         * cpplib.h (struct cpp_options): Remove out_fname and
13688         preprocess_only.
13689         (cpp_add_dependency_target): New.
13690         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13691         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
13692         set preprocess_only.  Don't handle the output stream directly.
13693
13694 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13695
13696         * dsp16xx.c (print_operand): Fix format specifier.
13697         * dsp16xx.md: Avoid automatic aggregate initialization.
13698         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13699         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13700         integer constant modifier.
13701         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13702         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13703         guards.
13704         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13705         * v850.c (v850_select_section): Mark parameter with
13706         ATTRIBUTE_UNUSED.
13707         * global.c (global_alloc): Const-ify.
13708         * ra-colorize.c (hardregset_to_string): Fix format specifier.
13709
13710 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13711
13712         * darwin-c.c (darwin_pragma_options): Const-ify.
13713         * darwin.c (machopic_non_lazy_ptr_name,
13714         machopic_validate_stub_or_non_lazy_ptr): Likewise.
13715         (machopic_indirect_data_reference): Wrap variables in macros
13716         controlling their use.
13717         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13718         (machopic_select_section): Use parentheses around && within ||.
13719         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13720
13721 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13722
13723         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13724         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13725         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13726         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13727         mdr_try_remove_redundant_insns, track_w_reload,
13728         mdr_try_wreg_elim): Make function static to match prototype.
13729         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13730         parameter with ATTRIBUTE_UNUSED.
13731
13732 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13733
13734         * arc.c (arc_init): Don't use ISO C style function definitions.
13735         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13736         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13737         * avr.h (progmem_section): Likewise.
13738         * h8300.c h8300_asm_insn_count): Likewise.
13739         * m32r.c (init_idents): Likewise.
13740         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13741         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13742         * xtensa.c (xtensa_build_va_list): Likewise.
13743
13744 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13745
13746         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13747         * c-opts.c (parse_option): Rename find_opt.
13748         (set_std_c99): New function.
13749         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13750         (missing_arg): Remove OPT_std_bad.  Handle -o.
13751         (c_common_decode_option): Handle input and output file names,
13752         -o and -remap.  Clean up -std= handling.
13753         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13754         (cpp_handle_option): Similarly.  Don't handle filenames.
13755
13756 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13757
13758         * i386.c (classify_argument): Fix computing of field's offsets.
13759
13760 2002-08-11  Andreas Jaeger  <aj@suse.de>
13761
13762         PR target/7531:
13763         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13764
13765 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13766
13767         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13768         reference to clk_objective_c with flag_objc.
13769         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13770         Likewise.
13771         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13772
13773 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13774
13775         * c-opts.c (set_std_cxx98, set_std_c89): New.
13776         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13777         (c_common_decode_option): Handle new switches from cppinit.c.
13778         Add -std=gnu++98.
13779         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13780         (no_arg, no_num): Remove.
13781         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13782         switches apart from -lang-objc and lang-asm.
13783         (cpp_handle_option): Similarly.
13784         * cpplib.h (cpp_set_lang): New.
13785         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13786         -std=gnu++98.
13787         * objc/lang-specs.h: Remove -ansi.
13788
13789 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13790                                Graham Stott
13791
13792         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13793         errors.
13794
13795 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13796
13797         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13798         emit_jump_insn): Fix uninitialized variable.
13799         * gcov.c (init_line_info): Likewise.
13800         * genautomata.c (transform_3): Add braces around ambiguous
13801         else.
13802         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13803         ATTRIBUTE_UNUSED.
13804         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13805         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13806         variable.
13807
13808         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13809         warnings in output files.
13810
13811 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13812
13813         * c-common.c (flag_objc): New.
13814         * c-common.h (c_language_kind): Get rid of clk_objective_c
13815         enum value.
13816         (flag_objc): New extern declaration.
13817         * c-decl.c (implicitly_declare): Call objc_check_decl
13818         instead of maybe_objc_check_decl.
13819         (finish_decl): Likewise.
13820         (grokfield): Likewise.
13821         (finish_struct): Likewise.
13822         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13823         (maybe_objc_comptypes): Rename to objc_comptypes.
13824         (maybe_building_objc_message_expr): Rename to
13825         objc_message_selector.
13826         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13827         replace with flag_objc as needed.
13828         * c-opts.c (c_common_init_options): Likewise.
13829         (c_common_decode_option): Likewise.
13830         * c-parse.in (init_reswords): Likewise.
13831         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13832         (maybe_objc_comptypes): Rename to objc_comptypes.
13833         (maybe_building_objc_message_expr): Rename to
13834         objc_message_selector.
13835         * c-typeck.c (comptypes): Call objc_comptypes instead of
13836         maybe_objc_comptypes, and/or objc_message_selector instead of
13837         maybe_building_objc_message_expr.
13838         (comp_target_types): Likewise.
13839         (convert_for_assignment): Likewise.
13840         (warn_for_assignment): Likewise.
13841         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13842         independently of those for other languages.
13843         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13844         (maybe_objc_check_decl): Delete.
13845         (maybe_building_objc_message_expr): Rename to
13846         objc_message_selector.
13847         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13848         clk_objective_c; set flag_objc flag.
13849
13850 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13851
13852         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13853
13854 2002-08-09  Dale Johannesen  <dalej@apple.com>
13855
13856         * config/rs6000/rs6000.md: Add sibcall patterns.
13857         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13858         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13859         Rewritten to handle sibcalls.
13860         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13861         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13862
13863 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13864
13865         * profile.c (da_file_name): New static var.
13866         (init_branch_prob): Initialize it.
13867         (end_branch_prob): Remove da file.
13868
13869         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13870         * configure.in (coverage_flags): Default to nothing.
13871         * configure: Rebuilt.
13872
13873 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13874
13875         * Makefile.in (c-opts.o): Update
13876         * c-opts.c: Include intl.h.
13877         (print_help): Move from cppinit.c.  Remove unused options.
13878         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13879         (missing_arg): Complain for switches without an argument.
13880         (c_common_decode_option): Reject missing joined arguments.
13881         Handle new switches from cppinit.c.
13882         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13883         (cpp_handle_option): Similarly.
13884         (print_help): Moved to c-opts.c.
13885         * cpplib.h (struct cpp_options): Remove help_only.
13886         * gcc.c (cpp_unique_options): Remove -$.
13887         * doc/cppopts.texi: Undocument -h.
13888
13889 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13890
13891         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13892         legitimate constant.
13893         (legitimate_pic_operand_p): Neither pic operand.
13894         (legitimate_address_p): But legitimate address.
13895         (get_thread_pointer): Generate MEM/u instead of CONST around
13896         UNSPEC_TP.
13897         (print_operand): Remove printing of UNSPEC_TP.
13898         (print_operand_address): And print it here.
13899
13900 2002-08-08  Devang Patel  <dpatel@apple.com>
13901
13902         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13903         when  -Wselector is used,if method for which selector is being
13904         created does not exist.
13905
13906 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13907
13908         * config/sh/sh.c (prepare_move_operands): Only call
13909         target_reg_operand if TARGET_SHMEDIA.
13910
13911 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13912
13913         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13914         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13915         two patches.
13916         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13917
13918 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13919             Richard Henderson  <rth@redhat.com>
13920
13921         * emit-rtl.c (gen_rtx_REG): After reload, only return
13922         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13923
13924 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13925
13926         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13927         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13928         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13929         macro.
13930
13931 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13932
13933         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13934         register.
13935         (thumb_expand_prologue): Likewise.
13936         (thumb_output_function_prologue): Likewise.
13937         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13938         the additional push of the PIC register.
13939
13940 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13941
13942         * configure.in (enable_coverage): New enable switch.
13943         * configure: Rebuilt.
13944         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13945         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13946         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13947         (mostlyclean): Remove coverage files.
13948         * doc/install.texi: Document enable_coverage.
13949
13950         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13951         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13952         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13953         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13954         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13955         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13956         files.
13957
13958 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13959
13960         * c-opts.c (cpp_opts): New.
13961         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13962         (c_common_decode_options): Handle cpplib switches.
13963         (c_common_init_options): Set cpp_opts.
13964         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13965         (cpp_handle_option): Similarly.
13966
13967 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13968
13969         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13970         (TARGET_ALTIVEC_ABI): Same.
13971         (TARGET_ALTIVEC_VRSAVE): Same.
13972
13973         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13974         icode not CODE_FOR_nothing.  Change switch to if.
13975
13976 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13977
13978         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13979
13980 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13981
13982         * stor-layout.c (place_union_field): For bitfields if
13983         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13984         TYPE_USER_ALIGN.
13985
13986 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13987
13988         * pa.c (struct deferred_plabel): Constify name field.
13989
13990 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13991
13992         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13993
13994 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13995
13996         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13997         local_prefix are the same.
13998         * configure: Rebuilt.
13999
14000 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
14001             Richard Henderson  <rth@redhat.com>
14002
14003         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
14004         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
14005         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
14006         (place_field): Likewise.
14007         * config/i386/i386.c (x86_field_alignment): Don't check
14008         DECL_USER_ALIGN here.
14009         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
14010         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
14011         prototype.
14012         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
14013         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
14014         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
14015         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
14016         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
14017         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
14018
14019 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
14020
14021         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
14022         * c-common.c: Don't include tree-inline.h.
14023         (c_common_init_options, c_common_post_options): Move to c-opts.c.
14024         * c-common.h (c_common_decode_option): New.
14025         * c-decl.c (c_decode_option): Remove.
14026         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
14027         * c-opts.c: New file.
14028         * c-tree.h (c_decode_option): Remove.
14029         * doc/passes.texi: Update.
14030         * objc/objc-act.c (objc_decode_option): Remove.
14031         * objc/objc-act.h (objc_decode_option): Remove.
14032         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
14033         c_common_decode_option.
14034
14035 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
14036
14037         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
14038         dependency on TARGET_DOUBLE_FLOAT.
14039
14040 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
14041
14042         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
14043         overwrite callee-save registers.  Fix comment.
14044
14045 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
14046
14047         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
14048         in target_flags based on ISA, if it was not set on the command
14049         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
14050         support Branch Likely instructions.
14051         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
14052         (TARGET_BRANCHLIKELY): Likewise.
14053         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
14054         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
14055         ISA_HAS_BRANCHLIKELY.
14056         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
14057         * doc/invoke.texi: Document new MIPS -mbranch-likely and
14058         -mno-branch-likely options.
14059
14060 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14061
14062         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
14063
14064         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
14065         $(GCONFIG_H).
14066
14067 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
14068
14069         * c-decl.c (duplicate_decls): Error out for incompatible TLS
14070         declarations.
14071
14072         * testsuite/gcc.dg/tls/diag-3.c: New.
14073
14074 2002-08-06  Dale Johannesen  <dalej@apple.com>
14075
14076         * c-common.c (fname_decl): Use line number 0 for
14077         __func__, to avoid confusing debuggers.
14078
14079 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
14080
14081         * gcov.c: Tidy.
14082         (struct line_info, struct coverage): New structures.
14083         (gcov_file_name, gcov_file): Remove globals.
14084         (output_data): Take source file parameter. Fix memory leak. Break
14085         up into ...
14086         (init_line_info, output_line_info, make_gcov_file_name,
14087         accumulate_branch_counts): ... here.
14088         (calculate_branch_probs, function_summary): Adjust.
14089         (main): Adjust.
14090         (function_*): Remove global variables.
14091
14092 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14093
14094         * dwarf2out.c: Remove unused macros.
14095
14096 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14097
14098         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
14099
14100 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14101
14102         * cppinit.c (struct lang_flags): Rename trigraphs std.
14103         (set_lang): Update.
14104         * cpplib.h (struct cpp_options): New member std.
14105         * cppmacro.c (_cpp_builtin_macro_text): Use std.
14106         (collect_args): Flag whether to swallow a possible future
14107         comma pasted with varargs.
14108         (replace_args): Use this flag.
14109         * doc/cpp.texi: Update varargs extension documentation.
14110
14111 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14112
14113         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
14114
14115 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14116
14117         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
14118         and MODE_CLASS_INT modes.
14119
14120 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14121
14122         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
14123         --{enable,disable}-threads is given to configure.
14124         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
14125         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
14126         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
14127         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
14128         Remove thread_file setting here.
14129
14130 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
14131
14132         * doc/install.texi (Binaries): Update Bull Freeware URL.
14133
14134 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14135
14136         * doc/gcc.texi (Top): Rename Index to Keyword Index.
14137
14138 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
14139
14140         * gcov.c (output_data): Round to % to nearest, tweak formatting.
14141
14142 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
14143
14144         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
14145         of the operands into MINUS_EXPR if code is PLUS_EXPR.
14146
14147 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
14148
14149         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
14150         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
14151         drectve_section): Define.
14152         * config/i386/t-interix: Replace interix.o rule with winnt.o.
14153         * config/i386/interix.c: Remove.
14154
14155 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
14156
14157         * attribs.c: Don't include obstack.h.
14158         * builtins.c: Likewise.
14159         * cfganal.c: Likewise.
14160         * cfgbuild.c: Likewise.
14161         * cfgcleanup.c: Likewise.
14162         * emit-rtl.c: Likewise.
14163         * loop.c: Likewise.
14164         * stmt.c: Likewise.
14165
14166         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
14167
14168 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
14169
14170         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
14171
14172 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
14173
14174         * doc/invoke.texi: Remove duplicated paragraph describing
14175         TARGET_SWITCHES.
14176
14177 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
14178
14179         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
14180         * collect2.h (permanent_obstack): Delete declaration.
14181         * collect2.c (permanent_obstack): Delete definition.
14182         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
14183         * expr.c: Don't include obstack.h.
14184         (permanent_obstack): Delete declaration.
14185         * function.c: Don't include obstack.h.
14186         (permanent_obstack): Delete declaration.
14187         * integrate.c: Don't include obstack.h.
14188         (function_maybepermanent_obstack): Delete declaration.
14189         * print-tree.c (debug_tree): Use x*alloc not permalloc.
14190         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
14191         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
14192         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
14193         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
14194         of permalloc, expralloc, perm_calloc.
14195         * tree.c (permanent_obstack): Delete definition.
14196         (init_ttree): Rename from init_obstacks.
14197         (permalloc): Delete.
14198         (perm_calloc): Delete.
14199         (dump_tree_statistics): Don't print information about
14200         permanent_obstack.
14201         * varasm.c (assemble_start_function): Use xstrdup instead of
14202         permalloc/strcpy.
14203         (assemble_variable): Likewise.
14204         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
14205         permalloc.
14206         (unicosmk_add_extern): Likewise.
14207         * config/c4x/c4x.c (c4x_external_ref): Likewise.
14208         (c4x_global_label): Likewise.
14209         * config/frv/frv.c (frv_encode_section_info): Likewise.
14210         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
14211         (i386_pe_record_exported_symbol): Likewise.
14212         * config/mips/mips.c (mips_output_external): Likewise.
14213         (mips_output_external_libcall): Likewise.
14214         * config/pa/pa.c: (permanent_obstack): Delete declaration.
14215         (output_call): Use ggc_strdup instead of allocating on
14216         permanent_obstack.
14217         * config/romp/romp.c: Include ggc.h.
14218         (get_symref): Don't declare permanent_obstack, use ggc_strdup
14219         intead of permanent_obstack.
14220         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
14221         instead of permalloc.
14222         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
14223         instead of permalloc
14224         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
14225         instead of permalloc.
14226         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
14227         permalloc.
14228
14229 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
14230
14231         Contribute a port developed primarily by Michael Meissner,
14232         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
14233         * config.gcc: Add frv-elf target.
14234         * config/frv/cmovd.c: New file.
14235         * config/frv/cmovh.c: New file.
14236         * config/frv/cmovw.c: New file.
14237         * config/frv/frv-abi.h: New file.
14238         * config/frv/frv-asm.h: New file.
14239         * config/frv/frv-modes.def: New file.
14240         * config/frv/frv-protos.h: New file.
14241         * config/frv/frv.c: New file.
14242         * config/frv/frv.h: New file.
14243         * config/frv/frv.md: New file.
14244         * config/frv/frvbegin.c: New file.
14245         * config/frv/frvend.c: New file.
14246         * config/frv/lib1funcs.asm: New file.
14247         * config/frv/media.h: New file.
14248         * config/frv/modi.c: New file.
14249         * config/frv/t-frv: New file.
14250         * config/frv/uitod.c: New file.
14251         * config/frv/uitof.c: New file.
14252         * config/frv/ulltod.c: New file.
14253         * config/frv/ulltof.c: New file.
14254         * config/frv/umodi.c: New file.
14255         * config/frv/xm-frv.h: New file.
14256
14257         * config/frv/media.h: Removed again.
14258
14259 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14260
14261         * gcov.c (bb_file_time): New static variable.
14262         (object_directory): May also be object file.
14263         (preserve_paths): New static variable.
14264         (print_usage): Adjust.
14265         (options): Adjust.
14266         (process_args): Adjust.
14267         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
14268         file. Find modification date on bb file.
14269         (read_profile): Don't rewind a NULL file.
14270         (format_hwint): New static function.
14271         (function_summary): Use format_hwint.
14272         (output_data): SOURCE_FILE_NAME is never relative to
14273         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
14274         mangling. Adjust output format to make it more machine readable.
14275         * doc/gcov.texi: Document & clarify semantics.
14276
14277 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
14278
14279         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
14280
14281 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14282
14283         * gcc.c (cc1_options): Pass output file as auxbase when
14284         appropriate.
14285         * profile.c (init_branch_prob): FILENAME has already had ending
14286         stripped.
14287         * final.c (end_final): Likewise.
14288         * toplev.c (aux_base_name): New global.
14289         (compile_file): Pass aux_base_name to init init_branch_prob and
14290         end_final.
14291         (independent_decode_option, case 'a'): New auxinfo options.
14292         (case 'd'): Protect against mising basename.
14293         (do_compile): Initialize aux_base_name.
14294         * toplev.h (aux_base_name): New global.
14295         * doc/invoke.texi: Adjust documentation.
14296
14297 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14298
14299         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
14300         of TARGET_ALIGN_DOUBLE.
14301
14302 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
14303
14304         * diagnostic.c (inform): New function.
14305         * diagnostic.h (inform): Declare.
14306
14307 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
14308
14309         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
14310         (movhi_internal): Same.
14311         (movqi_internal): Same.
14312         (movdi_internal64): Same.
14313
14314         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
14315
14316         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
14317         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
14318         (COMMON_ASM_OP): Define.
14319         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
14320         Use ALIGN parameter.
14321         (LOCAL_COMMON_ASM_OP): Define.
14322         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
14323
14324 2002-08-03  Roger Sayle  <roger@eyesopen.com>
14325
14326         * builtins.def: Define new builtin functions exp, expf, expl,
14327         log, logf and logl (and their __builtin_* variants).
14328         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
14329         Define exp_optab and log_optab.
14330         * optabs.c (init_optans): Initialize exp_optab and log_optab.
14331         * genopinit.c (optabs): Implement exp_optab and log_optab
14332         using exp?f2 and log?f2 patterns.
14333         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
14334         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
14335         (expand_builtin): Ignore the new builtins (and all cos and
14336         sin variants) when not optimizing.  Expand new builtins via
14337         expand_builtin_mathfn when flag_unsafe_math_optimizations.
14338
14339         * doc/extend.texi: Document new exp and log builtins.
14340         * doc/md.texi: Document new exp?f2 and log?f2 patterns
14341         (and previously undocumented cos?f2 and sin?f2 patterns).
14342
14343 2002-08-03  Jason Merrill  <jason@redhat.com>
14344
14345         * explow.c (int_expr_size): New fn.
14346         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
14347         * expr.h: Declare it.
14348
14349 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
14350
14351         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
14352         gengtype-* dependencies.
14353
14354 2002-08-02  Eric Christopher  <echristo@redhat.com>
14355
14356         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
14357         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
14358         #ifndef to #undef.
14359         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
14360
14361 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
14362
14363         PR optimize/7067
14364         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
14365         small if optimizing for size.
14366
14367 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
14368
14369         * configure.in (FORBUILD): Use $build_alias.
14370         * configure: Regenerated.
14371
14372 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
14373
14374         * config.gcc: Don't include mips/abi64.h in $tm_file.
14375         * hard-reg-set.h (call_really_used_regs): Declare.
14376         * config/mips/abi64.h: Remove file.
14377         * config/mips/linux.h,
14378         * config/mips/iris6.h: Don't include it.
14379         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
14380         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
14381         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
14382         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
14383         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
14384         Bring across definitions from abi64.h.
14385         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
14386         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
14387         (struct mips_args): Use it.
14388         * config/mips/mips.c (mips_conditional_register_usage): Define.
14389
14390 2002-08-02  Jason Merrill  <jason@redhat.com>
14391
14392         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
14393         * langhooks.c (lhd_expr_size): Define default.
14394         * langhooks.h (struct lang_hooks): Add expr_size.
14395         * explow.c (expr_size): Call it.
14396         * expr.c (store_expr): Don't copy an expression of size zero.
14397         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
14398         to store.
14399         * Makefile.in (builtins.o): Depend on langhooks.h.
14400
14401 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14402
14403         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
14404         * ra-debug.c: Include "tm_p.h".
14405         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
14406
14407 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
14408
14409         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
14410         when not honoring signalling NaNs.
14411         (simplify_ternary_operation): a == b has a definite value
14412         when not honoring NaNs.
14413
14414 2002-08-02  Jason Merrill  <jason@redhat.com>
14415
14416         * gdbinit.in (pct): New macro.
14417
14418 2002-08-01  Stan Shebs  <shebs@apple.com>
14419             Andreas Tobler  <toa@pop.agri.ch>
14420
14421         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
14422         plays nice with Darwin headers.
14423         (_BSD_RUNE_T_DEFINED_): Likewise.
14424
14425 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14426
14427         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
14428         * cppinit.c (cpp_post_options): Likewise.
14429
14430         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
14431         warning about 'LL' suffix (but not 'ULL' etc) when
14432         -Wno-long-long is in effect.
14433
14434         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
14435         Check for failing time()/localtime(), issue a warning, and
14436         make __TIME__ and __DATE__ expand to fallback strings.
14437
14438         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
14439         and __TIME__ when the date and time cannot be determined.
14440
14441 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
14442
14443         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
14444
14445 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
14446
14447         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
14448
14449 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
14450
14451         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
14452         (mipsisa64sb1el-*-elf*): Likewise.
14453         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
14454         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
14455         (TARGET_SB1, TUNE_SB1): New macros.
14456         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
14457         -mtune flags.
14458
14459 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
14460
14461         * varasm.c (asm_emit_uninitialized): Return false if global BSS
14462         and ASM_EMIT_BSS not supported by target.
14463         (assemble_variable): Do not duplicate uninitialized logic.
14464         Fall through if asm_emit_uninitialized failed.
14465
14466 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
14467
14468         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
14469
14470 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
14471
14472         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
14473         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
14474
14475         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
14476         HOST_BITS_PER_WIDE_INT == 64.
14477
14478 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14479
14480         * df.c (df_insn_table_realloc): Change parameter to unsigned.
14481         * optabs.c (expand_binop): Make variable unsigned.
14482         * simplify-rtx.c (simplify_subreg): Likewise.
14483         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
14484
14485 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14486
14487         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
14488
14489 2002-08-01  Richard Henderson  <rth@redhat.com>
14490
14491         * toplev.c (parse_options_and_default_flags): Don't set
14492         flag_reorder_blocks for -Os.
14493
14494         * config/avr/avr.c (avr_optimization_options): Remove.
14495         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
14496         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
14497         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
14498
14499 2002-08-01  H.J. Lu <hjl@gnu.org>
14500             Richard Henderson  <rth@redhat.com>
14501
14502         * output.h (DECL_READONLY_SECTION): Remove.
14503         (decl_readonly_section): Declare.
14504         * varasm.c (decl_readonly_section): New.
14505         (default_section_type_flags, default_select_section): Use it.
14506         * config/arm/pe.c (arm_pe_unique_section): Likewise.
14507         * config/i386/interix.c (i386_pe_unique_section): Likewise.
14508         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
14509         * config/mcore/mcore.c (mcore_unique_section): Likewise.
14510         * config/mips/mips.c (mips_unique_section): Likewise.
14511
14512 2002-08-01  Richard Henderson  <rth@redhat.com>
14513
14514         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
14515         refers to a subroutine parameter.
14516
14517 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
14518
14519         * varasm.c (assemble_visibility): Strip name encoding.
14520
14521 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
14522
14523         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
14524         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
14525         when there is no frame pointer.
14526         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
14527         registers properly.
14528         * config/ns32k/__unorddf2.c: New file.
14529         * config/ns32k/__unordsf2.c: New file.
14530         * config/ns32k/t-ns32k: New file.
14531         * config.gcc (ns32k-*-netbsd*): Use it.
14532
14533 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
14534
14535         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
14536
14537 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14538
14539         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
14540
14541 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
14542
14543         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
14544
14545 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
14546
14547         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
14548
14549 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14550
14551         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
14552         n_sets): Removed.
14553         (expr_hash_table, set_hash_table): Type changed to ...
14554         (struct hash_table): New type.
14555         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
14556         insert_expr_in_table, insert_set_in_table, compute_hash_table,
14557         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
14558         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
14559         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
14560         (alloc_hash_table): New.
14561         (free_set_hash_table, free_expr_hash_table): Merged to ...
14562         (free_hash_table): New.
14563         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
14564         (compute_hash_table_work): New.
14565         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
14566         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
14567         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
14568         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
14569         hoist_code, one_code_hoisting_pass,
14570         trim_ld_motion_mems): Altered due to changed type of hash tables.
14571
14572 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14573
14574         * final.c (output_alternate_entry_point):
14575         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
14576
14577 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14578
14579         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
14580         avoid ISO C style function definition.
14581
14582         * expr.c (expand_assignment): Delete unused variable.
14583
14584 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
14585
14586         * c-common.c (cb_register_builtins): Set
14587         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
14588         is given, and to 0 otherwise.
14589         * combine.c (simplify_if_then_else): HONOR_NANS
14590         implies FLOAT_MODE_P.
14591
14592 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14593
14594         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
14595         (cpp_handle_option): Don't handle it.
14596         (print_help): Update.
14597         * doc/cppopts.texi: Update.
14598
14599 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14600
14601         * c-common.c (cb_register_builtins): If C++, define
14602         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
14603         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
14604 cp:
14605         * lang-specs.h: Simplify in accordance with new code in
14606         c-common.c.
14607
14608 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14609
14610         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
14611         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
14612         * c-decl.c: Move all warning and flag variables to c-common.c.
14613         * c-format.c: Move all warning variables to c-common.c.
14614         * c-tree.h: Move all warning and flag declarations to c-common.h.
14615         * objc/objc-act.c: Move all warning variables to c-common.c.
14616         (flag_warn_protocol): Rename warn_protocol.
14617
14618 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14619
14620         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
14621
14622 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
14623
14624         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
14625         .section prefix.
14626
14627 2002-07-31  Stan Shebs  <shebs@apple.com>
14628
14629         * config.gcc (i[34567]86-*-darwin*): New configuration.
14630         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
14631         defining.
14632         (TARGET_ENCODE_SECTION_INFO): Ditto.
14633         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
14634         * config/darwin.c (machopic_indirect_data_reference): Remove
14635         setting of RTX_UNCHANGING_P.
14636         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
14637         not to be applied to sums.
14638         * config/i386/t-darwin: New file.
14639         * config/i386/darwin.h: New file.
14640         * config/i386/i386.h (TARGET_MACHO): Add default definition.
14641         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
14642         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
14643         label and not the GOT add.
14644         (constant_address_p): For Mach-O, seeing a CONST is enough.
14645         (legitimate_pic_address_disp_p): Add a Mach-O case.
14646         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
14647         (legitimize_pic_address): Use generic Mach-O code to legitimize.
14648         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
14649         if outputting a difference.
14650         (ix86_output_addr_diff_elt): Add Mach-O case.
14651         (ix86_expand_move): Similarly.
14652         (ix86_expand_call): Similarly.
14653         (current_machopic_label_num): New global.
14654         (machopic_output_stub): New function.
14655         (ix86_value_regno): New function.
14656         (ix86_function_value): Use it instead of VALUE_REGNO.
14657         (ix86_libcall_value): Ditto.
14658         * config/i386/unix.h (VALUE_REGNO): Remove.
14659
14660 2002-07-31  Graham Stott  <grahas@btinternet.com>
14661
14662         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
14663         hash for LABEL_REF's.
14664
14665 2002-07-31  Graham Stott  <grahams@btinternet.com>
14666
14667         * config/rs6000/rs6000.c (spe_init_builtins,
14668         altivec_init_builtins, rs6000_common_init_builtins):
14669         Replace ANSI with K&R function def.
14670
14671 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
14672
14673         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
14674         for CCFPmode.
14675
14676 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14677
14678         * config/mips/crtn.asm: Don't use __mips16 to determine the
14679         return-address offset.  Define RA to a suitable temporary
14680         register for the return address.
14681
14682 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14683
14684         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
14685         constraints to 'd'.
14686
14687 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
14688
14689         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14690         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
14691         patch on 2002-07-29.)
14692         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14693
14694 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14695
14696         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14697         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14698         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14699         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14700         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14701         (ASM_GLOBALIZE_LABEL): Delete.
14702         (GLOBAL_ASM_OP): Define.
14703
14704         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
14705
14706         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14707         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14708
14709 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
14710
14711         * doc/extend.texi (Hints implementation): Document that GCC
14712         mostly ignores `register'.
14713
14714 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
14715
14716         * flags.h: Declare flag_finite_math_only.
14717         Use it in definition of HONOR_NANS and
14718         HONOR_INFINITIES.
14719         * c-common.c (cb_register_builtins): Emit
14720         __FINITE_MATH_ONLY__ when flag_finite_math_only
14721         is set.
14722         * combine.c (simplify_if_then_else): If
14723         flag_finite_math_only is set, a == b has a
14724         definite value.
14725         * toplev.c: Initialize flag_finite_math_only.
14726         (set_flags_fast_math): Set it on -ffast-math.
14727         (flag_fast_math_set_p): Test it.
14728         * doc/invoke.texi: Document -ffinite-math-only.
14729
14730 2002-07-30  Richard Henderson  <rth@redhat.com>
14731
14732         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14733         (noce_process_if_block): Likewise.
14734
14735 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14736
14737         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14738         Bail out early if false_expr is NULL and we'd crash due to this.
14739         * genemit.c (gen_expand): Recognize return insns even if the return
14740         appears in a parallel.
14741         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14742         * config/fp-bit.c: Likewise.
14743         * doc/tm.texi: Document it.
14744
14745 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14746             Zack Weinberg  <zack@codesourcery.com>
14747
14748         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14749         CODE_FOR_nothing.  Change switch to if.
14750         (rs6000_expand_binop_builtin): Same.
14751         (rs6000_expand_builtin): Expand builtin if target support enabled.
14752         (rs6000_init_builtins): Init builtin if target support enabled.
14753         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14754
14755 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14756
14757         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14758
14759 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14760
14761         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14762
14763 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14764
14765         * sh.md (cond_delay_slot): New attribute.
14766         (cbranch delay): Use it for anulled-true case.
14767         (stuff_delay_slot): New pattern.
14768         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14769         delay slot insn.
14770         (gen_far_branch): Emit stuff_delay_slot pattern.
14771
14772 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14773
14774         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14775
14776 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14777
14778         * fold-const.c: Fix comment typos.
14779         * gcse.c: Likewise.
14780         * reload1.c: Likewise.
14781
14782 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14783
14784         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14785         for TARGET_SPE.
14786
14787 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14788
14789         * c-pretty-print.h (pp_c_statement): Declare.
14790         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14791         (pp_c_statement): Define.
14792
14793 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14794
14795         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14796         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14797         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14798         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14799         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14800         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14801
14802         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14803         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14804
14805 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14806
14807         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14808         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14809         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14810         (pp_c_expression): Update.
14811
14812 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14813
14814         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14815         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14816         * alpha/vms-ld.c (main): Likewise.
14817         * dsp16xx.c (double_reg_to_memory): Likewise.
14818         * mcore.c (mcore_expand_prolog): Likewise.
14819         * cppfiles.c (read_name_map): Likewise.
14820         * gensupport.c (process_rtx, identify_predicable_attribute,
14821         alter_test_for_insn): Likewise.
14822         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14823
14824 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14825
14826         * builtins.c (expand_builtin):  Change the default behavior to
14827         only issue an error if the builtin function doesn't have a
14828         fallback library call.  Remove several cases handled by the
14829         new default.
14830
14831 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14832
14833         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14834         floating point format of the target is IEEE.
14835         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14836         format of the target is DEC.
14837
14838 2002-07-29  Richard Henderson  <rth@redhat.com>
14839
14840         * unroll.c (verify_addresses): Remove.
14841         (find_splittable_givs): Never split DEST_ADDR givs.
14842
14843 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14844
14845         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14846         is exhaustive.
14847         (Files): Improve documentation on generated source files.
14848
14849         * doc/extend.texi (Translation implementation): Document what
14850         diagnostics look like.
14851         (Identifiers implementation): Document that there's normally no
14852         limit on identifier names.
14853         (Integers implementation): Document two's complement.
14854         (Hints implementation): Document that GCC honors 'inline', mostly.
14855         (Preprocessing directives implementation): Document that GCC
14856         requires the current time.
14857
14858 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14859
14860         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14861         (pp_initializer): New macro.
14862         (pp_c_initializer): Declare.
14863         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14864         (pp_c_initializer): Define.
14865         (pp_c_initializer_list): New function.
14866         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14867         VECTOR_CST, CONSTRUCTOR.
14868         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14869         IMAGPART_EXPR.
14870         (pp_c_cast_expression): Handle FLOAT_EXPR.
14871         (pp_c_assignment_expression): Handle INIT_EXPR.
14872         (pp_c_expression): Update.
14873
14874 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14875
14876         * objc/objc-act.c (objc_init): Return immediately if filename
14877         is NULL.
14878
14879 2002-07-29  Eric Christopher  <echristo@redhat.com>
14880
14881         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14882         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14883         (SDB_DEBUGGING_INFO): Undefine.
14884         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14885         (PUT_SDB_SIZE): Remove.
14886         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14887         (STARTFILE_SPEC): Add isa3264 define.
14888         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14889         * config/mips/ecoff.h: Remove. and here...
14890         * config/mips/iris3.h: and here...
14891         * config/mips/sni-svr4.h: and here...
14892         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14893         Add assembler -mmdebug options for non-dwarf debugging.
14894         * config/mips/r3900.h: Remove debug info defines.
14895         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14896         * config/mips/isa3264.h: Ditto.
14897         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14898         change.
14899         * config/mips/t-elf: Ditto.
14900         * config/mips/t-ecoff: Ditto.
14901         * config/mips/t-r3900: Ditto.
14902         * config/mips/t-iris5-6: Ditto.
14903         * config/mips/t-isa3264: Ditto.
14904         * config/mips/t-linux: Remove.
14905         * config/mips/t-netbsd: Remove.
14906         * config/mips/t-mips: New file.
14907         * config/mips/t-gofast: Ditto.
14908         * config/mips/netbsd.h: Remove unnecessary undefines.
14909         * config/mips/linux.h: Remove #include of mips.h.
14910         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14911         for ecoff. Add gofast configure option for mips.
14912
14913 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14914
14915         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14916         linker scripts use STARTUP directives consistently.
14917         * configure: Regenerate.
14918         * config.in: Regenerate.
14919         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14920         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14921         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14922         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14923         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14924         will be the same.
14925
14926 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14927
14928         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14929
14930 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14931
14932         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14933
14934 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14935
14936         * config/rs6000/rs6000.md: Move altivec patterns from here...
14937
14938         * config/rs6000/altivec.md: ...to here.
14939
14940 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14941
14942         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14943
14944 2002-07-29  Richard Henderson  <rth@redhat.com>
14945
14946         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14947         set_mem_attributes and add BITPOS argument.  Subtract it from
14948         OFFSET when same is adjusted.
14949         (set_mem_attributes): New wrapper function.
14950         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14951         remove offset adjustment hack.
14952         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14953
14954 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14955
14956         * Makefile.in (C_OBJS): Include c-pretty-print.o
14957         (c-pretty-print.o): Add depency rule.
14958         * pretty-print.h: Add more macros.
14959         * c-pretty-print.c: New file.
14960         * c-pretty-print.h: Likewise.
14961
14962 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14963
14964         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14965         constants to __ev64_s32__.
14966         (__internal_ev_mwhgsmian): Same.
14967         (__internal_ev_mwhgsmfan): Same.
14968         (__internal_ev_mwhgssfan): Same.
14969         (__internal_ev_mwhgumiaa): Same.
14970         (__internal_ev_mwhgsmiaa): Same.
14971         (__internal_ev_mwhgsmfaa): Same.
14972         (__internal_ev_mwhgssfaa): Same.
14973
14974 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14975
14976         * varasm.c (assemble_variable): Narrow test for uninitialized
14977         without BSS target support.
14978
14979 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14980
14981         * profile.c: Add file comment describing the overall algorithm and
14982         structures.
14983         (struct edge_info): Add comments.
14984         (struct bb_info): Add comments.
14985         * basic-block.h (EDGE_*): Add comments.
14986         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14987
14988 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14989
14990         * config/xtensa/elf.h, config/xtensa/linux.h
14991         (TARGET_OS_CPP_BUILTINS): Define.
14992         (CPP_PREDEFINES): Remove.
14993         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14994         (CPP_SPEC): Remove.
14995
14996 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14997
14998         * gensupport.c: Include hashtab.h.
14999         (insn_elision, condition_table, hash_c_test, cmp_c_test,
15000         maybe_eval_c_test): New routines and data structures to
15001         support insn elision.
15002         (init_md_reader): Read and initialize the condition_table.
15003         (read_md_rtx): Discard insn patterns whose C test is provably
15004         always false.
15005         * gensupport.h: Declare new functions and data structures.
15006
15007         * genconditions.c, dummy-conditions.c: New files.
15008         * Makefile.in: Build genconditions; run it to construct
15009         insn-conditions.c; build that and link it into most gen*
15010         programs.
15011         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
15012         (GEN): Delete, unused.
15013         (STAGESTUFF): Update.
15014
15015         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
15016         CODE_FOR_nothing for all elided patterns.
15017         (main): Tweaked to support this.
15018         * genflags.c (gen_proto): Emit a static inline generator
15019         function here for all elided patterns, which simply returns
15020         NULL_RTX.
15021         (gen_insn): Do not define HAVE_xxx for elided patterns.
15022         (main): Tweaked to support this.  No need to forward-declare
15023         struct rtx_def.
15024         * genrecog.c: Do not bother emitting the C test if it's known
15025         to be true at compile time.
15026
15027 2002-07-29  Mike Stump  <mrs@apple.com>
15028
15029         * config.gcc (target_gtfiles): Initialize, as otherwise cross
15030         compilers hosted on powerpc-apple-darwin6.0 won't even build.
15031
15032 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
15033
15034         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
15035         remove clobber of LR.
15036         (sibcall_insn, sibcall_value_insn): Update accordingly.
15037         (sibcall_epilogue): Remove debugging comment from assembler stream.
15038
15039 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
15040
15041         * pretty-print.h: Define more macros.
15042         * diagnostic.h (output_formatted_integer): Moved from...
15043         * diagnostic.c: ... here.
15044
15045 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15046
15047         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
15048
15049 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
15050
15051         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
15052         arguments.  Always use ".-symbol" as expression argument.
15053         * doc/tm.texi: Update to match.  Document requirement for
15054         ".size symbol, .-symbol" to be acceptable to assembler.
15055
15056         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15057         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
15058         config/i386/freebsd-aout.h, config/i386/sco5.h,
15059         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
15060         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
15061
15062 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15063
15064         * Makefile.in (gengtype-lex.c): Fix error in last change.
15065
15066         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
15067         backslash.
15068
15069         * Makefile.in (vmsdbgout.o): Depend on function.h.
15070
15071         * vmsdbgout.c: Include function.h.
15072
15073 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
15074
15075         * prefix.c (update_path): Don't strip single `.' path components
15076         unless stripping a later `..' component.  Exit loop as soon as
15077         a valid path is found.
15078
15079 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15080
15081         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
15082         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
15083         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
15084         floating point unordered comparisons (e.g. __builtin_isgreater)
15085         as const, and leave the remaining GCC_BUILTINs unchanged.
15086
15087         * c-decl.c (builtin_function): No need to explicitly mark
15088         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
15089
15090 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15091
15092         * Makefile.in: rtlanal.o now depends upon real.h.
15093
15094         * flags.h [flag_signaling_nans]: New flag.
15095         [HONOR_SNANS]: New macro.
15096
15097         * toplev.c [flag_signaling_nans]: Initialize to false.
15098         (f_options): Add processing for "-fsignaling-nans".
15099         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
15100         (process_options): flag_signaling_nans implies flag_trapping_math.
15101
15102         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
15103         when -fsignaling-nans.  First step to implementing WG14's N965.
15104
15105         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
15106         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
15107         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
15108
15109         * simplify-rtx.c (simplify_relational_operation): Conditionalize
15110         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
15111
15112         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
15113         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
15114         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
15115         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
15116         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
15117
15118         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
15119
15120 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15121
15122         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
15123         * gengtype-lex.l (YY_USE_PROTOS): Undef.
15124         (YY_DECL): Define.
15125
15126 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15127
15128         * doc/invoke.texi: Document that both -fno-builtin-foo and
15129         -fno-builtin are supported by the g++ front-end.
15130
15131 2002-07-27  Stan Shebs  <shebs@apple.com>
15132
15133         * configure.in: Rename config_gtfiles to target_gtfiles.
15134         * configure: Regenerate.
15135         * doc/gty.texi: Update reference.
15136         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
15137         instead of appending to it.
15138
15139 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
15140
15141         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
15142         vectors are split into two registers.
15143         (function_arg): Same.
15144
15145 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
15146
15147         * pa.md (extv): Check predicates before emitting extv_32.
15148
15149 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
15150
15151         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
15152         (rs6000_traceback): New var.
15153         (rs6000_override_options): Set rs6000_traceback.
15154         (rs6000_output_function_epilogue): Implement traceback options.
15155         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
15156         (rs6000_traceback_name): Declare.
15157
15158         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
15159         label reference when NO_PROFILE_COUNTERS.
15160
15161 2002-07-26  Jason Merrill  <jason@redhat.com>
15162
15163         * function.c (assign_parms): Handle frontend-directed pass by
15164         invisible reference.
15165
15166 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15167
15168         * doc/cppopts.texi: Update.
15169
15170 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15171
15172         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
15173         warnings on assertions.
15174
15175 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15176
15177         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
15178         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
15179         RID_COMPL): Remove.
15180         * c-parse.in (rid_to_yy): Similarly.
15181
15182 2002-07-26  Jason Merrill  <jason@redhat.com>
15183
15184         * c-dump.c: Resurrect.
15185         * tree-dump.c: Move C-specific stuff to c-dump.c.
15186         * c-common.h: Declare c_dump_tree.
15187         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
15188         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
15189         (c-dump.o): New rule.
15190
15191 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
15192
15193         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
15194         PowerPC64.  Replace "T" and "S" constraints with "n" when the
15195         predicate will do.  Formatting fixes.
15196         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
15197         as for extzvsi_internal1.
15198
15199 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15200
15201         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
15202         DERIV_END_LABEL_FMT): Remove.
15203         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
15204
15205 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15206
15207         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
15208         Remove.
15209
15210 2002-07-25  Stan Shebs  <shebs@apple.com>
15211
15212         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
15213         local var dwarfp.
15214         (output_compiler_stub): Remove unused locals.
15215         (output_call): Always initialize line number.
15216
15217 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15218
15219         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
15220         * sh.md (truncdiqi2, movqi_media): Likewise.
15221
15222 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15223
15224         * gcse.c (obstack_chunk_alloc): Remove.
15225         (gcse_alloc): Fix to count allocated bytes.
15226         * collect2.c (SYMBOL__MAIN): Remove.
15227
15228 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15229
15230         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
15231         HAVE_TARGET_EXECUTABLE_SUFFIX.
15232
15233 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15234
15235         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
15236         SIZE, EXPR and OFFSET.
15237
15238 2002-07-25  Richard Henderson  <rth@redhat.com>
15239
15240         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
15241         in ARRAY_REF of DECL_P case.
15242
15243 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
15244
15245         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
15246         description.  Document -mips32, -mips64, and the associated -march
15247         values.  Describe the "mipsN" arguments to -march.  Say that the
15248         -mipsN options are equivalent to -march.  Reword the description
15249         of default type sizes.
15250         * toplev.h (target_flags_explicit): Declare.
15251         * toplev.c (target_flags_explicit): New var.
15252         (set_target_switch): Update target_flags_explicit.
15253         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
15254         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
15255         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
15256         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
15257         * config/mips/mips.h (mips_cpu_info): New struct.
15258         (mips_cpu_string, mips_explicit_type_size_string): Remove.
15259         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
15260         (MIPS_CPP_SET_PROCESSOR): New macro.
15261         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
15262         Define _MIPS_ARCH and _MIPS_TUNE.
15263         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
15264         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
15265         MIPS_ISA_DEFAULT were already defined.
15266         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
15267         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
15268         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
15269         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
15270         (ABI_GAS_ASM_SPEC): Remove.
15271         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
15272         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
15273         Invoke %(asm_abi_default_spec) if no ABI was specified.
15274         (CC1_SPEC): Remove ISA -> register-size rules.
15275         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
15276         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
15277         (mips_cpu_string, mips_explicit_type_size_string): Remove.
15278         (mips_cpu_info_table): New array.
15279         (mips_set_architecture, mips_set_tune): New fns.
15280         (override_options): Rework to make -mipsN equivalent to -march.
15281         Detect more erroneous cases, including those removed from CC1_SPEC.
15282         Don't change the ABI based on architecture, or vice versa.
15283         Unify logic with GAS.
15284         (mips_asm_file_start): Get architecture name from mips_arch_info.
15285         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
15286         (mips_parse_cpu): Take the name of the option as argument.  Handle
15287         'from-abi'.  Raise an error if the option is wrong.
15288         (mips_cpu_info_from_isa): New fn.
15289
15290 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
15291
15292         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
15293         (tablejump_mips162): Likewise.
15294
15295 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
15296
15297         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
15298         int_mode_for_mode.
15299
15300 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
15301
15302         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
15303         complaining.
15304         * c-common.h (c_sizeof): Adjust definition.
15305         (c_alignof): Likewise.
15306         * c-tree.h (c_sizeof_nowarn): Now macro.
15307         * c-typeck.c (c_sizeof_nowarn): Remove definition.
15308
15309 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15310
15311         * c-decl.c (c_decode_option): No need to handle switches
15312         cpplib handles.
15313
15314 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
15315
15316         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
15317         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
15318         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
15319         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15320
15321         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15322         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
15323         config/cris/aout.h, config/i386/freebsd-aout.h,
15324         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
15325         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
15326         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
15327         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
15328         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
15329         config/xtensa/elf.h, config/xtensa/linux.h:
15330         Use the new macros.
15331         Where possible, remove redundant definitions of SIZE_ASM_OP,
15332         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15333
15334 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
15335
15336         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
15337         TARGET_ISEL, and TARGET_FPRS.
15338
15339         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
15340         -mabi=spe, -mabi=no-spe, and -misel=.
15341
15342         * config/rs6000/rs6000-protos.h: Add output_isel.
15343         Move vrsave_operation prototype here.
15344
15345         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
15346         (smaxsi3): Same.
15347         (uminsi3): Same.
15348         (umaxsi3): Same.
15349         (abssi2_nopower): Disallow when TARGET_ISEL.
15350         (*ne0): Same.
15351         (negsf2): Change to expand and rename old pattern to *negsf2.
15352         (abssf2): Change to expand and rename old pattern to *abssf2.
15353
15354         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
15355         fixunssfsi2.
15356
15357         Change patterns that check for TARGET_HARD_FLOAT or
15358         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
15359
15360         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
15361         rs6000_isel, rs6000_fprs, rs6000_isel_string.
15362         (rs6000_override_options): Add 8540 case to
15363         processor_target_table.
15364         Set rs6000_isel for the 8540.
15365         Call rs6000_parse_isel_option.
15366         (enable_mask_for_builtins): New.
15367         (rs6000_parse_isel_option): New.
15368         (rs6000_parse_abi_options): Add spe and no-spe.
15369         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
15370         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
15371         for TARGET_HARD_FLOAT.
15372         Add case for SPE_VECTOR_MODE.
15373         (rs6000_legitimize_reload_address): Handle SPE vector modes.
15374         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
15375         vector modes.
15376         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
15377         (rs6000_emit_move): Check for TARGET_FPRS.
15378         Add cases for SPE vector modes.
15379         (function_arg_boundary): Return 64 for SPE vector modes.
15380         (function_arg_advance): Check for TARGET_FPRS and
15381         Handle SPE vectors.
15382         (function_arg): Same.
15383         (setup_incoming_varargs): Check for TARGET_FPRS.
15384         (rs6000_va_arg): Same.
15385         (struct builtin_description): Un-constify mask field.  Move up in
15386         file.
15387         (bdesc_2arg): Un-constify and add SPE builtins.
15388         (bdesc_1arg): Same.
15389         (bdesc_spe_predicates): New.
15390         (bdesc_spe_evsel): New.
15391         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
15392         (rs6000_expand_binop_builtin): Same.
15393         (bdesc_2arg_spe): New.
15394         (spe_expand_builtin): New.
15395         (spe_expand_predicate_builtin): New.
15396         (spe_expand_evsel_builtin): New.
15397         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
15398         (rs6000_init_builtins): Initialize SPE builtins.  Call
15399         rs6000_common_init_builtins.
15400         (altivec_init_builtins): Move all non-altivec builtin code to...
15401         (rs6000_common_init_builtins): ...here.  New function.
15402         (branch_positive_comparison_operator): Allow NE code for SPE.
15403         (ccr_bit): Return correct ccr bit for SPE fp.
15404         (print_operand): Emit crnor in 'D' case for SPE.
15405         New case 't'.
15406         Add SPE code for 'y' case.
15407         (rs6000_generate_compare): Generate rtl for SPE fp.
15408         (output_cbranch): Handle SPE hard floats.
15409         (rs6000_emit_cmove): Handle isel.
15410         (rs6000_emit_int_cmove): New.
15411         (output_isel): New.
15412         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
15413         64-bits for SPE.
15414         (debug_stack_info): Add SPE info.
15415         (gen_frame_mem_offset): New.
15416         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
15417         Change mode of frame pointer, when saving it, to Pmode.
15418         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
15419         Misc cleanups and use gen_frame_mem_offset when appropriate.
15420
15421         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
15422         (TARGET_SPE_ABI): New.
15423         (TARGET_SPE): New.
15424         (TARGET_ISEL): New.
15425         (TARGET_FPRS): New.
15426         (FIXED_SCRATCH): New.
15427         (RTX_COSTS): Add PROCESSOR_PPC8540.
15428         (ASM_CPU_SPEC): Add case for 8540.
15429         (TARGET_OPTIONS): Add isel= case.
15430         (rs6000_spe_abi): New.
15431         (rs6000_isel): New.
15432         (rs6000_fprs): New.
15433         (rs6000_isel_string): New.
15434         (UNITS_PER_SPE_WORD): New.
15435         (LOCAL_ALIGNMENT): Adjust for SPE.
15436         (HARD_REGNO_MODE_OK): Same.
15437         (DATA_ALIGNMENT): Same.
15438         (MEMBER_TYPE_FORCES_BLK): New.
15439         (FIRST_PSEUDO_REGISTER): Set to 113.
15440         (FIXED_REGISTERS): Add SPE registers.
15441         (reg_class): Same.
15442         (REG_CLASS_NAMES): Same.
15443         (REG_CLASS_CONTENTS): Same.
15444         (REGNO_REG_CLASS): Same.
15445         (REGISTER_NAMES): Same.
15446         (DEBUG_REGISTER_NAMES): Same.
15447         (ADDITIONAL_REGISTER_NAMES): Same.
15448         (CALL_USED_REGISTERS): Same.
15449         (CALL_REALLY_USED_REGISTERS): Same.
15450         (SPE_ACC_REGNO): New.
15451         (SPEFSCR_REGNO): New.
15452         (SPE_SIMD_REGNO_P): New.
15453         (HARD_REGNO_NREGS): Adjust for SPE.
15454         (VECTOR_MODE_SUPPORTED_P): Same.
15455         (REGNO_REG_CLASS): Same.
15456         (FUNCTION_VALUE): Same.
15457         (LIBCALL_VALUE): Same.
15458         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
15459         (SPE_VECTOR_MODE): New.
15460         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
15461         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
15462         (rs6000_stack): Add spe_gp_size, spe_padding_size,
15463         spe_gp_save_offset.
15464         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
15465         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
15466         (SPE_CONST_OFFSET_OK): New.
15467         (rs6000_builtins): Add SPE builtins.
15468
15469         * testsuite/gcc.dg/ppc-spe.c: New.
15470
15471         * config/rs6000/eabispe.h: New.
15472
15473         * config/rs6000/spe.h: New.
15474
15475         * config/rs600/spe.md: New.
15476
15477         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
15478         __SIMD__ for TARGET_SPE.
15479
15480         * config.gcc: Add powerpc-*-eabispe* case.
15481         Add spe.h to user headers for powerpc.
15482
15483 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
15484
15485         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
15486         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15487         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
15488
15489 2002-07-24  Richard Henderson  <rth@redhat.com>
15490
15491         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
15492         form when not optimizing.
15493
15494 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
15495
15496         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
15497         thread_pointer_rtx as unchanging.
15498
15499 2002-07-24  Michael Matz  <matz@suse.de>
15500
15501         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
15502         (free_reg): Use it.
15503
15504 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
15505
15506         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
15507         pattern.
15508         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
15509         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
15510
15511 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
15512
15513         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
15514         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15515         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
15516
15517 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
15518
15519         * toplev.c (rest_of_compilation): Dump loops before clobbering
15520         the structure.
15521
15522 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15523
15524         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
15525
15526 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
15527
15528         PR optimization/7291
15529         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
15530         problem on x86_64.
15531
15532 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
15533
15534         * pretty-print.h: Add macros from cp/error.c
15535
15536 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15537
15538         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
15539         (mask64_2_operand): Declare.
15540         (build_mask64_2_operands): Declare.
15541         (and64_2_operand): Declare.
15542         (extract_MB): Declare.
15543         (extract_ME): Declare.
15544         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
15545         CONST_DOUBLE code.
15546         (mask_operand_wrap): New insn predicate.
15547         (mask64_2_operand): Likewise.
15548         (and64_2_operand): Likewise.
15549         (build_mask64_2_operands): New function.
15550         (extract_MB): New function.
15551         (extract_ME): New function.
15552         (print_operand <case m,M>): Use extract_MB and extract_ME.
15553         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
15554         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
15555         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
15556         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
15557         * config/rs6000/rs6000.md (andsi3_internal3): New
15558         (andsi3_internal3+1): Enable split for powerpc64.
15559         (andsi3_internal3+2): New split.
15560         (andsi3_internal4): Renamed old andsi3_internal3.
15561         (andsi3_internal5): New.
15562         (andsi3_internal5+1): Enable split for powerpc64.
15563         (andsi3_internal5+2): New split.
15564         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
15565         (anddi3): Handle 't' constraint.
15566         (anddi3+1): New split.
15567         (anddi3_internal2): Handle 't' constraint.
15568         (anddi3_internal2+1): New split.
15569         (anddi3_internal3): Handle 't' constraint.
15570         (anddi3_internal3+1): New split.
15571
15572 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15573
15574         * config/rs6000/rs6000.md: Remove scratch reg on insns using
15575         addze and similar (plus (comparison r1 r2) r3) insns.  Add
15576         missing scratch reg in one case.  Formatting fixes.
15577
15578 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
15579
15580         * cppexp.c (parse_defined): Mark macro used.
15581         * cpphash.h (struct cpp_macro): New member "used".
15582         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
15583         (struct cpp_reader): New member.
15584         * cppinit.c (cpp_finish_options): Set first_unused_line.
15585         (cpp_finish): Warn of unused macros if requested.
15586         (OPT_TABLE): New switches.
15587         (cpp_handle_option): Handle them.
15588         * cpplib.c (do_undef): Warn if macro unused.
15589         (do_ifdef, do_ifndef): Mark macro used.
15590         * cpplib.h (struct cpp_options): New member.
15591         * cppmacro.c (_cpp_warn_if_unused_macro): New.
15592         (enter_macro_context): Mark macro used.
15593         (_cpp_create_definition): Mark macro unused; warn if unused
15594         when redefined.
15595         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
15596         Mark macros used.
15597         * doc/cppopts.texi: Update.
15598
15599 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15600
15601         * dwarf2out.c (SECTION_ASM_OP,
15602         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15603         * system.h (SECTION_ASM_OP): Poison.
15604         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
15605         * config/alpha/alpha-interix.h, config/mips/linux.h
15606         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15607         * config/mmix/mmix-protos.h, config/mmix/mmix.c
15608         (mmix_asm_output_define_label_difference_symbol): Remove.
15609         * config/mmix/mmix.h
15610         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15611         * doc/tm.texi: Remove documentation.
15612
15613 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
15614
15615         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
15616         (constrain_operands): Likewise.
15617         * regclass.c (record_reg_classes): Likewise.
15618         * reload.c (find_reloads): Likewise.
15619         * doc/md.texi: Likewise.
15620
15621         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
15622         * simplify-rtx.c (simplify_subreg): When converting to a non-int
15623         mode, try to convert to an integer mode of matching size first.
15624
15625         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
15626         from individual subregs, check that each subreg has been generated
15627         sucessfully.
15628
15629 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15630
15631         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
15632         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
15633         FOR_EACH_BB_IN_SBITMAP): Remove.
15634         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
15635         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
15636         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
15637         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
15638         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
15639         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
15640
15641 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15642
15643         * pretty-print.h: New file.
15644
15645 2002-07-23      Paul Koning     <pkoning@equallogic.com>
15646
15647         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
15648         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
15649         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
15650         (TARGET_G_FLOAT): Default to 0 if not defined.
15651         (ieeetoe): New, common routine to convert target format floats
15652         to internal form.
15653         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
15654         vs. others.
15655         (e113toe): Change to use ieeetoe.
15656
15657 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15658
15659         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
15660         IBM.
15661         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
15662         (e64toe): Remove special cases for DEC and IBM. Remove support for
15663         ARM_EXTENDED_IEEE_FORMAT.
15664         (e24toe): Remove special cases for DEC.
15665         (significand_size): Simplify. Indent.
15666         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
15667         (etoieee, toieee): New.
15668         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
15669         etoieee and toieee for IEEE arithmetic.
15670
15671 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15672
15673         * doc/extend.texi: Say ISO C90, not ISO C89.
15674         * doc/invoke.texi: Likewise.
15675         * doc/standards.texi: Likewise.
15676
15677 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
15678
15679         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
15680         Fix permutation of conversion and plus/mult.
15681         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
15682         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
15683         (expand_builtin_strncpy) Ditto.
15684         (expand_builtin_memset) Ditto.
15685
15686 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15687
15688         Fix PR/7363:
15689         * c-common.c (c_sizeof_or_alignof_type): New function.
15690         (c_alignof): Remove definition.
15691         * c-common.h (c_sizeof, c_alignof): Define as macros.
15692         (c_sizeof_or_alignof_type): Declare.
15693         (my_friendly_assert): Moved from cp/cp-tree.h
15694         * c-typeck.c (c_sizeof): Remove definition.
15695
15696 2002-07-23  Jan Hubicka  <jh@suse.cz>
15697
15698         * gcse.c (try_replace_reg): Use num_changes_pending.
15699         * recog.c (num_changes_pending): New function.
15700         (validate_replace_src): Use validate_repalce_src_group.
15701         (validate_replace_src_group): New.
15702         * recog.h (validate_repalce_src_group): New.
15703         (num_changes_pending): Likewise.
15704
15705 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15706
15707         * calls.c (emit_library_call_value_1): If
15708         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15709         libcall, const call nor pure call.
15710
15711 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15712
15713         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15714
15715 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15716
15717         * vmsdbgout.c (SECTION_ASM_OP): Remove.
15718
15719 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15720
15721         * config/i386/i386.c (AT_BP): Remove.
15722
15723 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15724
15725         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15726         Default definition.
15727         * gcse.c: Don't define obstack_chunk_free.
15728         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15729         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15730         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15731         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15732         Don't define obstack macros.
15733
15734 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15735
15736         PR target/6744
15737         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15738         ASM_OPERANDS instructions.
15739
15740 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15741
15742         PR target/7361
15743         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15744         constant addresses only on 68HC12.
15745
15746 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15747
15748         * cppfiles.c (stack_include_file): Correct test of whether
15749         a dependency should be output.
15750
15751 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15752
15753         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15754
15755 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15756
15757         * arm.md (movqi): If optimizing and we can create pseudos, use
15758         a ZERO_EXTEND to load from memory, then copy the result into the
15759         target.
15760         (movhi): Likewise, but only for ARMv4.
15761
15762 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15763
15764         * ssa-ccp.c (PHI_PARMS): Remove.
15765
15766 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15767
15768         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15769         on big-endian targets.
15770
15771 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15772
15773         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15774         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15775         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15776         New formatting macros.
15777
15778         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15779
15780 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15781
15782         * rtlanal.c (subreg_regno_offset): Return correct offset for
15783         big endian paradoxical subregs.
15784
15785         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15786         if we got the wrong mode.
15787
15788         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15789         * genrecog.c (write_switch, write_cond): Use it.
15790         * genemit.c (gen_exp): Likewise.
15791
15792 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15793
15794         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15795
15796 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15797
15798         * c-decl.c (build_compound_literal): Defer compound literal decls
15799         until until file end to emit them only if they are actually used.
15800
15801 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15802
15803         * ra-build.c (check_conflict_numbers): Hide unused function.
15804         (livethrough_conflicts_bb): Avoid automatic aggregate
15805         initialization.
15806         (parts_to_webs_1): Avoid `U' integer constant modifier.
15807         (conflicts_between_webs): Wrap a variable in the macro controlling
15808         its usage.
15809         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15810         (dump_igraph, dump_graph_cost): Avoid string concatenation
15811         (dump_static_insn_cost): Avoid automatic aggregate
15812         initialization.
15813         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15814         initialization.
15815         (dump_cost): Avoid string concatenation
15816
15817 2002-07-21  Richard Henderson  <rth@redhat.com>
15818
15819         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15820         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15821
15822 2002-07-21  Richard Henderson  <rth@redhat.com>
15823
15824         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15825         that are not unrolled completely.
15826
15827 2002-07-21  Richard Henderson  <rth@redhat.com>
15828
15829         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15830         * loop.c (strength_reduce): Update.
15831         * toplev.c (rest_of_compilation): Do unrolling in the first
15832         loop pass, not the second.
15833
15834 2002-07-21  Richard Henderson  <rth@redhat.com>
15835
15836         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15837         when flag_argument_noalias == 2.
15838         * alias.c (nonoverlapping_memrefs_p): Handle that.
15839         * print-rtl.c (print_mem_expr): Likewise.
15840
15841 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15842
15843         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15844         instead of __negdi2 directly.
15845
15846 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15847
15848         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15849         * function.c (SYMBOL__MAIN): Remove definition.
15850         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15851         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15852         * profile.c (GCOV_INDEX_TO_BB): Remove.
15853         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15854         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15855
15856 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15857
15858         * c-lex.c (GET_ENVIRONMENT): Remove.
15859         * collect2.c (GET_ENV_PATH_LIST): Remove.
15860         (prefix_from_env): Use GET_ENVIRONMENT.
15861         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15862         (init_standard_includes): Use GET_ENVIRONMENT.
15863         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15864         * gcc.c (GET_ENV_PATH_LIST): Remove.
15865         (make_relative_prefix, process_command): Update.
15866         * protoize.c (GET_ENV_PATH_LIST): Remove.
15867         (do_processing): Update.
15868
15869 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15870
15871         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15872         (grokdeclarator): Likewise.
15873         * c-format.c (C_STD_NAME): Likewise.
15874         * c-lex.c (interpret_integer): Likewise.
15875         * c-typeck.c (build_array_ref): Likewise.
15876         * cpplex.c (_cpp_lex_direct): Likewise.
15877         * toplev.c (documented_lang_options): Likewise.
15878
15879 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15880
15881         * c-format.c (T99_I, T99_UI): Remove.
15882
15883 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15884
15885         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15886
15887 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15888
15889         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15890         do_local_cprop.
15891
15892 2002-07-21  Andreas Jaeger  <aj@suse.de>
15893
15894         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15895
15896 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15897
15898         Improvements for the ifcvt pass from Michael Meissner, with patches
15899         by Richard Sandiford <rsandifo@redhat.com>
15900         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15901         * ifcvt.c (cond_exec_changed_p): New static variable.
15902         (last_active_insn): New function, renamed from last_active_insn_p
15903         and changed to return the last active insn in a basic block. All
15904         callers updated.
15905         (block_fallthru): New function.
15906         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15907         IFCVT_MODIFY_INSN.  All callers updated.
15908         Return false if START or END are NULL.
15909         Handle case where we're processing an insn that is already
15910         conditional.
15911
15912         (noce_process_if_block): CE_INFO argument rather than
15913         multiple args containing the involved basic blocks.  All callers
15914         changed.
15915         (process_if_block, merge_if_block, find_if_block,
15916         cond_exec_process_if_block): Likewise.
15917
15918         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15919         changed.
15920         Use new function last_active_insn to simplify some code.
15921         New code to handle multiple tests.
15922         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15923         cond_exec_changed_p to TRUE.
15924
15925         (process_if_block): New code to handle multiple tests.
15926         (merge_if_block): Likewise.
15927         (find_if_header): New arg PASS.  Changed to return the currently
15928         processed basic block or NULL instead of true/false. All callers
15929         changed.
15930         Call IFCVT_INIT_EXTRA_FIELDS.
15931         (block_jumps_and_fallthru_p): New function.
15932         (find_if_block): Discover opportunities to convert multiple tests.
15933         Add additional debugging output.
15934         Update the ce_info structure before returning.
15935
15936         (if_convert): Run multiple passes of if-conversion.
15937         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15938         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15939         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15940         these macros.
15941
15942 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15943
15944         * gcse.c: Include cselib.h
15945         (constptop_register): Break out from ...
15946         (cprop_insn): ... here; kill basic_block argument.
15947         (do_local_cprop, local_cprop_pass): New functions.
15948         (one_cprop_pass): Call local_cprop_pass.
15949
15950 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15951
15952         * simplify-rtx.c (simplify_relational_operation): Optimize
15953         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15954
15955 2002-07-20  Michae Matz  <matz@suse.de>
15956
15957         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15958
15959 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15960
15961         * cppexp.c (struct op): Add token pointer.
15962         (check_promotion, CHECK_PROMOTION): New.
15963         (optab): Update.
15964         (_cpp_parse_expr): Update, use token pointer of struct op.
15965         (reduce): Warn about change of sign owing to promotion.
15966         * cppinit.c (cpp_handle_option): New warning if -Wall.
15967         * cpplib.h (struct cpp_options): New member.
15968
15969 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15970
15971         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15972         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15973         Power4 fpcompare.
15974         (fix_truncdfsi2_internal): Restore FPR preference.
15975         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15976         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15977
15978 2002-07-19  Momchil Velikov <velco@fadata.bg>
15979
15980         * reload1.c (reload_as_needed): Duplicate oldpat.
15981
15982 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15983
15984         PR optimization/7130
15985         * loop.h (struct loop_info): Add "preconditioned".
15986         * unroll.c (unroll_loop): Set it.
15987         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15988
15989 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15990
15991         * rtl.def (CODE_LABEL): Remove slot 8.
15992         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15993         (LABEL_ALTERNATE_NAME): Delete.
15994         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15995         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15996
15997         * final.c (output_alternate_entry_point): New.
15998         (final_scan_insn): Use it instead of
15999         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
16000         of a case label being an alternate entry point.
16001
16002         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
16003         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
16004         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
16005         (field deleted).
16006         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
16007
16008         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
16009         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
16010         * doc/tm.texi: Delete documentation of
16011         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16012
16013 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16014
16015         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
16016         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
16017         (LINK_SPEC): Define.
16018         (STARTFILE_SPEC): Define.
16019         (ENDFILE_SPEC): Define.
16020
16021         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
16022         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
16023
16024         * config/mips/iris6-o32-gas.h: New file.
16025         * config.gcc (mips-sgi-irix6*o32): Use it.
16026
16027         * config/mips/t-iris5-gas: New file.
16028         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16029
16030 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
16031
16032         * cppexp.c (ALWAYS_EVAL): Remove.
16033         (optab, reduce): Always evaluate.
16034         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
16035         only if not skipping evaluation.
16036
16037 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16038
16039         * config/avr/avr.c (debug_hard_reg_set): Remove.
16040
16041 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
16042
16043         * gcc.c (cpp_options): Include "%1" (cc1_spec).
16044
16045 2002-07-19  Richard Henderson  <rth@redhat.com>
16046
16047         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
16048
16049 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
16050
16051         * prefix.c (update_path): Don't zap single `.' path components
16052         unless followed by another `.' and fix typo last patch.
16053
16054 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
16055
16056         * cppexp.c (cpp_num_mul): Remove unused parameter.
16057         (UNARY, BINARY, OTHER, binary_handler): Remove.
16058         (ALWAYS_EVAL): New.
16059         (optab): Update.
16060         (reduce): Refactor to a large switch, don't use a function
16061         pointer.
16062
16063 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
16064
16065         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
16066
16067 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
16068
16069         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
16070         (sh_expand_binop_v2sf): Likewise.
16071         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
16072         (int_gpr_dest, trunc_hi_operand): New functions.
16073         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
16074         trunc_hi_operand.
16075         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
16076         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
16077         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
16078         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
16079         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
16080         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
16081         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
16082         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
16083         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
16084         (movsf_ie+1): Likewise.
16085         (loaddi_trunc): Use int_gpr_dest predicate.
16086         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
16087         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
16088         (casesi_worker_0+[12], casesi_worker): Likewise.
16089         (shcompact_preserve_incoming_args): Likewise.
16090         (mov_nop): Use any_register_operand predicate.
16091         (mperm_w0): Use trunc_hi_operand predicate.
16092
16093 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16094
16095         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
16096         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
16097         numbering.
16098
16099 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16100
16101         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
16102
16103 2002-07-18  Richard Henderson  <rth@redhat.com>
16104
16105         PR optimization/7147
16106         * ifcvt.c (noce_get_condition): Make certain that the condition
16107         is valid at JUMP.
16108
16109 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
16110
16111         * sh.c (barrier_align, push): Shut up compiler warnings.
16112         (initial_elimination_offset,sh_media_init_builtins): Likewise.
16113         (reg_no_subreg_operand): Delete.
16114
16115 2002-07-17  Bo Thorsen  <bo@suse.de>
16116
16117         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
16118         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
16119         (STARTFILE_SPEC): Remove hardcoded library paths.
16120         (ENDFILE_SPEC): Likewise.
16121
16122 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
16123
16124         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
16125
16126         * gcse.c (try_replace_reg): Do not return false positives.
16127
16128 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
16129
16130         * prefix.c: (update_path): Strip ".." components when prior dir
16131         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
16132
16133         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
16134         (ASM_OUTPUT_REG_POP): Likewise.
16135
16136 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
16137
16138         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
16139         adjustments to first_reg for profiling case.
16140         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
16141         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
16142         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
16143         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
16144         (ASM_OUTPUT_REG_POP): Define.
16145         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
16146         (ASM_OUTPUT_REG_POP): Undef.
16147
16148 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
16149
16150         * cpplib.c (do_sccs): Handle #sccs on all systems.
16151         * system.h (SCCS_DIRECTIVE): Poison.
16152         * config/darwin.h, config/freebsd.h, config/netbsd.h,
16153         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
16154         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
16155         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
16156         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
16157         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
16158         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
16159         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
16160         Remove all references to SCCS_DIRECTIVE.
16161         * doc/cpp.texi, doc/tm.texi: Update.
16162
16163 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
16164
16165         * regrename.c (maybe_mode_change): New function.
16166         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
16167
16168 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
16169
16170         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
16171         suppress addition when either ct or cf are zero.
16172
16173 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
16174             Glen Nakamura <glen@imodulo.com>
16175
16176         PR optimization/6713
16177         * loop.c (loop_givs_rescan): Explicitly delete the insn that
16178         sets a non-replaceable giv after issuing the new one.
16179
16180 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
16181
16182         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
16183         eval_token): Clarify and correct use of "bool" variables.
16184         * cpplib.h (struct cpp_options): Similarly.
16185         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
16186         * cpptrad.c (recursive_macro): Similarly.
16187
16188 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
16189
16190         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
16191         SHmedia code.
16192
16193         * sh.md (cmpgtudi_media): Remove spurious @.
16194
16195         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
16196         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
16197
16198         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
16199         * sh-protos.h (sh_initialize_trampoline): Declare.
16200         * sh.c (sh_initialize_trampoline): New function.
16201         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
16202         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
16203         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
16204         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
16205         * sh.md (initialize_trampoline, double_shori): New patterns.
16206         (initialize_trampoline_compact): Likewise.
16207         (shmedia32_initialize_trampoline_big): Remove.
16208         (shmedia32_initialize_trampoline_little): Likewise.
16209
16210         * sh-protos.h (binary_float_operator): Remove declaration.
16211         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
16212         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
16213         (unary_float_operator, sh_expand_unop_v2sf): New functions.
16214         (sh_expand_binop_v2sf): Likewise.
16215         (zero_vec_operand): Delete.
16216         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
16217         all non-shared ones.
16218         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
16219         Enable nsb and byterev.
16220         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
16221         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
16222         in general regs.
16223         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
16224         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
16225         immediate operands.
16226         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
16227         Add DF_HI_REGS.
16228         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
16229         lowpart fp regs - only for big endian for now.
16230         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
16231         when FPU is in use.
16232         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
16233         (LOAD_EXTEND_OP): NIL for SImode.
16234         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
16235         general and fp registers is 4.
16236         PREDICATE_CODES: Amend binary_float_operator entry.
16237         Remove zero_vec_operand.  Add unary_float_operator.
16238         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
16239         subreg SET_DEST.
16240         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
16241         (truncdiqi2): Do sign extension.
16242         (movsi_media, movdi_media): Allow to use r63 to an fp register.
16243         (movdf_media, movsf_media): Likewise.
16244         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
16245         Collapse to one define_insn_and_split.  Allow immediate sources.
16246         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
16247         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
16248         (movv4sf): Allow immediate sources.
16249         (movsf_media_nofpu+1): Don't split moves to FP registers.
16250         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
16251         (movv8qi_i+3): Check against CONST0_RTX.
16252         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
16253         for input and output operands.  Fix argument 3 to gen_mextr_rl.
16254         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
16255         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
16256         (mshf0_w, fipr, ftrv): Likewise.
16257         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
16258
16259 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
16260
16261         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
16262         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
16263         * arm.c: Similarly.
16264
16265 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
16266
16267         * config/mips/mips-protos.h (mips_sign_extend): Declare.
16268         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
16269         (TARGET_SWITCHES): Remove debugh.
16270         (ISA_HAS_TRUNC_W): New macro.
16271         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
16272         (PREDICATE_CODES): Remove se_nonimmediate_operand.
16273         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
16274         any SImode move_operand.
16275         (se_nonimmediate_operand): Remove.
16276         (mips_sign_extend): New.
16277         (mips_move_2words): Use it for sign-extended source operands.
16278         (override_options): Allow integers to be put into single FPRs.
16279         (mips_secondary_reload_class): Handle integers in float registers.
16280         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
16281         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
16282         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
16283         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
16284         (fix_truncdfdi2): Provide only a single alternative, in which the
16285         integer is in a float register.  Depend on TARGET_FLOAT64 rather
16286         than TARGET_64BIT.
16287         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
16288         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
16289         (movdi_internal2): Don't allow the source operand to be sign-extended.
16290         Add alternatives for float registers.
16291         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
16292         allows sign-extension.
16293         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
16294         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
16295         float registers.  Remove TARGET_DEBUG_H_MODE test.
16296         (movhi_internal1): Rename to movhi_internal.  Don't check
16297         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
16298         (movqi_internal1): Rename to movqi_internal and remove
16299         TARGET_DEBUG_H_MODE dependency.
16300         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
16301
16302 2002-07-16  Jim Wilson  <wilson@redhat.com>
16303
16304         * toplev.c (lang_dependent_init): Create function context for
16305         init_expr_once.
16306
16307 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
16308
16309         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
16310         --gc-sections if -r.
16311         * config/cris/cris.h: Ditto.
16312
16313 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
16314
16315         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
16316         the comparison directly gives a mask suppress addition when cf is
16317         zero by complementing the mask.
16318
16319 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
16320
16321         * Makefile.in: Delete references to enquire.
16322         * enquire.c: Move to contrib.
16323
16324 2002-07-16  Stan Shebs  <shebs@apple.com>
16325
16326         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
16327         config/rs6000/darwin.h.
16328         (ASM_OUTPUT_SKIP): Ditto.
16329         (TEXT_SECTION_ASM_OP): Ditto.
16330         (DATA_SECTION_ASM_OP): Ditto.
16331         (ASM_APP_ON): Define.
16332         (ASM_APP_OFF): Define.
16333         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
16334         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
16335
16336         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
16337         (machopic_function_base_name): Declare result to be const.
16338         (machopic_non_lazy_ptr_name): Ditto.
16339         (machopic_stub_name): Ditto.
16340         * config/darwin-protos.h: Ditto for the prototypes.
16341
16342 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
16343
16344         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
16345
16346 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
16347
16348         * i386.md (prefetch): Fix for 64bit mode.
16349         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16350
16351 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
16352
16353         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
16354         * i386.c (x86_machine_dependent_reorg): New function.
16355         * i386-protos.h (x86_machine_dependent_reorg): Declare.
16356
16357 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
16358
16359         * builtins.c (std_expand_builtin_va_start): Remove unused
16360         first argument.
16361         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
16362         std_expand_builtin_va_start with just two arguments.
16363         * expr.h: Update prototypes.
16364
16365         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
16366         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
16367         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
16368         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
16369         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
16370         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
16371         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
16372         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
16373         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
16374         argument from all implementations of EXPAND_BUILTIN_VA_START
16375         and all uses of std_expand_builtin_va_start.
16376
16377 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
16378
16379         * regrename.c (copy_value): Don't record high part copies.
16380
16381 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
16382
16383         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
16384         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
16385         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
16386
16387 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
16388
16389         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
16390
16391         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
16392         into addsi3 using register class "x" and "y".
16393
16394         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
16395         "earlyclobber" constraint modifier for some alternative.
16396
16397         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
16398         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
16399         unordered.
16400         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
16401
16402         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
16403         (TARGET_SWITCHES): Add -mieee-compare option.
16404         (OVERRIDE_OPTIONS): 32332 is a subset of
16405         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
16406         (TARGET_SWITCHES): Fix description of bitfield option.
16407         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
16408         -mieee-compare option. Remove 32332 flag.
16409
16410 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
16411
16412         * explow.c (convert_memory_address): Remove special handling
16413         when POINTERS_EXTEND_UNSIGNED < 0.
16414         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
16415         (movedi_symbolic): Fix typo.
16416         (load_fptr): Remove mode restriction so it works for SI and DI.
16417         (load_fptr_internal1): Ditto.
16418         (load_gprel): Ditto.
16419         (load_symptr_internal1): Ditto.
16420         (call_pic): Ditto.
16421         * config/ia64.c (call_operand): Modify mode check.
16422         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
16423         (ia64_expand_move): Ditto.
16424         (ia64_assemble_integer): Handle SImode function pointers.
16425         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
16426         (ia64_expand_op_and_fetch): Ditto.
16427         (ia64_expand_compare_and_swap): Ditto.
16428         (ia64_expand_lock_test_and_set): Ditto.
16429         (ia64_expand_lock_release): Ditto.
16430
16431 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16432
16433         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
16434
16435 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16436             Richard Earnshaw  <rearnsha@arm.com>
16437
16438         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
16439         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
16440
16441 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
16442
16443         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
16444         understands to be a memory clobber.
16445         * arm.c (arm_expand_prologue): Use it.
16446
16447 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
16448
16449         * ra-rewrite.c: #include reload.h, insn-config.h
16450         * ra-build.c: #include reload.h
16451         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
16452         depend on reload.h, insn-config.h.
16453
16454 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16455
16456         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
16457         the same size as a word.
16458
16459         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
16460         BYTES_BIG_ENDIAN into account.
16461
16462 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
16463
16464         * i386.md (prefetch): Fix for 64bit mode.
16465         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16466
16467         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
16468
16469 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16470
16471         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
16472
16473 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
16474
16475         * ginclude/varargs.h: Replace with stub which issues #error.
16476         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
16477         __builtin_va_start.
16478
16479         * builtins.def (BUILT_IN_VARARGS_START): Delete.
16480         (BUILT_IN_VA_START): New.
16481         * builtins.c (expand_builtin_va_start): Eliminate first
16482         argument and code to implement pre-ISO varargs.
16483         (std_expand_builtin_va_start): Ignore first argument; it is
16484         always 1.
16485         (expand_builtin): Handle BUILT_IN_VA_START and
16486         BUILT_IN_STDARG_START identically.  Delete
16487         BUILT_IN_VARARGS_START case.
16488
16489         * function.c (assign_parms): Delete hide_last_arg and all
16490         its uses.
16491         (mark_varargs): Delete function.
16492         * function.h (struct function): Delete 'varargs' bit.
16493         (current_function_varargs): Delete macro.
16494         * tree.h: Don't declare mark_varargs.
16495
16496         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
16497         (c_expand_body): Don't call mark_varargs.
16498         * c-objc-common.c: Handle BUILT_IN_VA_START and
16499         BUILT_IN_STDARG_START identically.  Delete
16500         BUILT_IN_VARARGS_START case.
16501         * c-tree.h: Don't declare c_mark_varargs.
16502         * c-parse.in: Remove grammar rules for '&...' (which has been
16503         commented out since before 2.7.2) and for '...' in K+R
16504         argument declarations.
16505
16506         * builtins.c, function.c, integrate.c, sibcall.c,
16507         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
16508         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
16509         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
16510         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
16511         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
16512         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
16513         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
16514         config/stormy16/stormy16.c: Delete all references to
16515         current_function_varargs, and code predicated on that flag.
16516
16517         * config/alpha/alpha.c (alpha_va_start),
16518         config/arc/arc.c (arc_va_start),
16519         config/i386/i386.c (ix86_va_start),
16520         config/mips/mips.c (mips_va_start),
16521         config/mn10300/mn10300.c (mn10300_va_start),
16522         config/rs6000/rs6000.c (rs6000_va_start),
16523         config/s390/s390.c (s390_va_start),
16524         config/sh/sh.c (sh_va_start),
16525         Ignore first argument; it is always 1.
16526
16527         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
16528         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
16529         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
16530         Delete m68hc11_va_start.
16531         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
16532         No need to define EXPAND_BUILTIN_VA_START.
16533
16534         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
16535         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
16536
16537 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
16538
16539         PR optimization/7153
16540         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
16541         dies in more than one insn.
16542
16543 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
16544
16545         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
16546
16547 2002-07-15  Michael Matz  <matz@suse.de>,
16548             Daniel Berlin  <dberlin@dberlin.org>,
16549             Denis Chertykov  <denisc@overta.ru>
16550
16551         Add a new register allocator.
16552
16553         * ra.c: New file.
16554         * ra.h: New file.
16555         * ra-build.c: New file.
16556         * ra-colorize.c: New file.
16557         * ra-debug.c: New file.
16558         * ra-rewrite.c: New file.
16559
16560         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
16561         (ra-rewrite.o): New .o files for libbackend.a.
16562         (GTFILES): Add basic-block.h.
16563
16564         * toplev.c (flag_new_regalloc): New.
16565         (f_options): New option "new-ra".
16566         (rest_of_compilation): Call initialize_uninitialized_subregs()
16567         only for the old allocator.  If flag_new_regalloc is set, call
16568         new allocator, instead of local_alloc(), global_alloc() and
16569         friends.
16570
16571         * doc/invoke.texi: Document -fnew-ra.
16572         * basic-block.h (FOR_ALL_BB): New.
16573         * config/rs6000/rs6000.c (print_operand): Write small constants
16574         as @l+80.
16575
16576         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
16577         (df_reg_table_realloc): Make size at least as large as max_reg_num().
16578         (df_insn_table_realloc): Size argument now is absolute, not relative.
16579         Changed all callers.
16580
16581         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
16582         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
16583
16584         2002-06-20  Michael Matz  <matz@suse.de>
16585
16586         * df.h (struct ref.id): Make unsigned.
16587         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
16588
16589         2002-06-13  Michael Matz  <matz@suse.de>
16590
16591         * df.h (DF_REF_MODE_CHANGE): New flag.
16592         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
16593         involving subregs with invalid mode changes, when
16594         CLASS_CANNOT_CHANGE_MODE is defined.
16595
16596         2002-05-07  Michael Matz  <matz@suse.de>
16597
16598         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
16599
16600         2002-05-03  Michael Matz  <matz@suse.de>
16601
16602         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
16603
16604         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
16605
16606         * regclass.c (regclass): Work with all regs which have sets or
16607         refs.
16608         (reg_scan_mark_refs): Count regs inside (clobber ...).
16609
16610         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
16611
16612         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
16613         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
16614         add new refs.
16615         (df_bb_refs_update): Don't clear insns_modified here, ...
16616         (df_analyse): ... but here.
16617
16618         * sbitmap.c (dump_sbitmap_file): New.
16619         (debug_sbitmap): Use it.
16620
16621         * sbitmap.h (dump_sbitmap_file): Add prototype.
16622
16623         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
16624
16625         * df.c (df_insn_modify): Grow the UID table if necessary, rather
16626         than assume all emits go through df_insns_modify.
16627
16628         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16629
16630         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
16631         increase REG_N_REFS (like flow does), so that regclass doesn't
16632         think a reg is useless, and thus, not calculate a class, when it
16633         really should have.
16634
16635         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
16636
16637         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
16638         dataflow analysis.
16639
16640 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
16641
16642         PR middle-end/7245
16643         * config/i386/i386.c (const_int_1_31_operand): New.
16644         * config/i386/i386.h (PREDICATE_CODES): Add it.
16645         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
16646         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
16647         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
16648
16649 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
16650
16651         PR target/7282
16652         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
16653         (floatunssidf2): Likewise.
16654         (floatsidf_ppc64): New insn_and_split.
16655         (floatunssidf_ppc64): Likewise.
16656
16657 2002-07-14  Andreas Jaeger  <aj@suse.de>
16658
16659         * config.gcc (sh64): Remove unused
16660         target_requires_64bit_host_wide_int.
16661
16662 2002-07-12  Roger Sayle  <roger@eyesopen.com>
16663
16664         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
16665         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
16666         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
16667         whether clear_by_pieces should be used to clear storage.
16668         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
16669
16670         * doc/tm.texi: Document these two new target macros.
16671
16672 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
16673
16674         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
16675         the scratch register.
16676         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
16677         of it, forbid reload to use it.
16678
16679 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16680
16681         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
16682         usage on 64-bit hosts, return value was truncated to 32 bits.
16683
16684 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
16685
16686         * simplify-rtx.c (simplify_subreg): Handle floating point
16687         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
16688         the element mode is requested, compute a subreg with an
16689         integer mode of the same size as the element mode first.
16690
16691 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16692
16693         * combine.c (try_combine): When converting a paradoxical subreg
16694         to an extension, take LOAD_EXTEND_OP into account.
16695
16696 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16697
16698         * config.gcc (mips-sgi-irix6*o32): New configuration.
16699
16700         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16701         configurations.
16702         * configure: Regenerate.
16703
16704         * config/mips/iris6-o32-as.h: New file.
16705         * config/mips/iris6-o32.h: New file.
16706
16707         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16708         (NM_FLAGS): Define.
16709         (HAVE_AS_SHF_MERGE): Undefine.
16710
16711         * config/mips/t-iris5-as: New file.
16712         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16713
16714         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16715         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16716         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16717         dp-bit.c, fp-bit.c): Move ...
16718         * config/mips/t-iris5-6: ... here.
16719         New file, shared by IRIX 5 and IRIX 6.
16720         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16721         mips-sgi-irix5*): Use it.
16722
16723         * config/mips/iris6.h: Remove duplicate comment.
16724
16725         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16726         !TARGET_IRIX6]: Define.
16727         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16728
16729         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16730
16731 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16732
16733         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16734         and delete code to force constant to register.
16735         * pa-protos.h (adddi3_operand): Add prototype.
16736         * pa.c (adddi3_operand): New function.
16737
16738 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16739
16740         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16741         non-ANSI builtin functions.
16742
16743 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16744
16745         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16746         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16747         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16748         (gen_const_vector_0): Use it.
16749
16750 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16751
16752         * pa.md (adddi3): For 32-bit targets, force constants to a register
16753         if they don't fit in an 11-bit immediate.  Change insn predicate to
16754         arith11_operand.  Remove comment.
16755         * pa.c (cint_ok_for_move): Fix comment.
16756         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16757         targets.
16758
16759 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16760
16761         Remove front end hard coding from gengtype.c.
16762
16763         * Makefile.in
16764         (STAGESTUFF): add gtyp-gen.h
16765         (GTFILES): Remove front end specific files.
16766         (GTFILES_FILES_LANGS): New, from configure..
16767         (GTFILES_FILES_FILES): Likewise.
16768         (GTFILES_LANG_DIR_NAMES): Likewise.
16769         (GTFILES_SRCDIR): Likewise.
16770         (gtyp-gen.h): Build from configure information.
16771         (s-gtype): Remove command line parameters from gengtype.
16772         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16773         (mostlyclean): Delete files generated by and for gengtype.
16774
16775         * c-config-lang.in: New file.
16776
16777         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16778         for each language.
16779         (all_gtfiles_files_files): New. Accumulate language for each file
16780         accumulated.
16781         (gtfiles): Pick up value for C.
16782         (srcdir): AC-SUBST this variable.
16783         (all_gtfiles_files_langs): AC-SUBST this variable.
16784         (all_gtfiles_files_files): AC-SUBST this variable.
16785
16786         * configure: Regenerate.
16787
16788         * gengtype-lex.l (parse_file): Make parameter const.
16789
16790         * gengtype.c (toplevel): include gtyp-gen.h.
16791         (BASE_FILE_<language> unnamed enum): Delete.
16792         (lang_names): Delete (replaced by gtyp-gen.h)
16793         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16794         all references.
16795         (NUM_GT_FILES): New.
16796         (NUM_LANG_FILES): New.
16797         (srcdir_len): New.
16798         (NUM_BASE_FILES): Change calculation.
16799         (open_base_files): Change prototype to avoid warning.
16800         (startswith): Delete.
16801         (get_file_basename): Iterate through generated language list not
16802         hard coded list.
16803         (get_base_file_bitmap): Use generated list of files and languages.
16804         (close_output_files): Add prototype to rmove warning.
16805         (main): Iterate through list of generated files from gtyp-gen.h
16806         rather than command line paramaters.  Ignore duplicated file
16807         names.
16808
16809         * gengtype.h (parse_file): Amend prototype for const parameter.
16810
16811         * doc/sourcebuild.texi: Document gtfiles variable.
16812
16813         * doc/gty.texi: Document changes to gtfiles variable for front
16814         ends.
16815
16816         * objc/config-lang.in (gtfiles): Add files needed for objc front
16817         end.
16818
16819 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16820
16821         PR c/2454
16822         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16823         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16824
16825 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16826             Zack Weinberg <zack@codesourcery.com>
16827
16828         * builtins.def: Make the argument types of abort and exit
16829         independent of the front-end.
16830
16831 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16832
16833         * config/rs6000/linux64.h (ASM_SPEC): Define.
16834
16835 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16836
16837         * config/rs6000/rs6000.c (emit_frame_save): New.
16838         (rs6000_frame_related): Replace reg2 before reg.
16839         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16840         and eh_return registers.
16841
16842 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16843
16844         Revert all patches for optimization of Complex .op. Real.
16845         * complex_part_zero_p: Remove
16846         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16847         with x.
16848         * expand_cmplxdiv_wide: Ditto.
16849         * expand_binop: Ditto.
16850
16851 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16852
16853         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16854         negative also on 64-bit hosts.
16855
16856         Default to -fno-reorder-blocks when optimizing for size.
16857         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16858         * config/avr/avr.c (avr_optimization_options): New function.
16859         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16860
16861         Optimize returning from simple functions.
16862         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16863         * config/avr/avr.c (avr_simple_epilogue): New function.
16864         * config/avr/avr.md (return): New insn.
16865
16866 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16867
16868         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16869         HAS_INIT_SECTION to protection.
16870
16871 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16872
16873         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16874         deprecated.
16875
16876 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16877
16878         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16879         Supply non-VOID mode to simplify_gen_subreg.
16880
16881 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16882
16883         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16884
16885 2002-07-10  Jeffrey A Law  <law@redhat.com>
16886
16887         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16888         as appropriate.
16889
16890         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16891         register to use.
16892
16893 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16894
16895         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16896         Get mode from dest.
16897         If simplify_gen_subreg fails, try next equivalent.
16898
16899 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16900
16901         * diagnostic.h: #include location.h
16902         (location_t): Move definition to..
16903         * location.h: ... here.  New file.
16904         * tree.h: #include location.h
16905         (DECL_SOURCE_LOCATION): New macro.
16906         (DECL_SOURCE_FILE): Use.
16907         (DECL_SOURCE_LINE): Likewise.
16908         (struct tree_decl): REplace filename and linenum with locus.
16909         * Makefile.in (TREE_H): add location.h
16910         (diagnostic.o): Depends on gt-location.h
16911         (gt-location.h): Depends on s-gtype
16912
16913 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16914
16915         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16916         TARGET_OS_CPP_BUILTINS.
16917         * config/rs6000/aix31.h: Likewise.
16918         * config/rs6000/aix41.h: Likewise.
16919         * config/rs6000/aix43.h: Likewise.
16920         * config/rs6000/aix51.h: Likewise.
16921         * config/rs6000/beos.h: Likewise.
16922         * config/rs6000/darwin.h: Likewise.
16923         * config/rs6000/eabi.h: Likewise.
16924         * config/rs6000/eabisim.h: Likewise.
16925         * config/rs6000/linux.h: Likewise.
16926         * config/rs6000/linux64.h: Likewise.
16927         * config/rs6000/lynx.h: Likewise.
16928         * config/rs6000/mach.h: Likewise.
16929         * config/rs6000/rtems.h: Likewise.
16930         * config/rs6000/sysv4.h: Likewise.
16931         * config/rs6000/vxppc.h: Likewise.
16932
16933 2002-07-09 Devang Patel <dpatel@apple.com>
16934         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16935         Do not allow ObjC objects as a parameter type for Objective-C methods.
16936         My previous patch restricted  'struct' also.
16937
16938 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16939
16940         * cpperror.c (cpp_error): Default to directive_line within
16941         directives here.
16942         * cppexp.c (cpp_interpret_integer): Only use traditional
16943         number semantics in directives.
16944         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16945         (do_include_common): Similarly.
16946         * cpptrad.c (scan_out_logical_line): Implement accurate
16947         quoting of <> in #include.
16948         * doc/cpp.texi: Update.
16949
16950 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16951                           J"orn Rennecke <joern.rennecke@superh.com>
16952
16953         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16954         * sh.md (attribute issues): Replace with:
16955         (attribute pipe_model).  All users changed.
16956         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16957         All users changed.
16958         (function units sh5issue, sh5fds): New.
16959         (attribute is_mac_media): New.
16960         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16961         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16962         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16963         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16964         (call_media, call_value_media, sibcall_media): Likewise.
16965         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16966         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16967         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16968         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16969         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16970         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16971         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16972         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16973         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16974         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16975         (truncdfsf2_media): Likewise.
16976         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16977         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16978
16979 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16980
16981         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16982         * sh.c (general_extend_operand, inqhi_operand): New functions.
16983         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16984         alternatives using 'N' modifier.  Add type.
16985         (adddi3z_media): Likewise.  Enable generator function generation.
16986         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16987         exact predicates / constraints.  Add type.
16988         (subsi3): Allow 0 for SHMEDIA.
16989         (udivsi3_i4_media): Use match_operand for input values
16990         rather than hard registers.
16991         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16992         unnecessarily through hard registers.  Keep copies of pseudo
16993         registers outside of the libcall sequence.
16994         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16995         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16996         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16997         (extendhidi2, extendqidi2): Likewise.
16998         (andsi3_compact): Name.
16999         (andcdi3): Enable generator function generation.
17000         (zero_extendhisi2, zero_extendqisi2): Rename to
17001         (zero_extendhisi2_compact, zero_extendqisi2_compact).
17002         (extendhisi2, extendqisi2): Rename to
17003         (extendhisi2_compact, extendqisi2_compact).
17004         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
17005         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
17006         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
17007         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
17008         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
17009         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
17010         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
17011         (shmedia32_initialize_trampoline_big): Likewise.
17012         (shmedia32_initialize_trampoline_little): Likewise.
17013         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
17014         (negdi2): Remove spurious T clobber.
17015         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
17016         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
17017         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
17018         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
17019         (ic_invalidate_line_media): Write back data cache before invalidating
17020         instruction cache.  Add type.
17021         (movsf_media): Sign-extend when the destination is a general
17022         purpose register.  Add type.
17023         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
17024         (casesi_worker_0+1): Only increment ref count for proper label.
17025         (casesi_worker_0+2): Likewise.
17026
17027 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
17028
17029         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
17030
17031 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
17032
17033         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
17034         from Pmode to ptr_mode.
17035         (get_exception_pointer): Ditto.
17036         (connect_post_landing_pads): Ditto.
17037         (dw2_build_landing_pads): Ditto.
17038
17039 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
17040         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
17041         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
17042         (handle_pragma_redefine_extname): Change to use new function.
17043
17044 2002-07-08  Roger Sayle  <roger@eyesopen.com>
17045
17046         * combine.c (combine_simplify_rtx): Add an explicit cast
17047         to avoid signed/unsigned comparison warning.
17048         (simplify_if_then_else): Likewise.
17049         (extended_count): Likewise.
17050         (simplify_shift_const): Likewise.
17051         (simplify_comparison): Likewise.
17052
17053 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
17054
17055         * config/mips/mips.md: Add imadd type.  Update scheduler description
17056         to use imadd as well as imul.
17057         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
17058         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
17059         (*mul_sub_si): Likewise for first alternative.  Change second
17060         alternative from imul to multi.
17061
17062 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
17063
17064         * c-common.c (c_common_post_options): Update prototype;
17065         don't init backends if preprocessing only.
17066         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
17067         * langhooks.h (struct lang_hooks): Update post_options to
17068         return a boolean.
17069         * toplev.c (parse_options_and_default_flags, do_compile,
17070         lang_independent_init): Update prototypes.  Allow the
17071         front end to specify that there is no need to initialize
17072         the back end.
17073         (general_init): Move call to hex_init here...
17074         (toplev_main): ...from here.  Pass flag for back end init
17075         suppression.
17076
17077 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
17078
17079         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
17080         (PREDICATE_CODES): Add entries for equality_comparison_operator,
17081         greater_comparison_operator and less_comparison_operator.
17082         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
17083         more operators.
17084         (equality_comparison_operator): New function.
17085         (greater_comparison_operator, less_comparison_operator): Likewise.
17086         * sh.md (beq_media_i): Disable generator function generation.
17087         Use match_operator to handle a whole class of comparisons.  Add
17088         modifier in output template to provide branch prediction.  Add type.
17089         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
17090         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
17091         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
17092         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
17093
17094 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
17095
17096         Emit MMIX function prologue and epilogue as rtl.
17097         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
17098         not unprototyped get_hard_reg_initial_val.
17099         ("call_value", "nonlocal_goto_receiver"): Ditto.
17100         ("return"): Make define_expand.  Move real insn to...
17101         ("*expanded_return"): New pattern.
17102         ("prologue", "epilogue"): New define_expands.
17103         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
17104         (struct machine_function): New member in_prologue.
17105         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
17106         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
17107         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
17108         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
17109         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
17110         (LOCAL_REGNO): Define.  Adjust comment.
17111         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
17112         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
17113         leaf_function_p.
17114         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
17115         the prologue.
17116         (mmix_target_asm_function_prologue): Make static.  Just mark that
17117         the prologue is being emitted.  Move guts to...
17118         (mmix_expand_prologue): New function.  Adjust for emitting
17119         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
17120         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
17121         \n.  Move guts to...
17122         (mmix_expand_epilogue): New function.  Adjust for emitting
17123         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
17124         (mmix_target_asm_function_end_prologue): Mark that the prologue
17125         has ended.
17126         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
17127         (mmix_conditional_register_usage): Improve comments.
17128         (mmix_local_regno): New function.
17129         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
17130         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
17131         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
17132         (mmix_get_hard_reg_initial_val): Ditto.
17133
17134 2002-07-06  Andreas Jaeger  <aj@suse.de>
17135
17136         * toplev.c (set_fast_math_flags): Don't use ISO C style function
17137         definitions.
17138         * gengtype.c (open_base_files): Likewise.
17139         (close_output_files): Likewise.
17140         * tracer.c (find_best_predecessor): Likewise.
17141         (find_best_successor): Likewise.
17142         (ignore_bb_p): Likewise.
17143
17144 2002-07-05  Roger Sayle  <roger@eyesopen.com>
17145
17146         PR c++/7099
17147         * builtin-attrs.def: Define new attribute lists for use in
17148         builtins.def.
17149         * builtins.def [DEF_BUILTIN]: Modify to take an additional
17150         ATTRS argument, an enumerated value defined in builtin-attrs.def
17151         that represents the attribute list for the builtins.  Modify
17152         all builtin functions to pass an appropriate attribute list.
17153         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
17154         their required noreturn attributes.
17155         * tree.h (enum_builtin_function): Ignore the additional parameter
17156         to DEF_BUILTIN.
17157         * builtins.c (built_in_names): Likewise.
17158         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
17159         argument with a tree representing the functions attribute list.
17160         Pass this "attrs" argument to builtin_function.  No longer handle
17161         the noreturn_p processing manually.
17162         (built_in_attributes): Move the definitions from builtin-attrs.def
17163         before c_common_nodes_and_builtins.
17164         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
17165         DEF_BUILTIN, passing it to both builtin_function and the changed
17166         builtin_function_2.
17167
17168         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
17169         __builtin__exit and __builtin__Exit.
17170
17171 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17172
17173         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
17174         QI mode registers in soft registers.
17175         ("zero_extendqihi2"): Do not take into account soft registers
17176         for register allocation (use '*' constraint).
17177
17178 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17179
17180         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
17181         it is dead.
17182         ("*ashrsi3"): Likewise.
17183         ("*lshrsi3"): Likewise.
17184
17185 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
17186
17187         * genautomata.c (output_max_insn_queue_index_def): Take latencies
17188         into account.
17189
17190 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17191
17192         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
17193         address computation and memory moves.
17194
17195 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
17196
17197         PR c++/6706
17198         * dwarfout.c (output_reg_number): Fix warning message.
17199         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
17200         before using it.
17201
17202 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17203
17204         * gcc/gcc.c (asm_debug): Move initialization ...
17205         (init_spec): ... here.
17206
17207 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
17208
17209         * c-parse.in (extdef): Append ';'.
17210         (old_style_parm_decls): Append ';'.
17211
17212 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
17213
17214         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
17215         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
17216         to gcc_cv_as_gstabs_flag.
17217         * configure: Rebuilt.
17218
17219 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
17220
17221         * ggc.h (ggc_add_root): Document as obsolete.
17222
17223 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
17224
17225         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
17226         (mshflo_w): Likewise.
17227
17228 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
17229
17230         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
17231         vector mode subregs of constants to finding integer mode
17232         subregs of constants.
17233         * cse.c (cse_insn): Use simplify_gen_subreg.
17234         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
17235         From a vector mode expression of different size than the
17236         target mode.
17237
17238 2002-07-03  Eric Christopher  <echristo@redhat.com>
17239
17240         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
17241         * config/mips/mips.h: Remove deprecated -m<processor> options
17242         and cc1_cpu_spec associated.
17243         (CONSTANT_ADDRESS_P): Fix last patch.
17244         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
17245         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
17246         sunge_sf): Remove.
17247
17248 2002-07-03  Stan Shebs  <shebs@apple.com>
17249
17250         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
17251         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
17252         (CPP_SPEC): Remove insertion of APPLE_CC definition.
17253
17254 2002-07-03  Roger Sayle  <roger@eyesopen.com>
17255
17256         * combine.c (struct_undo): Change types of recorded substitutions
17257         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
17258         (do_SUBST_INT): Change types of the substitution from unsigned int
17259         to int, to avoid compilation warning from SUBST_INT's only caller.
17260
17261         (make_extraction): Add cast to avoid compilation warning.
17262         (force_to_mode): Remove cast to avoid compilation warning.
17263
17264 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
17265             Jeff Law  <law@redhat.com>
17266
17267         * i386.md (length_immediate attribute): Fix typo.
17268         (length_address attribute): Likewise.
17269         (modrm attribute): Set it to 0 for immediate call instructions.
17270         (jcc_1 pattern): Set modrm attribute to 0.
17271         (jcc_2 pattern ): Likewise.
17272         (jump pattern): Likewise.
17273         (doloop_end_internal pattern): Explicitly set length.
17274         (leave pattern): Fix typo.
17275         (leave_rex64 pattern): Likewise.
17276
17277 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
17278
17279         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
17280         in FPR as preference.
17281         (fctiwz): Same.
17282         (floatdidf2, fix_truncdfdi2): Same.
17283         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
17284         (floatditf2): Same.
17285         (floatsitf2, fix_trunctfsi2): SImode in GPR.
17286         (ctrdi): Remove FPR alternative and splitter.
17287
17288 2002-07-03  Will Cohen  <wcohen@redhat.com>
17289
17290         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
17291
17292 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
17293
17294         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
17295         than UNITS_PER_WORD, unless this is little endian and the first unit
17296         in this word.  Let extract_bit_field decide how to load an element.
17297         Force arguments to matching mode.
17298         (expand_vector_unop): Likewise.
17299
17300         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
17301         consist of word_mode elements.
17302         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
17303         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
17304         (build_unary_op): Allow vector types for BIT_NOT_EPR.
17305         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
17306         CONST_VECTOR.
17307         * optabs.c (expand_vector_binop): Try to perform operation in
17308         smaller vector modes with same inner size.  Add handling of AND, IOR
17309         and XOR.  Reject expansion to inner-mode sized scalars when using
17310         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
17311         (expand_vector_unop): Try to perform operation in smaller vector
17312         modes with same inner size.  Add handling of one's complement.
17313         When there is no vector negate operation, try a vector subtract
17314         operation.  Use simplify_gen_subreg on constants.
17315         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
17316         constants into smaller vectors with same inner mode, and to
17317         integer CONST_DOUBLEs.
17318
17319 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17320
17321         * c-parse.in (parsing_iso_function_signature): New variable.
17322         (extdef_1): New, copied from...
17323         (extdef): ... here.  Reset parsing_iso_function_signature.
17324         (old_style_parm_decls):  Reset parsing_iso_function_signature.
17325         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
17326         Warn about ISO C style function definitions.
17327         (nested_function, notype_nested_function): Reset
17328         parsing_iso_function_signature.
17329         (parmlist_2): Set parsing_iso_function_signature.
17330
17331         * doc/invoke.texi (-Wtraditional): Document new behavior.
17332
17333 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
17334
17335         * config.gcc (mips*el-*-*): Use tm_defines to set
17336         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
17337         * config/mips/little.h: Remove.
17338
17339 2002-07-02 Devang Patel <dpatel@apple.com>
17340
17341         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
17342         object as parameter. Prevent something like 'NSObject' to be
17343         used as the type for a method argument.
17344
17345 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
17346
17347         * cpptrad.c: Update comment.
17348
17349 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
17350
17351         * doc/cpp.texi: Update for traditional preprocessing changes.
17352         * goc/cppopts.texi: Similarly.
17353
17354 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
17355
17356         * c-parse.in (designator): Enable designated initializers if ObjC.
17357         (objcmessageexpr): Remove references to objc_receiver_context.
17358         * objc/objc-act.h (objc_receiver_context): Remove decl.
17359         * objc/objc-act.c (objc_receiver_context): Remove.
17360         (lookup_objc_ivar): Test objc_method_context instead of
17361         objc_receiver_context.
17362
17363 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
17364
17365         * sh.c (print_operand, case 'N'): Allow zero vector.
17366         (arith_reg_or_0_operand): Likewise.
17367         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
17368         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
17369         IOR, XOR, PLUS and SET and take their respective constant
17370         ranges into account.
17371         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
17372         * sh.md (subdi3, subdi3_media): Allow zero operand.
17373         (movv8qi_i+3): Only vector that is not split is the zero vector.
17374         Fix operand 3 to simplify_subreg.
17375         (movv2si_i): Split alternative 1.
17376         (mshfhi_l_di_rev+1): New splitter.
17377
17378 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
17379
17380         PR preprocessor/7029
17381         * cppinit.c (cpp_handle_option):  Suppress warnings with an
17382         implicit "-w" for "-M" and "-MM".
17383         * doc/cppopts.texi: Update.
17384
17385 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17386
17387         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
17388         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
17389         builtin_function.
17390
17391 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
17392
17393         * README.Portability: Fix typos.
17394
17395 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
17396
17397         PR target/7177
17398         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
17399         of indirections for register inside sign-extended mem part.
17400
17401 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17402
17403         * tree.h:  Modify builtin_function interface to take an extra
17404         argument ATTRS, which is a tree representing an attribute list.
17405
17406         * c-decl.c (builtin_function): Accept additional parameter.
17407         * objc/objc-act.c (builtin_function): Likewise.
17408         * f/com.c (builtin_function): Likewise.
17409         * java/decl.c (builtin_function): Likewise.
17410         * ada/utils.c (builtin_function): Likewise.
17411         * cp/decl.c (builtin_function): Likewise.
17412         (builtin_function_1): Likewise.
17413
17414         * c-common.c (c_common_nodes_and_builtins): Pass an additional
17415         NULL_TREE argument to builtin_function.  (builtin_function_2):
17416         Likewise.
17417         * cp/call.c (build_java_interface_fn_ref): Likewise.
17418         * objc/objc-act.c (synth_module_prologue): Likewise.
17419         * java/decl.c (java_init_decl_processing): Likewise.
17420         * f/com.c (ffe_com_init_0): Likewise.
17421
17422         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
17423         NULL_TREE argument to builtin_function.
17424         * config/arm/arm.c (def_builtin): Likewise.
17425         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
17426         * config/i386/i386.c (def_builtin): Likewise.
17427         * config/ia64/ia64.c (def_builtin): Likewise.
17428         * config/rs6000/rs6000.c (def_builtin): Likewise.
17429
17430 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
17431
17432         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
17433         * config/mips/t-isa3264: Likewise.
17434         * config/mmix/t-mmix: Likewise.
17435
17436 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17437
17438         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
17439
17440 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17441
17442         PR opt/4046
17443         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
17444         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
17445         B are truth values.
17446
17447 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
17448
17449         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
17450
17451 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
17452
17453         * README.Portability (Function prototypes): Give an example of
17454         declaring and defining a function with no arguments.
17455
17456         * README.Portability (Function prototypes): Document new
17457         variable-argument function macros.
17458
17459 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
17460
17461         * sh.c (langhooks.h): Include.
17462         (sh_init_builtins, sh_media_init_builtins): New functions.
17463         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
17464         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
17465         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
17466         (builtin_description): New struct tag.
17467         (signature_args, bdesc): New arrays.
17468         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
17469         (print_operand): Add 'N' modifier.
17470         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
17471         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
17472         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
17473         (CONST_COSTS): Add special case for SHmedia AND.
17474         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
17475         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
17476         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
17477         target_operand can also be const or unspec.
17478         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
17479         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
17480         (attribute type): Add new types.
17481         (anddi3): Add splitter.
17482         (movdi_const_16bit+1): Add code to handle vector constants and
17483         bitmasks efficiently.
17484         (shori_media): Have generator function made.
17485         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
17486         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
17487         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
17488         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
17489         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
17490         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
17491         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
17492         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
17493         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
17494         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
17495         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
17496         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
17497         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
17498         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
17499         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
17500         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
17501         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
17502         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
17503         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
17504         (ftrv): Likewise.
17505
17506         (fpu_switch+1, fpu_switch+2): Remove constraint.
17507
17508 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
17509
17510         * tree.c (build_function_type_list): Update function comment.
17511         Rename first argument to return_type.
17512
17513 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
17514
17515         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
17516         tradcif.y and related files.
17517
17518 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
17519
17520         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
17521
17522 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17523
17524         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
17525
17526 See ChangeLog.7 for earlier changes.