stmt.c (emit_case_bit_tests): New routine to implement suitable switch statements...
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2
3         * stmt.c (emit_case_bit_tests): New routine to implement suitable
4         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
5         (case_bit_test_cmp): New comparison function for "qsort" to order
6         case_bit_tests by decreasing number of destination nodes.
7         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
8         (expand_end_case_type): Use emit_case_bit_tests to implement
9         suitable switch statments.
10         (CASE_USE_BIT_TESTS): New target macro to disable the above.
11         * Makefile.in (stmt.o): Add dependency on optab.h.
12         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
13
14 2003-01-23  Andreas Schwab  <schwab@suse.de>
15
16         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
17         __do_global_ctors_aux hidden global and don't put it in
18         .init_array.
19         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
20         instead so that it comes first.
21
22 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
23
24         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
25         subreg is read/modify.
26
27 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
28
29         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
30         do libcall for large blocks.
31         * i386.md (comi patterns): Set type to ssecomi.
32         (sse2_unpck?pd): Fix mode of vec_select.
33
34         * cse.c: Include except.h
35         (cse_set_around_loop):  Do not create new basic blocks.
36         * Makefile.in (cse.o): Add dependnecy on except.h
37
38 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
39
40         * builtins.c (fold_trunc_transparent_mathfn): New function.
41         (fold_builtin): Use it.
42         * convert.c (convert_to_real): Re-enable code to convert
43         math functions; add support for floor familly functions.
44
45 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
46
47         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
48         dependencies on coretypes.h and $(TM_H).
49
50 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
51
52         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
53
54 2002-01-24  Stuart Hastings  <stuart@apple.com>
55
56         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
57
58 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
59
60         * config/c4x/c4x.md (UNSPEC_BU): New constants.
61         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
62         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
63         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
64         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
65         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
66         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
67         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
68
69 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
70
71         * emit-rtl.c (reg_attrs_htab): New static variable.
72         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
73         functions.
74         (reg_rtx): Do not maintain regno_decl.
75         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
76         set_mem_attrs_from_reg): New global function.
77         (init_emit): Do not initialize regno_decl.
78         (init_emit_once): initialize reg_attrs_htab.
79         * final.c (alter_subreg): Do not replace REG by SUBREG.
80         (gen_mem_expr_from_op): Improve output.
81         (output_asm_operands): Likewise.
82         * function.c (assign_params): Do not set REGNO_DECL.
83         * function.h (struct function): Kill regno_decl.
84         (REGNO_DECL): Kill.
85         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
86         * print_rtl.c (print_rtx): Output REG information.
87         * regclass.c (reg_scan_mark_refs): Update attrs.
88         * reload1.c (alter_reg): Likewise.
89         * simplify_rtx.c (simplify_subreg): Likewise.
90         * stmt.c (expand_decl): Likewise.
91         * rtl.def (REG): Add new field.
92         * rtl.h (struct reg_attrs): New.
93         (rtunion_def): At rtreg.
94         (X0MEMATTR): Add checking.
95         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
96         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
97         Declare.
98         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
99
100 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
101
102         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
103         (xtensa_emit_call, print_operand): Fix printf format strings
104         to avoid compile warnings.
105         (xtensa_function_prologue, xtensa_function_epilogue): Change type
106         of "size" argument to HOST_WIDE_INT to fix compile warnings.
107         * config/xtensa/xtensa-protos.h
108         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
109
110 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
111
112         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
113         (implicit_built_in_decls): New global array.
114         (mathfn_built_in): New global function.
115         (fold_trunc_transparent_mathfn): New static function
116         (expand_builtin_strstr, expand_bultin_strchr,
117         expand_builtin_strpbrk, expand_builtin_strcpy,
118         expand_builtin_strncpy, expand_bultin_strcmp,
119         expand_bultin_strncat, expand_builtin_fputs): Use
120         implicint_built_in_decls.
121         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
122         * builtins.def: Fix comments.
123         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
124         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
125         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
126         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
127         (DEF_C99_C90RES_BULTIN): New.
128         (*f, *l builtins): Update.
129         * c-common.c (DEF_BUILTIN): Initialize implicit array.
130         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
131         * convert.c (strip_float_extensions): New global function.
132         * tree.h (DEF_BUILTIN): Accept 10 arguments.
133         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
134         Declare.
135         * java/builtins.c (define_builtin): Handle implicit.
136         (DEF_BUILTIN): Update.
137         * tm.texi (TARGET_C99_FUNCTIONS): Document.
138         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
139         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
140         when using glibc2.
141
142 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
143
144         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
145         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
146         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
147         * config/xtensa/crti.asm: New file.
148         * config/xtensa/crtn.asm: New file.
149         * config/xtensa/t-elf: New file.
150         * config/xtensa/t-linux: New file.
151         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
152         Move various CFLAGS settings to new t-elf file.
153
154 2003-01-24  Richard Henderson  <rth@redhat.com>
155
156         PR optimization/4382
157         * tree-inline.c (find_builtin_longjmp_call_1): New.
158         (find_builtin_longjmp_call): New.
159         (inlinable_function_p): Use it.
160
161 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
162
163         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
164         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
165         * config/i386/i386.c (function_arg_pass_by_reference): New.
166         (ix86_va_arg): Support arguments passed by reference.
167
168 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
169
170         * cfgloopanal.c: New file.
171         * cfgloopmanip.c: New file.
172         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
173         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
174         cfglayout.o): Add dependency on cfgloop.h.
175         (cfgloop.o): Add flags.h dependency.
176         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
177         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
178         (struct loop, struct loops, flow_loops_find, flow_loops_update,
179         flow_loops_free, flow_loops_dump, flow_loop_dump,
180         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
181         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
182         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
183         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
184         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
185         find_common_loop, verify_loop_structure): Declarations moved to ...
186         * cfgloop.h: New file.
187         * bb-reorder.c (reorder_basic_blocks): Modified.
188         * cfglayout.c: Include cfgloop.h.
189         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
190         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
191         (break_superblocks): New static function.
192         (cfg_layout_finalize): Use it.
193         (cfg_layout_split_block): New function.
194         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
195         fields.
196         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
197         changed.
198         (cfg_layout_split_block): Declare.
199         * cfgloop.c: Include cfgloop.h and flags.h.
200         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
201         get_loop_body): Avoid signed versus unsigned comparison warnings.
202         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
203         loop_latch_edge): Modified.
204         (verify_loop_structure): Modified to use flags stored in loop structure;
205         check irreducible loops.
206         (cancel_loop, cancel_loop_tree): New functions.
207         (estimate_probability): Use loop analysis code for predictions.
208         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
209         warnings.
210         * doloop.c: Include cfgloop.h.
211         * loop.c: Include cfgloop.h.
212         * predict.c: Include cfgloop.h.
213         * toplev.c: Include cfgloop.h.
214         * unroll.c: Include cfgloop.h.
215         * tracer.c (tracer): Modified.
216
217 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
218
219         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
220
221 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
222
223         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
224         * configure: Regenerate.
225
226         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
227         (tls_symbolic_reference_mentioned_p): Add prototype.
228         (s390_tls_get_offset): Add prototype.
229         (emit_pic_move): Remove prototype, replace by ...
230         (emit_symbolic_move): .. this new prototype.
231
232         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
233         (tls_model_chars): New global variable.
234         (s390_encode_section_info): Encode TLS model.
235         Use targetm.binds_local_p to check for local symbols.
236         (s390_strip_name_encoding): New function.
237         (TARGET_STRIP_NAME_ENCODING): Define.
238
239         (get_thread_pointer): New function.
240         (legitimize_tls_address): New function. 
241         (legitimize_address): Call it.
242         (emit_pic_move): Remove, replace by ...
243         (emit_symbolic_move): ... this new function.
244
245         (larl_operand): Handle TLS operands.
246         (legitimate_constant_p): Likewise.
247         (s390_decompose_address): Likewise.
248         (s390_cannot_force_const_mem): New function.
249         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
250
251         (s390_output_symbolic_const): Handle TLS unspecs.
252         (print_operand): New code 'J'.
253         (machine_function): Add struct member 'some_ld_name'.
254         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
255
256         (enum s390_builtin): New type.
257         (code_for_builtin_64, code_for_builtin_31): New global variables.
258         (s390_init_builtins, s390_expand_builtin): New functions.
259         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
260
261         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
262         (ASM_OUTPUT_LABELREF): Define.
263         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
264
265         * config/s390/s390.md: Define TLS UNSPEC constants.
266         ("movdi", "movsi"): Handle TLS operands.
267         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
268         ("*tls_load_64", "*tls_load_31"): New insns.
269         ("call_value_tls", "call_value_tls_exp"): New expanders.
270         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31", 
271         "bas_tls_64", "bas_tls_31"): New insns.
272
273 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
274
275         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
276         spe ABI is configured, if requested.
277
278 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
279
280         * doc/passes.texi: Fix typo.
281
282 2003-01-24  Andreas Schwab  <schwab@suse.de>
283
284         * stor-layout.c (excess_unit_span): Only define if used.
285
286 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
287
288         * gcc/doc/invoke.texi (Optimization Options): List -O levels
289         for each optimization flag.
290
291 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
292
293         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
294
295 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
296
297         * doc/bugreport.texi: Use @command instead of @code for commands.
298         * doc/collect2.texi: Likewise.
299         * doc/headerdirs.texi: Likewise.
300         * doc/invoke.texi: Likewise.
301         * doc/standards.texi: Likewise.
302         * doc/tm.texi: Likewise.
303         * doc/trouble.texi: Likewise.
304
305 2003-01-24  Nick Clifton  <nickc@redhat.com>
306
307         * config/arm/arm.c (use_return_insn): Do not use a single return
308         instruction for interrupt handelrs which have to create a stack
309         frame.
310         (arm_expand_prologue): Do not pre-bias the return address of
311         interrupt handlers which create a stack frame.
312
313 2003-01-24  Nick Clifton  <nickc@redhat.com>
314
315         * Add sh2e support:
316
317         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
318
319                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
320                 med_cbranches.  Fix logic in short_cbranches.
321
322         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
323
324                 * config/sh/sh.md (delay for cbranch): Don't annul delay
325                 slots on SH2e.
326                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
327                 cbranch with unfilled delay slot on SH2e.
328                 (output_branch): Fill with a nop the delay slot of a
329                 branch that required a delay slot but didn't get one.
330
331         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
332
333                 * doc/invoke.texi (SH options): Document -m2e.
334                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
335                 * config/sh/lib1funcs.asm: Likewise.
336                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
337                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
338                 not __sh1__.
339                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
340                 SH2E up.
341                 (SH3E_BIT): Renamed to...
342                 (SH_E_BIT): ... this.  Replace all uses.
343                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
344                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
345                 (TARGET_SWITCHES): Added 2e.
346                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
347                 (processor_type): Added PROCESSOR_SH2E.
348                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
349                 TARGET_SH2E, except in sqrtsf2_i.
350                 (attribute cpu): Added sh2e.
351                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
352                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
353                 * config.gcc: Add sh2e target support.
354
355 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
356
357         Rename -W to -Wextra.
358         * c-decl.c:  Update comments.
359         * c-typeck.c:  Likewise.
360         * flags.h:  Likewise.
361         * function.c:  Likewise.
362         * stmt.c:  Likewise.
363         * toplev.c:  Update comments.
364         (W_options):  Add 'extra'.
365         (display_help):  Remove '-W'.
366         (decode_W_option):  Special warn_uninitialized treatment in the case
367         of -Wextra.
368         * doc/invoke.texi:  Update with new entries.
369
370 2003-01-23  Richard Henderson  <rth@redhat.com>
371
372         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
373         in no-else-block case.  Add commentary.
374
375 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
376
377         * configure.in: Revert last change.
378
379 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
380
381         * configure.in: Don't include ansidecl.h in tconfig.h.
382         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
383         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
384         ATTRIBUTE_UNUSED.
385
386         * configure: Regenerate.
387
388 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
389
390         PR java/6748
391         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
392         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
393         kernels.
394
395 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
396
397         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
398
399 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
400
401         * genattrtab.c (write_attr_get): Mark 'insn' paramter
402         as ATTRIBUTE_UNUSED.
403
404 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
405
406         * arm.c (thumb_base_register_rtx_p): New function.
407         (thumb_index_register_rtx_p): New function.
408         (thumb_legitimate_address_p): New function.
409         (thumb_legitimate_offset_p): New function.
410         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
411         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
412         definitions.
413         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
414         (THUMB_LEGITIMATE_OFFSET): Delte.
415         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
416         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
417         (thumb_legitimate_offset_p): Likewise.
418
419 2003-01-23  Andreas Schwab  <schwab@suse.de>
420
421         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
422
423 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
424
425         * fixinc/Makefile.in (FL_LIST): Revert last change.
426
427 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
428
429         PR other/7341
430         * invoke.texi (ftest-coverage): Fix broken cross-reference.
431         Change @code to @command for gcov command.
432
433         * gcc.texi: Adjust title of gcov section.
434         Adjust copyright.
435         * gcov.texi: Likewise.
436
437 2003-01-22  Roger Sayle  <roger@eyesopen.com>
438
439         PR optimization/8423
440         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
441         its argument is constant, or 0 if !flag_gcse.
442         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
443         if it's argument is constant.
444         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
445         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
446         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
447         * builtins.c (purge_builtin_constant_p): New function to force
448         instantiation of any remaining CONSTANT_P_RTX nodes.
449         * rtl.h (purge_builtin_constant_p): Prototype here.
450         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
451         pass after GCSE and before loop.
452         (flag_gcse): No longer static.
453         * flags.h (flag_gcse): Prototype here.
454
455 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
456
457         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
458         introduced by last change.
459
460 2003-01-22  Andreas Schwab  <schwab@suse.de>
461
462         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
463
464 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
465
466         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
467         request a scratch reg on H8S when the shift count is 8.
468
469 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
470
471         * config/s390/s390-protos.h (preferred_la_operand_p):
472         Remove second parameter.
473         * config/s390/s390.c (preferred_la_operand_p): Likewise.
474         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
475         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
476         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
477         Add peepholes to transform ADD to LOAD ADDRESS.
478
479 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
480
481         * arm.c (arm_address_register_rtx_p): New function.
482         (arm_legitimate_address_p): New function.
483         (arm_legitimate_index_p): New function.
484         (legitimize_pic_address): Use arm_legitimate_index_p.
485         * arm-protos.h (arm_legtimate_address_p): Add prototype.
486         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
487         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
488
489 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
490
491         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
492         * config/s390/2064.md (define_bypass): Correct 'Load' and
493         'Load-address' bypass values.
494         
495 2003-01-22  Andreas Schwab  <schwab@suse.de>
496
497         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
498
499 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
500
501         * genautomata.c (output_internal_insn_latency_func,
502         output_print_reservation_func): Short circuit when there is no
503         automaton to generate code for.
504
505 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
506
507         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
508         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
509
510 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
511
512         * config/rs6000/rs6000.md: Remove warning.
513         (builtin_setjmp_receiver): Likewise.
514         * config/darwin.c (update_stubs): Slightly improve terrible hack
515         with identifiers.  Add comment pointing out problems with it.
516         (update_non_lazy_ptrs): Likewise.
517
518 2003-01-21  Richard Henderson  <rth@redhat.com>
519
520         * dwarf2out.c (lookup_filename): Fix printf format warning.
521         * system.h (fread_unlocked, fwrite_unlocked): Undef.
522
523         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
524         (fixincl.o-warn, gnu-regex.o-warn): New.
525         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
526         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
527         * fixinc/fixincl.c (process): Fix printf format warning.
528
529 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
530
531         * dwarf2out (output_file_names): Don't crash if called
532         with empty file_table.
533
534 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
535
536         * genautomata.c (output_internal_insn_latency_func): Add
537         missing break statement to generated code.
538
539 2003-01-21  Roger Sayle  <roger@eyesopen.com>
540
541         * stmt.c (same_case_target_p): New function to determine whether
542         two case labels branch to the same target.  Split out from...
543         (group_case_nodes): ... here.  Use same_case_target_p instead.
544         (strip_default_case_nodes): Remove explicit case nodes
545         that branch to the default destination.
546         (expand_end_case_type): Call strip_default_case_nodes after
547         group_case_nodes, to simplify the case-list before we count it.
548         Only generate table_label RTX when actually needed.  Try to share
549         thiscase->exit_label and thiscase->data.case_stmt.default_label
550         when a switch has no explicit default case.  Simplify test for
551         constant index.
552
553 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
554
555         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
556         \t.
557         (*negsf2_h8300hs): Likewise.
558         (*addsi3_lshiftrt_16_zexthi): Likewise.
559         (*iorhi3_lshiftrt_8): Likewise.
560
561 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
562
563         * dwarf2out.c (fde_table_in_use): Mark GTY.
564         (dwarf2out_cfi_label_num): New variable, marked GTY.
565         (dwarf2out_cfi_label): Use it instead of static label_num.
566         * emit-rtl.c (label_num): Mark GTY.
567
568 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
569
570         * config/h8300/h8300.c (output_plussi): Support H8/300.
571         (compute_plussi_length): Likewise.
572         (compute_plussi_cc): Likewise.
573         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
574         output assembly instructions.
575
576 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
577
578         * calls.c (fix_unsafe_tree): Prototype.
579
580         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
581         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
582         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
583         c-parse.o-warn): Add -Wno-error.
584         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
585
586         * configure.in (--enable-werror): Add new flag.
587         * doc/install.texi (--enable-werror): Document.
588         * configure: Regenerate.
589
590         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
591
592 2003-01-21  Andreas Schwab  <schwab@suse.de>
593
594         * genautomata.c (output_internal_insn_latency_func): Fix missing
595         close paren in output.
596
597 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
598
599         * genautomata.c: Space savings in generated code:
600         (output_dfa_insn_code_func): Split out the table-enlargement
601         path to an out-of-line static function, dfa_insn_code_enlarge.
602         (output_internal_insn_latency_func): Use a lookup table for the
603         default latencies.
604         (output_print_reservation_func): Use a lookup table for the
605         strings.
606
607 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
608
609         PR opt/7507
610         * calls.c (fix_unsafe_tree): Split out from ...
611         (expand_call): ... here.  Use it on the function address too.
612
613 2003-01-20  Richard Henderson  <rth@redhat.com>
614
615         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
616
617 2003-01-20  Richard Henderson  <rth@redhat.com>
618
619         PR opt/7154
620         * stmt.c (expand_asm_operands): Validize memory operands.
621
622 2003-01-20  Richard Henderson  <rth@redhat.com>
623
624         PR opt/8848
625         * ifcvt.c (noce_process_if_block): Correct arguments to
626         modified_between_p for no-else-block case.
627
628 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
629
630         * config/h8300/h8300.c (const_costs): Remove a warning.
631         (output_plussi): Likewise.
632         (compute_plussi_length): Likewise.
633         (compute_plussi_cc): Likewise.
634
635 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
636
637         * config/h8300/h8300.md (addsi_h8300): Remove the last
638         alternative.
639
640 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
641
642         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
643
644 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
645
646         * system.h (__NO_STRING_INLINES): Define.
647
648 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
649
650         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
651         is not a scalar int mode.
652
653 2003-01-20  Roger Sayle  <roger@eyesopen.com>
654
655         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
656         insn's notes following a substitution inside a libcall.
657
658 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
659
660         * configure.in: Check for system-provided 'uchar' type.
661         * configure, config.in: Regenerate.
662         * cpphash.h: Only typedef 'uchar' if the system doesn't.
663
664 2003-01-20  Richard Henderson  <rth@redhat.com>
665
666         * expr.h (MUST_PASS_IN_STACK): Move implementation...
667         * calls.c (default_must_pass_in_stack): ... here.
668
669 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
670
671         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
672
673         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
674
675         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
676         Wrap up definition of `insn_alts'.
677
678         * genattrtab.c (main): Wrap up `insn_alts'.
679
680 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
681
682         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
683         prototyping.
684         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
685
686         * config.in, configure: Regenerate.
687
688 2003-01-20  Nick Clifton  <nickc@redhat.com>
689
690         * config/arm/arm.md (sibcall_epilogue): Add an
691         UNSPEC_PROLOGUE_USE to prevent the link register from being
692         considered dead.
693
694 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
695
696         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
697
698 2003-01-20  Andreas Schwab  <schwab@suse.de>
699
700         * system.h: Don't declare strsignal if the decl test hasn't been
701         run yet.
702
703 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
704
705         * config/h8300/h8300.c (notice_update_cc): Don't assume that
706         recog_data.operands[0] is always associated with cc0.
707
708 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
709
710         * collect2.c (ldgetname): Expand declaration to prototype.
711         * read-rtl.c (atoll): Add prototype.
712         * system.h (strsignal): Also declare if no declaration found.
713
714 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
715
716         * config.gcc (mips64*-*-linux*): Added.
717         * config/mips/linux64.h, config/mips/t-linux64: New file.
718         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
719         * config/mips/mips.c (override_options): Use it.
720         * config/mips/mips.h (TARGET_SWITCHES): Added...
721         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
722         * Makefile.in (SPECS): New.
723         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
724         * gcc.c (process_command): Move self-spec processing past spec
725         file loading.
726         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
727         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
728         CRTSTUFF_T_CFLAGS.
729         (SPECS): Document.
730         * doc/invoke.texi (-mabi-fake-default): Document.
731
732 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
733
734         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
735         z_reg, z_reg_qi): Declare static and GTY().
736         (da_reg): Remove.
737         (create_regs_rtx): Don't create da_reg.
738         ("gt-m68hc11.h"): Include for GTY roots.
739         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
740         and GTY() here.
741         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
742         (m68hc11_soft_tmp_reg): Likewise.
743         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
744
745 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
746
747         * basic-block.h: Fix comment formatting.
748         * calls.c: Likewise.
749         * combine.c: Likewise.
750         * convert.c: Likewise.
751         * gcov.c: Likewise.
752         * haifa-sched.c: Likewise.
753         * libgcc2.c: Likewise.
754         * loop.c: Likewise.
755         * profile.c: Likewise.
756         * system.h: Likewise.
757
758 2003-01-18  Roger Sayle  <roger@eyesopen.com>
759
760         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
761
762 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
763
764         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
765
766 2003-01-17  Dale Johannesen  <dalej@apple.com>
767
768         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
769           (*floatunssidf2_internal):  Ditto.
770
771 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
772
773         * alias.c: Fix comment typos.
774         * basic-block.h: Likewise.
775         * c-common.c: Likewise.
776         * c-common.h: Likewise.
777         * c-decl.c: Likewise.
778         * c-opts.c: Likewise.
779         * c-pragma.c: Likewise.
780         * c-pretty-print.h: Likewise.
781         * cfg.c: Likewise.
782         * cfganal.c: Likewise.
783         * cfgbuild.c: Likewise.
784         * cfgcleanup.c: Likewise.
785         * cfglayout.c: Likewise.
786         * cfgrtl.c: Likewise.
787         * convert.c: Likewise.
788         * cpphash.h: Likewise.
789         * cpplex.c: Likewise.
790         * cpplib.h: Likewise.
791         * df.h: Likewise.
792         * diagnostic.c: Likewise.
793         * diagnostic.h: Likewise.
794         * dwarf2.h: Likewise.
795
796 2003-01-17  Stan Shebs  <shebs@apple.com>
797
798         * config/darwin-protos.h: Forward-declare struct cpp_reader.
799
800 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
801
802         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
803         mistake in last checkin.
804
805 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
806
807         * et-forest.c: Fix comment typos.
808         * et-forest.h: Likewise.
809         * except.c: Likewise.
810         * expr.c: Likewise.
811         * flags.h: Likewise.
812         * flow.c: Likewise.
813         * gcc.c: Likewise.
814         * gcse.c: Likewise.
815         * genattrtab.c: Likewise.
816         * genautomata.c: Likewise.
817         * gengtype.c: Likewise.
818         * genrecog.c: Likewise.
819         * global.c: Likewise.
820         * gthr-rtems.h: Likewise.
821
822 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
823
824         * i386.c (x86_function_profiler): Fix format specifier.
825
826 2003-01-17  Richard Henderson  <rth@redhat.com>
827
828         * gengtype.c (walk_type): Allow paramN_is.
829
830 2003-01-17  Nick Clifton  <nickc@redhat.com>
831
832         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
833
834 2003-01-16  Richard Henderson  <rth@redhat.com>
835
836         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
837
838 2003-01-16  Richard Henderson  <rth@redhat.com>
839
840         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
841         (alpha_next_sequence_number): Likewise.
842         (alpha_this_literal_sequence_number): Likewise.
843         (alpha_this_gpdisp_sequence_number): Likewise.
844         (struct alpha_funcs, alpha_funcs_num): Likewise.
845         (struct alpha_links): Fix branch merge error.
846         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
847
848 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
849
850         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
851         R. Ghazi.
852
853 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
854
855         * ifcvt.c: Fix comment typos.
856         * lcm.c: Likewise.
857         * libgcc2.c: Likewise.
858         * local-alloc.c: Likewise.
859         * loop.c: Likewise.
860         * predict.c: Likewise.
861         * ra-build.c: Likewise.
862         * ra.c: Likewise.
863         * ra-colorize.c: Likewise.
864         * ra.h: Likewise.
865         * ra-rewrite.c: Likewise.
866         * regmove.c: Likewise.
867         * reload.h: Likewise.
868         * rtlanal.c: Likewise.
869         * toplev.c: Likewise.
870         * tree.h: Likewise.
871         * unwind-dw2-fde-glibc.c: Likewise.
872         * vmsdbgout.c: Likewise.
873
874 2003-01-16  Richard Henderson  <rth@redhat.com>
875
876         * dwarf2out.c (struct file_table): Remove.
877         (FILE_TABLE_INCREMENT): Remove.
878         (file_table): Make a varray; mark for GC.  Update all users.
879         (file_table_last_lookup_index): Extract from struct file_table.
880         (output_file_names): Fix unsigned compare warnings.
881         (add_name_attribute): Remove inline marker.
882         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
883         (lookup_filename): Don't manage size of file_table.
884         (init_file_table): Allocate file_table with GC.
885         (dwarf2out_init): Don't record main_input_filename here.
886         (dwarf2out_finish): Do it here instead.
887
888 2003-01-16  Bruce Korb  <bkorb@gnu.org>
889
890         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
891
892 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
893
894         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
895         instead of rotldi3_mextr.
896
897 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
898
899         * haifa-sched.c (move_insn): Restore moving all schedule group.
900         (set_priorities): Restore taking SCHED_GROUP_P into account.
901
902         * sched-deps.c (add_dependence): Restore processing the last group
903         insn.
904         (remove_dependence, group_leader): Restore the functions.
905         (set_sched_group_p): Restore adding dependencies from previous insn
906         in the group.
907         (compute_forward_dependences): Restore usage of group_leader.
908
909         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
910         account.
911
912         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
913         account.
914         (can_schedule_ready_p): Ditto.
915         (add_branch_dependences): Restore skipping over the group insns.
916
917 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
918
919         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
920         68HC12 pre/post inc/dec side effects.
921
922 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
923
924         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
925
926 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
927
928         * sh.md (mshflo_w_x): Fix description of operation.
929
930 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
931
932         * config/rs6000/rs6000.h: Mention Altivec registers in
933         commentary.  Fix typo.
934
935 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
936
937         * config/rs6000/rs6000.md (movti_string): Remove clobber.
938         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
939         generate PARALLEL with clobber for TARGET_POWER.
940
941 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
942
943         * ra-colorize.c (colorize_one_web): Initialize variable.
944         * regmove.c (fixup_match_1): Likewise.
945         * reload1.c (reload_as_needed): Likewise.
946         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
947
948 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
949
950         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
951
952 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
953
954         * dbxout.c (lastfile, cwd): Fix `unused' warning.
955         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
956         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
957         is_main_source, file_table, decl_die_table_in_use,
958         abbrev_die_table_in_use, line_info_table_in_use,
959         separate_line_info_table_in_use, pubname_table_in_use,
960         arange_table_in_use, ranges_table_in_use,
961         current_function_has_inlines): Likewise.
962         * flow.c (life_analysis): Likewise.
963         * genemit.c (gen_insn): Likewise.
964         * protoize.c (cplus_suffix): Likewise.
965
966         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
967         * arm.h (ROUND_UP_WORD): Likewise.
968
969         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
970         warning.
971         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
972         init_emit_once): Likewise.
973         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
974         Likewise.
975         * function.c (assign_stack_temp_for_type): Likewise.
976         * loop.c (loop_invariant_p): Likewise.
977         * recog.c (push_operand): Likewise.
978         * regclass.c (init_reg_sets_1): Likewise.
979         * reload.c (update_auto_inc_notes): Likewise.
980         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
981         * stmt.c (expand_asm_operands): Likewise.
982         * stor-layout.c (start_record_layout): Likewise.
983
984 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
985
986         * config/c4x/c4x.md (epilogue): Correct last patch.
987
988 2003-01-15  Richard Henderson  <rth@redhat.com>
989
990         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
991         also check that GP is being used.
992         (alpha_find_lo_sum_using_gp): New.
993         (alpha_does_function_need_gp): Use get_attr_usegp.
994         * config/alpha/alpha-protos.h: Update.
995         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
996         as needed.
997
998 2003-01-15  Roger Sayle  <roger@eyesopen.com>
999
1000         * gcse.c (one_cprop_pass): Change function arguments to take both
1001         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
1002         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
1003         (bypass_jumps): New function to perform separate jump bypassing pass.
1004         * rtl.h (bypass_jumps): Add function prototype.
1005         * timevar.def (TV_BYPASS): New timing variable.
1006         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
1007         (dump_file): New entry for the bypass RTL dump file.
1008         (rest_of_compilation): Insert new jump bypassing optimization
1009         pass after loop.
1010         * doc/passes.texi: Document new pass.
1011
1012 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1013
1014         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
1015         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
1016         * pa.h (TARGET_SOM_SDEF): Define.
1017         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
1018
1019 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
1020
1021         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
1022         allocate 4-bytes of locals on 68HC11.
1023         (expand_epilogue): Likewise.
1024         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
1025
1026 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
1027
1028         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
1029         and -mshort-double to the assembler to specify the ABI.
1030         (LINK_SPEC): Likewise.
1031         (CPP_SPEC): Pass HCS12 specific define.
1032         (MASK_M68S12): New define.
1033         (TARGET_M68S12): Likewise.
1034         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
1035         (TARGET_VERSION): Update.
1036         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
1037         (LINK_SPEC): Update.
1038         (ASM_SPEC): Update.
1039         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
1040         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
1041
1042 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
1043
1044         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
1045         the return code.
1046
1047 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
1048
1049         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
1050         flag before setting it.
1051
1052 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1053
1054         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
1055         when loop condition is known true, i.e.  "while (1) { ... }".
1056         (genrtl_for_stmt): Similarly for "for" statements.
1057
1058 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1059
1060         * real.c (real_sqrt): Return a bool result indicating whether
1061         a floating point exception or trap should be raised.
1062         * real.h (real_sqrt): Update function prototype.
1063         * builtins.c (fold_builtin): Only fold non-trapping square
1064         roots unless we're ignoring errno and trapping math.
1065
1066 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
1067
1068         * expr.h (emit_conditional_add): Add PARAMS to declaration.
1069         * gengtype-lex.l (malloc, realloc): Move defines after include of
1070         system.h.  Remove duplicate include of system.h.
1071
1072 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1073
1074         PR middle-end/9009
1075         * optabs.c (expand_unop):  When manipulating the FP sign bit
1076         using integer operations, account for targets with different
1077         integer and FP word orders.
1078         (expand_abs): Likewise.
1079
1080 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
1081
1082         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
1083         file extension in section name.
1084
1085 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
1086
1087         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
1088         constant offset.
1089
1090 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
1091
1092         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
1093         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
1094         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
1095         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1096
1097 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
1098
1099         PR f/9258
1100         * global.c (struct allocno): Add no_stack_reg.
1101         (global_conflicts): Set no_stack_reg.
1102         (find_reg): Use it.
1103
1104         * convert.c (convert_to_real): Fold - and abs only when profitable.
1105         * fold-const.c (fold): Fold truncates in - and abs.
1106
1107 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
1108
1109         Segher Boessenkool  <segher@koffie.nl>
1110
1111         * predict.c (real_inv_br_prob_base): New variable.
1112         (propagate_freq): Use multiply by reciprocal instead of
1113         division.  Don't divide by 1.0 at all.
1114         (estimate_bb_frequencies): Similar.
1115
1116 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
1117
1118         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
1119         * configure: Rebuilt.
1120
1121 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
1122
1123         * config/s390/s390.c (s390_safe_attr_type): New function.
1124         (s390_use_dfa_pipeline_interface): New function, return true for z900.
1125         (s390_issue_rate): New function.
1126         (s390_agen_dep_p): New function.
1127         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
1128         (s390_adjust_cost): Return 'cost' if new DFA is used.
1129         (s390_adjust_priority): Delete function.
1130         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
1131         * config/s390/s390.md (atype attribute): Attribute 'atype' default
1132         determined by 'op_type'.
1133         (type attribute): Added more type attributes.
1134         * config/s390/2064.md: New DFA description for z900 pipeline.
1135
1136 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
1137
1138         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
1139         forced to memory.  Fixes PR bootstrap/9036.
1140
1141         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
1142         to set $gp before the call.
1143
1144 2003-01-14  Richard Henderson  <rth@redhat.com>
1145
1146         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
1147         for force_const_mem.
1148
1149 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1150
1151         * genattr.c (main): Rearrange output to avoid prototype warning.
1152         * genautomata.c (transform_3): Fix ambiguous-else warning.
1153         * local-alloc.c (requires_inout): Add parentheses around
1154         assignment used as truth-value.
1155         * timevar.c: Move system includes above local includes.  Include
1156         toplev.h
1157         * Makefile.in (timevar.o): Depend on toplev.h.
1158
1159 2003-01-14  Denis Chertykov  <denisc@overta.ru>
1160
1161         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
1162         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
1163
1164         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
1165         attributes.
1166         (TARGET_ATTRIBUTE_TABLE): New macro.
1167         (valid_machine_type_attribute): Remove.
1168         (valid_machine_decl_attribute): Remove.
1169         (ip2k_handle_progmem_attribute): New function.
1170         (ip2k_handle_fndecl_attribute): New function.
1171
1172 2003-01-10  Andrew Haley  <aph@redhat.com>
1173
1174         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
1175         registers to be in correct order.  Add rip.
1176
1177 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
1178
1179         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
1180         (*iorsi3_and_lshiftrt_9_sb): Likewise.
1181
1182 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1183
1184         * convert.c (strip_float_extensions):  Look for narrowest type handling
1185         FP constants.
1186
1187         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
1188         float1 CMP float2.
1189         * convert.c (strip_float_extensions): Make global.
1190         * tree.h (strip_float_extensions): Declare.
1191
1192 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1193
1194         * timevar.def: define TV_NAME_LOOKUP.
1195         * timevar.c (timevar_pop): Be verbose when aborting.
1196
1197 2003-01-13  Andreas Schwab  <schwab@suse.de>
1198
1199         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
1200         $(parsedir), just move the temporary file at the end.
1201         ($(parsedir)/gengtype-yacc.c): Likewise.
1202
1203 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
1204
1205         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
1206         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
1207         splitting.
1208         * configure: Rebuilt.
1209
1210 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1211
1212         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
1213         internal_mcount): Don't use PARAMS.
1214         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
1215         ISO C style.
1216         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
1217
1218 2003-01-13  Andreas Schwab  <schwab@suse.de>
1219
1220         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
1221         directive.
1222
1223 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
1224
1225         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
1226         (*iorsi3_and_lshiftrt_n_sb): Likewise.
1227
1228 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
1229
1230         PR c++/9264
1231         * c-lex.c (c_lex): Set the token value to error_mark_node for
1232         invalid numeric constants.
1233
1234 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1235
1236         * c-pch.c (asm_file_startpos): Change to `long'.
1237         (pch_init): Use ftell, not ftello.
1238         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
1239         Use `long' instead of `off_t'.
1240         (c_common_read_pch): Likewise.
1241         * ggc-common.c (gt_pch_save): Use long/ftell instead of
1242         off_t/ftello.
1243
1244 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
1245
1246         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
1247
1248 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
1249
1250         * arm-protos.h (struct cpp_reader): Add declaration.
1251
1252 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
1253
1254         PR target/9068
1255         * i386.c (output_fp_compare): Fix typo.
1256
1257 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
1258
1259         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
1260
1261 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
1262
1263         * Makefile.in (parsedir): New variable.
1264         (docobjdir): New variable.
1265         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
1266         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
1267         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
1268         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
1269         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
1270         Use docobjdir.
1271         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
1272         objc.maintainer-clean): Use parsedir.
1273
1274         * varasm.c (struct constant_descriptor_rtx): Remove unused
1275         `label' field.
1276
1277         * toplev.c (documented_lang_options): Document -Winvalid-pch.
1278
1279 2003-01-10  Richard Henderson  <rth@redhat.com>
1280
1281         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
1282         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
1283
1284 2003-01-10  Richard Henderson  <rth@redhat.com>
1285
1286         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
1287         not INTEGRAL_MODE_P when widening extensions.
1288
1289 2003-01-10  Richard Henderson  <rth@redhat.com>
1290
1291         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
1292
1293 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
1294
1295         * ggc-page.c (ggc_collect): Avoid overflow computing
1296         min_expand.
1297
1298         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
1299         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
1300         Remove calls.
1301         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
1302
1303 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
1304
1305         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
1306         with weird operands.
1307
1308 2003-01-10  Dale Johannesen <dalej@apple.com>
1309
1310         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
1311         parameters.  Call check_sibcall_argument_overlap if indicated.
1312         (check_sibcall_argument_overlap):  Add mark_stored_args_map
1313         parameter.  Don't mark parameter area as clobbered if not set.
1314         (expand_call):  Adjust calls to above.
1315
1316 2003-01-10 Kelley Cook <kelleycook@comcast.net>
1317
1318         * configure.in (linker read-only and read-write section mixing):
1319         Squelch some assembler warnings.
1320         * configure: Likewise.
1321
1322 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
1323
1324         * doc/invoke.texi: Document -mtune, delete -mcpu
1325         option for S/390 and zSeries.
1326         * config/s390/s390.c (s390_tune_string) New variable.
1327         (s390_cpu_string) Delete variable.
1328         (override_options): Use s390_tune_string instead of
1329         s390_cpu_string.
1330         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
1331
1332 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
1333
1334         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
1335
1336 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
1337
1338         * jump.c (next_nonnote_insn_in_loop): New function.
1339         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
1340         next_nonnote_insn.
1341         (duplicate_loop_exit_test). Likewise.
1342
1343 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
1344
1345         Merge from pch-branch:
1346
1347         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
1348
1349         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
1350         load.
1351
1352         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
1353
1354         * cpplib.c (count_registered_pragmas): New function.
1355         (save_registered_pragmas): New function.
1356         (_cpp_save_pragma_names): New function.
1357         (restore_registered_pragmas): New function.
1358         (_cpp_restore_pragma_names): New function.
1359         * cpphash.h (_cpp_save_pragma_names): Prototype.
1360         (_cpp_restore_pragma_names): Likewise.
1361         * cpppch.c (struct save_macro_item): Split from save_macro_data.
1362         (struct save_macro_data): New field 'saved_pragmas'.
1363         (save_macros): Update for changes to struct save_macro_data.
1364         (cpp_prepare_state): Call _cpp_save_pragma_names, update
1365         for changes to struct save_macro_data.
1366         (cpp_read_state): Call _cpp_restore_pragma_names, update
1367         for changes to struct save_macro_data.
1368
1369         * cpppch.c (cpp_read_state): Restore the hashtable references
1370         in the cpp_reader.
1371
1372         * tree.h (built_in_decls): Mark for PCH.
1373
1374         * dbxout.c (lastfile): Don't mark for PCH.
1375
1376         * ggc.h: Document PCH calls into memory managers.
1377
1378         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
1379
1380         * doc/invoke.texi (Precompiled Headers): Document the
1381         directory form of PCH.
1382         * cppfiles.c (validate_pch): New function.
1383         (open_file_pch): Search suitably-named directories for PCH files.
1384
1385         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
1386
1387         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
1388         reorder options.
1389         (Type Information): Mention that the information is also
1390         used to implement PCH.
1391         * doc/passes.texi (Passes): Improve documentation of
1392         language-specific files.
1393
1394         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
1395
1396         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
1397         (struct walk_type_data): Add reorder_fn field.
1398         (walk_type): Process 'reorder' option.
1399         (write_types_process_field): Reorder parameters to gt_pch_note_object,
1400         call reorder_note_routine.
1401         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
1402         (ggc_wtd): Update for change to struct write_types_data.
1403         (pch_wtd): Likewise.
1404         * ggc.h (gt_pch_note_object): Reorder parameters.
1405         (gt_handle_reorder): New definition.
1406         (gt_pch_note_reorder): New prototype.
1407         * ggc-common.c (struct ptr_data): Add reorder_fn.
1408         (gt_pch_note_object): Reorder parameters.
1409         (gt_pch_note_reorder): New.
1410         (gt_pch_save): Call reorder_fn.
1411         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
1412
1413         * dbxout.c (cwd): Don't mark for PCH.
1414
1415         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
1416
1417         * gengtype.c (finish_root_table): Fix some warnings.
1418         (write_root): Handle TYPE_STRING.
1419         * ggc.h (gt_ggc_m_S): Add prototype.
1420         * stringpool.c (gt_ggc_m_S): New function.
1421
1422         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
1423
1424         * dwarf2out.c (dw2_string_counter): New.
1425         (AT_string_form): Use it.
1426         (same_dw_val_p): Update for removal of hashtable.h hash tables.
1427
1428         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1429
1430         * dbxout.c: Include gt-dbxout.h.
1431         (lastfile): Mark for PCH/GGC.
1432         (cwd): Likewise.
1433         (struct typeinfo): Likewise.
1434         (typevec): Likewise.
1435         (typevec_len): Likewise.
1436         (next_type_number): Likewise.
1437         (struct dbx_file): Likewise.
1438         (current_file): Likewise.
1439         (next_file_number): Likewise.
1440         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
1441         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
1442         (dbxout_end_source_file): Don't free struct dbx_file.
1443         (dbxout_type): Use GGC to allocate typevec.
1444         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
1445         (GTFILES): Add dbxout.c.
1446         (gt-dbxout.h): New rule.
1447
1448         * Makefile.in (c-pch.o): Add debug.h as dependency.
1449         * c-pch.c: Include debug.h.
1450         (pch_init): Call start_source_file to keep nesting right.
1451         (c_common_read_pch): Add orig_name parameter.  Call
1452         start_source_file debug hook.  Call end_source_file debug hook.
1453         * c-common.h (c_common_read_pch): Update prototype.
1454         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
1455         callback.
1456         * cppfiles.c (struct include_file): Add new field `header_name'.
1457         (find_or_create_entry): Default it to `name'.
1458         (open_file_pch): Set it to the original header file searched for.
1459         (stack_include_file): Don't stack an empty buffer, just handle
1460         PCH files immediately.  Pass header_name field to read_pch callback.
1461
1462         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
1463
1464         * function.c (funcdef_no): Mark to be saved in a PCH.
1465
1466         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
1467
1468         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
1469
1470         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
1471
1472         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
1473
1474         * optabs.h (code_to_optab): Add GTY marker.
1475
1476         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
1477
1478         * Makefile.in (GTFILES): Add cpplib.h.
1479         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
1480         * c-decl.c (build_compound_literal): Don't use var_labelno.
1481         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
1482         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
1483         * varasm.c (const_labelno): Use gengtype to mark.
1484         (var_labelno): Likewise.
1485         (in_section): Likewise.
1486         (in_named_name): Likewise.
1487         (struct in_named_entry): Likewise.
1488         (in_named_htab): Likewise.
1489         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
1490         (init_varasm_once): Use GGC to allocate in_named_htab.
1491         * config/darwin.c (current_pic_label_num): Mark for PCH.
1492
1493         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
1494
1495         * ggc-simple.c (init_ggc_pch): New stub procedure.
1496         (ggc_pch_count_object): Likewise.
1497         (ggc_pch_total_size): Likewise.
1498         (ggc_pch_this_base): Likewise.
1499         (ggc_pch_alloc_object): Likewise.
1500         (ggc_pch_prepare_write): Likewise.
1501         (ggc_pch_write_object): Likewise
1502         (ggc_pch_finish): Likewise.
1503         (ggc_pch_read): Likewise.
1504
1505         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
1506
1507         * c-pch.c (c_common_write_pch): Write the macro definitions after
1508         the GCed data.
1509         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
1510         definitions after the GCed data.
1511         * cpplib.c (save_macros): New.
1512         (reset_ht): New.
1513         (cpp_write_pch_deps): Split out of cpp_write_pch.
1514         (cpp_write_pch_state): Split out of cpp_write_pch.
1515         (cpp_write_pch): Delete.
1516         (struct save_macro_data): Delete.
1517         (cpp_prepare_state): New.
1518         (cpp_read_state): Erase and restore initial macro definitions.
1519         * cpplib.h (struct save_macro_data): Forward-declare.
1520         (cpp_write_pch_deps): Prototype.
1521         (cpp_write_pch_state): Prototype.
1522         (cpp_write_pch): Delete prototype.
1523         (cpp_prepare_state): Prototype.
1524         (cpp_read_state): Add fourth argument.
1525
1526         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
1527
1528         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
1529         (write_array): Remove warning.
1530
1531         * gengtype.c (contains_scalar_p): New.
1532         (finish_root_table): Add the table to all languages, even if it's
1533         empty.
1534         (write_roots): Output gt_pch_scalar_rtab.
1535         * ggc-common.c (gt_pch_save): Write out scalars.
1536         (gt_pch_restore): Read scalars back.
1537
1538         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
1539         (struct page_entry): Delete pch_page field.
1540         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
1541         (clear_marks): Likewise.
1542         (sweep_pages): Likewise.
1543         (poison_pages): Likewise.
1544         (ggc_print_statistics): Likewise.
1545         (ggc_pch_read): Don't free objects read from a PCH.
1546         Properly set up in_use_p and page_tails.
1547
1548         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
1549
1550         * gengtype.c (struct write_types_data): New.
1551         (struct walk_type_data): Make `cookie' const; add extra
1552         prev_val item; add `orig_s' field.
1553         (walk_type): Update prev_val[3].
1554         (write_types_process_field): New.
1555         (write_func_for_structure): Take write_types_data structure.
1556         (write_types): New.
1557         (ggc_wtd): New.
1558         (pch_wtd): New.
1559         (write_types_local_process_field): New.
1560         (gc_mark_process_field): Delete.
1561         (write_local_func_for_structure): New.
1562         (gc_mark_func_name): Delete.
1563         (write_gc_types): Delete.
1564         (write_local): New.
1565         (finish_root_table): Don't include 'ggc_' in PFX.
1566         (write_root): Rename from write_root.  Fill pchw field of structures.
1567         (write_array): New.
1568         (write_roots): Rename from write_gc_roots.  Split out to write_array.
1569         Update to changes to other routines.  Write gt_pch_cache_rtab table.
1570         (main): Write PCH walking routines.
1571         * ggc-common.c: Include toplev.h, sys/mman.h.
1572         (ggc_mark_roots): For cache hashtables, also mark the hash table
1573         and the array of entries.
1574         (saving_htab): New.
1575         (struct ptr_data): New.
1576         (POINTER_HASH): New.
1577         (gt_pch_note_object): New.
1578         (saving_htab_hash): New.
1579         (saving_htab_eq): New.
1580         (struct traversal_state): New.
1581         (call_count): New.
1582         (call_alloc): New.
1583         (compare_ptr_data): New.
1584         (relocate_ptrs): New.
1585         (write_pch_globals): New.
1586         (struct mmap_info): New.
1587         (gt_pch_save): New.
1588         (gt_pch_restore): New.
1589         * ggc-page.c (ROUND_UP_VALUE): New.
1590         (ROUND_UP): New.
1591         (struct page_entry): Add field `pch_page'.
1592         (init_ggc): Use ROUND_UP.
1593         (struct ggc_pch_data): Declare.
1594         (init_ggc_pch): New.
1595         (ggc_pch_count_object): New.
1596         (ggc_pch_total_size): New.
1597         (ggc_pch_this_base): New.
1598         (ggc_pch_alloc_object): New.
1599         (ggc_pch_prepare_write): New.
1600         (ggc_pch_write_object): New.
1601         (ggc_pch_finish): New.
1602         (ggc_pch_read): New.
1603         * ggc.h (gt_pointer_operator): New.
1604         (gt_note_pointers): New.
1605         (gt_pch_note_object): New prototype.
1606         (gt_pointer_walker): New.
1607         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
1608         (LAST_GGC_ROOT_TAB): Update.
1609         (gt_pch_cache_rtab): Declare.
1610         (gt_pch_scalar_rtab): Declare.
1611         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
1612         (LAST_GGC_CACHE_TAB): Update.
1613         (gt_pch_save_stringpool): Declare.
1614         (gt_pch_restore_stringpool): Declare.
1615         (gt_pch_p_S): Declare.
1616         (gt_pch_n_S): Declare.
1617         (struct ggc_pch_data): Forward-declare.
1618         (init_ggc_pch): Declare.
1619         (ggc_pch_count_object): Declare.
1620         (ggc_pch_total_size): Declare.
1621         (ggc_pch_this_base): Declare.
1622         (ggc_pch_alloc_object): Declare.
1623         (ggc_pch_prepare_write): Declare.
1624         (ggc_pch_write_object): Declare.
1625         (ggc_pch_finish): Declare.
1626         (ggc_pch_read): Declare.
1627         (gt_pch_save): Declare.
1628         (gt_pch_restore): Declare.
1629         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
1630         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
1631         const_double_htab, mem_attrs_htab using GGC.
1632         * c-pch.c: Include ggc.h.
1633         (pch_init): Allow reading PCH file back.
1634         (c_common_write_pch): Call gt_pch_save.
1635         (c_common_read_pch): Call gt_pch_restore.
1636         * c-parse.in (init_reswords): Delete now-untrue comment.
1637         Allocate ridpointers using GGC.
1638         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
1639         calling expand_deferred_fns.
1640         * c-common.h (ridpointers): Mark for GTY machinery.
1641         * Makefile.in (stringpool.o): Update dependencies.
1642         (c-pch.o): Update dependencies.
1643         (ggc-common.o): Update dependencies.
1644         * stringpool.c: Include gt-stringpool.h.
1645         (gt_pch_p_S): New.
1646         (gt_pch_n_S): New.
1647         (struct string_pool_data): New.
1648         (spd): New.
1649         (gt_pch_save_stringpool): New.
1650         (gt_pch_restore_stringpool): New.
1651         * tree.c (init_ttree): Make type_hash_table allocated using GC.
1652
1653         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
1654
1655         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1656         (output_mangled_typename): Don't pass size_t to printf.
1657
1658         * tree.h (union tree_type_symtab): Add tag to `address' field.
1659         (union tree_decl_u2): Add tag to 'i' field.
1660         * varasm.c (union rtx_const_un): Add tags to all fields.
1661         * gengtype.c (struct walk_type_data): New.
1662         (output_escaped_param): Take struct walk_type_data parameter.
1663         (write_gc_structure_fields): Delete.
1664         (walk_type): New.
1665         (write_gc_marker_routine_for_structure): Delete.
1666         (write_func_for_structure): New.
1667         (gc_mark_process_field): New.
1668         (gc_mark_func_name): New.
1669         (gc_counter): Delete.
1670         (write_gc_types): Use write_func_for_structure.
1671         (write_gc_roots): Use walk_type.
1672
1673         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
1674
1675         * ggc-common.c (ggc_mark_roots): Delete 'x'.
1676         (ggc_splay_dont_free): Fix warning about unused 'x'.
1677         (ggc_print_common_statistics): Remove warnings.
1678
1679         2002-10-01  Mike Stump  <mrs@apple.com>
1680
1681         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1682         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
1683
1684         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
1685             Catherine Moore  <clm@redhat.com>
1686
1687         * Makefile (c-pch.o): Update dependencies.
1688         (LIBCPP_OBJS): Add cpppch.o.
1689         (cpppch.o): New.
1690         * c-common.c (c_common_init): Don't call pch_init here.
1691         * c-common.h (c_common_read_pch): Update prototype.
1692         * c-lex.c (c_common_parse_file): Call pch_init here.
1693         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1694         (c_common_decode_option): Handle them.
1695         * c-pch.c: Include c-pragma.h.
1696         (save_asm_offset): Delete.
1697         (pch_init): Move contents of save_asm_offset into here, call
1698         cpp_save_state.
1699         (c_common_write_pch): Call cpp_write_pch.
1700         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1701         cpp_valid_state.
1702         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1703         * cppfiles.c (stack_include_file): Update for change to
1704         parameters of cb.read_pch.
1705         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1706         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1707         `restore_pch_deps' fields.
1708         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1709         (cpp_save_state): Prototype.
1710         (cpp_write_pch): Prototype.
1711         (cpp_valid_state): Prototype.
1712         (cpp_read_state): Prototype.
1713         * cpppch.c: New file.
1714         * flags.h (version_flag): Remove prototype.
1715         * mkdeps.c (deps_save): New.
1716         (deps_restore): New.
1717         * mkdeps.h (deps_save): Prototype.
1718         (deps_restore): Prototype.
1719         * toplev.c (late_init_hook): Delete.
1720         (version_flag): Make static again.
1721         (compile_file): Don't call late_init_hook.
1722         * toplev.h (late_init_hook): Delete.
1723         * doc/cppopts.texi: Document -fpch-deps.
1724         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1725
1726         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1727
1728         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1729         callers.
1730         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1731         (c_common_read_pch): Rename from c_read_pch, change callers.
1732
1733         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1734         a space between it and its argument.
1735
1736         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1737
1738         * c-pch.c: New file.
1739         * toplev.h (late_init_hook): Declare.
1740         * toplev.c (late_init_hook): Define.
1741         (version_flag): Make globally visible.
1742         (compile_file): Call late_init_hook.
1743         (init_asm_output): Make output file seekable.
1744         * gcc.c (default_compilers): Update c-header rule.
1745         * flags.h (version_flag): Declare.
1746         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1747         fields.
1748         * cppfiles.c (struct include_file): Add 'pch' field.
1749         (INCLUDE_PCH_P): New.
1750         (open_file_pch): New.
1751         (stack_include_file): Handle PCH files specially.
1752         (find_include_file): Call open_file_pch instead of open_file.
1753         (_cpp_read_file): Explain why open_file is used instead of
1754         open_file_pch.
1755         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1756         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1757         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1758         in cpplib callbacks.
1759         * c-common.c (pch_file): Correct comment.
1760         (allow_pch): Define.
1761         (c_common_init): Call pch_init.
1762         * c-common.h (allow_pch): Declare.
1763         (pch_init): Declare.
1764         (c_valid_pch): Declare.
1765         (c_read_pch): Declare.
1766         (c_write_pch): Declare.
1767         * Makefile.in (c-pch.o): New.
1768         (C_AND_OBJC_OBJS): Add c-pch.o.
1769         * doc/invoke.texi (Precompiled Headers): Add index entries,
1770         complete truncated paragraph.
1771
1772         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1773
1774         * c-common.c: (pch_file): Define.
1775         * c-common.h (pch_file): Declare.
1776         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1777         (missing_arg): Require --output-pch= to have an argument.
1778         (c_common_decode_option): Handle --output-pch=.
1779         * gcc.c: Document new %V.
1780         (default_compilers): Handle compiling C header files.
1781         (do_spec_1): Implement %V.
1782         (main): Handle "gcc foo.h" without trying to run linker.
1783         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1784         (Overall Options): Document what the driver does with header files,
1785         document new -x option possibilities.
1786         (Invoking G++): More documentation for PCH.
1787         (Precompiled Headers): New.
1788
1789         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1790
1791         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1792         organized.
1793         (ggc_add_root): Delete.
1794         (ggc_mark_rtx): Delete.
1795         (ggc_mark_tree): Delete.
1796         (struct ggc_statistics): Remove contents.
1797         * ggc-common.c: Remove unneeded includes.
1798         (struct ggc_root): Delete.
1799         (roots): Delete.
1800         (ggc_add_root): Delete.
1801         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1802         (ggc_print_common_statistics): Remove most of the contents.
1803         * Makefile.in (GGC_H): No longer uses varray.h.
1804         (ggc-common.o): Update dependencies.
1805         (c-parse.o): Add varray.h to dependencies.
1806         (c-common.o): Add varray.h.
1807         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1808         (mark_ident_hash): Rename to ggc_mark_stringpool.
1809         (init_stringpool): Don't use ggc_add_root.
1810         * c-parse.in: Include varray.h.
1811         * c-common.c: Include varray.h.
1812         * objc/Make-lang.in (objc-act.o): Add varray.h.
1813         * objc/objc-act.c: Include varray.h.
1814
1815         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1816
1817         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1818         (dw_cfi_oprnd1_desc): Likewise.
1819
1820         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1821
1822         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1823         move out of ifdef.
1824         (alpha_links): Use gengtype to mark; move out of ifdef.
1825         (mark_alpha_links_node): Delete.
1826         (mark_alpha_links): Delete.
1827         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1828         alpha_links, strings.  Don't use ggc_add_root.
1829         * ggc-common.c (ggc_splay_alloc): New.
1830         (ggc_splay_dont_free): New.
1831         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1832         (ggc_mark_tree): Likewise.
1833         (splay_tree_new_ggc): New.
1834         (ggc_splay_alloc): Declare.
1835         (ggc_splay_dont_free): Declare.
1836         * dwarf2asm.c: Include gt-dwarf2asm.h.
1837         (mark_indirect_pool_entry): Delete.
1838         (mark_indirect_pool): Delete.
1839         (indirect_pool): Use gengtype to mark.
1840         (dw2_force_const_mem): Don't use ggc_add_root.
1841         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1842         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1843         (gt-dwarf2asm.h): Depend on s-gtype.
1844
1845         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1846
1847         * tree.h (union tree_type_symtab): Mark `die' field.
1848         * Makefile.in (dwarf2out.o): Update dependencies.
1849         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1850         hash tables.
1851         (dw_cfi_oprnd1_desc): New function.
1852         (dw_cfi_oprnd2_desc): New function.
1853         (indirect_string_alloc): Delete.
1854         (debug_str_do_hash): New function.
1855         (debug_str_eq): New function.
1856         (mark_limbo_die_list): Delete.
1857         (dwarf2out_init): Don't call ggc_add_root.
1858
1859 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1860
1861         The following changes are merged from itanium-sched-branch:
1862
1863         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1864
1865         * doc/md.texi: Clarify assignment of units to automata description.
1866
1867         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1868
1869         * genautomata.c (unit_decl): Remove members
1870         `the_same_automaton_unit' and
1871         `the_same_automaton_message_reported_p'.
1872         (process_unit_to_form_the_same_automaton_unit_lists,
1873         form_the_same_automaton_unit_lists_from_regexp,
1874         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1875         Remove them.
1876         (annotation_message_reported_p): New global variable.
1877         (check_unit_distribution_in_reserv,
1878         check_regexp_units_distribution): New functions.
1879         (check_unit_distributions_to_automata): Rewrite it.
1880
1881         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1882
1883         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1884         Use continue instead of break if cycle is too big.
1885
1886         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1887
1888         * genautomata.c (check_unit_distributions_to_automata): Output at
1889         most one message for a unit.
1890         (process_unit_to_form_the_same_automaton_unit_lists): Check
1891         automaton of units instead of units themself.
1892
1893         * doc/md.texi: Describe the constraint about assigning unit to
1894         automata.
1895
1896         2002-12-20  Jan Hubicka  <jH@suse.cz>
1897                     Vladimir Makarov  <vmakarov@redhat.com>
1898
1899         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1900         and `in_set_p'.
1901         (gen_cpu_unit): Initialize the new members.
1902         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1903         up `min_occ_cycle_num'.
1904         (evaluate_max_reserv_cycles): Change the function call.
1905         (CLEAR_BIT): New macro.
1906         (states_union, state_shift): Use the mask.
1907         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1908         (form_reservs_matter): New function.
1909         (make_automaton): Call the function and use the mask.
1910         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1911         account.
1912
1913         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1914
1915         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1916
1917         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1918
1919         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1920         for Itanium.
1921
1922         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1923
1924         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1925         default cpu.
1926
1927         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1928                 2002-10-31  Dale Johannesen <dalej@apple.com>
1929
1930         * haifa-sched.c (find_set_reg_weight): New function.
1931         (find_insn_reg_weight): Use the new function.
1932         (schedule_block): Do sorting ready queue always
1933         after insn issue.
1934
1935         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1936
1937         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1938
1939         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1940
1941         * haifa-sched.c (choice_entry): New structure.
1942         (choice_stack, cycle_issued_insns): New variables.
1943         (max_issue): Rewrite it.
1944         (choose_ready): Set up ready_try for unknown insns too.
1945         (schedule_block): Allocate and free choice_stack.  Set up
1946         and modify cycle_issued_insns.
1947
1948         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1949         with and without filling the bundle.
1950         (bundling): Combine calls of issue_nops_and_insn.
1951
1952         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1953
1954         * config/ia64/itanium1.md: New file.
1955
1956         * config/ia64/itanium2.md: New file.
1957
1958         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1959         Remove the old pipeline description.
1960
1961         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1962         itanium processor names.
1963
1964         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1965
1966         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1967         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1968
1969         * config/ia64/ia64.md: Add descriptions for Itanium2.
1970
1971         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1972
1973         * config/ia64/ia64.h (processor_type): New enumeration.
1974         (ia64_tune, ia64_tune_string): New external declarations.
1975         (TARGET_OPTIONS): Add option `tune='.
1976
1977         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1978         variables.
1979         (ia64_override_options): Set up `ia64_tune'.
1980         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1981         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1982         (bundling): Add nops for MM-insns only for Itanium.
1983         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1984         Itanium.
1985
1986         * config/ia64/ia64.md (cpu): New attribute.
1987         (DFA description): Enable it only for Itanium.
1988
1989         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1990                     Richard Henderson  <rth@redhat.com>
1991
1992         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1993         MASK_EARLY_STOP_BITS.
1994         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1995         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1996         `early-stop-bits'.
1997
1998         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1999         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
2000         instead of TARGET_TUNE_STOP_BITS.
2001
2002         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
2003         `-mearly-stop-bits'.
2004
2005         * config/ia64/ia64.c (automata_option "v"): Comment it.
2006
2007         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
2008
2009         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
2010         New macros.
2011         (TARGET_SWITCHES): Add entries for the new option.
2012
2013         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
2014         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
2015         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
2016         global variables.
2017         (ia64_sched_reorder2): Set up `clocks'.
2018         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
2019         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
2020         queue when TARGET_TUNE_STOP_BITS.
2021         (bundling): Insert additional nops for MM-insns.
2022         (final_emit_insn_group_barriers): Add insertion of stop bits
2023         according `stops_p'.
2024         (ia64_reorg): Initiate the new varibales.
2025
2026         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
2027
2028         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
2029
2030         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
2031         insns at the end of block insn scheduling.
2032
2033         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
2034
2035         * sched-deps.c (remove_dependence, group_leader): Remove it.
2036         (add_dependence): Add dependence to group leader to.
2037         (set_sched_group_p): Add dependence to the first insn of the
2038         schedule group too.
2039         (sched_analyze_insn): Make dependence to jump as anti-dependence.
2040         Change true dependence by anti-dependence when
2041         `reg_pending_barrier'.
2042
2043         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
2044         add_branch_dependences): Ignore schedule groups.
2045
2046         * sched-ebb.c (init_ready_list): Ditto.
2047
2048         * (move_insn, set_priorities): Ditto.
2049
2050         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
2051         flag is clear after reload.
2052         (adjust_cost): Change cost only for output dependencies.
2053
2054         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
2055
2056         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
2057
2058         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
2059
2060         * target.h (gcc_target): Add member
2061         `dependencies_evaluation_hook'.
2062
2063         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
2064         macro.
2065         (TARGET_SCHED): Add initiatialization of the new member.
2066
2067         * sched-ebb.c: Include `target.h'.
2068         (schedule_ebb): Call `dependencies_evaluation_hook'.
2069
2070         * sched-rgn.c (schedule_region): Call
2071         `dependencies_evaluation_hook'.
2072
2073         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2074         New macro.
2075         (ia64_dependencies_evaluation_hook): New function.
2076
2077         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2078         Describe the new hook.
2079
2080         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
2081
2082         * target.h (gcc_target): Add members
2083         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
2084
2085         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
2086         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
2087         macros.
2088         (TARGET_SCHED): Add initiatialization of the new members.
2089
2090         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
2091         insn scheduling too.
2092         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
2093         initialize `ready_try'.
2094         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
2095         `dfa_new_cycle' says not to do it.
2096
2097         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
2098         bundling.
2099
2100         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
2101
2102         * config/ia64/ia64.c: Include `hashtab.h'.
2103         (ia64_first_cycle_multipass_dfa_lookahead_guard,
2104         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
2105         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
2106         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
2107         bundle_state_eq_p, insert_bundle_state,
2108         initiate_bundle_state_table, finish_bundle_state_table,
2109         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
2110         get_template, get_next_important_insn, bundling): New functions.
2111         (ia64_internal_sched_reorder): Remove it.
2112         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2113         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
2114         (ia64_safe_itanium_requires_unit0): Remove it.
2115         (group_barrier_needed_p): Place group barrier right before a real
2116         insn.
2117         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
2118         Remove them.
2119         (bundle_name): New variable.
2120         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
2121         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
2122         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
2123         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
2124         temp_dfa_state, prev_cycle_state): New global variables.
2125         (insn_matches_slot, maybe_rotate, finish_last_head,
2126         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
2127         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
2128         find_best_packet, itanium_reorder, dump_current_packet,
2129         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
2130         (sched_data, sched_ready, sched_types): Remove them.
2131         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
2132         `init_insn_group_barriers'.
2133         (ia64_sched_reorder, ia64_sched_reorder2): Call
2134         ia64_dfa_sched_reorder.
2135         (ia64_variable_issue): Rewrite it.
2136         (bundle_state): New structure.
2137         (index_to_bundle_states, bundle_states_num,
2138         allocated_bundle_states_chain, free_bundle_state_chain): New
2139         global variables.
2140         (ia64_sched_finish): Add stop bits and call `bundling' after the
2141         2nd insn scheduling.
2142         (ia64_use_dfa_pipeline_interface): Return zero always.
2143         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
2144         insn scheduling.
2145         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
2146         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
2147         (ia64_reorg): Add bundling insns.
2148
2149         * doc/tm.texi
2150         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2151         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
2152
2153         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
2154
2155         * config/ia64/ia64.md: Add Itanium1 DFA description.
2156         (itanium_class): Add `nop' and `pre_cycle'.  Add
2157         define_function_unit for `nop'.
2158         (nop): Change attribute `itanium_class'.
2159         (pre_cycle): New define_insn.
2160
2161         * config/ia64/ia64-protos.h (bundling_p): New external variable.
2162         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
2163         ia64_produce_address_p): New function prototypes.
2164
2165         * config/ia64/ia64.c (bundling_p): New global variable.
2166         (ia64_use_dfa_pipeline_interface,
2167         ia64_first_cycle_multipass_dfa_lookahead,
2168         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
2169         functions.
2170         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2171         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2172         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
2173         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
2174         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
2175         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
2176         (dfa_pre_cycle_insn): New variable.
2177
2178         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2179
2180         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
2181         constructions.
2182
2183         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
2184         New function prototypes.
2185
2186         * genattrtab.c (main): Process the new constructions.
2187
2188         * genautomata.c (gen_presence_absence_set,
2189         process_presence_absence_names, process_presence_absence_patterns,
2190         add_presence_absence, check_absence_pattern_sets): Add parameter
2191         `final_p'.
2192         (unit_decl): Add new members `final_presence_list' and
2193         `final_absence_list'.
2194         (unit_pattern_rel_decl): Add new member `final_p'.
2195         (gen_final_presence_set, gen_final_absence_set): New functions.
2196         (process_decls): Use member `final_p'.
2197         (temp_reserv): New global variable.
2198         (reserv_sets_are_intersected): Add processing `final_presence_set'
2199         and `final_absence_set'.
2200         (initiate_states): Allocate `temp_reserv'.
2201         (unit_final_presence_set_table, unit_final_absence_set_table): New
2202         gloabal variables.
2203         (initiate_presence_absence_pattern_sets): Initiate them.
2204         (NDFA_to_DFA): Fix typo.
2205         (output_description): Output `final_presence_set' and
2206         `final_absence_set'.
2207
2208         * doc/md.texi (final_presence_set, final_absence_set): Describe
2209         them.
2210
2211         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2212
2213         * genautomata.c (transform_3): Process a missing case (nothing on
2214         unit place).
2215
2216         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2217
2218         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
2219         comments about queried units and the minimization.
2220
2221         * doc/md.texi: Ditto.
2222
2223         * genautomata.c (create_composed_state): Return nonzero if the new
2224         state has been created.
2225         (first_cycle_unit_presence): New function.
2226         (state_is_differed): Add new parameter.  Use the new function.
2227         Take queried units into account.
2228         (partition_equiv_class): Pass additional parameter to
2229         `state_is_differed'.
2230         (merge_states): Process composed states too.
2231         (build_automaton, create_automata, output_min_issue_delay_table,
2232         output_tables, output_statistics): Output more information.
2233         (output_reserved_units_table): Use function
2234         `first_cycle_unit_presence'.
2235         (output_tables): Output table of queried units even if the
2236         minimization is switched on.
2237         (write_automata): Output code for querying units even if the
2238         minimization is switched on.
2239
2240         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
2241
2242         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
2243         syntax of the constructions.
2244
2245         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
2246         extended syntax of the constructions.
2247
2248         * genautomata.c (unit_rel_decl): Rename it to
2249         `unit_pattern_rel_decl'.
2250         (pattern_set_el, pattern_reserv): New structures.
2251         (pattern_set_el_t, pattern_reserv_t): New types.
2252         (gen_presence_absence_set): New function.
2253         (process_presence_absence): Remove it.
2254         (process_presence_absence_names,
2255         process_presence_absence_patterns): New functions.
2256         (get_presence_absence_set): Remove it.
2257         (initiate_presence_absence_sets): Rename it on
2258         `initiate_presence_absence_pattern_sets'.  Use new function
2259         `form_reserv_sets_list'.
2260         (form_reserv_sets_list, check_presence_pattern_sets,
2261         check_absence_pattern_sets, output_pattern_set_el_list): New
2262         functions.
2263         (unit_decl): Change types of members `presence_list' and
2264         `absence_list'.
2265         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
2266         (decl): Change types of members `excl', `presence', and `absence'.
2267         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
2268         at the end of the vector.
2269         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
2270         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
2271         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
2272         (gen_presence_set, gen_absence_set): Use new function
2273         `gen_presence_absence_set'.
2274         (add_presence_absence): Process `pattern_list' instead of
2275         `source_list'.
2276         (process_decls): USe new functions
2277         `process_presence_absence_names' and
2278         `process_presence_absence_patterns'.
2279         (reserv_sets_are_intersected): Use new function
2280         `check_presence_pattern_sets'.
2281         (presence_set, absence_set): Remove them.
2282         (unit_presence_set_table, unit_absence_set_table): New global
2283         variables.
2284         (output_description): Use new function
2285         `output_pattern_set_el_list'.
2286         (generate): Use `initiate_presence_absence_pattern_sets'.
2287
2288         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
2289
2290         * genattr.c (main): Add output of prototype of new interface
2291         function `dfa_clean_insn_cache'.
2292
2293         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
2294         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
2295         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
2296         the generated code.
2297         (write_automata): Call the new function.
2298
2299 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
2300
2301         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
2302         correctly.
2303
2304 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
2305
2306         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
2307
2308 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
2309
2310         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
2311         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
2312         (CONSTRAINT_LEN): Provide default definition.
2313         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2314         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
2315         (EXTRA_CONSTRAINT_STR): Likewise.
2316         (REG_CLASS_FROM_CONSTRAINT): Define.
2317         * genoutput.c (check_constraint_len, constraint_len): New functions.
2318         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
2319         constraint / modifier.
2320         (gen_insn): Call check_constraint_len.
2321         * local-alloc.c (block_alloc): Update to use new macros / pass
2322         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
2323         * ra-build.c (handle_asm_insn): Likewise.
2324         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
2325         (constrain_operands, peep2_find_free_register): Likewise.
2326         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
2327         * regmove.c (find_matches): Likewise.
2328         * reload.c (push_secondary_reload, find_reloads): Likewise.
2329         (alternative_allows_memconst): Likewise.
2330         * reload1.c (maybe_fix_stack_asms): Likewise.
2331         (reload_cse_simplify_operands): Likewise.
2332         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
2333         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
2334         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2335         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
2336         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
2337         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
2338
2339         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
2340
2341 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2342
2343         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
2344         length.
2345         (*extzv_1_r_h8300hs): Likewise.
2346         (*extzv_1_r_inv_h8300): Likewise.
2347         (*extzv_1_r_inv_h8300hs): Likewise.
2348
2349 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2350
2351         * config/h8300/h8300.h (PREDICATE_CODES): New.
2352
2353 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2354
2355         * config/h8300/h8300.md (*addsi3_upper): New.
2356         (*iorsi3_shift): Likewise.
2357         (two splitters): Likewise.
2358         (*addsi3_shift): Likewise.
2359         (two splitters): Likewise.
2360
2361 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
2362
2363         * Makefile.in (optabs.o): Add dependency on basic-block.h.
2364         * basic-block.h (control_flow_insn_p): Fuction was exported.
2365         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
2366         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
2367         notes only when the region is contained in a single basic block.
2368
2369 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
2370
2371         PR inline-asm/8832
2372         * tree.h (expand_asm): New prototype.
2373         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
2374         to do so.
2375         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
2376         down to expand_asm.
2377         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
2378         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
2379         (volatile_refs_p) [ASM_INPUT]: Likewise.
2380         (side_effects_p) [ASM_INPUT]: Likewise.
2381
2382 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
2383
2384         * i386.md (*mul*): FIx constraints; remove confused comment; fix
2385         athlon_decode attributes
2386         (imul/k8 optimization peep2s): New.
2387
2388         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
2389         * i386.md (type attribute): Add ssecomi.
2390         (unit, memory, prefix attributes): Handle ssecomi.
2391         (cvt?2? patterns): Fix athlon_decode attribute
2392         (comi patterns): Set attribute to ssecomi.
2393
2394         PR target/8343
2395         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
2396
2397 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
2398
2399         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
2400         that match register_operands.
2401         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
2402         register_operand the default case.
2403
2404 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
2405
2406         PR c/8032
2407         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
2408         an empty element, do not advance the pointer to unfilled
2409         fields if there are pending initializers.
2410
2411 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2412
2413         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
2414         (install-gcc-tooldir, install-cpp, installdirs,
2415         install-common, install-driver, install-info, install-man,
2416         install-headers, install-include-dir, install-headers-tar,
2417         install-headers-cpio, install-headers-cp, install-mkheaders,
2418         install-collect2, uninstall): Prepend $(DESTDIR) to
2419         destination paths in all (un)installation commands.
2420         (install-driver): Rewrite $(LN) commands to support DESTDIR
2421         with "ln" as well as with "ln -s".
2422         (installdirs): Simply use mkinstalldirs.
2423         (install-libgcc, install-multilib): Also pass DESTDIR.
2424         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
2425         installation destination variable ldir.
2426         * config/alpha/t-osf4, config/arm/t-netbsd,
2427         config/ia64/t-hpux, config/mips/t-iris5-6,
2428         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
2429         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
2430         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
2431         in the definition of SHLIB_INSTALL.
2432         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
2433         $(libsubdir) in the installation commands.
2434
2435 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2436
2437         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
2438         non-optimizing compile.
2439         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
2440         compile.
2441
2442 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
2443
2444         * config/i386/i386.c (ix86_attribute_table): Add new attributes
2445         ms_struct and gcc_struct.
2446         (ix86_handle_struct_attribute): New function.
2447         (ix86_ms_bitfield_layout_p): Update to take new attributes
2448         into account.
2449         * doc/extend.texi: Document new attributes.
2450         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
2451
2452 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
2453
2454         PR optimization/8750
2455         * config/i386/i386.c (ix86_expand_prologue): Don't allow
2456         scheduling pass to move insns across __alloca call.
2457
2458 2003-01-08  Dale Johannesen  <dalej@apple.com>
2459
2460         * config/rs6000/rs6000.md:  Replace *store_multiple_string
2461         with *stmsi[3-8].
2462
2463 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
2464
2465         PR target/9210
2466         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
2467         Set SYMBOL_REF_FLAG on local data sym_ref.
2468
2469 2003-01-08  Dale Johannesen  <dalej@apple.com>
2470
2471         * function.c (assign_parms):  Don't set pretend_args_size if
2472           REG_PARM_STACK_SPACE.
2473           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
2474           pretend_args_size.
2475
2476 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2477
2478         * gcc.hlp: Delete.
2479
2480 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
2481
2482         * i386.c  (ix86_expand_int_addcc): Fix thinko.
2483
2484 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
2485
2486         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
2487         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
2488         as hook_bool_tree_hwi_hwi_tree_true.
2489         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
2490         (rs6000_emit_epilogue): Same.
2491         (rs6000_output_mi_thunk): Re-implement as RTL.
2492         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
2493         xcoffout_declare_function if any debugging enabled.
2494
2495 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
2496
2497         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
2498         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
2499         * config/mips/mips.h (enum processor_type): Rename
2500         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
2501         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
2502         Add PROCESSOR_M4K.
2503         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
2504         (ISA_MIPS32R2): New define.
2505         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
2506         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
2507         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
2508         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
2509         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
2510         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
2511         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
2512         compiling MIPS16 code.
2513         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
2514         comment.
2515         (ISA_HAS_SEB_SEH): New define.
2516         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
2517         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
2518         processor_type value renaming.  Add support for MIPS32R2.
2519         Clean up comments, and move "sb1" entry with other MIPS64 CPU
2520         entries.
2521         (override_options): Reimplement -mipsN option handling so that
2522         it will work correctly for -mips32r2.  Avoid branch-likely
2523         instructions on MIPS32R2.
2524         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
2525         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
2526         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
2527         (extendhisi2_hw, extendqisi2_hw): New.
2528         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
2529         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
2530         MIPS32R2, and MIPS64.
2531         (LINK_SPEC): Pass -mips32r2 to linker.
2532         * config/mips/t-isa3264: Built -mips32r2 multilibs.
2533         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
2534         for mips32r2 in the -march description.  Alphabetically sort
2535         CPU names in the -march description.  Add long-missed -mips32
2536         and -mips64 to MIPS option summary.
2537
2538         * config.gcc: Update copyright years to include 2003.
2539         * config/mips/mips.c: Likewise.
2540         * config/mips/mips.h: Likewise.
2541         * config/mips/mips.md: Likewise.
2542         * config/mips/netbsd.h: Likewise.
2543         * doc/invoke.texi: Likewise.
2544
2545 2003-01-08  Andreas Schwab  <schwab@suse.de>
2546
2547         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
2548         variable.
2549         * configure: Regenerated.
2550
2551 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2552
2553         * config/h8300/h8300.c (output_logical_op): Replace byte/word
2554         extraction of det with b0, b1, w0, w2, etc.
2555         (compute_logical_op_length): Likewise.
2556         (compute_logical_op_cc): Likewise.
2557
2558 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2559
2560         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
2561         HIGH on all variants.
2562
2563 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
2564
2565         * Makefile.in (PARTITION_H): New.
2566         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
2567         * basic-block.h: Include hard-reg-set.h.
2568
2569 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
2570
2571         * arm.h (ENABLE_XF_PATTERNS): Delete.
2572         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
2573         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
2574         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
2575         (cmpxf_trap): Delete.
2576         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
2577
2578 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2579
2580         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
2581         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
2582         (add??cc): New expanders.
2583         * i386.c (expand_int_addcc): New function.
2584         * i386-protos.h (expand_int_addcc): Declare.
2585
2586         * alias.c (memory_modified_1): New static function.
2587         (memory_modified): New static varaible.
2588         (memory_modified_in_insn_p): New global function.
2589         * rtl.h (memory_modified_in_insn_p): Declare.
2590         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
2591         references.
2592
2593         * expr.h (emit_conditional_add): Declare.
2594
2595 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
2596
2597         PR other/8947
2598         * doc/invoke.texi (-malign-double): Explain that the option breaks
2599         binary compatibility.
2600
2601 2003-01-08  Andreas Schwab  <schwab@suse.de>
2602
2603         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
2604         should come from the generic *-*-linux* entry.
2605
2606 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
2607
2608         * cselib.c (cselib_current_insn_in_libcall): New static variable.
2609         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
2610         we are inside libcall.
2611         * cselib.h (elt_loc_list): Add in_libcall.
2612         * gcse.c (do_local_cprop): Do not copy propagate using insns
2613         in libcalls.
2614
2615 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
2616
2617         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
2618         not normally affect to issue rate.
2619
2620 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2621
2622         * genopinit.c (optabs): Add addc_optab.
2623         * ifcvt.c (noce_try_store_flag): Rename to ...
2624         (noce_try_addcc): ... this one; handle generic conditional increment.
2625         (noce_process_if_block): Update noce_try_addcc call.
2626         * optabs.c (emit_conditional_add): New.
2627         (init_obtabs): Initialize addc_optab.
2628         * optabs.h (optab_index): Add OTI_addcc.
2629         (addcc_optab): New macro.
2630         * md.texi: Document addMcc
2631
2632         PR target/8322
2633         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
2634         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2635         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2636
2637         * reload1.c (delete_output_reload): Avoid repeated attempts
2638         to delete insn.
2639
2640 2003-01-07  Andreas Schwab  <schwab@suse.de>
2641
2642         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
2643         Move --enable-initfini-array check ...
2644         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
2645         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
2646         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
2647         * configure: Rebuild.
2648
2649 2003-01-07  Richard Henderson  <rth@redhat.com>
2650
2651         * alias.c (find_base_value): Only use new_reg_base_value shortcut
2652         if the register is set once.
2653
2654 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
2655
2656         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2657         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2658         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2659
2660 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2661             Sunil Davasam  <sunil.k.davasam@intel.com>
2662
2663         PR libstdc++/9076
2664         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2665         DW_CFA_same_value, read next and ignore.
2666
2667 2003-01-07  Richard Henderson  <rth@redhat.com>
2668
2669         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2670
2671 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2672
2673         * cfg.c: Include alloc-pool.h
2674         (edge_pool): New pool.
2675         (bb_pool): New pool.
2676         (first_deleted_edge): Remove.
2677         (first_deleted_block): Remove.
2678         (init_flow): Alloc/free the pools.
2679         (free_edge): Use pools.
2680         (alloc_block): Ditto.
2681         (expunge_block): Ditto.
2682         (cached_make_edge): Ditto.
2683
2684         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2685
2686 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2687
2688         * et-forest.c: Include alloc-pool.h.
2689         (struct et_forest): Add node_pool and occur_pool.
2690         (et_forest_create): Create the new pools.
2691         (et_forest_delete): Delete them.
2692         (et_forest_add_node): Allocate and free using pools.
2693         (et_forest_add_edge): Ditto.
2694         (et_forest_remove_node): Ditto.
2695         (et_forest_remove_edge): Ditto.
2696
2697         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2698
2699 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2700
2701         * config/h8300/h8300.c (output_logical_op): Simplify and
2702         optimize the handling of SImode.
2703         * config/h8300/h8300.c (compute_logical_op_length): Update
2704         accordingly.
2705         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2706
2707 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2708
2709         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2710         big-endian correction to indirect arguments too.
2711
2712 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2713
2714         Segher Boessenkool  <segher@koffie.nl>
2715
2716         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2717         (alt_reg_names): Ditto, fix formatting.
2718         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2719
2720 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2721
2722         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2723         (output_logical_op): Constify intval and det.
2724         (compute_logical_length): Likewise.
2725         (compute_logical_cc): Likewise.
2726         (output_a_shift): Constify mask.
2727         (h8300_encode_label): Constify len.
2728
2729 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2730
2731         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2732         (h8300_expand_epilogue): Likewise.
2733
2734 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2735
2736         Segher Boessenkool  <segher@koffie.nl>
2737
2738         * config/rs6000/altivec.md: Remove spaces from assembler
2739         instruction argument lists.
2740
2741 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2742
2743         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2744         c4x_assembler_function_p.
2745         (c4x_null_epilogue_p): Complement return value, all uses updated.
2746         (c4x_insert_attributes): Add naked.
2747         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2748         * doc/extend.texi: Update C4x function attributes.
2749
2750 2003-01-06  Richard Henderson  <rth@redhat.com>
2751
2752         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2753         properly when changing "local-ness".
2754         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2755
2756 2003-01-06  Dale Johannesen  <dalej@apple.com>
2757
2758         * config/darwin-protos.h:  Add prototypes for new section functions.
2759
2760 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2761
2762         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2763         to EABI.
2764
2765 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2766
2767         * hwint.h: If the current compiler has no 64-bit type at all,
2768         make HOST_WIDEST_INT 32 bits.
2769
2770 2003-01-06  Eric Christopher  <echristo@redhat.com>
2771
2772         * config/mips/mips.md (movdf_internal2): Fix constraints.
2773
2774 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2775
2776         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2777
2778 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2779
2780         * config/mips/mips.md (leadi): Use dla rather than la.
2781
2782 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2783
2784         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2785         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2786
2787 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2788
2789         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2790         redefinition.
2791
2792 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2793
2794         * config/h8300/h8300.md (*extzv_8_23): New.
2795
2796 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2797
2798         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2799         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2800         USE_EH_FRAME_REGISTRY when defining.
2801
2802 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2803
2804         * config/h8300/h8300.c (output_a_shift): Do not output a
2805         variable shift.
2806         * config/h8300/h8300.md (two splitters): New.
2807
2808 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2809
2810         * config/mips/mips.md: Disable the movstrsi define_split.
2811
2812 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2813
2814         * alloc-pool.c: Don't include "libiberty.h".
2815         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2816         * convert.c (convert_to_real): Hide unused variable.
2817
2818 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2819
2820         * Makefile.in (gtyp-gen.h): Const-ify.
2821         * gcov-dump.c (tag_table): Likewise.
2822
2823 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2824
2825         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2826         of *both* the file name and the fix name.
2827
2828 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2829
2830         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2831         collect2.
2832         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2833         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2834         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2835         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2836         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2837         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2838         elfos.h.
2839         (EH_FRAME_IN_DATA_SECTION): Delete define.
2840         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2841         (STARTFILE_SPEC): Use crtbegin.o.
2842         (ENDFILE_SPEC): Use crtend.o.
2843         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2844         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2845         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2846         DTOR_LIST_BEGIN): Define.
2847         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2848         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2849         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2850
2851 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2852
2853         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2854         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2855         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2856         Cleanup handling of replacement text.
2857         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2858
2859 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2860
2861         * fixinc/tests/base/math.h: removed obsolete results
2862         * fixinc/tests/base/stdlib.h: ditto
2863         * fixinc/tests/base/sys/param.h: ditto
2864         * fixinc/tests/base/sys/stat.h: ditto
2865         * fixinc/tests/base/time.h: ditto
2866         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2867         * fixinc/tests/base/sys/byteorder.h: ditto
2868         * fixinc/inclhack.def: Remove superfluous backslashes
2869
2870 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2871
2872         * config/h8300/h8300-protos.h: Add prototypes for
2873         the new functions defined below.
2874         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2875         define.
2876         (dosize): Emit RTL instead of assembly code.
2877         (push): Likewise.
2878         (pop): Likewise.
2879         (h8300_output_function_prologue): Remove.
2880         (h8300_expand_prologue): New.
2881         (h8300_expand_epilogue): New.
2882         (h8300_output_function_epilogue): Do only the reset of
2883         pragma_saveall.
2884         * config/h8300/h8300.md (push_h8300): New.
2885         (push_h8300hs): Likewise.
2886         (pop_h8300): Likewise.
2887         (pop_h8300hs): Likewise.
2888         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2889         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2890         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2891         (*ldm_h8300s_2): New.
2892         (*ldm_h8300s_3): Likewise.
2893         (*ldm_h8300s_4): Likewise.
2894         (return): Likewise.
2895         (*return_1): Likewise.
2896         (prologue): Likewise.
2897         (epilogue): Likewise.
2898         (monitor_prologue): Likewise.
2899
2900 2003-01-03  Dale Johannesen  <dalej@apple.com>
2901
2902         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2903           machopic_picsymbol_stub1.
2904           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2905         * rs6000/rs6000.c:  Update copyright.
2906           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2907
2908 2003-01-02  Jason Merrill  <jason@redhat.com>
2909
2910         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2911
2912         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2913         static/external decls.
2914
2915         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2916         outermost scope.
2917         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2918
2919 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2920
2921         * config/h8300/h8300-protos.h: Add a prototype for
2922         h8300_current_function_interrupt_function_p.
2923         * config/h8300/h8300.c (interrupt_handler): Remove.
2924         (os_task): Likewise.
2925         (monitor): Likewise.
2926         (pragma_interrupt): New.
2927         (WORD_REG_USED): Use
2928         h8300_current_function_interrupt_function_p.
2929         (dosize): Likewise.
2930         (h8300_output_function_prologue): Likewise.
2931         Do not set interrupt_handler, os_task, monitor.
2932         (h8300_output_function_prologue): Use
2933         h8300_current_function_interrupt_function_p.
2934         Do not set interrupt_handler, os_task, monitor.
2935         (h8300_current_function_interrupt_function_p): New.
2936         (h8300_pr_interrupt): Set pragma_interrupt.
2937         (h8300_insert_attributes): Reset pragma_interrupt.
2938
2939 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2940
2941         * doc/install.texi (Configuration): Fix markup for reference to
2942         gcc/config.gcc.
2943
2944 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2945
2946         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2947         (*iorhi3_two_qi): Likewise.
2948         (*iorsi3_zexthi): Likewise.
2949         (*xorhi3_zextqi): Likewise.
2950         (*xorsi3_zexthi): Likewise.
2951         (*xorsi3_zextqi): Likewise.
2952
2953 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2954
2955         * config/h8300/h8300.c (stack_pointer_operand): New.
2956         (const_int_gt_2_operand): Likewise.
2957         (const_int_ge_8_operand): Likewise.
2958         * config/h8300/h8300.md (a splitter): Likewise.
2959         (a peephole2): Likewise.
2960         * config/h8300/h8300-protos.h: Add prototypes for the new
2961         functions above.
2962
2963 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2964
2965         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2966         objc/objc-act.h: Fix copyright years.
2967
2968 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2969
2970         * doc/passes.texi: Fix documentation for -fssa-ccp
2971
2972 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2973
2974         * gccbug.in: Update for new categories.
2975
2976 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2977
2978         * config/h8300/h8300.md: Reorder some patterns.
2979
2980 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2981
2982         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2983
2984 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2985
2986         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2987         config/cris/cris-protos.h, config/i370/i370-protos.h,
2988         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2989         config/v850/v850-protos.h: Use struct, and don't conditionally
2990         compile on GCC_C_PRAGMA_H.
2991
2992 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2993
2994         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2995         * config/h8300/h8300-protos.h: Likewise.
2996         * config/sh/sh-protos.h: Likewise.
2997
2998 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2999
3000         * config/arm/arm-protos.h: Use struct cpp_reader instead of
3001         cpp_reader.
3002         * config/h8300/h8300-protos.h: Likewise.
3003         * config/sh/sh-protos.h: Likewise.
3004
3005 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3006
3007         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
3008         arm_pr_long_calls_off): Use struct.
3009         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
3010         : Similarly.
3011         Don't include cpplib.h.
3012         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
3013         sh_pr_nosave_low_regs): Similarly.
3014
3015 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3016
3017         * config/h8300/h8300.c: Include cpplib.h.
3018
3019 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3020
3021         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
3022           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
3023           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
3024           "GCC" in the copyright header.
3025
3026 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3027
3028         * c-pragma.c (c_register_pragma): New.
3029         (init_pragma): Use it.
3030         * c-pragma.h (cpp_register_pragma): Don't declare.
3031         (c_register_pragma): New.
3032         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
3033         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
3034         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
3035         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3036         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
3037         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
3038         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
3039         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
3040         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
3041         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
3042         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
3043         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
3044
3045 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3046
3047         * config/h8300/h8300-protos.h: Update the prototypes.
3048         * config/h8300/h8300.c (const_le_2_operand): Change to
3049         const_int_le_2_operand.
3050         (const_int_le_6_operand): Change to const_int_le_6_operand.
3051         * config/h8300/h8300.md (two peepholes): Update the function
3052         names.
3053
3054 2002-12-31  Tom Tromey  <tromey@redhat.com>
3055
3056         * doc/install.texi (Testing): Fixed typo.
3057
3058 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3059
3060         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
3061         (TRAMPOLINE_SIZE): Support the normal mode.
3062         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
3063
3064 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
3065
3066         * c-common.h (pending_lang_change): Declare.
3067
3068 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
3069
3070         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
3071         descriptions.
3072
3073 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
3074
3075         * gcc/doc/invoke.texi (Optimization Options): List the options
3076         enabled by each -O flag.
3077
3078 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3079
3080         * doc/install.texi (Configuration): Explicitly refer
3081         gcc/config.gcc for a list of cpu models.
3082
3083 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3084
3085         * config/h8300/h8300.h: Fix comment typos.
3086
3087 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
3088
3089         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
3090
3091 2002-12-30  Tom Tromey  <tromey@redhat.com>
3092
3093         * doc/install.texi (Testing): Mention Jacks.
3094
3095 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3096
3097         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
3098
3099 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3100
3101         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
3102         cases.
3103         (compute_logical_op_length): Update to reflect the change in
3104         output_logical_op.
3105         (compute_logical_op_cc): Likewise.
3106
3107 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3108
3109         * doc/service.texi: Uncomment and update FAQ link.
3110
3111 2002-12-30  Andreas Jaeger  <aj@suse.de>
3112
3113         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
3114
3115 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3116
3117         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
3118
3119 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3120
3121         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
3122         are clearing the most significant byte.
3123         (compute_logical_op_length): Update to reflect the change in
3124         output_logical_op.
3125         (compute_logical_op_cc): Likewise.
3126
3127 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3128
3129         * config/h8300/h8300.md: Give internal names to anonymous
3130         insns.
3131
3132 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3133
3134         * config/h8300/h8300.md: Reorder some insns.
3135
3136 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3137
3138         * config/h8300/h8300-protos.h: Add prototypes for
3139         const_int_qi_operand and const_int_hi_operand.
3140         * config/h8300/h8300.c (const_int_qi_operand): New.
3141         (const_int_hi_operand): Likewise.
3142         * config/h8300/h8300.md (three peepholes): New.
3143
3144 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3145
3146         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
3147         Use @copying.
3148
3149 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3150
3151         * configure.in: Increase makeinfo version requirement to 4.[2-9].
3152         * configure: Regenerate.
3153         * doc/install.texi: Update Texinfo version requirement.
3154
3155 2002-12-28  Andreas Jaeger  <aj@suse.de>
3156
3157         * config/i386/i386.c (x86_function_profiler): Mark labelno as
3158         possibly unused.
3159
3160         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
3161         correct format.
3162
3163 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
3164
3165         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
3166         *iorhi_ashift_8.
3167         (*iorhi_lshiftrt_8): New.
3168
3169 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
3170
3171         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
3172
3173 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3174
3175         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
3176
3177 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3178
3179         * config/h8300/h8300-protos.h: Fix comment typos.
3180         Update copyright.
3181         * config/h8300/h8300.c: Fix comment typos.
3182
3183 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3184
3185         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
3186
3187 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3188
3189         * config/i386/athlon.md: Fix comment typos.
3190         * config/i386/crtdll.h: Likewise.
3191         * config/i386/djgpp.h: Likewise.
3192         * config/i386/i386-interix.h: Likewise.
3193         * config/i386/i386.c: Likewise.
3194         * config/i386/i386.h: Likewise.
3195         * config/i386/i386.md: Likewise.
3196         * config/i386/k6.md: Likewise.
3197         * config/i386/mingw32.h: Likewise.
3198         * config/i386/pentium.md: Likewise.
3199         * config/i386/sco5.h: Likewise.
3200         * config/i386/winnt.c: Likewise.
3201         * config/i386/xmmintrin.h: Likewise.
3202
3203 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
3204
3205         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
3206         INSN_P before checking to see if it is dead.
3207         (mark_all_insn_unnecessary): Similarly.
3208         (ssa_eliminate_dead_code): Similarly.
3209         * rtl.h (struct rtx_def): Update comments for in_struct usage
3210         in dead code elimination pass.
3211         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
3212
3213 2002-12-26  Andreas Schwab  <schwab@suse.de>
3214
3215         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
3216
3217 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
3218
3219         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
3220         tartet_flags_explicit.
3221         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
3222         Compact target_flags bits.
3223         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
3224         (TARGET_SWITCHES): Delete references to *_SET flags.
3225
3226 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
3227
3228         * i386.md (memory attribute): Fix setcc attribute.
3229
3230 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3231
3232         * output.h: Fix comment typos.
3233         * predict.c: Likewise.
3234         * print-tree.c: Likewise.
3235         * profile.c: Likewise.
3236         * ra-build.c: Likewise.
3237         * ra-colorize.c: Likewise.
3238         * ra-debug.c: Likewise.
3239         * ra-rewrite.c: Likewise.
3240         * ra.c: Likewise.
3241         * ra.h: Likewise.
3242         * real.c: Likewise.
3243         * recog.c: Likewise.
3244         * reg-stack.c: Likewise.
3245         * regclass.c: Likewise.
3246
3247 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3248
3249         * config/h8300/h8300.c (print_operand_address): Do not negate
3250         a negative number when printing one.
3251
3252 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3253
3254         * config/h8300/h8300-protos.h: Add prototypes for
3255         output_plussi, compute_plussi_length, and compute_plussi_cc.
3256         * config/h8300/h8300.c (output_plussi): New.
3257         (compute_plussi_length): Likewise.
3258         (compute_plussi_cc): Likewise.
3259         * config/h8300/h8300.md (addsi_h8300h): Call
3260         output_plussi, compute_plussi_length, and compute_plussi_cc.
3261
3262 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
3263
3264         * config/h8300/h8300.md (two peepholes): Use match_dup instead
3265         of match_operand in the new patterns.
3266
3267 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3268
3269         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
3270
3271 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
3272
3273         * configure.in (enable-coverage): Add SELF_COVERAGE.
3274         * profile.c (end_branch_prob): Use SELF_COVERAGE.
3275
3276 2002-12-24  Jim Wilson  <wilson@redhat.com>
3277
3278         * alias.c (record_set): Handle multi-reg hard registers.
3279
3280 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
3281
3282         * regmove.c: Fix comment typos.
3283         * reload.c: Likewise.
3284         * reload1.c: Likewise.
3285         * resource.c: Likewise.
3286         * rtl.def: Likewise.
3287         * rtl.h: Likewise.
3288         * rtlanal.c: Likewise.
3289         * sched-deps.c: Likewise.
3290         * sched-rgn.c: Likewise.
3291         * sibcall.c: Likewise.
3292         * simplify-rtx.c: Likewise.
3293         * ssa-ccp.c: Likewise.
3294         * ssa.c: Likewise.
3295         * stmt.c: Likewise.
3296         * stor-layout.c: Likewise.
3297         * system.h: Likewise.
3298         * tlink.c: Likewise.
3299         * toplev.c: Likewise.
3300         * tracer.c: Likewise.
3301         * tree-inline.c: Likewise.
3302         * tree.c: Likewise.
3303         * tree.h: Likewise.
3304         * unroll.c: Likewise.
3305         * varasm.c: Likewise.
3306
3307 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
3308
3309         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
3310         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
3311         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
3312         DG/UX entries.
3313         * doc/md.texi: Remove AMD 29K entries.
3314         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
3315         1.38.1, NewsOS, RT PC, WE32K entries.
3316
3317 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
3318
3319         PR/8763
3320         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
3321         (altivec_vspltisw_v4sf): Name pattern.
3322         (altivec_vslw_v4sf): New pattern.
3323
3324 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
3325
3326         * doc/include/gcc-common.texi: Define DEVELOPMENT.
3327
3328 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
3329
3330         * stor-layout.c (update_alignment_for_field): Correct handling of
3331         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
3332         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
3333         bitfield does not affect alignment.
3334
3335 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
3336
3337         * expr.c (expand_assignment): Apply special treatment to
3338         ARRAY_TYPE.
3339
3340 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
3341
3342         * config/h8300/h8300-protos.h: Update the prototype of
3343         expand_a_shift.
3344         * config/h8300/h8300.c (expand_a_shift): Change the return
3345         type to void.
3346         * config/h8300/h8300.md: Update all the uses of
3347         expand_a_shift.
3348
3349 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
3350
3351         * tree.c (save_expr): Allow either side of a dyadic operand to be
3352         constant.
3353
3354         * doc/portability.texi (portability): Update portability goals.
3355
3356 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
3357
3358         * config/h8300/h8300.c (output_a_shift): Remove unused code.
3359
3360 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
3361
3362         * stor-layout.c (update_alignment_for_field): Guard use of
3363         ADJUST_FIELD_ALIGN with #ifdef.
3364
3365         * stor-layout.c (update_alignment_for_field): Use
3366         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
3367         bitfield when PCC_BITFIELD_TYPE_MATTERS.
3368
3369 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3370
3371         * genautomata.c: Fix comment typos.
3372
3373 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3374
3375         * params.def (tracer-min-branch-probability-feedback): Fix default.
3376         * final.c (compute_alignments): Use profile to avoid code bloat.
3377
3378 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3379
3380         * config/h8300/h8300.c (get_shift_alg): Make shift insn
3381         sequences end with a valid cc0 whenever possible.
3382
3383 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3384
3385         * config/h8300/h8300.md (negsf2): New.
3386         (*negsf2_h8300): Likewise.
3387         (*negsf2_h8300hs): Likewise.
3388
3389 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
3390
3391         * integrate.c (output_inline_function): Don't hold private
3392         pointers to 'struct function' over GC calls.
3393
3394 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
3395
3396         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
3397         NO_FPSCR_VALUES.
3398         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
3399
3400 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3401
3402         * config/h8300/h8300.md (zero_extendqisi2): Correct the
3403         length.
3404
3405 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3406
3407         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
3408         second alternative "#".
3409         (*zero_extendqihi2_h8300hs): Likewise.
3410         (a define_split): New.
3411
3412 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3413
3414         * config/h8300/h8300-protos.h: Update the prototype for
3415         split_adds_subs.
3416         Add prototypes for const_le_2_operand and const_le_6_operand.
3417         * config/h8300/h8300.c (split_adds_subs): Add an argument to
3418         specify whether inc/dec should be used when possible.
3419         (const_le_2_operand): New.
3420         (const_le_6_operand): Likewise.
3421         * config/h8300/h8300.md (two peepholes): New.
3422
3423 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3424
3425         * config/fr30/fr30.md: Fix a comment typo.
3426         * config/i386/i386.c: Likewise.
3427         * config/ip2k/ip2k.h: Likewise.
3428
3429 2002-12-20  Jim Wilson  <wilson@redhat.com>
3430
3431         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
3432         (__ev_subw, __ev_subiw): New.
3433         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
3434         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
3435
3436 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
3437
3438         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
3439         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
3440         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
3441         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
3442
3443 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
3444
3445         * config/h8300/h8300-protos.h: Add prototypes for
3446         incdec_operand and eqne_operator.
3447         * config/h8300/h8300.c (incdec_operand): New.
3448         (eqne_operator): Likewise.
3449         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
3450         (CONST_OK_FOR_O): Likewise.
3451         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
3452         CONST_OK_FOR_O.
3453         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
3454         (addhi3_incdec): New.
3455         (addsi3_incdec): Likewise.
3456         (two peepholes): Likewise.
3457
3458 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
3459
3460         * config/h8300/h8300.c (dosize): Remove warnings.
3461         (print_operand): Likewise.
3462
3463 2002-12-20  Richard Henderson  <rth@redhat.com>
3464
3465         * config/alpha/alpha.c (decl_has_samegp): New.
3466         (samegp_function_operand): Use it.  Rename from
3467         current_file_function_operand.
3468         (direct_call_operand): Handle -msmall-text via symbol->jump.
3469         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
3470         (tls_symbolic_operand_type): Likewise.
3471         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
3472         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
3473         (alpha_end_function): Set symbol->jump for functions defined in
3474         the text section.
3475         * config/alpha/alpha-protos.h: Update.
3476         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
3477         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
3478         (PREDICATE_CODES): Update.
3479         * config/alpha/alpha.md (call patterns): Update for
3480         samegp_function_operand rename; use !samegp reloc if
3481         TARGET_EXPLICIT_RELOCS.
3482         * doc/invoke.text: Document -msmall-text and -mlarge-text.
3483
3484 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
3485
3486         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
3487         all registers capable of holding a double float.
3488         (*rcond): change name of "reverse branch" insns to
3489         something more meaningful.
3490         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
3491         comparisons properly.
3492         (*ffs): Change operand 0 from write to read-modify-write.
3493         (*ffsssi2): Drop constraints from define_expand.
3494
3495         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
3496         MOVE_RATIO as default for store operations.
3497
3498         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
3499         LONG_REGS class.
3500         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
3501         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
3502         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
3503
3504         * config/ns32k/STATUS: New File
3505         * config/ns32k/NOTES: New file.
3506
3507 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
3508
3509         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
3510         option for S/390 and zSeries.
3511         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
3512         s390_arch_string): New variables.
3513         (override_options): Checking for options and setting of
3514         appropriate target_flags, cpu and arch flags.
3515         * config/s390/s390.h: (processor_type): New enum.
3516         (TARGET_SWITCHES): New switches -mesa/zarch.
3517         * config/s390/s390.md: New attribute 'cpu'.
3518
3519 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3520
3521         * c-pretty-print.h: Fix comment typos.
3522         * integrate.c: Likewise.
3523         * varasm.c: Likewise.
3524         * config/c4x/c4x.h: Likewise.
3525         * config/c4x/c4x.md: Likewise.
3526         * config/fr30/fr30.md: Likewise.
3527         * config/frv/frv.c: Likewise.
3528         * config/h8300/h8300.c: Likewise.
3529         * config/i386/i386.c: Likewise.
3530         * config/i386/i386.h: Likewise.
3531         * config/ia64/ia64.c: Likewise.
3532         * config/ia64/ia64.h: Likewise.
3533         * config/ip2k/ip2k.md: Likewise.
3534         * config/m68hc11/m68hc11-crt0.S: Likewise.
3535         * config/m68hc11/m68hc11.h: Likewise.
3536         * config/m68hc11/m68hc11.md: Likewise.
3537         * config/m68hc11/m68hc12.h: Likewise.
3538         * config/mcore/mcore.md: Likewise.
3539         * config/mips/mips.c: Likewise.
3540         * config/mips/mips.md: Likewise.
3541         * config/mmix/mmix-modes.def: Likewise.
3542         * config/pa/pa.c: Likewise.
3543         * config/rs6000/rs6000.c: Likewise.
3544         * config/rs6000/rs6000.h: Likewise.
3545         * config/rs6000/rs6000.md: Likewise.
3546
3547 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3548
3549         * config/h8300/h8300.md (output_a_shift): Clean up the code to
3550         output shifts using rotation.
3551
3552 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3553
3554         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
3555
3556 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3557
3558         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
3559         pointer.
3560         (pushqi_h8300hs): Likewise.
3561         (pushhi_h8300): Likewise.
3562         (pushhi_h8300hs): Likewise.
3563
3564 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
3565
3566         * sched-rgn.c (init_regions): Update comment.
3567
3568 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
3569
3570         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
3571         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
3572         attributes.
3573         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
3574         (get_vrsave_internal,set_vrsave_internal): Same.
3575         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
3576         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
3577         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
3578
3579 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3580             Danny Smith  <dannysmith@users.sourceforge.net>
3581             Eric Kohl  <ekohl@rz-online.de>
3582
3583         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
3584         attributes incompatible with fastcall attribute.
3585         (ix86_handle_regparm_attribute): Likewise.
3586
3587         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
3588         fastcall types.
3589
3590         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3591         attributes.
3592         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
3593         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
3594         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
3595         i386_pe_output_labelref rather than here.
3596         (gen_fastcall_suffix): New function. Decorates a label name with the
3597         fastcall prefix (@) and the stdcall suffix.
3598         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
3599         has a fastcall attribute.
3600         (i386_pe_output_labelref): New function. Outputs a label reference.
3601         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
3602         valid attribute.
3603         (ix86_return_pops_args): Fastcall functions pop the stack.
3604         (init_cumulative_args): Reserve registers ECX and EDX if function has
3605         fastcall attribute.
3606         (function_arg): Use registers ECX and EDX if function has fastcall
3607         attribute.
3608         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
3609         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
3610         (FASTCALL_PREFIX): Define as '@'.
3611         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3612         attributes.
3613         * doc/extend.texi: Add documentation of fastcall attribute.
3614
3615 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3616
3617         * configure.in: FORBUILD when build!=host changed from
3618         ../$build-alias to ../build-$build_alias to match change made
3619         in top directory.
3620         * configure: Regenerated.
3621
3622 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3623
3624         PR optimization/8988
3625         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
3626         the biv when eliminating.
3627
3628 2002-12-19  Devang Patel  <dpatel@apple.com>
3629         * gcc.c (struct default_compiler): Recognizes input file name with
3630         .CPP extension as C++ source files
3631         * cp/lang-spec.h: Same
3632         * doc/invoke.texi:  Add documentation for .CPP support.
3633
3634 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
3635
3636         PR 8553
3637         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
3638         registers.
3639         ("absv16qi2"): Same.
3640         ("absv4si2"): Same.
3641         ("absv4sf2"): Same.
3642         ("altivec_abss_v16qi"): Same.
3643         ("altivec_abss_v8hi"): Same.
3644         ("altivec_abss_v4si"): Same.
3645
3646 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
3647
3648         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
3649         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
3650
3651 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3652
3653         PR target/8340
3654         * stmt.c (expand_asm_operands): Produce an error when
3655         the PIC register is clobbered.
3656
3657 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
3658
3659         * Makefile.in (OBJS): Add alloc-pool.o
3660         (alloc-pool.o): New object.
3661
3662         * alloc-pool.c: New file.
3663         * alloc-pool.h: New file.
3664
3665 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
3666
3667         * gcc.c (validate_switches): Robustify against skipping past '\0'.
3668
3669 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3670
3671         * config.gcc: Set extra_objs in the generic Darwin rule,
3672         not in the machine-specific rules.
3673
3674 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3675
3676         * ChangeLog: Follow spelling conventions.
3677         * ChangeLog.2: Likewise.
3678         * ChangeLog.4: Likewise.
3679         * ChangeLog.5: Likewise.
3680         * cppexp.c: Likewise.
3681         * df.c: Likewise.
3682         * gcov.c: Likewise.
3683         * gengtype.c: Likewise.
3684         * reload1.c: Likewise.
3685         * sched-rgn.c: Likewise.
3686         * stmt.c: Likewise.
3687         * stor-layout.c: Likewise.
3688         * timevar.c: Likewise.
3689         * toplev.c: Likewise.
3690         * tree.h: Likewise.
3691         * varasm.c: Likewise.
3692         * config/fr30/fr30.md: Likewise.
3693         * config/i386/i386.c: Likewise.
3694         * config/ia64/ia64.c: Likewise.
3695         * config/pa/pa.c: Likewise.
3696
3697 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3698
3699         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3700
3701 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3702
3703         PR 8551
3704         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3705         macro.
3706         (vec_cmplt C++ functions): Reverse arguments.
3707
3708 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3709
3710         * config/rs6000/t-rs6000: Move contents to t-fprules,
3711         add rules for dependencies of rs6000.o and to build rs6000-c.o
3712         * config/rs6000/t-fprules: New file from t-rs6000.
3713         * config/rs6000/t-beos: Remove soft-fp rules.
3714         * config/rs6000/t-ppccomm: Likewise.
3715         * config/rs6000/t-newas: Likewise.
3716         * config/rs6000/t-rs6000-c-rule: Delete.
3717         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3718         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3719         Create generic Darwin rules.
3720
3721         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3722
3723 2002-12-18  Doug Evans  <dje@sebabeach.org>
3724
3725         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3726         and LIT_NAME_P.
3727         (move_src_operand): Remove compile-time warning.
3728         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3729
3730 2002-12-18  Jason Merrill  <jason@redhat.com>
3731
3732         * unwind-dw2-fde.c (frame_downheap): Split out from...
3733         (frame_heapsort): Here.
3734
3735 2002-12-17  Jason Merrill  <jason@redhat.com>
3736
3737         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3738         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3739
3740         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3741
3742         * calls.c (expand_call): Don't try to be clever about expanding
3743         the return slot address.
3744
3745 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3746
3747         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3748         Define.
3749
3750 2002-12-17  Jason Merrill  <jason@redhat.com>
3751
3752         * genmultilib: Use 'cd ./foo'.
3753
3754 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3755
3756         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3757
3758 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3759
3760         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3761         * doc/cpp.texi: Likewise.
3762         * doc/extend.texi: Likewise.
3763         * doc/gty.texi: Likewise.
3764         * doc/install.texi: Likewise.
3765         * doc/invoke.texi: Likewise.
3766         * doc/md.texi: Likewise.
3767         * doc/passes.texi: Likewise.
3768         * doc/rtl.texi: Likewise.
3769         * doc/sourcebuild.texi: Likewise.
3770         * doc/tm.texi: Likewise.
3771
3772 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3773
3774         * doc/invoke.texi: Minor spelling and grammar fixes.
3775
3776 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3777
3778         * config/s390/s390.c (s390_output_constant_pool): Replace
3779         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3780
3781 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3782
3783         * convert.c (convert_to_real): Disable function transformation for
3784         now.
3785
3786 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3787
3788         * gcc.c (handle_braces): Allow '@' as a switch name.
3789
3790 2002-12-16  Jason Merrill  <jason@redhat.com>
3791
3792         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3793         with special struct-return ABIs.
3794
3795         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3796         doesn't match the begin SCOPE_STMT in partialness.
3797
3798 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3799
3800         * genmultilib: Create temporary files in unique subdirectory.
3801
3802         * gcc.c (validate_switches): Allow '@' as a switch name.
3803
3804 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3805
3806         * Makefile.in (gcov-iov.h): Improve portability.
3807
3808 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3809
3810         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3811         gas
3812         * mips.md (tablejump insn): Likewise.
3813
3814 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3815
3816         * doc/include/gcc-common.texi: Change version number to 3.4.
3817
3818 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3819
3820         * fixinc/fixlib.h: add: #include <signal.h>
3821         * fixinc/fixincl.c: remove: #include <signal.h>
3822
3823 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3824
3825         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3826         (EXTRA_CONSTRAINT): Use it.
3827         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3828
3829 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3830
3831         * config.gcc (need_64bit_hwint): New variable.
3832         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3833         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3834         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3835         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3836         Set it.
3837         (powerpc*-*-darwin*): Unset it.
3838         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3839         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3840         deleted/nonexistent xm-*.h headers.
3841         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3842         target set need_64bit_hwint in config.gcc.
3843         * configure, config.in: Regenerate.
3844
3845         * hwint.h: Overhaul.  Don't bother trying int for
3846         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3847         decision to force 64-bit HOST_WIDE_INT on
3848         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3849         not visible at this point.  Don't allow prior definition of
3850         any macro defined by this file.
3851
3852         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3853         HOST_BITS_PER_WIDE_INT.
3854         * config/c4x/c4x.h: Adjust redefinition of
3855         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3856         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3857         config/i386/xm-i386-interix.h: Delete file.
3858
3859 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3860             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3861
3862         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3863         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3864
3865 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3866
3867         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3868
3869 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3870
3871         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3872         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3873         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3874         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3875         config/v850/t-v850:  Correct dependencies and normalize
3876         compilation commands for files that include coretypes.h and tm.h.
3877
3878         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3879         not config.h and system.h.
3880
3881 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3882
3883         * i386.c (flags_reg_operand):  New function.
3884         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3885         * i386.md (cmov splitter, movqicc): Use new predicate.
3886
3887 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3888
3889         * i386.md (movqicc splitter): Fix template.
3890
3891 2002-12-13  Jason Merrill  <jason@redhat.com>
3892
3893         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3894         * calls.c (expand_call): Handle it.
3895         * tree-inline.c (struct inline_data): Remove target_exprs field.
3896         (optimize_inline_calls): Don't initialize it.
3897         (expand_call_inline): Don't modify it.  Handle
3898         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3899         (declare_return_variable): Take return slot addr.
3900         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3901         to return_slot_addr.
3902         * langhooks-def.h, langhooks.c: Adjust.
3903         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3904         a decl with no DECL_INITIAL.
3905
3906         * expr.c (expand_expr): Don't discard the target of a call which
3907         returns in memory.
3908
3909 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3910
3911         * cppinit.c (path_include): Take an environment variable name.
3912         Tidy up.
3913         (init_standard_includes): Simplify environment handling, and
3914         move to ...
3915         (cpp_read_main_file): ...here as -nostdinc should not affect
3916         environment variable paths.
3917
3918 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3919
3920         * pa.c (output_millicode_call): Correct typo.
3921         (output_call): Likewise.
3922
3923 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3924
3925         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3926         operand's range.  Print value directly, without aid from
3927         output_address.
3928         <case U>: New.
3929         <case S>: Make sure argument to fprintf has the right type.
3930         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3931         (EXTRA_CONSTRAINT): Adjust.
3932         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3933         bclr.  Use %U for immediate operands of bset and bclr.
3934         (iorqi3): New expand, with insns for AM33 and mn10300.
3935
3936 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3937
3938         * sh.c (sh_register_operand): New function.
3939         (prepare_move_operands): Use it.
3940         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3941         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3942         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3943         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3944         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3945         (movv2si_i): Likewise.
3946
3947 2002-12-13  Jim Wilson  <wilson@redhat.com>
3948
3949         * doc/extend.texi (Complex Numbers): Update info on debug info.
3950
3951 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3952
3953         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3954         alternative.
3955
3956 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3957
3958         * hooks.h (hook_tree_tree_bool_false): Declare
3959         hook_bool_tree_tree_false instead.
3960
3961 2002-12-12  Devang Patel  <dpatel@apple.com>
3962
3963         * doc/invoke.texi: Document Darwin linker options, -bundle
3964         -bind_at_load, -all_load and -arch_errors_fatal
3965
3966 2002-12-12  Jim Wilson  <wilson@redhat.com>
3967
3968         * dbxout.c (dbxout_fptype_value): New.
3969         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3970
3971 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3972
3973         * c-decl.c: Fix a comment typo.
3974         * cfg.c: Likewise.
3975         * cfgcleanup.c: Likewise.
3976         * cfglayout.c: Likewise.
3977         * cfgrtl.c: Likewise.
3978         * c-typeck.c: Likewise.
3979         * dominance.c: Likewise.
3980         * dwarf2asm.c: Likewise.
3981         * dwarfout.c: Likewise.
3982         * expmed.c: Likewise.
3983         * expr.c: Likewise.
3984         * final.c: Likewise.
3985         * flow.c: Likewise.
3986         * function.c: Likewise.
3987         * gcc.c: Likewise.
3988         * genautomata.c: Likewise.
3989         * integrate.c: Likewise.
3990         * loop.c: Likewise.
3991         * loop.h: Likewise.
3992         * output.h: Likewise.
3993         * profile.c: Likewise.
3994         * ra.h: Likewise.
3995         * reload1.c: Likewise.
3996         * reload.c: Likewise.
3997         * sched-rgn.c: Likewise.
3998         * stmt.c: Likewise.
3999         * tree.h: Likewise.
4000         * vmsdbgout.c: Likewise.
4001
4002 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4003
4004         * config/h8300/h8300.md: Add a new peephole2.
4005
4006 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4007
4008         * config/h8300/h8300.md (a peephole2): Accept a constant
4009         that's accepted by CONST_OK_FOR_J.
4010
4011 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4012
4013         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
4014         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
4015         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
4016         (*addhi_h8300hs): Likewise.
4017
4018 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
4019
4020         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
4021         (sh_register_move_cost): Add clause for SImode fp-fp moves.
4022         Increase cost for moves involving multiple general purpose registers.
4023         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
4024         TARGET_FMOVD.
4025         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
4026         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
4027         (enum reg_class reg_class_from_letter): No longer const.
4028         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
4029         REGCLASS_HAS_GENERAL_REG.
4030         Handle SImode moves from/to fp registers.
4031         ! TARGET_SHMEDIA && TARGET_FMOVD.
4032         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
4033         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
4034
4035 2002-12-12  Andreas Schwab  <schwab@suse.de>
4036
4037         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
4038         change and some warnings.
4039
4040 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4041
4042         * doc/md.texi (pushm): Fix a typo.
4043
4044 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
4045
4046         * config/mips/mips.c (mips_output_conditional_branch): Support
4047         PIC-safe out-of-range branch and branch-likely.
4048         * config/mips/mips.md (attr length): PIC-safe out-of-range
4049         branches are longer.
4050         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
4051         unused code to support indirect jumps.
4052
4053 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
4054
4055         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
4056         $(tm_file_list).
4057
4058 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
4059
4060         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
4061
4062 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
4063
4064         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
4065
4066 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4067
4068         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
4069         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
4070         BIGGEST_ALIGNMENT.
4071         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
4072         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
4073
4074 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4075
4076         * doc/invoke.texi: Correct dump file names.
4077
4078 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4079
4080         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
4081         name to globalize_label or assemble_name.
4082
4083 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
4084
4085         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
4086         if not TARGET_SHMEDIA.
4087
4088 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
4089
4090         * sh.h (REG_CLASS_HAS_FP_REG): New.
4091         (REGISTER_MOVE_COST) Use it.  Put body into a function and
4092         move it into:
4093         * sh.c (sh_register_move_cost).
4094         * sh-protos.h (sh_register_move_cost): Declare.
4095
4096         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
4097         (sh_adjust_cost): Always return a value.
4098
4099 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
4100
4101         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
4102         (REGISTER_MOVE_COST): Use it.
4103
4104 2002-12-11  Richard Henderson  <rth@redhat.com>
4105
4106         * tree.h (MODULE_LOCAL_P): Kill.
4107         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
4108
4109 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4110
4111         * config/h8300/h8300.md (two define_peephole2): New.
4112
4113 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4114
4115         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
4116         (CONST_OK_FOR_K): Likewise.
4117         (CONST_OK_FOR_M): Likewise.
4118         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
4119
4120 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
4121
4122         * c-common.c (builtin_define_type_max): Handle unsigned
4123         types too.
4124
4125 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
4126
4127         * haifa-sched.c (rank_for_schedule): Correct style.
4128
4129 2002-12-10  Per Bothner  <pbothner@apple.com>
4130
4131         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
4132         directive_index into an unsigned field and a new is_directive field.
4133         * cppinit.c (mark_named_operators):  Update to set new fields.
4134         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
4135         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
4136         No longer need to subtract 1 from directive_index.
4137         (_cpp_init_directives):  No longer need to add 1 to directive_index.
4138         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
4139
4140 2002-12-10  Roger Sayle  <roger@eyesopen.com>
4141
4142         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
4143         check for evaluating sqrt of a constant at compile time.
4144         * simplify-rtx.c (simplify_unary_operation): Likewise.
4145
4146 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
4147
4148         PR other/8882
4149         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
4150
4151 2002-12-10  Devang Patel  <dpatel@appple.com>
4152
4153         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
4154         * doc/invoke.texi: Add new "Darwin Options" section.
4155
4156 2002-12-10  Jim Wilson  <wilson@redhat.com>
4157
4158         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
4159         memory.
4160
4161 2002-12-10  Andrew Haley  <aph@redhat.com>
4162
4163         * cse.c (cse_insn): Don't cse past a basic block boundary.
4164
4165 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
4166
4167         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
4168         -shared.
4169         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
4170         * config/alpha/linux.h (LIB_SPEC): Likewise.
4171         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
4172         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
4173         * config/sparc/linux.h (LIB_SPEC): Likewise.
4174         * config/sparc/linux64.h (LIB_SPEC): Likewise.
4175
4176 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
4177
4178         * doc/invoke.texi: Document UltraSparc III option.
4179
4180 2002-12-09  Richard Henderson  <rth@redhat.com>
4181
4182         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
4183         __tune_pentium2__ and __tune_pentium3__ as necessary.
4184
4185 2002-12-09  Richard Henderson  <rth@redhat.com>
4186
4187         * target.h (gcc_target): Add cannot_force_const_mem.
4188         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
4189         (TARGET_INITIALIZER): Add it.
4190         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
4191         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
4192         * reload1.c (reload): Likewise.
4193         * hooks.c (hook_bool_rtx_false): New.
4194         * hooks.h: Declare it.
4195
4196         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
4197         (TARGET_CANNOT_FORCE_CONST_MEM): New.
4198         (ix86_expand_move): Remove de-const-pooling hack.
4199
4200 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
4201
4202         * toplev.c (dump_file): Fix order to match reality.
4203
4204 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
4205
4206         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
4207         (store_multiple): Likewise.
4208
4209 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4210
4211         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
4212         function pointers in page 0.
4213
4214 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4215
4216         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
4217         definition
4218         (MEMBER_TYPE_FORCES_BLK): Move.
4219         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
4220         aggregate arguments.
4221         (ia64_function_value): Use PARALLEL to return aggregate values.
4222
4223 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4224
4225         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4226         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4227         * calls.c (store_unaligned_arguments_into_pseudos) Remove
4228         FUNCTION_ARG_REG_LITTLE_ENDIAN.
4229         * stmt.c (expand_return): Ditto.
4230         * expr.c (move_block_from_reg): Ditto.
4231         (copy_blkmode_from_reg): Ditto.
4232         * expmed.c (store_bit_field): Ditto.
4233
4234 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
4235
4236         * config.gcc: Added tic4x-* target as an alias to c4x-*
4237
4238 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
4239
4240         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
4241         constructing insn directly.
4242
4243 2002-12-06  Per Bothner  <pbothner@apple.com>
4244
4245         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
4246         char to an int bit-field, for hosts where char is unsigned.
4247
4248 2002-12-07  Roger Sayle  <roger@eyesopen.com>
4249             Richard Henderson <rth@redhat.com>
4250
4251         * real.c (ieee_extended_motorola_format,
4252         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
4253         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
4254         Provide appropriate values for new signbit field.
4255
4256 2002-12-07  Roger Sayle  <roger@eyesopen.com>
4257
4258         * real.h (real_format): Add signbit field.
4259         * real.c (ieee_single_format, ieee_double_format,
4260         ieee_extended_motorola_format, ieee_extended_intel_96_format,
4261         ieee_extended_intel_128_format, ibm_extended_format,
4262         ieee_quad_format, vax_f_format, vax_d_format,
4263         vax_g_format, i370_single_format, i370_double_format,
4264         c4x_single_format, c4x_extended_format, real_internal_format):
4265         Provide suitable signbit value, or -1 to avoid bit twiddling.
4266
4267         * optabs.c (expand_unop): Try implementing negation of
4268         floating point modes by flipping the sign bit.
4269         (expand_abs): Try implementing abs of floating point modes
4270         by clearing the sign bit.
4271
4272 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4273
4274         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
4275         of constructing insn directly.
4276
4277 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
4278
4279         * config/h8300/h8300.md (*iorhi_shift_8): New.
4280
4281 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
4282
4283         * doc/invoke.texi: Document FRV port options.
4284         * doc/md.texi: Document FRV register classes.
4285
4286 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4287
4288         * doc/install.texi (Configuration): Improve description of cases
4289         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
4290
4291 2002-12-06  Per Bothner  <pbothner@apple.com>
4292
4293         * cpplib.h (NODE_MACRO_ARG):  New flag.
4294         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
4295         Remove value.operator field.  Move arg_index field to value union.
4296         (directive_index):  Make signed, since also used for C++ operators.
4297         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
4298         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
4299         Save node->value, and set node->value.arg_index.
4300         (_cpp_create_definition):  For each paramater, restore node->value.
4301         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
4302         * cpptrad.c (scan_out_logical_line): Likewise.
4303         (scan_out_logical_line): Check for directive > 0.
4304         * cpplib.c (cpp_handle_directive):  Likewise.
4305         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
4306         by negative of directive_index.
4307         * cppinit.c (mark_named_operators):  Likewise.
4308
4309         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
4310
4311 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
4312
4313         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
4314         FPU.
4315         (push): Generate push_fpscr.
4316         (pop): Generate pop_fpscr.
4317         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
4318         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
4319
4320 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
4321
4322         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
4323         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
4324
4325 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4326
4327         * sh.md (movdi_i): Name.  Remove inappropriate comment.
4328
4329 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
4330         Merged from basic improvements branch (excerpt):
4331
4332         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4333         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4334
4335 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
4336
4337         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
4338
4339 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
4340
4341         * i386.md (dimode peep2s): Re-add "&& 1".
4342
4343 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
4344
4345         * i386.c (ix86_expand_prologue):  Add comment, do not use
4346         fast prologues for cold and normal functions.
4347
4348 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4349
4350         * i386.c (x86_rep_movl_optimal): New variable.
4351         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
4352         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
4353
4354         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4355         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4356         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4357         generate unnecesary subregs.
4358
4359 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4360
4361         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
4362         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
4363
4364 2002-12-05  Dale Johannesen  <dalej@apple.com>
4365
4366         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
4367
4368 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
4369
4370         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
4371         PROFILE_HOOK.
4372         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
4373
4374 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
4375
4376         * config/rs6000/spe.h (__ev_mwlufi): Remove.
4377         (__ev_mwlufia): Remove.
4378         (__ev_mwlumfaaw): Remove.
4379         (__ev_mwlusfaaw): Remove.
4380         (__ev_mwlumfanw): Remove.
4381         (__ev_mwlusfanw): Remove.
4382
4383 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
4384
4385         * config/h8300/h8300.md (*andorsi3_shift_8): New.
4386
4387 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
4388
4389         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
4390         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
4391         (get_shift_alg): Return optimal assembly instructions for the
4392         shifts mentioned above.
4393
4394 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
4395
4396         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
4397         condtiional moves.
4398
4399 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4400
4401         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
4402         implement ashiftrt:HI by 13 bits on H8S.
4403
4404 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4405
4406         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
4407         * pa.md (canonicalize_funcptr_for_compare): Output library call to
4408         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
4409         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
4410         CTOR_LIST_BEGIN): New defines.
4411         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
4412         (fptr.c): Add make rules.
4413
4414 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
4415
4416         * combine.c (combine_simplify_rtx): Add new canonicalizations.
4417         * doc/md.texi (Insn Canonicalizations): Document new
4418         canonicalizations for multiply/add combinations.
4419         * config/rs6000/rs6000.md: Add and modify floating add/multiply
4420         patterns to ensure they're used whenever they can be.
4421
4422 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4423
4424         * config/h8300/h8300.c: Update the comments related to shifts.
4425
4426 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
4427
4428         * config/mips/mips.md (get_fnaddr): Correct length attribute.
4429
4430 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4431
4432         * config/h8300/h8300.md (*extzv_8_8): New.
4433         (*extzv_8_16): Likewise.
4434
4435 2002-12-04  Jason Merrill  <jason@redhat.com>
4436
4437         PR c++/8461, c++/8625
4438         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
4439         references.
4440         * tree-inline.c (initialize_inlined_parameters): Likewise.
4441
4442         * tree.c (variably_modified_type_p): Just return an error_mark_node.
4443
4444 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
4445
4446         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
4447         macro instruction in a branch delay slot, to avoid assembler
4448         warnings.
4449
4450 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
4451
4452         PR c/7622
4453         * c-semantics (genrtl_scope_stmt): Do not output inlined
4454         nested functions that contain no code.
4455
4456 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
4457
4458         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
4459         to be forced into nonfallthru.
4460
4461 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
4462
4463         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
4464
4465 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
4466
4467         * config/rs6000/spe.md (*movv1di_const0): New pattern.
4468
4469 2002-12-03  Richard Henderson  <rth@redhat.com>
4470
4471         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
4472
4473 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
4474
4475         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
4476         Initialize tmp.using_obstack to 0.
4477
4478 2002-12-03  Andreas Schwab  <schwab@suse.de>
4479
4480         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
4481         (EH_RETURN_STACKADJ_RTX): Define.
4482         (EH_RETURN_HANDLER_RTX): Define.
4483         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4484         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
4485         registers and don't save fixed registers.
4486         (m68k_output_function_prologue): Use it.
4487         (use_return_insn): Likewise.
4488         (m68k_output_function_epilogue): Likewise.
4489
4490 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
4491
4492         * config/h8300/h8300.c (single_one_operand): Fix a warning.
4493         (single_zero_operand): Likewise.
4494
4495 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
4496
4497         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
4498         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
4499         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
4500         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
4501         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
4502         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
4503         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
4504         doc/install-old.texi: Replace hconfig.h with bconfig.h.
4505         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
4506
4507 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
4508
4509         * config/rs6000/rs6000.md (ffssi): Convert to expander.
4510         (ffsdi): Likewise.
4511         (cntlzw2, cntlzd2): New patterns.
4512
4513 2002-12-02  H.J. Lu <hjl@gnu.org>
4514
4515         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
4516         (mips*-*-linux*): Remove mips/t-linux.
4517
4518 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
4519
4520         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4521
4522 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4523
4524         * config/h8300/h8300.c (dosize): Replace argument op with
4525         sign.
4526         (h8300_output_function_prologue): Update the call to dosize.
4527         (h8300_output_function_epilogue): Likewise.
4528
4529 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
4530
4531         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
4532
4533 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4534
4535         * configure.in: Use "missing" script to generate warning if
4536         flex or bison programs not found, instead of invoking "false".
4537         * configure: Rebuilt.
4538
4539 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4540
4541         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
4542
4543 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
4544
4545         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4546
4547 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4548
4549         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
4550         (push): Likewise.
4551         (pop): Likewise.
4552         (h8300_output_function_prologue): Likewise.
4553         (h8300_output_function_epilogue): Likewise.
4554
4555 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
4556
4557         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4558         corresponding mode of non-integer mode, unless it is VOIDmode.
4559
4560 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4561
4562         * config/h8300/h8300.md (stm_h8300s_2): New.
4563         (stm_h8300s_3): Likewise.
4564         (stm_h8300s_4): Likewise.
4565         (five define_peephole2): Likewise.
4566
4567 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4568
4569         * ra-build.c: Fix a comment typo.
4570
4571 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4572
4573         * i386.c (ix86_expand_int_movcc): fix
4574         reversed BRANCH_COST test; be curefull about infinite recursion.
4575
4576 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4577
4578         * config/h8300/h8300.c (h8300_output_function_prologue):
4579         Remove variable idx.
4580         (h8300_output_function_epilogue): Likewise.
4581
4582 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
4583
4584         * config/frv/xm-frv.h: Delete, unnecessary.
4585
4586 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4587
4588         * config/h8300/h8300.md: Add comments for define_peephole2.
4589
4590 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
4591
4592         * builtin-types.def (BT_SIZE): Use size_type_node.
4593         * builtins.c (fold_builtin): Make the builtin strlen returns a
4594         size_t, not a sizetype.
4595         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
4596         c_size_type_node.
4597         (c_alignof_expr): Likewise.
4598         (c_common_nodes_and_builtins): Likewise.
4599         * c-common.h (CTI_C_SIZE_TYPE): Remove.
4600         (c_size_type_node): Likewise.
4601         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
4602         * tree.h (TI_SIZE_TYPE): New enumeral.
4603         (size_type_node): Likewise.
4604
4605 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
4606
4607         * configure.in: Don't put ${tm_file} into host_xm_file,
4608         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
4609         Take location of tm-preds.h into account when calculating
4610         tm_p_file_list.
4611         * configure: Regenerate.
4612         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
4613         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
4614         Remove special case code for tm_p.h and *config.h; add new
4615         special case code for tm.h and tconfig.h. Clean up a bit.
4616
4617         * Makefile.in (tm_file, tm_file_list): New variables set from
4618         @-substitutions.
4619         (GCONFIG_H): Deleted.
4620         (GTM_H, TM_H): New.
4621         (CONFIG_H): Is now just config.h $(host_xm_file_list).
4622         (TM_P_H): Move up with the other mkconfig.sh-generated
4623         headers; don't mention tm-preds.h explicitly.
4624         (tm.h, cs-tm.h): New rule.
4625         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
4626         invocations of mkconfig.sh for changes to that program.
4627         (mostlyclean): Delete print-rtl1.c.
4628         (clean): Delete tm.h.
4629         Update dependencies for the files listed below.
4630
4631         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
4632
4633         * coretypes.h: New file.
4634         * system.h: #define malloc to xmalloc and realloc to xrealloc
4635         when FLEX_SCANNER or YYBISON is defined, independent of the
4636         value of GCC_VERSION.
4637         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
4638         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
4639         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
4640         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
4641         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
4642         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
4643         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
4644         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
4645         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
4646         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
4647         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
4648         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
4649         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
4650         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
4651         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4652         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4653         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4654         genconstants.c, genemit.c, genextract.c, genflags.c,
4655         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4656         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4657         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4658         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4659         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4660         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4661         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4662         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4663         print-tree.c, profile.c, protoize.c, ra-build.c,
4664         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4665         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4666         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4667         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4668         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4669         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4670         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4671         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4672         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4673         xcoffout.c, config/darwin-c.c, config/darwin.c,
4674         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4675         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4676         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4677         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4678         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4679         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4680         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4681         config/i960/i960-c.c, config/i960/i960.c,
4682         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4683         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4684         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4685         config/mips/irix6-libc-compat.c, config/mips/mips.c,
4686         config/mmix/mmix.c, config/mn10200/mn10200.c,
4687         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4688         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4689         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4690         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4691         config/sparc/sparc.c, config/stormy16/stormy16.c,
4692         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4693         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4694         Include coretypes.h and tm.h.
4695
4696         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4697         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4698         genrecog.c: Include coretypes.h and tm.h from the file
4699         generated by this program.
4700
4701         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4702         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4703         coretypes.h and tm.h, and tsystem.h when not already included.
4704         No need to include stddef.h nor stdlib.h.
4705
4706         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4707         include auto-host.h or ansidecl.h/
4708         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4709         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4710         include auto-host.h, ansidecl.h, or system.h.
4711         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4712         and do not redefine volatile.
4713
4714 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4715
4716         * i386.md (movdf_integer):  Always enable in 64bit.
4717         (movdf_nointeger): Always disable in 64bit.
4718
4719 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4720
4721         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4722         pseudo register number plus 1.
4723
4724 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4725
4726         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4727         corresponding mode of non-integer mode, unless it is VOIDmode.
4728
4729 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4730
4731         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4732
4733         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4734
4735 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4736
4737         * config/s390/t-crtstuff: New target makefile fragment.
4738         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4739
4740 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4741
4742         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4743         alternatives to correct the length when the memory operand is
4744         either pre_dec or post_inc.
4745
4746 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4747
4748         * config/h8300/h8300.md (an anonymous pattern): Give an
4749         internal name *tst_extzv_bitqi_1_n.
4750         Accept bit_operand instead of bit_memory_operand.
4751         Do not accept bit tests with the MSB.
4752         (*tst_extzv_memqi_1_n): New.
4753
4754 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4755
4756         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4757         sharing when operand is SUBREG.
4758
4759 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4760
4761         * athlon.md (athlon-decodev): New reservation unit.
4762         (athlon-direct0): New reservation.
4763         (athlon-vector): New use athlon-decodev.
4764         (athlon-double, athlon-direct): Better model.
4765         (athlon_imul_k8): Use athlon-direct0.
4766         (athlon_movlpd_load): New insn reservation.
4767
4768 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4769
4770         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4771         Fix a comment typo.
4772         (h8300_tiny_constant_address_p): Likewise.
4773
4774 2002-11-28  Michael Matz  <matz@suse.de>
4775
4776         * doc/passes.texi: Mention the other register allocator.
4777
4778 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4779
4780         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4781
4782 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4783
4784         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4785         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4786         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4787
4788 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4789
4790         * config/h8300/h8300.c (h8300_and_costs): New.
4791         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4792         * config/h8300/h8300-protos.h: Add a prototype for
4793         h8300_and_costs.
4794
4795 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4796
4797         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4798         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4799         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4800         * i386.md (truncdfsf patterns and splitters): Use
4801         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4802
4803 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4804
4805         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4806         pointer argument in the prototypes of the following builtins
4807         be (const TYPE *) rather than (TYPE *):
4808          + __builtin_altivec_ld_internal_4sf
4809          + __builtin_altivec_ld_internal_4si
4810          + __builtin_altivec_ld_internal_8hi
4811          + __builtin_altivec_ld_internal_16qi
4812          + __builtin_altivec_lvsl
4813          + __builtin_altivec_lvsr
4814          + __builtin_altivec_lvebx
4815          + __builtin_altivec_lvehx
4816          + __builtin_altivec_lvewx
4817          + __builtin_altivec_lvxl
4818          + __builtin_altivec_lvx
4819          + __builtin_altivec_dst
4820          + __builtin_altivec_dstt
4821          + __builtin_altivec_dstst
4822          + __builtin_altivec_dststt
4823
4824 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4825
4826         * except.c (default_exception_section): Move variable into the
4827         scope where it is used.
4828
4829 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4830
4831         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4832         correct version.
4833
4834 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4835
4836         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4837
4838 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4839
4840         * config/h8300/h8300.c (h8300_shift_costs): New.
4841         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4842         * config/h8300/h8300-protos.h: Add a prototype for
4843         h8300_shift_costs.
4844
4845 2002-11-27  Jim Wilson  <wilson@redhat.com>
4846
4847         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4848         in output template.
4849
4850 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4851
4852         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4853         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4854         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4855         (i386_pe_dllimport_name_p): Likewise.
4856         (i386_pe_mark_dllexport): Likewise.
4857         (i386_pe_mark_dllimport): Likewise.
4858         (i386_pe_encode_section_info): Likewise.
4859         (i386_pe_strip_name_encoding): Likewise.
4860
4861 2002-11-27  Richard Henderson  <rth@redhat.com>
4862
4863         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4864         (nm && NF == 3): Set sawsymbol true.
4865         (END): Exit if no symbols seen.
4866         (output): Fix map syntax error if no globals for the version.
4867
4868 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4869
4870         * builtins.def (DEF_C99_BUILTIN): Fix.
4871
4872 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4873
4874         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4875         (all): Add .size and .type information.
4876
4877 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4878
4879         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4880         partial_reg_stall target.
4881
4882 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4883
4884         * i386.md (movhicc): Allow general operand.
4885         (movqicc): New expander.
4886         (movqicc_noc): New pattern.
4887         * i386.c (ix86_expand_carry_flag_compare): New function.
4888         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4889         HImode conversion; support QImode conditional moves
4890
4891 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4892
4893         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4894         (ix86_expand_prologue): Multiply the count by amount of registers to be
4895         pushed.
4896
4897 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4898
4899         * i386.c (override_options): Error about wrong -mcpu on x86-64
4900         compilation.
4901
4902 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4903
4904         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4905
4906 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4907
4908         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4909         x86_extended_reg_mentioned_p): Declare.
4910         * i386.c (extended_reg_mentioned_1): New static function.
4911         (x86_extended_QIreg_mentioned_p,
4912         x86_extended_reg_mentioned_p): New global functions.
4913         * i386.h (REX_SSE_REGNO_P): New macro.
4914         * i386.md (prefix_rex): New attribute.
4915         (length attribute): Add rex.
4916
4917 2002-11-26  Andrew Haley  <aph@redhat.com>
4918
4919         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4920         from_Unwind_Find_Enclosing_Function.
4921         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4922         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4923         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4924         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4925         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4926
4927 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4928
4929         * config/s390/s390.c (390_output_constant_pool): Set alignment
4930         before label in 64 bit mode, behind otherwise.
4931
4932 2002-11-26  Richard Henderson  <rth@redhat.com>
4933
4934         * c-common.c (handle_visibility_attribute): Accept "default".
4935         * tree.h (enum symbol_visibility): New.
4936         (decl_visibility): Declare.
4937         * target.h (gcc_target.visibility): Take visibility arg as integer.
4938         * varasm.c (default_assemble_visibility): Likewise.
4939         (decl_visibility): New.
4940         (maybe_assemble_visibility): Use it.
4941         * output.h (default_assemble_visibility): Update prototype.
4942         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4943         visibility arg as integer.
4944         * doc/extend.texi: Document default visibility.
4945
4946 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4947
4948         * config/h8300/h8300.c: Adjust spacing.
4949         * config/h8300/h8300.h: Likewise.
4950
4951 2002-11-26  Richard Henderson  <rth@redhat.com>
4952
4953         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4954         hook_void_FILEptr_constcharptr): Rename so that the return
4955         type is first.
4956         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4957         hook_bool_tree_false): New.
4958         * hooks.h: Update.
4959         * langhooks-def.h: Update for renames.
4960         * target-def.h: Likewise.
4961         * tree.c (default_comp_type_attributes,
4962         default_set_default_type_attributes, default_insert_attributes,
4963         default_function_attribute_inlinable_p,
4964         default_ms_bitfield_layout_p): Remove.
4965         * tree.h: Update.
4966
4967 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4968
4969         * pa-protos.h (function_value): New prototype.
4970         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4971         TARGET_64BIT.
4972         * pa.h (FUNCTION_VALUE): Use function_value.
4973         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4974         call_value_internal_reg, sibcall_value_internal_symref,
4975         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4976         value.
4977
4978 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4979
4980         * expr.c (gen_group_rtx, emit_group_move): New functions.
4981         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4982         * function.c (expand_function_start): Use gen_group_rtx to create a
4983         PARALLEL rtx to hold the return value when the real return rtx is a
4984         PARALLEL.
4985         (expand_function_end): Use emit_group_move to move the return value
4986         from a PARALLEL to the real return registers.
4987         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4988         in PARALLELs.
4989
4990 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4991
4992         * config/t-libc-ok: Fix typo.
4993
4994 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4995
4996         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4997         before AC_PROG_CC.
4998         * configure: Rebuilt.
4999
5000 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
5001
5002         * c-decl.c: (start_struct): Commonize flag setting.
5003
5004 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
5005
5006         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
5007         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
5008         RS6000_CPU_CPP_ENDIAN_BUILTINS.
5009         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
5010
5011 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
5012
5013         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
5014         insns.
5015         * config/s390/s390.c (struct machine_function): Introduction of
5016         struct machine_function.
5017         (s390_output_symbolic_const): Use of cfun.
5018         (s390_optimize_prolog): Likewise.
5019         (s390_fixup_clobbered_return_reg): Likewise.
5020         (s390_frame_info): Likewise.
5021         (s390_emit_prologue, s390_emit_epilogue): Likewise.
5022         (s390_init_machine_status): New function.
5023         (override_options): call s390_init_machine_status.
5024         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
5025         prototype.
5026
5027 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5028
5029         * varasm.c (output_constant_pool): For pool constants in mergeable
5030         section ensure each constant is padded to multiple of entity size.
5031
5032 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5033
5034         * varasm.c (default_exception_section): Move to...
5035         * except.c (default_exception_section): ... here. Make
5036         .gcc_except_table read-only if it is not expected to have any
5037         dynamic relocations and linker handles it.
5038         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
5039         if it is not expected to have any dynamic relocations and linker
5040         handles it.
5041         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
5042         when linking read-only and read-write sections together.
5043         * configure, config.in: Rebuilt.
5044         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
5045         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
5046
5047 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
5048
5049         * i386.md (pushsf_rex64): Fix typo.
5050
5051 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
5052
5053         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
5054         new function.
5055         (__ev_create_ufix32_fs): Same.
5056         (__ev_get_sfix32_fs_internal): New.
5057         (__ev_get_sfix32_fs): Define to use function.
5058         (__ev_get_ufix32_fs_internal): New.
5059         (__ev_get_ufix32_fs): Define to use function.
5060         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
5061         (__ev_get_lower_ufix32_fs): Same.
5062         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
5063         (__ev_get_lower_sfix32_fs): Same.
5064         (__ev_set_sfix32_fs_internal): New.
5065         (__ev_set_ufix32_fs_internal): New.
5066         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
5067         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
5068         (__ev_set_upper_sfix32_fs): Call function.
5069         (__ev_set_lower_sfix32_fs): Same.
5070         (__ev_set_upper_ufix32_fs): Same.
5071         (__ev_set_lower_ufix32_fs): Same.
5072
5073 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
5074
5075         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
5076
5077 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5078
5079         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
5080         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5081         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5082         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
5083         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
5084         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5085         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
5086         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
5087         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5088         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5089         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
5090         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
5091         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
5092         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5093         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
5094         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
5095         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
5096         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
5097         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
5098         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
5099         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5100         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
5101         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
5102         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
5103         defining.
5104         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
5105         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
5106
5107 2002-11-25  Dave Pitts  <dpitts@cozx.com>
5108
5109         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
5110
5111 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
5112
5113         * config/h8300/h8300.md (an anonymous pattern): New.
5114
5115 2002-11-25  Richard Henderson  <rth@redhat.com>
5116
5117         * alias.c (find_base_value): Use new_reg_base_value if it's live.
5118         (copying_arguments): Make boolean.
5119
5120 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5121
5122         * gcc.c (static_spec_functions): Add if-exists-else spec
5123         function.
5124         (if_exists_else_spec_function): New function.
5125         * doc/invoke.texi: Document the if-exists-else spec function.
5126
5127         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
5128         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
5129
5130 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5131
5132         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
5133         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
5134         "${tmake_file} rs6000/t-netbsd".
5135         * config/rs6000/netbsd.h: Rewrite.
5136         * config/rs6000/t-netbsd: New file.
5137
5138 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
5139
5140         * config/h8300/h8300.md (an anonymous pattern): Relax the
5141         condition for the pattern.
5142
5143 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
5144
5145         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
5146         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
5147         evmwlssfanw, evmwlsmfanw.
5148
5149         * config/rs6000/rs6000.c (bdesc_2arg): Same.
5150
5151         * config/rs6000/spe.md: Same for patterns.
5152
5153 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
5154
5155         PR c/8639
5156         * fold-const.c (extract_muldiv): Don't propagate division unless
5157         both arguments are multiples of C.
5158
5159 2002-11-25  Andrew Haley  <aph@redhat.com>
5160
5161         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
5162         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
5163         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
5164         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5165
5166 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
5167
5168         * i386.c (x86_use_ffreep): New global variable.
5169         * i386.h (x86_use_frfeep): Declare
5170         (TARGET_USE_FFREEP): New macro
5171         * i386.md  (movs?f*): Use freep when asked for.
5172         (push?f): Remove dead code.
5173
5174 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
5175
5176         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
5177         target help message.
5178
5179 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5180
5181         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
5182         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
5183         crtbeginT.o".
5184         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
5185         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
5186         to "" for a.out configurations.
5187         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
5188
5189 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5190
5191         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
5192         NETBSD_CPP_SPEC directly.
5193         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
5194         netbsd_endfile_spec.
5195         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
5196
5197 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5198
5199         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
5200         NETBSD_STARTFILE_SPEC.
5201         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
5202         (ENDFILE_SPEC): Likewise.
5203         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
5204
5205 2002-11-24  Andreas Schwab  <schwab@suse.de>
5206
5207         * Makefile.in (install-driver): Remove versioned link before
5208         trying to create it.
5209
5210         * config/m68k/m68k.c: Fix typo in last change defining
5211         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
5212
5213 2002-11-23  H.J. Lu <hjl@gnu.org>
5214
5215         * aclocal.m4: Include ../config/accross.m4.
5216         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
5217         (gcc_AC_C_COMPILE_ENDIAN): Removed.
5218         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
5219         instead of $ac_cv_c_compile_endian.
5220
5221         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
5222         AC_COMPILE_CHECK_SIZEOF.
5223         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
5224         * configure: Rebuild.
5225
5226 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
5227
5228         * config/h8300/h8300.c (print_operand): Update the use of
5229         h8300_tiny_constant_address_p.
5230         (h8300_adjust_insn_length): Likewise.
5231         (h8300_tiny_constant_address_p): Check if the given rtx is a
5232         variable declared with __attribute__ ((tiny_data)).
5233
5234 2002-11-22  Dale Johannesen  <dalej@apple.com>
5235
5236         * toplev.c (rest_of_compilation):  Fix comments.
5237
5238 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
5239
5240         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
5241         allow mmap from /dev/zero.  Don't make decisions for the host
5242         based on presence or absence of /dev/zero on the build machine.
5243         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
5244         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
5245         * configure: Regenerate.
5246
5247 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
5248
5249         * gcc.c (make_relative_prefix, split_directories)
5250         (free_split_directories): Removed.
5251
5252 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
5253
5254         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
5255         * configure: Regenerated.
5256
5257 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
5258
5259         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
5260         length computation when xor.l is output.
5261
5262 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
5263
5264         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
5265         (call_vms_1, call_value_vms_1): Cleanup syntax.
5266
5267 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
5268
5269         * athlon.md (define_atuomaton): Add athlon_load.
5270         (athlon-double): New reservation.
5271         (athlon-ieu0): New CPU unit.
5272         (athlon-load?): Use athlon_load automaton.
5273         (*_k8 reservations): New.
5274         (other insn revervations): Activate for K8.
5275
5276 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5277
5278         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
5279
5280 2002-11-21  Jim Wilson  <wilson@redhat.com>
5281
5282         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
5283         vectors to SI.
5284
5285 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
5286
5287         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
5288         * config/xtensa/xtensa.c (struct machine_function): Add
5289         incoming_a7_copied flag.
5290         (xtensa_copy_incoming_a7): Define.
5291         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
5292         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
5293
5294 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
5295
5296         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
5297         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
5298         x86_64_nonmemory_operand, x86_64_movabs_operand,
5299         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
5300         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
5301         (local_symbolic_operand): Do not care the 64bit limits.
5302         (x86_64_sign_extended_value): Remove allow_rip support.
5303         (legitimate_pic_address_disp_p): Handle all cases allowed
5304         with RIP addressing.
5305         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
5306         (legitimize_pic_address): Reorganize.
5307         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
5308
5309 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5310
5311         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
5312         * config/arm/netbsd-elf.h: New file.
5313
5314 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5315
5316         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
5317         subtarget_asm_float_spec.
5318         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
5319         defaults from...
5320         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
5321
5322 2002-11-21  Nick Clifton  <nickc@redhat.com>
5323
5324         * config/fr30/fr30.md (movsf_constant_store): Move code to
5325         detect 0.0 into fr30.c.
5326         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
5327         Prototype.
5328         * config/fr30/fr30.c (fr30_const_double_is_zero): New
5329         function.  Return true if the rtx is 0.0.
5330
5331 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5332
5333         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
5334         if -mlittle-endian is specified.
5335
5336 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
5337
5338         PR optimization/2903
5339         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
5340         (anddi_notsesidi_di): Likewise.
5341
5342 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
5343
5344         * config/h8300/h8300.c (print_operand): Use
5345         h8300_eightbit_constant_address_p and
5346         h8300_tiny_constant_address_p.
5347         (h8300_adjust_insn_length): Likewise.
5348         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
5349         (TINY_CONSTANT_ADDRESS_P): Likewise.
5350         (OK_FOR_U): Use eightbit_constant_address_p.
5351
5352 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
5353
5354         * config/s390/libgcc-libc.ver: Add multilib support.
5355         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
5356         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
5357         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
5358         EXTRA_MULTILIB_PARTS): Define.
5359
5360 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
5361
5362         * arm.c (arm_get_frame_size): A leaf function does not need its
5363         stack padding to an aligned boundary if it has no frame.
5364         (thumb_get_frame_size): Likewise.
5365
5366 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
5367
5368         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
5369         (override_options): Likewise.
5370
5371 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
5372
5373         * config.gcc: Add k8 target alias support
5374         * i386.c (_cost): Declare costs for various variants of divides and
5375         multiplies.
5376         (k8_cost): New.
5377         (m_K8, m_ATHLON_K8): New macros.
5378         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
5379         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
5380         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
5381         x86_integer_DFmode_moves, x86_partial_reg_dependency,
5382         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
5383         x86_prologue_using_move, x86_epilogue_using_move,
5384         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
5385         x86_sse_typeless_stores): Set for K8
5386         (override_options): Add k8 support; fix athlon alignment;
5387         complain about non-x86-64 capable CPU being used in x86-64 compilation.
5388         (ix86_issue_rate): Set for K8.
5389         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
5390         x86_machine_dependent_reorg): Handle K8 like
5391         * i386.h
5392         (x86_costs):  Change mult_init and divide into array.
5393         (TARGET_K8, TARGET_ATHLON): New macros.
5394         (MODE_INDEX): New macro.
5395         (RTX_COST): Use new costs.
5396         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
5397         (TARGET_CPU_DEFAULT_NAMES): Add k8
5398         (TARGET_CPU_DEFAULT_k8): New constant
5399         (enum processor_type): Add PROCESSOR_K8.
5400         * i386.md (cpu attribute): Add k8.
5401
5402         * invoke.texi: Document -march=k8.
5403
5404         * i386.md (type attribute): Add leave
5405         (mode attribute): Remove unknownfp.
5406         (length_immediate, modrm, memory attributes): Handle leave correctly.
5407         (fp comparison patterns): Determine FP mode.
5408         (leave, leave_rex64): Remove special cases.
5409         * ppro.md (ppro_uops, ppro_p2): Add leave
5410         * pentiun.md (pent_pop): Handle leave too.
5411         * k6.md (k6_load): Handle leave.
5412         * athlon.md (athlon_leave, athlon_pop): Fix.
5413         (athlon_decode): Handle leave.
5414
5415 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
5416
5417         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
5418         to component type using GET_MODE_INNER.
5419         * expr.c (emit_move_insn_1): Ditto.
5420         * optabs.c (expand_binop): Ditto.
5421         (expand_unop): Ditto.
5422         (expand_complex_abs): Ditto.
5423
5424 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
5425
5426         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
5427
5428 2002-11-20  DJ Delorie  <dj@redhat.com>
5429
5430         * config/stormy16/stormy16.c (s16builtins,
5431         xstormy16_init_builtins, xstormy16_expand_builtin): New.
5432         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
5433
5434 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
5435
5436         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
5437         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
5438         (executing gencheck, genconfigs, genconditions, genflags,
5439         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
5440         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
5441         gengtype, genprotos): Prepend $(RUN_GEN).
5442         * configure.in: Move host compiler tests before --enable-checking
5443         tests.
5444         (--enable-checking=valgrind): New.
5445         * config.in, configure: Regenerate.
5446         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5447         Define as empty.
5448         (read_include_file): When doing the mmap+1 trick,
5449         valgrind-annotate the byte after the mmap:ed area as readable.
5450         (purge_cache): Remove above annotation.
5451         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
5452         VALGRIND_PATH -q to each command.
5453
5454         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5455         Define as empty.
5456         (ggc_realloc): Update valgrind annotations.
5457         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5458         Define as empty.
5459         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
5460         valgrind-annotate memory.
5461
5462 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
5463
5464         * recog.c (constrain_operands): Prefer exact match over reloadable
5465         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
5466
5467         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
5468         operands in Pmode.
5469
5470 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
5471
5472         PR c/8518
5473         * c-decl.c (duplicate_decls): Outline the second definition
5474         of an extern inline function in all cases.
5475
5476 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5477
5478         * stor-layout.c (place_field): Update rli->offset as well as
5479         rli->bitpos.
5480
5481 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5482
5483         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
5484
5485 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5486
5487         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
5488         into a libcall block.
5489         (divsi3): Likewise divsi3_i4_media.
5490
5491 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5492
5493         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
5494         out another register.
5495
5496 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
5497
5498         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
5499         (not just mask) are set in C.
5500
5501 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
5502
5503         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
5504
5505 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5506
5507         * profile.c (index_counts_file): Fix obvious mistake.
5508
5509 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5510
5511         * Makefile.in (profile.o): Add hashtab.h dependency.
5512         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
5513         * profile.c: Include hashtab.h.
5514         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
5515         cleanup_counts_index, index_counts_file, struct section_reference,
5516         struct da_index_entry, counts_file_name, counts_file_index): New.
5517         (get_exec_counts, init_branch_prob): Modified.
5518
5519 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5520
5521         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
5522         to tmake_file. Remove setting gas and gnu_ld here.
5523         * config/sh/libgcc-glibc.ver: New file.
5524         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5525         (SHLIB_MAPFILES): New.
5526         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
5527         (MD_STARTFILE_PREFIX): Likewise.
5528         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
5529         (DWARF2_UNWIND_INFO): Redefine.
5530         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5531         (LINK_EH_SPEC): Redefine.
5532         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
5533         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
5534         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
5535         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
5536         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
5537         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
5538         SH_DWARF_FRAME_FPSCR): Likewise.
5539         * config/sh/sh-protos.h (sh_set_return_address): Declare.
5540         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
5541         registers if the current function calls EH return.
5542         (sh_expand_epilogue): Handle EH stack adjustments.
5543         (sh_set_return_address): New function.
5544         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5545         Don't abort even if the number is mapped to -1.
5546         (EH_RETURN_DATA_REGNO): Define.
5547         (EH_RETURN_STACKADJ_RTX): Define.
5548         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
5549         (eh_return): New pattern.
5550         (eh_set_ra_di, eh_set_ra_si): Likewise.
5551         Add splitter to perform EH return after reload.
5552
5553 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
5554
5555         * stor-layout.c (excess_unit_span): New function.
5556         (place_field): Use it.
5557
5558 2002-11-19  Andreas Schwab  <schwab@suse.de>
5559
5560         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
5561         not valid in C++.
5562
5563 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5564
5565         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
5566         * configure: Regenerate.
5567
5568 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5569
5570         * convert.c (strip_float_extensions): New function.
5571         (convert_to_real): Optimize some cases.
5572
5573 2002-11-19  Andreas Jaeger  <aj@suse.de>
5574
5575         * loop.c (record_giv): Initialize not_replaceable.
5576         (check_final_value): Likewise.
5577
5578 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5579
5580         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
5581         MASK_H8300S.
5582
5583 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
5584
5585         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
5586         only if -mh or -ms present.
5587         (h8300_eightbit_constant_address_p): Support the normal mode.
5588         (h8300_tiny_constant_address_p): Likewise.
5589         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
5590         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
5591         (Pmode): Evaluate to HImode for the normal mode.
5592         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
5593         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
5594         (ASM_WORD_OP): Evaluate to word for the normal mode.
5595         * config/h8300/h8300.md (tablejump_normal_mode): New.
5596         (indirect_jump_normal_mode): New.
5597         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
5598         directory.
5599         (MULTILIB_DIRNAMES): Create target dependent directory
5600         'normal'.
5601         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
5602         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
5603
5604 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
5605
5606         * i386.md (length_immediate): Do not refer to insn address.
5607         (jcc*, jmp patterns):  Compute length explicitly.
5608
5609 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5610
5611         PR c/8588
5612         * optabs.c (expand_binop): Convert CONST_INTs in shift
5613         operations too.
5614
5615 2002-11-19  Roger Sayle  <roger@eyesopen.com>
5616
5617         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
5618
5619 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5620
5621         * config/h8300/h8300.md (an anonymous pattern): Relax the
5622         condition to accept the same operands and/or subregs.
5623
5624 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
5625
5626         * config/sh/sh.c (gen_shl_and): Revert previous patch.
5627         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
5628         reload_completed.
5629
5630 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5631
5632         * config/h8300/h8300.c (print_operand): Update the use of
5633         EIGHTBIT_CONSTANT_ADDRESS_P.
5634         (h8300_adjust_insn_length): Likewise.
5635         (h8300_eightbit_constant_address_p): Check if the given rtx is
5636         a variable with __attribute__((eightbit_data)).
5637         * config/h8300/h8300.h (OK_FOR_U): Update the use of
5638         EIGHTBIT_CONSTANT_ADDRESS_P.
5639
5640 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5641
5642         * doc/contrib.texi (Contributors): Add self as second contact in
5643         addition to Jeff Law.
5644
5645 2002-11-19  Andreas Jaeger  <aj@suse.de>
5646
5647         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
5648         find_alloca_call to right place.
5649
5650 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5651
5652         * cppfiles.c: Fix formatting.
5653
5654 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
5655
5656         * gcc.c (The Specs Language): Document spec functions.
5657         (static_spec_functions, lookup_spec_function)
5658         (eval_spec_function, handle_spec_function)
5659         (if_exists_spec_function, alloc_args): New.
5660         (execute): Abort if processing_spec_function is true.
5661         (do_spec_1): Hand off spec to handle_spec_function if %:
5662         is encountered.  If processing_spec_function is true,
5663         end any pending argument when the end of the string is reached.
5664         (main): Use alloc_args to allocate the initial argument vector.
5665         * gcc.h (struct spec_function): New.
5666         (lang_specific_spec_functions): New extern.
5667
5668         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5669         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5670         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
5671
5672         * doc/invoke.texi: Document spec functions.
5673
5674         * cppspec.c (lang_specific_spec_functions): New.
5675         * gccspec.c: Likewise.
5676
5677 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
5678
5679         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5680         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5681         (fixunstfsi_libfunc): Change.
5682         (fixunstfdi_libfunc): Change.
5683         (sdiv_optab): Don't zero out SImode handler.
5684         (udiv_optab): Don't zero out SImode handler.
5685         (smod_optab): Don't zero out SImode handler.
5686         (umod_optab): Don't zero out SImode handler.
5687
5688 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
5689
5690         PR preprocessor/8524
5691         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5692         Add a new one in its place, which hopefully works.
5693         (skip_rest_of_line): Change test for bottom-of-context-stack.
5694
5695 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5696
5697         * i386.md (addqi_1_slp): Fix output template.
5698         (subqi_1_slp): Fix type.
5699
5700 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5701
5702         * calls.c (alloca_call_p): New global function.
5703         * tree.h (alloca_call_p): New.
5704         * tree-inline.c (inlinable_function_p):  Do not inline when
5705         function calls alloca.
5706         (find_alloca_call, find_alloca_call_1): New functions.
5707
5708 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5709
5710         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5711         bst.  Update the insn length.
5712         (*andorhi3): Likewise.
5713         (*andorsi3): Likewise.
5714
5715 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5716
5717         * config/sh/sh-protos.h (sh_mark_label): Declare.
5718         * config/sh/sh.c (sh_mark_label): New function, taken from
5719         movdi_const, but fixing the case when the address has an addend.
5720         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5721
5722 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5723
5724         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5725         (add_constant): Set it.
5726         (dump_table): Don't reorder a constant if part_of_sequence_p.
5727         (machine_dependent_reorg): Assume that float constants will
5728         stay in their original order if used as a sequence.
5729
5730 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5731
5732         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5733         in compact code.
5734
5735 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5736
5737         * config/sh/sh.md (initialize_trampoline): Do not force the
5738         trampoline address into R0_REGS here.
5739
5740 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5741
5742         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5743         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5744         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5745         generate unnecesary subregs.
5746
5747 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5748
5749         * df.c: Fix formatting.
5750
5751 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5752
5753         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5754         lengths.
5755
5756 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5757
5758         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5759         is not an arith_reg_operand.
5760
5761 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5762
5763         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5764         is smaller than representation.
5765
5766 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5767
5768         * builtins.c: Fix formatting.
5769
5770 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5771
5772         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5773         floats?dff2_i387):
5774         Work around regclass stupidity.
5775         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5776
5777 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5778
5779         * i386.md (fop_df_6): New pattern.
5780         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5781         (fop_xf_6): Rewrite
5782         (fop_xf_7): Delete.
5783         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5784         (fop_tf_6): Rewrite
5785         (fop_tf_7): Delete.
5786
5787 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5788
5789         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5790
5791 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5792
5793         * config/h8300/h8300.md: Fix formatting.
5794
5795 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5796
5797         * config/h8300/h8300.md: Replace spaces with tabs.
5798         * config/h8300/t-h8300: Remove a trailing empty line.
5799
5800 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5801
5802         * tlink.c: Fix formatting.
5803
5804 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5805
5806         PR 8362
5807         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5808         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5809         when scratch register never needed.
5810         (ldmsi[3-8]): New patterns.
5811
5812 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5813
5814         * hard-reg-set.h: Follow spelling conventions.
5815         * real.c: Likewise.
5816         * target.h: Likewise.
5817
5818 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5819
5820         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5821
5822 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5823
5824         * optabs.c: Fix formatting.
5825
5826 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5827
5828         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5829         * i386.md (attribute type): Add type shift1 and rotate1.
5830         (*_slp): Rewrite to have just two operands to avoid reload problems.
5831
5832 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5833
5834         * config/h8300/h8300.md (4 anonymous patterns): New.
5835
5836 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5837
5838         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5839         * doc/invoke.texi: Correct description of what needs to be done to
5840         force collection at every ggc_collect call.
5841
5842 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5843
5844         * config/s390/s390.c (optimization_options): Set
5845         flag_asynchronous_unwind_tables to 1 by default.
5846
5847 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5848
5849         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5850
5851 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5852
5853         * i386-protos.h (x86_function_profiler): New function
5854         * i386.h (MCOUNT_NAME): New.
5855         (PROFILE_COUNT_REGISTER): New.
5856         (FUNCTION_PROFILER): Move offline to ...
5857         * i386.c (x86_function_profiler) ... here; fix 64bit support
5858         * beos-elf.h (FUNCTION_PROFILER): Kill.
5859         (MCOUNT_NAME): New.
5860         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5861         (MCOUNT_NAME): New.
5862         (PROFILE_COUNT_REGISTER): New.
5863         * linux.h (FUNCTION_PROFILER): Kill.
5864         (MCOUNT_NAME): New.
5865         * x86-64.h (FUNCTION_PROFILER): Kill.
5866         (MCOUNT_NAME): New.
5867         * freebsd.h (FUNCTION_PROFILER): Kill.
5868         (MCOUNT_NAME): New.
5869
5870 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5871
5872         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5873         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5874         * config/arm/arm.c (arm_va_arg,
5875         arm_function_arg_pass_by_reference): New.
5876         * config/arm/arm-protos.h: Add prototypes.
5877
5878 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5879
5880         * gthr-single.h: Fix formatting.
5881
5882 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5883
5884         * tree.c (tree_vec_elt_check_failed): New function.
5885         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5886         (TREE_VEC_ELT): Use it.
5887
5888         * tree-inline.c (optimize_inline_calls): Don't copy a
5889         zero-length vector.
5890
5891 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5892
5893         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5894
5895 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5896
5897         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5898         both operands contain local relocations.
5899         (categorize_decl_for_section): Don't use mergeable sections if
5900         initializer has any relocations.
5901
5902 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5903
5904         * gthr-vxworks.h: Fix formatting.
5905
5906 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5907
5908         * doc/install.texi (Testing): Document extra Java testing.
5909         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5910
5911 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5912
5913         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5914         beginning of the spec.
5915         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5916         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5917         regarding problems with global constructors when using GNU ld.
5918
5919 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5920
5921         * gthr-solaris.h: Fix formatting.
5922
5923 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5924
5925         * gthr-posix.h: Fix formatting.
5926
5927 2002-11-12  Devang Patel <dpatel@apple.com>
5928         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5929         (process_command): Same.
5930         * doc/invoke.texi: Info about these two new options.
5931
5932 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5933
5934         * config/h8300/h8300.md (*andorsi3): New.
5935
5936 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5937
5938         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5939
5940 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5941
5942         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5943         expressions appropriately.
5944
5945 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5946
5947         * gthr-win32.h: Fix formatting.
5948
5949 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5950
5951         * config/h8300/h8300.c (single_one_operand): Correctly compute
5952         mask when mode is SImode.
5953         (single_zero_operand): Likewise.
5954         * config/h8300/h8300.md (two new anonymous insns): New.
5955
5956 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5957
5958         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5959         to that entire project.
5960
5961 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5962
5963         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5964         directories.
5965
5966 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5967
5968         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5969         * doc/invoke.texi: Document them.
5970
5971         * ggc-page.c: Include params.h.  Remove definitions of
5972         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5973         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5974         (init_gcc): Don't set G.allocated_last_gc here.
5975         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5976         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5977         perform collection.
5978         * ggc-simple.c: Similarly.
5979         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5980         dependencies.
5981
5982 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5983
5984         * gthr-dce.h: Fix formatting.
5985
5986 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5987
5988         PR c/8467
5989         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5990         mode of DECL_RTL case.
5991
5992 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5993
5994         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5995
5996 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5997
5998         * i386.c (construct_container): Fix handling of SSE_CLASS.
5999
6000 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
6001
6002         * config/m68k/t-crtstuff (crti.o): Use this...
6003         ($(T)crti.o): ... instead.
6004         (crtn.o): Use this...
6005         ($(T)crtn.o): ... instead.
6006
6007 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
6008
6009         PR c/8439
6010         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
6011         if there is something new to be simplified.
6012
6013 2002-11-10  H.J. Lu <hjl@gnu.org>
6014
6015         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
6016         * expr.c (PUSH_ARGS_REVERSED): Likewise.
6017
6018         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
6019
6020 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
6021
6022         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
6023         * config/rs6000/linux.h, config/rs6000/linux64.h,
6024         config/rs6000/windiss.h: ... not here.
6025
6026 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
6027
6028         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
6029         __ABICALLS__ if TARGET_ABICALLS.
6030
6031 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
6032
6033         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
6034
6035 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
6036
6037         * c-decl.c (grokdeclarator): Make error for duplicate type
6038         qualifiers into a pedwarn, disabled for C99.
6039
6040 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
6041
6042         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
6043         as FUNCTION_ARG_PASS_BY_REFERENCE.
6044
6045 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
6046
6047         * doc/install.texi: Add *-*-vxworks* specific installation
6048         instructions.
6049
6050         * config/vxlib.c: Rewrite using generation numbers to identify
6051         valid TSD keys.
6052
6053 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
6054
6055         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
6056
6057 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6058
6059         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
6060
6061         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
6062         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
6063         * pa.c (output_millicode_call): Use symbol difference rather than
6064         $PIC_pcrel$0 when using HP assembler.
6065         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
6066         not elfos.h (i.e., gas) is being used.
6067         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
6068         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
6069         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
6070         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
6071         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
6072         using elfos.h.
6073         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
6074         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
6075         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
6076         using elfos.h.
6077         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6078         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
6079         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
6080         Don't define when not using elfos.h.
6081         (ASM_DECLARE_RESULT): Don't define.
6082         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
6083         doesn't work on hppa64-hp-hpux11.
6084         (hppa*-hp-hpux11): Update.
6085
6086 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
6087
6088         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
6089         to the assembler if -mno-abicalls was specified.
6090
6091 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6092
6093         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
6094         ASM_OUTPUT_DEF): Delete.
6095
6096 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
6097
6098         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
6099
6100 2002-11-08  Roger Sayle  <roger@eyesopen.com>
6101
6102         * real.c (real_sqrt): Update comment with bibliographic reference.
6103
6104 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
6105
6106         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
6107
6108 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6109
6110         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
6111
6112 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
6113
6114         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
6115         (expand_builtin): Likewise.
6116         * builtins.def: Add
6117         __builtin_floor, __builtin_floorf, __builtin_floorl
6118         __builtin_ceil, __builtin_ceilf, __builtin_ceill
6119         __builtin_round, __builtin_roundf, __builtin_roundl
6120         __builtin_trunc, __builtin_truncf, __builtin_truncl
6121         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
6122         * genopinit.c (optabs): Initialize the new optabs.
6123         * optab.c (init_optabs): Likewise.
6124         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
6125         OTI_round, OTI_nearbyint.
6126         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
6127         * doc/md.texi: Document new named patterns.
6128         * doc/extend.texi (builtin functions)  Document
6129         floor, floorf, floorl, ceil, ceilf,
6130         ceill, round, roundf, roundl, trunc,
6131         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
6132
6133 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
6134
6135         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
6136
6137 2002-11-08  Dale Johannesen  <dalej@apple.com>
6138
6139         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
6140
6141 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
6142
6143         PR preprocessor/8497
6144         PR preprocessor/8501
6145         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
6146         start a directive.  In assembler, #NUM is not a line directive.
6147
6148 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
6149
6150         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
6151         buffers.
6152
6153 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
6154
6155         * config/h8300/h8300.md (two anonymous test insns): New.
6156
6157 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6158
6159         * jump.c (mark_jump_label): Handle subregs of label_refs.
6160
6161 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
6162
6163         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
6164         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
6165
6166 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
6167
6168         * config/ia64/crtend.asm: Include "auto-host.h".
6169         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
6170         * config/ia64/crtbegin.asm: Similarly.
6171         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
6172         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
6173
6174         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
6175         * configure.in: Use it if --enable-initfini-array not specified.
6176         * doc/install.texi (Configuration): Document --enable-initfini-array.
6177         * configure, config.in: Rebuild.
6178
6179 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
6180
6181         * config/arm/arm-protos.h (arm_get_frame_size)
6182         (thumb_get_frame_size): New prototypes.
6183         * config/arm/arm.c (arm_get_frame_size)
6184         (thumb_get_frame_size): New functions.
6185         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
6186         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
6187         arm_get_frame_size.
6188         (thumb_expand_prologue, thumb_expand_epilogue): Use
6189         thumb_get_frame_size.
6190         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
6191         (machine_function): Add frame_size member.
6192         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
6193
6194 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
6195
6196         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
6197         Adjust code to use portable unsigned bit manipulation.
6198         (insn_flags, tune_flags): Change type to unsigned.
6199         (struct processors): Make flags unsigned long.
6200         (arm_override_options): Change type of count and current_bit_count
6201         to unsigned.
6202
6203 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
6204
6205         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
6206
6207 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
6208
6209         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
6210
6211 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
6212
6213         * reg-stack.c (compensate_edge): Fix sanity check.
6214
6215 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
6216
6217         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
6218         crt2.o.  Rearrange t-darwin makefiles.
6219         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
6220         * unwind-dw2-fde-darwin.c: New.
6221         * unwind-dw2-fde-glibc.c: Correct comment.
6222         * unwind-dw2-fde.c (__register_frame_info_bases)
6223         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
6224         (classify_object_over_fdes): Use last_fde.
6225         (add_fdes): Likewise.
6226         (linear_search_fdes): Likewise.
6227         * unwind-dw2-fde.h (struct object)
6228         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
6229         (last_fde): New.
6230         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
6231         (ENDFILE_SPEC): No crtend.o.
6232         * config/t-darwin: New.
6233         * config/i386/t-darwin: Delete.
6234         * config/darwin-crt2.c: New.
6235         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
6236         or config/t-darwin.
6237
6238 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
6239
6240         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
6241         MASK_MS_BITFIELD_LAYOUT
6242         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
6243         MS bitfields for Objective-C.
6244         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
6245         defines.
6246
6247         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
6248         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
6249         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
6250
6251         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
6252         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
6253         (TARGET_SWITCHES): Add above mask.
6254
6255         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
6256         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
6257         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
6258         flags for interix.
6259
6260 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
6261
6262         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
6263         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
6264         assembler.
6265         * config/mips/mips.md (tablejump_internal3): Output .cpadd
6266         before jump on ABI_N32 too.
6267         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
6268         length to match.
6269
6270 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
6271
6272         * i386.md (negsf splitter): Accept memory operand in second register.
6273         (abssf/absdf splitters): Simplify
6274         (sse_loadss, sse_loadsd): Turn into expander.
6275
6276 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
6277
6278         PR target/8480
6279         * config/rs6000/rs6000.md (movdi_internal64): Discourage
6280         FPR to FPR moves.
6281
6282 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
6283
6284         * doc/contrib.texi: Merge in the list from the Java web pages.
6285
6286 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
6287
6288         * config/sparc/freebsd: Fix typo.
6289
6290 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6291
6292         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
6293
6294 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
6295
6296         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
6297         non-SImode addresses.
6298
6299 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
6300
6301         * i386.md (float_truncate SSE splitter): Ensure that operand is not
6302         stack register.
6303         (float SSE splitters): Reorder conditional.
6304
6305 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
6306
6307         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
6308
6309 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
6310
6311         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
6312         (STARTFILE_SPEC): Remove p and pg options.
6313
6314 2002-11-05  Andrew Haley  <aph@redhat.com>
6315
6316         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
6317         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
6318
6319 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
6320
6321         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
6322         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
6323
6324 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
6325
6326         * gthr-vxworks.h: Rewritten from scratch.
6327         * config/vxlib.c: New file.
6328         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
6329         * config/rs6000/t-vxworks: Add config/vxlib.c to
6330         LIB2FUNCS_EXTRA here too, because of clash with
6331         config/rs6000/t-ppccomm.
6332
6333 2002-11-04  Dale Johannesen  <dalej@apple.com>
6334
6335         * doloop.c (doloop_modify_runtime):  Fix loop count computation
6336         for unrolled loops.
6337         * loop.c (loop_invariant_p):  Support calling from unroller.
6338
6339 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
6340
6341         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
6342         for comparison.
6343
6344 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
6345
6346         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
6347
6348         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
6349         (CLASS_CANNOT_CHANGE_MODE): Remove.
6350         (CANNOT_CHANGE_MODE_CLASS): New.
6351
6352         * config/alpha/alpha.h: Same.
6353
6354         * config/ia64/ia64.h: Same.
6355
6356         * config/mips/mips.h: Same.
6357
6358         * config/s390/s390.h: Same.
6359
6360         * config/sh/sh.h: Same.
6361
6362         * config/pa/pa64-regs.h: Same.
6363
6364         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
6365
6366         * config/sh/sh.c (sh_cannot_change_mode_class): New.
6367
6368         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
6369         prototype.
6370
6371         * config/mips/mips.c (mips_cannot_change_mode_class): New.
6372
6373         * doc/tm.texi (Register Classes): Remove
6374         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
6375         Document CANNOT_CHANGE_MODE_CLASS.
6376
6377         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
6378         (push_reload): Same.
6379
6380         * simplify-rtx.c (simplify_subreg): Same.
6381
6382         * reload1.c (choose_reload_regs): Same.
6383
6384         * recog.c (register_operand): Same.
6385
6386         * regrename.c (mode_change_ok): Change to use new
6387         CANNOT_CHANGE_MODE_CLASS infrastructure.
6388
6389         * regclass.c (cannot_change_mode_set_regs): New.
6390         Declare subregs_of_mode.
6391         (regclass): Use subregs_of_mode.
6392         Remove references to reg_changes_mode.
6393         (init_reg_sets_1): Remove class_can_change_mode and
6394         reg_changes_mode code.
6395         (invalid_mode_change_p): New.
6396         (dump_regclass): Use invalid_mode_change_p instead of
6397         class_can_change_mode.
6398         (regclass): Same.
6399         (record_operand_costs): Do not set reg_changes_mode.
6400
6401         * local-alloc.c (struct qty): Remove changes_mode field.
6402         (alloc_qty): Remove changes_mode initialization.
6403         (update_qty_class): Remove set of changes_mode.
6404         (find_free_reg): Use subregs_of_mode.
6405
6406         * global.c (find_reg): Use subregs_of_mode info.
6407
6408         * rtl.h (cannot_change_mode_set_regs): New prototype.
6409         (invalid_mode_change_p): Same.
6410         (REG_CANNOT_CHANGE_MODE_P): New macro.
6411
6412         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
6413         REG_CHANGES_MODE.
6414         (life_analysis): Clear subregs_of_mode.
6415
6416         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
6417         Remove use of CLASS_CANNOT_CHANGE_MODE.
6418         (simplify_set): Same.
6419         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
6420         REG_CHANGES_MODE.
6421
6422         * regs.h: Add extern for subregs_of_mode;
6423         Include hard-reg-set and basic-block.
6424         (REG_CHANGES_MODE): Delete.
6425
6426 2002-11-03  Roger Sayle  <roger@eyesopen.com>
6427
6428         * real.c (real_sqrt): New function to calculate square roots.
6429         * real.h (real_sqrt): Add function prototype.
6430         * builtins.c (fold_builtin): Fold sqrt of constant argument.
6431         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
6432         of constant argument.
6433
6434 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6435
6436         * jump.c (never_reached_warning): Don't set contains_insn until the
6437         first line note is seen.
6438
6439 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
6440
6441         * config/rs6000/rs6000.md (movti_string): Use string instructions.
6442
6443 2002-11-03  Roger Sayle  <roger@eyesopen.com>
6444
6445         PR c/7128
6446         * c-typeck.c (c_expand_asm_operands): Defend against
6447         error_mark_nodes in the output argument to avoid ICE.
6448
6449 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
6450
6451         PR middle-end/8408
6452         * genrecog.c (preds): Handle ADDRESSOF.
6453         (validate_pattern): Mark it as an lvalue.
6454
6455 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
6456
6457         * config/rs6000/rs6000.c (rs6000_override_options): Use string
6458         instructions when optimizing for size.
6459
6460 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
6461
6462         * config/h8300/h8300.h: Fix comment typos.
6463         * config/h8300/h8300.md: Likewise.
6464         * config/h8300/lib1funcs.asm: Likewise.
6465
6466 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6467
6468         Revert this change:
6469
6470         *doc/install.texi (Installing GCC: Configuration): Clarify
6471         the only supported ways to configure gcc.
6472
6473 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6474
6475         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
6476         instead of 'O' for the constraint for the second operand.
6477
6478 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
6479
6480         PR c++/8391
6481         * toplev.c (rest_of_compilation): Do not refuse to output code for
6482         an inline function in a local class.
6483
6484 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
6485
6486         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
6487         (TRANSFER_FROM_TRAMPOLINE): Reformat.
6488         Add comment.
6489
6490 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6491
6492         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
6493
6494 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6495
6496         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
6497
6498 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
6499
6500         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
6501         (MASK_INLINE_DIV_THR): Remove.
6502         (TARGET_INLINE_DIV_LAT): Remove.
6503         (TARGET_INLINE_DIV_THR): Remove.
6504         (TARGET_INLINE_DIV): Remove.
6505         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
6506         (MASK_INLINE_FLOAT_DIV_THR): New macro.
6507         (MASK_INLINE_INT_DIV_LAT): New macro.
6508         (MASK_INLINE_INT_DIV_THR): New macro.
6509         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
6510         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
6511         (TARGET_INLINE_INT_DIV_LAT): New macro.
6512         (TARGET_INLINE_INT_DIV_THR): New macro.
6513         (TARGET_INLINE_FLOAT_DIV): New macro.
6514         (TARGET_INLINE_INT_DIV): New macro.
6515         * config/ia64/ia64.md (divsi3): Change to use new macros.
6516         (modsi3): Ditto.
6517         (udivsi3): Ditto.
6518         (umodsi3): Ditto.
6519         (divsi3_internal): Ditto.
6520         (divdi3): Ditto.
6521         (moddi3): Ditto.
6522         (udivdi3): Ditto.
6523         (umoddi3): Ditto.
6524         (divdi3_internal_lat): Ditto.
6525         (divdi3_internal_thr): Ditto.
6526         (divsf3): Ditto.
6527         (divsf3_internal_lat): Ditto.
6528         (divsf3_internal_thr): Ditto.
6529         (divdf3): Ditto.
6530         (divdf3_internal_lat): Ditto.
6531         (divdf3_internal_thr): Ditto.
6532         (divtf3): Ditto.
6533         (divtf3_internal_lat): Ditto.
6534         (divtf3_internal_thr): Ditto.
6535         * config/ia64/ia64.c (ia64_override_options): Change
6536         to check new macros for conflicts in settings.
6537         * doc/invoke.texi (-minline-divide-min-latency): Remove.
6538         (-minline-divide-max-throughput): Remove.
6539         (-minline-float-divide-min-latency): New.
6540         (-minline-float-divide-max-throughput): New.
6541         (-minline-int-divide-min-latency): New.
6542         (-minline-int-divide-max-throughput): New.
6543
6544 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
6545
6546         PR target/7856
6547         * arm.c (use_return_insn): Don't use a return insn if there are
6548         saved integer regs, but LR is not one of them.
6549
6550 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
6551
6552         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
6553         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
6554
6555 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
6556
6557         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
6558         (movps, movpd splitters): Use canonical form.
6559         (movv2di): Fix merge problem.
6560
6561 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
6562
6563         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6564
6565 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6566
6567         PR optimization/6162
6568         * doc/md.texi: Document restriction on commutative operand
6569         specification.
6570
6571 2002-10-31  Eric Christopher  <echristo@redhat.com>
6572
6573         * explow.c (convert_memory_address): Use shallow_copy_rtx.
6574
6575 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6576
6577         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
6578
6579 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6580
6581         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
6582
6583 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6584
6585         * config/rs6000/darwin.h:  Correct formatting in previous.
6586
6587 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6588
6589         * config/rs6000/darwin.h:  Enable -falign-xxx options.
6590
6591 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
6592
6593         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
6594         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
6595         * i386.c (optimization_options): Set flag_omit_frame_pointer,
6596         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
6597         Do not clear -momit-leaf-frame-pointer when profiling.
6598         (ix86_frame_pointer_required): Frame pointer is always required when
6599         profiling.
6600
6601 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6602
6603         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6604
6605 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
6606
6607         * sh.h (binary_logical_operator): Declare.
6608         * sh.c (binary_logical_operator): New function.
6609         * sh.md (xordi3+1): New combiner splitter pattern.
6610
6611 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
6612
6613         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6614         __enable_execute_stack function.
6615
6616 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
6617
6618         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
6619         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
6620         * unwind-sjlj.c (fc_key_dtor): Delete.
6621         (fc_key_init): Adjust __gthread_key_create call to match.
6622
6623 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
6624
6625         * c-common.c: Add GTY to vector_type_node_list.
6626
6627 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
6628
6629         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6630         * pa-protos.h (attr_length_millicode_call, attr_length_call,
6631         pa_init_machine_status): Declare new global functions.
6632         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
6633         implement new functions.
6634         (attr_length_millicode_call, attr_length_call): Implement.
6635         (total_code_bytes): Change type to long.
6636         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
6637         Reset counter if flag_function_sections.
6638         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
6639         (output_cbranch): Move call to gen_label_rtx.
6640         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
6641         delay slot in all variants, shorten pc-relative calls.
6642         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
6643         slot usage and exposure, various new call variants, and shortened
6644         sequences for some variants on TARGET_PA_20.
6645         Miscellaneous format changes.
6646         * pa.h (total_code_bytes): Change type to long.
6647         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
6648         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
6649         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
6650         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
6651         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6652         stores on TARGET_ELF32.
6653         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6654         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6655         canonicalize_funcptr_for_compare expanders): Calculate attribute length
6656         attr_length_millicode_call().
6657         (call_internal_symref, call_value_internal_symref): Clobber register 1.
6658         Calculate attribute length using attr_length_call().
6659         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6660         to delay slot.
6661         (sibcall, sibcall_value): Rewrite.
6662         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6663         register 1.  Use attr_length_call().
6664         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6665         New patterns.
6666         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6667         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6668         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6669         * doc/invoke.texi (mlong-calls): Document.
6670
6671 2002-10-30  Roger Sayle  <roger@eyesopen.com>
6672
6673         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
6674         handling of cases where one or both branches of the conditional
6675         have void type, i.e. throw an exception or don't return.
6676         (fold): Only apply (and undo) type conversion to the non-void
6677         branches of a COND_EXPR.
6678
6679 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
6680
6681         PR c++/8333
6682         * varasm.c (asm_output_aligned_bss): Do not call
6683         ASM_GLOBALIZE_LABEL.
6684
6685 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
6686             Torbjorn Granlund  <tege@swox.com>
6687
6688         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6689         for addressibility.
6690         (load_toc_v4_PIC_1b): Same.
6691
6692 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6693
6694         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6695         Truncate the addresses for H8/300 using HImode.
6696
6697 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6698
6699         * i386.md (negdf splitter): Fix construction of the constant.
6700
6701 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6702
6703         * i386.md (negsf, negdf): Reorganize to use vector modes
6704         for SSE variants.
6705         (abssf, absdf): Use force_reg.
6706         (movv4sf, movv2df): New splitters.
6707         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6708         * i386.c (zero_extended_scalar_load_operand
6709
6710         * i386-protos.h (ix86_expand_call): Update prototype.
6711         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6712         (ix86_expand_call): Use r11 for indirect sibcalls.
6713         * i386.md (call, call_value, untyped_call, call_value_pop):
6714         update x86_expand_call call.
6715         (sibcall, sibcall_value): new patterns
6716         (call_rex64, call_value_rex64): Do not accept sibcalls.
6717         (sibcall_rex64, sibcall_value_rex64,
6718         sibcall_rex64_v, sibcall_value_rex64_v): New.
6719
6720 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6721
6722         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6723         before final pass.
6724
6725 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
6726
6727         * toplev.c (rest_of_type_compilation): Return early in case of
6728         errors.
6729         (check_global_declarations): Don't call debug_hooks->global_decl
6730         in case of errors.
6731
6732 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6733
6734         * doc/c-tree.texi (Tree overview): Fix typos.
6735
6736 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6737
6738         * Makefile.in (gnucompare*):  Only record bad comparisons
6739         if there really was a bad comparison.
6740
6741 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6742
6743         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6744         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6745         * md.texi (machine dependent constraints): Document 'C'
6746
6747         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6748
6749         * i386.c (ix86_expand_vector_move): Fix.
6750
6751         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6752         * i386.md (sse2_maskmovdqu_rex64): New pattern
6753
6754         PR target/8322
6755         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6756         (ix86_init_mmx_sse_builtins): Fix type.
6757
6758 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6759
6760         * gthr-posix.h: Include <unistd.h> for feature tests.
6761         (sched_get_priority_max, sched_get_priority_min)
6762         (pthread_getschedparam, pthread_setschedparam): Only use
6763         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6764         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6765         returns from sched_get_priority_max and sched_get_priority_min
6766         as an error.
6767
6768 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6769
6770         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6771         MASK_QUICKCALL.
6772
6773 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6774
6775         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6776         (h8300_tiny_constant_address_p): Likewise.
6777         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6778         h8300_eightbit_constant_address_p.
6779         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6780         * config/h8300/h8300-protos.h: Add the prototypes for the two
6781         new functions.
6782
6783 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6784
6785         * reload1.c (update_eliminables): Unconditionally check if
6786         frame_pointer_needed has changed.
6787
6788 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6789
6790         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6791         before final pass.
6792
6793 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6794
6795         PR optimization/8334
6796         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6797         check for zero operands explicitly.
6798
6799 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6800
6801         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6802         memory after adjusting to BLKmode.
6803
6804 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6805
6806         * config/h8300/h8300.h (MASK_*): New.
6807         (TARGET_*): Use MASK_*.
6808
6809 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6810
6811         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6812         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6813         config/rs6000/vxworks.h: New files.
6814         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6815
6816         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6817         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6818         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6819         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6820         sparc-*-vxsim*): Delete stanzas.
6821         * gthr-vxworks.h: Rip out all substantive code and just
6822         include gthr-single.h.
6823
6824         * config/alpha/vxworks.h, config/arm/vxarm.h,
6825         config/i386/vxi386.h, config/i960/t-vxworks960,
6826         config/i960/vx960-coff.h, config/i960/vx960.h,
6827         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6828         config/mips/vxworks.h, config/rs6000/vxppc.h,
6829         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6830         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6831         config/sparc/vxsparc64.h: Delete files.
6832
6833 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6834
6835         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6836         tm_defines if pthreads are enabled.
6837         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6838         if NETBSD_ENABLE_PTHREADS is defined.
6839
6840 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6841
6842         * ChangeLog.1: Fix typos.
6843         * cse.c: Fix a comment typo.
6844         * reload1.c: Likewise.
6845
6846 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6847
6848         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6849         * fixinc/tests/base/_G_config.h: New file.
6850
6851 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6852
6853         * combine.c: Fix comment formatting.
6854         * loop.c: Likewise.
6855         * real.c: Likewise.
6856         * regclass.c: Likewise.
6857         * regmove.c: Likewise.
6858         * regrename.c: Likewise.
6859         * reg-stack.c: Likewise.
6860         * reload1.c: Likewise.
6861         * reload.c: Likewise.
6862         * reload.h: Likewise.
6863         * unroll.c: Likewise.
6864
6865 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6866
6867         * reload1.c (reload): Fix a comment typo.
6868
6869 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6870
6871         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6872
6873 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6874
6875         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6876         * dwarf2out.c: Include hashtab.h.
6877         (is_main_source): New static variable.
6878         (attr_checksum, die_checksum): Modified to handle die references.
6879         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6880         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6881         record_comdat_symbol_number): New static functions.
6882         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6883         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6884         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6885         declarations added.
6886
6887 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6888
6889         * config/h8300/h8300.c (initial_offset): Change to
6890         h8300_initial_elimination_offset.
6891         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6892         h8300_initial_elimination_offset.
6893         * config/h8300/h8300-protos.h: Update the prototype.
6894
6895 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6896
6897         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6898         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6899         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6900         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6901         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6902         and RTX_CODE.
6903         (mmix_function_value_regno_p): Declare.
6904
6905         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6906         invalid for floating point mode result, with fix.
6907
6908 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6909
6910         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6911         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6912         (stage1_build): Likewise.
6913
6914 2002-10-25  Mike Stump  <mrs@apple.com>
6915
6916         Fixes gcc.dg/warn-1.c.
6917         * c-typeck.c (warn_for_assignment): Don't print argument number,
6918         if zero.
6919
6920 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6921
6922         * toplev.c (dump_file_index): Add DFI_ce3.
6923         (dump_file_info): Likewise.
6924         (rest_of_compilation): Run first ifcvt pass before tracer.
6925
6926 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6927
6928         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6929
6930 2002-10-25  Richard Henderson  <rth@redhat.com>
6931
6932         * real.c (real_to_decimal): If the >1 tens reduction loop results
6933         in a negative exponent, fall into the <1 pten computation.
6934
6935 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6936
6937         PR middle-end/6994
6938         * c-objc-common.c (inline_forbidden_p): Can not inline
6939         functions containing structures or unions containing VLAs.
6940         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6941         TYPE_SIZE and TYPE_SIZE_UNIT.
6942         (copy_tree_r): Copy types if they are variably modified.
6943
6944 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6945
6946         * config/s390/s390.md: Remove old-style peepholes.
6947
6948 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6949
6950         * config/s390/s390.c (s390_decompose_address): Do not range check the
6951         displacement if base or index is the argument pointer register.
6952
6953 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6954
6955         PR other/3337
6956         PR bootstrap/6763
6957         PR bootstrap/8122
6958         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6959         * fixinc/fixincl.x: Regenerate.
6960         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6961         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6962         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6963         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6964         * config.in, configure: Regenerate.
6965
6966 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6967
6968         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6969
6970 2002-10-24  Richard Henderson  <rth@redhat.com>
6971
6972         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6973
6974 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6975
6976         * config/h8300/h8300.c (initial_offset): Simplify by using
6977         round_frame_size.
6978
6979 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6980
6981         * doc/install.texi (avr): Update required binutils version.
6982
6983 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6984
6985         * doc/install.texi: Point avr users at more up-to-date information.
6986
6987 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6988
6989         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6990         to pull operands out of the literal pool where possible.
6991
6992 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6993
6994         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6995
6996 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6997
6998         * expr.c (convert_move): If unsignedp is less then zero there
6999         is no equivalent code.
7000
7001 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
7002
7003         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
7004
7005 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
7006
7007         * config/s390/s390.h: Rework comments; re-sort target macro definitions
7008         according to the sequence they are defined in the manual.
7009         (POINTER_BOUNDARY): Remove.
7010
7011 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7012
7013         * config/h8300/h8300.c (round_frame_size): Replace 8 with
7014         BITS_PER_UNIT.
7015
7016 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7017
7018         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
7019         64-bit safe.
7020         (TINY_CONSTANT_ADDRESS_P): Likewise.
7021
7022 2002-10-24  Richard Henderson  <rth@redhat.com>
7023
7024         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7025         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
7026         vcall offset.
7027
7028 2002-10-24  Richard Henderson  <rth@redhat.com>
7029
7030         PR opt/7944
7031         * reload.c (find_reloads_toplev): Mode of X is not important
7032         when simplifying subregs of constants.
7033
7034 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
7035
7036         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
7037         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
7038         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
7039         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
7040         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
7041
7042 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
7043
7044         * optabs.c (expand_binop): Don't reuse the shift target in the
7045         middle of shift sequences.
7046
7047 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
7048
7049         * i386.md (abs splitters): Do not produce nested subregs.
7050
7051 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
7052
7053         * i386.md (movti_rex64): Fix constraints.
7054
7055 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
7056
7057         * i386.md (abssf,absdf): Use vector operands for SSE
7058         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
7059         vector operand.
7060
7061 2002-10-23  Ziemowit Laski <zlaski@apple.com>
7062
7063         * objc/objc-act.c (get_static_reference): Remove unneeded
7064         TYPE_BINFO initialization.
7065         (get_object-reference): Likewise.
7066         (build_constructor): Tighten precondition check.
7067         (finish_message_expr): Likewise.
7068
7069 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
7070
7071         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
7072         after CONST test.
7073
7074 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
7075
7076         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
7077         in HFAs.
7078
7079 2002-10-23  Richard Henderson  <rth@redhat.com>
7080
7081         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7082         (alpha_output_mi_thunk_osf): Handle vcall_offset.
7083
7084 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
7085
7086         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
7087         var_mod_type_p.
7088         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
7089         hook_tree_bool_false.
7090
7091         * tree.c (variably_modified_type_p): Moved here from
7092         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
7093         language-specific cases.  Due to this, must weaken some 'if
7094         and only if' checks to merely 'if'.
7095         * tree.h: Prototype variably_modified_type_p.
7096
7097         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
7098
7099 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
7100
7101         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
7102         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
7103
7104         * config/s390/s390-protos.h (fp_operand): Remove.
7105         * config/s390/s390.c (fp_operand): Remove.
7106         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
7107         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
7108         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
7109         (movdi_31, movdf_31 splitters): Likewise.
7110
7111         * config/s390/s390.h (IEEE_FLOAT): Remove.
7112         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
7113         (INT_REGNO_P): Rename to ...
7114         (GENERAL_REGNO_P): ... this.
7115         (FLOAT_REGNO_P): Rename to ...
7116         (FP_REGNO_P): ... this.
7117         (ADDR_REGNO_P): New macro.
7118         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
7119         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
7120         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
7121         (HARD_REGNO_NREGS): Adapt to macro renaming.
7122         (HARD_REGNO_MODE_OK): Likewise.
7123
7124 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
7125             Geoff Keating  <geoffk@apple.com>
7126
7127         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
7128         (rs6000_memory_move_cost): New function.
7129         * config/rs6000/rs6000-protos.h: Declare them.
7130         * config/rs6000/rs6000.h: Use them.
7131
7132 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
7133
7134         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
7135         inlining it into other libgcc2 routines.
7136         (__udivmoddi4): Likewise.
7137
7138 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
7139
7140         * doc/sourcebuild.texi (Test Suites): Improve.
7141
7142 2002-10-22  Stan Shebs  <shebs@apple.com>
7143
7144         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
7145         case for Darwin.
7146
7147 2002-10-22  Jim Wilson  <wilson@redhat.com>
7148
7149         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
7150
7151 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
7152
7153         PR other/8289
7154         * xmmintrin.h: Add const to the argument of loads.
7155
7156         * i386.md (pushv2di): New pattern.
7157         PR target/6890
7158         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
7159
7160 2002-10-22  Richard Henderson  <rth@redhat.com>
7161
7162         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
7163         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
7164         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
7165         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7166         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7167         (TARGET_ASM_OUT): Update.
7168         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
7169         (hook_bool_tree_hwi_hwi_tree_true): New.
7170         (default_can_output_mi_thunk_no_vcall): New.
7171         * hooks.h: Declare them.
7172         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
7173
7174         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7175         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
7176         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
7177         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
7178         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
7179         config/stormy16/stormy16.c: Similarly.
7180
7181         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
7182         Handle 64-bit properly.  Streamline.
7183         (x86_output_mi_vcall_thunk): Remove.
7184         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
7185         (x86_can_output_mi_thunk): New.
7186         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7187         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7188         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
7189
7190         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
7191         output_mi_thunk; make static; always use function_section.
7192         (TARGET_ASM_OUTPUT_MI_THUNK): New.
7193         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7194         (rs6000_ra_ever_killed): Test no_new_pseudos not
7195         targetm.asm_out.output_mi_thunk in conjunction with thunks.
7196         * config/rs6000/rs6000-protos.h: Update.
7197         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7198         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
7199         xcoffout_declare_function when using rs6000_output_mi_thunk.
7200
7201         * config/s390/s390.c (s390_output_mi_thunk): Rename from
7202         s390_output_mi_vcall_thunk.
7203         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7204         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7205
7206         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
7207         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7208         * config/vax/vax-protos.h: Update.
7209         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
7210
7211 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
7212
7213         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
7214         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
7215         * i386.md (movti_internal): Use 'C'
7216
7217         * xmmintrin.h (_mm_cmplt_epi*): New.
7218
7219 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
7220
7221         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
7222         ("*movdf_64"): Likewise.
7223         ("*lshrdi3_64"): Likewise.
7224         ("blockage"): Add length attribute.
7225         ("lit"): Likewise.
7226
7227 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
7228
7229         * i386.md: FIx typo.
7230         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
7231         (sse2_umulv2siv2di3): Fix predicate.
7232         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
7233         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
7234         * xmmintrin.h (_mm_mul_epu16): Rename to...
7235         (_mm_mul_epu32): This one.
7236         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
7237
7238         (contains_128bit_aligned_vector_p): Undo accidental checkin.
7239
7240 2002-10-22  Eric Christopher  <echristo@redhat.com>
7241
7242         * config/sparc/sparc.h: Add #error.
7243
7244 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
7245
7246         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
7247         [s390x-*-linux*]: Likewise.
7248         * config/s390/t-linux: Remove.
7249         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
7250
7251 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
7252
7253         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
7254         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
7255         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
7256         * i386.md (mmx_punpck?dq): Simplify.
7257         (sse2_pubpcklqdq): Fix.
7258         (sse2_pubpckhqdq): New.
7259         * xmmintrin.h (_mm_unpackhi_epi32): New.
7260
7261         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
7262         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
7263
7264 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
7265
7266         PR c++/7209
7267         * fold_const.c (fold_binary_op_with_conditional_arg): Always
7268         build compound_expr if we used save_expr.
7269
7270 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
7271
7272         * output.h (SECTION_NOTYPE): Define.
7273         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
7274         init array sections.
7275         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
7276         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
7277         merge TLS support.
7278
7279 2002-10-21  Richard Henderson  <rth@redhat.com>
7280
7281         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
7282         the function type, not the return type.
7283
7284 2002-10-21  Richard Henderson  <rth@redhat.com>
7285
7286         * real.c (sticky_rshift_significand): Return inexact, don't
7287         or it in immediately.
7288         (sub_significands): Accept incomming carry.
7289         (div_significands, rtd_divmod): Update for sub_significands change.
7290         (round_for_format): Update for sticky_rshift_significand change.
7291         (do_add): Don't involve the inexact bit in addition, do give the
7292         inexact bit as the subtraction carry-in.
7293         (encode_internal, decode_internal, real_internal_format): New.
7294         * real.h (real_internal_format): Declare.
7295
7296 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7297
7298         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
7299         don't define sdiv_qrnnd.
7300
7301 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
7302
7303         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
7304         using IN_RANGE.
7305         (TINY_CONSTANT_ADDRESS_P): Likewise.
7306
7307 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7308
7309         * i386.c (builtin_description): Add punpcklqdq and movdq2q
7310         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
7311         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
7312         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
7313         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
7314         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
7315         __builtin_ia32_setzero128.
7316         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
7317         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
7318         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
7319         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
7320         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
7321         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
7322         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
7323         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
7324         sse2_movq): New patterns.
7325         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
7326         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
7327         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
7328         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
7329         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
7330         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
7331         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
7332         (_mm_insert_epi16): Fix.
7333
7334 2002-10-21  Dale Johannesen  <dalej@apple.com>
7335
7336         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
7337             unsafe math reversals correctly for RTL generation.
7338           (output_cbranch):  Replace rs6000_reverse_condition call
7339             by its former definition.
7340
7341 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
7342
7343         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
7344         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
7345         from constant pool or LABEL_REFs as sign extended if allow_rip.
7346         Change all +-1GB limits to +-16MB.
7347         (x86_64_general_operand, x86_64_szext_general_operand,
7348         x86_64_nonmemory_operand, x86_64_movabs_operand,
7349         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7350         legitimate_address_p, ix86_expand_int_movcc): Update callers.
7351         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
7352         in CM_SMALL_PIC model.
7353         (legitimate_pic_address_disp_p): Don't check offsets before
7354         calling local_symbolic_operand.
7355         (legitimize_pic_address): Force offsets bigger than +-16MB into
7356         register.
7357         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
7358         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
7359         prototype.
7360
7361         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
7362         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
7363         * configure: Rebuilt.
7364         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
7365         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
7366         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
7367         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
7368         -fpic.
7369         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
7370         non-pic code if TARGET_64BIT.
7371         (legitimize_address): Generate 64-bit TLS sequences.
7372         (output_pic_addr_const): Support x86-64 TLS operators.
7373         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
7374         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
7375         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
7376         (output_addr_const_extra): Support x86-64 TLS operators.
7377         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
7378         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
7379         unconditionally.
7380         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
7381         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
7382         (*tls_global_dynamic_sun): Renamed to...
7383         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
7384         (tls_global_dynamic): Renamed to...
7385         (tls_global_dynamic_32): ... this.
7386         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
7387         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
7388         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
7389         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
7390         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
7391         (tls_local_dynamic_base_dynamic): Renamed to...
7392         (tls_local_dynamic_base_dynamic_32): ... this.
7393         (tls_local_dynamic_base_dynamic_64,
7394         *tls_local_dynamic_base_dynamic_64): New.
7395         (*tls_local_dynamic_once): Renamed to...
7396         (*tls_local_dynamic_32_once): ... this.
7397
7398 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7399
7400         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
7401         __divdi3, __umoddi3, or __moddi3.
7402
7403 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7404
7405         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
7406         instead of just opt_index as switch expression.
7407
7408         * calls.c (store_one_arg): Change type of 'excess_align'
7409         to unsigned int.
7410
7411         * profile.c (output_gcov_string): Change type of 'temp'
7412         to size_t.
7413
7414 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7415
7416         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
7417         (__fixunssfdi, __fixsfdi): Likewise.
7418         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
7419         (s390_single_qi): Likewise.
7420         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
7421         unsigned comparison warning.
7422         (s390_return_addr_rtx): New function.
7423         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
7424         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
7425         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
7426
7427 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7428
7429         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
7430         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
7431         (s390_output_mi_thunk): Remove.
7432         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7433
7434 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
7435
7436         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
7437
7438 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
7439
7440         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
7441         inverted test in the conditional determining the possibility
7442         of sibcalls in PIC mode.
7443
7444 2002-10-20  Richard Henderson  <rth@redhat.com>
7445
7446         * target.h (struct gcc_target): Line wrap.
7447
7448         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
7449         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
7450         * config/alpha/alpha.h: ... not here.
7451         * config/alpha/alpha-protos.h: Update.
7452
7453         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
7454         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
7455         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
7456         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
7457         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
7458         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
7459         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
7460         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
7461         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
7462         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
7463         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
7464         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
7465         config/sparc/sparc.c, config/sparc/sparc.h,
7466         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
7467         config/stormy16/stormy16.h: Similarly.
7468
7469         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
7470         selection logic from call patterns.
7471
7472 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
7473
7474         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
7475
7476 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7477
7478         PR other/8202
7479         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
7480         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
7481         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
7482         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
7483
7484 2002-10-20  Roger Sayle  <roger@eyesopen.com>
7485
7486         PR c/761
7487         * toplev.c (flag_unsafe_profile_arcs): Remove.
7488         (flag_bounded_pointers): Remove.
7489         (flag_bounds_check): Correct comments.
7490         (lang_independent_options): Remove -funsafe-profile-arcs and
7491         -fbounded-pointers.  Correct -fbounds-check comments.
7492
7493         * flags.h: Correct flag_schedule_interblock comments.
7494         (flag_bounded_pointers): Remove prototype.
7495         (flag_bounds_check): Correct comments.
7496
7497         * c-opts.c (c_common_init_options): No need to mark
7498         flag_bounds_check as unspecified.
7499         (c_common_post_options): And no need to set it from
7500         flag_bounded_pointers if its still unspecified.
7501
7502         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
7503         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
7504         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
7505         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
7506
7507 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
7508         Angela Marie Thomas  <angela@releasedominatrix.com>
7509         Brendan Kehoe  <brendan@zen.org>
7510         Nick Clifton  <nickc@redhat.com>
7511         Andrew Haley  <aph@redhat.com>
7512
7513         * configure.in (--with-sysroot): New.  Don't inhibit libc if
7514         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
7515         and CROSS_SYSTEM_HEADER_DIR.
7516         * configure: Rebuilt.
7517         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
7518         (TARGET_SYSTEM_ROOT): New.
7519         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
7520         CROSS_SYSTEM_HEADER_DIR.
7521         (install-gcc-tooldir): New target.
7522         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
7523         if SYSTEM_HEADER_DIR does not exist and it's not the default
7524         sys-include directory.
7525         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
7526         (install-mkheaders): Likewise.
7527         * gcc.c (target_system_root): New variable.
7528         (add_sysrooted_prefix): New function.
7529         (process_command): Recompute run-time target_system_root from
7530         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
7531         does not exist.
7532         (do_spec_1): Process 'R' spec.
7533         (main): Add md_exec_prefix to exec_prefixes regardless of
7534         startfile_prefix_spec.  Use add_sysrooted_prefix for
7535         startfile_prefixes, and don't skip the default ones when cross
7536         compiling with sysroot enabled.  Removed unused case of
7537         non-absolute standard_startfile_prefix.
7538         * config/interix.h: Remove the only potential, yet disabled,
7539         occurrence of non-absolute (empty) standard_startfile_prefix.
7540         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
7541         linking.
7542         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
7543         * doc/install.texi (--with-sysroot): Document.
7544         (--with-headers, --with-libs): Deprecate.
7545
7546 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7547             Mark Mitchell  <mark@codesourcery.com>
7548
7549         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
7550         match target.h.
7551         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
7552         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
7553         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
7554         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
7555         x86_output_mi_thunk): Likewise.
7556         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
7557         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
7558         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
7559         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
7560         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
7561         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
7562         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
7563         Likewise.
7564         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
7565
7566         * target.h (gcc_target): Update output_mi_thunk and
7567         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
7568         vcall_index.
7569
7570         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
7571         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7572         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
7573         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
7574         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
7575         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
7576         signature.
7577         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
7578         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7579         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7580         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
7581         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
7582         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7583         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7584         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
7585         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
7586
7587         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
7588         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
7589
7590 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
7591
7592         * real.c (do_add): Fix 0+0 sign corner case.
7593         (do_divide): Fix Inf/0 corner case.
7594
7595 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
7596
7597         * i386.c (classify_argument): Pass MMX arguments in memory
7598         (ix86_expand_builtin): Expand proper address mode for cflush.
7599         * i386.md (movdqa): Fix typo.
7600         (sse2_cflush): Accept DImode addresses.
7601
7602         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
7603         (_mm_max_sd): Fix pasto.
7604         (_mm_storeh_pd, _mm_storel_pd): Fix.
7605
7606         * i386.c (bdesc_comi): Fix to match specification.
7607         (ix86_expand_sse_comi): Emit the comparison properly.
7608         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
7609         Do not use comparison operator.
7610         (vnmaskcmp): Fix template.
7611
7612         * xmmintrin.h (_mm_cvtps_pi16): Fix.
7613
7614 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
7615
7616         * dependence.c : Removed.
7617         * Makefile.in : Remove dependence.o.
7618
7619 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
7620
7621         * mmintrin.h (__m64): typedef it to v2si.
7622         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
7623         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
7624         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
7625         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
7626         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
7627         * xmmintrin.h (_mm_setzero_si64): Likewise.
7628
7629         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
7630         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
7631
7632         PR target/7693
7633         Patch by Shawn Wagner
7634         * mmintrin.h: Replace pi64 by si64.
7635
7636 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
7637
7638         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
7639         Use length of 4 not *.
7640         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
7641         (movdf_softfloat64): Likewise.
7642         (movdi_internal32): Use length of 4 not *.
7643         (movti_power): Same.
7644         (ctrsi, ctrdi): Same.
7645
7646 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
7647
7648         * c-decl.c (start_decl): Point users of the old initialized-
7649         typedef extension at __typeof__.
7650
7651 2002-10-18  Richard Henderson  <rth@redhat.com>
7652
7653         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7654         (real_to_decimal): Re-implement using the logic from the
7655         gcc 3.2 etoasc.  Comment heavily.
7656         (div_significands): Simplify loop startup and comparison logic.
7657
7658 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
7659
7660         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7661         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7662         (TARGET_ASM_OUT): Add them.
7663         * target.h (asm_out): Add output_mi_thunk and
7664         output_mi_vcall_thunk.
7665         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7666         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7667         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7668         * config/arm/arm.c (arm_output_mi_thunk): Define.
7669         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7670         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7671         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7672         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7673         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7674         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7675         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7676         prototype.
7677         (x86_output_mi_vcall_thunk): Declare.
7678         * config/i386/i386.c (override_options): Clear
7679         output_mi_vcall_thunk in 64-bit mode.
7680         (ix86_fntype_regparm): New function.
7681         (ix86_return_pops_args): Use it.
7682         (ia32_this_parameter): New function.
7683         (x86_output_mi_vcall_thunk): New function.
7684         (x86_output_mi_thunk): Use it
7685         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7686         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7687         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7688         * config/i960/i960.c (i960_output_mi_thunk): New function.
7689         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7690         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7691         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7692         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7693         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7694         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7695         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7696         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7697         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7698         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7699         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7700         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7701         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7702         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7703         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7704         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7705         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7706         * config/s390/s390.c (s390_output_mi_thunk): Define.
7707         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7708         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7709         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7710         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7711         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7712         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7713         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7714         * config/vax/vax.c (vax_output_mi_thunk): Define.
7715         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7716         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7717         * doc/tm.texi: Adjust documentation.
7718
7719 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7720
7721         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7722         __enable_execute_stack function.
7723         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7724         as NETBSD_ENABLE_EXECUTE_STACK.
7725         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7726         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7727         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7728         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7729         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7730
7731 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7732
7733         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7734         to __enable_execute_stack with the address of the trampoline
7735         if TRANSFER_FROM_TRAMPOLINE is defined.
7736         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7737         constant if building libgcc2.
7738
7739 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7740
7741         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7742         (ix86_memory_move_cost): Fix for 64bit compilation.
7743
7744 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7745
7746         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7747
7748 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7749
7750         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7751         in CTR/LR/MQ.
7752         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7753         to/from CTR/LR/MQ.
7754         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7755         (movsf_softfloat): Likewise.
7756
7757 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7758
7759         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7760
7761 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7762
7763         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7764         tramp, not addr, to pass the trampoline address to
7765         __enable_execute_stack.
7766
7767 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7768
7769         * mmintrin.h: Guard by __MMX__
7770         * xmmintrin.h: Guard by __SSE__
7771
7772         PR other/8062
7773         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7774         (_mm_load*_?d): New functions.
7775         (_mm_set*_?d): New functions.
7776         (_mm_store*_?d): New functions.
7777
7778 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7779
7780         Really commit patch announced at Oct 14
7781         PR c/7344
7782         * predict.c (can_predict_insn_p): New function.
7783         (estimate_probability): Avoid unnecesary work.
7784         (process_note_prediction): Likewise.
7785         * toplev.c (rest_of_compilation): Account early branch prediction pass
7786         as TV_BRANCH_PROB.
7787
7788         PR other/8048
7789         Found by Ian Ollmann
7790         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7791         (_mm_load?_pd): Likewise.
7792         (_mm_store?_pd): Likewise.
7793
7794         PR target/7386
7795         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7796         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7797         swapped alternative.
7798
7799         PR opt/7630
7800         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7801         (push_reload): Update call.
7802
7803 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7804
7805         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7806         if using mips/elf.h or mips/elf64.h.
7807         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7808         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7809
7810 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7811
7812         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7813         SI.
7814
7815 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7816
7817         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7818         (LPREFIX): Likewise.
7819         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7820         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7821         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7822         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7823         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7824
7825         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7826         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7827         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7828         BSS_SECTION_ASM_OP): Move from linux.h.
7829         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7830         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7831
7832         * config/s390/s390.c (s390_function_profiler): Use
7833         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7834
7835 2002-10-15  Eric Christopher  <echristo@redhat.com>
7836
7837         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7838         * java/parse.y (obtain_incomplete_type): Make pointer
7839         ptr_mode.
7840
7841 2002-10-15  Richard Henderson  <rth@redhat.com>
7842
7843         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7844         as arguments.  Bound DIGITS by the available buffer size.
7845         (real_to_hexadecimal): Likewise.
7846         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7847         (REAL_VALUE_TO_DECIMAL): Remove.
7848         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7849         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7850         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7851         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7852         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7853         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7854         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7855         use real_to_decimal directly, and with the proper arguments.
7856         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7857
7858 2002-10-15  Jim Wilson  <wilson@redhat.com>
7859
7860         * reload1.c (merge_assigned_reloads): After converting overlapping
7861         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7862
7863         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7864
7865 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7866
7867         * expr.c (do_tablejump): Fix typo in my previous commit.
7868
7869 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7870
7871         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7872
7873 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7874
7875         * config/s390/s390.c (s390_split_branches): Add return
7876         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7877
7878         (find_base_register_in_addr): New function.
7879         (find_base_register_ref): New function.
7880         (replace_base_register_ref): New function.
7881
7882         (struct constant_pool): Add members pool_insn, insns, and anchor.
7883         Remove member last_insn.
7884         (s390_start_pool): Initialize them.
7885         (s390_end_pool): Emit pool placeholder insn.
7886         (s390_add_pool_insn): New function.
7887         (s390_find_pool): Use insns bitmap instead of addresses.
7888         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7889         Replace unspec 104 by local-pool-relative references.
7890         (s390_output_constant_pool): Output anchor label if required.
7891         (s390_output_symbolic_const): Handle unspec 104 and 105.
7892         (s390_add_pool): Remove, replace by ...
7893         (s390_add_constant, s390_find_constant): ... these new functions.
7894         (s390_add_anchor): New function.
7895
7896         (s390_chunkify_pool): Delete, replace by ...
7897         (s390_chunkify_start, s390_chunkify_finish,
7898         s390_chunkify_cancel): ... these new functions.
7899         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7900         Recompute register live data for special registers.
7901         (s390_fixup_clobbered_return_reg): New function.
7902         (s390_machine_dependent_reorg): Rewrite to use new
7903         s390_chunkify_... routines.
7904
7905         config/s390/s390.md ("reload_base"): Rename to ...
7906         ("reload_base_31"): ... this.
7907         ("reload_base_64"): New insn.
7908         ("reload_base2"): Remove.
7909         ("reload_anchor"): New insn.
7910         ("pool"): New insn.
7911
7912         s390.c (s390_pool_overflow): Remove.
7913         s390.h (s390_pool_overflow): Likewise.
7914         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7915
7916 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7917
7918         * sh.md (movv8qi_i+2): Don't split if source is -1.
7919
7920 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7921
7922         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7923
7924 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7925
7926         PR opt/7409
7927         * loop.c (loop_regs_scan): Mark registers used for function
7928         argument passing as MAY_NOT_OPTIMIZE.
7929
7930 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7931
7932         * gcov-io.h (gcov_info): Fix type.
7933         * profile.c (create_profiler): Fix type mismatch.
7934
7935 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7936
7937         * i386.md (movv2di_internal): New pattern.
7938         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7939         (movv2di): New expander.
7940         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7941
7942         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7943         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7944         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7945         (ix86_expand_builtin): Likewise.
7946         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7947         sse_andti3,
7948         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7949         sse_andnti3,
7950         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7951         sse_orti3,
7952         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7953         sse_xorti3): Kill.
7954         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7955          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7956         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7957          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7958         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7959          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7960
7961         * xmmintrin.h (__m128i): Define as __v2di.
7962
7963         PR c++/6419
7964         (expand_expr): Use DECL_RTL_SET_P.
7965
7966 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7967
7968         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7969
7970 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7971             Zack Weinberg <zack@codesourcery.com>
7972
7973         * config/i386/i386.c (k6_cost): Correct typo.
7974
7975 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7976
7977         PR optimization/6631
7978         * alias.c (objects_must_conflict_p): Check honor_readonly when
7979         examining TYPE_READONLY.
7980         * function.c (assign_stack_temp_for_type): Likewise.
7981
7982 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7983
7984         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7985         Swap zero extension arguments.
7986         (umaxhi3): Fix instruction class.
7987         PR target/7211
7988         (prefetch): Fix prefetch instructions.
7989         PR target/7238
7990         (pkwb): Fix output constraint.
7991
7992 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7993
7994         * config/mips/mips.c (print_operand): Increase buffer size for
7995         real numbers.
7996
7997 2002-10-14  Richard Henderson  <rth@redhat.com>
7998
7999         PR opt/8165
8000         * gcse.c (adjust_libcall_notes): Revert last change.
8001         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
8002
8003 2002-10-14  Andrew Haley  <aph@redhat.com>
8004
8005         * tree-inline.c (remap_block): All local class initialization
8006         flags go in the outermost scope.
8007         (expand_call_inline): Call java_inlining_map_static_initializers.
8008         (expand_call_inline): Call java_inlining_merge_static_initializers.
8009         * java/lang.c (merge_init_test_initialization): New.
8010         (java_inlining_merge_static_initializers): New.
8011         (inline_init_test_initialization): New.
8012         (java_inlining_map_static_initializers): New.
8013
8014         * tree-inline.c (expand_call_inline): Convert retvar to expected
8015         type.
8016
8017 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
8018
8019         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
8020
8021 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
8022
8023         * stmt.c: Fix typo in comment.
8024
8025 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
8026
8027         * c-common.c (c_common_type_for_mode): Add V2HImode case.
8028         * tree.c (build_common_tree_nodes_2): Initialize
8029         unsigned_V2HI_type_node and V2HI_type_node.
8030         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
8031         (unsigned_V2HI_type_node, V2HI_type_node): Define.
8032
8033 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
8034
8035         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
8036         Handle TARGET_64BIT.
8037
8038 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8039
8040         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
8041         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
8042         (MULTILIB_DIRNAMES): Remove long32.
8043         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
8044         (MULTILIB_REDUNDANT_DIRS): Remove.
8045
8046 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8047
8048         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
8049         * gcc.c (driver_self_specs): New variable.
8050         (do_self_spec): New function.
8051         (main): Use it to process driver_self_specs.
8052
8053 2002-10-13  Richard Henderson  <rth@redhat.com>
8054
8055         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
8056         indirect sibcalls when regparm >= 3.
8057
8058         * config/i386/i386.c (sibcall_insn_operand): New.
8059         * config/i386/i386.h (PREDICATE_CODES): Update.
8060         * config/i386/i386-protos.h: Update.
8061         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
8062
8063         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
8064
8065 2002-10-12  Roger Sayle  <roger@eyesopen.com>
8066
8067         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
8068         arithmetic right shifts of ~0 during RTL simplifications.
8069
8070 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
8071
8072         PR preprocessor/7862
8073         PR preprocessor/8190
8074         * gcc.c (cpp_unique_options): Don't delete .d files.
8075         Remove stray whitespace.
8076
8077 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
8078
8079         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
8080         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
8081         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
8082         (pdp11_output_function_epilogue, output_ascii): Likewise.
8083         (output_addr_const_pdp11): Likewise.
8084         * pdp11.md (movdi): Use offsetable memory for floating store.
8085         (lshrsi3, negsi2): Delete irrelevant comment.
8086
8087 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
8088
8089         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
8090         indirect calls to be sibcall optimized.
8091         * config/i386/i386.md (sibcall_1): New.
8092         (call_1): Add no-sibcalls condition.
8093         (sibcall_value_1): New.
8094         (call_value_1): Add no-sibcalls condition.
8095
8096 2002-10-11  Eric Christopher  <echristo@redhat.com>
8097
8098        * output.h (default_valid_pointer_mode): Declare.
8099        * varasm.c (default_valid_pointer_mode): Define.
8100        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
8101        * target.h: Ditto.
8102        * tree.c (build_pointer_type_for_mode): New function.
8103        (build_pointer_type): Use.
8104        (build_reference_type_for_mode): New function.
8105        (build_reference_type): Use.
8106        * tree.h: Declare new functions.
8107        * c-common.c (handle_mode_attribute): Use new functions, check
8108        for type.
8109        * stor-layout.c (layout_type): Depend on machine mode for
8110        REFERENCE_TYPE and POINTER_TYPE.
8111        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
8112        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
8113        and REFERENCE_TYPE.
8114        * config/mips/mips.c (mips_valid_pointer_mode): New function.
8115        (TARGET_VALID_POINTER_MODE): Use and define.
8116        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
8117
8118 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
8119
8120         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
8121         not the address of the REG.
8122         (struct cse_reg_info): Make subreg_ticked unsigned.
8123
8124 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
8125
8126         * doc/compat.texi: Add info about C++ libraries.
8127
8128 2002-10-11  Richard Henderson  <rth@redhat.com>
8129
8130         PR opt/8165
8131         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
8132
8133 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8134
8135         * cfganal.c (dfs_enumerate_from): Use PARAMS.
8136         * genautomata.c (output_insn_code_cases): Likewise.
8137         * real.c (real_format): Likewise.
8138         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
8139         ensure value is promoted before doing subtraction.
8140
8141 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
8142
8143         * calls.c (expand_call): Simplify noreturn call.
8144
8145         PR c/7344
8146         * cfgbuild.c (make_edges): Create edge cache when we do have
8147         large jumptable.
8148         * expr.c (do_tablejump): Note size of maximal jumptable.
8149         * function.c (prepare_function_start): Zero out size.
8150         * function.h (function): Add max_jumptable_ents.
8151
8152         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8153
8154 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8155
8156         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
8157         register for mperm_w operation.
8158
8159 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8160
8161         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
8162         an integer, use simplify_gen_subreg.
8163
8164 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
8165
8166         * calls.c (flags_from_decl_or_type): Make extern.
8167         (ECF_*): Move ...
8168         * rtl.h (ECF_*): ... here.
8169         (flags_from_decl_or_type): Declare.
8170
8171 2002-10-10  Roger Sayle  <roger@eyesopen.com>
8172             Nathan Sidwell <nathan@codesourcery.com>
8173
8174         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
8175         shifts of the form -1 >> x.
8176
8177 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
8178
8179         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8180
8181 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
8182
8183         * extend.texi (Vector Extensions): Remove comment about single
8184         element vectors.
8185
8186 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8187
8188         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
8189         * function.c (insns_for_mem_hash): Likewise.
8190         * varasm.c (STRHASH): Likewise.
8191
8192 2002-10-10  Stuart Hastings  <stuart@apple.com>
8193
8194         * cse.c (struct cse_reg_info): Add subreg_ticked.
8195         (SUBREG_TICKED): New.
8196         (get_cse_reg_info): Initialize SUBREG_TICKED.
8197         (mention_regs): Use it.
8198         (invalidate): Set SUBREG_TICKED.
8199         (invalidate_for_call): Likewise.
8200         (addr_affects_sp_p): Likewise.
8201
8202 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
8203
8204         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
8205         into proper operand.
8206
8207 2002-10-10  Denis Chertykov  <denisc@overta.ru>
8208
8209         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
8210         deallocation.
8211         * config/ip2k/libgcc.S: Combine routines used by function
8212         epilogue.
8213
8214 2002-10-10  Jim Wilson  <wilson@redhat.com>
8215
8216         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
8217         UDIV.
8218
8219 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
8220
8221         * config/rs6000/aix52.h: New file.
8222         * config/rs6000/t-aix52: New File.
8223         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
8224         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
8225
8226 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
8227
8228         PR target/5610
8229         * invoke.texi (-msse-math): Kill
8230         (-msse): Add note to mfpmath=sse.
8231
8232 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
8233
8234         PR target/7723
8235         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
8236
8237 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
8238
8239         PR preprocessor/8179
8240         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
8241         as cc1_options.
8242         (default_compilers): Pass debug options when preprocessing
8243         stdin.
8244
8245 2002-10-06  Richard Henderson  <rth@redhat.com>
8246
8247         * toplev.c (rest_of_compilation): Revert opt/2960 change.
8248
8249 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
8250
8251         * i386.c (*_cost): Add branch costs.
8252         (override_options): set ix86_branch_cost.
8253         (ix86_expand_int_movcc): Use BRANCH_COST.
8254         * i386.h (costs): Add branch_cost.
8255
8256 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
8257
8258         PR c/7353
8259         * c-decl.c (start_decl): Unconditionally issue error for
8260         'typedef foo = bar'.
8261         (finish_decl): Remove special case for TYPE_DECL with initializer.
8262
8263         * doc/extend.texi: Delete "Naming Types" section.  Change all
8264         cross-references to that section to refer to "Typeof" instead.
8265         Add the useful safe-max()-macro example from "Naming Types" to
8266         "Typeof", rewritten using that extension.  Add some compatibility
8267         notes to "Typeof."
8268
8269 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8270
8271         * loop.c: Revert 2002-08-15 change.
8272         (LOOP_REGNO_NREGS): Ensure type is int.
8273
8274 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
8275
8276         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
8277         which copies first FPR and clears second.
8278         (extendsftf2): Same.
8279         (floatditf2): Fix typo.
8280         (floatsitf2): Same.
8281         (fix_trunctfdi2): Same.
8282         (fix_trunctfsi2): Same.
8283
8284 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8285
8286         * conflict.c (arc_hash): Change return type to hashval_t.
8287         * cselib.c (get_value_hash): Likewise.
8288         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
8289         state_hash, automata_list_hash): Likewise.
8290         * read-rtl.c (def_hash): Likewise.
8291         * tree.c (type_hash_hash): Likewise.
8292
8293 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
8294
8295         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
8296         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
8297
8298 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
8299
8300         * sh.md (ffssi2): Fix emitted code.
8301
8302 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
8303
8304         * cse.c (insn_live_p): Pass insn pattern, not full insn
8305         to may_trap_p.
8306
8307 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
8308
8309         * cppmacro.c (paste_tokens): Only allow / to paste with =.
8310
8311 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
8312
8313         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
8314         64-bit hosts.
8315         (movtf_internal): Reference correct displacement for second value
8316         in memory.
8317         (movtf splitter): Correct generation of constants in 64-bit mode.
8318
8319 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
8320
8321         * libgcc2.c (__floatdisf): Properly cure double rounding.
8322
8323 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8324
8325         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
8326         * doc/cpp.texi (Common Predefined Macros): Document.
8327
8328 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8329
8330         PR doc/7484
8331         * doc/invoke.texi (Option Summary): List
8332         -Wmissing-declarations as a C only option.
8333
8334 2002-10-08  Roger Sayle  <roger@eyesopen.com>
8335
8336         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
8337         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
8338         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
8339
8340 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
8341
8342         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
8343         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
8344         variables.
8345         (safe_vector_operand): Update sse_clrv4sf call.
8346         (ix86_expand_buildin): Likewise
8347         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
8348         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
8349         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
8350         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
8351         macros.
8352         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
8353         movv4si):  Obey the new flags.
8354         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
8355         reformating penalty.
8356         (anddf, cmov patterns): Avoid reformating by first converting.
8357         (sse_cvtsd2ss): Fix predicate.
8358         (sse2_clrti): Fix mode,
8359         (sse_clrv4sf): Avoid unspec.
8360
8361 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
8362
8363         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
8364         mno-app-regs|mcmodel=medany.
8365         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
8366         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
8367         (CRTSTUFF_T_CFLAGS): Define.
8368
8369 2002-10-08  Roger Sayle  <roger@eyesopen.com>
8370
8371         PR target/8087
8372         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
8373         pool references that are constructed using LO_SUM.
8374
8375 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
8376
8377         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
8378         -Wall.
8379         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
8380         message.
8381         * flags.h (warn_strict_aliasing): Declare.
8382         * toplev.c (warn_strict_aliasing): Define.
8383         (lang_independent_options): Add it.
8384         * doc/invoke.texi (-Wstrict-aliasing): Document it.
8385
8386 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
8387
8388         * system.h (GCCBUGURL): Delete.
8389         * version.c (bug_report_url): New.  Add commentary about
8390         modifying both these strings in modified distributions.
8391         * version.h: Declare bug_report_url.
8392
8393         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
8394         bug_report_url.
8395
8396 2002-10-08  Nick Clifton  <nickc@redhat.com>
8397
8398         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
8399         convert uint64_t into __ev64_opaque__.
8400         (__ev_set_acc_s64): Likewise, but using signed types.
8401
8402 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
8403
8404         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
8405         ("*doloop_di_long"): Likewise.
8406
8407 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
8408
8409         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
8410
8411 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
8412
8413         * config/mips/mips.md (define_attr cpu): Add r4111.
8414
8415 2002-10-08  Anthony Green  <green@redhat.com>
8416
8417         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
8418
8419 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8420
8421         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
8422         for REAL_VALUE_TO_DECIMAL output.
8423
8424 2002-10-07  Richard Henderson  <rth@redhat.com>
8425
8426         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
8427         function; cleanup PLUS case by using recursion.  Update all users.
8428         (NONZERO_BASE_PLUS_P): Remove.
8429         (find_comparison_args): Use rtx_addr_can_trap_p instead.
8430         (fold_rtx): Use nonzero_address_p.
8431         * rtl.h (nonzero_address_p): Declare.
8432         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
8433         (rtx_addr_can_trap_p): Likewise.
8434         (nonzero_address_p): New.
8435         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
8436         (simplify_relational_operation): Use nonzero_address_p.
8437
8438 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
8439
8440         * config/rs6000/rs6000.c (rs6000_override_options): Set
8441         real_format_for_mode for IBM extended format, if enabled.
8442         (easy_fp_constant): Add TFmode.
8443         (rs6000_legitimize_address): Add TFmode.
8444         (rs6000_legitimate_address): Same.
8445         (function_arg_advance): TFmode uses two FPRs.
8446         (rs6000_emit_prologue): Fix warning.
8447         (rs6000_output_function_epilogue): Add TFmode.
8448         (output_toc): Add TFmode.
8449         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
8450         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
8451         * rs6000.md (movtf splitter): Load TFmode constant.
8452
8453 2002-10-07  Dale Johannesen  <dalej@apple.com>
8454
8455         * rtl.h:  Add NOTE_PRECONDITIONED.
8456         * unroll.c:  Set it.
8457         * loop.c:  Set loop_info->preconditioned from it.
8458         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
8459
8460 2002-10-07  Richard Henderson  <rth@redhat.com>
8461
8462         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
8463         new rtx for comparing the argument pointer against zero.
8464         (i960_va_start): Similarly.
8465
8466 2002-10-07  Richard Henderson  <rth@redhat.com>
8467
8468         * config/i960/i960.md (*): Use TFmode, not XFmode.
8469         * config/i960/i960.c (*): Likewise.
8470         (i960_arg_size_and_align): Remove XFmode alignment hack.
8471         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
8472         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
8473         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
8474         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
8475
8476 2002-10-07  Richard Henderson  <rth@redhat.com>
8477
8478         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
8479         entry points; use void return value and argument list.
8480
8481 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
8482
8483         * calls.c (expand_call): Fix function-is-volatile check.
8484
8485 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
8486
8487         * t-pdp11: Add MULTILIB support for msoft-float.
8488         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
8489
8490         * t-pdp11: Add LIB2FUNCS_EXTRA.
8491         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
8492         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
8493         'fldd' to 'ldd', rename 'fstd' to 'std'.
8494         (pdp11_output_function_epilogue): Likewise.
8495         (output_move_quad): Make the comment gas compatible.
8496         (output_ascii): Add preceding 0 to the octal constant.
8497         (print_operand_address): Add pre_modify, post_modify.
8498         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
8499         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
8500         with the indication of Paul Koning.
8501         (PRINT_OPERAND): Fix floating constant.
8502         * pdp11.md (movdi): Restrict matching pattern.
8503         (movqi): Generalize the matching pattern.
8504         (movdf): Restrict matching pattern.
8505         (zero_extendqihi2): Change constant representation.
8506         (floatsidf2): Fix wrong operands.
8507         (addqi3): Fix wrong instruction name.
8508         (subqi3): Fix wrong instruction name.
8509         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
8510         (xorsi3): Fix wrong insn.
8511         (one_cmplqi2): Add two operand pattern.
8512         (lsrsi3): New.
8513         (negsi2): New.
8514         (call): Add register indirect case.
8515         (mod): Fix wrong subreg.
8516
8517 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
8518             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8519
8520         PR c/7411
8521         * expr.c (expand_expr) [PLUS]: Simplify after the operands
8522         have been expanded in EXPAND_NORMAL mode.
8523
8524 2002-10-06  Richard Henderson  <rth@redhat.com>
8525
8526         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
8527
8528 2002-10-06  Richard Henderson  <rth@redhat.com>
8529
8530         PR optimization/2960
8531         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
8532         optimize_size.
8533
8534 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
8535
8536         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
8537         previously definitions.
8538
8539 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
8540
8541         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
8542         * c-opts.c (find_opt): Similarly.
8543
8544 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
8545
8546         * athlon.md: rewrite to DFA.
8547         * i386 (ix86_adjust_cost): Drop memory latency code.
8548         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
8549
8550 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
8551
8552         * gcc.c (set_multilib_dir): Don't access *end.
8553         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
8554         (print_multilib_info): Don't show paths starting with ".:".
8555         * genmultilib: Add new option, "yes" if multilibs are enabled.
8556         Update comments.  If multilibs not enabled, print .:${osdirout}
8557         for each directory.  If multilibs are enabled, always print
8558         ${dirout}:${osdirout}, even if the two are the same.
8559         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
8560         Pass all MULTILIB_* variables to genmultilib even if
8561         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
8562
8563 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
8564
8565         * gcc.c (process_command): Set .validated for -pipe.  Correct
8566         grammar in comment.
8567
8568 2002-10-04  Bruce Korb  <bkorb@gnu.org>
8569
8570         * fixinc/inclhack.def(hpux11_abs):  use format fix
8571         * fixinc/fixincl.x: regenerate
8572         * fixinc/tests/base/stdlib.h: accommodate new fix test
8573
8574 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8575
8576         * c-common.c (cb_register_builtins):  Use really_no_inline.
8577
8578 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
8579
8580         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
8581         copied instruction if the note is not loop invariant.
8582
8583 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
8584
8585         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
8586
8587 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8588
8589         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
8590         and -mhp-ld options to list of options.  Add -mgnu-ld
8591         and -mhp-ld option descriptions.
8592
8593 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8594
8595         * fixinc/inclhack.def (hpux11_abs):  New.
8596         (stdio_va_list): change __va_list__ to __gnuc_va_list.
8597         * fixinc/fixincl.x: Rebuild.
8598
8599 2002-10-04  Roger Sayle  <roger@eyesopen.com>
8600
8601         * config/i386/i386.h (processor_costs): Add new fields fadd,
8602         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
8603         (RTX_COSTS): Use these fields to determine the RTX costs
8604         of floating point addition/subtraction, multiplication,
8605         division, fabs, negation and square root respectively.
8606         * config/i386/i386.c (size_cost): Provide instruction sizes
8607         for these new fields.
8608         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
8609         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
8610         counts for these new fields for all x86 processor variants.
8611
8612 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8613
8614         * mips.c (mips_const_double_ok): Delete unused variable.
8615
8616         * gengtype.c (rtx_next): Change type to int.
8617
8618 2002-10-04  Andreas Jaeger  <aj@suse.de>
8619
8620         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
8621
8622 2002-10-04  Richard Henderson  <rth@redhat.com>
8623
8624         * real.h (SIGNIFICAND_BITS): Add one more word.
8625         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
8626         * real.c (times_pten): New.
8627         (real_to_decimal, real_from_string): Use it.
8628         (sticky_rshift_significand): Use & to find modulus.
8629         (rshift_significand, lshift_significand): Likewise.
8630         (do_divide): Apply sticky bit after normalization.
8631         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
8632
8633 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
8634
8635         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
8636         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8637
8638 2002-10-03  Andreas Jaeger  <aj@suse.de>
8639
8640         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
8641         to unsigned long, adjust printf format string.
8642         (output_mangled_typename): Likewise.
8643
8644 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
8645
8646         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
8647         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
8648         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
8649         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
8650         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
8651         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8652         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8653         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8654
8655 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
8656
8657         * doc/invoke.texi (-Wabi): Document mangling bug.
8658
8659 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
8660
8661         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8662         name for the tbtab label that depends on the function asm name.
8663         Don't output tbtab label unless optional_tbtab.
8664         (output_mi_thunk): Formatting.
8665
8666 2002-10-03  Richard Henderson  <rth@redhat.com>
8667
8668         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8669         * config/m68k/m68k.c (override_options): ... here.
8670         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8671         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8672         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8673         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8674
8675 2002-10-03  Richard Henderson  <rth@redhat.com>
8676
8677         * real.h (struct real_value): Use ENUM_BITFIELD.
8678
8679 2002-10-03  Richard Henderson  <rth@redhat.com>
8680
8681         * config/i960/i960.md (call, call_value): Use emit_call_insn.
8682
8683 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8684
8685         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8686
8687 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8688
8689         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8690         * config/pa/pa.h (MASK_GNU_LD): New.
8691         (TARGET_GNU_LD): New.
8692         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8693         on gnu-ld and MASK_GNU_LD.
8694         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8695
8696 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8697
8698         * i386.c (athlon_cost): Fix the move costs.
8699
8700 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8701
8702         * final.c (final): Use symbol name as function name for profiling.
8703         * profile.c (get_exec_counts): Likewise.
8704         (branch_prob): Likewise.
8705
8706 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8707
8708         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8709
8710 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8711
8712         * gcc.c (print_multi_os_directory): New variable.
8713         (option_map): Support --print-multi-os-directory.
8714         (struct prefix_list): Add os_multilib field.
8715         (multilib_os_dir): New variable.
8716         (static_specs): Add multilib_options.
8717         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8718         subdirs if nonzero.
8719         (read_specs, execute): Update callers.
8720         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8721         pass 1 as multilib option.
8722         (display_help): Include --print-multi-os-directory.
8723         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8724         (process_command): Update callers.  Handle --print-multi-os-directory.
8725         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8726         set.
8727         (main): Update find_a_file and add_prefix callers.
8728         Handle print_multi_os_directory.
8729         (struct mdswitchstr): New.
8730         (mdswitches, n_mdswitches): New variables.
8731         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8732         present on the command line nor their mutually incompatible
8733         switches.
8734         (default_arg): Optimize.
8735         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8736         array.
8737         (print_multilib_info): Only print GCC multilib dir name, not OS
8738         multilib dirname.
8739         * genmultilib: Add osdirnames parameter.  Output multilib_options
8740         variable.  If osdirnames is specified, output dirnames as
8741         dirname:osdirname.
8742         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8743         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8744         to compute libgcc_s soname and install path.
8745         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8746         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8747         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8748         argument.
8749
8750         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8751         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8752         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8753         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8754         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8755         and -m64.
8756         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8757         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8758         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8759         (STARTFILE_ARCH_SPEC): Remove.
8760         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8761         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8762         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8763         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8764         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8765
8766 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8767
8768         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8769
8770 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8771
8772         * i386.md (lea to mul peep2): Fix condition.
8773
8774 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8775
8776         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8777         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8778
8779 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8780
8781         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8782         attribute "unused".
8783
8784         * config/t-libunwind: Mention unwind-sjlj.c.
8785         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8786         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8787
8788         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8789         before inclusion of config.gcc, but after configuring the compiler etc.
8790         Determine default value for --enable-libunwind-exceptions based on
8791         whether the host has a libunwind library (not guaranteed to be correct,
8792         but it's a reasonable first guess and can always be overridden with an
8793         explicit --enable/disable-libunwind-exceptions.
8794         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8795         tmake_file when $use_libunwind_exceptions is enabled.
8796         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8797         ia64 (e.g., config/t-linux also updates it).
8798         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8799         along with the shared version of libgcc since the latter requires
8800         the former.
8801         * unwind-libunwind.c: New file.
8802         * config/t-libunwind: Ditto.
8803
8804 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8805
8806         * config.gcc: Remove support for vax-*-vms*.
8807         * config/vax/vms.h: Remove.
8808         * config/vax/xm-vms.h: Remove.
8809         * config/vax/vax-protos.h: Remove VMS-specific code.
8810         * config/vax/vax.c: Remove VMS-specific code.
8811
8812 2002-10-02  Richard Henderson  <rth@redhat.com>
8813
8814         PR opt/7124
8815         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8816         for secondary_memory_needed pairs.
8817
8818 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8819
8820         * doc/vms.texi: Blow away false include file section.
8821
8822 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8823
8824         PR optimization/6627
8825         * toplev.c (force_align_functions_log): New global variable.
8826         * flags.h (force_align_functions_log): Add extern prototype.
8827         * varasm.c (assemble_start_function): Use it to force minimum
8828         function alignment.
8829         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8830         minimum function alignment to one byte.
8831         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8832         the least significant bit of vtable member function pointers.
8833         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8834         here from cp/cp-tree.h.
8835
8836 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8837
8838         * i386.c (print_operand_address): Use RIP addressing for offsetted
8839         label refs too.
8840
8841 2002-09-30  David S. Miller  <davem@redhat.com>
8842
8843         PR middle-end/7151
8844         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8845         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8846
8847 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8848
8849         * calls.c (expand_call): Remove the `no indirect check'
8850         for sibcall optimization; use function_ok_for_sibcall
8851         target hook; refine check for `function is volatile'.
8852         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8853         * hooks.c (hook_tree_tree_bool_false): New.
8854         * hooks.h (hook_tree_tree_bool_false): Declare.
8855         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8856         (TARGET_INITIALIZER): Add it.
8857         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8858         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8859         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8860         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8861         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8862         Remove function declaration.
8863         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8864         function static and accept another argument of type `tree'.
8865         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8866         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8867         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8868         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8869         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8870         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8871         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8872         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8873         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8874         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8875         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8876         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8877         Remove function declaration.
8878         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8879         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8880         rename first argument to `decl'; accept another argument
8881         of type `tree'; make static.
8882         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8883         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8884         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8885         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8886         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8887         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8888         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8889         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8890         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8891
8892 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8893
8894         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8895
8896 2002-10-01  Richard Henderson  <rth@redhat.com>
8897
8898         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8899         (real_to_hexadecimal): Likewise.
8900         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8901         dump the XWINT fields of a floating point CONST_DOUBLE.
8902
8903 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8904
8905         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8906
8907 2002-10-01  Richard Henderson  <rth@redhat.com>
8908
8909         * calls.c (precompute_register_parameters): Force non-legitimate
8910         constants into pseudos.
8911
8912 2002-10-01  Nick Clifton  <nickc@redhat.com>
8913
8914         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8915         to assembler template.
8916
8917 2002-10-01  Richard Henderson  <rth@redhat.com>
8918
8919         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8920         for TLS debug info to !DECL_EXTERNAL.
8921
8922 2002-10-01  Matt Thomas  <matt@3am-software.com>
8923             Jason Thorpe  <thorpej@wasabisystems.com>
8924
8925         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8926         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8927         if not already defined.
8928         * config/vax/elf.h: New file.
8929         * config/vax/netbsd-elf.h: New file.
8930         * config/vax/vax.c: Include "debug.h".
8931         (vax_output_function_prologue): Add dwarf2 support.  Use
8932         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8933         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8934         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8935         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8936         (VAX_ISTREAM_SYNC): Remove.
8937         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8938         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8939         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8940         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8941         and assemble_name.
8942         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8943         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8944         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8945         (INCOMING_RETURN_ADDR_RTX): Define.
8946         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8947         (VUNSPEC_SYNC_ISTREAM): Define.
8948         (blockage): Use VUNSPEC_BLOCKAGE.
8949         (sync_istream): New insn.
8950
8951 2002-10-01  Richard Henderson  <rth@redhat.com>
8952
8953         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8954         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8955         (*call): New insn.
8956
8957 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8958
8959         PR c/8083
8960         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8961         type based aliasing.
8962
8963 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8964
8965         * stor-layout.c (update_alignment_for_field): New function.
8966         (place_union_field): Use it.
8967         (place_field): Likewise.
8968
8969 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8970
8971         PR other/8077
8972         * gcc.c (cc1_options): Add space on -auxbase-strip.
8973
8974 2002-10-01  Jim Wilson  <wilson@redhat.com>
8975
8976         * config/v850/v850.h (EPILOGUE_USES): Define.
8977
8978 2002-09-30  Andrew Haley  <aph@redhat.com>
8979
8980         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8981         eliminate insns that may trap.
8982         * cse.c (insn_live_p): Likewise.
8983
8984 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8985
8986         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8987         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8988         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8989         * config/mips/mips.md: Apply same renaming here.
8990
8991 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8992
8993         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8994         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8995         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8996         * config/mips/mips.md (define_attr cpu): Remove r4320.
8997         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8998
8999 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9000
9001         * config/mips/mips.c (mips16_strings): New variable.
9002         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
9003         symbol in mips16_strings.  Free the list.
9004         (mips_encode_section_info): Keep track of local strings.
9005
9006 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9007
9008         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
9009         (sordered_df, sordered_sf): Remove.
9010         * config/mips/mips.c (get_float_compare_codes): New fn.
9011         (gen_int_relational, gen_conditional_move): Use it.
9012
9013 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9014
9015         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
9016         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
9017         * config/mips/mips.c (fcc_register_operand): New function.
9018         (mips_emit_fcc_reload): New function, extracted from reload_incc.
9019         (override_options): Allow TFmode values in float registers
9020         if ISA_HAS_8CC.
9021         * cnfig/mips/mips.md (reload_incc): Change destination prediate
9022         to fcc_register_operand.  Remove misleading source constraint.
9023         Use mips_emit_fcc_reload.
9024         (reload_outcc): Duplicate reload_incc.
9025
9026 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
9027
9028         * gcc.c (validate_switches): Handle all new forms of spec
9029         syntax introduced recently.  Now returns a char *.
9030         (validate_all_switches): Repetitive logic broken out to...
9031         (validate_switches_from_spec): ...here.
9032         * mklibgcc.in: Don't @-flag commands to generate .oS files.
9033
9034 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9035
9036         * longlong.h: Partially synchronize with GMP-4.1 version:
9037         Use i370 definitions also for s390.
9038         Add generic definition of umul_ppmm in terms of smul_ppmm.
9039         [s390] (umul_ppmm): Remove.
9040         [s390] (smul_ppmm): Fix incorrect assembler constraints.
9041         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
9042
9043 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
9044
9045         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
9046         Add new RL_REGS register class.
9047         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
9048         Call xtensa_preferred_reload_class for both input and output reloads.
9049         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
9050         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
9051         instead of either AR_REGS or GR_REGS classes.
9052         (xtensa_secondary_reload_class): Use new RL_REGS class.
9053         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
9054
9055 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9056
9057         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
9058         (pa_strip_name_encoding): Strip '@' and '*', in that order.
9059         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
9060         there is a '*' prefix in NAME.
9061
9062 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
9063
9064         * reload.c (push_reload): Handle subregs and secondary memory.
9065         * reload1.c (gen_reload): Likewise.
9066
9067         * jump.c (reg_or_subregno): New function.
9068         * rtl.h (reg_or_subregno): Declare
9069         * unroll.c (find_splittable_givs): Handle subregs.
9070
9071 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
9072
9073         * store-layout.c (finish_record_layout): Add free_p parameter.
9074         (layout_type): Pass it.
9075         * tree.h (finish_record_layout): Update prototype.
9076
9077 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
9078
9079         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
9080
9081         * gcse.c (cprop_jump): Check that the register has not
9082         been modified
9083         (cprop_jump): Likewise.
9084
9085 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
9086
9087         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
9088         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
9089         that we have a SImode access, and only then if reload hasn't completed;
9090         for all other cases, use LO_REGS.
9091
9092 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9093
9094         * openbsd.h: Fix typo in last change.
9095
9096 2002-09-29  Richard Henderson  <rth@redhat.com>
9097
9098         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
9099
9100 2002-09-29  Richard Henderson  <rth@redhat.com>
9101
9102         PR c/8002
9103         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
9104         for CONST_INT.
9105
9106 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
9107
9108         * real.h (ibm_extended_format): Declare.
9109         * real.c (encode_ibm_extended, decode_ibm_extended): New
9110         functions.
9111
9112 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9113
9114         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
9115
9116         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
9117
9118 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9119
9120         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
9121
9122 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
9123
9124         * builtins.def: Fix comment formatting.
9125         * c-common.def: Likewise.
9126         * cfgcleanup.c: Likewise.
9127         * combine.c: Likewise.
9128         * gengtype.c: Likewise.
9129         * params.def: Likewise.
9130         * predict.def: Likewise.
9131         * rtl.def: Likewise.
9132         * stab.def: Likewise.
9133         * stor-layout.c: Likewise.
9134         * tree.def: Likewise.
9135         * config/darwin.c: Likewise.
9136         * config/darwin.h: Likewise.
9137         * config/dbxcoff.h: Likewise.
9138         * config/elfos.h: Likewise.
9139         * config/fp-bit.c: Likewise.
9140         * config/freebsd-spec.h: Likewise.
9141         * config/interix.h: Likewise.
9142         * config/libgloss.h: Likewise.
9143         * config/linux-aout.h: Likewise.
9144         * config/linux.h: Likewise.
9145         * config/lynx-ng.h: Likewise.
9146         * config/lynx.h: Likewise.
9147         * config/netbsd-aout.h: Likewise.
9148         * config/netbsd.h: Likewise.
9149         * config/netware.h: Likewise.
9150         * config/psos.h: Likewise.
9151         * config/ptx4.h: Likewise.
9152
9153 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
9154
9155         * ChangeLog.4: Fix typos.
9156         * ChangeLog.6: Likewise.
9157         * FSFChangeLog.10: Likewise.
9158         * genattrtab.c: Fix comment typos.
9159         * haifa-sched.c: Likewise.
9160         * real.c: Likewise.
9161         * tree.h: Likewise.
9162         * config/arm/arm.c: Likewise.
9163         * config/arm/crti.asm: Likewise.
9164         * config/arm/crtn.asm: Likewise.
9165         * config/frv/frv.c: Likewise.
9166         * config/frv/frv.md: Likewise.
9167         * config/h8300/h8300.md: Likewise.
9168         * config/i386/rtemself.h: Likewise.
9169         * config/ia64/unwind-ia64.c: Likewise.
9170         * config/ip2k/ip2k.h: Likewise.
9171         * config/m88k/m88k.c: Likewise.
9172         * config/m88k/m88k.md: Likewise.
9173         * config/mips/sr71k.md: Likewise.
9174         * config/mmix/mmix.c: Likewise.
9175         * config/rs6000/rs6000.c: Likewise.
9176         * config/sh/sh.md: Likewise.
9177
9178 2002-09-26  Theodore A. Roth  <troth@verinet.com>
9179
9180         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
9181         * config/avr/avr.md: Ditto.
9182
9183 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
9184
9185         PR preprocessor/8055
9186         * cppmacro.c (stringify_arg): Do not overflow the buffer
9187         with the terminating NUL when the argument to be stringified
9188         has no tokens.
9189
9190 2002-09-27  Richard Henderson  <rth@redhat.com>
9191
9192         * unroll.c (simplify_cmp_and_jump_insns): New.
9193         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
9194         instead of expand_simple_foo.
9195
9196 2002-09-27  Richard Henderson  <rth@redhat.com>
9197
9198         PR optimization/7520
9199         * cfganal.c (flow_active_insn_p): New.
9200         (forwarder_block_p): Use it.
9201
9202 2002-09-27  Richard Henderson  <rth@redhat.com>
9203
9204         * emit-rtl.c (active_insn_p): Revert last change.
9205
9206 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
9207
9208         * doc/extend.texi (tls_model): Document.
9209         * varasm.c (decl_tls_model): New.
9210         * c-common.c (handle_tls_model_attribute): New.
9211         (c_common_attribute_table): Add tls_model.
9212         * config/alpha/alpha.c (alpha_encode_section_info): Use
9213         decl_tls_model.
9214         * flags.h (enum tls_model, flag_tls_default): Move...
9215         * tree.h (enum tls_model, flag_tls_default): ...here.
9216         (decl_tls_model): New prototype.
9217         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
9218         * config/i386/i386.c (ix86_encode_section_info): Likewise.
9219         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
9220         Allow !flag_pic.
9221
9222 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
9223
9224         * LANGUAGES: Follow spelling conventions.
9225         * rtl.def: Likewise.
9226         * sbitmap.c: Likewise.
9227         * sched-int.h: Likewise.
9228         * sched-rgn.c: Likewise.
9229         * sibcall.c: Likewise.
9230         * simplify-rtx.c: Likewise.
9231         * ssa.c: Likewise.
9232         * stab.def: Likewise.
9233         * stmt.c: Likewise.
9234         * stor-layout.c: Likewise.
9235         * target.h: Likewise.
9236         * timevar.c: Likewise.
9237         * toplev.c: Likewise.
9238         * tree-dump.c: Likewise.
9239         * tree-inline.c: Likewise.
9240         * tree.c: Likewise.
9241         * tree.def: Likewise.
9242         * tree.h: Likewise.
9243         * unroll.c: Likewise.
9244         * varasm.c: Likewise.
9245         * vmsdbgout.c: Likewise.
9246         * treelang/treelang.texi: Likewise.
9247         * treelang/treetree.c: Likewise.
9248
9249 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
9250
9251         * config/h8300/h8300.c (compute_saved_regs): Use a macro
9252         instead of a hard register number.
9253         (get_shift_alg): Use an enumerated type instead of numbers.
9254         (h8300_shift_needs_scratch_p): Likewise.
9255
9256 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9257
9258         * varasm.c (force_data_section): Remove.
9259         (assemble_constant_align): Likewise.
9260         * output.h: Remove corresponding prototypes.
9261
9262 2002-09-26  Roger Sayle  <roger@eyesopen.com>
9263
9264         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
9265         jump, if the loop to exit is the top of the current nesting stack.
9266
9267 2002-09-26  Torbjorn Granlund  <tege@swox.com>
9268
9269         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
9270         arithmetic.
9271
9272 2002-09-26  David S. Miller  <davem@redhat.com>
9273
9274         PR optimization/7335
9275         * calls.c (emit_library_call_value_1): Passing args by reference
9276         converts a CONST function into a PURE one.
9277
9278 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
9279
9280         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
9281         text_section.
9282         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
9283         text section.
9284         * config/rs6000/rs6000.c (rs6000_override_options): Allow
9285         function-sections and data-sections functionality on AIX.
9286
9287 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
9288             Dale Johannesen  <dalej@apple.com>
9289
9290         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
9291         in RTL for sub-word loads from memory.
9292
9293 2002-09-26  Richard Henderson  <rth@redhat.com>
9294
9295         PR c/7160
9296         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
9297         on call insns.
9298
9299 2002-09-26  Richard Henderson  <rth@redhat.com>
9300
9301         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
9302
9303 2002-09-26  Chris Lattner  <sabre@nondot.org>
9304
9305         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
9306         handling undefined values.
9307
9308 2002-09-26  Richard Henderson  <rth@redhat.com>
9309
9310         PR opt/7520
9311         * emit-rtl.c (active_insn_p): Consider a clobber of the
9312         function return value to be active even after reload.
9313
9314 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
9315
9316         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
9317         by absolute loop increment, not loop increment.
9318
9319 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9320
9321         * c-common.h: Follow spelling conventions.
9322         * cpplex.c: Likewise.
9323         * cpplib.h: Likewise.
9324         * gthr-dce.h: Likewise.
9325         * gthr-posix.h: Likewise.
9326         * optabs.c: Likewise.
9327         * output.h: Likewise.
9328         * profile.c: Likewise.
9329         * protoize.c: Likewise.
9330         * ra-rewrite.c: Likewise.
9331         * real.c: Likewise.
9332         * recog.c: Likewise.
9333         * reg-stack.c: Likewise.
9334         * regclass.c: Likewise.
9335         * regmove.c: Likewise.
9336         * reload.c: Likewise.
9337         * reload.h: Likewise.
9338         * reload1.c: Likewise.
9339         * reorg.c: Likewise.
9340         * resource.c: Likewise.
9341         * rtl.h: Likewise.
9342         * rtlanal.c: Likewise.
9343
9344 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9345
9346         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
9347         for symbol address.
9348
9349 2002-09-24  Eric Christopher  <echristo@redhat.com>
9350
9351         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
9352         * config/mips/elf64.h: Ditto.
9353
9354 2002-09-24  Eric Christopher  <echristo@redhat.com>
9355
9356         * except.c (expand_builtin_extract_return_address): Handle case
9357         where Pmode != ptr_mode.
9358
9359 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9360
9361         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
9362
9363 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9364
9365         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
9366
9367 2002-09-26  Igor Shevlyakov <igor@microunity.com>
9368
9369         * combine.c (simplify_set): Don't call to force_to_mode if size
9370         of integer type is larger than HOST_BITS_PER_WIDE_INT.
9371
9372 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
9373
9374         * Makefile.in (qmtest-g++): Fix file path.
9375
9376 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
9377
9378         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
9379         A + (-const) on RTX level, even for unsigned types.
9380
9381 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
9382
9383         * reload.c (dup_replacements): New function.
9384         (find_reloads): Use it to duplicate replacements at the top level
9385         of match_dup operands.
9386
9387 2002-09-26  Miles Bader  <miles@gnu.org>
9388
9389         * v850.md ("length"): Change default value to 4.
9390
9391 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9392
9393         * ChangeLog.1: Follow spelling conventions.
9394         * ChangeLog.4: Likewise.
9395         * ChangeLog.6: Likewise.
9396         * FSFChangeLog.11: Likewise.
9397         * doc/cpp.texi: Likewise.
9398         * doc/invoke.texi: Likewise.
9399         * doc/tm.texi: Likewise.
9400
9401 2002-09-26  Nick Clifton  <nickc@redhat.com>
9402
9403         * config.gcc: Add x prefix to v850e case for handling
9404         --with-cpu=v850e.
9405
9406 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
9407
9408         * gcc.c (input_suffix_matches, switch_matches,
9409         mark_matching_switches, process_marked_switches,
9410         process_brace_body): New functions - split from handle_braces.
9411         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
9412         and ignore whitespace in more places.
9413         (specs documentation comment): Document %{S:X;T:Y;:D}.
9414         Clarify other %{...} docs.
9415         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
9416         %{...} docs.
9417
9418         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
9419         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
9420
9421 2002-09-25  David S. Miller  <davem@redhat.com>
9422
9423         PR target/7842
9424         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
9425         extend.
9426
9427 2002-09-25  Richard Henderson  <rth@redhat.com>
9428
9429         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
9430         fp CONST_DOUBLE; use real_identical.
9431
9432 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
9433
9434         * doc/invoke.texi: Add more -Wabi examples.
9435
9436 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
9437
9438         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
9439
9440 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
9441
9442         * profile.c (end_branch_prob): Only look for __gcov_init on
9443         weak-enabled native compilers.
9444
9445 2002-09-24  Denis Chertykov  <denisc@overta.ru>
9446
9447         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
9448         cases of optimizing "add sp,w" to "inc sp".
9449
9450 2002-09-24  Adam Nemet  <anemet@lnxw.com>
9451
9452         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
9453         epilogue for naked functions.
9454
9455 2002-09-24  Adam Nemet  <anemet@lnxw.com>
9456             Nick Clifton  <nickc@redhat.com>
9457
9458         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
9459         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
9460         is defined.
9461
9462 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
9463
9464         * config/s390/s390.c (preferred_la_operand_p): New function.
9465         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
9466         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
9467         ("*la_64_cc", "*la_31_cc", splitters): ... these.
9468         ("*la_31"): Deactivate for TARGET_64BIT.
9469         ("*la_31_and", "*la_31_and_cc"): New.
9470
9471 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9472
9473         * real.h (real_value): Make `exp' explicitly signed.
9474
9475 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
9476
9477         * config/elfos.h: Follow spelling conventions.
9478         * config/alpha/alpha.h: Likewise.
9479         * config/arc/arc.h: Likewise.
9480         * config/arm/arm.md: Likewise.
9481         * config/avr/avr.h: Likewise.
9482         * config/cris/cris.md: Likewise.
9483         * config/d30v/d30v.h: Likewise.
9484         * config/frv/frv.c: Likewise.
9485         * config/frv/frv.h: Likewise.
9486         * config/h8300/h8300.c: Likewise.
9487         * config/h8300/h8300.h: Likewise.
9488         * config/h8300/h8300.md: Likewise.
9489         * config/i386/cygwin.h: Likewise.
9490         * config/i386/i386.h: Likewise.
9491         * config/i386/sysv3.h: Likewise.
9492         * config/i960/i960.h: Likewise.
9493         * config/ia64/ia64.h: Likewise.
9494         * config/ia64/ia64.md: Likewise.
9495         * config/ip2k/ip2k.h: Likewise.
9496         * config/m32r/m32r.h: Likewise.
9497         * config/m68k/m68k.h: Likewise.
9498         * config/m88k/m88k.h: Likewise.
9499         * config/mcore/mcore.c: Likewise.
9500         * config/mcore/mcore.h: Likewise.
9501         * config/mcore/mcore.md: Likewise.
9502         * config/mips/mips.h: Likewise.
9503         * config/mmix/mmix.h: Likewise.
9504         * config/mmix/mmix.md: Likewise.
9505         * config/ns32k/netbsd.h: Likewise.
9506         * config/ns32k/ns32k.h: Likewise.
9507         * config/ns32k/ns32k.md: Likewise.
9508         * config/pa/pa.h: Likewise.
9509         * config/romp/romp.h: Likewise.
9510         * config/rs6000/rs6000.h: Likewise.
9511         * config/rs6000/rs6000.md: Likewise.
9512         * config/sparc/sparc.h: Likewise.
9513         * config/stormy16/stormy-abi: Likewise.
9514         * config/stormy16/stormy16.h: Likewise.
9515         * config/vax/vax.h: Likewise.
9516
9517 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9518
9519         * config/alpha/alpha.h: Remove commented-out macro
9520         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
9521         * config/avr/avr.h: Likewise.
9522         * config/d30v/d30v.h: Likewise.
9523         * config/dsp16xx/dsp16xx.h: Likewise.
9524         * config/i370/i370.h: Likewise.
9525         * config/i386/i386.h: Likewise.
9526         * config/i960/i960.h: Likewise.
9527         * config/m68k/m68k.h: Likewise.
9528         * config/m88k/m88k.h: Likewise.
9529         * config/mips/mips.h: Likewise.
9530         * config/ns32k/ns32k.h: Likewise.
9531         * config/pdp11/pdp11.h: Likewise.
9532         * config/romp/romp.h: Likewise.
9533         * config/rs6000/rs6000.h: Likewise.
9534         * config/s390/s390.h: Likewise.
9535         * config/sh/sh.h: Likewise.
9536         * config/sparc/sparc.h: Likewise.
9537         * config/stormy16/stormy16.h: Likewise.
9538         * config/vax/vax.h: Likewise.
9539
9540 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9541
9542         * function.c (push_temp_slots_for_block): Remove.
9543         (push_temp_slots_for_target): Likewise.
9544         (get_target_temp_slot_level): Likewise.
9545         (set_target_temp_slot_level): Likewise.
9546         (get_first_block_beg): Likewise.
9547         * function.h: Remove corresponding prototypes.
9548
9549 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
9550
9551         * version.c (version_string): Now const char[].
9552         * version.h: Update to match.
9553
9554 2002-09-23  Richard Henderson  <rth@redhat.com>
9555
9556         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
9557         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
9558         (TARGET_SWITCHES): Don't reference them.
9559         * config/i386/i386.c (override_options): Use target_flags_explicit
9560         to examine bits set by the user.
9561
9562 2002-09-23  Dale Johannesen  <dalej@apple.com>
9563
9564         * dbxout.c (dbxout_parms):  Set current_sym_code for params
9565         passed on stack by invisible reference.
9566
9567 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
9568
9569         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
9570         at least one byte of space.
9571
9572 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9573
9574         * c-common.h (flag_abi_version): Fix typo in comment.
9575         * doc/invoke.texi (flag_abi_version): Document default value.
9576
9577 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
9578
9579         * doc/extend.texi (Extended Asm): Clarify that overlap between
9580         asm-declared register variables used in an asm and the asm clobber
9581         list is not allowed.
9582         * stmt.c (decl_conflicts_with_clobbers_p): New function.
9583         (expand_asm_operands): Keep track of clobbered registers.  Call
9584         decl_conflicts_with_clobbers_p for each input and output operand.
9585         If no conflicts found before, also do conflict sanity check when
9586         emitting clobbers.
9587
9588 2002-09-23  Richard Henderson  <rth@redhat.com>
9589
9590         * c-common.c (cpp_define_data_format): Remove.
9591         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
9592         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9593         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9594         * doc/cpp.texi: Don't document them either.
9595         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
9596         __LONG_LONG_MAX__): Document.
9597         (__TARGET_FLOAT_FORMAT__): Remove.
9598
9599 2002-09-23  Richard Henderson  <rth@redhat.com>
9600
9601         * real.c (do_multiply): Normalize U before addition.
9602
9603 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9604
9605         * c-common.c (flag_abi_version): New variable.
9606         * c-common.h (flag_abi_version): Declare it.
9607         * c-opts.c (missing_arg): Add -fabi-version.
9608         (c_common_decode_option): Process -fabi-version.
9609         * doc/invoke.texi (-fabi-version): Document it.
9610         (-Wabi): Add information about bit-fields in unions.
9611
9612 2002-09-22  Roger Sayle  <roger@eyesopen.com>
9613
9614         * expr.c (STORE_BY_PIECES_P): New target macro.
9615         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
9616         instead of MOVE_BY_PIECES_P.
9617         * doc/tm.texi: Document this new macro.
9618
9619 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9620
9621         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
9622         unless -fno-pic or -fno-PIC is specified.
9623
9624 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9625
9626         * c-common.c (preprocessing_trad_p): Define.
9627         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
9628         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
9629         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9630         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
9631         * pa-linux.h (CPP_PREDEFINES): Delete.
9632         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9633         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
9634         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
9635         (TARGET_OS_CPP_BUILTINS): Define.
9636         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
9637         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
9638         (SUBTARGET_SWITCHES): Provide default definition.
9639         (TARGET_OPTIONS): Reformat.  Use N_() macro.
9640         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
9641         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
9642         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
9643         (TARGET_CPU_CPP_BUILTINS): Define.
9644         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
9645         * doc/invoke.texi (msio, mwsio): Document new hppa options.
9646         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
9647         preprocessing_trad_p().
9648
9649 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9650
9651         * doc/install.texi: Document behavior of --with-headers and
9652         --with-libs when arguments are omitted.
9653
9654 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
9655
9656         * dbxout.c: Follow spelling conventions.
9657         * defaults.h: Likewise.
9658         * df.c: Likewise.
9659         * diagnostic.h: Likewise.
9660         * doloop.c: Likewise.
9661         * dwarf2out.c: Likewise.
9662         * dwarfout.c: Likewise.
9663         * emit-rtl.c: Likewise.
9664         * except.c: Likewise.
9665         * explow.c: Likewise.
9666         * expmed.c: Likewise.
9667         * expr.c: Likewise.
9668         * expr.h: Likewise.
9669         * flags.h: Likewise.
9670         * flow.c: Likewise.
9671         * fold-const.c: Likewise.
9672         * function.c: Likewise.
9673         * function.h: Likewise.
9674         * gcc.c: Likewise.
9675         * gcov-io.h: Likewise.
9676         * gcov.c: Likewise.
9677         * gcse.c: Likewise.
9678         * genattrtab.c: Likewise.
9679         * genconfig.c: Likewise.
9680         * genrecog.c: Likewise.
9681         * ggc-page.c: Likewise.
9682         * ggc.h: Likewise.
9683         * global.c: Likewise.
9684         * gthr-win32.h: Likewise.
9685         * integrate.c: Likewise.
9686         * jump.c: Likewise.
9687         * langhooks.c: Likewise.
9688         * langhooks.h: Likewise.
9689         * line-map.h: Likewise.
9690         * local-alloc.c: Likewise.
9691         * longlong.h: Likewise.
9692         * loop.c: Likewise.
9693         * loop.h: Likewise.
9694
9695 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9696
9697         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9698
9699 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9700
9701         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9702         for -Os/TARGET_64BIT too.
9703
9704 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9705
9706         * ChangeLog: Follow spelling conventions.
9707         * ChangeLog.0: Likewise.
9708         * ChangeLog.1: Likewise.
9709         * ChangeLog.2: Likewise.
9710         * ChangeLog.3: Likewise.
9711         * ChangeLog.4: Likewise.
9712         * ChangeLog.5: Likewise.
9713         * ChangeLog.6: Likewise.
9714         * FSFChangeLog.10: Likewise.
9715         * FSFChangeLog.11: Likewise.
9716         * alias.c: Likewise.
9717         * basic-block.h: Likewise.
9718         * c-aux-info.c: Likewise.
9719         * c-common.c: Likewise.
9720         * c-common.h: Likewise.
9721         * c-decl.c: Likewise.
9722         * c-format.c: Likewise.
9723         * c-semantics.c: Likewise.
9724         * c-typeck.c: Likewise.
9725         * calls.c: Likewise.
9726         * cfganal.c: Likewise.
9727         * cfgloop.c: Likewise.
9728         * collect2.c: Likewise.
9729         * combine.c: Likewise.
9730         * conflict.c: Likewise.
9731         * cppexp.c: Likewise.
9732         * cppfiles.c: Likewise.
9733         * cpphash.h: Likewise.
9734         * cppinit.c: Likewise.
9735         * cpplex.c: Likewise.
9736         * cpplib.c: Likewise.
9737         * cpplib.h: Likewise.
9738         * cppmacro.c: Likewise.
9739         * cse.c: Likewise.
9740
9741 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9742
9743         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9744         LINK_SPEC.
9745         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9746         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9747         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9748
9749 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9750
9751         PR opt/7930
9752         * cse.c (fold_rtx): Calculate old_cost before we fold each
9753         operand.
9754
9755 2002-09-21  Richard Henderson  <rth@redhat.com>
9756
9757         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9758         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9759         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9760         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9761         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9762         * doc/cpp.texi: Don't document them.
9763
9764 2002-09-21  Richard Henderson  <rth@redhat.com>
9765
9766         * c-common.c (builtin_define_float_constants): Use real_format
9767         to get the floating-point parameters.
9768
9769 2002-09-21  Richard Henderson  <rth@redhat.com>
9770
9771         * real.c (struct real_format): Move to real.h.
9772         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9773         initialize with ieee defaults.
9774         (real_to_target_fmt, real_from_target_fmt): New.
9775         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9776         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9777         ieee_quad_format, i370_single_format, i370_double_format,
9778         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9779         (ieee_quad_format): Fix emin.
9780         (format_for_size, init_real_once): Remove.
9781         * real.h (struct real_format): Move from real.c.
9782         (real_format_for_mode): Declare.
9783         (real_to_target_fmt, real_from_target_fmt): Declare.
9784         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9785         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9786         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9787         i370_single_format, i370_double_format, c4x_single_format,
9788         c4x_extended_format): Declare.
9789         * toplev.c (do_compile): Don't call init_real_once.
9790
9791         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9792         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9793
9794         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9795         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9796         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9797         for VAX, if enabled.
9798
9799         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9800         for C4X.
9801
9802         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9803         * config/i370/i370.c (override_options): New.
9804         * config/i370/i370-protos.h: Update.
9805
9806         * config/i386/i386.c (override_options): Set real_format_for_mode
9807         for Intel 80-bit extended.
9808         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9809
9810         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9811         (OVERRIDE_OPTIONS): Move code...
9812         * config/i960/i960.c (i960_initialize): ... here.  Set
9813         real_format_for_mode for Intel 80-bit extended.
9814
9815         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9816         for Intel 80-bit extended, if enabled.
9817
9818         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9819         for Motorola 96-bit extended.
9820
9821         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9822         * config/vax/vax.c (override_options): New.
9823         * config/vax/vax-protos.h: Update.
9824
9825 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9826
9827         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9828         #if TARGET_MACHO.
9829
9830         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9831         insns.  Supply missing clobber of scratch reg.
9832
9833 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9834
9835         * config/m32r/m32r.c: Follow spelling conventions.
9836         * config/m32r/m32r.h: Likewise.
9837         * config/m32r/m32r.md: Likewise.
9838         * config/m68k/m68k.c: Likewise.
9839         * config/m88k/m88k.c: Likewise.
9840         * config/mcore/mcore.c: Likewise.
9841         * config/mips/mips.c: Likewise.
9842         * config/mips/mips.h: Likewise.
9843         * config/mmix/mmix.c: Likewise.
9844         * config/mn10200/mn10200.c: Likewise.
9845         * config/ns32k/ns32k.h: Likewise.
9846         * config/pa/pa.c: Likewise.
9847         * config/pa/pa64-linux.h: Likewise.
9848         * config/pdp11/pdp11.h: Likewise.
9849         * config/romp/romp.c: Likewise.
9850         * config/romp/romp.h: Likewise.
9851         * config/rs6000/eabi.asm: Likewise.
9852         * config/rs6000/linux64.h: Likewise.
9853         * config/rs6000/rs6000.c: Likewise.
9854         * config/rs6000/rs6000.h: Likewise.
9855         * config/rs6000/rs6000.md: Likewise.
9856         * config/rs6000/sysv4.h: Likewise.
9857         * config/rs6000/xcoff.h: Likewise.
9858
9859 2002-09-20  Jim Wilson  <wilson@redhat.com>
9860
9861         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9862
9863 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9864
9865         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9866         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9867         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9868         (legitimate_address_p): Likewise.
9869         (legitimize_address): Use @gotntpoff and @indntpoff.
9870         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9871         (output_addr_const_extra): Likewise.
9872
9873 2002-09-20  Jim Wilson  <wilson@redhat.com>
9874
9875         * combine.c (try_combine): When split an instruction pair, where the
9876         first has a sign_extend src, verify that the src and dest modes match.
9877
9878 2002-09-20  Richard Henderson  <rth@redhat.com>
9879
9880         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9881         (override_options): Do not initialize them.
9882         (mips_const_double_ok): Allow no fp constants except zero,
9883         and not even that for mips16.
9884         (const_float_1_operand): Use dconst1.
9885         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9886         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9887         Don't allow arbitrary constants; fix predicates and C constraint.
9888
9889 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9890
9891         * cppmacro.c: Don't warn about function-like macros without
9892         '(' during pre-expansion.
9893
9894 2002-09-20  Jim Wilson  <wilson@redhat.com>
9895
9896         * config/v850/v850.c (current_function_anonymous_args): Delete.
9897         (expand_prologue): Use current_function_args_info.anonymous_args.
9898         (expand_epilogue): Delete use of current_function_anonymous_args.
9899         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9900         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9901         (current_function_anonymous_args): Delete extern declaration.
9902         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9903
9904 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9905
9906         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9907         to load_macho_picbase.
9908         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9909         (load_macho_picbase): Take the symbol to use as a parameter.
9910         (macho_correct_pic): New insn.
9911         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9912
9913         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9914         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9915         (CAN_ELIMINATE): Likewise.
9916         (INITIAL_ELIMINATION_OFFSET): Likewise.
9917         (TOC_REGISTER): Likewise.
9918
9919 2002-09-20  Richard Henderson  <rth@redhat.com>
9920
9921         * real.c (real_hash): New.
9922         * real.h: Declare it.
9923         * cse.c (canon_hash): Use it.
9924         * cselib.c (hash_rtx): Likewise.
9925         * emit-rtl.c (const_double_htab_hash): Likewise.
9926         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9927         * varasm.c (struct rtx_const): Reduce vector size; separate
9928         integer and fp vectors.
9929         (HASHBITS): Remove.
9930         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9931         take modulus MAX_HASH_TABLE.
9932         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9933         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9934         (SYMHASH): Don't use HASHBITS.
9935         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9936         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9937         (simplify_subtraction): Fix kind comparison.
9938         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9939         Use a union to pun integer array.
9940         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9941         only hash two words of integral CONST_DOUBLE.
9942
9943 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9944
9945         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9946         (STARTFILE_PREFIX_SPEC): New.
9947         (LINK_SPEC): Modify.
9948         (LIB_SPEC): Modify.
9949         (LIBGCC_SPEC): New.
9950
9951 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9952
9953         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9954         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9955
9956 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9957
9958         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9959         Add clobber of the condition code register.
9960
9961 2002-09-20  Richard Henderson  <rth@redhat.com>
9962
9963         * real.c (do_fix_trunc): Static.
9964         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9965         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9966         encode_i370_single, encode_i370_double, encode_c4x_single,
9967         encode_c4x_extended): Add default abort case.
9968
9969 2002-09-20  Richard Henderson  <rth@redhat.com>
9970
9971         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9972         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9973         (struct realvaluetype): Remove.
9974         (REAL_VALUE_TYPE): Use struct real_value.
9975         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9976         (test_real_width): New.
9977         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9978         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9979         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9980         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9981         real_to_integer, real_to_integer2, real_to_decimal,
9982         real_to_hexadecimal, real_from_string, real_from_integer,
9983         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9984         real_from_target): Likewise.
9985         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9986         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9987
9988 2002-09-20  Richard Henderson  <rth@redhat.com>
9989
9990         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9991         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9992         * defaults.h: ... here.
9993         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9994         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9995         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9996         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9997
9998 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9999
10000         * config/mmix/mmix.md ("negdf2"): Rewrite.
10001         ("*expanded_negdf2"): New.
10002
10003 2002-09-19  Jim Wilson  <wilson@redhat.com>
10004
10005         * combine.c (simplify_set): When optimizing a subreg src with a
10006         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
10007
10008 2002-09-19  Dale Johannesen <dalej@apple.com>
10009         * combine.c (make_extraction): Don't create
10010         invalid subreg.
10011
10012 2002-09-19  Roger Sayle  <roger@eyesopen.com>
10013
10014         * tree.c (integer_nonzerop): New predicate for nonzero integers.
10015         * tree.h (integer_nonzerop): Add function prototype.
10016         * stmt.c (expand_end_loop):  Don't rotate the loop when there
10017         are no instructions in the test, i.e. the loop is unconditional.
10018         (expand_exit_loop_if_false):  Optimize RTL generation of loop
10019         tests when the condition is always true or always false.
10020         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
10021         do-loops when the condition is always true.
10022         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
10023         the for-expression is empty.
10024
10025 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
10026
10027         * gcc.c (use_pipes): New flag.
10028         (process_command): Set it.  Adjust check for -pipe conflicting
10029         with -time or -save-temps.
10030         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
10031         %<SWITCH.  Drop %| (without a SUFFIX).
10032         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
10033         (give_switch): Third argument eliminated.
10034         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
10035         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
10036         (specs documentation comment): Update.
10037
10038         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
10039         config/svr4.h, config/i386/freebsd-aout.h,
10040         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
10041         config/m68k/openbsd.h, config/mips/openbsd.h,
10042         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
10043         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
10044         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
10045         * config/cris/cris.h: Update comment.
10046
10047         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
10048         error messages.  Don't use %{^SWITCH}.
10049         * ada/misc.c (gnat_decode_option): Handle -I with a
10050         separate argument.
10051
10052         * f/lang-specs.h: Use %| and %m.
10053         * java/jvspec.c: Use %m and %(invoke_as).  Change all
10054         uses of %{<SWITCH} to %<SWITCH.
10055
10056         * doc/invoke.texi: Update documentation of specs.
10057         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
10058
10059 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
10060
10061         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
10062         and STRICT_LOW_PART within SET_DEST.
10063         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
10064         splitters, replacing pre-reload splitters.
10065         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
10066         "*zero_extendqihi2_31"): New insns.
10067         ("*zero_extendqihi2_64"): Do not clobber CC.
10068
10069 2002-09-18  Devang Patel  <dpatel@apple.com>
10070
10071         * cp/cp-tree.h: New prototype for walk_vtables().
10072         * cp/decl.c (walk_vtables_r): New function.
10073         (struct cp_binding_level): Add new members, namespaces,
10074         names_size and vtables.
10075         (add_decl_to_level): Add decl in namespaces or vtables
10076         chain, if conditions match.
10077         (walk_vtables): New function.
10078         (walk_namespaces_r): Travers separate namespace chain
10079         for namespace decls.
10080         (wrapup_globals_for_namespace): Use names_size instead
10081         of list_length().
10082         * cp/decl2.c (finish_file): Use walk_vtables() instead of
10083         walk_globals() to walk vtable decls.
10084
10085 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
10086
10087         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
10088         (DTORS_SECTION_ASM_OP): Ditto.
10089         (READONLY_DATA_SECTION_ASM_OP): Moved.
10090         (DATA_SECTION_ASM_OP): New.
10091         (SDATA_SECTION_ASM_OP): New.
10092         (BSS_SECTION_ASM_OP): New.
10093         (SBSS_SECTION_ASM_OP): New.
10094         (TEXT_SECTION_ASM_OP): New.
10095
10096 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
10097
10098         * config/fp-bit.c: Follow spelling conventions.
10099         * config/d30v/d30v.c: Likewise.
10100         * config/d30v/d30v.h: Likewise.
10101         * config/fr30/fr30.c: Likewise.
10102         * config/fr30/fr30.h: Likewise.
10103         * config/fr30/fr30.md: Likewise.
10104         * config/frv/frv.c: Likewise.
10105         * config/frv/frv.h: Likewise.
10106         * config/h8300/h8300.c: Likewise.
10107         * config/h8300/lib1funcs.asm: Likewise.
10108         * config/i370/i370.c: Likewise.
10109         * config/i386/i386.h: Likewise.
10110         * config/i386/i386.md: Likewise.
10111         * config/i386/pentium.md: Likewise.
10112         * config/i386/winnt.c: Likewise.
10113         * config/i960/i960.c: Likewise.
10114         * config/ia64/ia64.h: Likewise.
10115         * config/ip2k/ip2k.c: Likewise.
10116         * config/ip2k/ip2k.h: Likewise.
10117         * config/ip2k/ip2k.md: Likewise.
10118         * config/ip2k/libgcc.S: Likewise.
10119
10120 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
10121
10122         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
10123         (GOTOFF_P): Extend to allow gotoff plus constant.
10124
10125 2002-09-18  Richard Henderson  <rth@redhat.com>
10126
10127         * ifcvt.c (noce_process_if_block): Correctly detect X modified
10128         with INSN_B before COND_EARLIEST.  Don't check A and B for
10129         modification in condition range.  Reorder INSN_B for A==B properly.
10130         (if_convert): Iterate until no matches for a block.
10131
10132 2002-09-18  Richard Henderson  <rth@redhat.com>
10133
10134         * calls.c (store_one_arg): Rename default_align to parm_align;
10135         always adjust parm_align for downward padding.
10136
10137 2002-09-18  Richard Henderson  <rth@redhat.com>
10138
10139         * toplev.c (backend_init): Move init_real_once invocation ...
10140         (do_compile): ... here.
10141
10142 2002-09-18  Richard Henderson  <rth@redhat.com>
10143
10144         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
10145         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
10146
10147 2002-09-18  Richard Henderson  <rth@redhat.com>
10148
10149         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
10150
10151 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
10152
10153         * config/rs6000/rs6000.md: (floatdisf2): Rename to
10154         floatdisf2_internal1.
10155         (floatdisf2): New define_expand.
10156         (floatdisf2_internal2): Likewise.
10157
10158 2002-09-18  Richard Henderson  <rth@redhat.com>
10159
10160         * real.c (sticky_rshift_significand): Collect sticky as
10161         unsigned long, not bool.
10162
10163 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
10164
10165         * config/s390/s390.c (s390_address_cost): New function.
10166         config/s390/s390-protos.h (s390_address_cost): Add prototype.
10167         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
10168         (RTX_COST): Use COSTS_N_INSNS.
10169
10170 2002-09-18  Douglas Rupp  <rupp@gnat.com>
10171             Donn Terry  <donnte@microsoft.com>
10172
10173         * stor-layout.c (place_field): Handle alignment of whole
10174         structures when MSVC compatible bitfields are involved.
10175         Change method of computing location of MS bitfields to
10176         be compatible with #pragma pack(n).
10177
10178         * tree.h (record_layout_info): Add new field
10179         remaining_in_alignment.
10180
10181         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
10182         (pragma pack): Add paragraph on MSVC bitfield packing.
10183
10184 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
10185
10186         PR optimization/7967
10187         * arm.md (ne_zeroextractsi): Add clobber of the condition code
10188         register.
10189
10190 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
10191
10192         * config/s390/s390.c: Follow spelling conventions.
10193         * config/sh/lib1funcs.asm: Likewise.
10194         * config/sh/sh.c: Likewise.
10195         * config/sh/sh.h: Likewise.
10196         * config/sparc/sparc.c: Likewise.
10197         * config/sparc/sparc.h: Likewise.
10198         * config/sparc/sparc.md: Likewise.
10199         * config/stormy16/stormy16.c: Likewise.
10200         * config/stormy16/stormy16.h: Likewise.
10201         * config/v850/v850.c: Likewise.
10202         * config/v850/v850.h: Likewise.
10203         * config/vax/vax.c: Likewise.
10204         * config/vax/vax.h: Likewise.
10205
10206 2002-09-18  Nick Clifton  <nickc@redhat.com>
10207
10208         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
10209         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
10210         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
10211
10212 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10213
10214         * function.c (max_parm_reg_num): Remove.
10215         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
10216         drop_through_at_end_p, move_cleanups_up,
10217         expand_end_case_dummy, case_index_expr_type): Likewise.
10218         * stor-layout.c (pos_from_byte): Likewise.
10219         * tree.c (chain_member_value, chain_member_purpose, listify,
10220         tree_int_cst_msb, index_type_equal): Likewise.
10221         * tree.h: Remove prototypes for unused functions.
10222
10223 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
10224
10225         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
10226         statement that the only translation is to en_UK.
10227
10228 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10229
10230         * config/alpha/alpha.c: Follow spelling conventions.
10231         * config/alpha/alpha.h: Likewise.
10232         * config/alpha/alpha.md: Likewise.
10233         * config/arc/arc.h: Likewise.
10234         * config/arm/arm.c: Likewise.
10235         * config/arm/arm.h: Likewise.
10236         * config/arm/arm.md: Likewise.
10237         * config/arm/pe.c: Likewise.
10238         * config/arm/unknown-elf.h: Likewise.
10239         * config/avr/avr.c: Likewise.
10240         * config/avr/avr.h: Likewise.
10241         * config/c4x/c4x.c: Likewise.
10242         * config/cris/cris.c: Likewise.
10243         * config/cris/cris.h: Likewise.
10244
10245 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
10246
10247         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
10248         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
10249         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
10250
10251 2002-09-17  Dale Johannesen  <dalej@apple.com>
10252
10253         * cfgcleanup.c (try_forward_edges):  Do not forward a
10254         branch to just after a loop exit before loop optimization;
10255         this interfered with doloop detection.
10256
10257 2002-09-17  Nick Clifton  <nickc@redhat.com>
10258
10259         * config/arm/arm.c (output_return_instruction): Do not
10260         writeback the stack pointer when it is being loaded.
10261         (arm_output_epilogue): Likewise.
10262
10263 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10264
10265         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
10266         generate a pseudo reg that receives the result of a libcall.
10267         (prepare_float_lib_cmp): Likewise.
10268
10269 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
10270
10271         * config/ia64/elf.h: Remove CPP_PREDEFINES.
10272
10273 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10274
10275         Fix PR/7014 and related objc bugs:
10276         * c-typeck.c (comp_target_types): Added a reflexive argument.
10277         Pass it to ObjC when/if calling objc_comptypes().  Updated all
10278         callers to provide the appropriate reflexive argument.
10279         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
10280         typechecking for all cases of comparisons and assignments,
10281         particularly the obscure and less common ones involving protocols.
10282
10283 2002-09-17  Nick Clifton  <nickc@redhat.com>
10284
10285         * machmode.def (V1DImode): New mode.  A single element vector.
10286         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
10287         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
10288         * tree.c (build_common_tree_nodes_2): Build
10289         unsigned_V1DI_type_node and V1D1_type_node.
10290         * c-common.c (c_common_type_for_mode): Return
10291         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
10292         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
10293
10294 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10295
10296         * doc/objc.texi (Constant string objects): Extended documentation
10297         to make clear that the constant string class ivar layout is
10298         completely fixed.
10299
10300 2002-09-17  Roger Sayle  <roger@eyesopen.com>
10301
10302         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
10303         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
10304
10305 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10306
10307         * config/mips/mips.c (save_restore_insns): Remove unused variable.
10308         * gcc.c (make_relative_prefix): Likewise.
10309         * loop.c (check_final_value): Likewise.
10310         * jump.c (init_label_info): Remove return value.
10311         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
10312
10313 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10314
10315         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
10316         (ASM_PN_FORMAT): Define.
10317
10318 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10319
10320         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
10321         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
10322         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
10323         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
10324         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
10325         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
10326         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
10327         Delete.
10328         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
10329         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
10330         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
10331
10332         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
10333         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
10334
10335 2002-09-16  Richard Henderson  <rth@redhat.com>
10336
10337         * expr.c (emit_block_move): Set memory block size as appropriate
10338         for the copy.
10339
10340 2002-09-16  Richard Henderson  <rth@redhat.com>
10341
10342         PR fortran/3924
10343         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
10344
10345 2002-09-16  Richard Henderson  <rth@redhat.com>
10346
10347         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
10348         as well as OFFSET for BITPOS.
10349
10350 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
10351
10352         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
10353         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
10354         winchip2 and c3.
10355         * doc/invoke.texi: Mention new aliases.
10356
10357 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10358
10359         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
10360         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
10361         downward.
10362         * function.c (pad_below):  Always compile.
10363         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
10364         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
10365         Pad below when the argument is not in a register and the padding
10366         direction is downward.
10367
10368         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
10369         (PAD_VARARGS_DOWN): Define.
10370         * pa.c (function_arg_padding): Revise padding directions to make them
10371         compatible with the 32 and 64-bit runtime architecture documentation.
10372         (hppa_va_arg):  Add code to handle variable and size zero arguments
10373         passed by reference on TARGET_64BIT.  Reformat.
10374         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
10375         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
10376         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
10377         Add comments.
10378         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
10379         (RETURN_IN_MEMORY): Return size zero types in memory.
10380         (FUNCTION_VALUE): Return TFmode in general registers.
10381         (MUST_PASS_IN_STACK): Define.
10382         (FUNCTION_ARG_BOUNDARY): Simplify.
10383         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
10384         by reference.
10385         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
10386
10387 2002-09-16  Richard Henderson  <rth@redhat.com>
10388
10389         * real.c (do_fix_trunc): New.
10390         (real_arithmetic): Call it.
10391         * simplify-rtx.c (simplify_unary_operation): Handle FIX
10392         with a floating-point result mode.
10393
10394 2002-09-16  Richard Henderson  <rth@redhat.com>
10395
10396         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
10397         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
10398         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
10399         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
10400         * builtins.c (fold_builtin_nan): New.
10401         (fold_builtin): Call it.
10402         * real.c (real_nan): Parse a non-empty string.
10403         (round_for_format): Fix NaN significand truncation.
10404         * real.h (real_nan): Return bool.
10405         * doc/extend.texi: Document new builtins.
10406
10407 2002-09-16  Jason Merrill  <jason@redhat.com>
10408             Danny Smith  <dannysmith@users.sourceforge.net>
10409
10410         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
10411         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
10412         (i386_pe_mark_dllimport): Not here.
10413
10414 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
10415
10416         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
10417
10418 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
10419
10420         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
10421         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
10422         < 64.
10423         (rs6000_emit_cmove): Use real_isinf not target_isinf.
10424
10425 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10426
10427         * calls.c (emit_library_call_value_1): Don't refer to
10428         hard_libcall_value.
10429         * optabs.c (prepare_float_lib_cmp): Likewise.
10430
10431 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
10432
10433         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
10434         mangling.
10435
10436         The following changes are merged from pch-branch:
10437
10438         * doc/gty.texi (GTY Options): Document %a.
10439         * gengtype.c (do_scalar_typedef): New function.
10440         (process_gc_options): Handle `length' option.
10441         (set_gc_used_type): A pointer to an array of structures doesn't
10442         qualify as a pointer to a structure.
10443         (output_escaped_param): Add `%a' escape.
10444         (write_gc_structure_fields): Allow 'desc' on array of unions.
10445         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
10446         do_scalar_typedef.
10447
10448         * gengtype.c (enum rtx_code): Make global.
10449         (rtx_format): Make global.
10450         (rtx_next): New.
10451         (gen_rtx_next): New.
10452         (write_rtx_next): New.
10453         (adjust_field_rtx_def): Skip fields marked by chain_next.
10454         (open_base_files): Delete redundant prototype.
10455         (write_enum_defn): New.
10456         (output_mangled_typename): Correct abort call.
10457         (write_gc_marker_routine_for_structure): Handle chain_next and
10458         chain_prev options.
10459         (finish_root_table): Don't output redundant \n.
10460         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
10461         * c-tree.h (union lang_tree_node): Add chain_next option.
10462
10463         * gengtype.h (NUM_PARAM): New definition.
10464         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
10465         * gengtype.c (find_param_structure): New.
10466         (adjust_field_type): Handle param<n>_is option.
10467         (process_gc_options): Detect use_params option.  Update callers.
10468         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
10469         'use_params' option.
10470         (open_base_files): Add splay-tree.h to list of files included.
10471         (output_mangled_typename): New.
10472         (write_gc_structure_fields): Update 'param' parameter to support
10473         multiple parameters.  Change name mangling.  Allow parameterized
10474         fields to have an apparent scalar type.  Handle param<n>_is options,
10475         use_param option.
10476         (write_gc_marker_routine_for_structure): Update for change to name
10477         mangling.  Better guess the output file for parameterized types.
10478         (write_gc_types): Update for change to name mangling.
10479         (write_gc_root): Update for change to name mangling.  Handle (ignore)
10480         param<n>_is options.
10481         * doc/gty.texi (GTY Options): Add description of param<n>_is
10482         options, use_params option.
10483         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
10484         * gengtype-lex.l: Produce token for param<n>_is.
10485         * gengtype-yacc.y: Parse param<n>_is.
10486
10487         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
10488
10489         * rtl.c: Update comment describing rtx_format.
10490         * rtl.h (union rtunion): Separate definition and typedef.
10491         (struct rtx_def): Use gengtype to mark.
10492         * Makefile.in (gengtype.o): Also depend on rtl.def.
10493         * ggc.h (ggc_mark_rtx_children): Delete prototype.
10494         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
10495         * ggc-common.c (ggc_mark_rtx_children): Delete.
10496         (ggc_mark_rtx_children_1): Delete.
10497         (gt_ggc_m_rtx_def): Delete.
10498         * gengtype.c (adjust_field_rtx_def): New.
10499         (adjust_field_type): Call adjust_field_rtx_def.
10500         (write_gc_structure_fields): Add 'default' case to switch if none
10501         is specified; remove unused code.
10502
10503         * tree.h (struct tree_exp): Update for change to meaning
10504         of special.
10505         * gengtype.c (adjust_field_tree_exp): New function.
10506         (adjust_field_type): Handle `tree_exp' special here.
10507         (write_gc_structure_fields): Don't handle `tree_exp' special here.
10508         Handle new `dot' option.
10509
10510         * gengtype.h: Make `info' a pointer-to-const.
10511         * gengtype-yacc.y (yacc_ids): Use xasprintf.
10512
10513         * gengtype.c (write_gc_structure_fields): Remove implementation
10514         of `always' option, add `default' option.
10515         * doc/gty.texi (GTY Options): Remove documentation of `always',
10516         add `default'.
10517
10518 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
10519
10520         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
10521
10522 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10523
10524         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
10525
10526         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
10527         instead of the *-protos.h file directly.
10528         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
10529         * darwin.c (machopic_output_stub): Move prototype ...
10530         * darwin-protos.h (machopic_output_stub): ... here.
10531         * rs6000-protos.h (machopic_output_stub): Don't declare.
10532
10533 2002-09-16  Richard Henderson  <rth@redhat.com>
10534
10535         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
10536
10537 2002-09-16  Richard Henderson  <rth@redhat.com>
10538
10539         * real.c, real.h: Rewrite from scratch.
10540
10541         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
10542         (paranoia): New target.
10543         * builtins.c (fold_builtin_inf): Use new real.h interface.
10544         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
10545         * c-lex.c (interpret_float): Likewise.
10546         * emit-rtl.c (gen_lowpart_common): Likewise.
10547         * optabs.c (expand_float): Use real_2expN.
10548         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
10549         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
10550         (FLOAT_WORDS_BIG_ENDIAN): New.
10551         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
10552         directly to REAL_VALUE_NEGATIVE.
10553         * loop.c (canonicalize_condition): Likewise.
10554         * simplify-rtx.c: Include tree.h.
10555         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
10556         with floating-point result modes.
10557         * toplev.c (backend_init): Call init_real_once.
10558
10559         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
10560         * tree.c (build_real): Likewise.
10561         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
10562         float_values, inited_float_values, check_float_value): Remove.
10563         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
10564         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
10565         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
10566         (VAX_HALFWORD_ORDER): Remove.
10567
10568 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
10569
10570         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
10571         (s390_load_address): ... this new function.
10572         (s390_decompose_address): Allow the argument pointer and all
10573         virtual registers as 'pointer' registers.
10574         (s390_expand_plus_operand): Use s390_load_address.
10575         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
10576         ("force_la_31"): New insn pattern.
10577         config/s390/s390-protos.h (legitimize_la_operand): Remove.
10578         (s390_load_address): Add prototype.
10579
10580         * config/s390/s390.c: Include "optabs.h".
10581         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
10582         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
10583         s390_expand_cmpstr): Add prototypes.
10584         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
10585         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
10586         for operands 0 and 1 to "memory_operand".  Add type attribute.
10587         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
10588         for operands 0 and 1 to "memory_operand".  Add type attribute.
10589         ("movstrdi_long", "movstrsi_long"): Remove.
10590         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
10591         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
10592         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
10593         ("clrstrsico"): Remove, replace by ...
10594         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
10595         ("clrstrsi_64"): Rename to "clrstr_long_64".
10596         ("clrstrsi_31"): Rename to "clrstr_long_31".
10597         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
10598         ("cmpstr_const"): Remove, replace by ...
10599         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
10600         ("cmpstr_64"): Rename to "cmpstr_long_64".
10601         ("cmpstr_31"): Rename to "cmpstr_long_31".
10602
10603 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10604
10605         * ABOUT-NLS: Follow spelling conventions.
10606         * ChangeLog: Likewise.
10607         * ChangeLog.1: Likewise.
10608         * ChangeLog.2: Likewise.
10609         * ChangeLog.3: Likewise.
10610         * ChangeLog.4: Likewise.
10611         * ChangeLog.5: Likewise.
10612         * ChangeLog.6: Likewise.
10613         * FSFChangeLog.10: Likewise.
10614         * FSFChangeLog.11: Likewise.
10615         * c-common.c: Likewise.
10616         * c-lex.c: Likewise.
10617         * c-objc-common.c: Likewise.
10618         * cppexp.c: Likewise.
10619         * cppinit.c: Likewise.
10620         * cpplex.c: Likewise.
10621         * doloop.c: Likewise.
10622         * flow.c: Likewise.
10623         * function.c: Likewise.
10624         * integrate.c: Likewise.
10625         * loop.c: Likewise.
10626         * reg-stack.c: Likewise.
10627         * reload.h: Likewise.
10628         * ssa.c: Likewise.
10629
10630 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10631
10632         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
10633         * vmsdbgout.c: Include "target.h".
10634
10635 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10636
10637         * ChangeLog: Follow spelling conventions.
10638         * ChangeLog.0: Likewise.
10639         * ChangeLog.1: Likewise.
10640         * ChangeLog.2: Likewise.
10641         * ChangeLog.4: Likewise.
10642         * ChangeLog.6: Likewise.
10643         * config.gcc: Likewise.
10644         * dwarfout.c: Likewise.
10645         * reload1.c: Likewise.
10646         * simplify-rtx.c: Likewise.
10647         * unwind-sjlj.c: Likewise.
10648         * config/avr/avr.h: Likewise.
10649         * config/d30v/d30v.h: Likewise.
10650         * config/frv/frv.c: Likewise.
10651         * config/frv/frv.h: Likewise.
10652         * config/ip2k/ip2k.h: Likewise.
10653         * config/m88k/m88k-move.sh: Likewise.
10654         * config/stormy16/stormy16.c: Likewise.
10655         * config/stormy16/stormy16.h: Likewise.
10656         * doc/extend.texi: Likewise.
10657         * doc/interface.texi: Likewise.
10658         * doc/invoke.texi: Likewise.
10659         * doc/md.texi: Likewise.
10660         * doc/rtl.texi: Likewise.
10661         * doc/tm.texi: Likewise.
10662         * doc/trouble.texi: Likewise.
10663         * ginclude/float.h: Likewise.
10664         * treelang/treelang.texi: Likewise.
10665
10666 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10667
10668         * i386-protos.h (i386_pe_dllexport_name_p,
10669         i386_pe_dllimport_name_p, i386_pe_unique_section,
10670         i386_pe_declare_function_type, i386_pe_record_external_function,
10671         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10672         prototype.
10673         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10674         * i386/t-interix (winnt.o): Likewise.
10675
10676         * v850-protos.h (v850_output_addr_const_extra): Prototype.
10677
10678 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10679
10680         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10681         MIPS ABI CPP macros.
10682         (TARGET_CPU_CPP_BUILTINS): Redefine.
10683         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10684         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10685
10686 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10687
10688         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10689
10690 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10691
10692         * ChangeLog: Follow spelling conventions.
10693         * ChangeLog.0: Likewise.
10694         * ChangeLog.1: Likewise.
10695         * ChangeLog.2: Likewise.
10696         * ChangeLog.3: Likewise.
10697         * ChangeLog.4: Likewise.
10698         * ChangeLog.5: Likewise.
10699         * ChangeLog.6: Likewise.
10700         * FSFChangeLog.10: Likewise.
10701         * FSFChangeLog.11: Likewise.
10702         * c-common.c: Likewise.
10703         * c-common.h: Likewise.
10704         * c-format.c: Likewise.
10705         * c-opts.c: Likewise.
10706         * cpplib.c: Likewise.
10707         * langhooks.h: Likewise.
10708         * real.c: Likewise.
10709         * reg-stack.c: Likewise.
10710         * toplev.c: Likewise.
10711         * config/arm/arm.c: Likewise.
10712         * config/arm/arm.md: Likewise.
10713         * config/arm/linux-gas.h: Likewise.
10714         * config/arm/netbsd.h: Likewise.
10715         * config/c4x/c4x.c: Likewise.
10716         * config/c4x/c4x.h: Likewise.
10717         * config/c4x/c4x.md: Likewise.
10718         * config/c4x/libgcc.S: Likewise.
10719         * config/fr30/fr30.md: Likewise.
10720         * config/frv/frv.md: Likewise.
10721         * config/ia64/ia64.md: Likewise.
10722         * config/mips/mips.h: Likewise.
10723         * config/mn10300/mn10300.c: Likewise.
10724         * config/stormy16/stormy16.c: Likewise.
10725         * config/v850/v850.md: Likewise.
10726         * doc/extend.texi: Likewise.
10727         * doc/invoke.texi: Likewise.
10728         * doc/md.texi: Likewise.
10729
10730 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10731
10732         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10733         library if -pthread is specified.
10734
10735 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10736
10737         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10738         for --enable-threads=yes and --enable-threads=posix.
10739
10740 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10741
10742         * config/sparc/cypress.md: Replace Sparc with SPARC.
10743         * config/sparc/freebsd.h: Likewise.
10744         * config/sparc/gmon-sol2.c: Likewise.
10745         * config/sparc/hypersparc.md: Likewise.
10746         * config/sparc/lb1spc.asm: Likewise.
10747         * config/sparc/lb1spl.asm: Likewise.
10748         * config/sparc/linux.h: Likewise.
10749         * config/sparc/linux64.h: Likewise.
10750         * config/sparc/lynx.h: Likewise.
10751         * config/sparc/sol2.h: Likewise.
10752         * config/sparc/sparc-modes.def: Likewise.
10753         * config/sparc/sparc.c: Likewise.
10754         * config/sparc/sparc.h: Likewise.
10755         * config/sparc/sparc.md: Likewise.
10756         * config/sparc/sparclet.md: Likewise.
10757         * config/sparc/supersparc.md: Likewise.
10758         * config/sparc/sysv4.h: Likewise.
10759         * config/sparc/vxsim.h: Likewise.
10760         * config/sparc/vxsparc64.h: Likewise.
10761
10762 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10763
10764         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10765         * collect2.c (ignore_library, aix_std_libs): Move into the context
10766         where it is used.
10767         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10768         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10769         * m88k.c (output_call): Wrap variables with macro controlling use.
10770         * rs6000.md: Likewise.  Const-ify variable.
10771         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10772         * final.c (only_leaf_regs_used): Likewise.
10773         * regrename.c (maybe_mode_change): Mark parameter with
10774         ATTRIBUTE_UNUSED.
10775         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10776         (find_reloads_address_1): Likewise.
10777         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10778
10779 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10780
10781         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10782
10783 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10784
10785         * ChangeLog: Follow spelling conventions.
10786         * ChangeLog.0: Likewise.
10787         * ChangeLog.2: Likewise.
10788         * ChangeLog.3: Likewise.
10789         * ChangeLog.4: Likewise.
10790         * ChangeLog.5: Likewise.
10791         * ChangeLog.6: Likewise.
10792         * cppfiles.c: Likewise.
10793         * cppinit.c: Likewise.
10794         * cpplib.h: Likewise.
10795         * cse.c: Likewise.
10796         * debug.h: Likewise.
10797         * df.c: Likewise.
10798         * dominance.c: Likewise.
10799         * hashtable.c: Likewise.
10800         * hashtable.h: Likewise.
10801         * loop.c: Likewise.
10802         * config/arm/README-interworking: Likewise.
10803         * config/arm/arm.c: Likewise.
10804         * config/arm/arm.h: Likewise.
10805         * config/arm/arm.md: Likewise.
10806         * config/dsp16xx/dsp16xx.h: Likewise.
10807         * config/frv/frv.c: Likewise.
10808         * config/frv/frv.h: Likewise.
10809         * config/ip2k/ip2k.h: Likewise.
10810         * config/rs6000/rs6000.c: Likewise.
10811         * config/stormy16/stormy-abi: Likewise.
10812         * config/stormy16/stormy16.h: Likewise.
10813         * config/v850/v850.c: Likewise.
10814
10815 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10816
10817         * loop.c: Fix a comment typo.
10818
10819 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10820
10821         * config/fr30/fr30.h: Fix comment typos.
10822         * config/frv/frv.c: Likewise.
10823         * config/i386/xmmintrin.h: Likewise.
10824         * config/mips/mips.c: Likewise.
10825         * config/sh/sh.c: Likewise.
10826
10827 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10828
10829         * haifa-sched.c: Follow spelling conventions.
10830         * regclass.c: Likewise.
10831         * regrename.c: Likewise.
10832         * config/fp-bit.c: Likewise.
10833         * config/frv/frv.h: Likewise.
10834         * config/m88k/m88k.c: Likewise.
10835         * config/mcore/mcore.c: Likewise.
10836         * config/rs6000/darwin.h: Likewise.
10837         * config/rs6000/gnu.h: Likewise.
10838         * config/rs6000/linux.h: Likewise.
10839         * config/rs6000/linux64.h: Likewise.
10840         * config/rs6000/rs6000.c: Likewise.
10841         * config/rs6000/rs6000.h: Likewise.
10842         * config/sh/sh.c: Likewise.
10843         * config/sparc/sparc.c: Likewise.
10844         * config/sparc/ultra1_2.md: Likewise.
10845
10846 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10847
10848         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10849         memory operand when source is 0 (K constraint).
10850         ("movsi_internal"): Likewise.
10851         ("movdf_internal"): Likewise.
10852         ("movsf_internal"): Likewise.
10853
10854 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10855
10856         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10857         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10858         (rs6000_xcoff_encode_section_info): Likewise.
10859         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10860
10861 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10862
10863         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10864
10865 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10866
10867         * stmt.c (struct nexting): Remove unused alt_end_label field.
10868         (expand_start_loop): Delete initialization of alt_end_label.
10869         (expand_start_null_loop): Likewise.
10870         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10871
10872 2002-09-13  Richard Henderson  <rth@redhat.com>
10873
10874         * Makefile.in (toplev.o): Depend on real.h.
10875         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10876
10877 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10878
10879         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10880         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10881         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10882
10883 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10884
10885         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10886
10887 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10888
10889         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10890         ia64*-*-linux*): Set extra_parts.
10891         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10892         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10893
10894 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10895
10896         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10897         * config/h8300/h8300.c: Likewise.
10898         * config/h8300/h8300.h: Likewise.
10899         * config/h8300/h8300.md: Likewise.
10900         * doc/invoke.texi: Likewise.
10901
10902 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10903
10904         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10905
10906 2002-09-13  Richard Henderson  <rth@redhat.com>
10907
10908         * config/alpha/alpha.md (attr type): Add callpal.
10909         (imb, trap, load_tp, set_tp): Use it.
10910         * config/alpha/ev4.md (ev4_callpal): New.
10911         * config/alpha/ev5.md (ev5_callpal): New.
10912         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10913         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10914         (alphaev5_insn_pipe): Likewise.
10915
10916 2002-09-13  Andreas Jaeger  <aj@suse.de>
10917
10918         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10919
10920 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10921
10922         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10923         LIB2ADDEH): New, set to NULL.
10924         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10925
10926 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10927
10928         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10929         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10930         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10931         Add declarations.
10932         (_U_Qfneg): Remove.
10933
10934 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10935
10936         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10937         for H8/300, H8S aa:8 mode.
10938         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10939         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10940         for H8/300 aa:8 mode.
10941
10942 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10943
10944         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10945         insns.
10946
10947 2002-09-12  Richard Henderson  <rth@redhat.com>
10948
10949         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10950         (print-rtl.o): Don't define GENERATOR_FILE.
10951         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10952         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10953         unless GENERATOR_FILE.
10954
10955 2002-09-12  Stan Shebs  <shebs@apple.com>
10956
10957         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10958         * config/i386/darwin.h: ... instead of here.
10959
10960         * target.h (struct gcc_target): New field
10961         terminate_dw2_eh_frame_info.
10962         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10963         (TARGET_INITIALIZER): Add it.
10964         * dwarf2out.c (output_call_frame_info): Use target hook.
10965         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10966         ASM_OUTPUT_DWARF_DELTA if defined.
10967         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10968         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10969         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10970         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10971         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10972         (powerpc-*-darwin*): Ditto.
10973         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10974         to work correctly for Darwin.
10975         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10976         (STARTFILE_SPEC): Add crtbegin.o.
10977         (ENDFILE_SPEC): Define.
10978         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10979         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10980         (ASM_OUTPUT_DWARF_DELTA): Define.
10981         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10982         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10983
10984 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10985
10986         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10987         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10988         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10989
10990 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10991
10992         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10993         * defaults.h: ... here.
10994
10995 2002-09-12  Richard Henderson  <rth@redhat.com>
10996
10997         * vax.c: Include tree.h earlier.
10998
10999 2002-09-12  Stan Shebs  <shebs@apple.com>
11000
11001         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
11002         (machopic_operand_p): Ditto.
11003
11004 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11005
11006         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11007         Fix a comment typo.
11008
11009 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11010
11011         * toplev.c (do_abort): Fix a comment typo.
11012
11013 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11014
11015         * cselib.c: Fix comment formatting.
11016         * gengtype.c: Likewise.
11017
11018 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11019
11020         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
11021         (udivmodhi4): Likewise.
11022
11023 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
11024             Roger Sayle  <roger@eyesopen.com>
11025
11026         * i386.c (any_fp_register_operand, fp_register_operand,
11027         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
11028         New predicate functions.
11029         * i386-protos.h:  Add their prototypes.
11030         * i386.h: Add them to PREDICATE_CODES.
11031         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
11032         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
11033         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
11034         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
11035         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
11036         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
11037         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
11038         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
11039         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
11040         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
11041         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
11042         Use these new predicates to simplify and correct the use of
11043         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
11044
11045 2002-09-12  Jason Merrill  <jason@redhat.com>
11046
11047         * diagnostic.c (output_add_identifier): New fn.
11048         * diagnostic.h: Declare it.
11049
11050         * calls.c (store_one_arg): Use size_in_bytes to determine the
11051         amount of space to push.
11052
11053 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
11054
11055         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
11056
11057 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
11058
11059         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
11060         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
11061         (s390_select_ccmode): Likewise.
11062         (s390_branch_condition_mask): Likewise.
11063         (optimization_options): Do not set flag_branch_on_count.
11064         (s390_split_branches): Handle doloop branches.
11065         (s390_chunkify_pool): Likewise.
11066         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
11067         ("doloop_end"): New expander.
11068         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
11069         associated splitters): New.
11070
11071 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11072
11073         * genattrtab.c (simplify_cond): Remove unused variable(s).
11074         * global.c (record_conflicts): Likewise.
11075         * jump.c (rebuild_jump_labels): Likewise.
11076         * loop.c (scan_loop, check_final_value): Likewise.
11077         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
11078         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
11079         * rtlanal.c (reg_set_p): Likewise.
11080         * stmt.c (expand_asm_operands, expand_decl): Likewise.
11081         * genautomata.c (empty_reserv): Remove.
11082         * loop.c (max_luid): Likewise.
11083         * sched-rgn.c (bitlst_table_size): Likewise.
11084
11085 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
11086
11087         Reimplement gcov format.
11088         * gcov-io.h: Replace.
11089         * gcov.c: Reimplement.
11090         * gcov-iov.c: New file.
11091         * gcov-dump.c: New file.
11092         * libgcc2.c (L_bb): Replace with ...
11093         (L_gcov): ... this.
11094         (struct bb_function_info, struct bb): Remove.
11095         (inhibit_libc): Never inhibit.
11096         (gcov_list, gcov_crc): New static variables.
11097         (gcov_version_mismatch): New static function.
11098         (__bb_exit_func): Renamed to ...
11099         (__gcov_exit): ... here. Made static. Reimplement.
11100         (__gcov_init_func): Rename to ...
11101         (__gcov_init): ... here. Check version, update crc.
11102         (__bb_fork_func): Rename to ...
11103         (__gcov_flush): ... here.
11104         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
11105         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
11106         * calls.c (expand_call): Call __gcov_flush.
11107         * profile.c (bb_file, last_bb_file_name): Remove.
11108         (bbg_file_name): New global variable.
11109         (output_gcov_string): Remove.
11110         (get_exec_counts): Reimplement.
11111         (branch_prob): Reimplement gcov file writing.
11112         (init_branch_prob): Create bbg_file_name, don't create
11113         bb_file_name.
11114         (end_branch_prob): Adjust. Don't remove counter file when
11115         instrumenting ourselves.
11116         (create_profiler): Adjust.
11117         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
11118         point to gcov-io.h.
11119         * Makefile.in (LANGUAGES): Add gcov-dump.
11120         (coverageexts): Remove .bb.
11121         (STAGESTUFF): Add gcov-dump.
11122         (LIB2FUNCS_ST): Replace _bb with _gcov.
11123         (profile.o): Depend on gcov-iov.h.
11124         (final.o): Don't depend on profile.h, gcov.h.
11125         (gcov.o): Depend on gcov-iov.h.
11126         (gcov-iov.o): New target.
11127         (gcov-iov): New target.
11128         (gcov-iov.h): New target.
11129         (gcov-dump.o): New target.
11130         (GCOV_DUMP_OBJS): New variable.
11131         (gcov-dump): New target.
11132         (distclean): Remove coverageexts.
11133         (stage1): Remove coverageexts.
11134
11135 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
11136
11137         * fold-const.c (make_range): Only narrow to signed range if
11138         the signed range is smaller than the unsigned range.
11139
11140 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
11141
11142         * emit-rtl.c (set_mem_size): New function.
11143         * expr.h (set_mem_size): Declare.
11144         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
11145         (expand_block_move): Instead, use adjust_address and
11146         replace_equiv_address to generate proper aliasing info.
11147         Move common code out of conditionals.  Localize vars.
11148
11149 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
11150
11151         * optabs.c (expand_binop): Minor cleanup.
11152         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
11153
11154 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
11155
11156         * print-tree.c (print_node): Print the restrict qualifier.
11157
11158 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
11159
11160         * doc/install.texi: Fix typos.
11161
11162 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
11163
11164         * Makefile.in: Remove all references to s-under and underscore.c.
11165         * collect2.c, tlink.c: Change all uses of prepends_underscore
11166         to look directly at USER_LABEL_PREFIX.
11167
11168 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
11169
11170         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
11171         alignment to csect.
11172         (rs6000_xcoff_unique_section): Only set section name for public
11173         data.
11174         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
11175         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
11176         duplicate definition.
11177
11178 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11179
11180         * pa.md (extzv): Check predicates before emitting extzv_32.
11181         (insv): Likewise.
11182
11183 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
11184
11185         * config/s390/s390.h (MOVE_MAX): Define to correct value.
11186         (MAX_MOVE_MAX): Define.
11187         (MOVE_BY_PIECES_P): Define.
11188         (CLEAR_BY_PIECES_P): Define.
11189
11190 2002-09-10  Denis Chertykov  <denisc@overta.ru>
11191
11192         * config/avr/avr.md (movstrhi): Use right operands for conversion.
11193
11194 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
11195
11196         PR c/7873
11197         * arm.md (insv): Use reg_or_int_operand for operand[3].
11198
11199 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
11200
11201         * rs6000.c (rs6000_assemble_visibility): Protect declaration
11202         inside macro.  Correct function definition typo.
11203         (rs6000_xcoff_section_type_flags): New function.
11204         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
11205         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
11206         with appropriate PIC test.
11207         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
11208         determine readonly.
11209         (rs6000_binds_local_p): Combine PIC flags.
11210         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
11211         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
11212
11213 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11214
11215         * h8300.md: Fix signed/unsigned warnings.
11216         * mcore.md: Likewise.
11217         * mn10300.c (mask_ok_for_mem_btst): Likewise.
11218
11219 2002-09-09  Per Bothner  <per@bothner.com>
11220
11221         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
11222         characters, and only print TREE_STRING_LENGTH chars.
11223
11224 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
11225
11226         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
11227         (ASM_FILE_END) New.
11228         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
11229         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
11230         * config/ia64/ia64.c (ia64_asm_output_external): Create list
11231         of external functions if TARGET_HPUX_LD is true.
11232         (ia64_hpux_add_extern_decl): New, routine to put names on
11233         list of external functions.
11234         (ia64_hpux_asm_file_end): Put out declarations for external
11235         functions if and only if they are used.
11236
11237 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11238
11239         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
11240         on TARGET_64BIT before pic register restore.
11241
11242 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
11243
11244         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
11245         (TARGET_HAVE_TLS): New description.
11246
11247 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
11248
11249         * doc/extend.texi (Statement Exprs): Fix broken link.
11250
11251 2002-09-09  Denis Chertykov  <denisc@overta.ru>
11252
11253         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
11254         right conversion of operands[1].
11255
11256 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
11257
11258         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
11259         commutative.  Use "nonimmediate_operand" instead of "register_operand"
11260         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
11261
11262         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
11263         as commutative.
11264
11265         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
11266         mark as commutative.  Use "nonimmediate_operand" instead of
11267         "register_operand" as predicate for operand 1.
11268
11269         ("movstrictsi"): Fix typo in insn name.
11270
11271 2002-09-09  Jan Hubicka  <jh@suse.cz>
11272
11273         * i386.c (index_register_operand): New.
11274         * i386.h (predicate_codes): Add new predicate.
11275         * i386.md (lea_general_*): Use index_register_operand
11276         (ashift to lea splitter): Do not produce invalid leas
11277         (ashift to mov+ashift split): New.
11278
11279 2002-09-09  Nick Clifton  <nickc@redhat.com>
11280
11281         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
11282         Fix folding marks.
11283
11284 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
11285             J"orn Rennecke <joern.rennecke@superh.com>
11286
11287         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
11288
11289 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
11290
11291         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
11292         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
11293         attributes.
11294
11295 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
11296
11297         * basic_block.h (gcov_type): Explain why it is signed.
11298         * final.c: Don't include profile.h.
11299         (struct function_list, functions_head, functions_tail,
11300         end_final): Moved to profile.c
11301         (final): Move arc chaining code to profile.c.
11302         * function.c (prepare_function_start): Remove duplicate line.
11303         * output.h (end_final): Remove prototype.
11304         * predict.c (estimate_loops_at_level): Use gcov_type.
11305         * profile.c (struct function_list, functions_head,
11306         functions_tail): Moved from final.c
11307         (need_func_profiler): Remove.
11308         (instrument_edges): Don't set need_func_profiler.
11309         (get_exec_counts): Avoid signed/unsigned warning.
11310         (compute_checksum): Use crc32.
11311         (branch_prob): Adjust. Chain onto functions_head.
11312         (init_branch_prob): Absorb init_edge_profiler.
11313         (init_edge_profiler): Remove.
11314         (create_profiler): Moved and renamed from final.c:end_final.
11315         Emit data and constructor.
11316         (output_func_start_profiler): Remove.
11317         * profile.h (struct profile_info): checksum is unsigned.
11318         * rtl.h (output_func_start_profiler): Remove prototype.
11319         (create_profiler): Declare.
11320         * toplev.c (compile_file): Call create_profiler, if instrumenting
11321         arcs. Don't call end_final.
11322
11323 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11324
11325         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
11326
11327 2002-09-08  Richard Henderson  <rth@redhat.com>
11328
11329         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
11330         (DW_OP_GNU_push_tls_address): New.
11331         (DW_OP_lo_user): Fix.
11332         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
11333         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
11334         (size_of_loc_descr): Likewise.
11335         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
11336         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
11337         (loc_descriptor_from_tree): Handle TLS variables.
11338         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
11339         (add_location_or_const_value_attribute): ... not here.  Defer
11340         to loc_descriptor_from_tree for TLS variables.
11341
11342         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
11343         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
11344         * config/i386/i386-protos.h: Update.
11345
11346 2002-09-08  Roger Sayle  <roger@eyesopen.com>
11347
11348         PR optimization/6405
11349         * unroll.c (loop_iterations): last_loop_insn should be the previous
11350         non-note instruction before loop->end.
11351         * loop.c (strength_reduce): The conditional jump is the last
11352         non-note instruction before loop->end (as above).
11353
11354 2002-09-08  Roger Sayle  <roger@eyesopen.com>
11355
11356         * combine.c (try_combine): Handle the case that undobuf.other_insn
11357         has been turned into a return or unconditional jump, by inserting
11358         a BARRIER if necessary.
11359         (simplify_set):  Test if a condition code setter has a constant
11360         comparison at compile time, if so convert this insn to a no-op move
11361         and update/simplify the condition code user (undobuf.other_insn).
11362
11363 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
11364
11365         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
11366         (CLEAR_INSN_CACHE): Define.
11367
11368 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
11369
11370         * basic-block.h: Fix comment formatting.
11371         * c-common.c: Likewise.
11372         * c-common.h: Likewise.
11373         * c-lex.c: Likewise.
11374         * c-pretty-print.c: Likewise.
11375         * cfglayout.c: Likewise.
11376         * cfgloop.c: Likewise.
11377         * defaults.h: Likewise.
11378         * et-forest.c: Likewise.
11379         * explow.c: Likewise.
11380         * function.h: Likewise.
11381         * gcov.c: Likewise.
11382         * genattrtab.c: Likewise.
11383         * gengtype.c: Likewise.
11384         * ifcvt.c: Likewise.
11385         * libgcc2.c: Likewise.
11386         * loop.c: Likewise.
11387         * profile.c: Likewise.
11388         * ra-build.c: Likewise.
11389         * real.c: Likewise.
11390         * rtl.h: Likewise.
11391         * tracer.c: Likewise.
11392         * tree-inline.c: Likewise.
11393         * varasm.c: Likewise.
11394
11395 2002-09-08  Jan Hubicka  <jh@suse.cz>
11396
11397         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
11398         handling.
11399
11400         * loop.c (loop_givs_reduce):  Emit addition after.
11401
11402 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
11403
11404         * varasm.c (default_assemble_visibility): Rename from
11405         assemble_visibility.
11406         * output.h: Here too.
11407         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
11408         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
11409
11410 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
11411
11412         * reload.c (find_reloads <p constraint>): Pass operand_mode to
11413         find_reloads_address.
11414
11415 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
11416
11417         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
11418         (anonymous pattern): Likewise.
11419
11420 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11421
11422         * machmode.def: Add modes for half-float vectors.
11423
11424 2002-09-07  Scott Snyder  <snyder@fnal.gov>
11425
11426         PR target/7374
11427         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
11428
11429 2002-09-07  Roger Sayle  <roger@eyesopen.com>
11430
11431         * basic-block.h (struct loop): Remove unused cont_dominator field.
11432
11433 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11434
11435         * varasm.c (decode_rtx_const): Don't check undefined field for
11436         CONST_VECTOR.
11437
11438 2002-09-07  Glen Nakamura  <glen@imodulo.com>
11439
11440         PR opt/7814
11441         * sched-deps.c (sched_analyze_insn): Make sure to add insn
11442         to reg_last->sets after flushing the dependency lists to guarantee
11443         that subsequent clobbers will be dependent on it.
11444
11445 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11446
11447         * combine.c (simplify_shift_const): Calculate rotate count
11448         correctly for vector operands.
11449
11450 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
11451
11452         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
11453         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
11454         tree_expr_nonnegative_p.
11455         (build_conditional_expr): Likewise.
11456         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
11457
11458 2002-09-07  Richard Henderson  <rth@redhat.com>
11459
11460         * builtins.def (inf, inff, infl): Mark const.
11461         (huge_val, huge_valf, huge_vall): Likewise.
11462         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
11463
11464         * real.c (ereal_inf): Clear E before use.
11465
11466 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
11467
11468         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
11469         an expander and an anonymous pattern.  Zero out the upper half
11470         of the dividend in the expander.
11471         (udivmodqi4): Likewise.
11472
11473 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
11474
11475         * config/h8300/h8300.c: Fix formatting.
11476         * config/h8300/h8300.h: Likewise.
11477         * config/h8300/h8300.md: Likewise.
11478
11479 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11480
11481         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
11482         information.
11483
11484 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
11485
11486        * rtlanal.c (dead_or_set_regno_p): Fix typo.
11487
11488 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
11489
11490         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11491
11492         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
11493         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11494         (TARGET_ASM_OUT): Add the above here.
11495         * target.h (struct gcc_target): Add "visibility" field.
11496         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
11497         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
11498         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11499         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
11500
11501 2002-09-06  Ziemowit Laski <zlaski@apple.com>
11502
11503         * c-lang.c (objc_is_id): New stub.
11504         * c-tree.h (objc_is_id): New forward declaration.
11505         * c-typeck.c (build_c_cast): Do not strip protocol
11506         qualifiers from 'id' type.
11507         * objc/objc-act.c (objc_comptypes): Correct handling
11508         of protocol qualifiers.
11509         (objc_is_id): New.
11510
11511 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
11512
11513         * pentium.md (pentium-firstvboth): Fix typo.
11514
11515 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
11516
11517         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
11518         (enum shift_type, enum h8_cpu): Likewise.
11519         (INL, ROT, LOP, SPC macros): Likewise.
11520         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
11521         const designator.
11522         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
11523         space efficient algorithms when optimize for codesize.
11524
11525 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11526
11527         Fix PR/1727 and long-standing failing testcase
11528         objc/formal-protocol-6.m.
11529         * objc-act.c (build_protocol_expr): If compiling for the GNU
11530         runtime, create a list of Protocol statically allocated instances
11531         if it doesn't exist, then add the Protocol object to this same
11532         list.
11533         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
11534         instead of TREE_CHAIN.
11535
11536 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11537
11538         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
11539         10k.  Fixed category dumping - print out category names with the
11540         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
11541         interface.
11542         (finish_objc): Fixed the -gen-decls option.  It was printing out
11543         only the last class.  Dump an interface declaration of all classes
11544         being compiled instead.
11545
11546 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
11547
11548         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
11549         prototype.
11550         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
11551         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
11552         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
11553         rather than GEN_INT.
11554         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
11555         (return_addr_mask, *check_arch2): New.
11556
11557 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
11558
11559         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
11560         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
11561         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
11562         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
11563         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
11564         "adddf3", "*adddf3", "*adddf3_ibm",
11565         "addsf3", "*addsf3", "*addsf3_ibm",
11566         "muldi3", "mulsi3", "mulsidi3",
11567         "muldf3", "*muldf3", "*muldf3_ibm",
11568         "mulsf3", "*mulsf3", "*mulsf3_ibm",
11569         "*anddi3_cc", "*anddi3_cconly", "anddi3",
11570         "*andsi3_cc", "*andsi3_cconly", "andsi3",
11571         "*iordi3_cc", "*iordi3_cconly", "iordi3",
11572         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
11573         "*xordi3_cc", "*xordi3_cconly", "xordi3",
11574         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
11575         instead of "register_operand" as predicate for "%0" operand.
11576
11577 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
11578
11579         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
11580         unconditionally when gcc_cv_as_flags64 checks are gone.
11581         * configure: Rebuilt.
11582
11583 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
11584
11585         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
11586         2002-07-26 change.  Comment.
11587
11588 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11589
11590         * frv.c (frv_unique_section, frv_select_section,
11591         frv_select_rtx_section): Delete.
11592         (frv_in_small_data_p): New.
11593         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
11594         TARGET_ASM_SELECT_RTX_SECTION): Delete.
11595         (TARGET_IN_SMALL_DATA_P): Define.
11596
11597 2002-09-05  Dale Johannesen  <dalej@apple.com>
11598
11599         * reload1.c (reload):  Retain only those memory clobbers
11600         added for variable-array handling.
11601
11602 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11603
11604         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
11605         return-in-memory rules.
11606         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
11607
11608 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11609
11610         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
11611         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
11612
11613 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11614
11615         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
11616         not a compile-time constant for the non-IBM case.
11617         * config/arm/arm-protos.h (arm_float_words_big_endian): New
11618         prototype.
11619         * config/arm/arm.c (arm_float_words_big_endian): New function.
11620         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
11621         if TARGET_VFP  and not TARGET_HARD_FLOAT.
11622         (ARM_FLAG_VFP, TARGET_VFP): Define.
11623         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
11624
11625 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11626
11627         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
11628         URLs.  Fix AIX wording.
11629
11630 2002-09-05  Stan Shebs  <shebs@apple.com>
11631
11632         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
11633         -fPIC equivalent on Darwin.
11634
11635 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11636
11637         * sh.c (sh_expand_builtin): Return early if encountering an
11638         error_mark for a type.
11639
11640 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
11641
11642         * config/s390/s390.c (s390_expand_plus_operand): Do not require
11643         double-word scratch register.
11644         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
11645
11646         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
11647         "*cli"): Replace s_operand by memory_operand.
11648         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
11649
11650 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
11651
11652         * config/h8300/h8300.c (asm_file_start): Add a missing
11653         semicolon.
11654
11655 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11656
11657         * c-typeck.c (build_function_call): Remove unused variable(s).
11658         (build_c_cast): Likewise.
11659         * calls.c (rtx_for_function_call): Likewise.
11660         * cfglayout.c (duplicate_insn_chain): Likewise.
11661         * cfgloop.c (flow_loop_nodes_find): Likewise.
11662         * cfgrtl.c (split_edge): Likewise.
11663         * df.c (df_ref_create): Likewise.
11664         * except.c (expand_end_catch): Likewise.
11665         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11666         * function.c (emit_return_into_block): Likewise.
11667         (reposition_prologue_and_epilogue_notes): Likewise.
11668         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11669         * combine.c (subst_prev_insn, need_refresh): Remove.
11670         * dwarf2out.c (primary_filename): Remove.
11671         * final.c (new_block): Remove.
11672         * gcse.c (orig_bb_count): Remove.
11673
11674 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11675
11676         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11677         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11678         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
11679         directly instead of using a function pointer.
11680
11681 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
11682
11683         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11684         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11685         (ix86_output_addr_diff_elt) Likewise.
11686         (x86_output_mi_thunk) Likewise.
11687         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11688
11689 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11690
11691         * frv.c (frv_encode_section_info): Fix error in last change.
11692
11693 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11694
11695         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11696         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11697         (TARGET_BINDS_LOCAL_P): Define.
11698         (rs6000_override_options): Save original flag_pic value.
11699         (rs6000_elf_select_section): Call default_elf_select_section_1.
11700         (rs6000_elf_unique_section): Call default_unique_section_1.
11701         (rs6000_elf_in_small_data_p): New function.
11702         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11703         (rs6000_xcoff_select_section): Update based on defaults.
11704         (rs6000_xcoff_unique_section): Set to basic name if not common.
11705         (rs6000_binds_local_p): New function.
11706         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11707         targetm.have_srodata_section if SDATA_EABI.
11708         (TARGET_IN_SMALL_DATA_P): Define.
11709
11710 2002-09-04  Dale Johannesen  <dalej@apple.com>
11711
11712         * varasm.c (struct rtx_const, decode_rtx_const):
11713         Make veclo and vechi fields not share storage.
11714
11715 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11716
11717         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11718         for moving.
11719         (move_movables): Abort if we see the first insn of a libcall.
11720
11721 2002-09-04  Richard Henderson  <rth@redhat.com>
11722
11723         * builtin-types.def (BT_FN_FLOAT): New.
11724         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11725         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11726         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11727         * builtins.c (fold_builtin_inf): New.
11728         (fold_builtin): Call it.
11729         * real.c (ereal_inf): New.
11730         * real.h: Declare it.
11731         * doc/extend.texi: Document new builtins.
11732
11733 2002-09-04  Richard Henderson  <rth@redhat.com>
11734
11735         * cse.c (cse_insn): Avoid subreg games if the equivalence
11736         is already in the proper mode.
11737
11738 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11739
11740         PR c/7102
11741         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11742
11743 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11744
11745         * pa.md (setccfp0, setccfp1): New patterns.
11746
11747 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11748
11749         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11750         frv_select_section, frv_select_rtx_section,
11751         frv_encode_section_info, frv_unique_section): Delete.
11752         * frv.c: Update for target hooks.
11753         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11754         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11755         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11756
11757 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11758
11759         * ip2k-protos.h (function_prologue, function_epilogue,
11760         encode_section_info): Update to match target hook specification.
11761         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11762         (function_prologue, function_epilogue, encode_section_info):
11763         Update to match target hook specification.
11764         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11765         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11766         (NOTICE_UPDATE_CC): Cast to void.
11767         * ip2k.md: Add defaults in switch statements.
11768
11769 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11770
11771         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11772         issues.
11773
11774 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11775
11776         * config/sparc/t-netbsd64: Disable multilib for now.
11777
11778 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11779
11780         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11781         * target.h (gcc_target): Add have_srodata_section member.
11782         * varasm.c (section_category): Add SECCAT_SRODATA.
11783         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11784         READONLY_SDATA_SECTION defined.
11785         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11786         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11787         (default_unique_section_1): Likewise.
11788
11789 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11790
11791         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11792         into DImode pieces.
11793
11794         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11795         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11796         for floating-point register class.
11797         * pa.c (function_arg): Fix handling of modes wider than one word for
11798         TARGET_64BIT.
11799
11800 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11801
11802         * combine.c (make_compound_operation): Don't generate zero / sign
11803         extensions in floating point modes.
11804
11805 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11806
11807         * doc/c-tree.texi: Fix overfull hboxes.
11808         * doc/cppopts.texi: Ditto.
11809         * doc/extend.texi: Ditto.
11810         * doc/gty.texi: Ditto.
11811         * doc/invoke.texi: Ditto.
11812         * doc/makefile.texi: Ditto.
11813         * doc/rtl.texi: Ditto.
11814         * doc/standards.texi: Ditto.
11815         * doc/tm.texi: Ditto.
11816
11817 2002-09-04  Richard Henderson  <rth@redhat.com>
11818
11819         * c-common.c (builtin_define_with_hex_fp_value): New.
11820         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11821
11822 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11823
11824         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11825         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11826         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11827         Warn that these options can break ABI compatibility.
11828
11829 2002-09-04  Richard Henderson  <rth@redhat.com>
11830
11831         * real.c (ereal_to_decimal): Add digits parameter.
11832         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11833         * c-pretty-print.c (pp_c_real_literal): Update call.
11834         * print-rtl.c (print_rtx): Likewise.
11835         * print-tree.c (print_node_brief, print_node): Likewise.
11836         * sched-vis.c (print_value): Likewise.
11837         * config/arc/arc.c (arc_print_operand): Likewise.
11838         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11839         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11840         * config/i386/i386.c (print_operand): Likewise.
11841         * config/i960/i960.c (i960_print_operand): Likewise.
11842         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11843         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11844         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11845         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11846         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11847         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11848         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11849         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11850         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11851         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11852         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11853         * config/mips/mips.c (print_operand): Likewise.
11854         * config/ns32k/ns32k.c (print_operand): Likewise.
11855         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11856         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11857         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11858
11859 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11860
11861         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11862         xtensa_multibss_section_type_flags.
11863         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11864
11865 2002-09-04  Richard Henderson  <rth@redhat.com>
11866
11867         * doc/install-old.texi: Don't mention enquire.
11868         * doc/sourcebuild.texi: Update float.h description.
11869
11870 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11871
11872         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11873
11874 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11875
11876         * builtins.c (build_function_call_expr): Remove prototype, export
11877         as non-static and add a comment above function definition.
11878         (builtin_mathfn_code): New function to check for math builtins.
11879         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11880         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11881         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11882         log(sqrt(x)) as log(x)/2.0.
11883
11884         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11885         in new "builtins.c" section.  Place the build_range_type prototype
11886         with the other prototypes from "tree.c".
11887
11888         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11889         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11890         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11891         x/exp(y) as x*exp(-y).
11892
11893 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11894
11895         * varasm.c (default_section_type_flags): Append _1 to name with
11896         shlib parameter.  Use original name to call new function with
11897         implicit flag_pic.
11898         (decl_readonly_section): Likewise.
11899         (default_elf_select_section): Likewise.
11900         (default_unique_section): Likewise.
11901         (default_bind_local_p): Likewise.
11902         (categorize_decl_for_section): Add shlib parameter to use in place
11903         of implicit flag_pic.
11904         * output.h: Declare new functions with _1 and shlib argument.
11905
11906 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11907
11908         * doc/install.texi: Fix typos, formatting problems, and obvious
11909         overfull/underfull boxes.
11910
11911         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11912         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11913         include its file, compat.texi.
11914         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11915
11916 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11917
11918         Debian BTS Bug #157416
11919         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11920         * cpplib.c (destringize_and_run): Kludge around getting
11921         tokens from in-progress macros.
11922         (_cpp_do__Pragma): Simplify.
11923
11924 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11925
11926         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11927         (CPP_CPU_SPEC): Remove.
11928         (TARGET_CPU_CPP_BUILTINS): New.
11929         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11930         (CPP_SPEC): Remove.
11931         (TARGET_OS_CPP_BUILTINS): New.
11932         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11933         (TARGET_OS_CPP_BUILTINS): New.
11934         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11935         TARGET_OS_CPP_BUILTINS.
11936         (CPP_PREDEFINES): Remove.
11937         (CPLUSPLUS_CPP_SPEC): Remove.
11938         (TARGET_OS_CPP_BUILTINS): New.
11939
11940 2002-09-03  Richard Henderson  <rth@redhat.com>
11941
11942         * Makefile.in (USER_H): Add ginclude/float.h.
11943         (FLOAT_H): Remove.
11944         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11945         (mostlyclean): Don't remove float.h intermediate files.
11946         (distclean): Don't remove float.h.
11947         * config.gcc: Remove all float_format references.
11948         * configure.in (float_format, float_h_file): Remove.
11949
11950         * c-common.c: Include tree-inline.h.
11951         (builtin_define_with_int_value): New.
11952         (builtin_define_type_precision): Use it.
11953         (builtin_define_float_constants): New.
11954         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11955         __FLT_EVAL_METHOD__.
11956         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11957         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11958         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11959         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11960         (TARGET_FLT_EVAL_METHOD): New.
11961
11962         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11963         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11964         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11965         * ginclude/float.h: New.
11966
11967 2002-09-03  Stan Shebs  <shebs@apple.com>
11968
11969         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11970         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11971         (PREFERRED_DEBUGGING_TYPE): Ditto.
11972         (ASM_OUTPUT_IDENT): Remove empty definition.
11973
11974 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11975
11976         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11977         cxx_target.
11978         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11979         handling routine for builtin pragma.
11980         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11981         Registered pragma handling routine.
11982         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11983         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11984         If builtin pragma seen for math routine and C89 conformance is
11985         requested use different math function in order to set errno.
11986         * t-ia64 (ia64-c.o): Add new rule for new file.
11987
11988 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11989
11990         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11991         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11992         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11993
11994         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11995         "*movsf_ss"): Remove.
11996
11997 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11998
11999         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
12000         Delete macros.
12001
12002 2002-09-03   Arati Dikey  <aratid@kpit.com>
12003
12004         * h8300.c (asm_file_start): Corrected optimization comment.
12005
12006 2002-09-03  Stan Shebs  <shebs@apple.com>
12007
12008         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
12009         * c-tree.h (recognize_objc_keyword): Remove decl.
12010         * c-typeck.c (comp_target_types): Update a comment.
12011
12012 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
12013
12014         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
12015         and register validity checks.
12016         (general_s_operand): Adapt to s390_decompose_address interface change.
12017         (q_constraint): Likewise.
12018         (s390_expand_plus_operand): Likewise.
12019         (legitimiate_address_p): Likewise.
12020         (legitimate_la_operand_p): Likewise.
12021         (legitimize_la_operand): Likewise.
12022         (print_operand_address): Likewise.
12023         (print_operand): Likewise.
12024
12025 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12026
12027         PR objc/5956:
12028         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
12029         was causing the new selector never to match the existing ones
12030         (Patch by Alexander Malmberg <alexander@malmberg.org>).
12031
12032 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
12033
12034         * config/i386/i386.md ("femms"): Add "memory" attr "none".
12035
12036 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
12037
12038         * expr.c (expand_expr): Remove extraneous comment and code.
12039
12040 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
12041
12042         * stor-layout (finish_builtin_struct): Renamed and moved from c++
12043         frontend. Take chain of fields. Allow NULL alignment type.
12044         * tree.h (finish_builtin_struct): Declare.
12045
12046 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12047
12048         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
12049         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
12050         config/arc/arc.c config/arc/arc.h config/arm/aout.h
12051         config/arm/arm.c config/arm/arm.h config/arm/arm.md
12052         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
12053         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
12054         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
12055         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
12056         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
12057         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
12058         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
12059         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
12060         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
12061         config/pa/pa.h config/pa/pa.md config/romp/romp.h
12062         config/rs6000/linux64.h config/rs6000/lynx.h
12063         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
12064         config/s390/s390.c config/s390/s390.md config/sh/sh.c
12065         config/sparc/sparc.c config/sparc/sysv4.h
12066         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
12067         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
12068         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
12069
12070         * doc/tm.texi: Update docs.
12071         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
12072         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
12073
12074 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12075
12076         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
12077         * arc.c (arc_internal_label): New function.
12078         (TARGET_ASM_INTERNAL_LABEL): Set.
12079         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12080         * arm.c (arm_internal_label): New function.
12081         (TARGET_ASM_INTERNAL_LABEL): Set.
12082         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12083         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12084         * i370.c (i370_internal_label): New function.
12085         (TARGET_ASM_INTERNAL_LABEL): Set.
12086         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12087         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12088         * m68k.c (m68k_hp320_internal_label): New function.
12089         (TARGET_ASM_INTERNAL_LABEL): Set.
12090         * m88k.c (m88k_internal_label): New function.
12091         (TARGET_ASM_INTERNAL_LABEL): Set.
12092         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12093         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
12094         * genoutput.c (output_prologue): Include target.h in output file.
12095         * output.h (default_internal_label): Declare.
12096         * sdbout.c: Include target.h.
12097         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
12098         TARGET_ASM_OUT.
12099         * target.h (internal_label): Add to struct gcc_target.
12100         * varasm.c (default_internal_label): New function.
12101
12102 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12103
12104         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12105         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12106         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12107         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12108         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12109         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12110         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12111         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12112         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12113         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12114         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12115         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12116         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12117         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12118         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12119         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12120         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12121         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12122         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12123         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12124         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12125         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12126         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12127         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12128         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12129         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
12130         * mmix.c (mmix_asm_output_internal_label): Likewise.
12131         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12132         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12133         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12134         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12135         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12136         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12137         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12138         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12139         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12140         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12141         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12142         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12143         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12144         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12145         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12146         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12147         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12148         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12149         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12150
12151         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
12152
12153 2002-08-31  Richard Henderson  <rth@redhat.com>
12154
12155         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
12156
12157 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12158
12159         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
12160
12161 2002-08-30  Richard Henderson  <rth@redhat.com>
12162
12163         PR opt/7515
12164         * c-objc-common.c: Include target.h.
12165         (c_cannot_inline_tree_fn): Don't auto-inline functions that
12166         don't bind locally.  Factor setting DECL_UNINLINABLE.
12167         * Makefile.in (c-objc-common.o): Update.
12168
12169 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
12170
12171         * doc/install.texi (Configuration, Building): Fix a typo and
12172         some formatting directives.
12173
12174 2002-08-30  Paul Koning <pkoning@equallogic.com>
12175
12176         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
12177         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
12178         implemented" note.
12179         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
12180         for alphabetic order.
12181         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
12182         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
12183         (VAX_HALFWORD_ORDER): Document.
12184         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
12185         IEEE float format.
12186         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
12187         (ASM_OUTPUT_LABEL_REF): Fix font.
12188         (CASE_VECTOR_SHORTEN_MODE): Ditto.
12189
12190 2002-08-30  Denis Chertykov  <denisc@overta.ru>
12191
12192         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
12193         stuff.
12194         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
12195         CONST_DOUBLE constants.
12196
12197 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
12198
12199         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
12200         related defines to...
12201         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
12202         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
12203         as a no-op.
12204
12205 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
12206
12207         * config/arm/arm.c (arm_asm_output_labelref): New function.
12208         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
12209         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
12210
12211 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
12212
12213         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
12214         memory exhausted" workarounds.
12215
12216 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12217
12218         * diagnostic.c (fancy_abort): Don't repeat "internal error".
12219         * toplev.c (crash_signal): Likewise.
12220
12221 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12222
12223         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
12224         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
12225         Extended, updated documentation.
12226         (-Wundeclared-selector): Documented.
12227
12228 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
12229
12230         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
12231         the value 1.  Do not undef before defining.
12232         * config/darwin.h: Likewise.
12233         * config/dbx.h: Likewise.
12234         * config/dbxcoff.h: Likewise.
12235         * config/dbxelf.h: Likewise.
12236         * config/elfos.h: Likewise.
12237         * config/interix.h: Likewise.
12238         * config/lynx-ng.h: Likewise.
12239         * config/lynx.h: Likewise.
12240         * config/netware.h: Likewise.
12241         * config/psos.h: Likewise.
12242         * config/svr3.h: Likewise.
12243         * config/alpha/alpha.h: Likewise.
12244         * config/alpha/elf.h: Likewise.
12245         * config/alpha/vms.h: Likewise.
12246         * config/arc/arc.h: Likewise.
12247         * config/arm/aout.h: Likewise.
12248         * config/arm/coff.h: Likewise.
12249         * config/c4x/c4x.h: Likewise.
12250         * config/h8300/h8300.h: Likewise.
12251         * config/i386/cygwin.h: Likewise.
12252         * config/i386/djgpp.h: Likewise.
12253         * config/i386/gas.h: Likewise.
12254         * config/i386/gstabs.h: Likewise.
12255         * config/i386/i386-coff.h: Likewise.
12256         * config/i386/i386-interix.h: Likewise.
12257         * config/i386/sco5.h: Likewise.
12258         * config/i386/svr3dbx.h: Likewise.
12259         * config/i386/sysv3.h: Likewise.
12260         * config/i386/win32.h: Likewise.
12261         * config/i386/x86-64.h: Likewise.
12262         * config/i960/i960.h: Likewise.
12263         * config/ia64/ia64.h: Likewise.
12264         * config/ip2k/ip2k.h: Likewise.
12265         * config/m32r/m32r.h: Likewise.
12266         * config/m68k/3b1.h: Likewise.
12267         * config/m68k/3b1g.h: Likewise.
12268         * config/m68k/ccur-GAS.h: Likewise.
12269         * config/m68k/coff.h: Likewise.
12270         * config/m68k/hp2bsd.h: Likewise.
12271         * config/m68k/hp310g.h: Likewise.
12272         * config/m68k/hp320g.h: Likewise.
12273         * config/m68k/hp3bsd.h: Likewise.
12274         * config/m68k/hp3bsd44.h: Likewise.
12275         * config/m68k/linux-aout.h: Likewise.
12276         * config/m68k/m68k-aout.h: Likewise.
12277         * config/m68k/mot3300.h: Likewise.
12278         * config/m68k/netbsd.h: Likewise.
12279         * config/m68k/openbsd.h: Likewise.
12280         * config/m68k/pbb.h: Likewise.
12281         * config/m68k/plexus.h: Likewise.
12282         * config/m68k/sun2.h: Likewise.
12283         * config/m68k/sun3.h: Likewise.
12284         * config/m68k/tower-as.h: Likewise.
12285         * config/m68k/vxm68k.h: Likewise.
12286         * config/m88k/aout-dbx.h: Likewise.
12287         * config/m88k/m88k-aout.h: Likewise.
12288         * config/mcore/mcore-elf.h: Likewise.
12289         * config/mcore/mcore-pe.h: Likewise.
12290         * config/mips/elf.h: Likewise.
12291         * config/mips/elf64.h: Likewise.
12292         * config/mips/iris5gas.h: Likewise.
12293         * config/mips/iris6.h: Likewise.
12294         * config/mips/mips.h: Likewise.
12295         * config/mips/sni-gas.h: Likewise.
12296         * config/mmix/mmix.h: Likewise.
12297         * config/ns32k/netbsd.h: Likewise.
12298         * config/pa/pa64-hpux.h: Likewise.
12299         * config/romp/romp.h: Likewise.
12300         * config/rs6000/sysv4.h: Likewise.
12301         * config/rs6000/xcoff.h: Likewise.
12302         * config/sh/coff.h: Likewise.
12303         * config/sh/elf.h: Likewise.
12304         * config/sparc/linux64.h: Likewise.
12305         * config/sparc/liteelf.h: Likewise.
12306         * config/sparc/netbsd.h: Likewise.
12307         * config/sparc/openbsd.h: Likewise.
12308         * config/sparc/pbd.h: Likewise.
12309         * config/sparc/sp64-elf.h: Likewise.
12310         * config/sparc/sp86x-elf.h: Likewise.
12311         * config/sparc/sparc.h: Likewise.
12312         * config/vax/vax.h: Likewise.
12313         * config/vax/vaxv.h: Likewise.
12314
12315 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
12316
12317         * h8300.c (shift_alg_hi): Various tweaks to improve performance
12318         of HImode shifts.
12319         (get_shift_alg): Corresponding changes.
12320
12321 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12322
12323         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
12324
12325 2002-08-29  Richard Henderson  <rth@redhat.com>
12326
12327         * expr.h (enum block_op_methods): New.
12328         (emit_block_move): Update prototype.
12329         * expr.c (block_move_libcall_safe_for_call_parm): New.
12330         (emit_block_move_via_loop): New.
12331         (emit_block_move): Use them.  New argument METHOD.
12332         (emit_push_insn): Always respect the given alignment.
12333         (expand_assignment): Update call to emit_block_move.
12334         (store_expr, store_field, expand_expr): Likewise.
12335         * builtins.c (expand_builtin_apply): Likewise.
12336         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
12337         * function.c (expand_function_end): Likewise.
12338         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
12339         * config/sparc/sparc.c (sparc_va_arg): Likewise.
12340         * calls.c (expand_call, emit_library_call_value_1): Likewise.
12341         (save_fixed_argument_area): Use emit_block_move with
12342         BLOCK_OP_CALL_PARM instead of move_by_pieces.
12343         (restore_fixed_argument_area): Likewise.
12344         (store_one_arg): Fix alignment parameter to emit_push_insn.
12345
12346 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12347
12348         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
12349
12350 2002-08-29  Catherine Moore  <clm@redhat.com>
12351
12352         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
12353         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
12354         (PREDICATE_CODES): Include new predicates.
12355         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
12356         (TARGET_SWITCHES):  Add strict-align.
12357         (TARGET_STRICT_ALIGN): New.
12358         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
12359         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
12360         Define.
12361         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
12362         v850_muldi3.
12363         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
12364         L_callt_save_r2_r31, L_return_r2_r31,
12365         L_save_all_interrupt): Change addi to add.
12366         (L_save_interrupt, L_return_interrupt): Rework.
12367         (__return_r31):  Correct .size directive.
12368         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
12369         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
12370         New routines.
12371         * config/v850/v850.c (expand_prologue): Call
12372         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
12373         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
12374         (reg_or_int9_operand): New predicate.
12375         (reg_or_const_operand): New routine.
12376         * config/v850/v850.md (return_interrupt): Changed from
12377         restore_interrupt.
12378         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
12379         (callt_save_interrupt): Change save sequence.
12380         (callt_return_interrupt): New.
12381         (save_interrupt): Don't use runtime function for LONG_CALLS
12382         and TARGET_PROLOG_FUNCTION.
12383         (save_all_interrupt): Likewise.
12384         (mulsi3): Use new predicate.
12385         (moviscc): Disallow some combination of constants.
12386         Fix define_split for sasf insns, so that it will not generate bad
12387         code if operand0 and operand5 are the same.
12388         * config/v850/v850-protos.h: Prototype new predicates.
12389
12390 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
12391
12392         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
12393         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
12394
12395 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12396
12397         * c-common.c (builtin_define_type_precision): New function.
12398         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
12399         wchar_t is unsigned in C++.
12400         * doc/cpp.texi (Common Predefined Macros): Document
12401         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
12402         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12403         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12404
12405 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
12406
12407         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
12408         section.  Mention that it is enabled by -Wall.
12409         (-Wall): Mention that there can be language-specific warnings as well.
12410         (-Wctor-dtor-privacy): Mention that it is enabled by default.
12411         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
12412
12413 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
12414
12415         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
12416         if it is ever live.
12417
12418         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
12419         attribute for SHCOMPACT.
12420
12421         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
12422         appropriately.
12423         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
12424         by the ABI.
12425
12426         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
12427
12428 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
12429
12430         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
12431         "MASK_GAS|MASK_ABICALLS".
12432         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
12433         (TARGET_DEFAULT): Remove.
12434         (MACHINE_TYPE): Undefine before defining.
12435         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
12436
12437 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
12438
12439         * c-common.c (warn_abi): New variable.
12440         * c-common.h (warn_abi): Likewise.
12441         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
12442         (c_common_decode_option): Handle it.
12443         * doc/invoke.texi: Document -Wabi.
12444
12445 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12446
12447         * c-common.c (warn_undeclared_selector): New variable.
12448         * c-common.h (warn_undeclared_selector): Idem.
12449         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
12450         to on when -Wundeclared-selector is found.
12451         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
12452         * objc/objc-act.c (build_selector_expr): If
12453         warn_undeclared_selector is set, check that the selector has
12454         already been defined, and emit a warning if not.
12455
12456 2002-08-27  Nick Clifton  <nickc@redhat.com>
12457             Catherine Moore  <clm@redhat.com>
12458             Jim Wilson  <wilson@cygnus.com>
12459
12460         * config.gcc: Add v850e-*-* target.
12461         Add --with-cpu= support for v850.
12462         * config/v850/lib1funcs.asm: Add v850e callt functions.
12463         * config/v850/v850.h: Add support for v850e target.
12464         * config/v850/v850.c: Add functions to support v850e target.
12465         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
12466         * config/v850/v850.md: Add patterns for v850e instructions.
12467         * doc/invoke.texi: Document new v850e command line switches.
12468
12469 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
12470                           Aldy Hernandez <aldyh at redhat dot com>
12471
12472         * doc/tm.texi: Applied numerous fixes to the automaton based
12473         scheduler descrition.
12474
12475 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
12476
12477         * i386.c (classify_argument): Handle variable sized objects.
12478
12479 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12480
12481         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
12482
12483 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
12484
12485         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
12486
12487 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
12488
12489         * i386.c (classify_argument): Properly compute word size of the analyzed object.
12490
12491 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
12492
12493         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
12494         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
12495         accordingly.
12496         (attribute insn_class): Provide default definitions based on type.
12497         Remove all insn-specific settings.
12498         (various function units): Remove old SH4 scheduling.
12499         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
12500         New attributes.  Set them where appropriate.
12501         (cpu unit FS): Don't define / use.
12502         (F3, load_store): New cpu units.
12503         (F01): New reservation.
12504         (all insn_reservations): Make dependent on sh4 pipeline model.
12505         Fix latencies.
12506         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
12507         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
12508         (mt insn_reservation): Use type mt_group.
12509         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
12510         sh4_fload and sh4_store.
12511         (insn_reservation branch_zero and branch): Replace with sh4_branch.
12512         (insn_reservation branch_far): Replace with sh4_return.
12513         (insn_reservation return_from_exp): Rename to:
12514         (sh4_return_from_exp).  Change to be just d_lock*5.
12515         (insn_reservation lds_to_pr): Rename to:
12516         (sh4_lds_to_pr).  Change to be just d_lock*2.
12517         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
12518         d_lock*2.
12519         (insn_reservation prload_mem): Rename to:
12520         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
12521         (insn_reservation fpscr_store): Rename to:
12522         (fpscr_load).  Change to d_lock,nothing,F1*3.
12523         (insn_reservation fpscr_store_mem): Rename to:
12524         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
12525         (insn_reservation multi): Change to
12526         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
12527         (insn_reservation fp_arith): Change to issue,F01,F2.
12528         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
12529         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
12530         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
12531         (insn_reservation fp_double_cmp): Change to
12532         d_lock,(d_lock+F01),F1+F2,F2.
12533         (insn_reservation dp_div): Change to
12534         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
12535         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
12536         (sh_adjust_cost, SHcompact): Differentiate between different
12537         kinds of dependencies.  Drop factor of ten for superscalar.
12538         Use new instruction types.  Add new exception rules.
12539
12540         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
12541
12542         * sh.md (mperm_w): Add DONE.
12543
12544 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
12545
12546         * longlong.h: Import current PowerPC defintion from GMP-4.1.
12547
12548         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
12549
12550         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
12551
12552 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12553
12554         * sh.h (MAX_FIXED_MODE_SIZE): Define.
12555
12556 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
12557
12558         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
12559         delimiter.
12560
12561 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12562
12563         * c-common.c (cpp_define_data_format): New function.
12564         (cb_register_builtins): Call it.
12565
12566         * doc/cpp.texi (Common Predefined Macros): Document
12567         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12568         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12569         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
12570         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
12571         __TARGET_USES_VAX_H_FLOAT__.
12572
12573 2002-08-26  Ziemowit Laski <zlaski@apple.com>
12574
12575         * objc/objc-act.c (get_super_receiver): If inside a class method
12576         of a category, cast the receiver to 'id' before accessing the 'isa'
12577         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
12578
12579 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
12580
12581         * config/s390/s390-protos.h (s390_function_prologue,
12582         s390_function_epilogue): Remove.
12583         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
12584         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
12585
12586         config/s390/s390.c (s390_machine_dependent_recorg): New function.
12587         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
12588         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
12589         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
12590         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
12591
12592         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
12593         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
12594         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
12595         function is not a leaf function.  Use save_gprs and restore_gprs.
12596         (s390_emit_epilogue): Likewise.
12597         (save_gprs, restore_gprs): New functions.
12598         (struct s390_frame): Remove return_reg_saved_p member.
12599         (save_fprs_p): Remove.
12600         (s390_optimize_prolog): New function.
12601         (s390_legitimate_reload_constant): Remove now unnecessary check.
12602
12603         (s390_function_count): Remove.
12604         (s390_output_symbolic_const): Replace s390_function_count by
12605         current_function_funcdef_no.
12606         (s390_output_constant_pool): Likewise.
12607
12608         (legitimize_pic_address): Use regs_ever_live to track PIC register
12609         instead of current_function_uses_pic_offset_table.
12610         (s390_emit_prologue): Likewise.
12611         config/s390/s390.md ("call", "call_value"): Likewise.
12612
12613 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
12614
12615         * c-opts.c (find_opt): Don't complain about wrong languages
12616         here.  Return exact matches even for wrong language.
12617         (c_common_decode_option): Complain about wrong languages
12618         here.
12619
12620 2002-08-24  Stuart Hastings  <stuart@apple.com>
12621
12622         * function.h (struct function): Add flag
12623         all_throwers_are_sibcalls.
12624         * except.c (set_nothrow_function_flags): Replaces
12625         nothrow_function_p. Set new flag.
12626         * except.h (set_nothrow_function_flags): Replaces
12627         nothrow_function_p.
12628         * dwarf2out.c (struct dw_fde_struct): Add flag
12629         all_throwers_are_sibcalls.
12630         (output_call_frame_info): Test it.
12631         (dwarf2out_begin_prologue) Propagate it from cfun to
12632         dw_fde_struct.
12633         * toplev.c (rest_of_compilation): Update calls to
12634         nothrow_function_p.
12635
12636 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
12637
12638         * ggc-page.c (compute_inverse): Short circuit calculation for
12639         object sizes larger than half a page.
12640
12641 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
12642
12643         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
12644         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
12645         default.
12646         (rs6000_elf_unique_section): Likewise.
12647
12648 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12649
12650         * ns32k.c (ns32k_globalize_label): Delete.
12651         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12652
12653 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
12654
12655         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12656         for loading delta with num_insns_constant_wide.  Calculate
12657         delta_low, delta_high without using a conditional.
12658
12659 2002-08-22  Jason Merrill  <jason@redhat.com>
12660
12661         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12662         * c-common.def: Adjust.
12663         * c-dump.c (c_dump_tree): Adjust.
12664         * c-semantics.c (genrtl_return_stmt): Adjust.
12665         * c-pretty-print.c (pp_c_statement): Adjust.
12666         * tree-inline.c (copy_body_r): Adjust.
12667
12668 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
12669
12670         * ggc-page.c: Avoid division in ggc_set_mark.
12671         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12672         compute_inverse): New.
12673         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12674         (init_ggc): Initialize inverse_table.
12675
12676 2002-08-22  Tom Tromey  <tromey@redhat.com>
12677
12678         * doc/install.texi (Configuration): Document --datadir.
12679
12680 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
12681
12682         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12683
12684 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
12685
12686         * gengtype-lex.l (ID): Allow underscore as first character.
12687
12688 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
12689
12690         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12691         function.
12692         (rs6000_xcoff_asm_named_section): Rename.
12693         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12694
12695 2002-08-21  Tom Tromey  <tromey@redhat.com>
12696
12697         For PR java/6005 and PR java/7611:
12698         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12699         (fold): Likewise.
12700         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12701         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12702         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12703         (LANG_HOOKS_INITIALIZER): Use it.
12704         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12705         field.
12706
12707 2002-08-21  Stan Shebs  <shebs@apple.com>
12708
12709         * tree.c (finish_vector_type): Fix a typo in a comment.
12710         * Makefile.in: Fix "the the" stutters in comments.
12711         * genautomata.c: Ditto.
12712         * ifcvt.c: Ditto.
12713         * regrename.c: Ditto.
12714         * config/alpha/alpha.c: Ditto.
12715         * config/alpha/vms-crt0-64.c: Ditto.
12716         * config/alpha/vms-crt0.c: Ditto.
12717         * config/alpha/vms-psxcrt0-64.c: Ditto.
12718         * config/alpha/vms-psxcrt0.c: Ditto.
12719         * config/d30v/d30v.h: Ditto.
12720         * config/fr30/fr30.h: Ditto.
12721         * config/rs6000/rs6000.c: Ditto.
12722         * config/stormy16/stormy16.h: Ditto.
12723         * doc/md.texi: Ditto.
12724
12725 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12726
12727         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12728
12729 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12730
12731         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12732         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12733         Also make duplicate modifiers such as "short short" into hard
12734         errors.
12735
12736 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12737             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12738
12739         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12740         to the actual end.  Add '@end table' and '@table @code'.
12741
12742 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12743
12744         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12745
12746         * unroll.c (biv_total_increment): Don't try to compute the total
12747         increment for FP BIVs.
12748
12749 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12750
12751         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12752         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12753         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12754         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12755         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12756         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12757         (GLOBAL_ASM_OP): Define.
12758         * arm.c (aof_globalize_label): New function.
12759         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12760         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12761         * c4x.c (c4x_globalize_label): New function.
12762         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12763         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12764         (GLOBAL_ASM_OP): Define.
12765         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12766         * darwin-protos.h (darwin_globalize_label): Declare.
12767         * darwin.c (darwin_globalize_label): New function.
12768         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12769         (ASM_GLOBALIZE_LABEL): Delete.
12770         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12771         * dsp16xx.c (asm_output_common): Use target hook.
12772         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12773         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12774         (GLOBAL_ASM_OP): Define.
12775         * i370.c (i370_globalize_label): New function.
12776         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12777         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12778         * i386.c (ix86_asm_file_end): Use target hook.
12779         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12780         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12781         * ia64.c (ia64_asm_output_external): Likewise.
12782         * ia64/sysv4.h: Update comment.
12783         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12784         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12785         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12786         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12787         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12788         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12789         * mmix.c (mmix_asm_globalize_label): Likewise.
12790         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12791         (GLOBAL_ASM_OP): Define.
12792         * ns32k.c (ns32k_globalize_label): New function.
12793         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12794         (ASM_GLOBALIZE_LABEL): Delete.
12795         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12796         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12797         * pa.c (pa_globalize_label): New function.
12798         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12799         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12800         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12801         (GLOBAL_ASM_OP): Define.
12802         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12803         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12804         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12805         (GLOBAL_ASM_OP): Define.
12806         * v850.c (v850_output_aligned_bss): Use target hook.
12807         * vax.c (vms_globalize_label): New function.
12808         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12809         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12810         (GLOBAL_ASM_OP): Define.
12811         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12812         * doc/tm.texi: Update docs.
12813         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12814         target hook.
12815         * final.c (output_alternate_entry_point): Likewise.
12816         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12817         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12818         * output.h (assemble_global): Delete.
12819         (default_globalize_label): Declare.
12820         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12821         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12822         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12823         * target.h (gcc_target): Add globalize_label member.
12824         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12825         globalize_decl): Use target hook.
12826         (assemble_global): Delete.
12827         (default_globalize_label): New function.
12828
12829 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12830
12831         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12832
12833 2002-08-20  Devang Patel  <dpatel@apple.com>
12834         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12835
12836 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12837
12838         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12839         * arm.c (thumb_output_function_prologue): Likewise.
12840         * avr.c (print_operand): Likewise.
12841         * c4x.c (c4x_print_operand): Likewise.
12842         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12843         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12844         * cris.c (cris_target_asm_function_prologue,
12845         cris_asm_output_mi_thunk): Likewise.
12846         * h8300.c (print_operand): Likewise.
12847         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12848         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12849         * m68hc11.c (asm_print_register, print_operand,
12850         print_operand_address): Use stdio instead of asm_fprintf.
12851         (print_operand_address): Fix format specifier.
12852         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12853         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12854         asm_fprintf.
12855         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12856         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12857         * m68k.c (m68k_output_function_prologue,
12858         m68k_output_function_epilogue, print_operand): Likewise.
12859         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12860         Likewise.  Fix format specifier.
12861         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12862         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12863         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12864
12865 2002-08-15  Eric Christopher  <echristo@redhat.com>
12866             Jeff Knaggs  <jknaggs@redhat.com>
12867
12868         * config.gcc (mipsisa64sr71k-elf): New target.
12869         * config/mips/sr71k.md: New file.
12870         * config/mips/mips.md: Use it.
12871         (rot*): Add sr71k specifics.
12872         * config/mips/t-sr71k: New file.
12873         * config/mips/mips.h (sr71k): New cpu.
12874         (TARGET_SR71K): Use it.
12875         (TUNE_SR71K): Ditto.
12876         (GENERATE_BRANCHLIKELY): Ditto.
12877         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12878         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12879         * config/mips/mips.c (sr71k): New cpu.
12880         (mips_use_dfa_pipeline_interface): Use.
12881
12882 2002-08-15  Eric Christopher  <echristo@redhat.com>
12883             Richard Sandiford <rsandifo@redhat.com>
12884             Aldy Hernandez  <aldyh@redhat.com>
12885             Graham Stott    <grahams@redhat.com>
12886             Michael Meissner  <meissner@redhat.com>
12887             Gavin Romig-Koch  <gavin@redhat.com>
12888             Ken Raeburn  <raeburn@cygnus.com>
12889             Alexandre Oliva <aoliva@redhat.com>
12890
12891         * config.gcc (mips64vr-elf): New target.
12892         * config/mips/5400.md: New file.
12893         * config/mips/5500.md: Ditto.
12894         * config/mips/mips.md: Use them.
12895         (frsqrt): New.
12896         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12897         cpus.
12898         (mips_issue_rate): Use them.
12899         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12900         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12901         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12902         cpus.
12903         (TARGET_MIPSx): Use them.
12904         (TUNE_MIPSx): Ditto.
12905         (GETNATE_MULT3_SI): Ditto.
12906         (ISA_HAS_BRANCHLIKELY): Ditto.
12907         (ISA_HAS_CONDMOVE): Ditto.
12908         (ISA_HAS_NMADD_NMSUB): Ditto.
12909         (ISA_HAS_MULHI): New. Ditto.
12910         (ISA_HAS_MULS): Ditto.
12911         (ISA_HAS_MSAC): Ditto.
12912         (ISA_HAS_MACC): Ditto.
12913         (ISA_HAS_ROTR_SI): Ditto.
12914         (ISA_HAS_ROTR_DI): Ditto.
12915         (RTX_COSTS): Use.
12916
12917 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12918
12919         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12920         at head.
12921         (remove_dup_nonsys_dirs): New function.
12922         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12923         (merge_include_chains): Remove non-system include directories from
12924         quote and bracket include chains when they duplicate equivalent system
12925         directories.
12926         * doc/cpp.texi (-I): Update.
12927         * doc/cppopts.texi (-I): Update.
12928         * doc/install.texi (--with-local-prefix): Further document usage of
12929         this option.
12930         * doc/invoke.texi (-I): Update.
12931
12932 2002-08-20  Richard Henderson  <rth@redhat.com>
12933
12934         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12935         (emit_block_move): Split out subroutines.
12936         (emit_block_move_via_movstr): New.
12937         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12938         (emit_block_move_libcall_fn): New.  Construct function prototype for
12939         bcopy as well.
12940         (clear_storage): Split out subroutines.
12941         (clear_storage_via_clrstr): New.
12942         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12943         (clear_storage_libcall_fn): New.  Construct function prototype for
12944         bzero as well.
12945         (emit_push_insn): Use emit_block_move.
12946         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12947         (store_constructor): Likewise.
12948
12949 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12950
12951         * objc/objc-act.c (building_objc_message_expr): Rename to
12952         current_objc_message_selector.
12953
12954 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12955
12956         * objc/objc-act.c (build_ivar_chain): Remove.
12957         (objc_copy_list): Likewise.
12958         (get_class_ivars): Inline call to removed build_ivar_chain
12959         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12960         slot; use that slot (rather than CLASS_IVARS) when accessing
12961         ivars for base classes.  Call copy_list and chainon instead of
12962         objc_copy_list.
12963         (build_private_template): Call get_class_ivars instead of
12964         build_ivar_chain.
12965         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12966         (continue_class): Call get_class_ivars instead of
12967         build_ivar_chain.
12968         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12969         of DECL_BIT_FIELD (which may have been cleared).
12970         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12971
12972 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12973
12974         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12975         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12976         in output file.
12977         (output_internal_min_issue_delay_func): Initialize variable in
12978         output file.
12979
12980 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12981
12982         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12983         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12984
12985 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12986             Steve Ellcey  <sje@cup.hp.com>
12987
12988         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12989         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12990         * explow.c (trunc_int_for_mode): Abort when the mode is not
12991         a scaler integer mode.
12992         * combine.c (expand_compound_operation): Don't expand Vector
12993         or Complex modes into shifts.
12994         (expand_field_assignment): Don't do bitwise arithmatic and
12995         shifts on Vector or Complex modes.
12996         (simplify_comparison): Don't call trunc_int_for_mode
12997         for VOIDmode.
12998         * recog.c (general_operand): Likewise.
12999         (immediate_operand): Likewise.
13000         (nonmemory_operand): Likewise.
13001
13002 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
13003
13004         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
13005         multi-instruction SImode constant.  Add REG_EQUAL note.
13006         * config/rs6000/rs6000.md (movsi splitter): Use
13007         rs6000_emit_set_const.
13008
13009 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13010
13011         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
13012         the macro test controlling its use.
13013
13014 2002-08-18  H.J. Lu  (hjl@gnu.org)
13015
13016         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
13017         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
13018         gnu_ld=yes.
13019         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
13020         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
13021         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
13022         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
13023         here.
13024         (cris-*-linux*): Remove setting thread_file here.
13025
13026 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
13027
13028         PR preprocessor/7602
13029         * cppinit.c (path_include): Treat the system environment
13030         variables as being cxx_aware.
13031
13032 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
13033
13034         * c-decl.c (flexible_array_type_p): New function.
13035         (grokdeclarator, finish_struct): Use it.
13036         * doc/extend.texi: Document constraints on use of structures with
13037         flexible array members.
13038
13039 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
13040
13041         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
13042         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
13043         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
13044
13045 2002-08-16  Stan Shebs  <shebs@apple.com>
13046
13047         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
13048         for ObjC with -fnext-runtime.
13049         * doc/cpp.texi: Document it.
13050
13051 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
13052
13053         * doc/install.texi (Final installation): Replace links to individual
13054         build status pages with a link to a common page that lists them all.
13055
13056 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
13057
13058         * doc/invoke.texi: Fix typo.
13059
13060 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
13061
13062         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
13063
13064 2002-08-16  Andrew Haley  <aph@redhat.com>
13065
13066         * tree-inline.c: Add includes for Java inliner.
13067         (remap_decl): Don't handle anonymous types for Java.
13068         (remap_block): Add handling for Java trees.
13069         (copy_scope_stmt): Conditionalize for non-Java use only.
13070         (copy_body_r): Handle Java trees.  Add handling for
13071         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
13072         (initialize_inlined_parameters):  Handle Java trees.
13073         (declare_return_variable): Likewise.
13074         (expand_call_inline): Handle Java trees.
13075         (walk_tree): Likewise.
13076         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
13077         (add_stmt_to_compound): New function.
13078
13079 2002-08-15  Richard Henderson  <rth@redhat.com>
13080
13081         * Makefile.in (LOOSE_WARN): Remove -fno-common.
13082         (NOCOMMON_FLAG): New substitution point.
13083         (GCC_WARN_CFLAGS): Include it.
13084         * configure.in (ac_checking): Set nocommon_flag.
13085         (nocommon_flag): New substitution point.
13086
13087 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
13088
13089         * c-tree.h (skip_evaluation): Move declaration...
13090         * c-common.h: ... here.
13091         * c-typeck.c (build_external_ref): Don't assemble_external nor
13092         mark a tree as used if skip_evaluation is set.
13093         * c-parse.in (typeof): New non-terminal to set skip_evaluation
13094         around TYPEOF.
13095         (typespec_nonreserved_nonattr): Use it.
13096
13097 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
13098
13099         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
13100         (xcoff_debug_hooks): Update end_prologue.
13101         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
13102         * debug.h (end_prologue): Add file arg.
13103         (end_epilogue): Add line and file args.
13104         (dwarf2out_end_epilogue): Add line and file args.
13105         (vmsdbgout_after_prologue): Remove.
13106         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
13107         (dwarf2_debug_hooks): Update end_prologue.
13108         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
13109         (dwarfout_end_prologue): Add file arg.
13110         * final.c (vmsdbgout_after_prologue): Remove
13111         (final_end_function): Update end_epilogue call.
13112         (final_scan_insn): Update end_prologue call.
13113         * sdbout.c (sdbout_end_epilogue): Add line and file args.
13114         (sdbout_end_prologue): Add file arg.
13115         (sdb_debug_hooks): Update end_prologue.
13116         (sdb_begin_prologue): Update sdbout_end_prologue call.
13117         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
13118         vmsdbgout_end_function.
13119         (vmsdbgout_end_prologue): New function renamed from
13120         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
13121         (vmsdbgout_end_function): New function.
13122         (vmsdbgout_end_epilogue): Add line and file args. Call
13123         vmsdbgout_source_line.
13124         (write_pclines): Write only valid line numbers.
13125         (write_srccorr): Don't write source correlation records if 0 lines.
13126         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
13127
13128 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
13129
13130         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
13131         (_Unwind_Internal_Ptr): 32 bit version for use in
13132         read_encoded_value_with_base.
13133         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
13134         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
13135         right size.
13136
13137 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13138
13139         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
13140         signed/unsigned warnings.
13141
13142         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
13143         record_reg_classes): Likewise.
13144
13145         * reload.c (reload_inner_reg_of_subreg, push_reload,
13146         find_reloads_address_1): Likewise.
13147
13148 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
13149
13150         * rs6000.c (output_mi_thunk): Return to function section on
13151         TARGET_ELF.
13152
13153         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
13154
13155 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
13156
13157         * config/s390/s390.c (legitimize_address): Optimize loading
13158         of large displacements.
13159
13160 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
13161
13162         * config/alpha/alpha-protos.h: Update.
13163
13164         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
13165         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
13166         (alpha_linkage_symbol_p): New static function.
13167         (print_operand_address): Print linkage operand.
13168
13169         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
13170         variables.
13171         (reloc_kind): New enum.
13172         (struct alpha_funcs): New struct.
13173         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
13174
13175         (alpha_need_linkage): Rewrite.
13176         (alpha_use_linkage): New global function.
13177         (alpha_write_linkage): Rewrite and make static.
13178         (alpha_write_one_linkage): Rewrite
13179
13180         (alpha_start_function): Remove procedure descriptor output.
13181         (alpha_end_function): Write linkages at end of each function.
13182
13183         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
13184         (call_vms_1, call_value_vms_1): Rewrite.
13185
13186         * config/alpha/vms.h (ASM_FILE_END): Remove.
13187
13188 2002-08-14  Richard Henderson  <rth@redhat.com>
13189
13190         * ggc-page.c (RTL_SIZE): New.
13191         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
13192         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
13193
13194 2002-08-14  Richard Henderson  <rth@redhat.com>
13195
13196         * calls.c: Include target.h.
13197         * Makefile.in (calls.o): Update.
13198
13199         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
13200         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
13201
13202 2002-08-14  Richard Henderson  <rth@redhat.com>
13203
13204         * Makefile.in (LOOSE_WARN): Add -fno-common.
13205         * c-common.h (constant_string_class_name): Add missing extern.
13206
13207 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
13208
13209         PR preprocessor/7358
13210         * c-opts.c (check_deps_environment_vars): Ignore main file
13211         for SUNPRO_DEPENDENCIES.
13212         * cppfiles.c (stack_include_file): Ignore main file if
13213         appropriate.
13214         * cpplib.h (struct cpp_options): New member in deps.
13215         * doc/cppenv.texi: Update.
13216
13217 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13218
13219         PR preprocessor/7526
13220         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
13221
13222 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
13223
13224         * doc/invoke.texi (-a): Remove documentation.
13225         (-fprofile-arcs): Remove reference to -a, -ax options.
13226         * doc/gcov.texi (Gcov Data Files): Data might be merged.
13227
13228 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13229
13230         Fix PR/7566
13231         * c-semantics.c (genrtl_case_label): Don't (mis)use
13232         warning_with_decl.
13233
13234 2002-08-14  Dale Johannesen  <dalej@apple.com>
13235
13236         * explow.c (emit_stack_restore):  Emit memory clobbers
13237         preceding the stack pop, to prevent the scheduler from
13238         moving refs to variable arrays below this pop.
13239         * reload1.c (reload):  Preserve these clobbers for sched2.
13240         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
13241
13242 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13243
13244         * c-opts.c (c_common_post_options): Correct test.
13245
13246 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13247
13248         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
13249         order in call to fprintf.
13250
13251 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13252
13253         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
13254
13255 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13256
13257         * reload.c (find_reloads): Handle constraint letters marked by
13258         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
13259         (alternative_allows_memconst): Likewise.
13260         * reload1.c (maybe_fix_stack_asms): Likewise.
13261         * recog.c (asm_operand_ok, preprocess_constraints,
13262         constrain_operands): Likewise.
13263         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13264         * local-alloc.c (block_alloc, requires_inout): Likewise.
13265         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13266
13267         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
13268         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13269         * doc/tm.texi: Document these two new target macros.
13270
13271         * config/s390/s390.c (s390_expand_plus_operand): Accept already
13272         valid operands.
13273         (q_constraint): New function.
13274         config/s390/s390-protos.h (q_constraint): Declare it.
13275         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
13276         (EXTRA_MEMORY_CONSTRAINT): New macro.
13277
13278         * config/s390/s390.md: Throughout the machine description,
13279         replace all instances of the constraint combinations 'Qo'
13280         or 'oQ' with simply 'Q'.
13281
13282 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13283
13284         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
13285         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
13286         (LIBGCC2_CFLAGS): Compile with -mrelax.
13287
13288 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13289
13290         * doc/invoke.texi: Document -minmax for 68HC12.
13291
13292         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
13293         ("uminqi3"): Likewise.
13294         ("uminhi3", "umaxhi3"): Likewise.
13295
13296         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
13297         (TARGET_MIN_MAX): Define.
13298         (TARGET_SWITCHES): New option -minmax/-mnominmax.
13299
13300 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13301
13302         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
13303         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
13304
13305         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
13306         (ret, declare, farsym): New gas macros.
13307         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
13308         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
13309         and declare the symbol far when compiled with -mlong-calls.
13310         (__far_trampoline): New for 68HC12 trampoline code to invoke a
13311         far handler using jsr/bsr.
13312
13313         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
13314         (jsr): New macro to transform a 'jsr' into a 'call'.
13315
13316 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13317
13318         * doc/invoke.texi: Document -mlong-calls for 68HC12.
13319
13320         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
13321         -mlong-calls is specified.
13322         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
13323         assembler directives.
13324         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
13325         (TARGET_SWITCHES): Add -mlong-calls options.
13326         (current_function_far): Declare.
13327
13328         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
13329         into account the page register saved on the stack.
13330         (m68hc11_override_options): Take into account -mlong-calls option.
13331         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
13332
13333         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
13334         if the function is going to be in 68HC12 banked memory (-mlong-calls).
13335         ("*return_16bit"): Likewise.
13336         ("*return_void"): Likewise.
13337         ("call", "call_value"): Use call for a far function call.
13338
13339 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13340
13341         * toplev.c (parse_options_and_default_flags): Don't call
13342         post_options here.
13343         (general_init): Initialize GC, pools and tree hash here,
13344         instead of lang_independent_init.
13345         (lang_independent_init): Rename backend_init.
13346         (do_compile): Call post_options hook; exit early if there
13347         have been errors after switch processing.
13348         (toplev_main): Update.
13349
13350 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13351
13352         * c-pretty-print.h: Guard against multiple inclusion.
13353         Robustify macros.
13354         (pp_c_attributes): Declare.
13355         * c-pretty-print.c (pp_c_attributes): New function.
13356
13357 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13358
13359         * m68k.c (m68k_output_function_prologue,
13360         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
13361         and NEWS/MOTOROLA.
13362         * genattrtab.c: Remove dpx2 comment.
13363         * libgcc2.c (__enable_execute_stack): Delete versions for
13364         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
13365         sony_news/SYSTYPE_BSD.
13366         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
13367         __gmicro__, __i860__, __NeXT__ and __pyr__.
13368         * rtl.h: Remove convex comment.
13369         * varasm.c: Likewise.
13370
13371 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13372
13373         * c-opts.c (lang_flags): Const-ify.
13374         * ra-build.c (undef_table): Likewise.
13375         * ra.c (eliminables): Likewise.
13376
13377 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13378
13379         * tree.h: Guard against multiple inclusion.
13380
13381 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
13382
13383         * reload1.c (reload_cse_simplify): Before checking
13384         REG_FUNCTION_VALUE_P, check REG_P.
13385
13386 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
13387
13388         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
13389
13390 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13391
13392         * c-opts.c (c_common_init_options): Extra braces needed.
13393
13394 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
13395
13396         * sh.c (sh_init_builtins): Add PARAMS to declaration.
13397         (sh_media_init_builtins, sh_expand_builtin): Likewise.
13398         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
13399         (sh_expand_binop_v2sf): Likewise.
13400         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
13401         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
13402         (sh_initialize_trampoline): Likewise.
13403
13404 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13405
13406         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
13407         new condition code modes.
13408         s390.c (s390_match_ccmode_set): Handle those new CC modes.
13409         (s390_select_ccmode): Likewise.
13410         (s390_branch_condition_mask): Likewise.
13411
13412         * s390-protos.h (s390_tm_ccmode): Declare.
13413         s390.c (s390_tm_ccmode): New function.
13414         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
13415
13416         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
13417         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
13418         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
13419
13420         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
13421         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
13422         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
13423         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
13424         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
13425
13426         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
13427         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
13428         "*cmpqi_ccs_0"): Remove, replace by ...
13429         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
13430         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
13431         "*tstqi", "*tstqi_cconly"): ... these new patterns.
13432
13433         ("*cmpsidi_ccs"): Remove, replace by ...
13434         ("*cmpsi_ccs_sign"): ... this new pattern.
13435         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
13436
13437         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
13438         ("*cli"): ... this new pattern.
13439
13440         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
13441         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
13442         New patterns.
13443         ("adddi3_64"): Rename to "*adddi3_64".
13444         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
13445         ("adddi3"): Adapt expander.
13446
13447         ("*addsi3_cc"): Allow "general_operand" for operand 2.
13448         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
13449         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
13450
13451         ("addhi3", "addqi3"): Remove, replace by ...
13452         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
13453
13454         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
13455         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
13456         ("subdi3"): Replace by insn and splitter "*subdi3_31".
13457         ("subdi3"): New expander.
13458
13459         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
13460
13461         ("subhi3", "subqi3"): Remove, replace by ...
13462         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
13463
13464         ("*muldi3_sign"): New pattern.
13465         ("muldi3"): Do not clobber CC.
13466         ("mulsi3"): Likewise.
13467         ("mulsi_6432"): Likewise.
13468
13469 2002-08-13  Denis Chertykov  <denisc@overta.ru>
13470
13471         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
13472         which can change CC0.
13473
13474 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
13475
13476         * gcse.c (adjust_libcall_notes): New function.
13477         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
13478
13479 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
13480
13481         * libgcc2.c (L_bb): Remove unneeded #includes.
13482         (__global_counters, __gthreads_active): Remove unused globals.
13483         (__bb_exit_func): Merge counts into files rather than appending.
13484         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
13485         (ALL_CFLAGS): ... to here.
13486
13487 2002-08-13  Denis Chertykov  <denisc@overta.ru>
13488
13489         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
13490         (function_epilogue): Don't calculate function size.
13491         (ip2k_set_compare): Don't use lookup_const_double.
13492         (asm_file_start): Initialization of commands_in_file removed.
13493         (asm_file_end): Output of commands_in_file removed.
13494
13495         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
13496         __INT_MAX__.
13497
13498 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13499
13500         * c-opts.c (c_common_init_options): Check option array is
13501         sorted if checking enabled.
13502
13503 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
13504
13505         * c-pretty-print.c: #include "c-tree.h".
13506         (pp_c_simple_type_specifier): Tweak.
13507         (pp_c_storage_class_specifier): New.
13508         (pp_c_function_specifier): Likewise.
13509         (pp_c_declaration_specifiers): Likewise.
13510         (pp_c_init_declarator): Likewise.
13511         (pp_c_declaration): Likewise.
13512         (pp_c_direct_declarator): Stub.
13513         (pp_c_declarator): Likewise.
13514         (pp_c_parameter_declaration): Likewise.
13515
13516 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13517
13518         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
13519         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
13520         struct deferred_opt): New.
13521         (COMMAND_LINE_OPTIONS): Add -M*.
13522         (missing_arg): Update.
13523         (c_common_decode_option): Handle -M*.
13524         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
13525         don't call cpp_post_options.
13526         (c_common_finish, check_deps_environment_vars): Update.
13527         * cppfiles.c (stack_include_file, handle_missing_header): Update.
13528         * cpphash.h (CPP_PRINT_DEPS): Remove.
13529         * cppinit.c: Don't include version.h.
13530         (cpp_create_reader): Don't call deps_init.  Initialize
13531         warn_long_long.
13532         (cpp_read_main_file): Init deps if necessary.
13533         (cpp_destroy): Conditionally free deps.
13534         (cpp_finish): Update.
13535         (no_tgt): Remove.
13536         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
13537         (cpp_post_options): Rename post_options.
13538         * cpplib.h (struct cpp_options): Remove some dependency options;
13539         move others to a new structure.
13540         (cpp_post_options): Remove.
13541         (cpp_finish): Comment.
13542         * fix-header.c (read_scan_file): Don't call cpp_post_options.
13543
13544 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13545
13546         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
13547         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
13548         MMIX_rR_REGNUM as clobbered.
13549         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
13550
13551 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
13552
13553         * diagnostic.h (output_formatted_scalar): Rename from
13554         output_formatted_integer.
13555         * diagnostic.def: Add DK_DEBUG.
13556         * diagnostic.c (output_decimal): Adjust.
13557         (output_long_decimal): Likewise.
13558         (output_unsigned_decimal): Likewise.
13559         (output_octal): Likewise.
13560         (output_long_octal): Likewise.
13561         (output_hexadecimal): Likewise.
13562         (output_long_hexadecimal): Likewise.
13563         * c-pretty-print.c (pp_c_type_specifier): New function.
13564         (pp_c_specifier_qualifier_list): Likewise.
13565         (pp_c_abstract_declarator): Likewise.
13566         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
13567
13568 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
13569
13570         * doc/trouble.texi (Disappointments): Add static constructor and
13571         destructor dependency information for AIX.
13572
13573 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13574
13575         * cpphash.h (struct printer): New from cppmain.c.
13576         (cpp_reader): New member.
13577         * cppmain.c (struct printer): Move to cpphash.h.
13578         (options, print): Remove.
13579         (account_for_newlines, print_line, maybe_print_line,
13580         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
13581         scan_translation_unit_trad, cb_line_change, cb_ident,
13582         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
13583         cb_def_pragma): Make reentrant.
13584
13585 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13586
13587         * real.c (ieee_64): Always define.
13588         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13589         (dec_h): Not used yet, hide it.
13590         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
13591         macro controlling use.
13592         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13593
13594 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13595
13596         * i386.md (tablejump): Sign extend the operand.
13597         * i386.c (classify_argument): Fix missed case from previous patch.
13598
13599 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13600
13601         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
13602         to c-copts.c.
13603         (warn_multichar): Die.
13604         (cb_register_builtins): Export.
13605         * c-common.h (warn_multichar, preprocess_file): Remove.
13606         (cb_register_builtins): New.
13607         * c-lang.c (c_init): Remove.
13608         (LANG_HOOKS_INIT): Use c_objc_common_init.
13609         * c-lex.c (init_c_lex): Don't canonicalize filename.
13610         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
13611         (preprocess_file): Make static.  Update for cpplib.
13612         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
13613         (c_common_post_options): Set some cpp options here.
13614         (c_common_init): Move from c-common.c.
13615         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
13616         * cpplib.h (struct cpp_options): Remove in_fname.
13617         (cpp_preprocess_file): Update.
13618         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
13619
13620 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13621
13622         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
13623
13624 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13625
13626         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
13627         backslash in comment preceeding macro definition.
13628         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
13629         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
13630         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
13631
13632 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13633
13634         * expr.c (store_expr): In condition for checking if value is
13635         generated in TARGET, move call to expr_size last.
13636
13637 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13638
13639         * c-common.c (c_common_init): Call preprocess_file instead.
13640         (c_common_finish): Move to c-opts.c.
13641         * c-common.h (preprocess_file): new.
13642         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
13643         check_deps_environment_vars, c_common_finish): New.
13644         (c_common_decode_option): Update for out_fname and dependencies.
13645         * cppinit.c (init_dependency_output, output_deps): Remove.
13646         (cpp_destroy): Update prototype.
13647         (cpp_add_dependency_target): New.
13648         (cpp_read_main_file): Don't overlay a buffer.
13649         (cpp_finish): Take a deps output stream and write deps to it.
13650         Return the error count.
13651         (cpp_post_options): Don't canonicalize out_fname, or do anything
13652         with dependencies.
13653         * cpplib.h (struct cpp_options): Remove out_fname and
13654         preprocess_only.
13655         (cpp_add_dependency_target): New.
13656         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13657         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
13658         set preprocess_only.  Don't handle the output stream directly.
13659
13660 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13661
13662         * dsp16xx.c (print_operand): Fix format specifier.
13663         * dsp16xx.md: Avoid automatic aggregate initialization.
13664         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13665         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13666         integer constant modifier.
13667         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13668         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13669         guards.
13670         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13671         * v850.c (v850_select_section): Mark parameter with
13672         ATTRIBUTE_UNUSED.
13673         * global.c (global_alloc): Const-ify.
13674         * ra-colorize.c (hardregset_to_string): Fix format specifier.
13675
13676 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13677
13678         * darwin-c.c (darwin_pragma_options): Const-ify.
13679         * darwin.c (machopic_non_lazy_ptr_name,
13680         machopic_validate_stub_or_non_lazy_ptr): Likewise.
13681         (machopic_indirect_data_reference): Wrap variables in macros
13682         controlling their use.
13683         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13684         (machopic_select_section): Use parentheses around && within ||.
13685         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13686
13687 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13688
13689         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13690         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13691         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13692         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13693         mdr_try_remove_redundant_insns, track_w_reload,
13694         mdr_try_wreg_elim): Make function static to match prototype.
13695         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13696         parameter with ATTRIBUTE_UNUSED.
13697
13698 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13699
13700         * arc.c (arc_init): Don't use ISO C style function definitions.
13701         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13702         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13703         * avr.h (progmem_section): Likewise.
13704         * h8300.c h8300_asm_insn_count): Likewise.
13705         * m32r.c (init_idents): Likewise.
13706         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13707         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13708         * xtensa.c (xtensa_build_va_list): Likewise.
13709
13710 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13711
13712         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13713         * c-opts.c (parse_option): Rename find_opt.
13714         (set_std_c99): New function.
13715         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13716         (missing_arg): Remove OPT_std_bad.  Handle -o.
13717         (c_common_decode_option): Handle input and output file names,
13718         -o and -remap.  Clean up -std= handling.
13719         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13720         (cpp_handle_option): Similarly.  Don't handle filenames.
13721
13722 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13723
13724         * i386.c (classify_argument): Fix computing of field's offsets.
13725
13726 2002-08-11  Andreas Jaeger  <aj@suse.de>
13727
13728         PR target/7531:
13729         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13730
13731 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13732
13733         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13734         reference to clk_objective_c with flag_objc.
13735         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13736         Likewise.
13737         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13738
13739 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13740
13741         * c-opts.c (set_std_cxx98, set_std_c89): New.
13742         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13743         (c_common_decode_option): Handle new switches from cppinit.c.
13744         Add -std=gnu++98.
13745         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13746         (no_arg, no_num): Remove.
13747         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13748         switches apart from -lang-objc and lang-asm.
13749         (cpp_handle_option): Similarly.
13750         * cpplib.h (cpp_set_lang): New.
13751         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13752         -std=gnu++98.
13753         * objc/lang-specs.h: Remove -ansi.
13754
13755 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13756                                Graham Stott
13757
13758         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13759         errors.
13760
13761 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13762
13763         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13764         emit_jump_insn): Fix uninitialized variable.
13765         * gcov.c (init_line_info): Likewise.
13766         * genautomata.c (transform_3): Add braces around ambiguous
13767         else.
13768         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13769         ATTRIBUTE_UNUSED.
13770         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13771         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13772         variable.
13773
13774         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13775         warnings in output files.
13776
13777 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13778
13779         * c-common.c (flag_objc): New.
13780         * c-common.h (c_language_kind): Get rid of clk_objective_c
13781         enum value.
13782         (flag_objc): New extern declaration.
13783         * c-decl.c (implicitly_declare): Call objc_check_decl
13784         instead of maybe_objc_check_decl.
13785         (finish_decl): Likewise.
13786         (grokfield): Likewise.
13787         (finish_struct): Likewise.
13788         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13789         (maybe_objc_comptypes): Rename to objc_comptypes.
13790         (maybe_building_objc_message_expr): Rename to
13791         objc_message_selector.
13792         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13793         replace with flag_objc as needed.
13794         * c-opts.c (c_common_init_options): Likewise.
13795         (c_common_decode_option): Likewise.
13796         * c-parse.in (init_reswords): Likewise.
13797         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13798         (maybe_objc_comptypes): Rename to objc_comptypes.
13799         (maybe_building_objc_message_expr): Rename to
13800         objc_message_selector.
13801         * c-typeck.c (comptypes): Call objc_comptypes instead of
13802         maybe_objc_comptypes, and/or objc_message_selector instead of
13803         maybe_building_objc_message_expr.
13804         (comp_target_types): Likewise.
13805         (convert_for_assignment): Likewise.
13806         (warn_for_assignment): Likewise.
13807         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13808         independently of those for other languages.
13809         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13810         (maybe_objc_check_decl): Delete.
13811         (maybe_building_objc_message_expr): Rename to
13812         objc_message_selector.
13813         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13814         clk_objective_c; set flag_objc flag.
13815
13816 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13817
13818         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13819
13820 2002-08-09  Dale Johannesen  <dalej@apple.com>
13821
13822         * config/rs6000/rs6000.md: Add sibcall patterns.
13823         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13824         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13825         Rewritten to handle sibcalls.
13826         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13827         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13828
13829 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13830
13831         * profile.c (da_file_name): New static var.
13832         (init_branch_prob): Initialize it.
13833         (end_branch_prob): Remove da file.
13834
13835         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13836         * configure.in (coverage_flags): Default to nothing.
13837         * configure: Rebuilt.
13838
13839 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13840
13841         * Makefile.in (c-opts.o): Update
13842         * c-opts.c: Include intl.h.
13843         (print_help): Move from cppinit.c.  Remove unused options.
13844         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13845         (missing_arg): Complain for switches without an argument.
13846         (c_common_decode_option): Reject missing joined arguments.
13847         Handle new switches from cppinit.c.
13848         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13849         (cpp_handle_option): Similarly.
13850         (print_help): Moved to c-opts.c.
13851         * cpplib.h (struct cpp_options): Remove help_only.
13852         * gcc.c (cpp_unique_options): Remove -$.
13853         * doc/cppopts.texi: Undocument -h.
13854
13855 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13856
13857         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13858         legitimate constant.
13859         (legitimate_pic_operand_p): Neither pic operand.
13860         (legitimate_address_p): But legitimate address.
13861         (get_thread_pointer): Generate MEM/u instead of CONST around
13862         UNSPEC_TP.
13863         (print_operand): Remove printing of UNSPEC_TP.
13864         (print_operand_address): And print it here.
13865
13866 2002-08-08  Devang Patel  <dpatel@apple.com>
13867
13868         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13869         when  -Wselector is used,if method for which selector is being
13870         created does not exist.
13871
13872 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13873
13874         * config/sh/sh.c (prepare_move_operands): Only call
13875         target_reg_operand if TARGET_SHMEDIA.
13876
13877 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13878
13879         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13880         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13881         two patches.
13882         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13883
13884 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13885             Richard Henderson  <rth@redhat.com>
13886
13887         * emit-rtl.c (gen_rtx_REG): After reload, only return
13888         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13889
13890 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13891
13892         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13893         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13894         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13895         macro.
13896
13897 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13898
13899         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13900         register.
13901         (thumb_expand_prologue): Likewise.
13902         (thumb_output_function_prologue): Likewise.
13903         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13904         the additional push of the PIC register.
13905
13906 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13907
13908         * configure.in (enable_coverage): New enable switch.
13909         * configure: Rebuilt.
13910         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13911         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13912         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13913         (mostlyclean): Remove coverage files.
13914         * doc/install.texi: Document enable_coverage.
13915
13916         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13917         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13918         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13919         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13920         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13921         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13922         files.
13923
13924 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13925
13926         * c-opts.c (cpp_opts): New.
13927         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13928         (c_common_decode_options): Handle cpplib switches.
13929         (c_common_init_options): Set cpp_opts.
13930         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13931         (cpp_handle_option): Similarly.
13932
13933 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13934
13935         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13936         (TARGET_ALTIVEC_ABI): Same.
13937         (TARGET_ALTIVEC_VRSAVE): Same.
13938
13939         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13940         icode not CODE_FOR_nothing.  Change switch to if.
13941
13942 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13943
13944         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13945
13946 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13947
13948         * stor-layout.c (place_union_field): For bitfields if
13949         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13950         TYPE_USER_ALIGN.
13951
13952 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13953
13954         * pa.c (struct deferred_plabel): Constify name field.
13955
13956 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13957
13958         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13959
13960 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13961
13962         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13963         local_prefix are the same.
13964         * configure: Rebuilt.
13965
13966 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13967             Richard Henderson  <rth@redhat.com>
13968
13969         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13970         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13971         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13972         (place_field): Likewise.
13973         * config/i386/i386.c (x86_field_alignment): Don't check
13974         DECL_USER_ALIGN here.
13975         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13976         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13977         prototype.
13978         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13979         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13980         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13981         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13982         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13983         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13984
13985 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13986
13987         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13988         * c-common.c: Don't include tree-inline.h.
13989         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13990         * c-common.h (c_common_decode_option): New.
13991         * c-decl.c (c_decode_option): Remove.
13992         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13993         * c-opts.c: New file.
13994         * c-tree.h (c_decode_option): Remove.
13995         * doc/passes.texi: Update.
13996         * objc/objc-act.c (objc_decode_option): Remove.
13997         * objc/objc-act.h (objc_decode_option): Remove.
13998         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13999         c_common_decode_option.
14000
14001 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
14002
14003         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
14004         dependency on TARGET_DOUBLE_FLOAT.
14005
14006 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
14007
14008         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
14009         overwrite callee-save registers.  Fix comment.
14010
14011 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
14012
14013         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
14014         in target_flags based on ISA, if it was not set on the command
14015         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
14016         support Branch Likely instructions.
14017         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
14018         (TARGET_BRANCHLIKELY): Likewise.
14019         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
14020         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
14021         ISA_HAS_BRANCHLIKELY.
14022         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
14023         * doc/invoke.texi: Document new MIPS -mbranch-likely and
14024         -mno-branch-likely options.
14025
14026 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14027
14028         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
14029
14030         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
14031         $(GCONFIG_H).
14032
14033 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
14034
14035         * c-decl.c (duplicate_decls): Error out for incompatible TLS
14036         declarations.
14037
14038         * testsuite/gcc.dg/tls/diag-3.c: New.
14039
14040 2002-08-06  Dale Johannesen  <dalej@apple.com>
14041
14042         * c-common.c (fname_decl): Use line number 0 for
14043         __func__, to avoid confusing debuggers.
14044
14045 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
14046
14047         * gcov.c: Tidy.
14048         (struct line_info, struct coverage): New structures.
14049         (gcov_file_name, gcov_file): Remove globals.
14050         (output_data): Take source file parameter. Fix memory leak. Break
14051         up into ...
14052         (init_line_info, output_line_info, make_gcov_file_name,
14053         accumulate_branch_counts): ... here.
14054         (calculate_branch_probs, function_summary): Adjust.
14055         (main): Adjust.
14056         (function_*): Remove global variables.
14057
14058 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14059
14060         * dwarf2out.c: Remove unused macros.
14061
14062 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14063
14064         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
14065
14066 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14067
14068         * cppinit.c (struct lang_flags): Rename trigraphs std.
14069         (set_lang): Update.
14070         * cpplib.h (struct cpp_options): New member std.
14071         * cppmacro.c (_cpp_builtin_macro_text): Use std.
14072         (collect_args): Flag whether to swallow a possible future
14073         comma pasted with varargs.
14074         (replace_args): Use this flag.
14075         * doc/cpp.texi: Update varargs extension documentation.
14076
14077 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14078
14079         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
14080
14081 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14082
14083         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
14084         and MODE_CLASS_INT modes.
14085
14086 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14087
14088         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
14089         --{enable,disable}-threads is given to configure.
14090         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
14091         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
14092         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
14093         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
14094         Remove thread_file setting here.
14095
14096 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
14097
14098         * doc/install.texi (Binaries): Update Bull Freeware URL.
14099
14100 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14101
14102         * doc/gcc.texi (Top): Rename Index to Keyword Index.
14103
14104 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
14105
14106         * gcov.c (output_data): Round to % to nearest, tweak formatting.
14107
14108 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
14109
14110         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
14111         of the operands into MINUS_EXPR if code is PLUS_EXPR.
14112
14113 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
14114
14115         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
14116         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
14117         drectve_section): Define.
14118         * config/i386/t-interix: Replace interix.o rule with winnt.o.
14119         * config/i386/interix.c: Remove.
14120
14121 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
14122
14123         * attribs.c: Don't include obstack.h.
14124         * builtins.c: Likewise.
14125         * cfganal.c: Likewise.
14126         * cfgbuild.c: Likewise.
14127         * cfgcleanup.c: Likewise.
14128         * emit-rtl.c: Likewise.
14129         * loop.c: Likewise.
14130         * stmt.c: Likewise.
14131
14132         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
14133
14134 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
14135
14136         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
14137
14138 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
14139
14140         * doc/invoke.texi: Remove duplicated paragraph describing
14141         TARGET_SWITCHES.
14142
14143 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
14144
14145         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
14146         * collect2.h (permanent_obstack): Delete declaration.
14147         * collect2.c (permanent_obstack): Delete definition.
14148         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
14149         * expr.c: Don't include obstack.h.
14150         (permanent_obstack): Delete declaration.
14151         * function.c: Don't include obstack.h.
14152         (permanent_obstack): Delete declaration.
14153         * integrate.c: Don't include obstack.h.
14154         (function_maybepermanent_obstack): Delete declaration.
14155         * print-tree.c (debug_tree): Use x*alloc not permalloc.
14156         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
14157         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
14158         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
14159         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
14160         of permalloc, expralloc, perm_calloc.
14161         * tree.c (permanent_obstack): Delete definition.
14162         (init_ttree): Rename from init_obstacks.
14163         (permalloc): Delete.
14164         (perm_calloc): Delete.
14165         (dump_tree_statistics): Don't print information about
14166         permanent_obstack.
14167         * varasm.c (assemble_start_function): Use xstrdup instead of
14168         permalloc/strcpy.
14169         (assemble_variable): Likewise.
14170         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
14171         permalloc.
14172         (unicosmk_add_extern): Likewise.
14173         * config/c4x/c4x.c (c4x_external_ref): Likewise.
14174         (c4x_global_label): Likewise.
14175         * config/frv/frv.c (frv_encode_section_info): Likewise.
14176         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
14177         (i386_pe_record_exported_symbol): Likewise.
14178         * config/mips/mips.c (mips_output_external): Likewise.
14179         (mips_output_external_libcall): Likewise.
14180         * config/pa/pa.c: (permanent_obstack): Delete declaration.
14181         (output_call): Use ggc_strdup instead of allocating on
14182         permanent_obstack.
14183         * config/romp/romp.c: Include ggc.h.
14184         (get_symref): Don't declare permanent_obstack, use ggc_strdup
14185         intead of permanent_obstack.
14186         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
14187         instead of permalloc.
14188         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
14189         instead of permalloc
14190         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
14191         instead of permalloc.
14192         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
14193         permalloc.
14194
14195 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
14196
14197         Contribute a port developed primarily by Michael Meissner,
14198         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
14199         * config.gcc: Add frv-elf target.
14200         * config/frv/cmovd.c: New file.
14201         * config/frv/cmovh.c: New file.
14202         * config/frv/cmovw.c: New file.
14203         * config/frv/frv-abi.h: New file.
14204         * config/frv/frv-asm.h: New file.
14205         * config/frv/frv-modes.def: New file.
14206         * config/frv/frv-protos.h: New file.
14207         * config/frv/frv.c: New file.
14208         * config/frv/frv.h: New file.
14209         * config/frv/frv.md: New file.
14210         * config/frv/frvbegin.c: New file.
14211         * config/frv/frvend.c: New file.
14212         * config/frv/lib1funcs.asm: New file.
14213         * config/frv/media.h: New file.
14214         * config/frv/modi.c: New file.
14215         * config/frv/t-frv: New file.
14216         * config/frv/uitod.c: New file.
14217         * config/frv/uitof.c: New file.
14218         * config/frv/ulltod.c: New file.
14219         * config/frv/ulltof.c: New file.
14220         * config/frv/umodi.c: New file.
14221         * config/frv/xm-frv.h: New file.
14222
14223         * config/frv/media.h: Removed again.
14224
14225 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14226
14227         * gcov.c (bb_file_time): New static variable.
14228         (object_directory): May also be object file.
14229         (preserve_paths): New static variable.
14230         (print_usage): Adjust.
14231         (options): Adjust.
14232         (process_args): Adjust.
14233         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
14234         file. Find modification date on bb file.
14235         (read_profile): Don't rewind a NULL file.
14236         (format_hwint): New static function.
14237         (function_summary): Use format_hwint.
14238         (output_data): SOURCE_FILE_NAME is never relative to
14239         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
14240         mangling. Adjust output format to make it more machine readable.
14241         * doc/gcov.texi: Document & clarify semantics.
14242
14243 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
14244
14245         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
14246
14247 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14248
14249         * gcc.c (cc1_options): Pass output file as auxbase when
14250         appropriate.
14251         * profile.c (init_branch_prob): FILENAME has already had ending
14252         stripped.
14253         * final.c (end_final): Likewise.
14254         * toplev.c (aux_base_name): New global.
14255         (compile_file): Pass aux_base_name to init init_branch_prob and
14256         end_final.
14257         (independent_decode_option, case 'a'): New auxinfo options.
14258         (case 'd'): Protect against mising basename.
14259         (do_compile): Initialize aux_base_name.
14260         * toplev.h (aux_base_name): New global.
14261         * doc/invoke.texi: Adjust documentation.
14262
14263 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14264
14265         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
14266         of TARGET_ALIGN_DOUBLE.
14267
14268 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
14269
14270         * diagnostic.c (inform): New function.
14271         * diagnostic.h (inform): Declare.
14272
14273 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
14274
14275         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
14276         (movhi_internal): Same.
14277         (movqi_internal): Same.
14278         (movdi_internal64): Same.
14279
14280         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
14281
14282         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
14283         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
14284         (COMMON_ASM_OP): Define.
14285         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
14286         Use ALIGN parameter.
14287         (LOCAL_COMMON_ASM_OP): Define.
14288         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
14289
14290 2002-08-03  Roger Sayle  <roger@eyesopen.com>
14291
14292         * builtins.def: Define new builtin functions exp, expf, expl,
14293         log, logf and logl (and their __builtin_* variants).
14294         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
14295         Define exp_optab and log_optab.
14296         * optabs.c (init_optans): Initialize exp_optab and log_optab.
14297         * genopinit.c (optabs): Implement exp_optab and log_optab
14298         using exp?f2 and log?f2 patterns.
14299         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
14300         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
14301         (expand_builtin): Ignore the new builtins (and all cos and
14302         sin variants) when not optimizing.  Expand new builtins via
14303         expand_builtin_mathfn when flag_unsafe_math_optimizations.
14304
14305         * doc/extend.texi: Document new exp and log builtins.
14306         * doc/md.texi: Document new exp?f2 and log?f2 patterns
14307         (and previously undocumented cos?f2 and sin?f2 patterns).
14308
14309 2002-08-03  Jason Merrill  <jason@redhat.com>
14310
14311         * explow.c (int_expr_size): New fn.
14312         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
14313         * expr.h: Declare it.
14314
14315 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
14316
14317         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
14318         gengtype-* dependencies.
14319
14320 2002-08-02  Eric Christopher  <echristo@redhat.com>
14321
14322         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
14323         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
14324         #ifndef to #undef.
14325         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
14326
14327 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
14328
14329         PR optimize/7067
14330         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
14331         small if optimizing for size.
14332
14333 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
14334
14335         * configure.in (FORBUILD): Use $build_alias.
14336         * configure: Regenerated.
14337
14338 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
14339
14340         * config.gcc: Don't include mips/abi64.h in $tm_file.
14341         * hard-reg-set.h (call_really_used_regs): Declare.
14342         * config/mips/abi64.h: Remove file.
14343         * config/mips/linux.h,
14344         * config/mips/iris6.h: Don't include it.
14345         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
14346         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
14347         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
14348         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
14349         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
14350         Bring across definitions from abi64.h.
14351         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
14352         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
14353         (struct mips_args): Use it.
14354         * config/mips/mips.c (mips_conditional_register_usage): Define.
14355
14356 2002-08-02  Jason Merrill  <jason@redhat.com>
14357
14358         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
14359         * langhooks.c (lhd_expr_size): Define default.
14360         * langhooks.h (struct lang_hooks): Add expr_size.
14361         * explow.c (expr_size): Call it.
14362         * expr.c (store_expr): Don't copy an expression of size zero.
14363         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
14364         to store.
14365         * Makefile.in (builtins.o): Depend on langhooks.h.
14366
14367 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14368
14369         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
14370         * ra-debug.c: Include "tm_p.h".
14371         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
14372
14373 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
14374
14375         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
14376         when not honoring signalling NaNs.
14377         (simplify_ternary_operation): a == b has a definite value
14378         when not honoring NaNs.
14379
14380 2002-08-02  Jason Merrill  <jason@redhat.com>
14381
14382         * gdbinit.in (pct): New macro.
14383
14384 2002-08-01  Stan Shebs  <shebs@apple.com>
14385             Andreas Tobler  <toa@pop.agri.ch>
14386
14387         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
14388         plays nice with Darwin headers.
14389         (_BSD_RUNE_T_DEFINED_): Likewise.
14390
14391 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14392
14393         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
14394         * cppinit.c (cpp_post_options): Likewise.
14395
14396         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
14397         warning about 'LL' suffix (but not 'ULL' etc) when
14398         -Wno-long-long is in effect.
14399
14400         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
14401         Check for failing time()/localtime(), issue a warning, and
14402         make __TIME__ and __DATE__ expand to fallback strings.
14403
14404         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
14405         and __TIME__ when the date and time cannot be determined.
14406
14407 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
14408
14409         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
14410
14411 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
14412
14413         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
14414
14415 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
14416
14417         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
14418         (mipsisa64sb1el-*-elf*): Likewise.
14419         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
14420         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
14421         (TARGET_SB1, TUNE_SB1): New macros.
14422         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
14423         -mtune flags.
14424
14425 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
14426
14427         * varasm.c (asm_emit_uninitialized): Return false if global BSS
14428         and ASM_EMIT_BSS not supported by target.
14429         (assemble_variable): Do not duplicate uninitialized logic.
14430         Fall through if asm_emit_uninitialized failed.
14431
14432 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
14433
14434         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
14435
14436 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
14437
14438         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
14439         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
14440
14441         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
14442         HOST_BITS_PER_WIDE_INT == 64.
14443
14444 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14445
14446         * df.c (df_insn_table_realloc): Change parameter to unsigned.
14447         * optabs.c (expand_binop): Make variable unsigned.
14448         * simplify-rtx.c (simplify_subreg): Likewise.
14449         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
14450
14451 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14452
14453         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
14454
14455 2002-08-01  Richard Henderson  <rth@redhat.com>
14456
14457         * toplev.c (parse_options_and_default_flags): Don't set
14458         flag_reorder_blocks for -Os.
14459
14460         * config/avr/avr.c (avr_optimization_options): Remove.
14461         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
14462         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
14463         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
14464
14465 2002-08-01  H.J. Lu <hjl@gnu.org>
14466             Richard Henderson  <rth@redhat.com>
14467
14468         * output.h (DECL_READONLY_SECTION): Remove.
14469         (decl_readonly_section): Declare.
14470         * varasm.c (decl_readonly_section): New.
14471         (default_section_type_flags, default_select_section): Use it.
14472         * config/arm/pe.c (arm_pe_unique_section): Likewise.
14473         * config/i386/interix.c (i386_pe_unique_section): Likewise.
14474         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
14475         * config/mcore/mcore.c (mcore_unique_section): Likewise.
14476         * config/mips/mips.c (mips_unique_section): Likewise.
14477
14478 2002-08-01  Richard Henderson  <rth@redhat.com>
14479
14480         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
14481         refers to a subroutine parameter.
14482
14483 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
14484
14485         * varasm.c (assemble_visibility): Strip name encoding.
14486
14487 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
14488
14489         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
14490         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
14491         when there is no frame pointer.
14492         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
14493         registers properly.
14494         * config/ns32k/__unorddf2.c: New file.
14495         * config/ns32k/__unordsf2.c: New file.
14496         * config/ns32k/t-ns32k: New file.
14497         * config.gcc (ns32k-*-netbsd*): Use it.
14498
14499 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
14500
14501         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
14502
14503 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14504
14505         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
14506
14507 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
14508
14509         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
14510
14511 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
14512
14513         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
14514
14515 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14516
14517         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
14518         n_sets): Removed.
14519         (expr_hash_table, set_hash_table): Type changed to ...
14520         (struct hash_table): New type.
14521         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
14522         insert_expr_in_table, insert_set_in_table, compute_hash_table,
14523         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
14524         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
14525         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
14526         (alloc_hash_table): New.
14527         (free_set_hash_table, free_expr_hash_table): Merged to ...
14528         (free_hash_table): New.
14529         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
14530         (compute_hash_table_work): New.
14531         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
14532         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
14533         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
14534         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
14535         hoist_code, one_code_hoisting_pass,
14536         trim_ld_motion_mems): Altered due to changed type of hash tables.
14537
14538 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14539
14540         * final.c (output_alternate_entry_point):
14541         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
14542
14543 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14544
14545         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
14546         avoid ISO C style function definition.
14547
14548         * expr.c (expand_assignment): Delete unused variable.
14549
14550 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
14551
14552         * c-common.c (cb_register_builtins): Set
14553         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
14554         is given, and to 0 otherwise.
14555         * combine.c (simplify_if_then_else): HONOR_NANS
14556         implies FLOAT_MODE_P.
14557
14558 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14559
14560         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
14561         (cpp_handle_option): Don't handle it.
14562         (print_help): Update.
14563         * doc/cppopts.texi: Update.
14564
14565 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14566
14567         * c-common.c (cb_register_builtins): If C++, define
14568         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
14569         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
14570 cp:
14571         * lang-specs.h: Simplify in accordance with new code in
14572         c-common.c.
14573
14574 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14575
14576         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
14577         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
14578         * c-decl.c: Move all warning and flag variables to c-common.c.
14579         * c-format.c: Move all warning variables to c-common.c.
14580         * c-tree.h: Move all warning and flag declarations to c-common.h.
14581         * objc/objc-act.c: Move all warning variables to c-common.c.
14582         (flag_warn_protocol): Rename warn_protocol.
14583
14584 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14585
14586         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
14587
14588 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
14589
14590         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
14591         .section prefix.
14592
14593 2002-07-31  Stan Shebs  <shebs@apple.com>
14594
14595         * config.gcc (i[34567]86-*-darwin*): New configuration.
14596         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
14597         defining.
14598         (TARGET_ENCODE_SECTION_INFO): Ditto.
14599         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
14600         * config/darwin.c (machopic_indirect_data_reference): Remove
14601         setting of RTX_UNCHANGING_P.
14602         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
14603         not to be applied to sums.
14604         * config/i386/t-darwin: New file.
14605         * config/i386/darwin.h: New file.
14606         * config/i386/i386.h (TARGET_MACHO): Add default definition.
14607         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
14608         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
14609         label and not the GOT add.
14610         (constant_address_p): For Mach-O, seeing a CONST is enough.
14611         (legitimate_pic_address_disp_p): Add a Mach-O case.
14612         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
14613         (legitimize_pic_address): Use generic Mach-O code to legitimize.
14614         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
14615         if outputting a difference.
14616         (ix86_output_addr_diff_elt): Add Mach-O case.
14617         (ix86_expand_move): Similarly.
14618         (ix86_expand_call): Similarly.
14619         (current_machopic_label_num): New global.
14620         (machopic_output_stub): New function.
14621         (ix86_value_regno): New function.
14622         (ix86_function_value): Use it instead of VALUE_REGNO.
14623         (ix86_libcall_value): Ditto.
14624         * config/i386/unix.h (VALUE_REGNO): Remove.
14625
14626 2002-07-31  Graham Stott  <grahas@btinternet.com>
14627
14628         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
14629         hash for LABEL_REF's.
14630
14631 2002-07-31  Graham Stott  <grahams@btinternet.com>
14632
14633         * config/rs6000/rs6000.c (spe_init_builtins,
14634         altivec_init_builtins, rs6000_common_init_builtins):
14635         Replace ANSI with K&R function def.
14636
14637 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
14638
14639         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
14640         for CCFPmode.
14641
14642 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14643
14644         * config/mips/crtn.asm: Don't use __mips16 to determine the
14645         return-address offset.  Define RA to a suitable temporary
14646         register for the return address.
14647
14648 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14649
14650         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
14651         constraints to 'd'.
14652
14653 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
14654
14655         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14656         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
14657         patch on 2002-07-29.)
14658         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14659
14660 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14661
14662         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14663         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14664         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14665         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14666         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14667         (ASM_GLOBALIZE_LABEL): Delete.
14668         (GLOBAL_ASM_OP): Define.
14669
14670         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
14671
14672         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14673         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14674
14675 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
14676
14677         * doc/extend.texi (Hints implementation): Document that GCC
14678         mostly ignores `register'.
14679
14680 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
14681
14682         * flags.h: Declare flag_finite_math_only.
14683         Use it in definition of HONOR_NANS and
14684         HONOR_INFINITIES.
14685         * c-common.c (cb_register_builtins): Emit
14686         __FINITE_MATH_ONLY__ when flag_finite_math_only
14687         is set.
14688         * combine.c (simplify_if_then_else): If
14689         flag_finite_math_only is set, a == b has a
14690         definite value.
14691         * toplev.c: Initialize flag_finite_math_only.
14692         (set_flags_fast_math): Set it on -ffast-math.
14693         (flag_fast_math_set_p): Test it.
14694         * doc/invoke.texi: Document -ffinite-math-only.
14695
14696 2002-07-30  Richard Henderson  <rth@redhat.com>
14697
14698         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14699         (noce_process_if_block): Likewise.
14700
14701 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14702
14703         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14704         Bail out early if false_expr is NULL and we'd crash due to this.
14705         * genemit.c (gen_expand): Recognize return insns even if the return
14706         appears in a parallel.
14707         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14708         * config/fp-bit.c: Likewise.
14709         * doc/tm.texi: Document it.
14710
14711 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14712             Zack Weinberg  <zack@codesourcery.com>
14713
14714         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14715         CODE_FOR_nothing.  Change switch to if.
14716         (rs6000_expand_binop_builtin): Same.
14717         (rs6000_expand_builtin): Expand builtin if target support enabled.
14718         (rs6000_init_builtins): Init builtin if target support enabled.
14719         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14720
14721 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14722
14723         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14724
14725 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14726
14727         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14728
14729 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14730
14731         * sh.md (cond_delay_slot): New attribute.
14732         (cbranch delay): Use it for anulled-true case.
14733         (stuff_delay_slot): New pattern.
14734         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14735         delay slot insn.
14736         (gen_far_branch): Emit stuff_delay_slot pattern.
14737
14738 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14739
14740         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14741
14742 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14743
14744         * fold-const.c: Fix comment typos.
14745         * gcse.c: Likewise.
14746         * reload1.c: Likewise.
14747
14748 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14749
14750         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14751         for TARGET_SPE.
14752
14753 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14754
14755         * c-pretty-print.h (pp_c_statement): Declare.
14756         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14757         (pp_c_statement): Define.
14758
14759 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14760
14761         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14762         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14763         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14764         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14765         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14766         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14767
14768         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14769         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14770
14771 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14772
14773         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14774         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14775         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14776         (pp_c_expression): Update.
14777
14778 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14779
14780         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14781         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14782         * alpha/vms-ld.c (main): Likewise.
14783         * dsp16xx.c (double_reg_to_memory): Likewise.
14784         * mcore.c (mcore_expand_prolog): Likewise.
14785         * cppfiles.c (read_name_map): Likewise.
14786         * gensupport.c (process_rtx, identify_predicable_attribute,
14787         alter_test_for_insn): Likewise.
14788         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14789
14790 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14791
14792         * builtins.c (expand_builtin):  Change the default behavior to
14793         only issue an error if the builtin function doesn't have a
14794         fallback library call.  Remove several cases handled by the
14795         new default.
14796
14797 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14798
14799         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14800         floating point format of the target is IEEE.
14801         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14802         format of the target is DEC.
14803
14804 2002-07-29  Richard Henderson  <rth@redhat.com>
14805
14806         * unroll.c (verify_addresses): Remove.
14807         (find_splittable_givs): Never split DEST_ADDR givs.
14808
14809 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14810
14811         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14812         is exhaustive.
14813         (Files): Improve documentation on generated source files.
14814
14815         * doc/extend.texi (Translation implementation): Document what
14816         diagnostics look like.
14817         (Identifiers implementation): Document that there's normally no
14818         limit on identifier names.
14819         (Integers implementation): Document two's complement.
14820         (Hints implementation): Document that GCC honors 'inline', mostly.
14821         (Preprocessing directives implementation): Document that GCC
14822         requires the current time.
14823
14824 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14825
14826         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14827         (pp_initializer): New macro.
14828         (pp_c_initializer): Declare.
14829         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14830         (pp_c_initializer): Define.
14831         (pp_c_initializer_list): New function.
14832         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14833         VECTOR_CST, CONSTRUCTOR.
14834         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14835         IMAGPART_EXPR.
14836         (pp_c_cast_expression): Handle FLOAT_EXPR.
14837         (pp_c_assignment_expression): Handle INIT_EXPR.
14838         (pp_c_expression): Update.
14839
14840 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14841
14842         * objc/objc-act.c (objc_init): Return immediately if filename
14843         is NULL.
14844
14845 2002-07-29  Eric Christopher  <echristo@redhat.com>
14846
14847         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14848         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14849         (SDB_DEBUGGING_INFO): Undefine.
14850         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14851         (PUT_SDB_SIZE): Remove.
14852         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14853         (STARTFILE_SPEC): Add isa3264 define.
14854         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14855         * config/mips/ecoff.h: Remove. and here...
14856         * config/mips/iris3.h: and here...
14857         * config/mips/sni-svr4.h: and here...
14858         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14859         Add assembler -mmdebug options for non-dwarf debugging.
14860         * config/mips/r3900.h: Remove debug info defines.
14861         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14862         * config/mips/isa3264.h: Ditto.
14863         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14864         change.
14865         * config/mips/t-elf: Ditto.
14866         * config/mips/t-ecoff: Ditto.
14867         * config/mips/t-r3900: Ditto.
14868         * config/mips/t-iris5-6: Ditto.
14869         * config/mips/t-isa3264: Ditto.
14870         * config/mips/t-linux: Remove.
14871         * config/mips/t-netbsd: Remove.
14872         * config/mips/t-mips: New file.
14873         * config/mips/t-gofast: Ditto.
14874         * config/mips/netbsd.h: Remove unnecessary undefines.
14875         * config/mips/linux.h: Remove #include of mips.h.
14876         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14877         for ecoff. Add gofast configure option for mips.
14878
14879 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14880
14881         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14882         linker scripts use STARTUP directives consistently.
14883         * configure: Regenerate.
14884         * config.in: Regenerate.
14885         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14886         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14887         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14888         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14889         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14890         will be the same.
14891
14892 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14893
14894         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14895
14896 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14897
14898         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14899
14900 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14901
14902         * config/rs6000/rs6000.md: Move altivec patterns from here...
14903
14904         * config/rs6000/altivec.md: ...to here.
14905
14906 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14907
14908         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14909
14910 2002-07-29  Richard Henderson  <rth@redhat.com>
14911
14912         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14913         set_mem_attributes and add BITPOS argument.  Subtract it from
14914         OFFSET when same is adjusted.
14915         (set_mem_attributes): New wrapper function.
14916         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14917         remove offset adjustment hack.
14918         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14919
14920 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14921
14922         * Makefile.in (C_OBJS): Include c-pretty-print.o
14923         (c-pretty-print.o): Add depency rule.
14924         * pretty-print.h: Add more macros.
14925         * c-pretty-print.c: New file.
14926         * c-pretty-print.h: Likewise.
14927
14928 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14929
14930         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14931         constants to __ev64_s32__.
14932         (__internal_ev_mwhgsmian): Same.
14933         (__internal_ev_mwhgsmfan): Same.
14934         (__internal_ev_mwhgssfan): Same.
14935         (__internal_ev_mwhgumiaa): Same.
14936         (__internal_ev_mwhgsmiaa): Same.
14937         (__internal_ev_mwhgsmfaa): Same.
14938         (__internal_ev_mwhgssfaa): Same.
14939
14940 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14941
14942         * varasm.c (assemble_variable): Narrow test for uninitialized
14943         without BSS target support.
14944
14945 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14946
14947         * profile.c: Add file comment describing the overall algorithm and
14948         structures.
14949         (struct edge_info): Add comments.
14950         (struct bb_info): Add comments.
14951         * basic-block.h (EDGE_*): Add comments.
14952         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14953
14954 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14955
14956         * config/xtensa/elf.h, config/xtensa/linux.h
14957         (TARGET_OS_CPP_BUILTINS): Define.
14958         (CPP_PREDEFINES): Remove.
14959         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14960         (CPP_SPEC): Remove.
14961
14962 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14963
14964         * gensupport.c: Include hashtab.h.
14965         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14966         maybe_eval_c_test): New routines and data structures to
14967         support insn elision.
14968         (init_md_reader): Read and initialize the condition_table.
14969         (read_md_rtx): Discard insn patterns whose C test is provably
14970         always false.
14971         * gensupport.h: Declare new functions and data structures.
14972
14973         * genconditions.c, dummy-conditions.c: New files.
14974         * Makefile.in: Build genconditions; run it to construct
14975         insn-conditions.c; build that and link it into most gen*
14976         programs.
14977         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14978         (GEN): Delete, unused.
14979         (STAGESTUFF): Update.
14980
14981         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14982         CODE_FOR_nothing for all elided patterns.
14983         (main): Tweaked to support this.
14984         * genflags.c (gen_proto): Emit a static inline generator
14985         function here for all elided patterns, which simply returns
14986         NULL_RTX.
14987         (gen_insn): Do not define HAVE_xxx for elided patterns.
14988         (main): Tweaked to support this.  No need to forward-declare
14989         struct rtx_def.
14990         * genrecog.c: Do not bother emitting the C test if it's known
14991         to be true at compile time.
14992
14993 2002-07-29  Mike Stump  <mrs@apple.com>
14994
14995         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14996         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14997
14998 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14999
15000         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
15001         remove clobber of LR.
15002         (sibcall_insn, sibcall_value_insn): Update accordingly.
15003         (sibcall_epilogue): Remove debugging comment from assembler stream.
15004
15005 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
15006
15007         * pretty-print.h: Define more macros.
15008         * diagnostic.h (output_formatted_integer): Moved from...
15009         * diagnostic.c: ... here.
15010
15011 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15012
15013         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
15014
15015 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
15016
15017         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
15018         arguments.  Always use ".-symbol" as expression argument.
15019         * doc/tm.texi: Update to match.  Document requirement for
15020         ".size symbol, .-symbol" to be acceptable to assembler.
15021
15022         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15023         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
15024         config/i386/freebsd-aout.h, config/i386/sco5.h,
15025         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
15026         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
15027
15028 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15029
15030         * Makefile.in (gengtype-lex.c): Fix error in last change.
15031
15032         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
15033         backslash.
15034
15035         * Makefile.in (vmsdbgout.o): Depend on function.h.
15036
15037         * vmsdbgout.c: Include function.h.
15038
15039 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
15040
15041         * prefix.c (update_path): Don't strip single `.' path components
15042         unless stripping a later `..' component.  Exit loop as soon as
15043         a valid path is found.
15044
15045 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15046
15047         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
15048         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
15049         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
15050         floating point unordered comparisons (e.g. __builtin_isgreater)
15051         as const, and leave the remaining GCC_BUILTINs unchanged.
15052
15053         * c-decl.c (builtin_function): No need to explicitly mark
15054         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
15055
15056 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15057
15058         * Makefile.in: rtlanal.o now depends upon real.h.
15059
15060         * flags.h [flag_signaling_nans]: New flag.
15061         [HONOR_SNANS]: New macro.
15062
15063         * toplev.c [flag_signaling_nans]: Initialize to false.
15064         (f_options): Add processing for "-fsignaling-nans".
15065         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
15066         (process_options): flag_signaling_nans implies flag_trapping_math.
15067
15068         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
15069         when -fsignaling-nans.  First step to implementing WG14's N965.
15070
15071         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
15072         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
15073         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
15074
15075         * simplify-rtx.c (simplify_relational_operation): Conditionalize
15076         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
15077
15078         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
15079         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
15080         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
15081         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
15082         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
15083
15084         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
15085
15086 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15087
15088         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
15089         * gengtype-lex.l (YY_USE_PROTOS): Undef.
15090         (YY_DECL): Define.
15091
15092 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15093
15094         * doc/invoke.texi: Document that both -fno-builtin-foo and
15095         -fno-builtin are supported by the g++ front-end.
15096
15097 2002-07-27  Stan Shebs  <shebs@apple.com>
15098
15099         * configure.in: Rename config_gtfiles to target_gtfiles.
15100         * configure: Regenerate.
15101         * doc/gty.texi: Update reference.
15102         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
15103         instead of appending to it.
15104
15105 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
15106
15107         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
15108         vectors are split into two registers.
15109         (function_arg): Same.
15110
15111 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
15112
15113         * pa.md (extv): Check predicates before emitting extv_32.
15114
15115 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
15116
15117         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
15118         (rs6000_traceback): New var.
15119         (rs6000_override_options): Set rs6000_traceback.
15120         (rs6000_output_function_epilogue): Implement traceback options.
15121         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
15122         (rs6000_traceback_name): Declare.
15123
15124         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
15125         label reference when NO_PROFILE_COUNTERS.
15126
15127 2002-07-26  Jason Merrill  <jason@redhat.com>
15128
15129         * function.c (assign_parms): Handle frontend-directed pass by
15130         invisible reference.
15131
15132 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15133
15134         * doc/cppopts.texi: Update.
15135
15136 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15137
15138         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
15139         warnings on assertions.
15140
15141 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15142
15143         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
15144         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
15145         RID_COMPL): Remove.
15146         * c-parse.in (rid_to_yy): Similarly.
15147
15148 2002-07-26  Jason Merrill  <jason@redhat.com>
15149
15150         * c-dump.c: Resurrect.
15151         * tree-dump.c: Move C-specific stuff to c-dump.c.
15152         * c-common.h: Declare c_dump_tree.
15153         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
15154         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
15155         (c-dump.o): New rule.
15156
15157 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
15158
15159         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
15160         PowerPC64.  Replace "T" and "S" constraints with "n" when the
15161         predicate will do.  Formatting fixes.
15162         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
15163         as for extzvsi_internal1.
15164
15165 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15166
15167         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
15168         DERIV_END_LABEL_FMT): Remove.
15169         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
15170
15171 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15172
15173         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
15174         Remove.
15175
15176 2002-07-25  Stan Shebs  <shebs@apple.com>
15177
15178         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
15179         local var dwarfp.
15180         (output_compiler_stub): Remove unused locals.
15181         (output_call): Always initialize line number.
15182
15183 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15184
15185         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
15186         * sh.md (truncdiqi2, movqi_media): Likewise.
15187
15188 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15189
15190         * gcse.c (obstack_chunk_alloc): Remove.
15191         (gcse_alloc): Fix to count allocated bytes.
15192         * collect2.c (SYMBOL__MAIN): Remove.
15193
15194 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15195
15196         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
15197         HAVE_TARGET_EXECUTABLE_SUFFIX.
15198
15199 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15200
15201         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
15202         SIZE, EXPR and OFFSET.
15203
15204 2002-07-25  Richard Henderson  <rth@redhat.com>
15205
15206         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
15207         in ARRAY_REF of DECL_P case.
15208
15209 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
15210
15211         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
15212         description.  Document -mips32, -mips64, and the associated -march
15213         values.  Describe the "mipsN" arguments to -march.  Say that the
15214         -mipsN options are equivalent to -march.  Reword the description
15215         of default type sizes.
15216         * toplev.h (target_flags_explicit): Declare.
15217         * toplev.c (target_flags_explicit): New var.
15218         (set_target_switch): Update target_flags_explicit.
15219         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
15220         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
15221         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
15222         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
15223         * config/mips/mips.h (mips_cpu_info): New struct.
15224         (mips_cpu_string, mips_explicit_type_size_string): Remove.
15225         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
15226         (MIPS_CPP_SET_PROCESSOR): New macro.
15227         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
15228         Define _MIPS_ARCH and _MIPS_TUNE.
15229         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
15230         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
15231         MIPS_ISA_DEFAULT were already defined.
15232         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
15233         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
15234         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
15235         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
15236         (ABI_GAS_ASM_SPEC): Remove.
15237         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
15238         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
15239         Invoke %(asm_abi_default_spec) if no ABI was specified.
15240         (CC1_SPEC): Remove ISA -> register-size rules.
15241         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
15242         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
15243         (mips_cpu_string, mips_explicit_type_size_string): Remove.
15244         (mips_cpu_info_table): New array.
15245         (mips_set_architecture, mips_set_tune): New fns.
15246         (override_options): Rework to make -mipsN equivalent to -march.
15247         Detect more erroneous cases, including those removed from CC1_SPEC.
15248         Don't change the ABI based on architecture, or vice versa.
15249         Unify logic with GAS.
15250         (mips_asm_file_start): Get architecture name from mips_arch_info.
15251         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
15252         (mips_parse_cpu): Take the name of the option as argument.  Handle
15253         'from-abi'.  Raise an error if the option is wrong.
15254         (mips_cpu_info_from_isa): New fn.
15255
15256 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
15257
15258         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
15259         (tablejump_mips162): Likewise.
15260
15261 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
15262
15263         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
15264         int_mode_for_mode.
15265
15266 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
15267
15268         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
15269         complaining.
15270         * c-common.h (c_sizeof): Adjust definition.
15271         (c_alignof): Likewise.
15272         * c-tree.h (c_sizeof_nowarn): Now macro.
15273         * c-typeck.c (c_sizeof_nowarn): Remove definition.
15274
15275 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15276
15277         * c-decl.c (c_decode_option): No need to handle switches
15278         cpplib handles.
15279
15280 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
15281
15282         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
15283         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
15284         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
15285         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15286
15287         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15288         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
15289         config/cris/aout.h, config/i386/freebsd-aout.h,
15290         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
15291         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
15292         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
15293         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
15294         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
15295         config/xtensa/elf.h, config/xtensa/linux.h:
15296         Use the new macros.
15297         Where possible, remove redundant definitions of SIZE_ASM_OP,
15298         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15299
15300 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
15301
15302         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
15303         TARGET_ISEL, and TARGET_FPRS.
15304
15305         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
15306         -mabi=spe, -mabi=no-spe, and -misel=.
15307
15308         * config/rs6000/rs6000-protos.h: Add output_isel.
15309         Move vrsave_operation prototype here.
15310
15311         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
15312         (smaxsi3): Same.
15313         (uminsi3): Same.
15314         (umaxsi3): Same.
15315         (abssi2_nopower): Disallow when TARGET_ISEL.
15316         (*ne0): Same.
15317         (negsf2): Change to expand and rename old pattern to *negsf2.
15318         (abssf2): Change to expand and rename old pattern to *abssf2.
15319
15320         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
15321         fixunssfsi2.
15322
15323         Change patterns that check for TARGET_HARD_FLOAT or
15324         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
15325
15326         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
15327         rs6000_isel, rs6000_fprs, rs6000_isel_string.
15328         (rs6000_override_options): Add 8540 case to
15329         processor_target_table.
15330         Set rs6000_isel for the 8540.
15331         Call rs6000_parse_isel_option.
15332         (enable_mask_for_builtins): New.
15333         (rs6000_parse_isel_option): New.
15334         (rs6000_parse_abi_options): Add spe and no-spe.
15335         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
15336         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
15337         for TARGET_HARD_FLOAT.
15338         Add case for SPE_VECTOR_MODE.
15339         (rs6000_legitimize_reload_address): Handle SPE vector modes.
15340         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
15341         vector modes.
15342         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
15343         (rs6000_emit_move): Check for TARGET_FPRS.
15344         Add cases for SPE vector modes.
15345         (function_arg_boundary): Return 64 for SPE vector modes.
15346         (function_arg_advance): Check for TARGET_FPRS and
15347         Handle SPE vectors.
15348         (function_arg): Same.
15349         (setup_incoming_varargs): Check for TARGET_FPRS.
15350         (rs6000_va_arg): Same.
15351         (struct builtin_description): Un-constify mask field.  Move up in
15352         file.
15353         (bdesc_2arg): Un-constify and add SPE builtins.
15354         (bdesc_1arg): Same.
15355         (bdesc_spe_predicates): New.
15356         (bdesc_spe_evsel): New.
15357         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
15358         (rs6000_expand_binop_builtin): Same.
15359         (bdesc_2arg_spe): New.
15360         (spe_expand_builtin): New.
15361         (spe_expand_predicate_builtin): New.
15362         (spe_expand_evsel_builtin): New.
15363         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
15364         (rs6000_init_builtins): Initialize SPE builtins.  Call
15365         rs6000_common_init_builtins.
15366         (altivec_init_builtins): Move all non-altivec builtin code to...
15367         (rs6000_common_init_builtins): ...here.  New function.
15368         (branch_positive_comparison_operator): Allow NE code for SPE.
15369         (ccr_bit): Return correct ccr bit for SPE fp.
15370         (print_operand): Emit crnor in 'D' case for SPE.
15371         New case 't'.
15372         Add SPE code for 'y' case.
15373         (rs6000_generate_compare): Generate rtl for SPE fp.
15374         (output_cbranch): Handle SPE hard floats.
15375         (rs6000_emit_cmove): Handle isel.
15376         (rs6000_emit_int_cmove): New.
15377         (output_isel): New.
15378         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
15379         64-bits for SPE.
15380         (debug_stack_info): Add SPE info.
15381         (gen_frame_mem_offset): New.
15382         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
15383         Change mode of frame pointer, when saving it, to Pmode.
15384         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
15385         Misc cleanups and use gen_frame_mem_offset when appropriate.
15386
15387         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
15388         (TARGET_SPE_ABI): New.
15389         (TARGET_SPE): New.
15390         (TARGET_ISEL): New.
15391         (TARGET_FPRS): New.
15392         (FIXED_SCRATCH): New.
15393         (RTX_COSTS): Add PROCESSOR_PPC8540.
15394         (ASM_CPU_SPEC): Add case for 8540.
15395         (TARGET_OPTIONS): Add isel= case.
15396         (rs6000_spe_abi): New.
15397         (rs6000_isel): New.
15398         (rs6000_fprs): New.
15399         (rs6000_isel_string): New.
15400         (UNITS_PER_SPE_WORD): New.
15401         (LOCAL_ALIGNMENT): Adjust for SPE.
15402         (HARD_REGNO_MODE_OK): Same.
15403         (DATA_ALIGNMENT): Same.
15404         (MEMBER_TYPE_FORCES_BLK): New.
15405         (FIRST_PSEUDO_REGISTER): Set to 113.
15406         (FIXED_REGISTERS): Add SPE registers.
15407         (reg_class): Same.
15408         (REG_CLASS_NAMES): Same.
15409         (REG_CLASS_CONTENTS): Same.
15410         (REGNO_REG_CLASS): Same.
15411         (REGISTER_NAMES): Same.
15412         (DEBUG_REGISTER_NAMES): Same.
15413         (ADDITIONAL_REGISTER_NAMES): Same.
15414         (CALL_USED_REGISTERS): Same.
15415         (CALL_REALLY_USED_REGISTERS): Same.
15416         (SPE_ACC_REGNO): New.
15417         (SPEFSCR_REGNO): New.
15418         (SPE_SIMD_REGNO_P): New.
15419         (HARD_REGNO_NREGS): Adjust for SPE.
15420         (VECTOR_MODE_SUPPORTED_P): Same.
15421         (REGNO_REG_CLASS): Same.
15422         (FUNCTION_VALUE): Same.
15423         (LIBCALL_VALUE): Same.
15424         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
15425         (SPE_VECTOR_MODE): New.
15426         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
15427         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
15428         (rs6000_stack): Add spe_gp_size, spe_padding_size,
15429         spe_gp_save_offset.
15430         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
15431         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
15432         (SPE_CONST_OFFSET_OK): New.
15433         (rs6000_builtins): Add SPE builtins.
15434
15435         * testsuite/gcc.dg/ppc-spe.c: New.
15436
15437         * config/rs6000/eabispe.h: New.
15438
15439         * config/rs6000/spe.h: New.
15440
15441         * config/rs600/spe.md: New.
15442
15443         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
15444         __SIMD__ for TARGET_SPE.
15445
15446         * config.gcc: Add powerpc-*-eabispe* case.
15447         Add spe.h to user headers for powerpc.
15448
15449 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
15450
15451         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
15452         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15453         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
15454
15455 2002-07-24  Richard Henderson  <rth@redhat.com>
15456
15457         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
15458         form when not optimizing.
15459
15460 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
15461
15462         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
15463         thread_pointer_rtx as unchanging.
15464
15465 2002-07-24  Michael Matz  <matz@suse.de>
15466
15467         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
15468         (free_reg): Use it.
15469
15470 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
15471
15472         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
15473         pattern.
15474         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
15475         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
15476
15477 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
15478
15479         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
15480         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15481         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
15482
15483 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
15484
15485         * toplev.c (rest_of_compilation): Dump loops before clobbering
15486         the structure.
15487
15488 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15489
15490         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
15491
15492 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
15493
15494         PR optimization/7291
15495         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
15496         problem on x86_64.
15497
15498 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
15499
15500         * pretty-print.h: Add macros from cp/error.c
15501
15502 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15503
15504         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
15505         (mask64_2_operand): Declare.
15506         (build_mask64_2_operands): Declare.
15507         (and64_2_operand): Declare.
15508         (extract_MB): Declare.
15509         (extract_ME): Declare.
15510         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
15511         CONST_DOUBLE code.
15512         (mask_operand_wrap): New insn predicate.
15513         (mask64_2_operand): Likewise.
15514         (and64_2_operand): Likewise.
15515         (build_mask64_2_operands): New function.
15516         (extract_MB): New function.
15517         (extract_ME): New function.
15518         (print_operand <case m,M>): Use extract_MB and extract_ME.
15519         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
15520         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
15521         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
15522         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
15523         * config/rs6000/rs6000.md (andsi3_internal3): New
15524         (andsi3_internal3+1): Enable split for powerpc64.
15525         (andsi3_internal3+2): New split.
15526         (andsi3_internal4): Renamed old andsi3_internal3.
15527         (andsi3_internal5): New.
15528         (andsi3_internal5+1): Enable split for powerpc64.
15529         (andsi3_internal5+2): New split.
15530         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
15531         (anddi3): Handle 't' constraint.
15532         (anddi3+1): New split.
15533         (anddi3_internal2): Handle 't' constraint.
15534         (anddi3_internal2+1): New split.
15535         (anddi3_internal3): Handle 't' constraint.
15536         (anddi3_internal3+1): New split.
15537
15538 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15539
15540         * config/rs6000/rs6000.md: Remove scratch reg on insns using
15541         addze and similar (plus (comparison r1 r2) r3) insns.  Add
15542         missing scratch reg in one case.  Formatting fixes.
15543
15544 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
15545
15546         * cppexp.c (parse_defined): Mark macro used.
15547         * cpphash.h (struct cpp_macro): New member "used".
15548         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
15549         (struct cpp_reader): New member.
15550         * cppinit.c (cpp_finish_options): Set first_unused_line.
15551         (cpp_finish): Warn of unused macros if requested.
15552         (OPT_TABLE): New switches.
15553         (cpp_handle_option): Handle them.
15554         * cpplib.c (do_undef): Warn if macro unused.
15555         (do_ifdef, do_ifndef): Mark macro used.
15556         * cpplib.h (struct cpp_options): New member.
15557         * cppmacro.c (_cpp_warn_if_unused_macro): New.
15558         (enter_macro_context): Mark macro used.
15559         (_cpp_create_definition): Mark macro unused; warn if unused
15560         when redefined.
15561         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
15562         Mark macros used.
15563         * doc/cppopts.texi: Update.
15564
15565 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15566
15567         * dwarf2out.c (SECTION_ASM_OP,
15568         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15569         * system.h (SECTION_ASM_OP): Poison.
15570         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
15571         * config/alpha/alpha-interix.h, config/mips/linux.h
15572         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15573         * config/mmix/mmix-protos.h, config/mmix/mmix.c
15574         (mmix_asm_output_define_label_difference_symbol): Remove.
15575         * config/mmix/mmix.h
15576         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15577         * doc/tm.texi: Remove documentation.
15578
15579 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
15580
15581         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
15582         (constrain_operands): Likewise.
15583         * regclass.c (record_reg_classes): Likewise.
15584         * reload.c (find_reloads): Likewise.
15585         * doc/md.texi: Likewise.
15586
15587         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
15588         * simplify-rtx.c (simplify_subreg): When converting to a non-int
15589         mode, try to convert to an integer mode of matching size first.
15590
15591         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
15592         from individual subregs, check that each subreg has been generated
15593         sucessfully.
15594
15595 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15596
15597         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
15598         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
15599         FOR_EACH_BB_IN_SBITMAP): Remove.
15600         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
15601         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
15602         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
15603         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
15604         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
15605         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
15606
15607 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15608
15609         * pretty-print.h: New file.
15610
15611 2002-07-23      Paul Koning     <pkoning@equallogic.com>
15612
15613         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
15614         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
15615         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
15616         (TARGET_G_FLOAT): Default to 0 if not defined.
15617         (ieeetoe): New, common routine to convert target format floats
15618         to internal form.
15619         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
15620         vs. others.
15621         (e113toe): Change to use ieeetoe.
15622
15623 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15624
15625         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
15626         IBM.
15627         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
15628         (e64toe): Remove special cases for DEC and IBM. Remove support for
15629         ARM_EXTENDED_IEEE_FORMAT.
15630         (e24toe): Remove special cases for DEC.
15631         (significand_size): Simplify. Indent.
15632         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
15633         (etoieee, toieee): New.
15634         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
15635         etoieee and toieee for IEEE arithmetic.
15636
15637 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15638
15639         * doc/extend.texi: Say ISO C90, not ISO C89.
15640         * doc/invoke.texi: Likewise.
15641         * doc/standards.texi: Likewise.
15642
15643 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
15644
15645         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
15646         Fix permutation of conversion and plus/mult.
15647         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
15648         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
15649         (expand_builtin_strncpy) Ditto.
15650         (expand_builtin_memset) Ditto.
15651
15652 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15653
15654         Fix PR/7363:
15655         * c-common.c (c_sizeof_or_alignof_type): New function.
15656         (c_alignof): Remove definition.
15657         * c-common.h (c_sizeof, c_alignof): Define as macros.
15658         (c_sizeof_or_alignof_type): Declare.
15659         (my_friendly_assert): Moved from cp/cp-tree.h
15660         * c-typeck.c (c_sizeof): Remove definition.
15661
15662 2002-07-23  Jan Hubicka  <jh@suse.cz>
15663
15664         * gcse.c (try_replace_reg): Use num_changes_pending.
15665         * recog.c (num_changes_pending): New function.
15666         (validate_replace_src): Use validate_repalce_src_group.
15667         (validate_replace_src_group): New.
15668         * recog.h (validate_repalce_src_group): New.
15669         (num_changes_pending): Likewise.
15670
15671 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15672
15673         * calls.c (emit_library_call_value_1): If
15674         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15675         libcall, const call nor pure call.
15676
15677 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15678
15679         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15680
15681 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15682
15683         * vmsdbgout.c (SECTION_ASM_OP): Remove.
15684
15685 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15686
15687         * config/i386/i386.c (AT_BP): Remove.
15688
15689 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15690
15691         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15692         Default definition.
15693         * gcse.c: Don't define obstack_chunk_free.
15694         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15695         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15696         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15697         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15698         Don't define obstack macros.
15699
15700 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15701
15702         PR target/6744
15703         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15704         ASM_OPERANDS instructions.
15705
15706 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15707
15708         PR target/7361
15709         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15710         constant addresses only on 68HC12.
15711
15712 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15713
15714         * cppfiles.c (stack_include_file): Correct test of whether
15715         a dependency should be output.
15716
15717 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15718
15719         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15720
15721 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15722
15723         * arm.md (movqi): If optimizing and we can create pseudos, use
15724         a ZERO_EXTEND to load from memory, then copy the result into the
15725         target.
15726         (movhi): Likewise, but only for ARMv4.
15727
15728 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15729
15730         * ssa-ccp.c (PHI_PARMS): Remove.
15731
15732 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15733
15734         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15735         on big-endian targets.
15736
15737 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15738
15739         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15740         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15741         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15742         New formatting macros.
15743
15744         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15745
15746 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15747
15748         * rtlanal.c (subreg_regno_offset): Return correct offset for
15749         big endian paradoxical subregs.
15750
15751         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15752         if we got the wrong mode.
15753
15754         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15755         * genrecog.c (write_switch, write_cond): Use it.
15756         * genemit.c (gen_exp): Likewise.
15757
15758 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15759
15760         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15761
15762 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15763
15764         * c-decl.c (build_compound_literal): Defer compound literal decls
15765         until until file end to emit them only if they are actually used.
15766
15767 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15768
15769         * ra-build.c (check_conflict_numbers): Hide unused function.
15770         (livethrough_conflicts_bb): Avoid automatic aggregate
15771         initialization.
15772         (parts_to_webs_1): Avoid `U' integer constant modifier.
15773         (conflicts_between_webs): Wrap a variable in the macro controlling
15774         its usage.
15775         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15776         (dump_igraph, dump_graph_cost): Avoid string concatenation
15777         (dump_static_insn_cost): Avoid automatic aggregate
15778         initialization.
15779         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15780         initialization.
15781         (dump_cost): Avoid string concatenation
15782
15783 2002-07-21  Richard Henderson  <rth@redhat.com>
15784
15785         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15786         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15787
15788 2002-07-21  Richard Henderson  <rth@redhat.com>
15789
15790         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15791         that are not unrolled completely.
15792
15793 2002-07-21  Richard Henderson  <rth@redhat.com>
15794
15795         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15796         * loop.c (strength_reduce): Update.
15797         * toplev.c (rest_of_compilation): Do unrolling in the first
15798         loop pass, not the second.
15799
15800 2002-07-21  Richard Henderson  <rth@redhat.com>
15801
15802         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15803         when flag_argument_noalias == 2.
15804         * alias.c (nonoverlapping_memrefs_p): Handle that.
15805         * print-rtl.c (print_mem_expr): Likewise.
15806
15807 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15808
15809         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15810         instead of __negdi2 directly.
15811
15812 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15813
15814         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15815         * function.c (SYMBOL__MAIN): Remove definition.
15816         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15817         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15818         * profile.c (GCOV_INDEX_TO_BB): Remove.
15819         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15820         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15821
15822 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15823
15824         * c-lex.c (GET_ENVIRONMENT): Remove.
15825         * collect2.c (GET_ENV_PATH_LIST): Remove.
15826         (prefix_from_env): Use GET_ENVIRONMENT.
15827         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15828         (init_standard_includes): Use GET_ENVIRONMENT.
15829         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15830         * gcc.c (GET_ENV_PATH_LIST): Remove.
15831         (make_relative_prefix, process_command): Update.
15832         * protoize.c (GET_ENV_PATH_LIST): Remove.
15833         (do_processing): Update.
15834
15835 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15836
15837         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15838         (grokdeclarator): Likewise.
15839         * c-format.c (C_STD_NAME): Likewise.
15840         * c-lex.c (interpret_integer): Likewise.
15841         * c-typeck.c (build_array_ref): Likewise.
15842         * cpplex.c (_cpp_lex_direct): Likewise.
15843         * toplev.c (documented_lang_options): Likewise.
15844
15845 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15846
15847         * c-format.c (T99_I, T99_UI): Remove.
15848
15849 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15850
15851         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15852
15853 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15854
15855         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15856         do_local_cprop.
15857
15858 2002-07-21  Andreas Jaeger  <aj@suse.de>
15859
15860         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15861
15862 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15863
15864         Improvements for the ifcvt pass from Michael Meissner, with patches
15865         by Richard Sandiford <rsandifo@redhat.com>
15866         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15867         * ifcvt.c (cond_exec_changed_p): New static variable.
15868         (last_active_insn): New function, renamed from last_active_insn_p
15869         and changed to return the last active insn in a basic block. All
15870         callers updated.
15871         (block_fallthru): New function.
15872         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15873         IFCVT_MODIFY_INSN.  All callers updated.
15874         Return false if START or END are NULL.
15875         Handle case where we're processing an insn that is already
15876         conditional.
15877
15878         (noce_process_if_block): CE_INFO argument rather than
15879         multiple args containing the involved basic blocks.  All callers
15880         changed.
15881         (process_if_block, merge_if_block, find_if_block,
15882         cond_exec_process_if_block): Likewise.
15883
15884         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15885         changed.
15886         Use new function last_active_insn to simplify some code.
15887         New code to handle multiple tests.
15888         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15889         cond_exec_changed_p to TRUE.
15890
15891         (process_if_block): New code to handle multiple tests.
15892         (merge_if_block): Likewise.
15893         (find_if_header): New arg PASS.  Changed to return the currently
15894         processed basic block or NULL instead of true/false. All callers
15895         changed.
15896         Call IFCVT_INIT_EXTRA_FIELDS.
15897         (block_jumps_and_fallthru_p): New function.
15898         (find_if_block): Discover opportunities to convert multiple tests.
15899         Add additional debugging output.
15900         Update the ce_info structure before returning.
15901
15902         (if_convert): Run multiple passes of if-conversion.
15903         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15904         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15905         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15906         these macros.
15907
15908 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15909
15910         * gcse.c: Include cselib.h
15911         (constptop_register): Break out from ...
15912         (cprop_insn): ... here; kill basic_block argument.
15913         (do_local_cprop, local_cprop_pass): New functions.
15914         (one_cprop_pass): Call local_cprop_pass.
15915
15916 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15917
15918         * simplify-rtx.c (simplify_relational_operation): Optimize
15919         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15920
15921 2002-07-20  Michae Matz  <matz@suse.de>
15922
15923         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15924
15925 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15926
15927         * cppexp.c (struct op): Add token pointer.
15928         (check_promotion, CHECK_PROMOTION): New.
15929         (optab): Update.
15930         (_cpp_parse_expr): Update, use token pointer of struct op.
15931         (reduce): Warn about change of sign owing to promotion.
15932         * cppinit.c (cpp_handle_option): New warning if -Wall.
15933         * cpplib.h (struct cpp_options): New member.
15934
15935 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15936
15937         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15938         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15939         Power4 fpcompare.
15940         (fix_truncdfsi2_internal): Restore FPR preference.
15941         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15942         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15943
15944 2002-07-19  Momchil Velikov <velco@fadata.bg>
15945
15946         * reload1.c (reload_as_needed): Duplicate oldpat.
15947
15948 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15949
15950         PR optimization/7130
15951         * loop.h (struct loop_info): Add "preconditioned".
15952         * unroll.c (unroll_loop): Set it.
15953         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15954
15955 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15956
15957         * rtl.def (CODE_LABEL): Remove slot 8.
15958         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15959         (LABEL_ALTERNATE_NAME): Delete.
15960         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15961         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15962
15963         * final.c (output_alternate_entry_point): New.
15964         (final_scan_insn): Use it instead of
15965         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15966         of a case label being an alternate entry point.
15967
15968         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15969         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15970         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15971         (field deleted).
15972         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15973
15974         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15975         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15976         * doc/tm.texi: Delete documentation of
15977         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15978
15979 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15980
15981         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15982         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15983         (LINK_SPEC): Define.
15984         (STARTFILE_SPEC): Define.
15985         (ENDFILE_SPEC): Define.
15986
15987         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15988         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15989
15990         * config/mips/iris6-o32-gas.h: New file.
15991         * config.gcc (mips-sgi-irix6*o32): Use it.
15992
15993         * config/mips/t-iris5-gas: New file.
15994         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15995
15996 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15997
15998         * cppexp.c (ALWAYS_EVAL): Remove.
15999         (optab, reduce): Always evaluate.
16000         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
16001         only if not skipping evaluation.
16002
16003 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16004
16005         * config/avr/avr.c (debug_hard_reg_set): Remove.
16006
16007 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
16008
16009         * gcc.c (cpp_options): Include "%1" (cc1_spec).
16010
16011 2002-07-19  Richard Henderson  <rth@redhat.com>
16012
16013         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
16014
16015 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
16016
16017         * prefix.c (update_path): Don't zap single `.' path components
16018         unless followed by another `.' and fix typo last patch.
16019
16020 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
16021
16022         * cppexp.c (cpp_num_mul): Remove unused parameter.
16023         (UNARY, BINARY, OTHER, binary_handler): Remove.
16024         (ALWAYS_EVAL): New.
16025         (optab): Update.
16026         (reduce): Refactor to a large switch, don't use a function
16027         pointer.
16028
16029 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
16030
16031         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
16032
16033 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
16034
16035         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
16036         (sh_expand_binop_v2sf): Likewise.
16037         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
16038         (int_gpr_dest, trunc_hi_operand): New functions.
16039         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
16040         trunc_hi_operand.
16041         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
16042         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
16043         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
16044         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
16045         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
16046         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
16047         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
16048         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
16049         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
16050         (movsf_ie+1): Likewise.
16051         (loaddi_trunc): Use int_gpr_dest predicate.
16052         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
16053         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
16054         (casesi_worker_0+[12], casesi_worker): Likewise.
16055         (shcompact_preserve_incoming_args): Likewise.
16056         (mov_nop): Use any_register_operand predicate.
16057         (mperm_w0): Use trunc_hi_operand predicate.
16058
16059 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16060
16061         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
16062         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
16063         numbering.
16064
16065 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16066
16067         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
16068
16069 2002-07-18  Richard Henderson  <rth@redhat.com>
16070
16071         PR optimization/7147
16072         * ifcvt.c (noce_get_condition): Make certain that the condition
16073         is valid at JUMP.
16074
16075 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
16076
16077         * sh.c (barrier_align, push): Shut up compiler warnings.
16078         (initial_elimination_offset,sh_media_init_builtins): Likewise.
16079         (reg_no_subreg_operand): Delete.
16080
16081 2002-07-17  Bo Thorsen  <bo@suse.de>
16082
16083         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
16084         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
16085         (STARTFILE_SPEC): Remove hardcoded library paths.
16086         (ENDFILE_SPEC): Likewise.
16087
16088 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
16089
16090         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
16091
16092         * gcse.c (try_replace_reg): Do not return false positives.
16093
16094 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
16095
16096         * prefix.c: (update_path): Strip ".." components when prior dir
16097         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
16098
16099         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
16100         (ASM_OUTPUT_REG_POP): Likewise.
16101
16102 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
16103
16104         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
16105         adjustments to first_reg for profiling case.
16106         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
16107         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
16108         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
16109         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
16110         (ASM_OUTPUT_REG_POP): Define.
16111         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
16112         (ASM_OUTPUT_REG_POP): Undef.
16113
16114 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
16115
16116         * cpplib.c (do_sccs): Handle #sccs on all systems.
16117         * system.h (SCCS_DIRECTIVE): Poison.
16118         * config/darwin.h, config/freebsd.h, config/netbsd.h,
16119         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
16120         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
16121         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
16122         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
16123         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
16124         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
16125         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
16126         Remove all references to SCCS_DIRECTIVE.
16127         * doc/cpp.texi, doc/tm.texi: Update.
16128
16129 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
16130
16131         * regrename.c (maybe_mode_change): New function.
16132         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
16133
16134 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
16135
16136         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
16137         suppress addition when either ct or cf are zero.
16138
16139 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
16140             Glen Nakamura <glen@imodulo.com>
16141
16142         PR optimization/6713
16143         * loop.c (loop_givs_rescan): Explicitly delete the insn that
16144         sets a non-replaceable giv after issuing the new one.
16145
16146 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
16147
16148         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
16149         eval_token): Clarify and correct use of "bool" variables.
16150         * cpplib.h (struct cpp_options): Similarly.
16151         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
16152         * cpptrad.c (recursive_macro): Similarly.
16153
16154 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
16155
16156         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
16157         SHmedia code.
16158
16159         * sh.md (cmpgtudi_media): Remove spurious @.
16160
16161         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
16162         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
16163
16164         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
16165         * sh-protos.h (sh_initialize_trampoline): Declare.
16166         * sh.c (sh_initialize_trampoline): New function.
16167         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
16168         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
16169         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
16170         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
16171         * sh.md (initialize_trampoline, double_shori): New patterns.
16172         (initialize_trampoline_compact): Likewise.
16173         (shmedia32_initialize_trampoline_big): Remove.
16174         (shmedia32_initialize_trampoline_little): Likewise.
16175
16176         * sh-protos.h (binary_float_operator): Remove declaration.
16177         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
16178         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
16179         (unary_float_operator, sh_expand_unop_v2sf): New functions.
16180         (sh_expand_binop_v2sf): Likewise.
16181         (zero_vec_operand): Delete.
16182         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
16183         all non-shared ones.
16184         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
16185         Enable nsb and byterev.
16186         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
16187         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
16188         in general regs.
16189         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
16190         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
16191         immediate operands.
16192         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
16193         Add DF_HI_REGS.
16194         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
16195         lowpart fp regs - only for big endian for now.
16196         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
16197         when FPU is in use.
16198         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
16199         (LOAD_EXTEND_OP): NIL for SImode.
16200         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
16201         general and fp registers is 4.
16202         PREDICATE_CODES: Amend binary_float_operator entry.
16203         Remove zero_vec_operand.  Add unary_float_operator.
16204         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
16205         subreg SET_DEST.
16206         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
16207         (truncdiqi2): Do sign extension.
16208         (movsi_media, movdi_media): Allow to use r63 to an fp register.
16209         (movdf_media, movsf_media): Likewise.
16210         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
16211         Collapse to one define_insn_and_split.  Allow immediate sources.
16212         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
16213         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
16214         (movv4sf): Allow immediate sources.
16215         (movsf_media_nofpu+1): Don't split moves to FP registers.
16216         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
16217         (movv8qi_i+3): Check against CONST0_RTX.
16218         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
16219         for input and output operands.  Fix argument 3 to gen_mextr_rl.
16220         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
16221         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
16222         (mshf0_w, fipr, ftrv): Likewise.
16223         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
16224
16225 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
16226
16227         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
16228         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
16229         * arm.c: Similarly.
16230
16231 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
16232
16233         * config/mips/mips-protos.h (mips_sign_extend): Declare.
16234         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
16235         (TARGET_SWITCHES): Remove debugh.
16236         (ISA_HAS_TRUNC_W): New macro.
16237         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
16238         (PREDICATE_CODES): Remove se_nonimmediate_operand.
16239         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
16240         any SImode move_operand.
16241         (se_nonimmediate_operand): Remove.
16242         (mips_sign_extend): New.
16243         (mips_move_2words): Use it for sign-extended source operands.
16244         (override_options): Allow integers to be put into single FPRs.
16245         (mips_secondary_reload_class): Handle integers in float registers.
16246         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
16247         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
16248         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
16249         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
16250         (fix_truncdfdi2): Provide only a single alternative, in which the
16251         integer is in a float register.  Depend on TARGET_FLOAT64 rather
16252         than TARGET_64BIT.
16253         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
16254         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
16255         (movdi_internal2): Don't allow the source operand to be sign-extended.
16256         Add alternatives for float registers.
16257         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
16258         allows sign-extension.
16259         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
16260         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
16261         float registers.  Remove TARGET_DEBUG_H_MODE test.
16262         (movhi_internal1): Rename to movhi_internal.  Don't check
16263         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
16264         (movqi_internal1): Rename to movqi_internal and remove
16265         TARGET_DEBUG_H_MODE dependency.
16266         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
16267
16268 2002-07-16  Jim Wilson  <wilson@redhat.com>
16269
16270         * toplev.c (lang_dependent_init): Create function context for
16271         init_expr_once.
16272
16273 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
16274
16275         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
16276         --gc-sections if -r.
16277         * config/cris/cris.h: Ditto.
16278
16279 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
16280
16281         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
16282         the comparison directly gives a mask suppress addition when cf is
16283         zero by complementing the mask.
16284
16285 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
16286
16287         * Makefile.in: Delete references to enquire.
16288         * enquire.c: Move to contrib.
16289
16290 2002-07-16  Stan Shebs  <shebs@apple.com>
16291
16292         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
16293         config/rs6000/darwin.h.
16294         (ASM_OUTPUT_SKIP): Ditto.
16295         (TEXT_SECTION_ASM_OP): Ditto.
16296         (DATA_SECTION_ASM_OP): Ditto.
16297         (ASM_APP_ON): Define.
16298         (ASM_APP_OFF): Define.
16299         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
16300         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
16301
16302         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
16303         (machopic_function_base_name): Declare result to be const.
16304         (machopic_non_lazy_ptr_name): Ditto.
16305         (machopic_stub_name): Ditto.
16306         * config/darwin-protos.h: Ditto for the prototypes.
16307
16308 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
16309
16310         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
16311
16312 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
16313
16314         * i386.md (prefetch): Fix for 64bit mode.
16315         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16316
16317 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
16318
16319         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
16320         * i386.c (x86_machine_dependent_reorg): New function.
16321         * i386-protos.h (x86_machine_dependent_reorg): Declare.
16322
16323 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
16324
16325         * builtins.c (std_expand_builtin_va_start): Remove unused
16326         first argument.
16327         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
16328         std_expand_builtin_va_start with just two arguments.
16329         * expr.h: Update prototypes.
16330
16331         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
16332         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
16333         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
16334         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
16335         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
16336         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
16337         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
16338         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
16339         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
16340         argument from all implementations of EXPAND_BUILTIN_VA_START
16341         and all uses of std_expand_builtin_va_start.
16342
16343 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
16344
16345         * regrename.c (copy_value): Don't record high part copies.
16346
16347 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
16348
16349         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
16350         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
16351         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
16352
16353 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
16354
16355         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
16356
16357         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
16358         into addsi3 using register class "x" and "y".
16359
16360         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
16361         "earlyclobber" constraint modifier for some alternative.
16362
16363         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
16364         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
16365         unordered.
16366         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
16367
16368         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
16369         (TARGET_SWITCHES): Add -mieee-compare option.
16370         (OVERRIDE_OPTIONS): 32332 is a subset of
16371         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
16372         (TARGET_SWITCHES): Fix description of bitfield option.
16373         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
16374         -mieee-compare option. Remove 32332 flag.
16375
16376 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
16377
16378         * explow.c (convert_memory_address): Remove special handling
16379         when POINTERS_EXTEND_UNSIGNED < 0.
16380         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
16381         (movedi_symbolic): Fix typo.
16382         (load_fptr): Remove mode restriction so it works for SI and DI.
16383         (load_fptr_internal1): Ditto.
16384         (load_gprel): Ditto.
16385         (load_symptr_internal1): Ditto.
16386         (call_pic): Ditto.
16387         * config/ia64.c (call_operand): Modify mode check.
16388         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
16389         (ia64_expand_move): Ditto.
16390         (ia64_assemble_integer): Handle SImode function pointers.
16391         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
16392         (ia64_expand_op_and_fetch): Ditto.
16393         (ia64_expand_compare_and_swap): Ditto.
16394         (ia64_expand_lock_test_and_set): Ditto.
16395         (ia64_expand_lock_release): Ditto.
16396
16397 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16398
16399         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
16400
16401 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16402             Richard Earnshaw  <rearnsha@arm.com>
16403
16404         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
16405         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
16406
16407 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
16408
16409         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
16410         understands to be a memory clobber.
16411         * arm.c (arm_expand_prologue): Use it.
16412
16413 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
16414
16415         * ra-rewrite.c: #include reload.h, insn-config.h
16416         * ra-build.c: #include reload.h
16417         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
16418         depend on reload.h, insn-config.h.
16419
16420 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16421
16422         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
16423         the same size as a word.
16424
16425         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
16426         BYTES_BIG_ENDIAN into account.
16427
16428 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
16429
16430         * i386.md (prefetch): Fix for 64bit mode.
16431         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16432
16433         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
16434
16435 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16436
16437         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
16438
16439 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
16440
16441         * ginclude/varargs.h: Replace with stub which issues #error.
16442         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
16443         __builtin_va_start.
16444
16445         * builtins.def (BUILT_IN_VARARGS_START): Delete.
16446         (BUILT_IN_VA_START): New.
16447         * builtins.c (expand_builtin_va_start): Eliminate first
16448         argument and code to implement pre-ISO varargs.
16449         (std_expand_builtin_va_start): Ignore first argument; it is
16450         always 1.
16451         (expand_builtin): Handle BUILT_IN_VA_START and
16452         BUILT_IN_STDARG_START identically.  Delete
16453         BUILT_IN_VARARGS_START case.
16454
16455         * function.c (assign_parms): Delete hide_last_arg and all
16456         its uses.
16457         (mark_varargs): Delete function.
16458         * function.h (struct function): Delete 'varargs' bit.
16459         (current_function_varargs): Delete macro.
16460         * tree.h: Don't declare mark_varargs.
16461
16462         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
16463         (c_expand_body): Don't call mark_varargs.
16464         * c-objc-common.c: Handle BUILT_IN_VA_START and
16465         BUILT_IN_STDARG_START identically.  Delete
16466         BUILT_IN_VARARGS_START case.
16467         * c-tree.h: Don't declare c_mark_varargs.
16468         * c-parse.in: Remove grammar rules for '&...' (which has been
16469         commented out since before 2.7.2) and for '...' in K+R
16470         argument declarations.
16471
16472         * builtins.c, function.c, integrate.c, sibcall.c,
16473         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
16474         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
16475         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
16476         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
16477         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
16478         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
16479         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
16480         config/stormy16/stormy16.c: Delete all references to
16481         current_function_varargs, and code predicated on that flag.
16482
16483         * config/alpha/alpha.c (alpha_va_start),
16484         config/arc/arc.c (arc_va_start),
16485         config/i386/i386.c (ix86_va_start),
16486         config/mips/mips.c (mips_va_start),
16487         config/mn10300/mn10300.c (mn10300_va_start),
16488         config/rs6000/rs6000.c (rs6000_va_start),
16489         config/s390/s390.c (s390_va_start),
16490         config/sh/sh.c (sh_va_start),
16491         Ignore first argument; it is always 1.
16492
16493         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
16494         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
16495         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
16496         Delete m68hc11_va_start.
16497         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
16498         No need to define EXPAND_BUILTIN_VA_START.
16499
16500         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
16501         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
16502
16503 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
16504
16505         PR optimization/7153
16506         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
16507         dies in more than one insn.
16508
16509 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
16510
16511         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
16512
16513 2002-07-15  Michael Matz  <matz@suse.de>,
16514             Daniel Berlin  <dberlin@dberlin.org>,
16515             Denis Chertykov  <denisc@overta.ru>
16516
16517         Add a new register allocator.
16518
16519         * ra.c: New file.
16520         * ra.h: New file.
16521         * ra-build.c: New file.
16522         * ra-colorize.c: New file.
16523         * ra-debug.c: New file.
16524         * ra-rewrite.c: New file.
16525
16526         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
16527         (ra-rewrite.o): New .o files for libbackend.a.
16528         (GTFILES): Add basic-block.h.
16529
16530         * toplev.c (flag_new_regalloc): New.
16531         (f_options): New option "new-ra".
16532         (rest_of_compilation): Call initialize_uninitialized_subregs()
16533         only for the old allocator.  If flag_new_regalloc is set, call
16534         new allocator, instead of local_alloc(), global_alloc() and
16535         friends.
16536
16537         * doc/invoke.texi: Document -fnew-ra.
16538         * basic-block.h (FOR_ALL_BB): New.
16539         * config/rs6000/rs6000.c (print_operand): Write small constants
16540         as @l+80.
16541
16542         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
16543         (df_reg_table_realloc): Make size at least as large as max_reg_num().
16544         (df_insn_table_realloc): Size argument now is absolute, not relative.
16545         Changed all callers.
16546
16547         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
16548         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
16549
16550         2002-06-20  Michael Matz  <matz@suse.de>
16551
16552         * df.h (struct ref.id): Make unsigned.
16553         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
16554
16555         2002-06-13  Michael Matz  <matz@suse.de>
16556
16557         * df.h (DF_REF_MODE_CHANGE): New flag.
16558         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
16559         involving subregs with invalid mode changes, when
16560         CLASS_CANNOT_CHANGE_MODE is defined.
16561
16562         2002-05-07  Michael Matz  <matz@suse.de>
16563
16564         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
16565
16566         2002-05-03  Michael Matz  <matz@suse.de>
16567
16568         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
16569
16570         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
16571
16572         * regclass.c (regclass): Work with all regs which have sets or
16573         refs.
16574         (reg_scan_mark_refs): Count regs inside (clobber ...).
16575
16576         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
16577
16578         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
16579         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
16580         add new refs.
16581         (df_bb_refs_update): Don't clear insns_modified here, ...
16582         (df_analyse): ... but here.
16583
16584         * sbitmap.c (dump_sbitmap_file): New.
16585         (debug_sbitmap): Use it.
16586
16587         * sbitmap.h (dump_sbitmap_file): Add prototype.
16588
16589         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
16590
16591         * df.c (df_insn_modify): Grow the UID table if necessary, rather
16592         than assume all emits go through df_insns_modify.
16593
16594         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16595
16596         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
16597         increase REG_N_REFS (like flow does), so that regclass doesn't
16598         think a reg is useless, and thus, not calculate a class, when it
16599         really should have.
16600
16601         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
16602
16603         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
16604         dataflow analysis.
16605
16606 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
16607
16608         PR middle-end/7245
16609         * config/i386/i386.c (const_int_1_31_operand): New.
16610         * config/i386/i386.h (PREDICATE_CODES): Add it.
16611         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
16612         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
16613         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
16614
16615 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
16616
16617         PR target/7282
16618         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
16619         (floatunssidf2): Likewise.
16620         (floatsidf_ppc64): New insn_and_split.
16621         (floatunssidf_ppc64): Likewise.
16622
16623 2002-07-14  Andreas Jaeger  <aj@suse.de>
16624
16625         * config.gcc (sh64): Remove unused
16626         target_requires_64bit_host_wide_int.
16627
16628 2002-07-12  Roger Sayle  <roger@eyesopen.com>
16629
16630         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
16631         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
16632         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
16633         whether clear_by_pieces should be used to clear storage.
16634         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
16635
16636         * doc/tm.texi: Document these two new target macros.
16637
16638 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
16639
16640         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
16641         the scratch register.
16642         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
16643         of it, forbid reload to use it.
16644
16645 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16646
16647         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
16648         usage on 64-bit hosts, return value was truncated to 32 bits.
16649
16650 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
16651
16652         * simplify-rtx.c (simplify_subreg): Handle floating point
16653         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
16654         the element mode is requested, compute a subreg with an
16655         integer mode of the same size as the element mode first.
16656
16657 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16658
16659         * combine.c (try_combine): When converting a paradoxical subreg
16660         to an extension, take LOAD_EXTEND_OP into account.
16661
16662 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16663
16664         * config.gcc (mips-sgi-irix6*o32): New configuration.
16665
16666         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16667         configurations.
16668         * configure: Regenerate.
16669
16670         * config/mips/iris6-o32-as.h: New file.
16671         * config/mips/iris6-o32.h: New file.
16672
16673         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16674         (NM_FLAGS): Define.
16675         (HAVE_AS_SHF_MERGE): Undefine.
16676
16677         * config/mips/t-iris5-as: New file.
16678         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16679
16680         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16681         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16682         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16683         dp-bit.c, fp-bit.c): Move ...
16684         * config/mips/t-iris5-6: ... here.
16685         New file, shared by IRIX 5 and IRIX 6.
16686         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16687         mips-sgi-irix5*): Use it.
16688
16689         * config/mips/iris6.h: Remove duplicate comment.
16690
16691         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16692         !TARGET_IRIX6]: Define.
16693         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16694
16695         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16696
16697 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16698
16699         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16700         and delete code to force constant to register.
16701         * pa-protos.h (adddi3_operand): Add prototype.
16702         * pa.c (adddi3_operand): New function.
16703
16704 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16705
16706         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16707         non-ANSI builtin functions.
16708
16709 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16710
16711         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16712         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16713         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16714         (gen_const_vector_0): Use it.
16715
16716 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16717
16718         * pa.md (adddi3): For 32-bit targets, force constants to a register
16719         if they don't fit in an 11-bit immediate.  Change insn predicate to
16720         arith11_operand.  Remove comment.
16721         * pa.c (cint_ok_for_move): Fix comment.
16722         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16723         targets.
16724
16725 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16726
16727         Remove front end hard coding from gengtype.c.
16728
16729         * Makefile.in
16730         (STAGESTUFF): add gtyp-gen.h
16731         (GTFILES): Remove front end specific files.
16732         (GTFILES_FILES_LANGS): New, from configure..
16733         (GTFILES_FILES_FILES): Likewise.
16734         (GTFILES_LANG_DIR_NAMES): Likewise.
16735         (GTFILES_SRCDIR): Likewise.
16736         (gtyp-gen.h): Build from configure information.
16737         (s-gtype): Remove command line parameters from gengtype.
16738         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16739         (mostlyclean): Delete files generated by and for gengtype.
16740
16741         * c-config-lang.in: New file.
16742
16743         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16744         for each language.
16745         (all_gtfiles_files_files): New. Accumulate language for each file
16746         accumulated.
16747         (gtfiles): Pick up value for C.
16748         (srcdir): AC-SUBST this variable.
16749         (all_gtfiles_files_langs): AC-SUBST this variable.
16750         (all_gtfiles_files_files): AC-SUBST this variable.
16751
16752         * configure: Regenerate.
16753
16754         * gengtype-lex.l (parse_file): Make parameter const.
16755
16756         * gengtype.c (toplevel): include gtyp-gen.h.
16757         (BASE_FILE_<language> unnamed enum): Delete.
16758         (lang_names): Delete (replaced by gtyp-gen.h)
16759         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16760         all references.
16761         (NUM_GT_FILES): New.
16762         (NUM_LANG_FILES): New.
16763         (srcdir_len): New.
16764         (NUM_BASE_FILES): Change calculation.
16765         (open_base_files): Change prototype to avoid warning.
16766         (startswith): Delete.
16767         (get_file_basename): Iterate through generated language list not
16768         hard coded list.
16769         (get_base_file_bitmap): Use generated list of files and languages.
16770         (close_output_files): Add prototype to rmove warning.
16771         (main): Iterate through list of generated files from gtyp-gen.h
16772         rather than command line paramaters.  Ignore duplicated file
16773         names.
16774
16775         * gengtype.h (parse_file): Amend prototype for const parameter.
16776
16777         * doc/sourcebuild.texi: Document gtfiles variable.
16778
16779         * doc/gty.texi: Document changes to gtfiles variable for front
16780         ends.
16781
16782         * objc/config-lang.in (gtfiles): Add files needed for objc front
16783         end.
16784
16785 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16786
16787         PR c/2454
16788         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16789         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16790
16791 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16792             Zack Weinberg <zack@codesourcery.com>
16793
16794         * builtins.def: Make the argument types of abort and exit
16795         independent of the front-end.
16796
16797 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16798
16799         * config/rs6000/linux64.h (ASM_SPEC): Define.
16800
16801 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16802
16803         * config/rs6000/rs6000.c (emit_frame_save): New.
16804         (rs6000_frame_related): Replace reg2 before reg.
16805         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16806         and eh_return registers.
16807
16808 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16809
16810         Revert all patches for optimization of Complex .op. Real.
16811         * complex_part_zero_p: Remove
16812         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16813         with x.
16814         * expand_cmplxdiv_wide: Ditto.
16815         * expand_binop: Ditto.
16816
16817 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16818
16819         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16820         negative also on 64-bit hosts.
16821
16822         Default to -fno-reorder-blocks when optimizing for size.
16823         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16824         * config/avr/avr.c (avr_optimization_options): New function.
16825         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16826
16827         Optimize returning from simple functions.
16828         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16829         * config/avr/avr.c (avr_simple_epilogue): New function.
16830         * config/avr/avr.md (return): New insn.
16831
16832 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16833
16834         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16835         HAS_INIT_SECTION to protection.
16836
16837 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16838
16839         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16840         deprecated.
16841
16842 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16843
16844         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16845         Supply non-VOID mode to simplify_gen_subreg.
16846
16847 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16848
16849         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16850
16851 2002-07-10  Jeffrey A Law  <law@redhat.com>
16852
16853         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16854         as appropriate.
16855
16856         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16857         register to use.
16858
16859 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16860
16861         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16862         Get mode from dest.
16863         If simplify_gen_subreg fails, try next equivalent.
16864
16865 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16866
16867         * diagnostic.h: #include location.h
16868         (location_t): Move definition to..
16869         * location.h: ... here.  New file.
16870         * tree.h: #include location.h
16871         (DECL_SOURCE_LOCATION): New macro.
16872         (DECL_SOURCE_FILE): Use.
16873         (DECL_SOURCE_LINE): Likewise.
16874         (struct tree_decl): REplace filename and linenum with locus.
16875         * Makefile.in (TREE_H): add location.h
16876         (diagnostic.o): Depends on gt-location.h
16877         (gt-location.h): Depends on s-gtype
16878
16879 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16880
16881         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16882         TARGET_OS_CPP_BUILTINS.
16883         * config/rs6000/aix31.h: Likewise.
16884         * config/rs6000/aix41.h: Likewise.
16885         * config/rs6000/aix43.h: Likewise.
16886         * config/rs6000/aix51.h: Likewise.
16887         * config/rs6000/beos.h: Likewise.
16888         * config/rs6000/darwin.h: Likewise.
16889         * config/rs6000/eabi.h: Likewise.
16890         * config/rs6000/eabisim.h: Likewise.
16891         * config/rs6000/linux.h: Likewise.
16892         * config/rs6000/linux64.h: Likewise.
16893         * config/rs6000/lynx.h: Likewise.
16894         * config/rs6000/mach.h: Likewise.
16895         * config/rs6000/rtems.h: Likewise.
16896         * config/rs6000/sysv4.h: Likewise.
16897         * config/rs6000/vxppc.h: Likewise.
16898
16899 2002-07-09 Devang Patel <dpatel@apple.com>
16900         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16901         Do not allow ObjC objects as a parameter type for Objective-C methods.
16902         My previous patch restricted  'struct' also.
16903
16904 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16905
16906         * cpperror.c (cpp_error): Default to directive_line within
16907         directives here.
16908         * cppexp.c (cpp_interpret_integer): Only use traditional
16909         number semantics in directives.
16910         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16911         (do_include_common): Similarly.
16912         * cpptrad.c (scan_out_logical_line): Implement accurate
16913         quoting of <> in #include.
16914         * doc/cpp.texi: Update.
16915
16916 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16917                           J"orn Rennecke <joern.rennecke@superh.com>
16918
16919         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16920         * sh.md (attribute issues): Replace with:
16921         (attribute pipe_model).  All users changed.
16922         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16923         All users changed.
16924         (function units sh5issue, sh5fds): New.
16925         (attribute is_mac_media): New.
16926         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16927         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16928         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16929         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16930         (call_media, call_value_media, sibcall_media): Likewise.
16931         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16932         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16933         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16934         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16935         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16936         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16937         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16938         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16939         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16940         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16941         (truncdfsf2_media): Likewise.
16942         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16943         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16944
16945 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16946
16947         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16948         * sh.c (general_extend_operand, inqhi_operand): New functions.
16949         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16950         alternatives using 'N' modifier.  Add type.
16951         (adddi3z_media): Likewise.  Enable generator function generation.
16952         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16953         exact predicates / constraints.  Add type.
16954         (subsi3): Allow 0 for SHMEDIA.
16955         (udivsi3_i4_media): Use match_operand for input values
16956         rather than hard registers.
16957         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16958         unnecessarily through hard registers.  Keep copies of pseudo
16959         registers outside of the libcall sequence.
16960         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16961         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16962         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16963         (extendhidi2, extendqidi2): Likewise.
16964         (andsi3_compact): Name.
16965         (andcdi3): Enable generator function generation.
16966         (zero_extendhisi2, zero_extendqisi2): Rename to
16967         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16968         (extendhisi2, extendqisi2): Rename to
16969         (extendhisi2_compact, extendqisi2_compact).
16970         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16971         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16972         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16973         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16974         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16975         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16976         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16977         (shmedia32_initialize_trampoline_big): Likewise.
16978         (shmedia32_initialize_trampoline_little): Likewise.
16979         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16980         (negdi2): Remove spurious T clobber.
16981         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16982         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16983         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16984         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16985         (ic_invalidate_line_media): Write back data cache before invalidating
16986         instruction cache.  Add type.
16987         (movsf_media): Sign-extend when the destination is a general
16988         purpose register.  Add type.
16989         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16990         (casesi_worker_0+1): Only increment ref count for proper label.
16991         (casesi_worker_0+2): Likewise.
16992
16993 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16994
16995         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16996
16997 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16998
16999         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
17000         from Pmode to ptr_mode.
17001         (get_exception_pointer): Ditto.
17002         (connect_post_landing_pads): Ditto.
17003         (dw2_build_landing_pads): Ditto.
17004
17005 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
17006         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
17007         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
17008         (handle_pragma_redefine_extname): Change to use new function.
17009
17010 2002-07-08  Roger Sayle  <roger@eyesopen.com>
17011
17012         * combine.c (combine_simplify_rtx): Add an explicit cast
17013         to avoid signed/unsigned comparison warning.
17014         (simplify_if_then_else): Likewise.
17015         (extended_count): Likewise.
17016         (simplify_shift_const): Likewise.
17017         (simplify_comparison): Likewise.
17018
17019 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
17020
17021         * config/mips/mips.md: Add imadd type.  Update scheduler description
17022         to use imadd as well as imul.
17023         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
17024         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
17025         (*mul_sub_si): Likewise for first alternative.  Change second
17026         alternative from imul to multi.
17027
17028 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
17029
17030         * c-common.c (c_common_post_options): Update prototype;
17031         don't init backends if preprocessing only.
17032         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
17033         * langhooks.h (struct lang_hooks): Update post_options to
17034         return a boolean.
17035         * toplev.c (parse_options_and_default_flags, do_compile,
17036         lang_independent_init): Update prototypes.  Allow the
17037         front end to specify that there is no need to initialize
17038         the back end.
17039         (general_init): Move call to hex_init here...
17040         (toplev_main): ...from here.  Pass flag for back end init
17041         suppression.
17042
17043 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
17044
17045         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
17046         (PREDICATE_CODES): Add entries for equality_comparison_operator,
17047         greater_comparison_operator and less_comparison_operator.
17048         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
17049         more operators.
17050         (equality_comparison_operator): New function.
17051         (greater_comparison_operator, less_comparison_operator): Likewise.
17052         * sh.md (beq_media_i): Disable generator function generation.
17053         Use match_operator to handle a whole class of comparisons.  Add
17054         modifier in output template to provide branch prediction.  Add type.
17055         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
17056         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
17057         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
17058         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
17059
17060 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
17061
17062         Emit MMIX function prologue and epilogue as rtl.
17063         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
17064         not unprototyped get_hard_reg_initial_val.
17065         ("call_value", "nonlocal_goto_receiver"): Ditto.
17066         ("return"): Make define_expand.  Move real insn to...
17067         ("*expanded_return"): New pattern.
17068         ("prologue", "epilogue"): New define_expands.
17069         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
17070         (struct machine_function): New member in_prologue.
17071         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
17072         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
17073         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
17074         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
17075         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
17076         (LOCAL_REGNO): Define.  Adjust comment.
17077         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
17078         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
17079         leaf_function_p.
17080         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
17081         the prologue.
17082         (mmix_target_asm_function_prologue): Make static.  Just mark that
17083         the prologue is being emitted.  Move guts to...
17084         (mmix_expand_prologue): New function.  Adjust for emitting
17085         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
17086         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
17087         \n.  Move guts to...
17088         (mmix_expand_epilogue): New function.  Adjust for emitting
17089         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
17090         (mmix_target_asm_function_end_prologue): Mark that the prologue
17091         has ended.
17092         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
17093         (mmix_conditional_register_usage): Improve comments.
17094         (mmix_local_regno): New function.
17095         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
17096         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
17097         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
17098         (mmix_get_hard_reg_initial_val): Ditto.
17099
17100 2002-07-06  Andreas Jaeger  <aj@suse.de>
17101
17102         * toplev.c (set_fast_math_flags): Don't use ISO C style function
17103         definitions.
17104         * gengtype.c (open_base_files): Likewise.
17105         (close_output_files): Likewise.
17106         * tracer.c (find_best_predecessor): Likewise.
17107         (find_best_successor): Likewise.
17108         (ignore_bb_p): Likewise.
17109
17110 2002-07-05  Roger Sayle  <roger@eyesopen.com>
17111
17112         PR c++/7099
17113         * builtin-attrs.def: Define new attribute lists for use in
17114         builtins.def.
17115         * builtins.def [DEF_BUILTIN]: Modify to take an additional
17116         ATTRS argument, an enumerated value defined in builtin-attrs.def
17117         that represents the attribute list for the builtins.  Modify
17118         all builtin functions to pass an appropriate attribute list.
17119         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
17120         their required noreturn attributes.
17121         * tree.h (enum_builtin_function): Ignore the additional parameter
17122         to DEF_BUILTIN.
17123         * builtins.c (built_in_names): Likewise.
17124         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
17125         argument with a tree representing the functions attribute list.
17126         Pass this "attrs" argument to builtin_function.  No longer handle
17127         the noreturn_p processing manually.
17128         (built_in_attributes): Move the definitions from builtin-attrs.def
17129         before c_common_nodes_and_builtins.
17130         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
17131         DEF_BUILTIN, passing it to both builtin_function and the changed
17132         builtin_function_2.
17133
17134         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
17135         __builtin__exit and __builtin__Exit.
17136
17137 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17138
17139         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
17140         QI mode registers in soft registers.
17141         ("zero_extendqihi2"): Do not take into account soft registers
17142         for register allocation (use '*' constraint).
17143
17144 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17145
17146         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
17147         it is dead.
17148         ("*ashrsi3"): Likewise.
17149         ("*lshrsi3"): Likewise.
17150
17151 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
17152
17153         * genautomata.c (output_max_insn_queue_index_def): Take latencies
17154         into account.
17155
17156 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17157
17158         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
17159         address computation and memory moves.
17160
17161 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
17162
17163         PR c++/6706
17164         * dwarfout.c (output_reg_number): Fix warning message.
17165         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
17166         before using it.
17167
17168 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17169
17170         * gcc/gcc.c (asm_debug): Move initialization ...
17171         (init_spec): ... here.
17172
17173 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
17174
17175         * c-parse.in (extdef): Append ';'.
17176         (old_style_parm_decls): Append ';'.
17177
17178 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
17179
17180         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
17181         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
17182         to gcc_cv_as_gstabs_flag.
17183         * configure: Rebuilt.
17184
17185 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
17186
17187         * ggc.h (ggc_add_root): Document as obsolete.
17188
17189 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
17190
17191         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
17192         (mshflo_w): Likewise.
17193
17194 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
17195
17196         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
17197         vector mode subregs of constants to finding integer mode
17198         subregs of constants.
17199         * cse.c (cse_insn): Use simplify_gen_subreg.
17200         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
17201         From a vector mode expression of different size than the
17202         target mode.
17203
17204 2002-07-03  Eric Christopher  <echristo@redhat.com>
17205
17206         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
17207         * config/mips/mips.h: Remove deprecated -m<processor> options
17208         and cc1_cpu_spec associated.
17209         (CONSTANT_ADDRESS_P): Fix last patch.
17210         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
17211         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
17212         sunge_sf): Remove.
17213
17214 2002-07-03  Stan Shebs  <shebs@apple.com>
17215
17216         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
17217         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
17218         (CPP_SPEC): Remove insertion of APPLE_CC definition.
17219
17220 2002-07-03  Roger Sayle  <roger@eyesopen.com>
17221
17222         * combine.c (struct_undo): Change types of recorded substitutions
17223         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
17224         (do_SUBST_INT): Change types of the substitution from unsigned int
17225         to int, to avoid compilation warning from SUBST_INT's only caller.
17226
17227         (make_extraction): Add cast to avoid compilation warning.
17228         (force_to_mode): Remove cast to avoid compilation warning.
17229
17230 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
17231             Jeff Law  <law@redhat.com>
17232
17233         * i386.md (length_immediate attribute): Fix typo.
17234         (length_address attribute): Likewise.
17235         (modrm attribute): Set it to 0 for immediate call instructions.
17236         (jcc_1 pattern): Set modrm attribute to 0.
17237         (jcc_2 pattern ): Likewise.
17238         (jump pattern): Likewise.
17239         (doloop_end_internal pattern): Explicitly set length.
17240         (leave pattern): Fix typo.
17241         (leave_rex64 pattern): Likewise.
17242
17243 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
17244
17245         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
17246         in FPR as preference.
17247         (fctiwz): Same.
17248         (floatdidf2, fix_truncdfdi2): Same.
17249         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
17250         (floatditf2): Same.
17251         (floatsitf2, fix_trunctfsi2): SImode in GPR.
17252         (ctrdi): Remove FPR alternative and splitter.
17253
17254 2002-07-03  Will Cohen  <wcohen@redhat.com>
17255
17256         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
17257
17258 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
17259
17260         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
17261         than UNITS_PER_WORD, unless this is little endian and the first unit
17262         in this word.  Let extract_bit_field decide how to load an element.
17263         Force arguments to matching mode.
17264         (expand_vector_unop): Likewise.
17265
17266         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
17267         consist of word_mode elements.
17268         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
17269         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
17270         (build_unary_op): Allow vector types for BIT_NOT_EPR.
17271         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
17272         CONST_VECTOR.
17273         * optabs.c (expand_vector_binop): Try to perform operation in
17274         smaller vector modes with same inner size.  Add handling of AND, IOR
17275         and XOR.  Reject expansion to inner-mode sized scalars when using
17276         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
17277         (expand_vector_unop): Try to perform operation in smaller vector
17278         modes with same inner size.  Add handling of one's complement.
17279         When there is no vector negate operation, try a vector subtract
17280         operation.  Use simplify_gen_subreg on constants.
17281         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
17282         constants into smaller vectors with same inner mode, and to
17283         integer CONST_DOUBLEs.
17284
17285 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17286
17287         * c-parse.in (parsing_iso_function_signature): New variable.
17288         (extdef_1): New, copied from...
17289         (extdef): ... here.  Reset parsing_iso_function_signature.
17290         (old_style_parm_decls):  Reset parsing_iso_function_signature.
17291         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
17292         Warn about ISO C style function definitions.
17293         (nested_function, notype_nested_function): Reset
17294         parsing_iso_function_signature.
17295         (parmlist_2): Set parsing_iso_function_signature.
17296
17297         * doc/invoke.texi (-Wtraditional): Document new behavior.
17298
17299 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
17300
17301         * config.gcc (mips*el-*-*): Use tm_defines to set
17302         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
17303         * config/mips/little.h: Remove.
17304
17305 2002-07-02 Devang Patel <dpatel@apple.com>
17306
17307         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
17308         object as parameter. Prevent something like 'NSObject' to be
17309         used as the type for a method argument.
17310
17311 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
17312
17313         * cpptrad.c: Update comment.
17314
17315 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
17316
17317         * doc/cpp.texi: Update for traditional preprocessing changes.
17318         * goc/cppopts.texi: Similarly.
17319
17320 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
17321
17322         * c-parse.in (designator): Enable designated initializers if ObjC.
17323         (objcmessageexpr): Remove references to objc_receiver_context.
17324         * objc/objc-act.h (objc_receiver_context): Remove decl.
17325         * objc/objc-act.c (objc_receiver_context): Remove.
17326         (lookup_objc_ivar): Test objc_method_context instead of
17327         objc_receiver_context.
17328
17329 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
17330
17331         * sh.c (print_operand, case 'N'): Allow zero vector.
17332         (arith_reg_or_0_operand): Likewise.
17333         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
17334         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
17335         IOR, XOR, PLUS and SET and take their respective constant
17336         ranges into account.
17337         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
17338         * sh.md (subdi3, subdi3_media): Allow zero operand.
17339         (movv8qi_i+3): Only vector that is not split is the zero vector.
17340         Fix operand 3 to simplify_subreg.
17341         (movv2si_i): Split alternative 1.
17342         (mshfhi_l_di_rev+1): New splitter.
17343
17344 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
17345
17346         PR preprocessor/7029
17347         * cppinit.c (cpp_handle_option):  Suppress warnings with an
17348         implicit "-w" for "-M" and "-MM".
17349         * doc/cppopts.texi: Update.
17350
17351 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17352
17353         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
17354         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
17355         builtin_function.
17356
17357 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
17358
17359         * README.Portability: Fix typos.
17360
17361 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
17362
17363         PR target/7177
17364         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
17365         of indirections for register inside sign-extended mem part.
17366
17367 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17368
17369         * tree.h:  Modify builtin_function interface to take an extra
17370         argument ATTRS, which is a tree representing an attribute list.
17371
17372         * c-decl.c (builtin_function): Accept additional parameter.
17373         * objc/objc-act.c (builtin_function): Likewise.
17374         * f/com.c (builtin_function): Likewise.
17375         * java/decl.c (builtin_function): Likewise.
17376         * ada/utils.c (builtin_function): Likewise.
17377         * cp/decl.c (builtin_function): Likewise.
17378         (builtin_function_1): Likewise.
17379
17380         * c-common.c (c_common_nodes_and_builtins): Pass an additional
17381         NULL_TREE argument to builtin_function.  (builtin_function_2):
17382         Likewise.
17383         * cp/call.c (build_java_interface_fn_ref): Likewise.
17384         * objc/objc-act.c (synth_module_prologue): Likewise.
17385         * java/decl.c (java_init_decl_processing): Likewise.
17386         * f/com.c (ffe_com_init_0): Likewise.
17387
17388         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
17389         NULL_TREE argument to builtin_function.
17390         * config/arm/arm.c (def_builtin): Likewise.
17391         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
17392         * config/i386/i386.c (def_builtin): Likewise.
17393         * config/ia64/ia64.c (def_builtin): Likewise.
17394         * config/rs6000/rs6000.c (def_builtin): Likewise.
17395
17396 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
17397
17398         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
17399         * config/mips/t-isa3264: Likewise.
17400         * config/mmix/t-mmix: Likewise.
17401
17402 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17403
17404         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
17405
17406 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17407
17408         PR opt/4046
17409         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
17410         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
17411         B are truth values.
17412
17413 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
17414
17415         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
17416
17417 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
17418
17419         * README.Portability (Function prototypes): Give an example of
17420         declaring and defining a function with no arguments.
17421
17422         * README.Portability (Function prototypes): Document new
17423         variable-argument function macros.
17424
17425 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
17426
17427         * sh.c (langhooks.h): Include.
17428         (sh_init_builtins, sh_media_init_builtins): New functions.
17429         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
17430         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
17431         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
17432         (builtin_description): New struct tag.
17433         (signature_args, bdesc): New arrays.
17434         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
17435         (print_operand): Add 'N' modifier.
17436         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
17437         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
17438         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
17439         (CONST_COSTS): Add special case for SHmedia AND.
17440         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
17441         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
17442         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
17443         target_operand can also be const or unspec.
17444         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
17445         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
17446         (attribute type): Add new types.
17447         (anddi3): Add splitter.
17448         (movdi_const_16bit+1): Add code to handle vector constants and
17449         bitmasks efficiently.
17450         (shori_media): Have generator function made.
17451         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
17452         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
17453         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
17454         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
17455         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
17456         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
17457         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
17458         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
17459         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
17460         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
17461         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
17462         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
17463         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
17464         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
17465         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
17466         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
17467         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
17468         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
17469         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
17470         (ftrv): Likewise.
17471
17472         (fpu_switch+1, fpu_switch+2): Remove constraint.
17473
17474 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
17475
17476         * tree.c (build_function_type_list): Update function comment.
17477         Rename first argument to return_type.
17478
17479 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
17480
17481         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
17482         tradcif.y and related files.
17483
17484 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
17485
17486         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
17487
17488 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17489
17490         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
17491
17492 See ChangeLog.7 for earlier changes.