OSDN Git Service

b10a807ea4908092cc8ced664c6bf2c6e3a53a6e
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-25  Richard Henderson  <rth@redhat.com>
2
3         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
4         from ia64_aix_select_rtx_section.
5         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
6         instead of saving and restoring flag_pic.
7         (ia64_rwreloc_unique_section): Similarly.
8         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
9         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
10         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
11         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
12
13 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
14
15         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
16         comment.
17
18 2002-01-25  Richard Henderson  <rth@redhat.com>
19
20         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
21
22 2002-01-25  Kelley Cook <kelleycook@comcast.net>
23
24         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
25
26 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
27
28         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
29         type for bitmaps.  Use unsigned long.
30         (nBITMAP_WORD_BITS): New macro.
31         (BITMAP_WORD_BITS): New macro.
32         (rest of file): Use it.
33         * bitmap.c: Use it.
34
35 2003-01-25  Richard Henderson  <rth@redhat.com>
36
37         2002-02-19  Robert Lipe  <robertlipe@usa.net>
38         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
39
40 2002-01-25  Roger Sayle  <roger@eyesopen.com>
41
42         * builtins.c (purge_builtin_constant_p): Scan insn stream
43         sequentially rather than by basic block.
44         * function.c (purge_addressof): Simplify test with INSN_P.
45
46 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
47
48         * combine.c (simplify_comparison, case AND): Remove a redundant test.
49
50 2002-01-25  Roger Sayle  <roger@eyesopen.com>
51
52         * function.h (struct function): New field calls_constant_p.
53         (current_function_calls_constant_p): New macro for above.
54         * function.c (prepare_function_start): Initialize calls_eh_return
55         and calls_constant_p.
56         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
57         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
58         when the current_function_calls_constant_p.
59         * integrate.c (expand_inline_function): Set calls_constant_p if
60         the function being inlined has calls_constant_p set.
61
62 2002-01-25  Roger Sayle  <roger@eyesopen.com>
63
64         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
65         optimizing, even if flag_gcse is true.
66         * toplev.c (rest_of_compilation): purge_builtin_constant_p
67         only needs to be called when "optimize > 0 && flag_gcse".
68
69 2003-01-25  Roger Sayle  <roger@eyesopen.com>
70
71         * stmt.c (emit_case_bit_tests): New routine to implement suitable
72         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
73         (case_bit_test_cmp): New comparison function for "qsort" to order
74         case_bit_tests by decreasing number of destination nodes.
75         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
76         (expand_end_case_type): Use emit_case_bit_tests to implement
77         suitable switch statments.
78         (CASE_USE_BIT_TESTS): New target macro to disable the above.
79         * Makefile.in (stmt.o): Add dependency on optab.h.
80         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
81
82 2003-01-23  Andreas Schwab  <schwab@suse.de>
83
84         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
85         __do_global_ctors_aux hidden global and don't put it in
86         .init_array.
87         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
88         instead so that it comes first.
89
90 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
91
92         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
93         subreg is read/modify.
94
95 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
96
97         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
98         do libcall for large blocks.
99         * i386.md (comi patterns): Set type to ssecomi.
100         (sse2_unpck?pd): Fix mode of vec_select.
101
102         * cse.c: Include except.h
103         (cse_set_around_loop):  Do not create new basic blocks.
104         * Makefile.in (cse.o): Add dependnecy on except.h
105
106 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
107
108         * builtins.c (fold_trunc_transparent_mathfn): New function.
109         (fold_builtin): Use it.
110         * convert.c (convert_to_real): Re-enable code to convert
111         math functions; add support for floor familly functions.
112
113 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
114
115         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
116         dependencies on coretypes.h and $(TM_H).
117
118 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
119
120         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
121
122 2002-01-24  Stuart Hastings  <stuart@apple.com>
123
124         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
125
126 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
127
128         * config/c4x/c4x.md (UNSPEC_BU): New constants.
129         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
130         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
131         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
132         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
133         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
134         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
135         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
136
137 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
138
139         * emit-rtl.c (reg_attrs_htab): New static variable.
140         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
141         functions.
142         (reg_rtx): Do not maintain regno_decl.
143         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
144         set_mem_attrs_from_reg): New global function.
145         (init_emit): Do not initialize regno_decl.
146         (init_emit_once): initialize reg_attrs_htab.
147         * final.c (alter_subreg): Do not replace REG by SUBREG.
148         (gen_mem_expr_from_op): Improve output.
149         (output_asm_operands): Likewise.
150         * function.c (assign_params): Do not set REGNO_DECL.
151         * function.h (struct function): Kill regno_decl.
152         (REGNO_DECL): Kill.
153         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
154         * print_rtl.c (print_rtx): Output REG information.
155         * regclass.c (reg_scan_mark_refs): Update attrs.
156         * reload1.c (alter_reg): Likewise.
157         * simplify_rtx.c (simplify_subreg): Likewise.
158         * stmt.c (expand_decl): Likewise.
159         * rtl.def (REG): Add new field.
160         * rtl.h (struct reg_attrs): New.
161         (rtunion_def): At rtreg.
162         (X0MEMATTR): Add checking.
163         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
164         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
165         Declare.
166         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
167
168 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
169
170         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
171         (xtensa_emit_call, print_operand): Fix printf format strings
172         to avoid compile warnings.
173         (xtensa_function_prologue, xtensa_function_epilogue): Change type
174         of "size" argument to HOST_WIDE_INT to fix compile warnings.
175         * config/xtensa/xtensa-protos.h
176         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
177
178 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
179
180         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
181         (implicit_built_in_decls): New global array.
182         (mathfn_built_in): New global function.
183         (fold_trunc_transparent_mathfn): New static function
184         (expand_builtin_strstr, expand_bultin_strchr,
185         expand_builtin_strpbrk, expand_builtin_strcpy,
186         expand_builtin_strncpy, expand_bultin_strcmp,
187         expand_bultin_strncat, expand_builtin_fputs): Use
188         implicint_built_in_decls.
189         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
190         * builtins.def: Fix comments.
191         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
192         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
193         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
194         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
195         (DEF_C99_C90RES_BULTIN): New.
196         (*f, *l builtins): Update.
197         * c-common.c (DEF_BUILTIN): Initialize implicit array.
198         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
199         * convert.c (strip_float_extensions): New global function.
200         * tree.h (DEF_BUILTIN): Accept 10 arguments.
201         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
202         Declare.
203         * java/builtins.c (define_builtin): Handle implicit.
204         (DEF_BUILTIN): Update.
205         * tm.texi (TARGET_C99_FUNCTIONS): Document.
206         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
207         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
208         when using glibc2.
209
210 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
211
212         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
213         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
214         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
215         * config/xtensa/crti.asm: New file.
216         * config/xtensa/crtn.asm: New file.
217         * config/xtensa/t-elf: New file.
218         * config/xtensa/t-linux: New file.
219         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
220         Move various CFLAGS settings to new t-elf file.
221
222 2003-01-24  Richard Henderson  <rth@redhat.com>
223
224         PR optimization/4382
225         * tree-inline.c (find_builtin_longjmp_call_1): New.
226         (find_builtin_longjmp_call): New.
227         (inlinable_function_p): Use it.
228
229 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
230
231         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
232         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
233         * config/i386/i386.c (function_arg_pass_by_reference): New.
234         (ix86_va_arg): Support arguments passed by reference.
235
236 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
237
238         * cfgloopanal.c: New file.
239         * cfgloopmanip.c: New file.
240         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
241         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
242         cfglayout.o): Add dependency on cfgloop.h.
243         (cfgloop.o): Add flags.h dependency.
244         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
245         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
246         (struct loop, struct loops, flow_loops_find, flow_loops_update,
247         flow_loops_free, flow_loops_dump, flow_loop_dump,
248         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
249         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
250         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
251         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
252         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
253         find_common_loop, verify_loop_structure): Declarations moved to ...
254         * cfgloop.h: New file.
255         * bb-reorder.c (reorder_basic_blocks): Modified.
256         * cfglayout.c: Include cfgloop.h.
257         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
258         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
259         (break_superblocks): New static function.
260         (cfg_layout_finalize): Use it.
261         (cfg_layout_split_block): New function.
262         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
263         fields.
264         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
265         changed.
266         (cfg_layout_split_block): Declare.
267         * cfgloop.c: Include cfgloop.h and flags.h.
268         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
269         get_loop_body): Avoid signed versus unsigned comparison warnings.
270         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
271         loop_latch_edge): Modified.
272         (verify_loop_structure): Modified to use flags stored in loop structure;
273         check irreducible loops.
274         (cancel_loop, cancel_loop_tree): New functions.
275         (estimate_probability): Use loop analysis code for predictions.
276         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
277         warnings.
278         * doloop.c: Include cfgloop.h.
279         * loop.c: Include cfgloop.h.
280         * predict.c: Include cfgloop.h.
281         * toplev.c: Include cfgloop.h.
282         * unroll.c: Include cfgloop.h.
283         * tracer.c (tracer): Modified.
284
285 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
286
287         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
288
289 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
290
291         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
292         * configure: Regenerate.
293
294         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
295         (tls_symbolic_reference_mentioned_p): Add prototype.
296         (s390_tls_get_offset): Add prototype.
297         (emit_pic_move): Remove prototype, replace by ...
298         (emit_symbolic_move): .. this new prototype.
299
300         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
301         (tls_model_chars): New global variable.
302         (s390_encode_section_info): Encode TLS model.
303         Use targetm.binds_local_p to check for local symbols.
304         (s390_strip_name_encoding): New function.
305         (TARGET_STRIP_NAME_ENCODING): Define.
306
307         (get_thread_pointer): New function.
308         (legitimize_tls_address): New function. 
309         (legitimize_address): Call it.
310         (emit_pic_move): Remove, replace by ...
311         (emit_symbolic_move): ... this new function.
312
313         (larl_operand): Handle TLS operands.
314         (legitimate_constant_p): Likewise.
315         (s390_decompose_address): Likewise.
316         (s390_cannot_force_const_mem): New function.
317         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
318
319         (s390_output_symbolic_const): Handle TLS unspecs.
320         (print_operand): New code 'J'.
321         (machine_function): Add struct member 'some_ld_name'.
322         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
323
324         (enum s390_builtin): New type.
325         (code_for_builtin_64, code_for_builtin_31): New global variables.
326         (s390_init_builtins, s390_expand_builtin): New functions.
327         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
328
329         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
330         (ASM_OUTPUT_LABELREF): Define.
331         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
332
333         * config/s390/s390.md: Define TLS UNSPEC constants.
334         ("movdi", "movsi"): Handle TLS operands.
335         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
336         ("*tls_load_64", "*tls_load_31"): New insns.
337         ("call_value_tls", "call_value_tls_exp"): New expanders.
338         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31", 
339         "bas_tls_64", "bas_tls_31"): New insns.
340
341 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
342
343         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
344         spe ABI is configured, if requested.
345
346 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
347
348         * doc/passes.texi: Fix typo.
349
350 2003-01-24  Andreas Schwab  <schwab@suse.de>
351
352         * stor-layout.c (excess_unit_span): Only define if used.
353
354 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
355
356         * gcc/doc/invoke.texi (Optimization Options): List -O levels
357         for each optimization flag.
358
359 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
360
361         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
362
363 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
364
365         * doc/bugreport.texi: Use @command instead of @code for commands.
366         * doc/collect2.texi: Likewise.
367         * doc/headerdirs.texi: Likewise.
368         * doc/invoke.texi: Likewise.
369         * doc/standards.texi: Likewise.
370         * doc/tm.texi: Likewise.
371         * doc/trouble.texi: Likewise.
372
373 2003-01-24  Nick Clifton  <nickc@redhat.com>
374
375         * config/arm/arm.c (use_return_insn): Do not use a single return
376         instruction for interrupt handelrs which have to create a stack
377         frame.
378         (arm_expand_prologue): Do not pre-bias the return address of
379         interrupt handlers which create a stack frame.
380
381 2003-01-24  Nick Clifton  <nickc@redhat.com>
382
383         * Add sh2e support:
384
385         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
386
387                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
388                 med_cbranches.  Fix logic in short_cbranches.
389
390         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
391
392                 * config/sh/sh.md (delay for cbranch): Don't annul delay
393                 slots on SH2e.
394                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
395                 cbranch with unfilled delay slot on SH2e.
396                 (output_branch): Fill with a nop the delay slot of a
397                 branch that required a delay slot but didn't get one.
398
399         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
400
401                 * doc/invoke.texi (SH options): Document -m2e.
402                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
403                 * config/sh/lib1funcs.asm: Likewise.
404                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
405                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
406                 not __sh1__.
407                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
408                 SH2E up.
409                 (SH3E_BIT): Renamed to...
410                 (SH_E_BIT): ... this.  Replace all uses.
411                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
412                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
413                 (TARGET_SWITCHES): Added 2e.
414                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
415                 (processor_type): Added PROCESSOR_SH2E.
416                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
417                 TARGET_SH2E, except in sqrtsf2_i.
418                 (attribute cpu): Added sh2e.
419                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
420                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
421                 * config.gcc: Add sh2e target support.
422
423 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
424
425         Rename -W to -Wextra.
426         * c-decl.c:  Update comments.
427         * c-typeck.c:  Likewise.
428         * flags.h:  Likewise.
429         * function.c:  Likewise.
430         * stmt.c:  Likewise.
431         * toplev.c:  Update comments.
432         (W_options):  Add 'extra'.
433         (display_help):  Remove '-W'.
434         (decode_W_option):  Special warn_uninitialized treatment in the case
435         of -Wextra.
436         * doc/invoke.texi:  Update with new entries.
437
438 2003-01-23  Richard Henderson  <rth@redhat.com>
439
440         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
441         in no-else-block case.  Add commentary.
442
443 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
444
445         * configure.in: Revert last change.
446
447 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
448
449         * configure.in: Don't include ansidecl.h in tconfig.h.
450         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
451         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
452         ATTRIBUTE_UNUSED.
453
454         * configure: Regenerate.
455
456 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
457
458         PR java/6748
459         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
460         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
461         kernels.
462
463 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
464
465         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
466
467 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
468
469         * genattrtab.c (write_attr_get): Mark 'insn' paramter
470         as ATTRIBUTE_UNUSED.
471
472 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
473
474         * arm.c (thumb_base_register_rtx_p): New function.
475         (thumb_index_register_rtx_p): New function.
476         (thumb_legitimate_address_p): New function.
477         (thumb_legitimate_offset_p): New function.
478         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
479         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
480         definitions.
481         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
482         (THUMB_LEGITIMATE_OFFSET): Delte.
483         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
484         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
485         (thumb_legitimate_offset_p): Likewise.
486
487 2003-01-23  Andreas Schwab  <schwab@suse.de>
488
489         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
490
491 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
492
493         * fixinc/Makefile.in (FL_LIST): Revert last change.
494
495 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
496
497         PR other/7341
498         * invoke.texi (ftest-coverage): Fix broken cross-reference.
499         Change @code to @command for gcov command.
500
501         * gcc.texi: Adjust title of gcov section.
502         Adjust copyright.
503         * gcov.texi: Likewise.
504
505 2003-01-22  Roger Sayle  <roger@eyesopen.com>
506
507         PR optimization/8423
508         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
509         its argument is constant, or 0 if !flag_gcse.
510         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
511         if it's argument is constant.
512         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
513         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
514         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
515         * builtins.c (purge_builtin_constant_p): New function to force
516         instantiation of any remaining CONSTANT_P_RTX nodes.
517         * rtl.h (purge_builtin_constant_p): Prototype here.
518         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
519         pass after GCSE and before loop.
520         (flag_gcse): No longer static.
521         * flags.h (flag_gcse): Prototype here.
522
523 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
524
525         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
526         introduced by last change.
527
528 2003-01-22  Andreas Schwab  <schwab@suse.de>
529
530         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
531
532 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
533
534         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
535         request a scratch reg on H8S when the shift count is 8.
536
537 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
538
539         * config/s390/s390-protos.h (preferred_la_operand_p):
540         Remove second parameter.
541         * config/s390/s390.c (preferred_la_operand_p): Likewise.
542         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
543         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
544         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
545         Add peepholes to transform ADD to LOAD ADDRESS.
546
547 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
548
549         * arm.c (arm_address_register_rtx_p): New function.
550         (arm_legitimate_address_p): New function.
551         (arm_legitimate_index_p): New function.
552         (legitimize_pic_address): Use arm_legitimate_index_p.
553         * arm-protos.h (arm_legtimate_address_p): Add prototype.
554         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
555         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
556
557 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
558
559         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
560         * config/s390/2064.md (define_bypass): Correct 'Load' and
561         'Load-address' bypass values.
562         
563 2003-01-22  Andreas Schwab  <schwab@suse.de>
564
565         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
566
567 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
568
569         * genautomata.c (output_internal_insn_latency_func,
570         output_print_reservation_func): Short circuit when there is no
571         automaton to generate code for.
572
573 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
574
575         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
576         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
577
578 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
579
580         * config/rs6000/rs6000.md: Remove warning.
581         (builtin_setjmp_receiver): Likewise.
582         * config/darwin.c (update_stubs): Slightly improve terrible hack
583         with identifiers.  Add comment pointing out problems with it.
584         (update_non_lazy_ptrs): Likewise.
585
586 2003-01-21  Richard Henderson  <rth@redhat.com>
587
588         * dwarf2out.c (lookup_filename): Fix printf format warning.
589         * system.h (fread_unlocked, fwrite_unlocked): Undef.
590
591         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
592         (fixincl.o-warn, gnu-regex.o-warn): New.
593         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
594         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
595         * fixinc/fixincl.c (process): Fix printf format warning.
596
597 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
598
599         * dwarf2out (output_file_names): Don't crash if called
600         with empty file_table.
601
602 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
603
604         * genautomata.c (output_internal_insn_latency_func): Add
605         missing break statement to generated code.
606
607 2003-01-21  Roger Sayle  <roger@eyesopen.com>
608
609         * stmt.c (same_case_target_p): New function to determine whether
610         two case labels branch to the same target.  Split out from...
611         (group_case_nodes): ... here.  Use same_case_target_p instead.
612         (strip_default_case_nodes): Remove explicit case nodes
613         that branch to the default destination.
614         (expand_end_case_type): Call strip_default_case_nodes after
615         group_case_nodes, to simplify the case-list before we count it.
616         Only generate table_label RTX when actually needed.  Try to share
617         thiscase->exit_label and thiscase->data.case_stmt.default_label
618         when a switch has no explicit default case.  Simplify test for
619         constant index.
620
621 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
622
623         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
624         \t.
625         (*negsf2_h8300hs): Likewise.
626         (*addsi3_lshiftrt_16_zexthi): Likewise.
627         (*iorhi3_lshiftrt_8): Likewise.
628
629 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
630
631         * dwarf2out.c (fde_table_in_use): Mark GTY.
632         (dwarf2out_cfi_label_num): New variable, marked GTY.
633         (dwarf2out_cfi_label): Use it instead of static label_num.
634         * emit-rtl.c (label_num): Mark GTY.
635
636 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
637
638         * config/h8300/h8300.c (output_plussi): Support H8/300.
639         (compute_plussi_length): Likewise.
640         (compute_plussi_cc): Likewise.
641         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
642         output assembly instructions.
643
644 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
645
646         * calls.c (fix_unsafe_tree): Prototype.
647
648         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
649         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
650         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
651         c-parse.o-warn): Add -Wno-error.
652         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
653
654         * configure.in (--enable-werror): Add new flag.
655         * doc/install.texi (--enable-werror): Document.
656         * configure: Regenerate.
657
658         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
659
660 2003-01-21  Andreas Schwab  <schwab@suse.de>
661
662         * genautomata.c (output_internal_insn_latency_func): Fix missing
663         close paren in output.
664
665 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
666
667         * genautomata.c: Space savings in generated code:
668         (output_dfa_insn_code_func): Split out the table-enlargement
669         path to an out-of-line static function, dfa_insn_code_enlarge.
670         (output_internal_insn_latency_func): Use a lookup table for the
671         default latencies.
672         (output_print_reservation_func): Use a lookup table for the
673         strings.
674
675 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
676
677         PR opt/7507
678         * calls.c (fix_unsafe_tree): Split out from ...
679         (expand_call): ... here.  Use it on the function address too.
680
681 2003-01-20  Richard Henderson  <rth@redhat.com>
682
683         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
684
685 2003-01-20  Richard Henderson  <rth@redhat.com>
686
687         PR opt/7154
688         * stmt.c (expand_asm_operands): Validize memory operands.
689
690 2003-01-20  Richard Henderson  <rth@redhat.com>
691
692         PR opt/8848
693         * ifcvt.c (noce_process_if_block): Correct arguments to
694         modified_between_p for no-else-block case.
695
696 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
697
698         * config/h8300/h8300.c (const_costs): Remove a warning.
699         (output_plussi): Likewise.
700         (compute_plussi_length): Likewise.
701         (compute_plussi_cc): Likewise.
702
703 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
704
705         * config/h8300/h8300.md (addsi_h8300): Remove the last
706         alternative.
707
708 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
709
710         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
711
712 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
713
714         * system.h (__NO_STRING_INLINES): Define.
715
716 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
717
718         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
719         is not a scalar int mode.
720
721 2003-01-20  Roger Sayle  <roger@eyesopen.com>
722
723         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
724         insn's notes following a substitution inside a libcall.
725
726 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
727
728         * configure.in: Check for system-provided 'uchar' type.
729         * configure, config.in: Regenerate.
730         * cpphash.h: Only typedef 'uchar' if the system doesn't.
731
732 2003-01-20  Richard Henderson  <rth@redhat.com>
733
734         * expr.h (MUST_PASS_IN_STACK): Move implementation...
735         * calls.c (default_must_pass_in_stack): ... here.
736
737 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
738
739         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
740
741         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
742
743         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
744         Wrap up definition of `insn_alts'.
745
746         * genattrtab.c (main): Wrap up `insn_alts'.
747
748 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
749
750         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
751         prototyping.
752         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
753
754         * config.in, configure: Regenerate.
755
756 2003-01-20  Nick Clifton  <nickc@redhat.com>
757
758         * config/arm/arm.md (sibcall_epilogue): Add an
759         UNSPEC_PROLOGUE_USE to prevent the link register from being
760         considered dead.
761
762 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
763
764         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
765
766 2003-01-20  Andreas Schwab  <schwab@suse.de>
767
768         * system.h: Don't declare strsignal if the decl test hasn't been
769         run yet.
770
771 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
772
773         * config/h8300/h8300.c (notice_update_cc): Don't assume that
774         recog_data.operands[0] is always associated with cc0.
775
776 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
777
778         * collect2.c (ldgetname): Expand declaration to prototype.
779         * read-rtl.c (atoll): Add prototype.
780         * system.h (strsignal): Also declare if no declaration found.
781
782 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
783
784         * config.gcc (mips64*-*-linux*): Added.
785         * config/mips/linux64.h, config/mips/t-linux64: New file.
786         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
787         * config/mips/mips.c (override_options): Use it.
788         * config/mips/mips.h (TARGET_SWITCHES): Added...
789         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
790         * Makefile.in (SPECS): New.
791         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
792         * gcc.c (process_command): Move self-spec processing past spec
793         file loading.
794         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
795         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
796         CRTSTUFF_T_CFLAGS.
797         (SPECS): Document.
798         * doc/invoke.texi (-mabi-fake-default): Document.
799
800 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
801
802         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
803         z_reg, z_reg_qi): Declare static and GTY().
804         (da_reg): Remove.
805         (create_regs_rtx): Don't create da_reg.
806         ("gt-m68hc11.h"): Include for GTY roots.
807         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
808         and GTY() here.
809         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
810         (m68hc11_soft_tmp_reg): Likewise.
811         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
812
813 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
814
815         * basic-block.h: Fix comment formatting.
816         * calls.c: Likewise.
817         * combine.c: Likewise.
818         * convert.c: Likewise.
819         * gcov.c: Likewise.
820         * haifa-sched.c: Likewise.
821         * libgcc2.c: Likewise.
822         * loop.c: Likewise.
823         * profile.c: Likewise.
824         * system.h: Likewise.
825
826 2003-01-18  Roger Sayle  <roger@eyesopen.com>
827
828         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
829
830 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
831
832         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
833
834 2003-01-17  Dale Johannesen  <dalej@apple.com>
835
836         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
837           (*floatunssidf2_internal):  Ditto.
838
839 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
840
841         * alias.c: Fix comment typos.
842         * basic-block.h: Likewise.
843         * c-common.c: Likewise.
844         * c-common.h: Likewise.
845         * c-decl.c: Likewise.
846         * c-opts.c: Likewise.
847         * c-pragma.c: Likewise.
848         * c-pretty-print.h: Likewise.
849         * cfg.c: Likewise.
850         * cfganal.c: Likewise.
851         * cfgbuild.c: Likewise.
852         * cfgcleanup.c: Likewise.
853         * cfglayout.c: Likewise.
854         * cfgrtl.c: Likewise.
855         * convert.c: Likewise.
856         * cpphash.h: Likewise.
857         * cpplex.c: Likewise.
858         * cpplib.h: Likewise.
859         * df.h: Likewise.
860         * diagnostic.c: Likewise.
861         * diagnostic.h: Likewise.
862         * dwarf2.h: Likewise.
863
864 2003-01-17  Stan Shebs  <shebs@apple.com>
865
866         * config/darwin-protos.h: Forward-declare struct cpp_reader.
867
868 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
869
870         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
871         mistake in last checkin.
872
873 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
874
875         * et-forest.c: Fix comment typos.
876         * et-forest.h: Likewise.
877         * except.c: Likewise.
878         * expr.c: Likewise.
879         * flags.h: Likewise.
880         * flow.c: Likewise.
881         * gcc.c: Likewise.
882         * gcse.c: Likewise.
883         * genattrtab.c: Likewise.
884         * genautomata.c: Likewise.
885         * gengtype.c: Likewise.
886         * genrecog.c: Likewise.
887         * global.c: Likewise.
888         * gthr-rtems.h: Likewise.
889
890 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
891
892         * i386.c (x86_function_profiler): Fix format specifier.
893
894 2003-01-17  Richard Henderson  <rth@redhat.com>
895
896         * gengtype.c (walk_type): Allow paramN_is.
897
898 2003-01-17  Nick Clifton  <nickc@redhat.com>
899
900         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
901
902 2003-01-16  Richard Henderson  <rth@redhat.com>
903
904         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
905
906 2003-01-16  Richard Henderson  <rth@redhat.com>
907
908         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
909         (alpha_next_sequence_number): Likewise.
910         (alpha_this_literal_sequence_number): Likewise.
911         (alpha_this_gpdisp_sequence_number): Likewise.
912         (struct alpha_funcs, alpha_funcs_num): Likewise.
913         (struct alpha_links): Fix branch merge error.
914         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
915
916 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
917
918         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
919         R. Ghazi.
920
921 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
922
923         * ifcvt.c: Fix comment typos.
924         * lcm.c: Likewise.
925         * libgcc2.c: Likewise.
926         * local-alloc.c: Likewise.
927         * loop.c: Likewise.
928         * predict.c: Likewise.
929         * ra-build.c: Likewise.
930         * ra.c: Likewise.
931         * ra-colorize.c: Likewise.
932         * ra.h: Likewise.
933         * ra-rewrite.c: Likewise.
934         * regmove.c: Likewise.
935         * reload.h: Likewise.
936         * rtlanal.c: Likewise.
937         * toplev.c: Likewise.
938         * tree.h: Likewise.
939         * unwind-dw2-fde-glibc.c: Likewise.
940         * vmsdbgout.c: Likewise.
941
942 2003-01-16  Richard Henderson  <rth@redhat.com>
943
944         * dwarf2out.c (struct file_table): Remove.
945         (FILE_TABLE_INCREMENT): Remove.
946         (file_table): Make a varray; mark for GC.  Update all users.
947         (file_table_last_lookup_index): Extract from struct file_table.
948         (output_file_names): Fix unsigned compare warnings.
949         (add_name_attribute): Remove inline marker.
950         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
951         (lookup_filename): Don't manage size of file_table.
952         (init_file_table): Allocate file_table with GC.
953         (dwarf2out_init): Don't record main_input_filename here.
954         (dwarf2out_finish): Do it here instead.
955
956 2003-01-16  Bruce Korb  <bkorb@gnu.org>
957
958         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
959
960 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
961
962         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
963         instead of rotldi3_mextr.
964
965 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
966
967         * haifa-sched.c (move_insn): Restore moving all schedule group.
968         (set_priorities): Restore taking SCHED_GROUP_P into account.
969
970         * sched-deps.c (add_dependence): Restore processing the last group
971         insn.
972         (remove_dependence, group_leader): Restore the functions.
973         (set_sched_group_p): Restore adding dependencies from previous insn
974         in the group.
975         (compute_forward_dependences): Restore usage of group_leader.
976
977         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
978         account.
979
980         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
981         account.
982         (can_schedule_ready_p): Ditto.
983         (add_branch_dependences): Restore skipping over the group insns.
984
985 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
986
987         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
988         68HC12 pre/post inc/dec side effects.
989
990 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
991
992         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
993
994 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
995
996         * sh.md (mshflo_w_x): Fix description of operation.
997
998 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
999
1000         * config/rs6000/rs6000.h: Mention Altivec registers in
1001         commentary.  Fix typo.
1002
1003 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
1004
1005         * config/rs6000/rs6000.md (movti_string): Remove clobber.
1006         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
1007         generate PARALLEL with clobber for TARGET_POWER.
1008
1009 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1010
1011         * ra-colorize.c (colorize_one_web): Initialize variable.
1012         * regmove.c (fixup_match_1): Likewise.
1013         * reload1.c (reload_as_needed): Likewise.
1014         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
1015
1016 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1017
1018         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
1019
1020 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1021
1022         * dbxout.c (lastfile, cwd): Fix `unused' warning.
1023         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
1024         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
1025         is_main_source, file_table, decl_die_table_in_use,
1026         abbrev_die_table_in_use, line_info_table_in_use,
1027         separate_line_info_table_in_use, pubname_table_in_use,
1028         arange_table_in_use, ranges_table_in_use,
1029         current_function_has_inlines): Likewise.
1030         * flow.c (life_analysis): Likewise.
1031         * genemit.c (gen_insn): Likewise.
1032         * protoize.c (cplus_suffix): Likewise.
1033
1034         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
1035         * arm.h (ROUND_UP_WORD): Likewise.
1036
1037         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
1038         warning.
1039         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
1040         init_emit_once): Likewise.
1041         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
1042         Likewise.
1043         * function.c (assign_stack_temp_for_type): Likewise.
1044         * loop.c (loop_invariant_p): Likewise.
1045         * recog.c (push_operand): Likewise.
1046         * regclass.c (init_reg_sets_1): Likewise.
1047         * reload.c (update_auto_inc_notes): Likewise.
1048         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
1049         * stmt.c (expand_asm_operands): Likewise.
1050         * stor-layout.c (start_record_layout): Likewise.
1051
1052 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
1053
1054         * config/c4x/c4x.md (epilogue): Correct last patch.
1055
1056 2003-01-15  Richard Henderson  <rth@redhat.com>
1057
1058         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
1059         also check that GP is being used.
1060         (alpha_find_lo_sum_using_gp): New.
1061         (alpha_does_function_need_gp): Use get_attr_usegp.
1062         * config/alpha/alpha-protos.h: Update.
1063         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
1064         as needed.
1065
1066 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1067
1068         * gcse.c (one_cprop_pass): Change function arguments to take both
1069         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
1070         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
1071         (bypass_jumps): New function to perform separate jump bypassing pass.
1072         * rtl.h (bypass_jumps): Add function prototype.
1073         * timevar.def (TV_BYPASS): New timing variable.
1074         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
1075         (dump_file): New entry for the bypass RTL dump file.
1076         (rest_of_compilation): Insert new jump bypassing optimization
1077         pass after loop.
1078         * doc/passes.texi: Document new pass.
1079
1080 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1081
1082         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
1083         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
1084         * pa.h (TARGET_SOM_SDEF): Define.
1085         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
1086
1087 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
1088
1089         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
1090         allocate 4-bytes of locals on 68HC11.
1091         (expand_epilogue): Likewise.
1092         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
1093
1094 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
1095
1096         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
1097         and -mshort-double to the assembler to specify the ABI.
1098         (LINK_SPEC): Likewise.
1099         (CPP_SPEC): Pass HCS12 specific define.
1100         (MASK_M68S12): New define.
1101         (TARGET_M68S12): Likewise.
1102         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
1103         (TARGET_VERSION): Update.
1104         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
1105         (LINK_SPEC): Update.
1106         (ASM_SPEC): Update.
1107         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
1108         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
1109
1110 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
1111
1112         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
1113         the return code.
1114
1115 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
1116
1117         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
1118         flag before setting it.
1119
1120 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1121
1122         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
1123         when loop condition is known true, i.e.  "while (1) { ... }".
1124         (genrtl_for_stmt): Similarly for "for" statements.
1125
1126 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1127
1128         * real.c (real_sqrt): Return a bool result indicating whether
1129         a floating point exception or trap should be raised.
1130         * real.h (real_sqrt): Update function prototype.
1131         * builtins.c (fold_builtin): Only fold non-trapping square
1132         roots unless we're ignoring errno and trapping math.
1133
1134 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
1135
1136         * expr.h (emit_conditional_add): Add PARAMS to declaration.
1137         * gengtype-lex.l (malloc, realloc): Move defines after include of
1138         system.h.  Remove duplicate include of system.h.
1139
1140 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1141
1142         PR middle-end/9009
1143         * optabs.c (expand_unop):  When manipulating the FP sign bit
1144         using integer operations, account for targets with different
1145         integer and FP word orders.
1146         (expand_abs): Likewise.
1147
1148 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
1149
1150         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
1151         file extension in section name.
1152
1153 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
1154
1155         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
1156         constant offset.
1157
1158 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
1159
1160         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
1161         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
1162         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
1163         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1164
1165 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
1166
1167         PR f/9258
1168         * global.c (struct allocno): Add no_stack_reg.
1169         (global_conflicts): Set no_stack_reg.
1170         (find_reg): Use it.
1171
1172         * convert.c (convert_to_real): Fold - and abs only when profitable.
1173         * fold-const.c (fold): Fold truncates in - and abs.
1174
1175 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
1176
1177         Segher Boessenkool  <segher@koffie.nl>
1178
1179         * predict.c (real_inv_br_prob_base): New variable.
1180         (propagate_freq): Use multiply by reciprocal instead of
1181         division.  Don't divide by 1.0 at all.
1182         (estimate_bb_frequencies): Similar.
1183
1184 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
1185
1186         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
1187         * configure: Rebuilt.
1188
1189 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
1190
1191         * config/s390/s390.c (s390_safe_attr_type): New function.
1192         (s390_use_dfa_pipeline_interface): New function, return true for z900.
1193         (s390_issue_rate): New function.
1194         (s390_agen_dep_p): New function.
1195         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
1196         (s390_adjust_cost): Return 'cost' if new DFA is used.
1197         (s390_adjust_priority): Delete function.
1198         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
1199         * config/s390/s390.md (atype attribute): Attribute 'atype' default
1200         determined by 'op_type'.
1201         (type attribute): Added more type attributes.
1202         * config/s390/2064.md: New DFA description for z900 pipeline.
1203
1204 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
1205
1206         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
1207         forced to memory.  Fixes PR bootstrap/9036.
1208
1209         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
1210         to set $gp before the call.
1211
1212 2003-01-14  Richard Henderson  <rth@redhat.com>
1213
1214         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
1215         for force_const_mem.
1216
1217 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1218
1219         * genattr.c (main): Rearrange output to avoid prototype warning.
1220         * genautomata.c (transform_3): Fix ambiguous-else warning.
1221         * local-alloc.c (requires_inout): Add parentheses around
1222         assignment used as truth-value.
1223         * timevar.c: Move system includes above local includes.  Include
1224         toplev.h
1225         * Makefile.in (timevar.o): Depend on toplev.h.
1226
1227 2003-01-14  Denis Chertykov  <denisc@overta.ru>
1228
1229         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
1230         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
1231
1232         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
1233         attributes.
1234         (TARGET_ATTRIBUTE_TABLE): New macro.
1235         (valid_machine_type_attribute): Remove.
1236         (valid_machine_decl_attribute): Remove.
1237         (ip2k_handle_progmem_attribute): New function.
1238         (ip2k_handle_fndecl_attribute): New function.
1239
1240 2003-01-10  Andrew Haley  <aph@redhat.com>
1241
1242         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
1243         registers to be in correct order.  Add rip.
1244
1245 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
1246
1247         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
1248         (*iorsi3_and_lshiftrt_9_sb): Likewise.
1249
1250 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1251
1252         * convert.c (strip_float_extensions):  Look for narrowest type handling
1253         FP constants.
1254
1255         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
1256         float1 CMP float2.
1257         * convert.c (strip_float_extensions): Make global.
1258         * tree.h (strip_float_extensions): Declare.
1259
1260 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1261
1262         * timevar.def: define TV_NAME_LOOKUP.
1263         * timevar.c (timevar_pop): Be verbose when aborting.
1264
1265 2003-01-13  Andreas Schwab  <schwab@suse.de>
1266
1267         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
1268         $(parsedir), just move the temporary file at the end.
1269         ($(parsedir)/gengtype-yacc.c): Likewise.
1270
1271 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
1272
1273         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
1274         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
1275         splitting.
1276         * configure: Rebuilt.
1277
1278 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1279
1280         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
1281         internal_mcount): Don't use PARAMS.
1282         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
1283         ISO C style.
1284         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
1285
1286 2003-01-13  Andreas Schwab  <schwab@suse.de>
1287
1288         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
1289         directive.
1290
1291 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
1292
1293         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
1294         (*iorsi3_and_lshiftrt_n_sb): Likewise.
1295
1296 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
1297
1298         PR c++/9264
1299         * c-lex.c (c_lex): Set the token value to error_mark_node for
1300         invalid numeric constants.
1301
1302 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1303
1304         * c-pch.c (asm_file_startpos): Change to `long'.
1305         (pch_init): Use ftell, not ftello.
1306         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
1307         Use `long' instead of `off_t'.
1308         (c_common_read_pch): Likewise.
1309         * ggc-common.c (gt_pch_save): Use long/ftell instead of
1310         off_t/ftello.
1311
1312 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
1313
1314         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
1315
1316 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
1317
1318         * arm-protos.h (struct cpp_reader): Add declaration.
1319
1320 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
1321
1322         PR target/9068
1323         * i386.c (output_fp_compare): Fix typo.
1324
1325 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
1326
1327         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
1328
1329 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
1330
1331         * Makefile.in (parsedir): New variable.
1332         (docobjdir): New variable.
1333         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
1334         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
1335         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
1336         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
1337         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
1338         Use docobjdir.
1339         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
1340         objc.maintainer-clean): Use parsedir.
1341
1342         * varasm.c (struct constant_descriptor_rtx): Remove unused
1343         `label' field.
1344
1345         * toplev.c (documented_lang_options): Document -Winvalid-pch.
1346
1347 2003-01-10  Richard Henderson  <rth@redhat.com>
1348
1349         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
1350         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
1351
1352 2003-01-10  Richard Henderson  <rth@redhat.com>
1353
1354         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
1355         not INTEGRAL_MODE_P when widening extensions.
1356
1357 2003-01-10  Richard Henderson  <rth@redhat.com>
1358
1359         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
1360
1361 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
1362
1363         * ggc-page.c (ggc_collect): Avoid overflow computing
1364         min_expand.
1365
1366         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
1367         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
1368         Remove calls.
1369         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
1370
1371 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
1372
1373         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
1374         with weird operands.
1375
1376 2003-01-10  Dale Johannesen <dalej@apple.com>
1377
1378         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
1379         parameters.  Call check_sibcall_argument_overlap if indicated.
1380         (check_sibcall_argument_overlap):  Add mark_stored_args_map
1381         parameter.  Don't mark parameter area as clobbered if not set.
1382         (expand_call):  Adjust calls to above.
1383
1384 2003-01-10 Kelley Cook <kelleycook@comcast.net>
1385
1386         * configure.in (linker read-only and read-write section mixing):
1387         Squelch some assembler warnings.
1388         * configure: Likewise.
1389
1390 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
1391
1392         * doc/invoke.texi: Document -mtune, delete -mcpu
1393         option for S/390 and zSeries.
1394         * config/s390/s390.c (s390_tune_string) New variable.
1395         (s390_cpu_string) Delete variable.
1396         (override_options): Use s390_tune_string instead of
1397         s390_cpu_string.
1398         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
1399
1400 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
1401
1402         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
1403
1404 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
1405
1406         * jump.c (next_nonnote_insn_in_loop): New function.
1407         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
1408         next_nonnote_insn.
1409         (duplicate_loop_exit_test). Likewise.
1410
1411 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
1412
1413         Merge from pch-branch:
1414
1415         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
1416
1417         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
1418         load.
1419
1420         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
1421
1422         * cpplib.c (count_registered_pragmas): New function.
1423         (save_registered_pragmas): New function.
1424         (_cpp_save_pragma_names): New function.
1425         (restore_registered_pragmas): New function.
1426         (_cpp_restore_pragma_names): New function.
1427         * cpphash.h (_cpp_save_pragma_names): Prototype.
1428         (_cpp_restore_pragma_names): Likewise.
1429         * cpppch.c (struct save_macro_item): Split from save_macro_data.
1430         (struct save_macro_data): New field 'saved_pragmas'.
1431         (save_macros): Update for changes to struct save_macro_data.
1432         (cpp_prepare_state): Call _cpp_save_pragma_names, update
1433         for changes to struct save_macro_data.
1434         (cpp_read_state): Call _cpp_restore_pragma_names, update
1435         for changes to struct save_macro_data.
1436
1437         * cpppch.c (cpp_read_state): Restore the hashtable references
1438         in the cpp_reader.
1439
1440         * tree.h (built_in_decls): Mark for PCH.
1441
1442         * dbxout.c (lastfile): Don't mark for PCH.
1443
1444         * ggc.h: Document PCH calls into memory managers.
1445
1446         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
1447
1448         * doc/invoke.texi (Precompiled Headers): Document the
1449         directory form of PCH.
1450         * cppfiles.c (validate_pch): New function.
1451         (open_file_pch): Search suitably-named directories for PCH files.
1452
1453         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
1454
1455         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
1456         reorder options.
1457         (Type Information): Mention that the information is also
1458         used to implement PCH.
1459         * doc/passes.texi (Passes): Improve documentation of
1460         language-specific files.
1461
1462         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
1463
1464         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
1465         (struct walk_type_data): Add reorder_fn field.
1466         (walk_type): Process 'reorder' option.
1467         (write_types_process_field): Reorder parameters to gt_pch_note_object,
1468         call reorder_note_routine.
1469         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
1470         (ggc_wtd): Update for change to struct write_types_data.
1471         (pch_wtd): Likewise.
1472         * ggc.h (gt_pch_note_object): Reorder parameters.
1473         (gt_handle_reorder): New definition.
1474         (gt_pch_note_reorder): New prototype.
1475         * ggc-common.c (struct ptr_data): Add reorder_fn.
1476         (gt_pch_note_object): Reorder parameters.
1477         (gt_pch_note_reorder): New.
1478         (gt_pch_save): Call reorder_fn.
1479         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
1480
1481         * dbxout.c (cwd): Don't mark for PCH.
1482
1483         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
1484
1485         * gengtype.c (finish_root_table): Fix some warnings.
1486         (write_root): Handle TYPE_STRING.
1487         * ggc.h (gt_ggc_m_S): Add prototype.
1488         * stringpool.c (gt_ggc_m_S): New function.
1489
1490         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
1491
1492         * dwarf2out.c (dw2_string_counter): New.
1493         (AT_string_form): Use it.
1494         (same_dw_val_p): Update for removal of hashtable.h hash tables.
1495
1496         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1497
1498         * dbxout.c: Include gt-dbxout.h.
1499         (lastfile): Mark for PCH/GGC.
1500         (cwd): Likewise.
1501         (struct typeinfo): Likewise.
1502         (typevec): Likewise.
1503         (typevec_len): Likewise.
1504         (next_type_number): Likewise.
1505         (struct dbx_file): Likewise.
1506         (current_file): Likewise.
1507         (next_file_number): Likewise.
1508         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
1509         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
1510         (dbxout_end_source_file): Don't free struct dbx_file.
1511         (dbxout_type): Use GGC to allocate typevec.
1512         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
1513         (GTFILES): Add dbxout.c.
1514         (gt-dbxout.h): New rule.
1515
1516         * Makefile.in (c-pch.o): Add debug.h as dependency.
1517         * c-pch.c: Include debug.h.
1518         (pch_init): Call start_source_file to keep nesting right.
1519         (c_common_read_pch): Add orig_name parameter.  Call
1520         start_source_file debug hook.  Call end_source_file debug hook.
1521         * c-common.h (c_common_read_pch): Update prototype.
1522         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
1523         callback.
1524         * cppfiles.c (struct include_file): Add new field `header_name'.
1525         (find_or_create_entry): Default it to `name'.
1526         (open_file_pch): Set it to the original header file searched for.
1527         (stack_include_file): Don't stack an empty buffer, just handle
1528         PCH files immediately.  Pass header_name field to read_pch callback.
1529
1530         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
1531
1532         * function.c (funcdef_no): Mark to be saved in a PCH.
1533
1534         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
1535
1536         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
1537
1538         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
1539
1540         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
1541
1542         * optabs.h (code_to_optab): Add GTY marker.
1543
1544         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
1545
1546         * Makefile.in (GTFILES): Add cpplib.h.
1547         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
1548         * c-decl.c (build_compound_literal): Don't use var_labelno.
1549         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
1550         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
1551         * varasm.c (const_labelno): Use gengtype to mark.
1552         (var_labelno): Likewise.
1553         (in_section): Likewise.
1554         (in_named_name): Likewise.
1555         (struct in_named_entry): Likewise.
1556         (in_named_htab): Likewise.
1557         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
1558         (init_varasm_once): Use GGC to allocate in_named_htab.
1559         * config/darwin.c (current_pic_label_num): Mark for PCH.
1560
1561         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
1562
1563         * ggc-simple.c (init_ggc_pch): New stub procedure.
1564         (ggc_pch_count_object): Likewise.
1565         (ggc_pch_total_size): Likewise.
1566         (ggc_pch_this_base): Likewise.
1567         (ggc_pch_alloc_object): Likewise.
1568         (ggc_pch_prepare_write): Likewise.
1569         (ggc_pch_write_object): Likewise
1570         (ggc_pch_finish): Likewise.
1571         (ggc_pch_read): Likewise.
1572
1573         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
1574
1575         * c-pch.c (c_common_write_pch): Write the macro definitions after
1576         the GCed data.
1577         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
1578         definitions after the GCed data.
1579         * cpplib.c (save_macros): New.
1580         (reset_ht): New.
1581         (cpp_write_pch_deps): Split out of cpp_write_pch.
1582         (cpp_write_pch_state): Split out of cpp_write_pch.
1583         (cpp_write_pch): Delete.
1584         (struct save_macro_data): Delete.
1585         (cpp_prepare_state): New.
1586         (cpp_read_state): Erase and restore initial macro definitions.
1587         * cpplib.h (struct save_macro_data): Forward-declare.
1588         (cpp_write_pch_deps): Prototype.
1589         (cpp_write_pch_state): Prototype.
1590         (cpp_write_pch): Delete prototype.
1591         (cpp_prepare_state): Prototype.
1592         (cpp_read_state): Add fourth argument.
1593
1594         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
1595
1596         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
1597         (write_array): Remove warning.
1598
1599         * gengtype.c (contains_scalar_p): New.
1600         (finish_root_table): Add the table to all languages, even if it's
1601         empty.
1602         (write_roots): Output gt_pch_scalar_rtab.
1603         * ggc-common.c (gt_pch_save): Write out scalars.
1604         (gt_pch_restore): Read scalars back.
1605
1606         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
1607         (struct page_entry): Delete pch_page field.
1608         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
1609         (clear_marks): Likewise.
1610         (sweep_pages): Likewise.
1611         (poison_pages): Likewise.
1612         (ggc_print_statistics): Likewise.
1613         (ggc_pch_read): Don't free objects read from a PCH.
1614         Properly set up in_use_p and page_tails.
1615
1616         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
1617
1618         * gengtype.c (struct write_types_data): New.
1619         (struct walk_type_data): Make `cookie' const; add extra
1620         prev_val item; add `orig_s' field.
1621         (walk_type): Update prev_val[3].
1622         (write_types_process_field): New.
1623         (write_func_for_structure): Take write_types_data structure.
1624         (write_types): New.
1625         (ggc_wtd): New.
1626         (pch_wtd): New.
1627         (write_types_local_process_field): New.
1628         (gc_mark_process_field): Delete.
1629         (write_local_func_for_structure): New.
1630         (gc_mark_func_name): Delete.
1631         (write_gc_types): Delete.
1632         (write_local): New.
1633         (finish_root_table): Don't include 'ggc_' in PFX.
1634         (write_root): Rename from write_root.  Fill pchw field of structures.
1635         (write_array): New.
1636         (write_roots): Rename from write_gc_roots.  Split out to write_array.
1637         Update to changes to other routines.  Write gt_pch_cache_rtab table.
1638         (main): Write PCH walking routines.
1639         * ggc-common.c: Include toplev.h, sys/mman.h.
1640         (ggc_mark_roots): For cache hashtables, also mark the hash table
1641         and the array of entries.
1642         (saving_htab): New.
1643         (struct ptr_data): New.
1644         (POINTER_HASH): New.
1645         (gt_pch_note_object): New.
1646         (saving_htab_hash): New.
1647         (saving_htab_eq): New.
1648         (struct traversal_state): New.
1649         (call_count): New.
1650         (call_alloc): New.
1651         (compare_ptr_data): New.
1652         (relocate_ptrs): New.
1653         (write_pch_globals): New.
1654         (struct mmap_info): New.
1655         (gt_pch_save): New.
1656         (gt_pch_restore): New.
1657         * ggc-page.c (ROUND_UP_VALUE): New.
1658         (ROUND_UP): New.
1659         (struct page_entry): Add field `pch_page'.
1660         (init_ggc): Use ROUND_UP.
1661         (struct ggc_pch_data): Declare.
1662         (init_ggc_pch): New.
1663         (ggc_pch_count_object): New.
1664         (ggc_pch_total_size): New.
1665         (ggc_pch_this_base): New.
1666         (ggc_pch_alloc_object): New.
1667         (ggc_pch_prepare_write): New.
1668         (ggc_pch_write_object): New.
1669         (ggc_pch_finish): New.
1670         (ggc_pch_read): New.
1671         * ggc.h (gt_pointer_operator): New.
1672         (gt_note_pointers): New.
1673         (gt_pch_note_object): New prototype.
1674         (gt_pointer_walker): New.
1675         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
1676         (LAST_GGC_ROOT_TAB): Update.
1677         (gt_pch_cache_rtab): Declare.
1678         (gt_pch_scalar_rtab): Declare.
1679         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
1680         (LAST_GGC_CACHE_TAB): Update.
1681         (gt_pch_save_stringpool): Declare.
1682         (gt_pch_restore_stringpool): Declare.
1683         (gt_pch_p_S): Declare.
1684         (gt_pch_n_S): Declare.
1685         (struct ggc_pch_data): Forward-declare.
1686         (init_ggc_pch): Declare.
1687         (ggc_pch_count_object): Declare.
1688         (ggc_pch_total_size): Declare.
1689         (ggc_pch_this_base): Declare.
1690         (ggc_pch_alloc_object): Declare.
1691         (ggc_pch_prepare_write): Declare.
1692         (ggc_pch_write_object): Declare.
1693         (ggc_pch_finish): Declare.
1694         (ggc_pch_read): Declare.
1695         (gt_pch_save): Declare.
1696         (gt_pch_restore): Declare.
1697         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
1698         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
1699         const_double_htab, mem_attrs_htab using GGC.
1700         * c-pch.c: Include ggc.h.
1701         (pch_init): Allow reading PCH file back.
1702         (c_common_write_pch): Call gt_pch_save.
1703         (c_common_read_pch): Call gt_pch_restore.
1704         * c-parse.in (init_reswords): Delete now-untrue comment.
1705         Allocate ridpointers using GGC.
1706         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
1707         calling expand_deferred_fns.
1708         * c-common.h (ridpointers): Mark for GTY machinery.
1709         * Makefile.in (stringpool.o): Update dependencies.
1710         (c-pch.o): Update dependencies.
1711         (ggc-common.o): Update dependencies.
1712         * stringpool.c: Include gt-stringpool.h.
1713         (gt_pch_p_S): New.
1714         (gt_pch_n_S): New.
1715         (struct string_pool_data): New.
1716         (spd): New.
1717         (gt_pch_save_stringpool): New.
1718         (gt_pch_restore_stringpool): New.
1719         * tree.c (init_ttree): Make type_hash_table allocated using GC.
1720
1721         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
1722
1723         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1724         (output_mangled_typename): Don't pass size_t to printf.
1725
1726         * tree.h (union tree_type_symtab): Add tag to `address' field.
1727         (union tree_decl_u2): Add tag to 'i' field.
1728         * varasm.c (union rtx_const_un): Add tags to all fields.
1729         * gengtype.c (struct walk_type_data): New.
1730         (output_escaped_param): Take struct walk_type_data parameter.
1731         (write_gc_structure_fields): Delete.
1732         (walk_type): New.
1733         (write_gc_marker_routine_for_structure): Delete.
1734         (write_func_for_structure): New.
1735         (gc_mark_process_field): New.
1736         (gc_mark_func_name): New.
1737         (gc_counter): Delete.
1738         (write_gc_types): Use write_func_for_structure.
1739         (write_gc_roots): Use walk_type.
1740
1741         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
1742
1743         * ggc-common.c (ggc_mark_roots): Delete 'x'.
1744         (ggc_splay_dont_free): Fix warning about unused 'x'.
1745         (ggc_print_common_statistics): Remove warnings.
1746
1747         2002-10-01  Mike Stump  <mrs@apple.com>
1748
1749         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1750         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
1751
1752         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
1753             Catherine Moore  <clm@redhat.com>
1754
1755         * Makefile (c-pch.o): Update dependencies.
1756         (LIBCPP_OBJS): Add cpppch.o.
1757         (cpppch.o): New.
1758         * c-common.c (c_common_init): Don't call pch_init here.
1759         * c-common.h (c_common_read_pch): Update prototype.
1760         * c-lex.c (c_common_parse_file): Call pch_init here.
1761         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1762         (c_common_decode_option): Handle them.
1763         * c-pch.c: Include c-pragma.h.
1764         (save_asm_offset): Delete.
1765         (pch_init): Move contents of save_asm_offset into here, call
1766         cpp_save_state.
1767         (c_common_write_pch): Call cpp_write_pch.
1768         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1769         cpp_valid_state.
1770         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1771         * cppfiles.c (stack_include_file): Update for change to
1772         parameters of cb.read_pch.
1773         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1774         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1775         `restore_pch_deps' fields.
1776         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1777         (cpp_save_state): Prototype.
1778         (cpp_write_pch): Prototype.
1779         (cpp_valid_state): Prototype.
1780         (cpp_read_state): Prototype.
1781         * cpppch.c: New file.
1782         * flags.h (version_flag): Remove prototype.
1783         * mkdeps.c (deps_save): New.
1784         (deps_restore): New.
1785         * mkdeps.h (deps_save): Prototype.
1786         (deps_restore): Prototype.
1787         * toplev.c (late_init_hook): Delete.
1788         (version_flag): Make static again.
1789         (compile_file): Don't call late_init_hook.
1790         * toplev.h (late_init_hook): Delete.
1791         * doc/cppopts.texi: Document -fpch-deps.
1792         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1793
1794         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1795
1796         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1797         callers.
1798         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1799         (c_common_read_pch): Rename from c_read_pch, change callers.
1800
1801         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1802         a space between it and its argument.
1803
1804         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1805
1806         * c-pch.c: New file.
1807         * toplev.h (late_init_hook): Declare.
1808         * toplev.c (late_init_hook): Define.
1809         (version_flag): Make globally visible.
1810         (compile_file): Call late_init_hook.
1811         (init_asm_output): Make output file seekable.
1812         * gcc.c (default_compilers): Update c-header rule.
1813         * flags.h (version_flag): Declare.
1814         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1815         fields.
1816         * cppfiles.c (struct include_file): Add 'pch' field.
1817         (INCLUDE_PCH_P): New.
1818         (open_file_pch): New.
1819         (stack_include_file): Handle PCH files specially.
1820         (find_include_file): Call open_file_pch instead of open_file.
1821         (_cpp_read_file): Explain why open_file is used instead of
1822         open_file_pch.
1823         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1824         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1825         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1826         in cpplib callbacks.
1827         * c-common.c (pch_file): Correct comment.
1828         (allow_pch): Define.
1829         (c_common_init): Call pch_init.
1830         * c-common.h (allow_pch): Declare.
1831         (pch_init): Declare.
1832         (c_valid_pch): Declare.
1833         (c_read_pch): Declare.
1834         (c_write_pch): Declare.
1835         * Makefile.in (c-pch.o): New.
1836         (C_AND_OBJC_OBJS): Add c-pch.o.
1837         * doc/invoke.texi (Precompiled Headers): Add index entries,
1838         complete truncated paragraph.
1839
1840         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1841
1842         * c-common.c: (pch_file): Define.
1843         * c-common.h (pch_file): Declare.
1844         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1845         (missing_arg): Require --output-pch= to have an argument.
1846         (c_common_decode_option): Handle --output-pch=.
1847         * gcc.c: Document new %V.
1848         (default_compilers): Handle compiling C header files.
1849         (do_spec_1): Implement %V.
1850         (main): Handle "gcc foo.h" without trying to run linker.
1851         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1852         (Overall Options): Document what the driver does with header files,
1853         document new -x option possibilities.
1854         (Invoking G++): More documentation for PCH.
1855         (Precompiled Headers): New.
1856
1857         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1858
1859         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1860         organized.
1861         (ggc_add_root): Delete.
1862         (ggc_mark_rtx): Delete.
1863         (ggc_mark_tree): Delete.
1864         (struct ggc_statistics): Remove contents.
1865         * ggc-common.c: Remove unneeded includes.
1866         (struct ggc_root): Delete.
1867         (roots): Delete.
1868         (ggc_add_root): Delete.
1869         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1870         (ggc_print_common_statistics): Remove most of the contents.
1871         * Makefile.in (GGC_H): No longer uses varray.h.
1872         (ggc-common.o): Update dependencies.
1873         (c-parse.o): Add varray.h to dependencies.
1874         (c-common.o): Add varray.h.
1875         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1876         (mark_ident_hash): Rename to ggc_mark_stringpool.
1877         (init_stringpool): Don't use ggc_add_root.
1878         * c-parse.in: Include varray.h.
1879         * c-common.c: Include varray.h.
1880         * objc/Make-lang.in (objc-act.o): Add varray.h.
1881         * objc/objc-act.c: Include varray.h.
1882
1883         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1884
1885         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1886         (dw_cfi_oprnd1_desc): Likewise.
1887
1888         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1889
1890         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1891         move out of ifdef.
1892         (alpha_links): Use gengtype to mark; move out of ifdef.
1893         (mark_alpha_links_node): Delete.
1894         (mark_alpha_links): Delete.
1895         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1896         alpha_links, strings.  Don't use ggc_add_root.
1897         * ggc-common.c (ggc_splay_alloc): New.
1898         (ggc_splay_dont_free): New.
1899         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1900         (ggc_mark_tree): Likewise.
1901         (splay_tree_new_ggc): New.
1902         (ggc_splay_alloc): Declare.
1903         (ggc_splay_dont_free): Declare.
1904         * dwarf2asm.c: Include gt-dwarf2asm.h.
1905         (mark_indirect_pool_entry): Delete.
1906         (mark_indirect_pool): Delete.
1907         (indirect_pool): Use gengtype to mark.
1908         (dw2_force_const_mem): Don't use ggc_add_root.
1909         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1910         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1911         (gt-dwarf2asm.h): Depend on s-gtype.
1912
1913         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1914
1915         * tree.h (union tree_type_symtab): Mark `die' field.
1916         * Makefile.in (dwarf2out.o): Update dependencies.
1917         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1918         hash tables.
1919         (dw_cfi_oprnd1_desc): New function.
1920         (dw_cfi_oprnd2_desc): New function.
1921         (indirect_string_alloc): Delete.
1922         (debug_str_do_hash): New function.
1923         (debug_str_eq): New function.
1924         (mark_limbo_die_list): Delete.
1925         (dwarf2out_init): Don't call ggc_add_root.
1926
1927 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1928
1929         The following changes are merged from itanium-sched-branch:
1930
1931         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1932
1933         * doc/md.texi: Clarify assignment of units to automata description.
1934
1935         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1936
1937         * genautomata.c (unit_decl): Remove members
1938         `the_same_automaton_unit' and
1939         `the_same_automaton_message_reported_p'.
1940         (process_unit_to_form_the_same_automaton_unit_lists,
1941         form_the_same_automaton_unit_lists_from_regexp,
1942         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1943         Remove them.
1944         (annotation_message_reported_p): New global variable.
1945         (check_unit_distribution_in_reserv,
1946         check_regexp_units_distribution): New functions.
1947         (check_unit_distributions_to_automata): Rewrite it.
1948
1949         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1950
1951         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1952         Use continue instead of break if cycle is too big.
1953
1954         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1955
1956         * genautomata.c (check_unit_distributions_to_automata): Output at
1957         most one message for a unit.
1958         (process_unit_to_form_the_same_automaton_unit_lists): Check
1959         automaton of units instead of units themself.
1960
1961         * doc/md.texi: Describe the constraint about assigning unit to
1962         automata.
1963
1964         2002-12-20  Jan Hubicka  <jH@suse.cz>
1965                     Vladimir Makarov  <vmakarov@redhat.com>
1966
1967         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1968         and `in_set_p'.
1969         (gen_cpu_unit): Initialize the new members.
1970         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1971         up `min_occ_cycle_num'.
1972         (evaluate_max_reserv_cycles): Change the function call.
1973         (CLEAR_BIT): New macro.
1974         (states_union, state_shift): Use the mask.
1975         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1976         (form_reservs_matter): New function.
1977         (make_automaton): Call the function and use the mask.
1978         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1979         account.
1980
1981         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1982
1983         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1984
1985         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1986
1987         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1988         for Itanium.
1989
1990         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1991
1992         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1993         default cpu.
1994
1995         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1996                 2002-10-31  Dale Johannesen <dalej@apple.com>
1997
1998         * haifa-sched.c (find_set_reg_weight): New function.
1999         (find_insn_reg_weight): Use the new function.
2000         (schedule_block): Do sorting ready queue always
2001         after insn issue.
2002
2003         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
2004
2005         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
2006
2007         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
2008
2009         * haifa-sched.c (choice_entry): New structure.
2010         (choice_stack, cycle_issued_insns): New variables.
2011         (max_issue): Rewrite it.
2012         (choose_ready): Set up ready_try for unknown insns too.
2013         (schedule_block): Allocate and free choice_stack.  Set up
2014         and modify cycle_issued_insns.
2015
2016         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
2017         with and without filling the bundle.
2018         (bundling): Combine calls of issue_nops_and_insn.
2019
2020         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
2021
2022         * config/ia64/itanium1.md: New file.
2023
2024         * config/ia64/itanium2.md: New file.
2025
2026         * config/ia64/ia64.md: Move DFA descriptions into the new files.
2027         Remove the old pipeline description.
2028
2029         * config/ia64/ia64.c (ia64_override_options): Add aliases of
2030         itanium processor names.
2031
2032         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
2033
2034         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
2035         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
2036
2037         * config/ia64/ia64.md: Add descriptions for Itanium2.
2038
2039         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
2040
2041         * config/ia64/ia64.h (processor_type): New enumeration.
2042         (ia64_tune, ia64_tune_string): New external declarations.
2043         (TARGET_OPTIONS): Add option `tune='.
2044
2045         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
2046         variables.
2047         (ia64_override_options): Set up `ia64_tune'.
2048         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
2049         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
2050         (bundling): Add nops for MM-insns only for Itanium.
2051         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
2052         Itanium.
2053
2054         * config/ia64/ia64.md (cpu): New attribute.
2055         (DFA description): Enable it only for Itanium.
2056
2057         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
2058                     Richard Henderson  <rth@redhat.com>
2059
2060         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
2061         MASK_EARLY_STOP_BITS.
2062         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
2063         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
2064         `early-stop-bits'.
2065
2066         * config/ia64/ia64.c (ia64_dfa_new_cycle,
2067         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
2068         instead of TARGET_TUNE_STOP_BITS.
2069
2070         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
2071         `-mearly-stop-bits'.
2072
2073         * config/ia64/ia64.c (automata_option "v"): Comment it.
2074
2075         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
2076
2077         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
2078         New macros.
2079         (TARGET_SWITCHES): Add entries for the new option.
2080
2081         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
2082         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
2083         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
2084         global variables.
2085         (ia64_sched_reorder2): Set up `clocks'.
2086         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
2087         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
2088         queue when TARGET_TUNE_STOP_BITS.
2089         (bundling): Insert additional nops for MM-insns.
2090         (final_emit_insn_group_barriers): Add insertion of stop bits
2091         according `stops_p'.
2092         (ia64_reorg): Initiate the new varibales.
2093
2094         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
2095
2096         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
2097
2098         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
2099         insns at the end of block insn scheduling.
2100
2101         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
2102
2103         * sched-deps.c (remove_dependence, group_leader): Remove it.
2104         (add_dependence): Add dependence to group leader to.
2105         (set_sched_group_p): Add dependence to the first insn of the
2106         schedule group too.
2107         (sched_analyze_insn): Make dependence to jump as anti-dependence.
2108         Change true dependence by anti-dependence when
2109         `reg_pending_barrier'.
2110
2111         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
2112         add_branch_dependences): Ignore schedule groups.
2113
2114         * sched-ebb.c (init_ready_list): Ditto.
2115
2116         * (move_insn, set_priorities): Ditto.
2117
2118         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
2119         flag is clear after reload.
2120         (adjust_cost): Change cost only for output dependencies.
2121
2122         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
2123
2124         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
2125
2126         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
2127
2128         * target.h (gcc_target): Add member
2129         `dependencies_evaluation_hook'.
2130
2131         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
2132         macro.
2133         (TARGET_SCHED): Add initiatialization of the new member.
2134
2135         * sched-ebb.c: Include `target.h'.
2136         (schedule_ebb): Call `dependencies_evaluation_hook'.
2137
2138         * sched-rgn.c (schedule_region): Call
2139         `dependencies_evaluation_hook'.
2140
2141         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2142         New macro.
2143         (ia64_dependencies_evaluation_hook): New function.
2144
2145         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2146         Describe the new hook.
2147
2148         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
2149
2150         * target.h (gcc_target): Add members
2151         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
2152
2153         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
2154         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
2155         macros.
2156         (TARGET_SCHED): Add initiatialization of the new members.
2157
2158         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
2159         insn scheduling too.
2160         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
2161         initialize `ready_try'.
2162         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
2163         `dfa_new_cycle' says not to do it.
2164
2165         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
2166         bundling.
2167
2168         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
2169
2170         * config/ia64/ia64.c: Include `hashtab.h'.
2171         (ia64_first_cycle_multipass_dfa_lookahead_guard,
2172         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
2173         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
2174         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
2175         bundle_state_eq_p, insert_bundle_state,
2176         initiate_bundle_state_table, finish_bundle_state_table,
2177         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
2178         get_template, get_next_important_insn, bundling): New functions.
2179         (ia64_internal_sched_reorder): Remove it.
2180         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2181         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
2182         (ia64_safe_itanium_requires_unit0): Remove it.
2183         (group_barrier_needed_p): Place group barrier right before a real
2184         insn.
2185         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
2186         Remove them.
2187         (bundle_name): New variable.
2188         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
2189         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
2190         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
2191         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
2192         temp_dfa_state, prev_cycle_state): New global variables.
2193         (insn_matches_slot, maybe_rotate, finish_last_head,
2194         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
2195         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
2196         find_best_packet, itanium_reorder, dump_current_packet,
2197         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
2198         (sched_data, sched_ready, sched_types): Remove them.
2199         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
2200         `init_insn_group_barriers'.
2201         (ia64_sched_reorder, ia64_sched_reorder2): Call
2202         ia64_dfa_sched_reorder.
2203         (ia64_variable_issue): Rewrite it.
2204         (bundle_state): New structure.
2205         (index_to_bundle_states, bundle_states_num,
2206         allocated_bundle_states_chain, free_bundle_state_chain): New
2207         global variables.
2208         (ia64_sched_finish): Add stop bits and call `bundling' after the
2209         2nd insn scheduling.
2210         (ia64_use_dfa_pipeline_interface): Return zero always.
2211         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
2212         insn scheduling.
2213         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
2214         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
2215         (ia64_reorg): Add bundling insns.
2216
2217         * doc/tm.texi
2218         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2219         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
2220
2221         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
2222
2223         * config/ia64/ia64.md: Add Itanium1 DFA description.
2224         (itanium_class): Add `nop' and `pre_cycle'.  Add
2225         define_function_unit for `nop'.
2226         (nop): Change attribute `itanium_class'.
2227         (pre_cycle): New define_insn.
2228
2229         * config/ia64/ia64-protos.h (bundling_p): New external variable.
2230         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
2231         ia64_produce_address_p): New function prototypes.
2232
2233         * config/ia64/ia64.c (bundling_p): New global variable.
2234         (ia64_use_dfa_pipeline_interface,
2235         ia64_first_cycle_multipass_dfa_lookahead,
2236         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
2237         functions.
2238         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2239         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2240         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
2241         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
2242         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
2243         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
2244         (dfa_pre_cycle_insn): New variable.
2245
2246         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2247
2248         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
2249         constructions.
2250
2251         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
2252         New function prototypes.
2253
2254         * genattrtab.c (main): Process the new constructions.
2255
2256         * genautomata.c (gen_presence_absence_set,
2257         process_presence_absence_names, process_presence_absence_patterns,
2258         add_presence_absence, check_absence_pattern_sets): Add parameter
2259         `final_p'.
2260         (unit_decl): Add new members `final_presence_list' and
2261         `final_absence_list'.
2262         (unit_pattern_rel_decl): Add new member `final_p'.
2263         (gen_final_presence_set, gen_final_absence_set): New functions.
2264         (process_decls): Use member `final_p'.
2265         (temp_reserv): New global variable.
2266         (reserv_sets_are_intersected): Add processing `final_presence_set'
2267         and `final_absence_set'.
2268         (initiate_states): Allocate `temp_reserv'.
2269         (unit_final_presence_set_table, unit_final_absence_set_table): New
2270         gloabal variables.
2271         (initiate_presence_absence_pattern_sets): Initiate them.
2272         (NDFA_to_DFA): Fix typo.
2273         (output_description): Output `final_presence_set' and
2274         `final_absence_set'.
2275
2276         * doc/md.texi (final_presence_set, final_absence_set): Describe
2277         them.
2278
2279         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2280
2281         * genautomata.c (transform_3): Process a missing case (nothing on
2282         unit place).
2283
2284         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2285
2286         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
2287         comments about queried units and the minimization.
2288
2289         * doc/md.texi: Ditto.
2290
2291         * genautomata.c (create_composed_state): Return nonzero if the new
2292         state has been created.
2293         (first_cycle_unit_presence): New function.
2294         (state_is_differed): Add new parameter.  Use the new function.
2295         Take queried units into account.
2296         (partition_equiv_class): Pass additional parameter to
2297         `state_is_differed'.
2298         (merge_states): Process composed states too.
2299         (build_automaton, create_automata, output_min_issue_delay_table,
2300         output_tables, output_statistics): Output more information.
2301         (output_reserved_units_table): Use function
2302         `first_cycle_unit_presence'.
2303         (output_tables): Output table of queried units even if the
2304         minimization is switched on.
2305         (write_automata): Output code for querying units even if the
2306         minimization is switched on.
2307
2308         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
2309
2310         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
2311         syntax of the constructions.
2312
2313         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
2314         extended syntax of the constructions.
2315
2316         * genautomata.c (unit_rel_decl): Rename it to
2317         `unit_pattern_rel_decl'.
2318         (pattern_set_el, pattern_reserv): New structures.
2319         (pattern_set_el_t, pattern_reserv_t): New types.
2320         (gen_presence_absence_set): New function.
2321         (process_presence_absence): Remove it.
2322         (process_presence_absence_names,
2323         process_presence_absence_patterns): New functions.
2324         (get_presence_absence_set): Remove it.
2325         (initiate_presence_absence_sets): Rename it on
2326         `initiate_presence_absence_pattern_sets'.  Use new function
2327         `form_reserv_sets_list'.
2328         (form_reserv_sets_list, check_presence_pattern_sets,
2329         check_absence_pattern_sets, output_pattern_set_el_list): New
2330         functions.
2331         (unit_decl): Change types of members `presence_list' and
2332         `absence_list'.
2333         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
2334         (decl): Change types of members `excl', `presence', and `absence'.
2335         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
2336         at the end of the vector.
2337         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
2338         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
2339         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
2340         (gen_presence_set, gen_absence_set): Use new function
2341         `gen_presence_absence_set'.
2342         (add_presence_absence): Process `pattern_list' instead of
2343         `source_list'.
2344         (process_decls): USe new functions
2345         `process_presence_absence_names' and
2346         `process_presence_absence_patterns'.
2347         (reserv_sets_are_intersected): Use new function
2348         `check_presence_pattern_sets'.
2349         (presence_set, absence_set): Remove them.
2350         (unit_presence_set_table, unit_absence_set_table): New global
2351         variables.
2352         (output_description): Use new function
2353         `output_pattern_set_el_list'.
2354         (generate): Use `initiate_presence_absence_pattern_sets'.
2355
2356         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
2357
2358         * genattr.c (main): Add output of prototype of new interface
2359         function `dfa_clean_insn_cache'.
2360
2361         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
2362         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
2363         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
2364         the generated code.
2365         (write_automata): Call the new function.
2366
2367 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
2368
2369         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
2370         correctly.
2371
2372 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
2373
2374         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
2375
2376 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
2377
2378         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
2379         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
2380         (CONSTRAINT_LEN): Provide default definition.
2381         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2382         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
2383         (EXTRA_CONSTRAINT_STR): Likewise.
2384         (REG_CLASS_FROM_CONSTRAINT): Define.
2385         * genoutput.c (check_constraint_len, constraint_len): New functions.
2386         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
2387         constraint / modifier.
2388         (gen_insn): Call check_constraint_len.
2389         * local-alloc.c (block_alloc): Update to use new macros / pass
2390         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
2391         * ra-build.c (handle_asm_insn): Likewise.
2392         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
2393         (constrain_operands, peep2_find_free_register): Likewise.
2394         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
2395         * regmove.c (find_matches): Likewise.
2396         * reload.c (push_secondary_reload, find_reloads): Likewise.
2397         (alternative_allows_memconst): Likewise.
2398         * reload1.c (maybe_fix_stack_asms): Likewise.
2399         (reload_cse_simplify_operands): Likewise.
2400         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
2401         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
2402         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2403         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
2404         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
2405         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
2406
2407         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
2408
2409 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2410
2411         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
2412         length.
2413         (*extzv_1_r_h8300hs): Likewise.
2414         (*extzv_1_r_inv_h8300): Likewise.
2415         (*extzv_1_r_inv_h8300hs): Likewise.
2416
2417 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2418
2419         * config/h8300/h8300.h (PREDICATE_CODES): New.
2420
2421 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
2422
2423         * config/h8300/h8300.md (*addsi3_upper): New.
2424         (*iorsi3_shift): Likewise.
2425         (two splitters): Likewise.
2426         (*addsi3_shift): Likewise.
2427         (two splitters): Likewise.
2428
2429 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
2430
2431         * Makefile.in (optabs.o): Add dependency on basic-block.h.
2432         * basic-block.h (control_flow_insn_p): Fuction was exported.
2433         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
2434         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
2435         notes only when the region is contained in a single basic block.
2436
2437 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
2438
2439         PR inline-asm/8832
2440         * tree.h (expand_asm): New prototype.
2441         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
2442         to do so.
2443         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
2444         down to expand_asm.
2445         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
2446         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
2447         (volatile_refs_p) [ASM_INPUT]: Likewise.
2448         (side_effects_p) [ASM_INPUT]: Likewise.
2449
2450 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
2451
2452         * i386.md (*mul*): FIx constraints; remove confused comment; fix
2453         athlon_decode attributes
2454         (imul/k8 optimization peep2s): New.
2455
2456         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
2457         * i386.md (type attribute): Add ssecomi.
2458         (unit, memory, prefix attributes): Handle ssecomi.
2459         (cvt?2? patterns): Fix athlon_decode attribute
2460         (comi patterns): Set attribute to ssecomi.
2461
2462         PR target/8343
2463         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
2464
2465 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
2466
2467         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
2468         that match register_operands.
2469         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
2470         register_operand the default case.
2471
2472 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
2473
2474         PR c/8032
2475         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
2476         an empty element, do not advance the pointer to unfilled
2477         fields if there are pending initializers.
2478
2479 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2480
2481         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
2482         (install-gcc-tooldir, install-cpp, installdirs,
2483         install-common, install-driver, install-info, install-man,
2484         install-headers, install-include-dir, install-headers-tar,
2485         install-headers-cpio, install-headers-cp, install-mkheaders,
2486         install-collect2, uninstall): Prepend $(DESTDIR) to
2487         destination paths in all (un)installation commands.
2488         (install-driver): Rewrite $(LN) commands to support DESTDIR
2489         with "ln" as well as with "ln -s".
2490         (installdirs): Simply use mkinstalldirs.
2491         (install-libgcc, install-multilib): Also pass DESTDIR.
2492         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
2493         installation destination variable ldir.
2494         * config/alpha/t-osf4, config/arm/t-netbsd,
2495         config/ia64/t-hpux, config/mips/t-iris5-6,
2496         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
2497         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
2498         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
2499         in the definition of SHLIB_INSTALL.
2500         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
2501         $(libsubdir) in the installation commands.
2502
2503 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2504
2505         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
2506         non-optimizing compile.
2507         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
2508         compile.
2509
2510 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
2511
2512         * config/i386/i386.c (ix86_attribute_table): Add new attributes
2513         ms_struct and gcc_struct.
2514         (ix86_handle_struct_attribute): New function.
2515         (ix86_ms_bitfield_layout_p): Update to take new attributes
2516         into account.
2517         * doc/extend.texi: Document new attributes.
2518         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
2519
2520 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
2521
2522         PR optimization/8750
2523         * config/i386/i386.c (ix86_expand_prologue): Don't allow
2524         scheduling pass to move insns across __alloca call.
2525
2526 2003-01-08  Dale Johannesen  <dalej@apple.com>
2527
2528         * config/rs6000/rs6000.md:  Replace *store_multiple_string
2529         with *stmsi[3-8].
2530
2531 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
2532
2533         PR target/9210
2534         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
2535         Set SYMBOL_REF_FLAG on local data sym_ref.
2536
2537 2003-01-08  Dale Johannesen  <dalej@apple.com>
2538
2539         * function.c (assign_parms):  Don't set pretend_args_size if
2540           REG_PARM_STACK_SPACE.
2541           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
2542           pretend_args_size.
2543
2544 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2545
2546         * gcc.hlp: Delete.
2547
2548 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
2549
2550         * i386.c  (ix86_expand_int_addcc): Fix thinko.
2551
2552 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
2553
2554         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
2555         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
2556         as hook_bool_tree_hwi_hwi_tree_true.
2557         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
2558         (rs6000_emit_epilogue): Same.
2559         (rs6000_output_mi_thunk): Re-implement as RTL.
2560         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
2561         xcoffout_declare_function if any debugging enabled.
2562
2563 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
2564
2565         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
2566         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
2567         * config/mips/mips.h (enum processor_type): Rename
2568         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
2569         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
2570         Add PROCESSOR_M4K.
2571         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
2572         (ISA_MIPS32R2): New define.
2573         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
2574         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
2575         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
2576         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
2577         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
2578         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
2579         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
2580         compiling MIPS16 code.
2581         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
2582         comment.
2583         (ISA_HAS_SEB_SEH): New define.
2584         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
2585         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
2586         processor_type value renaming.  Add support for MIPS32R2.
2587         Clean up comments, and move "sb1" entry with other MIPS64 CPU
2588         entries.
2589         (override_options): Reimplement -mipsN option handling so that
2590         it will work correctly for -mips32r2.  Avoid branch-likely
2591         instructions on MIPS32R2.
2592         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
2593         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
2594         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
2595         (extendhisi2_hw, extendqisi2_hw): New.
2596         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
2597         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
2598         MIPS32R2, and MIPS64.
2599         (LINK_SPEC): Pass -mips32r2 to linker.
2600         * config/mips/t-isa3264: Built -mips32r2 multilibs.
2601         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
2602         for mips32r2 in the -march description.  Alphabetically sort
2603         CPU names in the -march description.  Add long-missed -mips32
2604         and -mips64 to MIPS option summary.
2605
2606         * config.gcc: Update copyright years to include 2003.
2607         * config/mips/mips.c: Likewise.
2608         * config/mips/mips.h: Likewise.
2609         * config/mips/mips.md: Likewise.
2610         * config/mips/netbsd.h: Likewise.
2611         * doc/invoke.texi: Likewise.
2612
2613 2003-01-08  Andreas Schwab  <schwab@suse.de>
2614
2615         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
2616         variable.
2617         * configure: Regenerated.
2618
2619 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2620
2621         * config/h8300/h8300.c (output_logical_op): Replace byte/word
2622         extraction of det with b0, b1, w0, w2, etc.
2623         (compute_logical_op_length): Likewise.
2624         (compute_logical_op_cc): Likewise.
2625
2626 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2627
2628         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
2629         HIGH on all variants.
2630
2631 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
2632
2633         * Makefile.in (PARTITION_H): New.
2634         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
2635         * basic-block.h: Include hard-reg-set.h.
2636
2637 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
2638
2639         * arm.h (ENABLE_XF_PATTERNS): Delete.
2640         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
2641         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
2642         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
2643         (cmpxf_trap): Delete.
2644         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
2645
2646 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2647
2648         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
2649         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
2650         (add??cc): New expanders.
2651         * i386.c (expand_int_addcc): New function.
2652         * i386-protos.h (expand_int_addcc): Declare.
2653
2654         * alias.c (memory_modified_1): New static function.
2655         (memory_modified): New static varaible.
2656         (memory_modified_in_insn_p): New global function.
2657         * rtl.h (memory_modified_in_insn_p): Declare.
2658         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
2659         references.
2660
2661         * expr.h (emit_conditional_add): Declare.
2662
2663 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
2664
2665         PR other/8947
2666         * doc/invoke.texi (-malign-double): Explain that the option breaks
2667         binary compatibility.
2668
2669 2003-01-08  Andreas Schwab  <schwab@suse.de>
2670
2671         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
2672         should come from the generic *-*-linux* entry.
2673
2674 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
2675
2676         * cselib.c (cselib_current_insn_in_libcall): New static variable.
2677         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
2678         we are inside libcall.
2679         * cselib.h (elt_loc_list): Add in_libcall.
2680         * gcse.c (do_local_cprop): Do not copy propagate using insns
2681         in libcalls.
2682
2683 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
2684
2685         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
2686         not normally affect to issue rate.
2687
2688 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2689
2690         * genopinit.c (optabs): Add addc_optab.
2691         * ifcvt.c (noce_try_store_flag): Rename to ...
2692         (noce_try_addcc): ... this one; handle generic conditional increment.
2693         (noce_process_if_block): Update noce_try_addcc call.
2694         * optabs.c (emit_conditional_add): New.
2695         (init_obtabs): Initialize addc_optab.
2696         * optabs.h (optab_index): Add OTI_addcc.
2697         (addcc_optab): New macro.
2698         * md.texi: Document addMcc
2699
2700         PR target/8322
2701         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
2702         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2703         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2704
2705         * reload1.c (delete_output_reload): Avoid repeated attempts
2706         to delete insn.
2707
2708 2003-01-07  Andreas Schwab  <schwab@suse.de>
2709
2710         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
2711         Move --enable-initfini-array check ...
2712         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
2713         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
2714         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
2715         * configure: Rebuild.
2716
2717 2003-01-07  Richard Henderson  <rth@redhat.com>
2718
2719         * alias.c (find_base_value): Only use new_reg_base_value shortcut
2720         if the register is set once.
2721
2722 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
2723
2724         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2725         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2726         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2727
2728 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2729             Sunil Davasam  <sunil.k.davasam@intel.com>
2730
2731         PR libstdc++/9076
2732         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2733         DW_CFA_same_value, read next and ignore.
2734
2735 2003-01-07  Richard Henderson  <rth@redhat.com>
2736
2737         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2738
2739 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2740
2741         * cfg.c: Include alloc-pool.h
2742         (edge_pool): New pool.
2743         (bb_pool): New pool.
2744         (first_deleted_edge): Remove.
2745         (first_deleted_block): Remove.
2746         (init_flow): Alloc/free the pools.
2747         (free_edge): Use pools.
2748         (alloc_block): Ditto.
2749         (expunge_block): Ditto.
2750         (cached_make_edge): Ditto.
2751
2752         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2753
2754 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2755
2756         * et-forest.c: Include alloc-pool.h.
2757         (struct et_forest): Add node_pool and occur_pool.
2758         (et_forest_create): Create the new pools.
2759         (et_forest_delete): Delete them.
2760         (et_forest_add_node): Allocate and free using pools.
2761         (et_forest_add_edge): Ditto.
2762         (et_forest_remove_node): Ditto.
2763         (et_forest_remove_edge): Ditto.
2764
2765         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2766
2767 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2768
2769         * config/h8300/h8300.c (output_logical_op): Simplify and
2770         optimize the handling of SImode.
2771         * config/h8300/h8300.c (compute_logical_op_length): Update
2772         accordingly.
2773         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2774
2775 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2776
2777         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2778         big-endian correction to indirect arguments too.
2779
2780 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2781
2782         Segher Boessenkool  <segher@koffie.nl>
2783
2784         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2785         (alt_reg_names): Ditto, fix formatting.
2786         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2787
2788 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2789
2790         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2791         (output_logical_op): Constify intval and det.
2792         (compute_logical_length): Likewise.
2793         (compute_logical_cc): Likewise.
2794         (output_a_shift): Constify mask.
2795         (h8300_encode_label): Constify len.
2796
2797 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2798
2799         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2800         (h8300_expand_epilogue): Likewise.
2801
2802 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2803
2804         Segher Boessenkool  <segher@koffie.nl>
2805
2806         * config/rs6000/altivec.md: Remove spaces from assembler
2807         instruction argument lists.
2808
2809 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2810
2811         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2812         c4x_assembler_function_p.
2813         (c4x_null_epilogue_p): Complement return value, all uses updated.
2814         (c4x_insert_attributes): Add naked.
2815         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2816         * doc/extend.texi: Update C4x function attributes.
2817
2818 2003-01-06  Richard Henderson  <rth@redhat.com>
2819
2820         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2821         properly when changing "local-ness".
2822         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2823
2824 2003-01-06  Dale Johannesen  <dalej@apple.com>
2825
2826         * config/darwin-protos.h:  Add prototypes for new section functions.
2827
2828 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2829
2830         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2831         to EABI.
2832
2833 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2834
2835         * hwint.h: If the current compiler has no 64-bit type at all,
2836         make HOST_WIDEST_INT 32 bits.
2837
2838 2003-01-06  Eric Christopher  <echristo@redhat.com>
2839
2840         * config/mips/mips.md (movdf_internal2): Fix constraints.
2841
2842 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2843
2844         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2845
2846 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2847
2848         * config/mips/mips.md (leadi): Use dla rather than la.
2849
2850 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2851
2852         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2853         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2854
2855 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2856
2857         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2858         redefinition.
2859
2860 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2861
2862         * config/h8300/h8300.md (*extzv_8_23): New.
2863
2864 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2865
2866         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2867         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2868         USE_EH_FRAME_REGISTRY when defining.
2869
2870 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2871
2872         * config/h8300/h8300.c (output_a_shift): Do not output a
2873         variable shift.
2874         * config/h8300/h8300.md (two splitters): New.
2875
2876 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2877
2878         * config/mips/mips.md: Disable the movstrsi define_split.
2879
2880 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2881
2882         * alloc-pool.c: Don't include "libiberty.h".
2883         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2884         * convert.c (convert_to_real): Hide unused variable.
2885
2886 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2887
2888         * Makefile.in (gtyp-gen.h): Const-ify.
2889         * gcov-dump.c (tag_table): Likewise.
2890
2891 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2892
2893         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2894         of *both* the file name and the fix name.
2895
2896 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2897
2898         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2899         collect2.
2900         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2901         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2902         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2903         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2904         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2905         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2906         elfos.h.
2907         (EH_FRAME_IN_DATA_SECTION): Delete define.
2908         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2909         (STARTFILE_SPEC): Use crtbegin.o.
2910         (ENDFILE_SPEC): Use crtend.o.
2911         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2912         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2913         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2914         DTOR_LIST_BEGIN): Define.
2915         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2916         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2917         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2918
2919 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2920
2921         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2922         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2923         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2924         Cleanup handling of replacement text.
2925         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2926
2927 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2928
2929         * fixinc/tests/base/math.h: removed obsolete results
2930         * fixinc/tests/base/stdlib.h: ditto
2931         * fixinc/tests/base/sys/param.h: ditto
2932         * fixinc/tests/base/sys/stat.h: ditto
2933         * fixinc/tests/base/time.h: ditto
2934         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2935         * fixinc/tests/base/sys/byteorder.h: ditto
2936         * fixinc/inclhack.def: Remove superfluous backslashes
2937
2938 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2939
2940         * config/h8300/h8300-protos.h: Add prototypes for
2941         the new functions defined below.
2942         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2943         define.
2944         (dosize): Emit RTL instead of assembly code.
2945         (push): Likewise.
2946         (pop): Likewise.
2947         (h8300_output_function_prologue): Remove.
2948         (h8300_expand_prologue): New.
2949         (h8300_expand_epilogue): New.
2950         (h8300_output_function_epilogue): Do only the reset of
2951         pragma_saveall.
2952         * config/h8300/h8300.md (push_h8300): New.
2953         (push_h8300hs): Likewise.
2954         (pop_h8300): Likewise.
2955         (pop_h8300hs): Likewise.
2956         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2957         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2958         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2959         (*ldm_h8300s_2): New.
2960         (*ldm_h8300s_3): Likewise.
2961         (*ldm_h8300s_4): Likewise.
2962         (return): Likewise.
2963         (*return_1): Likewise.
2964         (prologue): Likewise.
2965         (epilogue): Likewise.
2966         (monitor_prologue): Likewise.
2967
2968 2003-01-03  Dale Johannesen  <dalej@apple.com>
2969
2970         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2971           machopic_picsymbol_stub1.
2972           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2973         * rs6000/rs6000.c:  Update copyright.
2974           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2975
2976 2003-01-02  Jason Merrill  <jason@redhat.com>
2977
2978         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2979
2980         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2981         static/external decls.
2982
2983         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2984         outermost scope.
2985         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2986
2987 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2988
2989         * config/h8300/h8300-protos.h: Add a prototype for
2990         h8300_current_function_interrupt_function_p.
2991         * config/h8300/h8300.c (interrupt_handler): Remove.
2992         (os_task): Likewise.
2993         (monitor): Likewise.
2994         (pragma_interrupt): New.
2995         (WORD_REG_USED): Use
2996         h8300_current_function_interrupt_function_p.
2997         (dosize): Likewise.
2998         (h8300_output_function_prologue): Likewise.
2999         Do not set interrupt_handler, os_task, monitor.
3000         (h8300_output_function_prologue): Use
3001         h8300_current_function_interrupt_function_p.
3002         Do not set interrupt_handler, os_task, monitor.
3003         (h8300_current_function_interrupt_function_p): New.
3004         (h8300_pr_interrupt): Set pragma_interrupt.
3005         (h8300_insert_attributes): Reset pragma_interrupt.
3006
3007 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3008
3009         * doc/install.texi (Configuration): Fix markup for reference to
3010         gcc/config.gcc.
3011
3012 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
3013
3014         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
3015         (*iorhi3_two_qi): Likewise.
3016         (*iorsi3_zexthi): Likewise.
3017         (*xorhi3_zextqi): Likewise.
3018         (*xorsi3_zexthi): Likewise.
3019         (*xorsi3_zextqi): Likewise.
3020
3021 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
3022
3023         * config/h8300/h8300.c (stack_pointer_operand): New.
3024         (const_int_gt_2_operand): Likewise.
3025         (const_int_ge_8_operand): Likewise.
3026         * config/h8300/h8300.md (a splitter): Likewise.
3027         (a peephole2): Likewise.
3028         * config/h8300/h8300-protos.h: Add prototypes for the new
3029         functions above.
3030
3031 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
3032
3033         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
3034         objc/objc-act.h: Fix copyright years.
3035
3036 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3037
3038         * doc/passes.texi: Fix documentation for -fssa-ccp
3039
3040 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
3041
3042         * gccbug.in: Update for new categories.
3043
3044 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3045
3046         * config/h8300/h8300.md: Reorder some patterns.
3047
3048 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3049
3050         * config/h8300/h8300.c (output_logical_op): Fix a warning.
3051
3052 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3053
3054         * config/darwin-protos.h, config/c4x/c4x-protos.h,
3055         config/cris/cris-protos.h, config/i370/i370-protos.h,
3056         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
3057         config/v850/v850-protos.h: Use struct, and don't conditionally
3058         compile on GCC_C_PRAGMA_H.
3059
3060 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3061
3062         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
3063         * config/h8300/h8300-protos.h: Likewise.
3064         * config/sh/sh-protos.h: Likewise.
3065
3066 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3067
3068         * config/arm/arm-protos.h: Use struct cpp_reader instead of
3069         cpp_reader.
3070         * config/h8300/h8300-protos.h: Likewise.
3071         * config/sh/sh-protos.h: Likewise.
3072
3073 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3074
3075         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
3076         arm_pr_long_calls_off): Use struct.
3077         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
3078         : Similarly.
3079         Don't include cpplib.h.
3080         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
3081         sh_pr_nosave_low_regs): Similarly.
3082
3083 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3084
3085         * config/h8300/h8300.c: Include cpplib.h.
3086
3087 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3088
3089         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
3090           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
3091           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
3092           "GCC" in the copyright header.
3093
3094 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3095
3096         * c-pragma.c (c_register_pragma): New.
3097         (init_pragma): Use it.
3098         * c-pragma.h (cpp_register_pragma): Don't declare.
3099         (c_register_pragma): New.
3100         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
3101         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
3102         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
3103         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3104         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
3105         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
3106         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
3107         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
3108         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
3109         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
3110         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
3111         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
3112
3113 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3114
3115         * config/h8300/h8300-protos.h: Update the prototypes.
3116         * config/h8300/h8300.c (const_le_2_operand): Change to
3117         const_int_le_2_operand.
3118         (const_int_le_6_operand): Change to const_int_le_6_operand.
3119         * config/h8300/h8300.md (two peepholes): Update the function
3120         names.
3121
3122 2002-12-31  Tom Tromey  <tromey@redhat.com>
3123
3124         * doc/install.texi (Testing): Fixed typo.
3125
3126 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3127
3128         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
3129         (TRAMPOLINE_SIZE): Support the normal mode.
3130         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
3131
3132 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
3133
3134         * c-common.h (pending_lang_change): Declare.
3135
3136 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
3137
3138         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
3139         descriptions.
3140
3141 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
3142
3143         * gcc/doc/invoke.texi (Optimization Options): List the options
3144         enabled by each -O flag.
3145
3146 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3147
3148         * doc/install.texi (Configuration): Explicitly refer
3149         gcc/config.gcc for a list of cpu models.
3150
3151 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3152
3153         * config/h8300/h8300.h: Fix comment typos.
3154
3155 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
3156
3157         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
3158
3159 2002-12-30  Tom Tromey  <tromey@redhat.com>
3160
3161         * doc/install.texi (Testing): Mention Jacks.
3162
3163 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3164
3165         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
3166
3167 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3168
3169         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
3170         cases.
3171         (compute_logical_op_length): Update to reflect the change in
3172         output_logical_op.
3173         (compute_logical_op_cc): Likewise.
3174
3175 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3176
3177         * doc/service.texi: Uncomment and update FAQ link.
3178
3179 2002-12-30  Andreas Jaeger  <aj@suse.de>
3180
3181         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
3182
3183 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3184
3185         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
3186
3187 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3188
3189         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
3190         are clearing the most significant byte.
3191         (compute_logical_op_length): Update to reflect the change in
3192         output_logical_op.
3193         (compute_logical_op_cc): Likewise.
3194
3195 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3196
3197         * config/h8300/h8300.md: Give internal names to anonymous
3198         insns.
3199
3200 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3201
3202         * config/h8300/h8300.md: Reorder some insns.
3203
3204 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3205
3206         * config/h8300/h8300-protos.h: Add prototypes for
3207         const_int_qi_operand and const_int_hi_operand.
3208         * config/h8300/h8300.c (const_int_qi_operand): New.
3209         (const_int_hi_operand): Likewise.
3210         * config/h8300/h8300.md (three peepholes): New.
3211
3212 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3213
3214         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
3215         Use @copying.
3216
3217 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3218
3219         * configure.in: Increase makeinfo version requirement to 4.[2-9].
3220         * configure: Regenerate.
3221         * doc/install.texi: Update Texinfo version requirement.
3222
3223 2002-12-28  Andreas Jaeger  <aj@suse.de>
3224
3225         * config/i386/i386.c (x86_function_profiler): Mark labelno as
3226         possibly unused.
3227
3228         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
3229         correct format.
3230
3231 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
3232
3233         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
3234         *iorhi_ashift_8.
3235         (*iorhi_lshiftrt_8): New.
3236
3237 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
3238
3239         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
3240
3241 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3242
3243         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
3244
3245 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3246
3247         * config/h8300/h8300-protos.h: Fix comment typos.
3248         Update copyright.
3249         * config/h8300/h8300.c: Fix comment typos.
3250
3251 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3252
3253         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
3254
3255 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3256
3257         * config/i386/athlon.md: Fix comment typos.
3258         * config/i386/crtdll.h: Likewise.
3259         * config/i386/djgpp.h: Likewise.
3260         * config/i386/i386-interix.h: Likewise.
3261         * config/i386/i386.c: Likewise.
3262         * config/i386/i386.h: Likewise.
3263         * config/i386/i386.md: Likewise.
3264         * config/i386/k6.md: Likewise.
3265         * config/i386/mingw32.h: Likewise.
3266         * config/i386/pentium.md: Likewise.
3267         * config/i386/sco5.h: Likewise.
3268         * config/i386/winnt.c: Likewise.
3269         * config/i386/xmmintrin.h: Likewise.
3270
3271 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
3272
3273         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
3274         INSN_P before checking to see if it is dead.
3275         (mark_all_insn_unnecessary): Similarly.
3276         (ssa_eliminate_dead_code): Similarly.
3277         * rtl.h (struct rtx_def): Update comments for in_struct usage
3278         in dead code elimination pass.
3279         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
3280
3281 2002-12-26  Andreas Schwab  <schwab@suse.de>
3282
3283         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
3284
3285 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
3286
3287         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
3288         tartet_flags_explicit.
3289         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
3290         Compact target_flags bits.
3291         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
3292         (TARGET_SWITCHES): Delete references to *_SET flags.
3293
3294 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
3295
3296         * i386.md (memory attribute): Fix setcc attribute.
3297
3298 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3299
3300         * output.h: Fix comment typos.
3301         * predict.c: Likewise.
3302         * print-tree.c: Likewise.
3303         * profile.c: Likewise.
3304         * ra-build.c: Likewise.
3305         * ra-colorize.c: Likewise.
3306         * ra-debug.c: Likewise.
3307         * ra-rewrite.c: Likewise.
3308         * ra.c: Likewise.
3309         * ra.h: Likewise.
3310         * real.c: Likewise.
3311         * recog.c: Likewise.
3312         * reg-stack.c: Likewise.
3313         * regclass.c: Likewise.
3314
3315 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3316
3317         * config/h8300/h8300.c (print_operand_address): Do not negate
3318         a negative number when printing one.
3319
3320 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3321
3322         * config/h8300/h8300-protos.h: Add prototypes for
3323         output_plussi, compute_plussi_length, and compute_plussi_cc.
3324         * config/h8300/h8300.c (output_plussi): New.
3325         (compute_plussi_length): Likewise.
3326         (compute_plussi_cc): Likewise.
3327         * config/h8300/h8300.md (addsi_h8300h): Call
3328         output_plussi, compute_plussi_length, and compute_plussi_cc.
3329
3330 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
3331
3332         * config/h8300/h8300.md (two peepholes): Use match_dup instead
3333         of match_operand in the new patterns.
3334
3335 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3336
3337         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
3338
3339 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
3340
3341         * configure.in (enable-coverage): Add SELF_COVERAGE.
3342         * profile.c (end_branch_prob): Use SELF_COVERAGE.
3343
3344 2002-12-24  Jim Wilson  <wilson@redhat.com>
3345
3346         * alias.c (record_set): Handle multi-reg hard registers.
3347
3348 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
3349
3350         * regmove.c: Fix comment typos.
3351         * reload.c: Likewise.
3352         * reload1.c: Likewise.
3353         * resource.c: Likewise.
3354         * rtl.def: Likewise.
3355         * rtl.h: Likewise.
3356         * rtlanal.c: Likewise.
3357         * sched-deps.c: Likewise.
3358         * sched-rgn.c: Likewise.
3359         * sibcall.c: Likewise.
3360         * simplify-rtx.c: Likewise.
3361         * ssa-ccp.c: Likewise.
3362         * ssa.c: Likewise.
3363         * stmt.c: Likewise.
3364         * stor-layout.c: Likewise.
3365         * system.h: Likewise.
3366         * tlink.c: Likewise.
3367         * toplev.c: Likewise.
3368         * tracer.c: Likewise.
3369         * tree-inline.c: Likewise.
3370         * tree.c: Likewise.
3371         * tree.h: Likewise.
3372         * unroll.c: Likewise.
3373         * varasm.c: Likewise.
3374
3375 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
3376
3377         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
3378         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
3379         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
3380         DG/UX entries.
3381         * doc/md.texi: Remove AMD 29K entries.
3382         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
3383         1.38.1, NewsOS, RT PC, WE32K entries.
3384
3385 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
3386
3387         PR/8763
3388         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
3389         (altivec_vspltisw_v4sf): Name pattern.
3390         (altivec_vslw_v4sf): New pattern.
3391
3392 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
3393
3394         * doc/include/gcc-common.texi: Define DEVELOPMENT.
3395
3396 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
3397
3398         * stor-layout.c (update_alignment_for_field): Correct handling of
3399         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
3400         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
3401         bitfield does not affect alignment.
3402
3403 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
3404
3405         * expr.c (expand_assignment): Apply special treatment to
3406         ARRAY_TYPE.
3407
3408 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
3409
3410         * config/h8300/h8300-protos.h: Update the prototype of
3411         expand_a_shift.
3412         * config/h8300/h8300.c (expand_a_shift): Change the return
3413         type to void.
3414         * config/h8300/h8300.md: Update all the uses of
3415         expand_a_shift.
3416
3417 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
3418
3419         * tree.c (save_expr): Allow either side of a dyadic operand to be
3420         constant.
3421
3422         * doc/portability.texi (portability): Update portability goals.
3423
3424 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
3425
3426         * config/h8300/h8300.c (output_a_shift): Remove unused code.
3427
3428 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
3429
3430         * stor-layout.c (update_alignment_for_field): Guard use of
3431         ADJUST_FIELD_ALIGN with #ifdef.
3432
3433         * stor-layout.c (update_alignment_for_field): Use
3434         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
3435         bitfield when PCC_BITFIELD_TYPE_MATTERS.
3436
3437 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3438
3439         * genautomata.c: Fix comment typos.
3440
3441 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3442
3443         * params.def (tracer-min-branch-probability-feedback): Fix default.
3444         * final.c (compute_alignments): Use profile to avoid code bloat.
3445
3446 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3447
3448         * config/h8300/h8300.c (get_shift_alg): Make shift insn
3449         sequences end with a valid cc0 whenever possible.
3450
3451 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
3452
3453         * config/h8300/h8300.md (negsf2): New.
3454         (*negsf2_h8300): Likewise.
3455         (*negsf2_h8300hs): Likewise.
3456
3457 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
3458
3459         * integrate.c (output_inline_function): Don't hold private
3460         pointers to 'struct function' over GC calls.
3461
3462 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
3463
3464         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
3465         NO_FPSCR_VALUES.
3466         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
3467
3468 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3469
3470         * config/h8300/h8300.md (zero_extendqisi2): Correct the
3471         length.
3472
3473 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3474
3475         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
3476         second alternative "#".
3477         (*zero_extendqihi2_h8300hs): Likewise.
3478         (a define_split): New.
3479
3480 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3481
3482         * config/h8300/h8300-protos.h: Update the prototype for
3483         split_adds_subs.
3484         Add prototypes for const_le_2_operand and const_le_6_operand.
3485         * config/h8300/h8300.c (split_adds_subs): Add an argument to
3486         specify whether inc/dec should be used when possible.
3487         (const_le_2_operand): New.
3488         (const_le_6_operand): Likewise.
3489         * config/h8300/h8300.md (two peepholes): New.
3490
3491 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
3492
3493         * config/fr30/fr30.md: Fix a comment typo.
3494         * config/i386/i386.c: Likewise.
3495         * config/ip2k/ip2k.h: Likewise.
3496
3497 2002-12-20  Jim Wilson  <wilson@redhat.com>
3498
3499         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
3500         (__ev_subw, __ev_subiw): New.
3501         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
3502         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
3503
3504 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
3505
3506         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
3507         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
3508         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
3509         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
3510
3511 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
3512
3513         * config/h8300/h8300-protos.h: Add prototypes for
3514         incdec_operand and eqne_operator.
3515         * config/h8300/h8300.c (incdec_operand): New.
3516         (eqne_operator): Likewise.
3517         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
3518         (CONST_OK_FOR_O): Likewise.
3519         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
3520         CONST_OK_FOR_O.
3521         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
3522         (addhi3_incdec): New.
3523         (addsi3_incdec): Likewise.
3524         (two peepholes): Likewise.
3525
3526 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
3527
3528         * config/h8300/h8300.c (dosize): Remove warnings.
3529         (print_operand): Likewise.
3530
3531 2002-12-20  Richard Henderson  <rth@redhat.com>
3532
3533         * config/alpha/alpha.c (decl_has_samegp): New.
3534         (samegp_function_operand): Use it.  Rename from
3535         current_file_function_operand.
3536         (direct_call_operand): Handle -msmall-text via symbol->jump.
3537         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
3538         (tls_symbolic_operand_type): Likewise.
3539         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
3540         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
3541         (alpha_end_function): Set symbol->jump for functions defined in
3542         the text section.
3543         * config/alpha/alpha-protos.h: Update.
3544         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
3545         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
3546         (PREDICATE_CODES): Update.
3547         * config/alpha/alpha.md (call patterns): Update for
3548         samegp_function_operand rename; use !samegp reloc if
3549         TARGET_EXPLICIT_RELOCS.
3550         * doc/invoke.text: Document -msmall-text and -mlarge-text.
3551
3552 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
3553
3554         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
3555         all registers capable of holding a double float.
3556         (*rcond): change name of "reverse branch" insns to
3557         something more meaningful.
3558         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
3559         comparisons properly.
3560         (*ffs): Change operand 0 from write to read-modify-write.
3561         (*ffsssi2): Drop constraints from define_expand.
3562
3563         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
3564         MOVE_RATIO as default for store operations.
3565
3566         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
3567         LONG_REGS class.
3568         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
3569         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
3570         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
3571
3572         * config/ns32k/STATUS: New File
3573         * config/ns32k/NOTES: New file.
3574
3575 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
3576
3577         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
3578         option for S/390 and zSeries.
3579         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
3580         s390_arch_string): New variables.
3581         (override_options): Checking for options and setting of
3582         appropriate target_flags, cpu and arch flags.
3583         * config/s390/s390.h: (processor_type): New enum.
3584         (TARGET_SWITCHES): New switches -mesa/zarch.
3585         * config/s390/s390.md: New attribute 'cpu'.
3586
3587 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3588
3589         * c-pretty-print.h: Fix comment typos.
3590         * integrate.c: Likewise.
3591         * varasm.c: Likewise.
3592         * config/c4x/c4x.h: Likewise.
3593         * config/c4x/c4x.md: Likewise.
3594         * config/fr30/fr30.md: Likewise.
3595         * config/frv/frv.c: Likewise.
3596         * config/h8300/h8300.c: Likewise.
3597         * config/i386/i386.c: Likewise.
3598         * config/i386/i386.h: Likewise.
3599         * config/ia64/ia64.c: Likewise.
3600         * config/ia64/ia64.h: Likewise.
3601         * config/ip2k/ip2k.md: Likewise.
3602         * config/m68hc11/m68hc11-crt0.S: Likewise.
3603         * config/m68hc11/m68hc11.h: Likewise.
3604         * config/m68hc11/m68hc11.md: Likewise.
3605         * config/m68hc11/m68hc12.h: Likewise.
3606         * config/mcore/mcore.md: Likewise.
3607         * config/mips/mips.c: Likewise.
3608         * config/mips/mips.md: Likewise.
3609         * config/mmix/mmix-modes.def: Likewise.
3610         * config/pa/pa.c: Likewise.
3611         * config/rs6000/rs6000.c: Likewise.
3612         * config/rs6000/rs6000.h: Likewise.
3613         * config/rs6000/rs6000.md: Likewise.
3614
3615 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3616
3617         * config/h8300/h8300.md (output_a_shift): Clean up the code to
3618         output shifts using rotation.
3619
3620 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3621
3622         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
3623
3624 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3625
3626         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
3627         pointer.
3628         (pushqi_h8300hs): Likewise.
3629         (pushhi_h8300): Likewise.
3630         (pushhi_h8300hs): Likewise.
3631
3632 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
3633
3634         * sched-rgn.c (init_regions): Update comment.
3635
3636 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
3637
3638         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
3639         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
3640         attributes.
3641         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
3642         (get_vrsave_internal,set_vrsave_internal): Same.
3643         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
3644         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
3645         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
3646
3647 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3648             Danny Smith  <dannysmith@users.sourceforge.net>
3649             Eric Kohl  <ekohl@rz-online.de>
3650
3651         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
3652         attributes incompatible with fastcall attribute.
3653         (ix86_handle_regparm_attribute): Likewise.
3654
3655         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
3656         fastcall types.
3657
3658         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3659         attributes.
3660         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
3661         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
3662         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
3663         i386_pe_output_labelref rather than here.
3664         (gen_fastcall_suffix): New function. Decorates a label name with the
3665         fastcall prefix (@) and the stdcall suffix.
3666         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
3667         has a fastcall attribute.
3668         (i386_pe_output_labelref): New function. Outputs a label reference.
3669         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
3670         valid attribute.
3671         (ix86_return_pops_args): Fastcall functions pop the stack.
3672         (init_cumulative_args): Reserve registers ECX and EDX if function has
3673         fastcall attribute.
3674         (function_arg): Use registers ECX and EDX if function has fastcall
3675         attribute.
3676         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
3677         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
3678         (FASTCALL_PREFIX): Define as '@'.
3679         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3680         attributes.
3681         * doc/extend.texi: Add documentation of fastcall attribute.
3682
3683 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3684
3685         * configure.in: FORBUILD when build!=host changed from
3686         ../$build-alias to ../build-$build_alias to match change made
3687         in top directory.
3688         * configure: Regenerated.
3689
3690 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3691
3692         PR optimization/8988
3693         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
3694         the biv when eliminating.
3695
3696 2002-12-19  Devang Patel  <dpatel@apple.com>
3697         * gcc.c (struct default_compiler): Recognizes input file name with
3698         .CPP extension as C++ source files
3699         * cp/lang-spec.h: Same
3700         * doc/invoke.texi:  Add documentation for .CPP support.
3701
3702 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
3703
3704         PR 8553
3705         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
3706         registers.
3707         ("absv16qi2"): Same.
3708         ("absv4si2"): Same.
3709         ("absv4sf2"): Same.
3710         ("altivec_abss_v16qi"): Same.
3711         ("altivec_abss_v8hi"): Same.
3712         ("altivec_abss_v4si"): Same.
3713
3714 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
3715
3716         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
3717         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
3718
3719 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3720
3721         PR target/8340
3722         * stmt.c (expand_asm_operands): Produce an error when
3723         the PIC register is clobbered.
3724
3725 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
3726
3727         * Makefile.in (OBJS): Add alloc-pool.o
3728         (alloc-pool.o): New object.
3729
3730         * alloc-pool.c: New file.
3731         * alloc-pool.h: New file.
3732
3733 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
3734
3735         * gcc.c (validate_switches): Robustify against skipping past '\0'.
3736
3737 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3738
3739         * config.gcc: Set extra_objs in the generic Darwin rule,
3740         not in the machine-specific rules.
3741
3742 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3743
3744         * ChangeLog: Follow spelling conventions.
3745         * ChangeLog.2: Likewise.
3746         * ChangeLog.4: Likewise.
3747         * ChangeLog.5: Likewise.
3748         * cppexp.c: Likewise.
3749         * df.c: Likewise.
3750         * gcov.c: Likewise.
3751         * gengtype.c: Likewise.
3752         * reload1.c: Likewise.
3753         * sched-rgn.c: Likewise.
3754         * stmt.c: Likewise.
3755         * stor-layout.c: Likewise.
3756         * timevar.c: Likewise.
3757         * toplev.c: Likewise.
3758         * tree.h: Likewise.
3759         * varasm.c: Likewise.
3760         * config/fr30/fr30.md: Likewise.
3761         * config/i386/i386.c: Likewise.
3762         * config/ia64/ia64.c: Likewise.
3763         * config/pa/pa.c: Likewise.
3764
3765 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3766
3767         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3768
3769 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3770
3771         PR 8551
3772         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3773         macro.
3774         (vec_cmplt C++ functions): Reverse arguments.
3775
3776 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3777
3778         * config/rs6000/t-rs6000: Move contents to t-fprules,
3779         add rules for dependencies of rs6000.o and to build rs6000-c.o
3780         * config/rs6000/t-fprules: New file from t-rs6000.
3781         * config/rs6000/t-beos: Remove soft-fp rules.
3782         * config/rs6000/t-ppccomm: Likewise.
3783         * config/rs6000/t-newas: Likewise.
3784         * config/rs6000/t-rs6000-c-rule: Delete.
3785         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3786         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3787         Create generic Darwin rules.
3788
3789         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3790
3791 2002-12-18  Doug Evans  <dje@sebabeach.org>
3792
3793         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3794         and LIT_NAME_P.
3795         (move_src_operand): Remove compile-time warning.
3796         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3797
3798 2002-12-18  Jason Merrill  <jason@redhat.com>
3799
3800         * unwind-dw2-fde.c (frame_downheap): Split out from...
3801         (frame_heapsort): Here.
3802
3803 2002-12-17  Jason Merrill  <jason@redhat.com>
3804
3805         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3806         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3807
3808         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3809
3810         * calls.c (expand_call): Don't try to be clever about expanding
3811         the return slot address.
3812
3813 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3814
3815         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3816         Define.
3817
3818 2002-12-17  Jason Merrill  <jason@redhat.com>
3819
3820         * genmultilib: Use 'cd ./foo'.
3821
3822 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3823
3824         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3825
3826 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3827
3828         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3829         * doc/cpp.texi: Likewise.
3830         * doc/extend.texi: Likewise.
3831         * doc/gty.texi: Likewise.
3832         * doc/install.texi: Likewise.
3833         * doc/invoke.texi: Likewise.
3834         * doc/md.texi: Likewise.
3835         * doc/passes.texi: Likewise.
3836         * doc/rtl.texi: Likewise.
3837         * doc/sourcebuild.texi: Likewise.
3838         * doc/tm.texi: Likewise.
3839
3840 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3841
3842         * doc/invoke.texi: Minor spelling and grammar fixes.
3843
3844 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3845
3846         * config/s390/s390.c (s390_output_constant_pool): Replace
3847         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3848
3849 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3850
3851         * convert.c (convert_to_real): Disable function transformation for
3852         now.
3853
3854 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3855
3856         * gcc.c (handle_braces): Allow '@' as a switch name.
3857
3858 2002-12-16  Jason Merrill  <jason@redhat.com>
3859
3860         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3861         with special struct-return ABIs.
3862
3863         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3864         doesn't match the begin SCOPE_STMT in partialness.
3865
3866 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3867
3868         * genmultilib: Create temporary files in unique subdirectory.
3869
3870         * gcc.c (validate_switches): Allow '@' as a switch name.
3871
3872 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3873
3874         * Makefile.in (gcov-iov.h): Improve portability.
3875
3876 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3877
3878         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3879         gas
3880         * mips.md (tablejump insn): Likewise.
3881
3882 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3883
3884         * doc/include/gcc-common.texi: Change version number to 3.4.
3885
3886 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3887
3888         * fixinc/fixlib.h: add: #include <signal.h>
3889         * fixinc/fixincl.c: remove: #include <signal.h>
3890
3891 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3892
3893         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3894         (EXTRA_CONSTRAINT): Use it.
3895         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3896
3897 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3898
3899         * config.gcc (need_64bit_hwint): New variable.
3900         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3901         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3902         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3903         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3904         Set it.
3905         (powerpc*-*-darwin*): Unset it.
3906         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3907         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3908         deleted/nonexistent xm-*.h headers.
3909         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3910         target set need_64bit_hwint in config.gcc.
3911         * configure, config.in: Regenerate.
3912
3913         * hwint.h: Overhaul.  Don't bother trying int for
3914         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3915         decision to force 64-bit HOST_WIDE_INT on
3916         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3917         not visible at this point.  Don't allow prior definition of
3918         any macro defined by this file.
3919
3920         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3921         HOST_BITS_PER_WIDE_INT.
3922         * config/c4x/c4x.h: Adjust redefinition of
3923         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3924         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3925         config/i386/xm-i386-interix.h: Delete file.
3926
3927 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3928             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3929
3930         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3931         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3932
3933 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3934
3935         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3936
3937 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3938
3939         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3940         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3941         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3942         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3943         config/v850/t-v850:  Correct dependencies and normalize
3944         compilation commands for files that include coretypes.h and tm.h.
3945
3946         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3947         not config.h and system.h.
3948
3949 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3950
3951         * i386.c (flags_reg_operand):  New function.
3952         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3953         * i386.md (cmov splitter, movqicc): Use new predicate.
3954
3955 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3956
3957         * i386.md (movqicc splitter): Fix template.
3958
3959 2002-12-13  Jason Merrill  <jason@redhat.com>
3960
3961         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3962         * calls.c (expand_call): Handle it.
3963         * tree-inline.c (struct inline_data): Remove target_exprs field.
3964         (optimize_inline_calls): Don't initialize it.
3965         (expand_call_inline): Don't modify it.  Handle
3966         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3967         (declare_return_variable): Take return slot addr.
3968         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3969         to return_slot_addr.
3970         * langhooks-def.h, langhooks.c: Adjust.
3971         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3972         a decl with no DECL_INITIAL.
3973
3974         * expr.c (expand_expr): Don't discard the target of a call which
3975         returns in memory.
3976
3977 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3978
3979         * cppinit.c (path_include): Take an environment variable name.
3980         Tidy up.
3981         (init_standard_includes): Simplify environment handling, and
3982         move to ...
3983         (cpp_read_main_file): ...here as -nostdinc should not affect
3984         environment variable paths.
3985
3986 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3987
3988         * pa.c (output_millicode_call): Correct typo.
3989         (output_call): Likewise.
3990
3991 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3992
3993         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3994         operand's range.  Print value directly, without aid from
3995         output_address.
3996         <case U>: New.
3997         <case S>: Make sure argument to fprintf has the right type.
3998         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3999         (EXTRA_CONSTRAINT): Adjust.
4000         * config/mn10300/mn10300.md: Add new all-QImode pattern for
4001         bclr.  Use %U for immediate operands of bset and bclr.
4002         (iorqi3): New expand, with insns for AM33 and mn10300.
4003
4004 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
4005
4006         * sh.c (sh_register_operand): New function.
4007         (prepare_move_operands): Use it.
4008         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
4009         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
4010         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
4011         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
4012         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
4013         (movv2si_i): Likewise.
4014
4015 2002-12-13  Jim Wilson  <wilson@redhat.com>
4016
4017         * doc/extend.texi (Complex Numbers): Update info on debug info.
4018
4019 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
4020
4021         * config/h8300/h8300.md (addhi3_h8300): Remove the last
4022         alternative.
4023
4024 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4025
4026         * hooks.h (hook_tree_tree_bool_false): Declare
4027         hook_bool_tree_tree_false instead.
4028
4029 2002-12-12  Devang Patel  <dpatel@apple.com>
4030
4031         * doc/invoke.texi: Document Darwin linker options, -bundle
4032         -bind_at_load, -all_load and -arch_errors_fatal
4033
4034 2002-12-12  Jim Wilson  <wilson@redhat.com>
4035
4036         * dbxout.c (dbxout_fptype_value): New.
4037         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
4038
4039 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4040
4041         * c-decl.c: Fix a comment typo.
4042         * cfg.c: Likewise.
4043         * cfgcleanup.c: Likewise.
4044         * cfglayout.c: Likewise.
4045         * cfgrtl.c: Likewise.
4046         * c-typeck.c: Likewise.
4047         * dominance.c: Likewise.
4048         * dwarf2asm.c: Likewise.
4049         * dwarfout.c: Likewise.
4050         * expmed.c: Likewise.
4051         * expr.c: Likewise.
4052         * final.c: Likewise.
4053         * flow.c: Likewise.
4054         * function.c: Likewise.
4055         * gcc.c: Likewise.
4056         * genautomata.c: Likewise.
4057         * integrate.c: Likewise.
4058         * loop.c: Likewise.
4059         * loop.h: Likewise.
4060         * output.h: Likewise.
4061         * profile.c: Likewise.
4062         * ra.h: Likewise.
4063         * reload1.c: Likewise.
4064         * reload.c: Likewise.
4065         * sched-rgn.c: Likewise.
4066         * stmt.c: Likewise.
4067         * tree.h: Likewise.
4068         * vmsdbgout.c: Likewise.
4069
4070 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4071
4072         * config/h8300/h8300.md: Add a new peephole2.
4073
4074 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4075
4076         * config/h8300/h8300.md (a peephole2): Accept a constant
4077         that's accepted by CONST_OK_FOR_J.
4078
4079 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4080
4081         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
4082         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
4083         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
4084         (*addhi_h8300hs): Likewise.
4085
4086 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
4087
4088         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
4089         (sh_register_move_cost): Add clause for SImode fp-fp moves.
4090         Increase cost for moves involving multiple general purpose registers.
4091         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
4092         TARGET_FMOVD.
4093         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
4094         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
4095         (enum reg_class reg_class_from_letter): No longer const.
4096         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
4097         REGCLASS_HAS_GENERAL_REG.
4098         Handle SImode moves from/to fp registers.
4099         ! TARGET_SHMEDIA && TARGET_FMOVD.
4100         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
4101         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
4102
4103 2002-12-12  Andreas Schwab  <schwab@suse.de>
4104
4105         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
4106         change and some warnings.
4107
4108 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4109
4110         * doc/md.texi (pushm): Fix a typo.
4111
4112 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
4113
4114         * config/mips/mips.c (mips_output_conditional_branch): Support
4115         PIC-safe out-of-range branch and branch-likely.
4116         * config/mips/mips.md (attr length): PIC-safe out-of-range
4117         branches are longer.
4118         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
4119         unused code to support indirect jumps.
4120
4121 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
4122
4123         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
4124         $(tm_file_list).
4125
4126 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
4127
4128         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
4129
4130 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
4131
4132         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
4133
4134 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4135
4136         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
4137         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
4138         BIGGEST_ALIGNMENT.
4139         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
4140         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
4141
4142 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4143
4144         * doc/invoke.texi: Correct dump file names.
4145
4146 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4147
4148         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
4149         name to globalize_label or assemble_name.
4150
4151 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
4152
4153         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
4154         if not TARGET_SHMEDIA.
4155
4156 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
4157
4158         * sh.h (REG_CLASS_HAS_FP_REG): New.
4159         (REGISTER_MOVE_COST) Use it.  Put body into a function and
4160         move it into:
4161         * sh.c (sh_register_move_cost).
4162         * sh-protos.h (sh_register_move_cost): Declare.
4163
4164         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
4165         (sh_adjust_cost): Always return a value.
4166
4167 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
4168
4169         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
4170         (REGISTER_MOVE_COST): Use it.
4171
4172 2002-12-11  Richard Henderson  <rth@redhat.com>
4173
4174         * tree.h (MODULE_LOCAL_P): Kill.
4175         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
4176
4177 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4178
4179         * config/h8300/h8300.md (two define_peephole2): New.
4180
4181 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4182
4183         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
4184         (CONST_OK_FOR_K): Likewise.
4185         (CONST_OK_FOR_M): Likewise.
4186         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
4187
4188 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
4189
4190         * c-common.c (builtin_define_type_max): Handle unsigned
4191         types too.
4192
4193 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
4194
4195         * haifa-sched.c (rank_for_schedule): Correct style.
4196
4197 2002-12-10  Per Bothner  <pbothner@apple.com>
4198
4199         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
4200         directive_index into an unsigned field and a new is_directive field.
4201         * cppinit.c (mark_named_operators):  Update to set new fields.
4202         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
4203         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
4204         No longer need to subtract 1 from directive_index.
4205         (_cpp_init_directives):  No longer need to add 1 to directive_index.
4206         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
4207
4208 2002-12-10  Roger Sayle  <roger@eyesopen.com>
4209
4210         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
4211         check for evaluating sqrt of a constant at compile time.
4212         * simplify-rtx.c (simplify_unary_operation): Likewise.
4213
4214 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
4215
4216         PR other/8882
4217         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
4218
4219 2002-12-10  Devang Patel  <dpatel@appple.com>
4220
4221         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
4222         * doc/invoke.texi: Add new "Darwin Options" section.
4223
4224 2002-12-10  Jim Wilson  <wilson@redhat.com>
4225
4226         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
4227         memory.
4228
4229 2002-12-10  Andrew Haley  <aph@redhat.com>
4230
4231         * cse.c (cse_insn): Don't cse past a basic block boundary.
4232
4233 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
4234
4235         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
4236         -shared.
4237         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
4238         * config/alpha/linux.h (LIB_SPEC): Likewise.
4239         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
4240         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
4241         * config/sparc/linux.h (LIB_SPEC): Likewise.
4242         * config/sparc/linux64.h (LIB_SPEC): Likewise.
4243
4244 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
4245
4246         * doc/invoke.texi: Document UltraSparc III option.
4247
4248 2002-12-09  Richard Henderson  <rth@redhat.com>
4249
4250         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
4251         __tune_pentium2__ and __tune_pentium3__ as necessary.
4252
4253 2002-12-09  Richard Henderson  <rth@redhat.com>
4254
4255         * target.h (gcc_target): Add cannot_force_const_mem.
4256         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
4257         (TARGET_INITIALIZER): Add it.
4258         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
4259         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
4260         * reload1.c (reload): Likewise.
4261         * hooks.c (hook_bool_rtx_false): New.
4262         * hooks.h: Declare it.
4263
4264         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
4265         (TARGET_CANNOT_FORCE_CONST_MEM): New.
4266         (ix86_expand_move): Remove de-const-pooling hack.
4267
4268 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
4269
4270         * toplev.c (dump_file): Fix order to match reality.
4271
4272 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
4273
4274         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
4275         (store_multiple): Likewise.
4276
4277 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4278
4279         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
4280         function pointers in page 0.
4281
4282 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4283
4284         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
4285         definition
4286         (MEMBER_TYPE_FORCES_BLK): Move.
4287         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
4288         aggregate arguments.
4289         (ia64_function_value): Use PARALLEL to return aggregate values.
4290
4291 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4292
4293         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4294         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4295         * calls.c (store_unaligned_arguments_into_pseudos) Remove
4296         FUNCTION_ARG_REG_LITTLE_ENDIAN.
4297         * stmt.c (expand_return): Ditto.
4298         * expr.c (move_block_from_reg): Ditto.
4299         (copy_blkmode_from_reg): Ditto.
4300         * expmed.c (store_bit_field): Ditto.
4301
4302 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
4303
4304         * config.gcc: Added tic4x-* target as an alias to c4x-*
4305
4306 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
4307
4308         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
4309         constructing insn directly.
4310
4311 2002-12-06  Per Bothner  <pbothner@apple.com>
4312
4313         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
4314         char to an int bit-field, for hosts where char is unsigned.
4315
4316 2002-12-07  Roger Sayle  <roger@eyesopen.com>
4317             Richard Henderson <rth@redhat.com>
4318
4319         * real.c (ieee_extended_motorola_format,
4320         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
4321         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
4322         Provide appropriate values for new signbit field.
4323
4324 2002-12-07  Roger Sayle  <roger@eyesopen.com>
4325
4326         * real.h (real_format): Add signbit field.
4327         * real.c (ieee_single_format, ieee_double_format,
4328         ieee_extended_motorola_format, ieee_extended_intel_96_format,
4329         ieee_extended_intel_128_format, ibm_extended_format,
4330         ieee_quad_format, vax_f_format, vax_d_format,
4331         vax_g_format, i370_single_format, i370_double_format,
4332         c4x_single_format, c4x_extended_format, real_internal_format):
4333         Provide suitable signbit value, or -1 to avoid bit twiddling.
4334
4335         * optabs.c (expand_unop): Try implementing negation of
4336         floating point modes by flipping the sign bit.
4337         (expand_abs): Try implementing abs of floating point modes
4338         by clearing the sign bit.
4339
4340 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4341
4342         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
4343         of constructing insn directly.
4344
4345 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
4346
4347         * config/h8300/h8300.md (*iorhi_shift_8): New.
4348
4349 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
4350
4351         * doc/invoke.texi: Document FRV port options.
4352         * doc/md.texi: Document FRV register classes.
4353
4354 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4355
4356         * doc/install.texi (Configuration): Improve description of cases
4357         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
4358
4359 2002-12-06  Per Bothner  <pbothner@apple.com>
4360
4361         * cpplib.h (NODE_MACRO_ARG):  New flag.
4362         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
4363         Remove value.operator field.  Move arg_index field to value union.
4364         (directive_index):  Make signed, since also used for C++ operators.
4365         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
4366         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
4367         Save node->value, and set node->value.arg_index.
4368         (_cpp_create_definition):  For each paramater, restore node->value.
4369         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
4370         * cpptrad.c (scan_out_logical_line): Likewise.
4371         (scan_out_logical_line): Check for directive > 0.
4372         * cpplib.c (cpp_handle_directive):  Likewise.
4373         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
4374         by negative of directive_index.
4375         * cppinit.c (mark_named_operators):  Likewise.
4376
4377         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
4378
4379 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
4380
4381         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
4382         FPU.
4383         (push): Generate push_fpscr.
4384         (pop): Generate pop_fpscr.
4385         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
4386         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
4387
4388 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
4389
4390         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
4391         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
4392
4393 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4394
4395         * sh.md (movdi_i): Name.  Remove inappropriate comment.
4396
4397 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
4398         Merged from basic improvements branch (excerpt):
4399
4400         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4401         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4402
4403 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
4404
4405         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
4406
4407 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
4408
4409         * i386.md (dimode peep2s): Re-add "&& 1".
4410
4411 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
4412
4413         * i386.c (ix86_expand_prologue):  Add comment, do not use
4414         fast prologues for cold and normal functions.
4415
4416 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4417
4418         * i386.c (x86_rep_movl_optimal): New variable.
4419         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
4420         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
4421
4422         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4423         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4424         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4425         generate unnecesary subregs.
4426
4427 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4428
4429         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
4430         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
4431
4432 2002-12-05  Dale Johannesen  <dalej@apple.com>
4433
4434         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
4435
4436 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
4437
4438         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
4439         PROFILE_HOOK.
4440         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
4441
4442 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
4443
4444         * config/rs6000/spe.h (__ev_mwlufi): Remove.
4445         (__ev_mwlufia): Remove.
4446         (__ev_mwlumfaaw): Remove.
4447         (__ev_mwlusfaaw): Remove.
4448         (__ev_mwlumfanw): Remove.
4449         (__ev_mwlusfanw): Remove.
4450
4451 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
4452
4453         * config/h8300/h8300.md (*andorsi3_shift_8): New.
4454
4455 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
4456
4457         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
4458         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
4459         (get_shift_alg): Return optimal assembly instructions for the
4460         shifts mentioned above.
4461
4462 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
4463
4464         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
4465         condtiional moves.
4466
4467 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4468
4469         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
4470         implement ashiftrt:HI by 13 bits on H8S.
4471
4472 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4473
4474         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
4475         * pa.md (canonicalize_funcptr_for_compare): Output library call to
4476         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
4477         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
4478         CTOR_LIST_BEGIN): New defines.
4479         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
4480         (fptr.c): Add make rules.
4481
4482 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
4483
4484         * combine.c (combine_simplify_rtx): Add new canonicalizations.
4485         * doc/md.texi (Insn Canonicalizations): Document new
4486         canonicalizations for multiply/add combinations.
4487         * config/rs6000/rs6000.md: Add and modify floating add/multiply
4488         patterns to ensure they're used whenever they can be.
4489
4490 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4491
4492         * config/h8300/h8300.c: Update the comments related to shifts.
4493
4494 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
4495
4496         * config/mips/mips.md (get_fnaddr): Correct length attribute.
4497
4498 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
4499
4500         * config/h8300/h8300.md (*extzv_8_8): New.
4501         (*extzv_8_16): Likewise.
4502
4503 2002-12-04  Jason Merrill  <jason@redhat.com>
4504
4505         PR c++/8461, c++/8625
4506         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
4507         references.
4508         * tree-inline.c (initialize_inlined_parameters): Likewise.
4509
4510         * tree.c (variably_modified_type_p): Just return an error_mark_node.
4511
4512 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
4513
4514         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
4515         macro instruction in a branch delay slot, to avoid assembler
4516         warnings.
4517
4518 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
4519
4520         PR c/7622
4521         * c-semantics (genrtl_scope_stmt): Do not output inlined
4522         nested functions that contain no code.
4523
4524 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
4525
4526         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
4527         to be forced into nonfallthru.
4528
4529 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
4530
4531         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
4532
4533 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
4534
4535         * config/rs6000/spe.md (*movv1di_const0): New pattern.
4536
4537 2002-12-03  Richard Henderson  <rth@redhat.com>
4538
4539         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
4540
4541 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
4542
4543         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
4544         Initialize tmp.using_obstack to 0.
4545
4546 2002-12-03  Andreas Schwab  <schwab@suse.de>
4547
4548         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
4549         (EH_RETURN_STACKADJ_RTX): Define.
4550         (EH_RETURN_HANDLER_RTX): Define.
4551         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4552         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
4553         registers and don't save fixed registers.
4554         (m68k_output_function_prologue): Use it.
4555         (use_return_insn): Likewise.
4556         (m68k_output_function_epilogue): Likewise.
4557
4558 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
4559
4560         * config/h8300/h8300.c (single_one_operand): Fix a warning.
4561         (single_zero_operand): Likewise.
4562
4563 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
4564
4565         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
4566         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
4567         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
4568         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
4569         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
4570         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
4571         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
4572         doc/install-old.texi: Replace hconfig.h with bconfig.h.
4573         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
4574
4575 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
4576
4577         * config/rs6000/rs6000.md (ffssi): Convert to expander.
4578         (ffsdi): Likewise.
4579         (cntlzw2, cntlzd2): New patterns.
4580
4581 2002-12-02  H.J. Lu <hjl@gnu.org>
4582
4583         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
4584         (mips*-*-linux*): Remove mips/t-linux.
4585
4586 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
4587
4588         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4589
4590 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4591
4592         * config/h8300/h8300.c (dosize): Replace argument op with
4593         sign.
4594         (h8300_output_function_prologue): Update the call to dosize.
4595         (h8300_output_function_epilogue): Likewise.
4596
4597 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
4598
4599         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
4600
4601 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4602
4603         * configure.in: Use "missing" script to generate warning if
4604         flex or bison programs not found, instead of invoking "false".
4605         * configure: Rebuilt.
4606
4607 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4608
4609         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
4610
4611 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
4612
4613         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4614
4615 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4616
4617         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
4618         (push): Likewise.
4619         (pop): Likewise.
4620         (h8300_output_function_prologue): Likewise.
4621         (h8300_output_function_epilogue): Likewise.
4622
4623 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
4624
4625         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4626         corresponding mode of non-integer mode, unless it is VOIDmode.
4627
4628 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4629
4630         * config/h8300/h8300.md (stm_h8300s_2): New.
4631         (stm_h8300s_3): Likewise.
4632         (stm_h8300s_4): Likewise.
4633         (five define_peephole2): Likewise.
4634
4635 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4636
4637         * ra-build.c: Fix a comment typo.
4638
4639 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4640
4641         * i386.c (ix86_expand_int_movcc): fix
4642         reversed BRANCH_COST test; be curefull about infinite recursion.
4643
4644 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4645
4646         * config/h8300/h8300.c (h8300_output_function_prologue):
4647         Remove variable idx.
4648         (h8300_output_function_epilogue): Likewise.
4649
4650 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
4651
4652         * config/frv/xm-frv.h: Delete, unnecessary.
4653
4654 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4655
4656         * config/h8300/h8300.md: Add comments for define_peephole2.
4657
4658 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
4659
4660         * builtin-types.def (BT_SIZE): Use size_type_node.
4661         * builtins.c (fold_builtin): Make the builtin strlen returns a
4662         size_t, not a sizetype.
4663         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
4664         c_size_type_node.
4665         (c_alignof_expr): Likewise.
4666         (c_common_nodes_and_builtins): Likewise.
4667         * c-common.h (CTI_C_SIZE_TYPE): Remove.
4668         (c_size_type_node): Likewise.
4669         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
4670         * tree.h (TI_SIZE_TYPE): New enumeral.
4671         (size_type_node): Likewise.
4672
4673 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
4674
4675         * configure.in: Don't put ${tm_file} into host_xm_file,
4676         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
4677         Take location of tm-preds.h into account when calculating
4678         tm_p_file_list.
4679         * configure: Regenerate.
4680         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
4681         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
4682         Remove special case code for tm_p.h and *config.h; add new
4683         special case code for tm.h and tconfig.h. Clean up a bit.
4684
4685         * Makefile.in (tm_file, tm_file_list): New variables set from
4686         @-substitutions.
4687         (GCONFIG_H): Deleted.
4688         (GTM_H, TM_H): New.
4689         (CONFIG_H): Is now just config.h $(host_xm_file_list).
4690         (TM_P_H): Move up with the other mkconfig.sh-generated
4691         headers; don't mention tm-preds.h explicitly.
4692         (tm.h, cs-tm.h): New rule.
4693         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
4694         invocations of mkconfig.sh for changes to that program.
4695         (mostlyclean): Delete print-rtl1.c.
4696         (clean): Delete tm.h.
4697         Update dependencies for the files listed below.
4698
4699         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
4700
4701         * coretypes.h: New file.
4702         * system.h: #define malloc to xmalloc and realloc to xrealloc
4703         when FLEX_SCANNER or YYBISON is defined, independent of the
4704         value of GCC_VERSION.
4705         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
4706         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
4707         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
4708         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
4709         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
4710         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
4711         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
4712         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
4713         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
4714         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
4715         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
4716         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
4717         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
4718         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
4719         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4720         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4721         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4722         genconstants.c, genemit.c, genextract.c, genflags.c,
4723         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4724         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4725         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4726         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4727         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4728         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4729         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4730         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4731         print-tree.c, profile.c, protoize.c, ra-build.c,
4732         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4733         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4734         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4735         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4736         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4737         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4738         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4739         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4740         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4741         xcoffout.c, config/darwin-c.c, config/darwin.c,
4742         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4743         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4744         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4745         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4746         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4747         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4748         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4749         config/i960/i960-c.c, config/i960/i960.c,
4750         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4751         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4752         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4753         config/mips/irix6-libc-compat.c, config/mips/mips.c,
4754         config/mmix/mmix.c, config/mn10200/mn10200.c,
4755         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4756         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4757         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4758         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4759         config/sparc/sparc.c, config/stormy16/stormy16.c,
4760         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4761         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4762         Include coretypes.h and tm.h.
4763
4764         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4765         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4766         genrecog.c: Include coretypes.h and tm.h from the file
4767         generated by this program.
4768
4769         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4770         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4771         coretypes.h and tm.h, and tsystem.h when not already included.
4772         No need to include stddef.h nor stdlib.h.
4773
4774         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4775         include auto-host.h or ansidecl.h/
4776         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4777         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4778         include auto-host.h, ansidecl.h, or system.h.
4779         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4780         and do not redefine volatile.
4781
4782 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4783
4784         * i386.md (movdf_integer):  Always enable in 64bit.
4785         (movdf_nointeger): Always disable in 64bit.
4786
4787 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4788
4789         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4790         pseudo register number plus 1.
4791
4792 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4793
4794         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4795         corresponding mode of non-integer mode, unless it is VOIDmode.
4796
4797 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4798
4799         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4800
4801         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4802
4803 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4804
4805         * config/s390/t-crtstuff: New target makefile fragment.
4806         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4807
4808 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4809
4810         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4811         alternatives to correct the length when the memory operand is
4812         either pre_dec or post_inc.
4813
4814 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4815
4816         * config/h8300/h8300.md (an anonymous pattern): Give an
4817         internal name *tst_extzv_bitqi_1_n.
4818         Accept bit_operand instead of bit_memory_operand.
4819         Do not accept bit tests with the MSB.
4820         (*tst_extzv_memqi_1_n): New.
4821
4822 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4823
4824         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4825         sharing when operand is SUBREG.
4826
4827 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4828
4829         * athlon.md (athlon-decodev): New reservation unit.
4830         (athlon-direct0): New reservation.
4831         (athlon-vector): New use athlon-decodev.
4832         (athlon-double, athlon-direct): Better model.
4833         (athlon_imul_k8): Use athlon-direct0.
4834         (athlon_movlpd_load): New insn reservation.
4835
4836 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4837
4838         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4839         Fix a comment typo.
4840         (h8300_tiny_constant_address_p): Likewise.
4841
4842 2002-11-28  Michael Matz  <matz@suse.de>
4843
4844         * doc/passes.texi: Mention the other register allocator.
4845
4846 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4847
4848         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4849
4850 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4851
4852         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4853         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4854         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4855
4856 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4857
4858         * config/h8300/h8300.c (h8300_and_costs): New.
4859         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4860         * config/h8300/h8300-protos.h: Add a prototype for
4861         h8300_and_costs.
4862
4863 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4864
4865         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4866         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4867         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4868         * i386.md (truncdfsf patterns and splitters): Use
4869         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4870
4871 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4872
4873         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4874         pointer argument in the prototypes of the following builtins
4875         be (const TYPE *) rather than (TYPE *):
4876          + __builtin_altivec_ld_internal_4sf
4877          + __builtin_altivec_ld_internal_4si
4878          + __builtin_altivec_ld_internal_8hi
4879          + __builtin_altivec_ld_internal_16qi
4880          + __builtin_altivec_lvsl
4881          + __builtin_altivec_lvsr
4882          + __builtin_altivec_lvebx
4883          + __builtin_altivec_lvehx
4884          + __builtin_altivec_lvewx
4885          + __builtin_altivec_lvxl
4886          + __builtin_altivec_lvx
4887          + __builtin_altivec_dst
4888          + __builtin_altivec_dstt
4889          + __builtin_altivec_dstst
4890          + __builtin_altivec_dststt
4891
4892 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4893
4894         * except.c (default_exception_section): Move variable into the
4895         scope where it is used.
4896
4897 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4898
4899         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4900         correct version.
4901
4902 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4903
4904         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4905
4906 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4907
4908         * config/h8300/h8300.c (h8300_shift_costs): New.
4909         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4910         * config/h8300/h8300-protos.h: Add a prototype for
4911         h8300_shift_costs.
4912
4913 2002-11-27  Jim Wilson  <wilson@redhat.com>
4914
4915         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4916         in output template.
4917
4918 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4919
4920         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4921         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4922         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4923         (i386_pe_dllimport_name_p): Likewise.
4924         (i386_pe_mark_dllexport): Likewise.
4925         (i386_pe_mark_dllimport): Likewise.
4926         (i386_pe_encode_section_info): Likewise.
4927         (i386_pe_strip_name_encoding): Likewise.
4928
4929 2002-11-27  Richard Henderson  <rth@redhat.com>
4930
4931         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4932         (nm && NF == 3): Set sawsymbol true.
4933         (END): Exit if no symbols seen.
4934         (output): Fix map syntax error if no globals for the version.
4935
4936 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4937
4938         * builtins.def (DEF_C99_BUILTIN): Fix.
4939
4940 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4941
4942         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4943         (all): Add .size and .type information.
4944
4945 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4946
4947         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4948         partial_reg_stall target.
4949
4950 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4951
4952         * i386.md (movhicc): Allow general operand.
4953         (movqicc): New expander.
4954         (movqicc_noc): New pattern.
4955         * i386.c (ix86_expand_carry_flag_compare): New function.
4956         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4957         HImode conversion; support QImode conditional moves
4958
4959 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4960
4961         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4962         (ix86_expand_prologue): Multiply the count by amount of registers to be
4963         pushed.
4964
4965 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4966
4967         * i386.c (override_options): Error about wrong -mcpu on x86-64
4968         compilation.
4969
4970 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4971
4972         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4973
4974 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4975
4976         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4977         x86_extended_reg_mentioned_p): Declare.
4978         * i386.c (extended_reg_mentioned_1): New static function.
4979         (x86_extended_QIreg_mentioned_p,
4980         x86_extended_reg_mentioned_p): New global functions.
4981         * i386.h (REX_SSE_REGNO_P): New macro.
4982         * i386.md (prefix_rex): New attribute.
4983         (length attribute): Add rex.
4984
4985 2002-11-26  Andrew Haley  <aph@redhat.com>
4986
4987         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4988         from_Unwind_Find_Enclosing_Function.
4989         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4990         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4991         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4992         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4993         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4994
4995 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4996
4997         * config/s390/s390.c (390_output_constant_pool): Set alignment
4998         before label in 64 bit mode, behind otherwise.
4999
5000 2002-11-26  Richard Henderson  <rth@redhat.com>
5001
5002         * c-common.c (handle_visibility_attribute): Accept "default".
5003         * tree.h (enum symbol_visibility): New.
5004         (decl_visibility): Declare.
5005         * target.h (gcc_target.visibility): Take visibility arg as integer.
5006         * varasm.c (default_assemble_visibility): Likewise.
5007         (decl_visibility): New.
5008         (maybe_assemble_visibility): Use it.
5009         * output.h (default_assemble_visibility): Update prototype.
5010         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
5011         visibility arg as integer.
5012         * doc/extend.texi: Document default visibility.
5013
5014 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
5015
5016         * config/h8300/h8300.c: Adjust spacing.
5017         * config/h8300/h8300.h: Likewise.
5018
5019 2002-11-26  Richard Henderson  <rth@redhat.com>
5020
5021         * hooks.c (hook_bool_void_false, hook_void_tree_int,
5022         hook_void_FILEptr_constcharptr): Rename so that the return
5023         type is first.
5024         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
5025         hook_bool_tree_false): New.
5026         * hooks.h: Update.
5027         * langhooks-def.h: Update for renames.
5028         * target-def.h: Likewise.
5029         * tree.c (default_comp_type_attributes,
5030         default_set_default_type_attributes, default_insert_attributes,
5031         default_function_attribute_inlinable_p,
5032         default_ms_bitfield_layout_p): Remove.
5033         * tree.h: Update.
5034
5035 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5036
5037         * pa-protos.h (function_value): New prototype.
5038         * pa.c (function_value): Use a PARALLEL to return small aggregates on
5039         TARGET_64BIT.
5040         * pa.h (FUNCTION_VALUE): Use function_value.
5041         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
5042         call_value_internal_reg, sibcall_value_internal_symref,
5043         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
5044         value.
5045
5046 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5047
5048         * expr.c (gen_group_rtx, emit_group_move): New functions.
5049         * expr.h (gen_group_rtx, emit_group_move): Prototype.
5050         * function.c (expand_function_start): Use gen_group_rtx to create a
5051         PARALLEL rtx to hold the return value when the real return rtx is a
5052         PARALLEL.
5053         (expand_function_end): Use emit_group_move to move the return value
5054         from a PARALLEL to the real return registers.
5055         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
5056         in PARALLELs.
5057
5058 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
5059
5060         * config/t-libc-ok: Fix typo.
5061
5062 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5063
5064         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
5065         before AC_PROG_CC.
5066         * configure: Rebuilt.
5067
5068 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
5069
5070         * c-decl.c: (start_struct): Commonize flag setting.
5071
5072 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
5073
5074         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
5075         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
5076         RS6000_CPU_CPP_ENDIAN_BUILTINS.
5077         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
5078
5079 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
5080
5081         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
5082         insns.
5083         * config/s390/s390.c (struct machine_function): Introduction of
5084         struct machine_function.
5085         (s390_output_symbolic_const): Use of cfun.
5086         (s390_optimize_prolog): Likewise.
5087         (s390_fixup_clobbered_return_reg): Likewise.
5088         (s390_frame_info): Likewise.
5089         (s390_emit_prologue, s390_emit_epilogue): Likewise.
5090         (s390_init_machine_status): New function.
5091         (override_options): call s390_init_machine_status.
5092         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
5093         prototype.
5094
5095 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5096
5097         * varasm.c (output_constant_pool): For pool constants in mergeable
5098         section ensure each constant is padded to multiple of entity size.
5099
5100 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5101
5102         * varasm.c (default_exception_section): Move to...
5103         * except.c (default_exception_section): ... here. Make
5104         .gcc_except_table read-only if it is not expected to have any
5105         dynamic relocations and linker handles it.
5106         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
5107         if it is not expected to have any dynamic relocations and linker
5108         handles it.
5109         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
5110         when linking read-only and read-write sections together.
5111         * configure, config.in: Rebuilt.
5112         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
5113         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
5114
5115 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
5116
5117         * i386.md (pushsf_rex64): Fix typo.
5118
5119 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
5120
5121         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
5122         new function.
5123         (__ev_create_ufix32_fs): Same.
5124         (__ev_get_sfix32_fs_internal): New.
5125         (__ev_get_sfix32_fs): Define to use function.
5126         (__ev_get_ufix32_fs_internal): New.
5127         (__ev_get_ufix32_fs): Define to use function.
5128         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
5129         (__ev_get_lower_ufix32_fs): Same.
5130         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
5131         (__ev_get_lower_sfix32_fs): Same.
5132         (__ev_set_sfix32_fs_internal): New.
5133         (__ev_set_ufix32_fs_internal): New.
5134         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
5135         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
5136         (__ev_set_upper_sfix32_fs): Call function.
5137         (__ev_set_lower_sfix32_fs): Same.
5138         (__ev_set_upper_ufix32_fs): Same.
5139         (__ev_set_lower_ufix32_fs): Same.
5140
5141 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
5142
5143         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
5144
5145 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5146
5147         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
5148         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5149         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5150         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
5151         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
5152         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5153         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
5154         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
5155         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5156         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5157         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
5158         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
5159         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
5160         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5161         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
5162         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
5163         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
5164         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
5165         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
5166         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
5167         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5168         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
5169         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
5170         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
5171         defining.
5172         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
5173         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
5174
5175 2002-11-25  Dave Pitts  <dpitts@cozx.com>
5176
5177         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
5178
5179 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
5180
5181         * config/h8300/h8300.md (an anonymous pattern): New.
5182
5183 2002-11-25  Richard Henderson  <rth@redhat.com>
5184
5185         * alias.c (find_base_value): Use new_reg_base_value if it's live.
5186         (copying_arguments): Make boolean.
5187
5188 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5189
5190         * gcc.c (static_spec_functions): Add if-exists-else spec
5191         function.
5192         (if_exists_else_spec_function): New function.
5193         * doc/invoke.texi: Document the if-exists-else spec function.
5194
5195         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
5196         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
5197
5198 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5199
5200         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
5201         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
5202         "${tmake_file} rs6000/t-netbsd".
5203         * config/rs6000/netbsd.h: Rewrite.
5204         * config/rs6000/t-netbsd: New file.
5205
5206 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
5207
5208         * config/h8300/h8300.md (an anonymous pattern): Relax the
5209         condition for the pattern.
5210
5211 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
5212
5213         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
5214         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
5215         evmwlssfanw, evmwlsmfanw.
5216
5217         * config/rs6000/rs6000.c (bdesc_2arg): Same.
5218
5219         * config/rs6000/spe.md: Same for patterns.
5220
5221 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
5222
5223         PR c/8639
5224         * fold-const.c (extract_muldiv): Don't propagate division unless
5225         both arguments are multiples of C.
5226
5227 2002-11-25  Andrew Haley  <aph@redhat.com>
5228
5229         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
5230         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
5231         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
5232         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5233
5234 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
5235
5236         * i386.c (x86_use_ffreep): New global variable.
5237         * i386.h (x86_use_frfeep): Declare
5238         (TARGET_USE_FFREEP): New macro
5239         * i386.md  (movs?f*): Use freep when asked for.
5240         (push?f): Remove dead code.
5241
5242 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
5243
5244         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
5245         target help message.
5246
5247 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5248
5249         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
5250         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
5251         crtbeginT.o".
5252         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
5253         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
5254         to "" for a.out configurations.
5255         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
5256
5257 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5258
5259         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
5260         NETBSD_CPP_SPEC directly.
5261         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
5262         netbsd_endfile_spec.
5263         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
5264
5265 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5266
5267         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
5268         NETBSD_STARTFILE_SPEC.
5269         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
5270         (ENDFILE_SPEC): Likewise.
5271         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
5272
5273 2002-11-24  Andreas Schwab  <schwab@suse.de>
5274
5275         * Makefile.in (install-driver): Remove versioned link before
5276         trying to create it.
5277
5278         * config/m68k/m68k.c: Fix typo in last change defining
5279         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
5280
5281 2002-11-23  H.J. Lu <hjl@gnu.org>
5282
5283         * aclocal.m4: Include ../config/accross.m4.
5284         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
5285         (gcc_AC_C_COMPILE_ENDIAN): Removed.
5286         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
5287         instead of $ac_cv_c_compile_endian.
5288
5289         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
5290         AC_COMPILE_CHECK_SIZEOF.
5291         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
5292         * configure: Rebuild.
5293
5294 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
5295
5296         * config/h8300/h8300.c (print_operand): Update the use of
5297         h8300_tiny_constant_address_p.
5298         (h8300_adjust_insn_length): Likewise.
5299         (h8300_tiny_constant_address_p): Check if the given rtx is a
5300         variable declared with __attribute__ ((tiny_data)).
5301
5302 2002-11-22  Dale Johannesen  <dalej@apple.com>
5303
5304         * toplev.c (rest_of_compilation):  Fix comments.
5305
5306 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
5307
5308         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
5309         allow mmap from /dev/zero.  Don't make decisions for the host
5310         based on presence or absence of /dev/zero on the build machine.
5311         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
5312         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
5313         * configure: Regenerate.
5314
5315 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
5316
5317         * gcc.c (make_relative_prefix, split_directories)
5318         (free_split_directories): Removed.
5319
5320 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
5321
5322         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
5323         * configure: Regenerated.
5324
5325 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
5326
5327         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
5328         length computation when xor.l is output.
5329
5330 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
5331
5332         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
5333         (call_vms_1, call_value_vms_1): Cleanup syntax.
5334
5335 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
5336
5337         * athlon.md (define_atuomaton): Add athlon_load.
5338         (athlon-double): New reservation.
5339         (athlon-ieu0): New CPU unit.
5340         (athlon-load?): Use athlon_load automaton.
5341         (*_k8 reservations): New.
5342         (other insn revervations): Activate for K8.
5343
5344 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5345
5346         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
5347
5348 2002-11-21  Jim Wilson  <wilson@redhat.com>
5349
5350         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
5351         vectors to SI.
5352
5353 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
5354
5355         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
5356         * config/xtensa/xtensa.c (struct machine_function): Add
5357         incoming_a7_copied flag.
5358         (xtensa_copy_incoming_a7): Define.
5359         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
5360         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
5361
5362 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
5363
5364         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
5365         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
5366         x86_64_nonmemory_operand, x86_64_movabs_operand,
5367         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
5368         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
5369         (local_symbolic_operand): Do not care the 64bit limits.
5370         (x86_64_sign_extended_value): Remove allow_rip support.
5371         (legitimate_pic_address_disp_p): Handle all cases allowed
5372         with RIP addressing.
5373         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
5374         (legitimize_pic_address): Reorganize.
5375         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
5376
5377 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5378
5379         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
5380         * config/arm/netbsd-elf.h: New file.
5381
5382 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5383
5384         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
5385         subtarget_asm_float_spec.
5386         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
5387         defaults from...
5388         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
5389
5390 2002-11-21  Nick Clifton  <nickc@redhat.com>
5391
5392         * config/fr30/fr30.md (movsf_constant_store): Move code to
5393         detect 0.0 into fr30.c.
5394         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
5395         Prototype.
5396         * config/fr30/fr30.c (fr30_const_double_is_zero): New
5397         function.  Return true if the rtx is 0.0.
5398
5399 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
5400
5401         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
5402         if -mlittle-endian is specified.
5403
5404 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
5405
5406         PR optimization/2903
5407         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
5408         (anddi_notsesidi_di): Likewise.
5409
5410 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
5411
5412         * config/h8300/h8300.c (print_operand): Use
5413         h8300_eightbit_constant_address_p and
5414         h8300_tiny_constant_address_p.
5415         (h8300_adjust_insn_length): Likewise.
5416         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
5417         (TINY_CONSTANT_ADDRESS_P): Likewise.
5418         (OK_FOR_U): Use eightbit_constant_address_p.
5419
5420 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
5421
5422         * config/s390/libgcc-libc.ver: Add multilib support.
5423         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
5424         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
5425         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
5426         EXTRA_MULTILIB_PARTS): Define.
5427
5428 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
5429
5430         * arm.c (arm_get_frame_size): A leaf function does not need its
5431         stack padding to an aligned boundary if it has no frame.
5432         (thumb_get_frame_size): Likewise.
5433
5434 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
5435
5436         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
5437         (override_options): Likewise.
5438
5439 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
5440
5441         * config.gcc: Add k8 target alias support
5442         * i386.c (_cost): Declare costs for various variants of divides and
5443         multiplies.
5444         (k8_cost): New.
5445         (m_K8, m_ATHLON_K8): New macros.
5446         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
5447         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
5448         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
5449         x86_integer_DFmode_moves, x86_partial_reg_dependency,
5450         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
5451         x86_prologue_using_move, x86_epilogue_using_move,
5452         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
5453         x86_sse_typeless_stores): Set for K8
5454         (override_options): Add k8 support; fix athlon alignment;
5455         complain about non-x86-64 capable CPU being used in x86-64 compilation.
5456         (ix86_issue_rate): Set for K8.
5457         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
5458         x86_machine_dependent_reorg): Handle K8 like
5459         * i386.h
5460         (x86_costs):  Change mult_init and divide into array.
5461         (TARGET_K8, TARGET_ATHLON): New macros.
5462         (MODE_INDEX): New macro.
5463         (RTX_COST): Use new costs.
5464         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
5465         (TARGET_CPU_DEFAULT_NAMES): Add k8
5466         (TARGET_CPU_DEFAULT_k8): New constant
5467         (enum processor_type): Add PROCESSOR_K8.
5468         * i386.md (cpu attribute): Add k8.
5469
5470         * invoke.texi: Document -march=k8.
5471
5472         * i386.md (type attribute): Add leave
5473         (mode attribute): Remove unknownfp.
5474         (length_immediate, modrm, memory attributes): Handle leave correctly.
5475         (fp comparison patterns): Determine FP mode.
5476         (leave, leave_rex64): Remove special cases.
5477         * ppro.md (ppro_uops, ppro_p2): Add leave
5478         * pentiun.md (pent_pop): Handle leave too.
5479         * k6.md (k6_load): Handle leave.
5480         * athlon.md (athlon_leave, athlon_pop): Fix.
5481         (athlon_decode): Handle leave.
5482
5483 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
5484
5485         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
5486         to component type using GET_MODE_INNER.
5487         * expr.c (emit_move_insn_1): Ditto.
5488         * optabs.c (expand_binop): Ditto.
5489         (expand_unop): Ditto.
5490         (expand_complex_abs): Ditto.
5491
5492 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
5493
5494         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
5495
5496 2002-11-20  DJ Delorie  <dj@redhat.com>
5497
5498         * config/stormy16/stormy16.c (s16builtins,
5499         xstormy16_init_builtins, xstormy16_expand_builtin): New.
5500         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
5501
5502 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
5503
5504         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
5505         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
5506         (executing gencheck, genconfigs, genconditions, genflags,
5507         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
5508         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
5509         gengtype, genprotos): Prepend $(RUN_GEN).
5510         * configure.in: Move host compiler tests before --enable-checking
5511         tests.
5512         (--enable-checking=valgrind): New.
5513         * config.in, configure: Regenerate.
5514         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5515         Define as empty.
5516         (read_include_file): When doing the mmap+1 trick,
5517         valgrind-annotate the byte after the mmap:ed area as readable.
5518         (purge_cache): Remove above annotation.
5519         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
5520         VALGRIND_PATH -q to each command.
5521
5522         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5523         Define as empty.
5524         (ggc_realloc): Update valgrind annotations.
5525         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5526         Define as empty.
5527         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
5528         valgrind-annotate memory.
5529
5530 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
5531
5532         * recog.c (constrain_operands): Prefer exact match over reloadable
5533         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
5534
5535         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
5536         operands in Pmode.
5537
5538 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
5539
5540         PR c/8518
5541         * c-decl.c (duplicate_decls): Outline the second definition
5542         of an extern inline function in all cases.
5543
5544 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5545
5546         * stor-layout.c (place_field): Update rli->offset as well as
5547         rli->bitpos.
5548
5549 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5550
5551         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
5552
5553 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5554
5555         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
5556         into a libcall block.
5557         (divsi3): Likewise divsi3_i4_media.
5558
5559 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
5560
5561         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
5562         out another register.
5563
5564 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
5565
5566         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
5567         (not just mask) are set in C.
5568
5569 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
5570
5571         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
5572
5573 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5574
5575         * profile.c (index_counts_file): Fix obvious mistake.
5576
5577 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5578
5579         * Makefile.in (profile.o): Add hashtab.h dependency.
5580         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
5581         * profile.c: Include hashtab.h.
5582         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
5583         cleanup_counts_index, index_counts_file, struct section_reference,
5584         struct da_index_entry, counts_file_name, counts_file_index): New.
5585         (get_exec_counts, init_branch_prob): Modified.
5586
5587 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5588
5589         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
5590         to tmake_file. Remove setting gas and gnu_ld here.
5591         * config/sh/libgcc-glibc.ver: New file.
5592         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5593         (SHLIB_MAPFILES): New.
5594         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
5595         (MD_STARTFILE_PREFIX): Likewise.
5596         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
5597         (DWARF2_UNWIND_INFO): Redefine.
5598         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5599         (LINK_EH_SPEC): Redefine.
5600         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
5601         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
5602         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
5603         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
5604         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
5605         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
5606         SH_DWARF_FRAME_FPSCR): Likewise.
5607         * config/sh/sh-protos.h (sh_set_return_address): Declare.
5608         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
5609         registers if the current function calls EH return.
5610         (sh_expand_epilogue): Handle EH stack adjustments.
5611         (sh_set_return_address): New function.
5612         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5613         Don't abort even if the number is mapped to -1.
5614         (EH_RETURN_DATA_REGNO): Define.
5615         (EH_RETURN_STACKADJ_RTX): Define.
5616         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
5617         (eh_return): New pattern.
5618         (eh_set_ra_di, eh_set_ra_si): Likewise.
5619         Add splitter to perform EH return after reload.
5620
5621 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
5622
5623         * stor-layout.c (excess_unit_span): New function.
5624         (place_field): Use it.
5625
5626 2002-11-19  Andreas Schwab  <schwab@suse.de>
5627
5628         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
5629         not valid in C++.
5630
5631 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5632
5633         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
5634         * configure: Regenerate.
5635
5636 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5637
5638         * convert.c (strip_float_extensions): New function.
5639         (convert_to_real): Optimize some cases.
5640
5641 2002-11-19  Andreas Jaeger  <aj@suse.de>
5642
5643         * loop.c (record_giv): Initialize not_replaceable.
5644         (check_final_value): Likewise.
5645
5646 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5647
5648         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
5649         MASK_H8300S.
5650
5651 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
5652
5653         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
5654         only if -mh or -ms present.
5655         (h8300_eightbit_constant_address_p): Support the normal mode.
5656         (h8300_tiny_constant_address_p): Likewise.
5657         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
5658         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
5659         (Pmode): Evaluate to HImode for the normal mode.
5660         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
5661         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
5662         (ASM_WORD_OP): Evaluate to word for the normal mode.
5663         * config/h8300/h8300.md (tablejump_normal_mode): New.
5664         (indirect_jump_normal_mode): New.
5665         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
5666         directory.
5667         (MULTILIB_DIRNAMES): Create target dependent directory
5668         'normal'.
5669         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
5670         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
5671
5672 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
5673
5674         * i386.md (length_immediate): Do not refer to insn address.
5675         (jcc*, jmp patterns):  Compute length explicitly.
5676
5677 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5678
5679         PR c/8588
5680         * optabs.c (expand_binop): Convert CONST_INTs in shift
5681         operations too.
5682
5683 2002-11-19  Roger Sayle  <roger@eyesopen.com>
5684
5685         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
5686
5687 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5688
5689         * config/h8300/h8300.md (an anonymous pattern): Relax the
5690         condition to accept the same operands and/or subregs.
5691
5692 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
5693
5694         * config/sh/sh.c (gen_shl_and): Revert previous patch.
5695         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
5696         reload_completed.
5697
5698 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5699
5700         * config/h8300/h8300.c (print_operand): Update the use of
5701         EIGHTBIT_CONSTANT_ADDRESS_P.
5702         (h8300_adjust_insn_length): Likewise.
5703         (h8300_eightbit_constant_address_p): Check if the given rtx is
5704         a variable with __attribute__((eightbit_data)).
5705         * config/h8300/h8300.h (OK_FOR_U): Update the use of
5706         EIGHTBIT_CONSTANT_ADDRESS_P.
5707
5708 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5709
5710         * doc/contrib.texi (Contributors): Add self as second contact in
5711         addition to Jeff Law.
5712
5713 2002-11-19  Andreas Jaeger  <aj@suse.de>
5714
5715         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
5716         find_alloca_call to right place.
5717
5718 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5719
5720         * cppfiles.c: Fix formatting.
5721
5722 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
5723
5724         * gcc.c (The Specs Language): Document spec functions.
5725         (static_spec_functions, lookup_spec_function)
5726         (eval_spec_function, handle_spec_function)
5727         (if_exists_spec_function, alloc_args): New.
5728         (execute): Abort if processing_spec_function is true.
5729         (do_spec_1): Hand off spec to handle_spec_function if %:
5730         is encountered.  If processing_spec_function is true,
5731         end any pending argument when the end of the string is reached.
5732         (main): Use alloc_args to allocate the initial argument vector.
5733         * gcc.h (struct spec_function): New.
5734         (lang_specific_spec_functions): New extern.
5735
5736         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5737         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5738         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
5739
5740         * doc/invoke.texi: Document spec functions.
5741
5742         * cppspec.c (lang_specific_spec_functions): New.
5743         * gccspec.c: Likewise.
5744
5745 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
5746
5747         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5748         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5749         (fixunstfsi_libfunc): Change.
5750         (fixunstfdi_libfunc): Change.
5751         (sdiv_optab): Don't zero out SImode handler.
5752         (udiv_optab): Don't zero out SImode handler.
5753         (smod_optab): Don't zero out SImode handler.
5754         (umod_optab): Don't zero out SImode handler.
5755
5756 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
5757
5758         PR preprocessor/8524
5759         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5760         Add a new one in its place, which hopefully works.
5761         (skip_rest_of_line): Change test for bottom-of-context-stack.
5762
5763 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5764
5765         * i386.md (addqi_1_slp): Fix output template.
5766         (subqi_1_slp): Fix type.
5767
5768 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5769
5770         * calls.c (alloca_call_p): New global function.
5771         * tree.h (alloca_call_p): New.
5772         * tree-inline.c (inlinable_function_p):  Do not inline when
5773         function calls alloca.
5774         (find_alloca_call, find_alloca_call_1): New functions.
5775
5776 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5777
5778         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5779         bst.  Update the insn length.
5780         (*andorhi3): Likewise.
5781         (*andorsi3): Likewise.
5782
5783 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5784
5785         * config/sh/sh-protos.h (sh_mark_label): Declare.
5786         * config/sh/sh.c (sh_mark_label): New function, taken from
5787         movdi_const, but fixing the case when the address has an addend.
5788         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5789
5790 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5791
5792         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5793         (add_constant): Set it.
5794         (dump_table): Don't reorder a constant if part_of_sequence_p.
5795         (machine_dependent_reorg): Assume that float constants will
5796         stay in their original order if used as a sequence.
5797
5798 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5799
5800         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5801         in compact code.
5802
5803 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5804
5805         * config/sh/sh.md (initialize_trampoline): Do not force the
5806         trampoline address into R0_REGS here.
5807
5808 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5809
5810         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5811         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5812         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5813         generate unnecesary subregs.
5814
5815 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5816
5817         * df.c: Fix formatting.
5818
5819 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5820
5821         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5822         lengths.
5823
5824 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5825
5826         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5827         is not an arith_reg_operand.
5828
5829 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5830
5831         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5832         is smaller than representation.
5833
5834 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5835
5836         * builtins.c: Fix formatting.
5837
5838 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5839
5840         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5841         floats?dff2_i387):
5842         Work around regclass stupidity.
5843         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5844
5845 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5846
5847         * i386.md (fop_df_6): New pattern.
5848         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5849         (fop_xf_6): Rewrite
5850         (fop_xf_7): Delete.
5851         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5852         (fop_tf_6): Rewrite
5853         (fop_tf_7): Delete.
5854
5855 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5856
5857         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5858
5859 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5860
5861         * config/h8300/h8300.md: Fix formatting.
5862
5863 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5864
5865         * config/h8300/h8300.md: Replace spaces with tabs.
5866         * config/h8300/t-h8300: Remove a trailing empty line.
5867
5868 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5869
5870         * tlink.c: Fix formatting.
5871
5872 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5873
5874         PR 8362
5875         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5876         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5877         when scratch register never needed.
5878         (ldmsi[3-8]): New patterns.
5879
5880 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5881
5882         * hard-reg-set.h: Follow spelling conventions.
5883         * real.c: Likewise.
5884         * target.h: Likewise.
5885
5886 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5887
5888         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5889
5890 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5891
5892         * optabs.c: Fix formatting.
5893
5894 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5895
5896         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5897         * i386.md (attribute type): Add type shift1 and rotate1.
5898         (*_slp): Rewrite to have just two operands to avoid reload problems.
5899
5900 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5901
5902         * config/h8300/h8300.md (4 anonymous patterns): New.
5903
5904 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5905
5906         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5907         * doc/invoke.texi: Correct description of what needs to be done to
5908         force collection at every ggc_collect call.
5909
5910 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5911
5912         * config/s390/s390.c (optimization_options): Set
5913         flag_asynchronous_unwind_tables to 1 by default.
5914
5915 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5916
5917         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5918
5919 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5920
5921         * i386-protos.h (x86_function_profiler): New function
5922         * i386.h (MCOUNT_NAME): New.
5923         (PROFILE_COUNT_REGISTER): New.
5924         (FUNCTION_PROFILER): Move offline to ...
5925         * i386.c (x86_function_profiler) ... here; fix 64bit support
5926         * beos-elf.h (FUNCTION_PROFILER): Kill.
5927         (MCOUNT_NAME): New.
5928         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5929         (MCOUNT_NAME): New.
5930         (PROFILE_COUNT_REGISTER): New.
5931         * linux.h (FUNCTION_PROFILER): Kill.
5932         (MCOUNT_NAME): New.
5933         * x86-64.h (FUNCTION_PROFILER): Kill.
5934         (MCOUNT_NAME): New.
5935         * freebsd.h (FUNCTION_PROFILER): Kill.
5936         (MCOUNT_NAME): New.
5937
5938 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5939
5940         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5941         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5942         * config/arm/arm.c (arm_va_arg,
5943         arm_function_arg_pass_by_reference): New.
5944         * config/arm/arm-protos.h: Add prototypes.
5945
5946 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5947
5948         * gthr-single.h: Fix formatting.
5949
5950 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5951
5952         * tree.c (tree_vec_elt_check_failed): New function.
5953         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5954         (TREE_VEC_ELT): Use it.
5955
5956         * tree-inline.c (optimize_inline_calls): Don't copy a
5957         zero-length vector.
5958
5959 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5960
5961         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5962
5963 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5964
5965         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5966         both operands contain local relocations.
5967         (categorize_decl_for_section): Don't use mergeable sections if
5968         initializer has any relocations.
5969
5970 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5971
5972         * gthr-vxworks.h: Fix formatting.
5973
5974 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5975
5976         * doc/install.texi (Testing): Document extra Java testing.
5977         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5978
5979 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5980
5981         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5982         beginning of the spec.
5983         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5984         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5985         regarding problems with global constructors when using GNU ld.
5986
5987 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5988
5989         * gthr-solaris.h: Fix formatting.
5990
5991 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5992
5993         * gthr-posix.h: Fix formatting.
5994
5995 2002-11-12  Devang Patel <dpatel@apple.com>
5996         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5997         (process_command): Same.
5998         * doc/invoke.texi: Info about these two new options.
5999
6000 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
6001
6002         * config/h8300/h8300.md (*andorsi3): New.
6003
6004 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6005
6006         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
6007
6008 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
6009
6010         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
6011         expressions appropriately.
6012
6013 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
6014
6015         * gthr-win32.h: Fix formatting.
6016
6017 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
6018
6019         * config/h8300/h8300.c (single_one_operand): Correctly compute
6020         mask when mode is SImode.
6021         (single_zero_operand): Likewise.
6022         * config/h8300/h8300.md (two new anonymous insns): New.
6023
6024 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6025
6026         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
6027         to that entire project.
6028
6029 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6030
6031         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
6032         directories.
6033
6034 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
6035
6036         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
6037         * doc/invoke.texi: Document them.
6038
6039         * ggc-page.c: Include params.h.  Remove definitions of
6040         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
6041         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
6042         (init_gcc): Don't set G.allocated_last_gc here.
6043         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
6044         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
6045         perform collection.
6046         * ggc-simple.c: Similarly.
6047         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
6048         dependencies.
6049
6050 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
6051
6052         * gthr-dce.h: Fix formatting.
6053
6054 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6055
6056         PR c/8467
6057         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
6058         mode of DECL_RTL case.
6059
6060 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
6061
6062         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
6063
6064 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
6065
6066         * i386.c (construct_container): Fix handling of SSE_CLASS.
6067
6068 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
6069
6070         * config/m68k/t-crtstuff (crti.o): Use this...
6071         ($(T)crti.o): ... instead.
6072         (crtn.o): Use this...
6073         ($(T)crtn.o): ... instead.
6074
6075 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
6076
6077         PR c/8439
6078         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
6079         if there is something new to be simplified.
6080
6081 2002-11-10  H.J. Lu <hjl@gnu.org>
6082
6083         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
6084         * expr.c (PUSH_ARGS_REVERSED): Likewise.
6085
6086         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
6087
6088 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
6089
6090         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
6091         * config/rs6000/linux.h, config/rs6000/linux64.h,
6092         config/rs6000/windiss.h: ... not here.
6093
6094 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
6095
6096         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
6097         __ABICALLS__ if TARGET_ABICALLS.
6098
6099 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
6100
6101         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
6102
6103 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
6104
6105         * c-decl.c (grokdeclarator): Make error for duplicate type
6106         qualifiers into a pedwarn, disabled for C99.
6107
6108 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
6109
6110         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
6111         as FUNCTION_ARG_PASS_BY_REFERENCE.
6112
6113 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
6114
6115         * doc/install.texi: Add *-*-vxworks* specific installation
6116         instructions.
6117
6118         * config/vxlib.c: Rewrite using generation numbers to identify
6119         valid TSD keys.
6120
6121 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
6122
6123         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
6124
6125 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6126
6127         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
6128
6129         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
6130         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
6131         * pa.c (output_millicode_call): Use symbol difference rather than
6132         $PIC_pcrel$0 when using HP assembler.
6133         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
6134         not elfos.h (i.e., gas) is being used.
6135         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
6136         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
6137         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
6138         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
6139         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
6140         using elfos.h.
6141         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
6142         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
6143         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
6144         using elfos.h.
6145         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6146         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
6147         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
6148         Don't define when not using elfos.h.
6149         (ASM_DECLARE_RESULT): Don't define.
6150         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
6151         doesn't work on hppa64-hp-hpux11.
6152         (hppa*-hp-hpux11): Update.
6153
6154 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
6155
6156         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
6157         to the assembler if -mno-abicalls was specified.
6158
6159 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6160
6161         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
6162         ASM_OUTPUT_DEF): Delete.
6163
6164 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
6165
6166         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
6167
6168 2002-11-08  Roger Sayle  <roger@eyesopen.com>
6169
6170         * real.c (real_sqrt): Update comment with bibliographic reference.
6171
6172 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
6173
6174         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
6175
6176 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6177
6178         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
6179
6180 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
6181
6182         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
6183         (expand_builtin): Likewise.
6184         * builtins.def: Add
6185         __builtin_floor, __builtin_floorf, __builtin_floorl
6186         __builtin_ceil, __builtin_ceilf, __builtin_ceill
6187         __builtin_round, __builtin_roundf, __builtin_roundl
6188         __builtin_trunc, __builtin_truncf, __builtin_truncl
6189         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
6190         * genopinit.c (optabs): Initialize the new optabs.
6191         * optab.c (init_optabs): Likewise.
6192         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
6193         OTI_round, OTI_nearbyint.
6194         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
6195         * doc/md.texi: Document new named patterns.
6196         * doc/extend.texi (builtin functions)  Document
6197         floor, floorf, floorl, ceil, ceilf,
6198         ceill, round, roundf, roundl, trunc,
6199         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
6200
6201 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
6202
6203         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
6204
6205 2002-11-08  Dale Johannesen  <dalej@apple.com>
6206
6207         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
6208
6209 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
6210
6211         PR preprocessor/8497
6212         PR preprocessor/8501
6213         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
6214         start a directive.  In assembler, #NUM is not a line directive.
6215
6216 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
6217
6218         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
6219         buffers.
6220
6221 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
6222
6223         * config/h8300/h8300.md (two anonymous test insns): New.
6224
6225 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6226
6227         * jump.c (mark_jump_label): Handle subregs of label_refs.
6228
6229 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
6230
6231         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
6232         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
6233
6234 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
6235
6236         * config/ia64/crtend.asm: Include "auto-host.h".
6237         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
6238         * config/ia64/crtbegin.asm: Similarly.
6239         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
6240         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
6241
6242         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
6243         * configure.in: Use it if --enable-initfini-array not specified.
6244         * doc/install.texi (Configuration): Document --enable-initfini-array.
6245         * configure, config.in: Rebuild.
6246
6247 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
6248
6249         * config/arm/arm-protos.h (arm_get_frame_size)
6250         (thumb_get_frame_size): New prototypes.
6251         * config/arm/arm.c (arm_get_frame_size)
6252         (thumb_get_frame_size): New functions.
6253         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
6254         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
6255         arm_get_frame_size.
6256         (thumb_expand_prologue, thumb_expand_epilogue): Use
6257         thumb_get_frame_size.
6258         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
6259         (machine_function): Add frame_size member.
6260         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
6261
6262 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
6263
6264         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
6265         Adjust code to use portable unsigned bit manipulation.
6266         (insn_flags, tune_flags): Change type to unsigned.
6267         (struct processors): Make flags unsigned long.
6268         (arm_override_options): Change type of count and current_bit_count
6269         to unsigned.
6270
6271 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
6272
6273         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
6274
6275 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
6276
6277         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
6278
6279 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
6280
6281         * reg-stack.c (compensate_edge): Fix sanity check.
6282
6283 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
6284
6285         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
6286         crt2.o.  Rearrange t-darwin makefiles.
6287         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
6288         * unwind-dw2-fde-darwin.c: New.
6289         * unwind-dw2-fde-glibc.c: Correct comment.
6290         * unwind-dw2-fde.c (__register_frame_info_bases)
6291         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
6292         (classify_object_over_fdes): Use last_fde.
6293         (add_fdes): Likewise.
6294         (linear_search_fdes): Likewise.
6295         * unwind-dw2-fde.h (struct object)
6296         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
6297         (last_fde): New.
6298         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
6299         (ENDFILE_SPEC): No crtend.o.
6300         * config/t-darwin: New.
6301         * config/i386/t-darwin: Delete.
6302         * config/darwin-crt2.c: New.
6303         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
6304         or config/t-darwin.
6305
6306 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
6307
6308         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
6309         MASK_MS_BITFIELD_LAYOUT
6310         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
6311         MS bitfields for Objective-C.
6312         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
6313         defines.
6314
6315         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
6316         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
6317         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
6318
6319         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
6320         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
6321         (TARGET_SWITCHES): Add above mask.
6322
6323         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
6324         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
6325         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
6326         flags for interix.
6327
6328 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
6329
6330         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
6331         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
6332         assembler.
6333         * config/mips/mips.md (tablejump_internal3): Output .cpadd
6334         before jump on ABI_N32 too.
6335         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
6336         length to match.
6337
6338 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
6339
6340         * i386.md (negsf splitter): Accept memory operand in second register.
6341         (abssf/absdf splitters): Simplify
6342         (sse_loadss, sse_loadsd): Turn into expander.
6343
6344 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
6345
6346         PR target/8480
6347         * config/rs6000/rs6000.md (movdi_internal64): Discourage
6348         FPR to FPR moves.
6349
6350 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
6351
6352         * doc/contrib.texi: Merge in the list from the Java web pages.
6353
6354 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
6355
6356         * config/sparc/freebsd: Fix typo.
6357
6358 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6359
6360         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
6361
6362 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
6363
6364         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
6365         non-SImode addresses.
6366
6367 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
6368
6369         * i386.md (float_truncate SSE splitter): Ensure that operand is not
6370         stack register.
6371         (float SSE splitters): Reorder conditional.
6372
6373 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
6374
6375         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
6376
6377 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
6378
6379         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
6380         (STARTFILE_SPEC): Remove p and pg options.
6381
6382 2002-11-05  Andrew Haley  <aph@redhat.com>
6383
6384         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
6385         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
6386
6387 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
6388
6389         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
6390         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
6391
6392 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
6393
6394         * gthr-vxworks.h: Rewritten from scratch.
6395         * config/vxlib.c: New file.
6396         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
6397         * config/rs6000/t-vxworks: Add config/vxlib.c to
6398         LIB2FUNCS_EXTRA here too, because of clash with
6399         config/rs6000/t-ppccomm.
6400
6401 2002-11-04  Dale Johannesen  <dalej@apple.com>
6402
6403         * doloop.c (doloop_modify_runtime):  Fix loop count computation
6404         for unrolled loops.
6405         * loop.c (loop_invariant_p):  Support calling from unroller.
6406
6407 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
6408
6409         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
6410         for comparison.
6411
6412 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
6413
6414         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
6415
6416         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
6417         (CLASS_CANNOT_CHANGE_MODE): Remove.
6418         (CANNOT_CHANGE_MODE_CLASS): New.
6419
6420         * config/alpha/alpha.h: Same.
6421
6422         * config/ia64/ia64.h: Same.
6423
6424         * config/mips/mips.h: Same.
6425
6426         * config/s390/s390.h: Same.
6427
6428         * config/sh/sh.h: Same.
6429
6430         * config/pa/pa64-regs.h: Same.
6431
6432         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
6433
6434         * config/sh/sh.c (sh_cannot_change_mode_class): New.
6435
6436         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
6437         prototype.
6438
6439         * config/mips/mips.c (mips_cannot_change_mode_class): New.
6440
6441         * doc/tm.texi (Register Classes): Remove
6442         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
6443         Document CANNOT_CHANGE_MODE_CLASS.
6444
6445         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
6446         (push_reload): Same.
6447
6448         * simplify-rtx.c (simplify_subreg): Same.
6449
6450         * reload1.c (choose_reload_regs): Same.
6451
6452         * recog.c (register_operand): Same.
6453
6454         * regrename.c (mode_change_ok): Change to use new
6455         CANNOT_CHANGE_MODE_CLASS infrastructure.
6456
6457         * regclass.c (cannot_change_mode_set_regs): New.
6458         Declare subregs_of_mode.
6459         (regclass): Use subregs_of_mode.
6460         Remove references to reg_changes_mode.
6461         (init_reg_sets_1): Remove class_can_change_mode and
6462         reg_changes_mode code.
6463         (invalid_mode_change_p): New.
6464         (dump_regclass): Use invalid_mode_change_p instead of
6465         class_can_change_mode.
6466         (regclass): Same.
6467         (record_operand_costs): Do not set reg_changes_mode.
6468
6469         * local-alloc.c (struct qty): Remove changes_mode field.
6470         (alloc_qty): Remove changes_mode initialization.
6471         (update_qty_class): Remove set of changes_mode.
6472         (find_free_reg): Use subregs_of_mode.
6473
6474         * global.c (find_reg): Use subregs_of_mode info.
6475
6476         * rtl.h (cannot_change_mode_set_regs): New prototype.
6477         (invalid_mode_change_p): Same.
6478         (REG_CANNOT_CHANGE_MODE_P): New macro.
6479
6480         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
6481         REG_CHANGES_MODE.
6482         (life_analysis): Clear subregs_of_mode.
6483
6484         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
6485         Remove use of CLASS_CANNOT_CHANGE_MODE.
6486         (simplify_set): Same.
6487         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
6488         REG_CHANGES_MODE.
6489
6490         * regs.h: Add extern for subregs_of_mode;
6491         Include hard-reg-set and basic-block.
6492         (REG_CHANGES_MODE): Delete.
6493
6494 2002-11-03  Roger Sayle  <roger@eyesopen.com>
6495
6496         * real.c (real_sqrt): New function to calculate square roots.
6497         * real.h (real_sqrt): Add function prototype.
6498         * builtins.c (fold_builtin): Fold sqrt of constant argument.
6499         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
6500         of constant argument.
6501
6502 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6503
6504         * jump.c (never_reached_warning): Don't set contains_insn until the
6505         first line note is seen.
6506
6507 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
6508
6509         * config/rs6000/rs6000.md (movti_string): Use string instructions.
6510
6511 2002-11-03  Roger Sayle  <roger@eyesopen.com>
6512
6513         PR c/7128
6514         * c-typeck.c (c_expand_asm_operands): Defend against
6515         error_mark_nodes in the output argument to avoid ICE.
6516
6517 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
6518
6519         PR middle-end/8408
6520         * genrecog.c (preds): Handle ADDRESSOF.
6521         (validate_pattern): Mark it as an lvalue.
6522
6523 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
6524
6525         * config/rs6000/rs6000.c (rs6000_override_options): Use string
6526         instructions when optimizing for size.
6527
6528 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
6529
6530         * config/h8300/h8300.h: Fix comment typos.
6531         * config/h8300/h8300.md: Likewise.
6532         * config/h8300/lib1funcs.asm: Likewise.
6533
6534 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6535
6536         Revert this change:
6537
6538         *doc/install.texi (Installing GCC: Configuration): Clarify
6539         the only supported ways to configure gcc.
6540
6541 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6542
6543         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
6544         instead of 'O' for the constraint for the second operand.
6545
6546 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
6547
6548         PR c++/8391
6549         * toplev.c (rest_of_compilation): Do not refuse to output code for
6550         an inline function in a local class.
6551
6552 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
6553
6554         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
6555         (TRANSFER_FROM_TRAMPOLINE): Reformat.
6556         Add comment.
6557
6558 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6559
6560         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
6561
6562 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6563
6564         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
6565
6566 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
6567
6568         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
6569         (MASK_INLINE_DIV_THR): Remove.
6570         (TARGET_INLINE_DIV_LAT): Remove.
6571         (TARGET_INLINE_DIV_THR): Remove.
6572         (TARGET_INLINE_DIV): Remove.
6573         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
6574         (MASK_INLINE_FLOAT_DIV_THR): New macro.
6575         (MASK_INLINE_INT_DIV_LAT): New macro.
6576         (MASK_INLINE_INT_DIV_THR): New macro.
6577         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
6578         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
6579         (TARGET_INLINE_INT_DIV_LAT): New macro.
6580         (TARGET_INLINE_INT_DIV_THR): New macro.
6581         (TARGET_INLINE_FLOAT_DIV): New macro.
6582         (TARGET_INLINE_INT_DIV): New macro.
6583         * config/ia64/ia64.md (divsi3): Change to use new macros.
6584         (modsi3): Ditto.
6585         (udivsi3): Ditto.
6586         (umodsi3): Ditto.
6587         (divsi3_internal): Ditto.
6588         (divdi3): Ditto.
6589         (moddi3): Ditto.
6590         (udivdi3): Ditto.
6591         (umoddi3): Ditto.
6592         (divdi3_internal_lat): Ditto.
6593         (divdi3_internal_thr): Ditto.
6594         (divsf3): Ditto.
6595         (divsf3_internal_lat): Ditto.
6596         (divsf3_internal_thr): Ditto.
6597         (divdf3): Ditto.
6598         (divdf3_internal_lat): Ditto.
6599         (divdf3_internal_thr): Ditto.
6600         (divtf3): Ditto.
6601         (divtf3_internal_lat): Ditto.
6602         (divtf3_internal_thr): Ditto.
6603         * config/ia64/ia64.c (ia64_override_options): Change
6604         to check new macros for conflicts in settings.
6605         * doc/invoke.texi (-minline-divide-min-latency): Remove.
6606         (-minline-divide-max-throughput): Remove.
6607         (-minline-float-divide-min-latency): New.
6608         (-minline-float-divide-max-throughput): New.
6609         (-minline-int-divide-min-latency): New.
6610         (-minline-int-divide-max-throughput): New.
6611
6612 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
6613
6614         PR target/7856
6615         * arm.c (use_return_insn): Don't use a return insn if there are
6616         saved integer regs, but LR is not one of them.
6617
6618 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
6619
6620         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
6621         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
6622
6623 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
6624
6625         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
6626         (movps, movpd splitters): Use canonical form.
6627         (movv2di): Fix merge problem.
6628
6629 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
6630
6631         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6632
6633 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6634
6635         PR optimization/6162
6636         * doc/md.texi: Document restriction on commutative operand
6637         specification.
6638
6639 2002-10-31  Eric Christopher  <echristo@redhat.com>
6640
6641         * explow.c (convert_memory_address): Use shallow_copy_rtx.
6642
6643 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6644
6645         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
6646
6647 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6648
6649         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
6650
6651 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6652
6653         * config/rs6000/darwin.h:  Correct formatting in previous.
6654
6655 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6656
6657         * config/rs6000/darwin.h:  Enable -falign-xxx options.
6658
6659 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
6660
6661         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
6662         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
6663         * i386.c (optimization_options): Set flag_omit_frame_pointer,
6664         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
6665         Do not clear -momit-leaf-frame-pointer when profiling.
6666         (ix86_frame_pointer_required): Frame pointer is always required when
6667         profiling.
6668
6669 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6670
6671         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6672
6673 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
6674
6675         * sh.h (binary_logical_operator): Declare.
6676         * sh.c (binary_logical_operator): New function.
6677         * sh.md (xordi3+1): New combiner splitter pattern.
6678
6679 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
6680
6681         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6682         __enable_execute_stack function.
6683
6684 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
6685
6686         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
6687         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
6688         * unwind-sjlj.c (fc_key_dtor): Delete.
6689         (fc_key_init): Adjust __gthread_key_create call to match.
6690
6691 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
6692
6693         * c-common.c: Add GTY to vector_type_node_list.
6694
6695 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
6696
6697         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6698         * pa-protos.h (attr_length_millicode_call, attr_length_call,
6699         pa_init_machine_status): Declare new global functions.
6700         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
6701         implement new functions.
6702         (attr_length_millicode_call, attr_length_call): Implement.
6703         (total_code_bytes): Change type to long.
6704         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
6705         Reset counter if flag_function_sections.
6706         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
6707         (output_cbranch): Move call to gen_label_rtx.
6708         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
6709         delay slot in all variants, shorten pc-relative calls.
6710         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
6711         slot usage and exposure, various new call variants, and shortened
6712         sequences for some variants on TARGET_PA_20.
6713         Miscellaneous format changes.
6714         * pa.h (total_code_bytes): Change type to long.
6715         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
6716         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
6717         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
6718         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
6719         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6720         stores on TARGET_ELF32.
6721         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6722         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6723         canonicalize_funcptr_for_compare expanders): Calculate attribute length
6724         attr_length_millicode_call().
6725         (call_internal_symref, call_value_internal_symref): Clobber register 1.
6726         Calculate attribute length using attr_length_call().
6727         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6728         to delay slot.
6729         (sibcall, sibcall_value): Rewrite.
6730         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6731         register 1.  Use attr_length_call().
6732         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6733         New patterns.
6734         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6735         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6736         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6737         * doc/invoke.texi (mlong-calls): Document.
6738
6739 2002-10-30  Roger Sayle  <roger@eyesopen.com>
6740
6741         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
6742         handling of cases where one or both branches of the conditional
6743         have void type, i.e. throw an exception or don't return.
6744         (fold): Only apply (and undo) type conversion to the non-void
6745         branches of a COND_EXPR.
6746
6747 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
6748
6749         PR c++/8333
6750         * varasm.c (asm_output_aligned_bss): Do not call
6751         ASM_GLOBALIZE_LABEL.
6752
6753 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
6754             Torbjorn Granlund  <tege@swox.com>
6755
6756         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6757         for addressibility.
6758         (load_toc_v4_PIC_1b): Same.
6759
6760 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6761
6762         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6763         Truncate the addresses for H8/300 using HImode.
6764
6765 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6766
6767         * i386.md (negdf splitter): Fix construction of the constant.
6768
6769 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6770
6771         * i386.md (negsf, negdf): Reorganize to use vector modes
6772         for SSE variants.
6773         (abssf, absdf): Use force_reg.
6774         (movv4sf, movv2df): New splitters.
6775         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6776         * i386.c (zero_extended_scalar_load_operand
6777
6778         * i386-protos.h (ix86_expand_call): Update prototype.
6779         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6780         (ix86_expand_call): Use r11 for indirect sibcalls.
6781         * i386.md (call, call_value, untyped_call, call_value_pop):
6782         update x86_expand_call call.
6783         (sibcall, sibcall_value): new patterns
6784         (call_rex64, call_value_rex64): Do not accept sibcalls.
6785         (sibcall_rex64, sibcall_value_rex64,
6786         sibcall_rex64_v, sibcall_value_rex64_v): New.
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  Hans-Peter Nilsson  <hp@bitrange.com>
6794
6795         * toplev.c (rest_of_type_compilation): Return early in case of
6796         errors.
6797         (check_global_declarations): Don't call debug_hooks->global_decl
6798         in case of errors.
6799
6800 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6801
6802         * doc/c-tree.texi (Tree overview): Fix typos.
6803
6804 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6805
6806         * Makefile.in (gnucompare*):  Only record bad comparisons
6807         if there really was a bad comparison.
6808
6809 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6810
6811         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6812         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6813         * md.texi (machine dependent constraints): Document 'C'
6814
6815         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6816
6817         * i386.c (ix86_expand_vector_move): Fix.
6818
6819         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6820         * i386.md (sse2_maskmovdqu_rex64): New pattern
6821
6822         PR target/8322
6823         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6824         (ix86_init_mmx_sse_builtins): Fix type.
6825
6826 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6827
6828         * gthr-posix.h: Include <unistd.h> for feature tests.
6829         (sched_get_priority_max, sched_get_priority_min)
6830         (pthread_getschedparam, pthread_setschedparam): Only use
6831         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6832         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6833         returns from sched_get_priority_max and sched_get_priority_min
6834         as an error.
6835
6836 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6837
6838         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6839         MASK_QUICKCALL.
6840
6841 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6842
6843         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6844         (h8300_tiny_constant_address_p): Likewise.
6845         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6846         h8300_eightbit_constant_address_p.
6847         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6848         * config/h8300/h8300-protos.h: Add the prototypes for the two
6849         new functions.
6850
6851 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6852
6853         * reload1.c (update_eliminables): Unconditionally check if
6854         frame_pointer_needed has changed.
6855
6856 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6857
6858         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6859         before final pass.
6860
6861 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6862
6863         PR optimization/8334
6864         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6865         check for zero operands explicitly.
6866
6867 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6868
6869         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6870         memory after adjusting to BLKmode.
6871
6872 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6873
6874         * config/h8300/h8300.h (MASK_*): New.
6875         (TARGET_*): Use MASK_*.
6876
6877 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6878
6879         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6880         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6881         config/rs6000/vxworks.h: New files.
6882         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6883
6884         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6885         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6886         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6887         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6888         sparc-*-vxsim*): Delete stanzas.
6889         * gthr-vxworks.h: Rip out all substantive code and just
6890         include gthr-single.h.
6891
6892         * config/alpha/vxworks.h, config/arm/vxarm.h,
6893         config/i386/vxi386.h, config/i960/t-vxworks960,
6894         config/i960/vx960-coff.h, config/i960/vx960.h,
6895         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6896         config/mips/vxworks.h, config/rs6000/vxppc.h,
6897         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6898         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6899         config/sparc/vxsparc64.h: Delete files.
6900
6901 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6902
6903         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6904         tm_defines if pthreads are enabled.
6905         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6906         if NETBSD_ENABLE_PTHREADS is defined.
6907
6908 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6909
6910         * ChangeLog.1: Fix typos.
6911         * cse.c: Fix a comment typo.
6912         * reload1.c: Likewise.
6913
6914 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6915
6916         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6917         * fixinc/tests/base/_G_config.h: New file.
6918
6919 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6920
6921         * combine.c: Fix comment formatting.
6922         * loop.c: Likewise.
6923         * real.c: Likewise.
6924         * regclass.c: Likewise.
6925         * regmove.c: Likewise.
6926         * regrename.c: Likewise.
6927         * reg-stack.c: Likewise.
6928         * reload1.c: Likewise.
6929         * reload.c: Likewise.
6930         * reload.h: Likewise.
6931         * unroll.c: Likewise.
6932
6933 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6934
6935         * reload1.c (reload): Fix a comment typo.
6936
6937 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6938
6939         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6940
6941 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6942
6943         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6944         * dwarf2out.c: Include hashtab.h.
6945         (is_main_source): New static variable.
6946         (attr_checksum, die_checksum): Modified to handle die references.
6947         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6948         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6949         record_comdat_symbol_number): New static functions.
6950         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6951         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6952         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6953         declarations added.
6954
6955 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6956
6957         * config/h8300/h8300.c (initial_offset): Change to
6958         h8300_initial_elimination_offset.
6959         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6960         h8300_initial_elimination_offset.
6961         * config/h8300/h8300-protos.h: Update the prototype.
6962
6963 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6964
6965         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6966         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6967         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6968         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6969         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6970         and RTX_CODE.
6971         (mmix_function_value_regno_p): Declare.
6972
6973         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6974         invalid for floating point mode result, with fix.
6975
6976 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6977
6978         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6979         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6980         (stage1_build): Likewise.
6981
6982 2002-10-25  Mike Stump  <mrs@apple.com>
6983
6984         Fixes gcc.dg/warn-1.c.
6985         * c-typeck.c (warn_for_assignment): Don't print argument number,
6986         if zero.
6987
6988 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6989
6990         * toplev.c (dump_file_index): Add DFI_ce3.
6991         (dump_file_info): Likewise.
6992         (rest_of_compilation): Run first ifcvt pass before tracer.
6993
6994 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6995
6996         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6997
6998 2002-10-25  Richard Henderson  <rth@redhat.com>
6999
7000         * real.c (real_to_decimal): If the >1 tens reduction loop results
7001         in a negative exponent, fall into the <1 pten computation.
7002
7003 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
7004
7005         PR middle-end/6994
7006         * c-objc-common.c (inline_forbidden_p): Can not inline
7007         functions containing structures or unions containing VLAs.
7008         * tree-inline.c (walk_tree): For all class 't' nodes, walk
7009         TYPE_SIZE and TYPE_SIZE_UNIT.
7010         (copy_tree_r): Copy types if they are variably modified.
7011
7012 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
7013
7014         * config/s390/s390.md: Remove old-style peepholes.
7015
7016 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
7017
7018         * config/s390/s390.c (s390_decompose_address): Do not range check the
7019         displacement if base or index is the argument pointer register.
7020
7021 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
7022
7023         PR other/3337
7024         PR bootstrap/6763
7025         PR bootstrap/8122
7026         * fixinc/inclhack.def (libc1_G_va_list): New fix.
7027         * fixinc/fixincl.x: Regenerate.
7028         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
7029         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
7030         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
7031         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
7032         * config.in, configure: Regenerate.
7033
7034 2002-10-24  Igor Shevlyakov <igor@microunity.com>
7035
7036         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7037
7038 2002-10-24  Richard Henderson  <rth@redhat.com>
7039
7040         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
7041
7042 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7043
7044         * config/h8300/h8300.c (initial_offset): Simplify by using
7045         round_frame_size.
7046
7047 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7048
7049         * doc/install.texi (avr): Update required binutils version.
7050
7051 2002-10-24  Theodore A. Roth  <troth@openavr.org>
7052
7053         * doc/install.texi: Point avr users at more up-to-date information.
7054
7055 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
7056
7057         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
7058         to pull operands out of the literal pool where possible.
7059
7060 2002-10-24  Denis Chertykov  <denisc@overta.ru>
7061
7062         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
7063
7064 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
7065
7066         * expr.c (convert_move): If unsignedp is less then zero there
7067         is no equivalent code.
7068
7069 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
7070
7071         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
7072
7073 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
7074
7075         * config/s390/s390.h: Rework comments; re-sort target macro definitions
7076         according to the sequence they are defined in the manual.
7077         (POINTER_BOUNDARY): Remove.
7078
7079 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7080
7081         * config/h8300/h8300.c (round_frame_size): Replace 8 with
7082         BITS_PER_UNIT.
7083
7084 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7085
7086         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
7087         64-bit safe.
7088         (TINY_CONSTANT_ADDRESS_P): Likewise.
7089
7090 2002-10-24  Richard Henderson  <rth@redhat.com>
7091
7092         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7093         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
7094         vcall offset.
7095
7096 2002-10-24  Richard Henderson  <rth@redhat.com>
7097
7098         PR opt/7944
7099         * reload.c (find_reloads_toplev): Mode of X is not important
7100         when simplifying subregs of constants.
7101
7102 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
7103
7104         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
7105         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
7106         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
7107         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
7108         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
7109
7110 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
7111
7112         * optabs.c (expand_binop): Don't reuse the shift target in the
7113         middle of shift sequences.
7114
7115 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
7116
7117         * i386.md (abs splitters): Do not produce nested subregs.
7118
7119 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
7120
7121         * i386.md (movti_rex64): Fix constraints.
7122
7123 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
7124
7125         * i386.md (abssf,absdf): Use vector operands for SSE
7126         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
7127         vector operand.
7128
7129 2002-10-23  Ziemowit Laski <zlaski@apple.com>
7130
7131         * objc/objc-act.c (get_static_reference): Remove unneeded
7132         TYPE_BINFO initialization.
7133         (get_object-reference): Likewise.
7134         (build_constructor): Tighten precondition check.
7135         (finish_message_expr): Likewise.
7136
7137 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
7138
7139         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
7140         after CONST test.
7141
7142 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
7143
7144         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
7145         in HFAs.
7146
7147 2002-10-23  Richard Henderson  <rth@redhat.com>
7148
7149         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7150         (alpha_output_mi_thunk_osf): Handle vcall_offset.
7151
7152 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
7153
7154         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
7155         var_mod_type_p.
7156         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
7157         hook_tree_bool_false.
7158
7159         * tree.c (variably_modified_type_p): Moved here from
7160         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
7161         language-specific cases.  Due to this, must weaken some 'if
7162         and only if' checks to merely 'if'.
7163         * tree.h: Prototype variably_modified_type_p.
7164
7165         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
7166
7167 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
7168
7169         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
7170         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
7171
7172         * config/s390/s390-protos.h (fp_operand): Remove.
7173         * config/s390/s390.c (fp_operand): Remove.
7174         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
7175         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
7176         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
7177         (movdi_31, movdf_31 splitters): Likewise.
7178
7179         * config/s390/s390.h (IEEE_FLOAT): Remove.
7180         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
7181         (INT_REGNO_P): Rename to ...
7182         (GENERAL_REGNO_P): ... this.
7183         (FLOAT_REGNO_P): Rename to ...
7184         (FP_REGNO_P): ... this.
7185         (ADDR_REGNO_P): New macro.
7186         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
7187         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
7188         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
7189         (HARD_REGNO_NREGS): Adapt to macro renaming.
7190         (HARD_REGNO_MODE_OK): Likewise.
7191
7192 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
7193             Geoff Keating  <geoffk@apple.com>
7194
7195         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
7196         (rs6000_memory_move_cost): New function.
7197         * config/rs6000/rs6000-protos.h: Declare them.
7198         * config/rs6000/rs6000.h: Use them.
7199
7200 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
7201
7202         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
7203         inlining it into other libgcc2 routines.
7204         (__udivmoddi4): Likewise.
7205
7206 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
7207
7208         * doc/sourcebuild.texi (Test Suites): Improve.
7209
7210 2002-10-22  Stan Shebs  <shebs@apple.com>
7211
7212         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
7213         case for Darwin.
7214
7215 2002-10-22  Jim Wilson  <wilson@redhat.com>
7216
7217         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
7218
7219 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
7220
7221         PR other/8289
7222         * xmmintrin.h: Add const to the argument of loads.
7223
7224         * i386.md (pushv2di): New pattern.
7225         PR target/6890
7226         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
7227
7228 2002-10-22  Richard Henderson  <rth@redhat.com>
7229
7230         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
7231         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
7232         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
7233         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7234         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7235         (TARGET_ASM_OUT): Update.
7236         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
7237         (hook_bool_tree_hwi_hwi_tree_true): New.
7238         (default_can_output_mi_thunk_no_vcall): New.
7239         * hooks.h: Declare them.
7240         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
7241
7242         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7243         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
7244         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
7245         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
7246         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
7247         config/stormy16/stormy16.c: Similarly.
7248
7249         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
7250         Handle 64-bit properly.  Streamline.
7251         (x86_output_mi_vcall_thunk): Remove.
7252         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
7253         (x86_can_output_mi_thunk): New.
7254         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7255         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7256         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
7257
7258         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
7259         output_mi_thunk; make static; always use function_section.
7260         (TARGET_ASM_OUTPUT_MI_THUNK): New.
7261         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7262         (rs6000_ra_ever_killed): Test no_new_pseudos not
7263         targetm.asm_out.output_mi_thunk in conjunction with thunks.
7264         * config/rs6000/rs6000-protos.h: Update.
7265         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7266         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
7267         xcoffout_declare_function when using rs6000_output_mi_thunk.
7268
7269         * config/s390/s390.c (s390_output_mi_thunk): Rename from
7270         s390_output_mi_vcall_thunk.
7271         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7272         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7273
7274         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
7275         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7276         * config/vax/vax-protos.h: Update.
7277         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
7278
7279 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
7280
7281         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
7282         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
7283         * i386.md (movti_internal): Use 'C'
7284
7285         * xmmintrin.h (_mm_cmplt_epi*): New.
7286
7287 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
7288
7289         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
7290         ("*movdf_64"): Likewise.
7291         ("*lshrdi3_64"): Likewise.
7292         ("blockage"): Add length attribute.
7293         ("lit"): Likewise.
7294
7295 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
7296
7297         * i386.md: FIx typo.
7298         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
7299         (sse2_umulv2siv2di3): Fix predicate.
7300         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
7301         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
7302         * xmmintrin.h (_mm_mul_epu16): Rename to...
7303         (_mm_mul_epu32): This one.
7304         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
7305
7306         (contains_128bit_aligned_vector_p): Undo accidental checkin.
7307
7308 2002-10-22  Eric Christopher  <echristo@redhat.com>
7309
7310         * config/sparc/sparc.h: Add #error.
7311
7312 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
7313
7314         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
7315         [s390x-*-linux*]: Likewise.
7316         * config/s390/t-linux: Remove.
7317         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
7318
7319 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
7320
7321         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
7322         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
7323         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
7324         * i386.md (mmx_punpck?dq): Simplify.
7325         (sse2_pubpcklqdq): Fix.
7326         (sse2_pubpckhqdq): New.
7327         * xmmintrin.h (_mm_unpackhi_epi32): New.
7328
7329         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
7330         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
7331
7332 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
7333
7334         PR c++/7209
7335         * fold_const.c (fold_binary_op_with_conditional_arg): Always
7336         build compound_expr if we used save_expr.
7337
7338 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
7339
7340         * output.h (SECTION_NOTYPE): Define.
7341         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
7342         init array sections.
7343         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
7344         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
7345         merge TLS support.
7346
7347 2002-10-21  Richard Henderson  <rth@redhat.com>
7348
7349         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
7350         the function type, not the return type.
7351
7352 2002-10-21  Richard Henderson  <rth@redhat.com>
7353
7354         * real.c (sticky_rshift_significand): Return inexact, don't
7355         or it in immediately.
7356         (sub_significands): Accept incomming carry.
7357         (div_significands, rtd_divmod): Update for sub_significands change.
7358         (round_for_format): Update for sticky_rshift_significand change.
7359         (do_add): Don't involve the inexact bit in addition, do give the
7360         inexact bit as the subtraction carry-in.
7361         (encode_internal, decode_internal, real_internal_format): New.
7362         * real.h (real_internal_format): Declare.
7363
7364 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7365
7366         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
7367         don't define sdiv_qrnnd.
7368
7369 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
7370
7371         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
7372         using IN_RANGE.
7373         (TINY_CONSTANT_ADDRESS_P): Likewise.
7374
7375 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7376
7377         * i386.c (builtin_description): Add punpcklqdq and movdq2q
7378         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
7379         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
7380         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
7381         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
7382         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
7383         __builtin_ia32_setzero128.
7384         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
7385         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
7386         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
7387         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
7388         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
7389         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
7390         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
7391         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
7392         sse2_movq): New patterns.
7393         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
7394         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
7395         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
7396         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
7397         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
7398         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
7399         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
7400         (_mm_insert_epi16): Fix.
7401
7402 2002-10-21  Dale Johannesen  <dalej@apple.com>
7403
7404         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
7405             unsafe math reversals correctly for RTL generation.
7406           (output_cbranch):  Replace rs6000_reverse_condition call
7407             by its former definition.
7408
7409 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
7410
7411         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
7412         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
7413         from constant pool or LABEL_REFs as sign extended if allow_rip.
7414         Change all +-1GB limits to +-16MB.
7415         (x86_64_general_operand, x86_64_szext_general_operand,
7416         x86_64_nonmemory_operand, x86_64_movabs_operand,
7417         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7418         legitimate_address_p, ix86_expand_int_movcc): Update callers.
7419         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
7420         in CM_SMALL_PIC model.
7421         (legitimate_pic_address_disp_p): Don't check offsets before
7422         calling local_symbolic_operand.
7423         (legitimize_pic_address): Force offsets bigger than +-16MB into
7424         register.
7425         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
7426         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
7427         prototype.
7428
7429         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
7430         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
7431         * configure: Rebuilt.
7432         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
7433         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
7434         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
7435         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
7436         -fpic.
7437         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
7438         non-pic code if TARGET_64BIT.
7439         (legitimize_address): Generate 64-bit TLS sequences.
7440         (output_pic_addr_const): Support x86-64 TLS operators.
7441         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
7442         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
7443         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
7444         (output_addr_const_extra): Support x86-64 TLS operators.
7445         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
7446         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
7447         unconditionally.
7448         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
7449         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
7450         (*tls_global_dynamic_sun): Renamed to...
7451         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
7452         (tls_global_dynamic): Renamed to...
7453         (tls_global_dynamic_32): ... this.
7454         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
7455         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
7456         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
7457         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
7458         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
7459         (tls_local_dynamic_base_dynamic): Renamed to...
7460         (tls_local_dynamic_base_dynamic_32): ... this.
7461         (tls_local_dynamic_base_dynamic_64,
7462         *tls_local_dynamic_base_dynamic_64): New.
7463         (*tls_local_dynamic_once): Renamed to...
7464         (*tls_local_dynamic_32_once): ... this.
7465
7466 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7467
7468         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
7469         __divdi3, __umoddi3, or __moddi3.
7470
7471 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7472
7473         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
7474         instead of just opt_index as switch expression.
7475
7476         * calls.c (store_one_arg): Change type of 'excess_align'
7477         to unsigned int.
7478
7479         * profile.c (output_gcov_string): Change type of 'temp'
7480         to size_t.
7481
7482 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7483
7484         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
7485         (__fixunssfdi, __fixsfdi): Likewise.
7486         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
7487         (s390_single_qi): Likewise.
7488         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
7489         unsigned comparison warning.
7490         (s390_return_addr_rtx): New function.
7491         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
7492         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
7493         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
7494
7495 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
7496
7497         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
7498         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
7499         (s390_output_mi_thunk): Remove.
7500         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7501
7502 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
7503
7504         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
7505
7506 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
7507
7508         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
7509         inverted test in the conditional determining the possibility
7510         of sibcalls in PIC mode.
7511
7512 2002-10-20  Richard Henderson  <rth@redhat.com>
7513
7514         * target.h (struct gcc_target): Line wrap.
7515
7516         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
7517         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
7518         * config/alpha/alpha.h: ... not here.
7519         * config/alpha/alpha-protos.h: Update.
7520
7521         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
7522         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
7523         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
7524         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
7525         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
7526         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
7527         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
7528         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
7529         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
7530         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
7531         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
7532         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
7533         config/sparc/sparc.c, config/sparc/sparc.h,
7534         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
7535         config/stormy16/stormy16.h: Similarly.
7536
7537         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
7538         selection logic from call patterns.
7539
7540 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
7541
7542         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
7543
7544 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7545
7546         PR other/8202
7547         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
7548         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
7549         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
7550         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
7551
7552 2002-10-20  Roger Sayle  <roger@eyesopen.com>
7553
7554         PR c/761
7555         * toplev.c (flag_unsafe_profile_arcs): Remove.
7556         (flag_bounded_pointers): Remove.
7557         (flag_bounds_check): Correct comments.
7558         (lang_independent_options): Remove -funsafe-profile-arcs and
7559         -fbounded-pointers.  Correct -fbounds-check comments.
7560
7561         * flags.h: Correct flag_schedule_interblock comments.
7562         (flag_bounded_pointers): Remove prototype.
7563         (flag_bounds_check): Correct comments.
7564
7565         * c-opts.c (c_common_init_options): No need to mark
7566         flag_bounds_check as unspecified.
7567         (c_common_post_options): And no need to set it from
7568         flag_bounded_pointers if its still unspecified.
7569
7570         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
7571         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
7572         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
7573         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
7574
7575 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
7576         Angela Marie Thomas  <angela@releasedominatrix.com>
7577         Brendan Kehoe  <brendan@zen.org>
7578         Nick Clifton  <nickc@redhat.com>
7579         Andrew Haley  <aph@redhat.com>
7580
7581         * configure.in (--with-sysroot): New.  Don't inhibit libc if
7582         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
7583         and CROSS_SYSTEM_HEADER_DIR.
7584         * configure: Rebuilt.
7585         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
7586         (TARGET_SYSTEM_ROOT): New.
7587         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
7588         CROSS_SYSTEM_HEADER_DIR.
7589         (install-gcc-tooldir): New target.
7590         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
7591         if SYSTEM_HEADER_DIR does not exist and it's not the default
7592         sys-include directory.
7593         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
7594         (install-mkheaders): Likewise.
7595         * gcc.c (target_system_root): New variable.
7596         (add_sysrooted_prefix): New function.
7597         (process_command): Recompute run-time target_system_root from
7598         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
7599         does not exist.
7600         (do_spec_1): Process 'R' spec.
7601         (main): Add md_exec_prefix to exec_prefixes regardless of
7602         startfile_prefix_spec.  Use add_sysrooted_prefix for
7603         startfile_prefixes, and don't skip the default ones when cross
7604         compiling with sysroot enabled.  Removed unused case of
7605         non-absolute standard_startfile_prefix.
7606         * config/interix.h: Remove the only potential, yet disabled,
7607         occurrence of non-absolute (empty) standard_startfile_prefix.
7608         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
7609         linking.
7610         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
7611         * doc/install.texi (--with-sysroot): Document.
7612         (--with-headers, --with-libs): Deprecate.
7613
7614 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7615             Mark Mitchell  <mark@codesourcery.com>
7616
7617         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
7618         match target.h.
7619         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
7620         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
7621         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
7622         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
7623         x86_output_mi_thunk): Likewise.
7624         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
7625         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
7626         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
7627         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
7628         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
7629         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
7630         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
7631         Likewise.
7632         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
7633
7634         * target.h (gcc_target): Update output_mi_thunk and
7635         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
7636         vcall_index.
7637
7638         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
7639         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7640         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
7641         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
7642         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
7643         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
7644         signature.
7645         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
7646         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7647         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7648         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
7649         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
7650         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7651         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7652         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
7653         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
7654
7655         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
7656         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
7657
7658 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
7659
7660         * real.c (do_add): Fix 0+0 sign corner case.
7661         (do_divide): Fix Inf/0 corner case.
7662
7663 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
7664
7665         * i386.c (classify_argument): Pass MMX arguments in memory
7666         (ix86_expand_builtin): Expand proper address mode for cflush.
7667         * i386.md (movdqa): Fix typo.
7668         (sse2_cflush): Accept DImode addresses.
7669
7670         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
7671         (_mm_max_sd): Fix pasto.
7672         (_mm_storeh_pd, _mm_storel_pd): Fix.
7673
7674         * i386.c (bdesc_comi): Fix to match specification.
7675         (ix86_expand_sse_comi): Emit the comparison properly.
7676         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
7677         Do not use comparison operator.
7678         (vnmaskcmp): Fix template.
7679
7680         * xmmintrin.h (_mm_cvtps_pi16): Fix.
7681
7682 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
7683
7684         * dependence.c : Removed.
7685         * Makefile.in : Remove dependence.o.
7686
7687 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
7688
7689         * mmintrin.h (__m64): typedef it to v2si.
7690         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
7691         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
7692         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
7693         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
7694         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
7695         * xmmintrin.h (_mm_setzero_si64): Likewise.
7696
7697         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
7698         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
7699
7700         PR target/7693
7701         Patch by Shawn Wagner
7702         * mmintrin.h: Replace pi64 by si64.
7703
7704 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
7705
7706         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
7707         Use length of 4 not *.
7708         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
7709         (movdf_softfloat64): Likewise.
7710         (movdi_internal32): Use length of 4 not *.
7711         (movti_power): Same.
7712         (ctrsi, ctrdi): Same.
7713
7714 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
7715
7716         * c-decl.c (start_decl): Point users of the old initialized-
7717         typedef extension at __typeof__.
7718
7719 2002-10-18  Richard Henderson  <rth@redhat.com>
7720
7721         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7722         (real_to_decimal): Re-implement using the logic from the
7723         gcc 3.2 etoasc.  Comment heavily.
7724         (div_significands): Simplify loop startup and comparison logic.
7725
7726 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
7727
7728         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7729         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7730         (TARGET_ASM_OUT): Add them.
7731         * target.h (asm_out): Add output_mi_thunk and
7732         output_mi_vcall_thunk.
7733         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7734         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7735         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7736         * config/arm/arm.c (arm_output_mi_thunk): Define.
7737         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7738         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7739         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7740         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7741         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7742         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7743         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7744         prototype.
7745         (x86_output_mi_vcall_thunk): Declare.
7746         * config/i386/i386.c (override_options): Clear
7747         output_mi_vcall_thunk in 64-bit mode.
7748         (ix86_fntype_regparm): New function.
7749         (ix86_return_pops_args): Use it.
7750         (ia32_this_parameter): New function.
7751         (x86_output_mi_vcall_thunk): New function.
7752         (x86_output_mi_thunk): Use it
7753         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7754         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7755         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7756         * config/i960/i960.c (i960_output_mi_thunk): New function.
7757         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7758         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7759         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7760         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7761         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7762         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7763         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7764         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7765         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7766         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7767         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7768         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7769         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7770         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7771         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7772         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7773         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7774         * config/s390/s390.c (s390_output_mi_thunk): Define.
7775         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7776         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7777         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7778         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7779         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7780         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7781         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7782         * config/vax/vax.c (vax_output_mi_thunk): Define.
7783         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7784         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7785         * doc/tm.texi: Adjust documentation.
7786
7787 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7788
7789         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7790         __enable_execute_stack function.
7791         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7792         as NETBSD_ENABLE_EXECUTE_STACK.
7793         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7794         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7795         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7796         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7797         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7798
7799 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7800
7801         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7802         to __enable_execute_stack with the address of the trampoline
7803         if TRANSFER_FROM_TRAMPOLINE is defined.
7804         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7805         constant if building libgcc2.
7806
7807 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7808
7809         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7810         (ix86_memory_move_cost): Fix for 64bit compilation.
7811
7812 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7813
7814         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7815
7816 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7817
7818         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7819         in CTR/LR/MQ.
7820         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7821         to/from CTR/LR/MQ.
7822         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7823         (movsf_softfloat): Likewise.
7824
7825 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7826
7827         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7828
7829 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7830
7831         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7832         tramp, not addr, to pass the trampoline address to
7833         __enable_execute_stack.
7834
7835 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7836
7837         * mmintrin.h: Guard by __MMX__
7838         * xmmintrin.h: Guard by __SSE__
7839
7840         PR other/8062
7841         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7842         (_mm_load*_?d): New functions.
7843         (_mm_set*_?d): New functions.
7844         (_mm_store*_?d): New functions.
7845
7846 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7847
7848         Really commit patch announced at Oct 14
7849         PR c/7344
7850         * predict.c (can_predict_insn_p): New function.
7851         (estimate_probability): Avoid unnecesary work.
7852         (process_note_prediction): Likewise.
7853         * toplev.c (rest_of_compilation): Account early branch prediction pass
7854         as TV_BRANCH_PROB.
7855
7856         PR other/8048
7857         Found by Ian Ollmann
7858         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7859         (_mm_load?_pd): Likewise.
7860         (_mm_store?_pd): Likewise.
7861
7862         PR target/7386
7863         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7864         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7865         swapped alternative.
7866
7867         PR opt/7630
7868         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7869         (push_reload): Update call.
7870
7871 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7872
7873         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7874         if using mips/elf.h or mips/elf64.h.
7875         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7876         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7877
7878 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7879
7880         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7881         SI.
7882
7883 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7884
7885         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7886         (LPREFIX): Likewise.
7887         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7888         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7889         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7890         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7891         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7892
7893         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7894         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7895         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7896         BSS_SECTION_ASM_OP): Move from linux.h.
7897         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7898         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7899
7900         * config/s390/s390.c (s390_function_profiler): Use
7901         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7902
7903 2002-10-15  Eric Christopher  <echristo@redhat.com>
7904
7905         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7906         * java/parse.y (obtain_incomplete_type): Make pointer
7907         ptr_mode.
7908
7909 2002-10-15  Richard Henderson  <rth@redhat.com>
7910
7911         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7912         as arguments.  Bound DIGITS by the available buffer size.
7913         (real_to_hexadecimal): Likewise.
7914         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7915         (REAL_VALUE_TO_DECIMAL): Remove.
7916         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7917         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7918         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7919         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7920         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7921         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7922         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7923         use real_to_decimal directly, and with the proper arguments.
7924         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7925
7926 2002-10-15  Jim Wilson  <wilson@redhat.com>
7927
7928         * reload1.c (merge_assigned_reloads): After converting overlapping
7929         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7930
7931         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7932
7933 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7934
7935         * expr.c (do_tablejump): Fix typo in my previous commit.
7936
7937 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7938
7939         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7940
7941 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7942
7943         * config/s390/s390.c (s390_split_branches): Add return
7944         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7945
7946         (find_base_register_in_addr): New function.
7947         (find_base_register_ref): New function.
7948         (replace_base_register_ref): New function.
7949
7950         (struct constant_pool): Add members pool_insn, insns, and anchor.
7951         Remove member last_insn.
7952         (s390_start_pool): Initialize them.
7953         (s390_end_pool): Emit pool placeholder insn.
7954         (s390_add_pool_insn): New function.
7955         (s390_find_pool): Use insns bitmap instead of addresses.
7956         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7957         Replace unspec 104 by local-pool-relative references.
7958         (s390_output_constant_pool): Output anchor label if required.
7959         (s390_output_symbolic_const): Handle unspec 104 and 105.
7960         (s390_add_pool): Remove, replace by ...
7961         (s390_add_constant, s390_find_constant): ... these new functions.
7962         (s390_add_anchor): New function.
7963
7964         (s390_chunkify_pool): Delete, replace by ...
7965         (s390_chunkify_start, s390_chunkify_finish,
7966         s390_chunkify_cancel): ... these new functions.
7967         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7968         Recompute register live data for special registers.
7969         (s390_fixup_clobbered_return_reg): New function.
7970         (s390_machine_dependent_reorg): Rewrite to use new
7971         s390_chunkify_... routines.
7972
7973         config/s390/s390.md ("reload_base"): Rename to ...
7974         ("reload_base_31"): ... this.
7975         ("reload_base_64"): New insn.
7976         ("reload_base2"): Remove.
7977         ("reload_anchor"): New insn.
7978         ("pool"): New insn.
7979
7980         s390.c (s390_pool_overflow): Remove.
7981         s390.h (s390_pool_overflow): Likewise.
7982         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7983
7984 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7985
7986         * sh.md (movv8qi_i+2): Don't split if source is -1.
7987
7988 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7989
7990         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7991
7992 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7993
7994         PR opt/7409
7995         * loop.c (loop_regs_scan): Mark registers used for function
7996         argument passing as MAY_NOT_OPTIMIZE.
7997
7998 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7999
8000         * gcov-io.h (gcov_info): Fix type.
8001         * profile.c (create_profiler): Fix type mismatch.
8002
8003 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
8004
8005         * i386.md (movv2di_internal): New pattern.
8006         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
8007         (movv2di): New expander.
8008         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
8009
8010         * i386.c (ix86_expand_timode_binop_builtin): Delete.
8011         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
8012         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
8013         (ix86_expand_builtin): Likewise.
8014         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
8015         sse_andti3,
8016         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
8017         sse_andnti3,
8018         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
8019         sse_orti3,
8020         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
8021         sse_xorti3): Kill.
8022         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
8023          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
8024         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
8025          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
8026         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
8027          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
8028
8029         * xmmintrin.h (__m128i): Define as __v2di.
8030
8031         PR c++/6419
8032         (expand_expr): Use DECL_RTL_SET_P.
8033
8034 2002-10-14  Roger Sayle  <roger@eyesopen.com>
8035
8036         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
8037
8038 2002-10-14  Roger Sayle  <roger@eyesopen.com>
8039             Zack Weinberg <zack@codesourcery.com>
8040
8041         * config/i386/i386.c (k6_cost): Correct typo.
8042
8043 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
8044
8045         PR optimization/6631
8046         * alias.c (objects_must_conflict_p): Check honor_readonly when
8047         examining TYPE_READONLY.
8048         * function.c (assign_stack_temp_for_type): Likewise.
8049
8050 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
8051
8052         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
8053         Swap zero extension arguments.
8054         (umaxhi3): Fix instruction class.
8055         PR target/7211
8056         (prefetch): Fix prefetch instructions.
8057         PR target/7238
8058         (pkwb): Fix output constraint.
8059
8060 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
8061
8062         * config/mips/mips.c (print_operand): Increase buffer size for
8063         real numbers.
8064
8065 2002-10-14  Richard Henderson  <rth@redhat.com>
8066
8067         PR opt/8165
8068         * gcse.c (adjust_libcall_notes): Revert last change.
8069         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
8070
8071 2002-10-14  Andrew Haley  <aph@redhat.com>
8072
8073         * tree-inline.c (remap_block): All local class initialization
8074         flags go in the outermost scope.
8075         (expand_call_inline): Call java_inlining_map_static_initializers.
8076         (expand_call_inline): Call java_inlining_merge_static_initializers.
8077         * java/lang.c (merge_init_test_initialization): New.
8078         (java_inlining_merge_static_initializers): New.
8079         (inline_init_test_initialization): New.
8080         (java_inlining_map_static_initializers): New.
8081
8082         * tree-inline.c (expand_call_inline): Convert retvar to expected
8083         type.
8084
8085 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
8086
8087         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
8088
8089 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
8090
8091         * stmt.c: Fix typo in comment.
8092
8093 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
8094
8095         * c-common.c (c_common_type_for_mode): Add V2HImode case.
8096         * tree.c (build_common_tree_nodes_2): Initialize
8097         unsigned_V2HI_type_node and V2HI_type_node.
8098         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
8099         (unsigned_V2HI_type_node, V2HI_type_node): Define.
8100
8101 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
8102
8103         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
8104         Handle TARGET_64BIT.
8105
8106 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8107
8108         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
8109         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
8110         (MULTILIB_DIRNAMES): Remove long32.
8111         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
8112         (MULTILIB_REDUNDANT_DIRS): Remove.
8113
8114 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8115
8116         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
8117         * gcc.c (driver_self_specs): New variable.
8118         (do_self_spec): New function.
8119         (main): Use it to process driver_self_specs.
8120
8121 2002-10-13  Richard Henderson  <rth@redhat.com>
8122
8123         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
8124         indirect sibcalls when regparm >= 3.
8125
8126         * config/i386/i386.c (sibcall_insn_operand): New.
8127         * config/i386/i386.h (PREDICATE_CODES): Update.
8128         * config/i386/i386-protos.h: Update.
8129         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
8130
8131         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
8132
8133 2002-10-12  Roger Sayle  <roger@eyesopen.com>
8134
8135         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
8136         arithmetic right shifts of ~0 during RTL simplifications.
8137
8138 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
8139
8140         PR preprocessor/7862
8141         PR preprocessor/8190
8142         * gcc.c (cpp_unique_options): Don't delete .d files.
8143         Remove stray whitespace.
8144
8145 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
8146
8147         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
8148         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
8149         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
8150         (pdp11_output_function_epilogue, output_ascii): Likewise.
8151         (output_addr_const_pdp11): Likewise.
8152         * pdp11.md (movdi): Use offsetable memory for floating store.
8153         (lshrsi3, negsi2): Delete irrelevant comment.
8154
8155 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
8156
8157         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
8158         indirect calls to be sibcall optimized.
8159         * config/i386/i386.md (sibcall_1): New.
8160         (call_1): Add no-sibcalls condition.
8161         (sibcall_value_1): New.
8162         (call_value_1): Add no-sibcalls condition.
8163
8164 2002-10-11  Eric Christopher  <echristo@redhat.com>
8165
8166        * output.h (default_valid_pointer_mode): Declare.
8167        * varasm.c (default_valid_pointer_mode): Define.
8168        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
8169        * target.h: Ditto.
8170        * tree.c (build_pointer_type_for_mode): New function.
8171        (build_pointer_type): Use.
8172        (build_reference_type_for_mode): New function.
8173        (build_reference_type): Use.
8174        * tree.h: Declare new functions.
8175        * c-common.c (handle_mode_attribute): Use new functions, check
8176        for type.
8177        * stor-layout.c (layout_type): Depend on machine mode for
8178        REFERENCE_TYPE and POINTER_TYPE.
8179        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
8180        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
8181        and REFERENCE_TYPE.
8182        * config/mips/mips.c (mips_valid_pointer_mode): New function.
8183        (TARGET_VALID_POINTER_MODE): Use and define.
8184        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
8185
8186 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
8187
8188         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
8189         not the address of the REG.
8190         (struct cse_reg_info): Make subreg_ticked unsigned.
8191
8192 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
8193
8194         * doc/compat.texi: Add info about C++ libraries.
8195
8196 2002-10-11  Richard Henderson  <rth@redhat.com>
8197
8198         PR opt/8165
8199         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
8200
8201 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8202
8203         * cfganal.c (dfs_enumerate_from): Use PARAMS.
8204         * genautomata.c (output_insn_code_cases): Likewise.
8205         * real.c (real_format): Likewise.
8206         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
8207         ensure value is promoted before doing subtraction.
8208
8209 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
8210
8211         * calls.c (expand_call): Simplify noreturn call.
8212
8213         PR c/7344
8214         * cfgbuild.c (make_edges): Create edge cache when we do have
8215         large jumptable.
8216         * expr.c (do_tablejump): Note size of maximal jumptable.
8217         * function.c (prepare_function_start): Zero out size.
8218         * function.h (function): Add max_jumptable_ents.
8219
8220         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8221
8222 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8223
8224         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
8225         register for mperm_w operation.
8226
8227 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8228
8229         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
8230         an integer, use simplify_gen_subreg.
8231
8232 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
8233
8234         * calls.c (flags_from_decl_or_type): Make extern.
8235         (ECF_*): Move ...
8236         * rtl.h (ECF_*): ... here.
8237         (flags_from_decl_or_type): Declare.
8238
8239 2002-10-10  Roger Sayle  <roger@eyesopen.com>
8240             Nathan Sidwell <nathan@codesourcery.com>
8241
8242         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
8243         shifts of the form -1 >> x.
8244
8245 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
8246
8247         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8248
8249 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
8250
8251         * extend.texi (Vector Extensions): Remove comment about single
8252         element vectors.
8253
8254 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8255
8256         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
8257         * function.c (insns_for_mem_hash): Likewise.
8258         * varasm.c (STRHASH): Likewise.
8259
8260 2002-10-10  Stuart Hastings  <stuart@apple.com>
8261
8262         * cse.c (struct cse_reg_info): Add subreg_ticked.
8263         (SUBREG_TICKED): New.
8264         (get_cse_reg_info): Initialize SUBREG_TICKED.
8265         (mention_regs): Use it.
8266         (invalidate): Set SUBREG_TICKED.
8267         (invalidate_for_call): Likewise.
8268         (addr_affects_sp_p): Likewise.
8269
8270 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
8271
8272         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
8273         into proper operand.
8274
8275 2002-10-10  Denis Chertykov  <denisc@overta.ru>
8276
8277         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
8278         deallocation.
8279         * config/ip2k/libgcc.S: Combine routines used by function
8280         epilogue.
8281
8282 2002-10-10  Jim Wilson  <wilson@redhat.com>
8283
8284         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
8285         UDIV.
8286
8287 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
8288
8289         * config/rs6000/aix52.h: New file.
8290         * config/rs6000/t-aix52: New File.
8291         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
8292         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
8293
8294 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
8295
8296         PR target/5610
8297         * invoke.texi (-msse-math): Kill
8298         (-msse): Add note to mfpmath=sse.
8299
8300 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
8301
8302         PR target/7723
8303         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
8304
8305 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
8306
8307         PR preprocessor/8179
8308         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
8309         as cc1_options.
8310         (default_compilers): Pass debug options when preprocessing
8311         stdin.
8312
8313 2002-10-06  Richard Henderson  <rth@redhat.com>
8314
8315         * toplev.c (rest_of_compilation): Revert opt/2960 change.
8316
8317 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
8318
8319         * i386.c (*_cost): Add branch costs.
8320         (override_options): set ix86_branch_cost.
8321         (ix86_expand_int_movcc): Use BRANCH_COST.
8322         * i386.h (costs): Add branch_cost.
8323
8324 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
8325
8326         PR c/7353
8327         * c-decl.c (start_decl): Unconditionally issue error for
8328         'typedef foo = bar'.
8329         (finish_decl): Remove special case for TYPE_DECL with initializer.
8330
8331         * doc/extend.texi: Delete "Naming Types" section.  Change all
8332         cross-references to that section to refer to "Typeof" instead.
8333         Add the useful safe-max()-macro example from "Naming Types" to
8334         "Typeof", rewritten using that extension.  Add some compatibility
8335         notes to "Typeof."
8336
8337 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8338
8339         * loop.c: Revert 2002-08-15 change.
8340         (LOOP_REGNO_NREGS): Ensure type is int.
8341
8342 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
8343
8344         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
8345         which copies first FPR and clears second.
8346         (extendsftf2): Same.
8347         (floatditf2): Fix typo.
8348         (floatsitf2): Same.
8349         (fix_trunctfdi2): Same.
8350         (fix_trunctfsi2): Same.
8351
8352 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8353
8354         * conflict.c (arc_hash): Change return type to hashval_t.
8355         * cselib.c (get_value_hash): Likewise.
8356         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
8357         state_hash, automata_list_hash): Likewise.
8358         * read-rtl.c (def_hash): Likewise.
8359         * tree.c (type_hash_hash): Likewise.
8360
8361 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
8362
8363         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
8364         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
8365
8366 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
8367
8368         * sh.md (ffssi2): Fix emitted code.
8369
8370 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
8371
8372         * cse.c (insn_live_p): Pass insn pattern, not full insn
8373         to may_trap_p.
8374
8375 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
8376
8377         * cppmacro.c (paste_tokens): Only allow / to paste with =.
8378
8379 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
8380
8381         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
8382         64-bit hosts.
8383         (movtf_internal): Reference correct displacement for second value
8384         in memory.
8385         (movtf splitter): Correct generation of constants in 64-bit mode.
8386
8387 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
8388
8389         * libgcc2.c (__floatdisf): Properly cure double rounding.
8390
8391 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8392
8393         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
8394         * doc/cpp.texi (Common Predefined Macros): Document.
8395
8396 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8397
8398         PR doc/7484
8399         * doc/invoke.texi (Option Summary): List
8400         -Wmissing-declarations as a C only option.
8401
8402 2002-10-08  Roger Sayle  <roger@eyesopen.com>
8403
8404         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
8405         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
8406         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
8407
8408 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
8409
8410         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
8411         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
8412         variables.
8413         (safe_vector_operand): Update sse_clrv4sf call.
8414         (ix86_expand_buildin): Likewise
8415         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
8416         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
8417         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
8418         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
8419         macros.
8420         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
8421         movv4si):  Obey the new flags.
8422         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
8423         reformating penalty.
8424         (anddf, cmov patterns): Avoid reformating by first converting.
8425         (sse_cvtsd2ss): Fix predicate.
8426         (sse2_clrti): Fix mode,
8427         (sse_clrv4sf): Avoid unspec.
8428
8429 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
8430
8431         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
8432         mno-app-regs|mcmodel=medany.
8433         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
8434         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
8435         (CRTSTUFF_T_CFLAGS): Define.
8436
8437 2002-10-08  Roger Sayle  <roger@eyesopen.com>
8438
8439         PR target/8087
8440         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
8441         pool references that are constructed using LO_SUM.
8442
8443 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
8444
8445         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
8446         -Wall.
8447         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
8448         message.
8449         * flags.h (warn_strict_aliasing): Declare.
8450         * toplev.c (warn_strict_aliasing): Define.
8451         (lang_independent_options): Add it.
8452         * doc/invoke.texi (-Wstrict-aliasing): Document it.
8453
8454 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
8455
8456         * system.h (GCCBUGURL): Delete.
8457         * version.c (bug_report_url): New.  Add commentary about
8458         modifying both these strings in modified distributions.
8459         * version.h: Declare bug_report_url.
8460
8461         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
8462         bug_report_url.
8463
8464 2002-10-08  Nick Clifton  <nickc@redhat.com>
8465
8466         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
8467         convert uint64_t into __ev64_opaque__.
8468         (__ev_set_acc_s64): Likewise, but using signed types.
8469
8470 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
8471
8472         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
8473         ("*doloop_di_long"): Likewise.
8474
8475 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
8476
8477         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
8478
8479 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
8480
8481         * config/mips/mips.md (define_attr cpu): Add r4111.
8482
8483 2002-10-08  Anthony Green  <green@redhat.com>
8484
8485         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
8486
8487 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8488
8489         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
8490         for REAL_VALUE_TO_DECIMAL output.
8491
8492 2002-10-07  Richard Henderson  <rth@redhat.com>
8493
8494         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
8495         function; cleanup PLUS case by using recursion.  Update all users.
8496         (NONZERO_BASE_PLUS_P): Remove.
8497         (find_comparison_args): Use rtx_addr_can_trap_p instead.
8498         (fold_rtx): Use nonzero_address_p.
8499         * rtl.h (nonzero_address_p): Declare.
8500         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
8501         (rtx_addr_can_trap_p): Likewise.
8502         (nonzero_address_p): New.
8503         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
8504         (simplify_relational_operation): Use nonzero_address_p.
8505
8506 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
8507
8508         * config/rs6000/rs6000.c (rs6000_override_options): Set
8509         real_format_for_mode for IBM extended format, if enabled.
8510         (easy_fp_constant): Add TFmode.
8511         (rs6000_legitimize_address): Add TFmode.
8512         (rs6000_legitimate_address): Same.
8513         (function_arg_advance): TFmode uses two FPRs.
8514         (rs6000_emit_prologue): Fix warning.
8515         (rs6000_output_function_epilogue): Add TFmode.
8516         (output_toc): Add TFmode.
8517         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
8518         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
8519         * rs6000.md (movtf splitter): Load TFmode constant.
8520
8521 2002-10-07  Dale Johannesen  <dalej@apple.com>
8522
8523         * rtl.h:  Add NOTE_PRECONDITIONED.
8524         * unroll.c:  Set it.
8525         * loop.c:  Set loop_info->preconditioned from it.
8526         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
8527
8528 2002-10-07  Richard Henderson  <rth@redhat.com>
8529
8530         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
8531         new rtx for comparing the argument pointer against zero.
8532         (i960_va_start): Similarly.
8533
8534 2002-10-07  Richard Henderson  <rth@redhat.com>
8535
8536         * config/i960/i960.md (*): Use TFmode, not XFmode.
8537         * config/i960/i960.c (*): Likewise.
8538         (i960_arg_size_and_align): Remove XFmode alignment hack.
8539         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
8540         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
8541         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
8542         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
8543
8544 2002-10-07  Richard Henderson  <rth@redhat.com>
8545
8546         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
8547         entry points; use void return value and argument list.
8548
8549 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
8550
8551         * calls.c (expand_call): Fix function-is-volatile check.
8552
8553 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
8554
8555         * t-pdp11: Add MULTILIB support for msoft-float.
8556         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
8557
8558         * t-pdp11: Add LIB2FUNCS_EXTRA.
8559         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
8560         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
8561         'fldd' to 'ldd', rename 'fstd' to 'std'.
8562         (pdp11_output_function_epilogue): Likewise.
8563         (output_move_quad): Make the comment gas compatible.
8564         (output_ascii): Add preceding 0 to the octal constant.
8565         (print_operand_address): Add pre_modify, post_modify.
8566         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
8567         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
8568         with the indication of Paul Koning.
8569         (PRINT_OPERAND): Fix floating constant.
8570         * pdp11.md (movdi): Restrict matching pattern.
8571         (movqi): Generalize the matching pattern.
8572         (movdf): Restrict matching pattern.
8573         (zero_extendqihi2): Change constant representation.
8574         (floatsidf2): Fix wrong operands.
8575         (addqi3): Fix wrong instruction name.
8576         (subqi3): Fix wrong instruction name.
8577         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
8578         (xorsi3): Fix wrong insn.
8579         (one_cmplqi2): Add two operand pattern.
8580         (lsrsi3): New.
8581         (negsi2): New.
8582         (call): Add register indirect case.
8583         (mod): Fix wrong subreg.
8584
8585 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
8586             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8587
8588         PR c/7411
8589         * expr.c (expand_expr) [PLUS]: Simplify after the operands
8590         have been expanded in EXPAND_NORMAL mode.
8591
8592 2002-10-06  Richard Henderson  <rth@redhat.com>
8593
8594         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
8595
8596 2002-10-06  Richard Henderson  <rth@redhat.com>
8597
8598         PR optimization/2960
8599         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
8600         optimize_size.
8601
8602 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
8603
8604         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
8605         previously definitions.
8606
8607 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
8608
8609         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
8610         * c-opts.c (find_opt): Similarly.
8611
8612 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
8613
8614         * athlon.md: rewrite to DFA.
8615         * i386 (ix86_adjust_cost): Drop memory latency code.
8616         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
8617
8618 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
8619
8620         * gcc.c (set_multilib_dir): Don't access *end.
8621         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
8622         (print_multilib_info): Don't show paths starting with ".:".
8623         * genmultilib: Add new option, "yes" if multilibs are enabled.
8624         Update comments.  If multilibs not enabled, print .:${osdirout}
8625         for each directory.  If multilibs are enabled, always print
8626         ${dirout}:${osdirout}, even if the two are the same.
8627         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
8628         Pass all MULTILIB_* variables to genmultilib even if
8629         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
8630
8631 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
8632
8633         * gcc.c (process_command): Set .validated for -pipe.  Correct
8634         grammar in comment.
8635
8636 2002-10-04  Bruce Korb  <bkorb@gnu.org>
8637
8638         * fixinc/inclhack.def(hpux11_abs):  use format fix
8639         * fixinc/fixincl.x: regenerate
8640         * fixinc/tests/base/stdlib.h: accommodate new fix test
8641
8642 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8643
8644         * c-common.c (cb_register_builtins):  Use really_no_inline.
8645
8646 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
8647
8648         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
8649         copied instruction if the note is not loop invariant.
8650
8651 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
8652
8653         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
8654
8655 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8656
8657         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
8658         and -mhp-ld options to list of options.  Add -mgnu-ld
8659         and -mhp-ld option descriptions.
8660
8661 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8662
8663         * fixinc/inclhack.def (hpux11_abs):  New.
8664         (stdio_va_list): change __va_list__ to __gnuc_va_list.
8665         * fixinc/fixincl.x: Rebuild.
8666
8667 2002-10-04  Roger Sayle  <roger@eyesopen.com>
8668
8669         * config/i386/i386.h (processor_costs): Add new fields fadd,
8670         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
8671         (RTX_COSTS): Use these fields to determine the RTX costs
8672         of floating point addition/subtraction, multiplication,
8673         division, fabs, negation and square root respectively.
8674         * config/i386/i386.c (size_cost): Provide instruction sizes
8675         for these new fields.
8676         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
8677         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
8678         counts for these new fields for all x86 processor variants.
8679
8680 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8681
8682         * mips.c (mips_const_double_ok): Delete unused variable.
8683
8684         * gengtype.c (rtx_next): Change type to int.
8685
8686 2002-10-04  Andreas Jaeger  <aj@suse.de>
8687
8688         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
8689
8690 2002-10-04  Richard Henderson  <rth@redhat.com>
8691
8692         * real.h (SIGNIFICAND_BITS): Add one more word.
8693         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
8694         * real.c (times_pten): New.
8695         (real_to_decimal, real_from_string): Use it.
8696         (sticky_rshift_significand): Use & to find modulus.
8697         (rshift_significand, lshift_significand): Likewise.
8698         (do_divide): Apply sticky bit after normalization.
8699         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
8700
8701 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
8702
8703         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
8704         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8705
8706 2002-10-03  Andreas Jaeger  <aj@suse.de>
8707
8708         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
8709         to unsigned long, adjust printf format string.
8710         (output_mangled_typename): Likewise.
8711
8712 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
8713
8714         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
8715         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
8716         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
8717         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
8718         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
8719         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8720         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8721         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8722
8723 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
8724
8725         * doc/invoke.texi (-Wabi): Document mangling bug.
8726
8727 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
8728
8729         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8730         name for the tbtab label that depends on the function asm name.
8731         Don't output tbtab label unless optional_tbtab.
8732         (output_mi_thunk): Formatting.
8733
8734 2002-10-03  Richard Henderson  <rth@redhat.com>
8735
8736         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8737         * config/m68k/m68k.c (override_options): ... here.
8738         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8739         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8740         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8741         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8742
8743 2002-10-03  Richard Henderson  <rth@redhat.com>
8744
8745         * real.h (struct real_value): Use ENUM_BITFIELD.
8746
8747 2002-10-03  Richard Henderson  <rth@redhat.com>
8748
8749         * config/i960/i960.md (call, call_value): Use emit_call_insn.
8750
8751 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8752
8753         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8754
8755 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8756
8757         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8758         * config/pa/pa.h (MASK_GNU_LD): New.
8759         (TARGET_GNU_LD): New.
8760         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8761         on gnu-ld and MASK_GNU_LD.
8762         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8763
8764 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8765
8766         * i386.c (athlon_cost): Fix the move costs.
8767
8768 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8769
8770         * final.c (final): Use symbol name as function name for profiling.
8771         * profile.c (get_exec_counts): Likewise.
8772         (branch_prob): Likewise.
8773
8774 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8775
8776         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8777
8778 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8779
8780         * gcc.c (print_multi_os_directory): New variable.
8781         (option_map): Support --print-multi-os-directory.
8782         (struct prefix_list): Add os_multilib field.
8783         (multilib_os_dir): New variable.
8784         (static_specs): Add multilib_options.
8785         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8786         subdirs if nonzero.
8787         (read_specs, execute): Update callers.
8788         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8789         pass 1 as multilib option.
8790         (display_help): Include --print-multi-os-directory.
8791         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8792         (process_command): Update callers.  Handle --print-multi-os-directory.
8793         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8794         set.
8795         (main): Update find_a_file and add_prefix callers.
8796         Handle print_multi_os_directory.
8797         (struct mdswitchstr): New.
8798         (mdswitches, n_mdswitches): New variables.
8799         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8800         present on the command line nor their mutually incompatible
8801         switches.
8802         (default_arg): Optimize.
8803         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8804         array.
8805         (print_multilib_info): Only print GCC multilib dir name, not OS
8806         multilib dirname.
8807         * genmultilib: Add osdirnames parameter.  Output multilib_options
8808         variable.  If osdirnames is specified, output dirnames as
8809         dirname:osdirname.
8810         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8811         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8812         to compute libgcc_s soname and install path.
8813         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8814         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8815         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8816         argument.
8817
8818         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8819         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8820         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8821         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8822         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8823         and -m64.
8824         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8825         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8826         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8827         (STARTFILE_ARCH_SPEC): Remove.
8828         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8829         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8830         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8831         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8832         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8833
8834 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8835
8836         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8837
8838 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8839
8840         * i386.md (lea to mul peep2): Fix condition.
8841
8842 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8843
8844         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8845         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8846
8847 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8848
8849         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8850         attribute "unused".
8851
8852         * config/t-libunwind: Mention unwind-sjlj.c.
8853         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8854         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8855
8856         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8857         before inclusion of config.gcc, but after configuring the compiler etc.
8858         Determine default value for --enable-libunwind-exceptions based on
8859         whether the host has a libunwind library (not guaranteed to be correct,
8860         but it's a reasonable first guess and can always be overridden with an
8861         explicit --enable/disable-libunwind-exceptions.
8862         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8863         tmake_file when $use_libunwind_exceptions is enabled.
8864         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8865         ia64 (e.g., config/t-linux also updates it).
8866         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8867         along with the shared version of libgcc since the latter requires
8868         the former.
8869         * unwind-libunwind.c: New file.
8870         * config/t-libunwind: Ditto.
8871
8872 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8873
8874         * config.gcc: Remove support for vax-*-vms*.
8875         * config/vax/vms.h: Remove.
8876         * config/vax/xm-vms.h: Remove.
8877         * config/vax/vax-protos.h: Remove VMS-specific code.
8878         * config/vax/vax.c: Remove VMS-specific code.
8879
8880 2002-10-02  Richard Henderson  <rth@redhat.com>
8881
8882         PR opt/7124
8883         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8884         for secondary_memory_needed pairs.
8885
8886 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8887
8888         * doc/vms.texi: Blow away false include file section.
8889
8890 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8891
8892         PR optimization/6627
8893         * toplev.c (force_align_functions_log): New global variable.
8894         * flags.h (force_align_functions_log): Add extern prototype.
8895         * varasm.c (assemble_start_function): Use it to force minimum
8896         function alignment.
8897         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8898         minimum function alignment to one byte.
8899         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8900         the least significant bit of vtable member function pointers.
8901         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8902         here from cp/cp-tree.h.
8903
8904 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8905
8906         * i386.c (print_operand_address): Use RIP addressing for offsetted
8907         label refs too.
8908
8909 2002-09-30  David S. Miller  <davem@redhat.com>
8910
8911         PR middle-end/7151
8912         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8913         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8914
8915 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8916
8917         * calls.c (expand_call): Remove the `no indirect check'
8918         for sibcall optimization; use function_ok_for_sibcall
8919         target hook; refine check for `function is volatile'.
8920         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8921         * hooks.c (hook_tree_tree_bool_false): New.
8922         * hooks.h (hook_tree_tree_bool_false): Declare.
8923         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8924         (TARGET_INITIALIZER): Add it.
8925         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8926         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8927         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8928         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8929         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8930         Remove function declaration.
8931         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8932         function static and accept another argument of type `tree'.
8933         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8934         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8935         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8936         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8937         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8938         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8939         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8940         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8941         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8942         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8943         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8944         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8945         Remove function declaration.
8946         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8947         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8948         rename first argument to `decl'; accept another argument
8949         of type `tree'; make static.
8950         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8951         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8952         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8953         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8954         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8955         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8956         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8957         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8958         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8959
8960 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8961
8962         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8963
8964 2002-10-01  Richard Henderson  <rth@redhat.com>
8965
8966         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8967         (real_to_hexadecimal): Likewise.
8968         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8969         dump the XWINT fields of a floating point CONST_DOUBLE.
8970
8971 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8972
8973         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8974
8975 2002-10-01  Richard Henderson  <rth@redhat.com>
8976
8977         * calls.c (precompute_register_parameters): Force non-legitimate
8978         constants into pseudos.
8979
8980 2002-10-01  Nick Clifton  <nickc@redhat.com>
8981
8982         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8983         to assembler template.
8984
8985 2002-10-01  Richard Henderson  <rth@redhat.com>
8986
8987         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8988         for TLS debug info to !DECL_EXTERNAL.
8989
8990 2002-10-01  Matt Thomas  <matt@3am-software.com>
8991             Jason Thorpe  <thorpej@wasabisystems.com>
8992
8993         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8994         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8995         if not already defined.
8996         * config/vax/elf.h: New file.
8997         * config/vax/netbsd-elf.h: New file.
8998         * config/vax/vax.c: Include "debug.h".
8999         (vax_output_function_prologue): Add dwarf2 support.  Use
9000         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
9001         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
9002         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
9003         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
9004         (VAX_ISTREAM_SYNC): Remove.
9005         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
9006         (JUMP_TABLES_IN_TEXT_SECTION): Define.
9007         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
9008         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
9009         and assemble_name.
9010         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9011         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
9012         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
9013         (INCOMING_RETURN_ADDR_RTX): Define.
9014         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
9015         (VUNSPEC_SYNC_ISTREAM): Define.
9016         (blockage): Use VUNSPEC_BLOCKAGE.
9017         (sync_istream): New insn.
9018
9019 2002-10-01  Richard Henderson  <rth@redhat.com>
9020
9021         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
9022         (*call_value_pop, call, call_value): Add dwarf2 EH support.
9023         (*call): New insn.
9024
9025 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
9026
9027         PR c/8083
9028         * c-typeck.c (build_c_cast): Warn about type punning which breaks
9029         type based aliasing.
9030
9031 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
9032
9033         * stor-layout.c (update_alignment_for_field): New function.
9034         (place_union_field): Use it.
9035         (place_field): Likewise.
9036
9037 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
9038
9039         PR other/8077
9040         * gcc.c (cc1_options): Add space on -auxbase-strip.
9041
9042 2002-10-01  Jim Wilson  <wilson@redhat.com>
9043
9044         * config/v850/v850.h (EPILOGUE_USES): Define.
9045
9046 2002-09-30  Andrew Haley  <aph@redhat.com>
9047
9048         * flow.c (insn_dead_p): When using non-call-exceptions, don't
9049         eliminate insns that may trap.
9050         * cse.c (insn_live_p): Likewise.
9051
9052 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9053
9054         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
9055         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
9056         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
9057         * config/mips/mips.md: Apply same renaming here.
9058
9059 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9060
9061         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
9062         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
9063         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
9064         * config/mips/mips.md (define_attr cpu): Remove r4320.
9065         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
9066
9067 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9068
9069         * config/mips/mips.c (mips16_strings): New variable.
9070         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
9071         symbol in mips16_strings.  Free the list.
9072         (mips_encode_section_info): Keep track of local strings.
9073
9074 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9075
9076         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
9077         (sordered_df, sordered_sf): Remove.
9078         * config/mips/mips.c (get_float_compare_codes): New fn.
9079         (gen_int_relational, gen_conditional_move): Use it.
9080
9081 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9082
9083         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
9084         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
9085         * config/mips/mips.c (fcc_register_operand): New function.
9086         (mips_emit_fcc_reload): New function, extracted from reload_incc.
9087         (override_options): Allow TFmode values in float registers
9088         if ISA_HAS_8CC.
9089         * cnfig/mips/mips.md (reload_incc): Change destination prediate
9090         to fcc_register_operand.  Remove misleading source constraint.
9091         Use mips_emit_fcc_reload.
9092         (reload_outcc): Duplicate reload_incc.
9093
9094 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
9095
9096         * gcc.c (validate_switches): Handle all new forms of spec
9097         syntax introduced recently.  Now returns a char *.
9098         (validate_all_switches): Repetitive logic broken out to...
9099         (validate_switches_from_spec): ...here.
9100         * mklibgcc.in: Don't @-flag commands to generate .oS files.
9101
9102 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9103
9104         * longlong.h: Partially synchronize with GMP-4.1 version:
9105         Use i370 definitions also for s390.
9106         Add generic definition of umul_ppmm in terms of smul_ppmm.
9107         [s390] (umul_ppmm): Remove.
9108         [s390] (smul_ppmm): Fix incorrect assembler constraints.
9109         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
9110
9111 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
9112
9113         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
9114         Add new RL_REGS register class.
9115         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
9116         Call xtensa_preferred_reload_class for both input and output reloads.
9117         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
9118         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
9119         instead of either AR_REGS or GR_REGS classes.
9120         (xtensa_secondary_reload_class): Use new RL_REGS class.
9121         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
9122
9123 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9124
9125         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
9126         (pa_strip_name_encoding): Strip '@' and '*', in that order.
9127         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
9128         there is a '*' prefix in NAME.
9129
9130 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
9131
9132         * reload.c (push_reload): Handle subregs and secondary memory.
9133         * reload1.c (gen_reload): Likewise.
9134
9135         * jump.c (reg_or_subregno): New function.
9136         * rtl.h (reg_or_subregno): Declare
9137         * unroll.c (find_splittable_givs): Handle subregs.
9138
9139 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
9140
9141         * store-layout.c (finish_record_layout): Add free_p parameter.
9142         (layout_type): Pass it.
9143         * tree.h (finish_record_layout): Update prototype.
9144
9145 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
9146
9147         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
9148
9149         * gcse.c (cprop_jump): Check that the register has not
9150         been modified
9151         (cprop_jump): Likewise.
9152
9153 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
9154
9155         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
9156         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
9157         that we have a SImode access, and only then if reload hasn't completed;
9158         for all other cases, use LO_REGS.
9159
9160 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9161
9162         * openbsd.h: Fix typo in last change.
9163
9164 2002-09-29  Richard Henderson  <rth@redhat.com>
9165
9166         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
9167
9168 2002-09-29  Richard Henderson  <rth@redhat.com>
9169
9170         PR c/8002
9171         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
9172         for CONST_INT.
9173
9174 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
9175
9176         * real.h (ibm_extended_format): Declare.
9177         * real.c (encode_ibm_extended, decode_ibm_extended): New
9178         functions.
9179
9180 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9181
9182         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
9183
9184         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
9185
9186 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9187
9188         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
9189
9190 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
9191
9192         * builtins.def: Fix comment formatting.
9193         * c-common.def: Likewise.
9194         * cfgcleanup.c: Likewise.
9195         * combine.c: Likewise.
9196         * gengtype.c: Likewise.
9197         * params.def: Likewise.
9198         * predict.def: Likewise.
9199         * rtl.def: Likewise.
9200         * stab.def: Likewise.
9201         * stor-layout.c: Likewise.
9202         * tree.def: Likewise.
9203         * config/darwin.c: Likewise.
9204         * config/darwin.h: Likewise.
9205         * config/dbxcoff.h: Likewise.
9206         * config/elfos.h: Likewise.
9207         * config/fp-bit.c: Likewise.
9208         * config/freebsd-spec.h: Likewise.
9209         * config/interix.h: Likewise.
9210         * config/libgloss.h: Likewise.
9211         * config/linux-aout.h: Likewise.
9212         * config/linux.h: Likewise.
9213         * config/lynx-ng.h: Likewise.
9214         * config/lynx.h: Likewise.
9215         * config/netbsd-aout.h: Likewise.
9216         * config/netbsd.h: Likewise.
9217         * config/netware.h: Likewise.
9218         * config/psos.h: Likewise.
9219         * config/ptx4.h: Likewise.
9220
9221 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
9222
9223         * ChangeLog.4: Fix typos.
9224         * ChangeLog.6: Likewise.
9225         * FSFChangeLog.10: Likewise.
9226         * genattrtab.c: Fix comment typos.
9227         * haifa-sched.c: Likewise.
9228         * real.c: Likewise.
9229         * tree.h: Likewise.
9230         * config/arm/arm.c: Likewise.
9231         * config/arm/crti.asm: Likewise.
9232         * config/arm/crtn.asm: Likewise.
9233         * config/frv/frv.c: Likewise.
9234         * config/frv/frv.md: Likewise.
9235         * config/h8300/h8300.md: Likewise.
9236         * config/i386/rtemself.h: Likewise.
9237         * config/ia64/unwind-ia64.c: Likewise.
9238         * config/ip2k/ip2k.h: Likewise.
9239         * config/m88k/m88k.c: Likewise.
9240         * config/m88k/m88k.md: Likewise.
9241         * config/mips/sr71k.md: Likewise.
9242         * config/mmix/mmix.c: Likewise.
9243         * config/rs6000/rs6000.c: Likewise.
9244         * config/sh/sh.md: Likewise.
9245
9246 2002-09-26  Theodore A. Roth  <troth@verinet.com>
9247
9248         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
9249         * config/avr/avr.md: Ditto.
9250
9251 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
9252
9253         PR preprocessor/8055
9254         * cppmacro.c (stringify_arg): Do not overflow the buffer
9255         with the terminating NUL when the argument to be stringified
9256         has no tokens.
9257
9258 2002-09-27  Richard Henderson  <rth@redhat.com>
9259
9260         * unroll.c (simplify_cmp_and_jump_insns): New.
9261         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
9262         instead of expand_simple_foo.
9263
9264 2002-09-27  Richard Henderson  <rth@redhat.com>
9265
9266         PR optimization/7520
9267         * cfganal.c (flow_active_insn_p): New.
9268         (forwarder_block_p): Use it.
9269
9270 2002-09-27  Richard Henderson  <rth@redhat.com>
9271
9272         * emit-rtl.c (active_insn_p): Revert last change.
9273
9274 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
9275
9276         * doc/extend.texi (tls_model): Document.
9277         * varasm.c (decl_tls_model): New.
9278         * c-common.c (handle_tls_model_attribute): New.
9279         (c_common_attribute_table): Add tls_model.
9280         * config/alpha/alpha.c (alpha_encode_section_info): Use
9281         decl_tls_model.
9282         * flags.h (enum tls_model, flag_tls_default): Move...
9283         * tree.h (enum tls_model, flag_tls_default): ...here.
9284         (decl_tls_model): New prototype.
9285         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
9286         * config/i386/i386.c (ix86_encode_section_info): Likewise.
9287         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
9288         Allow !flag_pic.
9289
9290 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
9291
9292         * LANGUAGES: Follow spelling conventions.
9293         * rtl.def: Likewise.
9294         * sbitmap.c: Likewise.
9295         * sched-int.h: Likewise.
9296         * sched-rgn.c: Likewise.
9297         * sibcall.c: Likewise.
9298         * simplify-rtx.c: Likewise.
9299         * ssa.c: Likewise.
9300         * stab.def: Likewise.
9301         * stmt.c: Likewise.
9302         * stor-layout.c: Likewise.
9303         * target.h: Likewise.
9304         * timevar.c: Likewise.
9305         * toplev.c: Likewise.
9306         * tree-dump.c: Likewise.
9307         * tree-inline.c: Likewise.
9308         * tree.c: Likewise.
9309         * tree.def: Likewise.
9310         * tree.h: Likewise.
9311         * unroll.c: Likewise.
9312         * varasm.c: Likewise.
9313         * vmsdbgout.c: Likewise.
9314         * treelang/treelang.texi: Likewise.
9315         * treelang/treetree.c: Likewise.
9316
9317 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
9318
9319         * config/h8300/h8300.c (compute_saved_regs): Use a macro
9320         instead of a hard register number.
9321         (get_shift_alg): Use an enumerated type instead of numbers.
9322         (h8300_shift_needs_scratch_p): Likewise.
9323
9324 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9325
9326         * varasm.c (force_data_section): Remove.
9327         (assemble_constant_align): Likewise.
9328         * output.h: Remove corresponding prototypes.
9329
9330 2002-09-26  Roger Sayle  <roger@eyesopen.com>
9331
9332         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
9333         jump, if the loop to exit is the top of the current nesting stack.
9334
9335 2002-09-26  Torbjorn Granlund  <tege@swox.com>
9336
9337         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
9338         arithmetic.
9339
9340 2002-09-26  David S. Miller  <davem@redhat.com>
9341
9342         PR optimization/7335
9343         * calls.c (emit_library_call_value_1): Passing args by reference
9344         converts a CONST function into a PURE one.
9345
9346 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
9347
9348         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
9349         text_section.
9350         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
9351         text section.
9352         * config/rs6000/rs6000.c (rs6000_override_options): Allow
9353         function-sections and data-sections functionality on AIX.
9354
9355 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
9356             Dale Johannesen  <dalej@apple.com>
9357
9358         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
9359         in RTL for sub-word loads from memory.
9360
9361 2002-09-26  Richard Henderson  <rth@redhat.com>
9362
9363         PR c/7160
9364         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
9365         on call insns.
9366
9367 2002-09-26  Richard Henderson  <rth@redhat.com>
9368
9369         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
9370
9371 2002-09-26  Chris Lattner  <sabre@nondot.org>
9372
9373         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
9374         handling undefined values.
9375
9376 2002-09-26  Richard Henderson  <rth@redhat.com>
9377
9378         PR opt/7520
9379         * emit-rtl.c (active_insn_p): Consider a clobber of the
9380         function return value to be active even after reload.
9381
9382 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
9383
9384         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
9385         by absolute loop increment, not loop increment.
9386
9387 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9388
9389         * c-common.h: Follow spelling conventions.
9390         * cpplex.c: Likewise.
9391         * cpplib.h: Likewise.
9392         * gthr-dce.h: Likewise.
9393         * gthr-posix.h: Likewise.
9394         * optabs.c: Likewise.
9395         * output.h: Likewise.
9396         * profile.c: Likewise.
9397         * protoize.c: Likewise.
9398         * ra-rewrite.c: Likewise.
9399         * real.c: Likewise.
9400         * recog.c: Likewise.
9401         * reg-stack.c: Likewise.
9402         * regclass.c: Likewise.
9403         * regmove.c: Likewise.
9404         * reload.c: Likewise.
9405         * reload.h: Likewise.
9406         * reload1.c: Likewise.
9407         * reorg.c: Likewise.
9408         * resource.c: Likewise.
9409         * rtl.h: Likewise.
9410         * rtlanal.c: Likewise.
9411
9412 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9413
9414         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
9415         for symbol address.
9416
9417 2002-09-24  Eric Christopher  <echristo@redhat.com>
9418
9419         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
9420         * config/mips/elf64.h: Ditto.
9421
9422 2002-09-24  Eric Christopher  <echristo@redhat.com>
9423
9424         * except.c (expand_builtin_extract_return_address): Handle case
9425         where Pmode != ptr_mode.
9426
9427 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9428
9429         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
9430
9431 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
9432
9433         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
9434
9435 2002-09-26  Igor Shevlyakov <igor@microunity.com>
9436
9437         * combine.c (simplify_set): Don't call to force_to_mode if size
9438         of integer type is larger than HOST_BITS_PER_WIDE_INT.
9439
9440 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
9441
9442         * Makefile.in (qmtest-g++): Fix file path.
9443
9444 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
9445
9446         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
9447         A + (-const) on RTX level, even for unsigned types.
9448
9449 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
9450
9451         * reload.c (dup_replacements): New function.
9452         (find_reloads): Use it to duplicate replacements at the top level
9453         of match_dup operands.
9454
9455 2002-09-26  Miles Bader  <miles@gnu.org>
9456
9457         * v850.md ("length"): Change default value to 4.
9458
9459 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9460
9461         * ChangeLog.1: Follow spelling conventions.
9462         * ChangeLog.4: Likewise.
9463         * ChangeLog.6: Likewise.
9464         * FSFChangeLog.11: Likewise.
9465         * doc/cpp.texi: Likewise.
9466         * doc/invoke.texi: Likewise.
9467         * doc/tm.texi: Likewise.
9468
9469 2002-09-26  Nick Clifton  <nickc@redhat.com>
9470
9471         * config.gcc: Add x prefix to v850e case for handling
9472         --with-cpu=v850e.
9473
9474 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
9475
9476         * gcc.c (input_suffix_matches, switch_matches,
9477         mark_matching_switches, process_marked_switches,
9478         process_brace_body): New functions - split from handle_braces.
9479         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
9480         and ignore whitespace in more places.
9481         (specs documentation comment): Document %{S:X;T:Y;:D}.
9482         Clarify other %{...} docs.
9483         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
9484         %{...} docs.
9485
9486         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
9487         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
9488
9489 2002-09-25  David S. Miller  <davem@redhat.com>
9490
9491         PR target/7842
9492         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
9493         extend.
9494
9495 2002-09-25  Richard Henderson  <rth@redhat.com>
9496
9497         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
9498         fp CONST_DOUBLE; use real_identical.
9499
9500 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
9501
9502         * doc/invoke.texi: Add more -Wabi examples.
9503
9504 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
9505
9506         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
9507
9508 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
9509
9510         * profile.c (end_branch_prob): Only look for __gcov_init on
9511         weak-enabled native compilers.
9512
9513 2002-09-24  Denis Chertykov  <denisc@overta.ru>
9514
9515         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
9516         cases of optimizing "add sp,w" to "inc sp".
9517
9518 2002-09-24  Adam Nemet  <anemet@lnxw.com>
9519
9520         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
9521         epilogue for naked functions.
9522
9523 2002-09-24  Adam Nemet  <anemet@lnxw.com>
9524             Nick Clifton  <nickc@redhat.com>
9525
9526         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
9527         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
9528         is defined.
9529
9530 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
9531
9532         * config/s390/s390.c (preferred_la_operand_p): New function.
9533         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
9534         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
9535         ("*la_64_cc", "*la_31_cc", splitters): ... these.
9536         ("*la_31"): Deactivate for TARGET_64BIT.
9537         ("*la_31_and", "*la_31_and_cc"): New.
9538
9539 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9540
9541         * real.h (real_value): Make `exp' explicitly signed.
9542
9543 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
9544
9545         * config/elfos.h: Follow spelling conventions.
9546         * config/alpha/alpha.h: Likewise.
9547         * config/arc/arc.h: Likewise.
9548         * config/arm/arm.md: Likewise.
9549         * config/avr/avr.h: Likewise.
9550         * config/cris/cris.md: Likewise.
9551         * config/d30v/d30v.h: Likewise.
9552         * config/frv/frv.c: Likewise.
9553         * config/frv/frv.h: Likewise.
9554         * config/h8300/h8300.c: Likewise.
9555         * config/h8300/h8300.h: Likewise.
9556         * config/h8300/h8300.md: Likewise.
9557         * config/i386/cygwin.h: Likewise.
9558         * config/i386/i386.h: Likewise.
9559         * config/i386/sysv3.h: Likewise.
9560         * config/i960/i960.h: Likewise.
9561         * config/ia64/ia64.h: Likewise.
9562         * config/ia64/ia64.md: Likewise.
9563         * config/ip2k/ip2k.h: Likewise.
9564         * config/m32r/m32r.h: Likewise.
9565         * config/m68k/m68k.h: Likewise.
9566         * config/m88k/m88k.h: Likewise.
9567         * config/mcore/mcore.c: Likewise.
9568         * config/mcore/mcore.h: Likewise.
9569         * config/mcore/mcore.md: Likewise.
9570         * config/mips/mips.h: Likewise.
9571         * config/mmix/mmix.h: Likewise.
9572         * config/mmix/mmix.md: Likewise.
9573         * config/ns32k/netbsd.h: Likewise.
9574         * config/ns32k/ns32k.h: Likewise.
9575         * config/ns32k/ns32k.md: Likewise.
9576         * config/pa/pa.h: Likewise.
9577         * config/romp/romp.h: Likewise.
9578         * config/rs6000/rs6000.h: Likewise.
9579         * config/rs6000/rs6000.md: Likewise.
9580         * config/sparc/sparc.h: Likewise.
9581         * config/stormy16/stormy-abi: Likewise.
9582         * config/stormy16/stormy16.h: Likewise.
9583         * config/vax/vax.h: Likewise.
9584
9585 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9586
9587         * config/alpha/alpha.h: Remove commented-out macro
9588         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
9589         * config/avr/avr.h: Likewise.
9590         * config/d30v/d30v.h: Likewise.
9591         * config/dsp16xx/dsp16xx.h: Likewise.
9592         * config/i370/i370.h: Likewise.
9593         * config/i386/i386.h: Likewise.
9594         * config/i960/i960.h: Likewise.
9595         * config/m68k/m68k.h: Likewise.
9596         * config/m88k/m88k.h: Likewise.
9597         * config/mips/mips.h: Likewise.
9598         * config/ns32k/ns32k.h: Likewise.
9599         * config/pdp11/pdp11.h: Likewise.
9600         * config/romp/romp.h: Likewise.
9601         * config/rs6000/rs6000.h: Likewise.
9602         * config/s390/s390.h: Likewise.
9603         * config/sh/sh.h: Likewise.
9604         * config/sparc/sparc.h: Likewise.
9605         * config/stormy16/stormy16.h: Likewise.
9606         * config/vax/vax.h: Likewise.
9607
9608 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9609
9610         * function.c (push_temp_slots_for_block): Remove.
9611         (push_temp_slots_for_target): Likewise.
9612         (get_target_temp_slot_level): Likewise.
9613         (set_target_temp_slot_level): Likewise.
9614         (get_first_block_beg): Likewise.
9615         * function.h: Remove corresponding prototypes.
9616
9617 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
9618
9619         * version.c (version_string): Now const char[].
9620         * version.h: Update to match.
9621
9622 2002-09-23  Richard Henderson  <rth@redhat.com>
9623
9624         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
9625         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
9626         (TARGET_SWITCHES): Don't reference them.
9627         * config/i386/i386.c (override_options): Use target_flags_explicit
9628         to examine bits set by the user.
9629
9630 2002-09-23  Dale Johannesen  <dalej@apple.com>
9631
9632         * dbxout.c (dbxout_parms):  Set current_sym_code for params
9633         passed on stack by invisible reference.
9634
9635 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
9636
9637         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
9638         at least one byte of space.
9639
9640 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9641
9642         * c-common.h (flag_abi_version): Fix typo in comment.
9643         * doc/invoke.texi (flag_abi_version): Document default value.
9644
9645 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
9646
9647         * doc/extend.texi (Extended Asm): Clarify that overlap between
9648         asm-declared register variables used in an asm and the asm clobber
9649         list is not allowed.
9650         * stmt.c (decl_conflicts_with_clobbers_p): New function.
9651         (expand_asm_operands): Keep track of clobbered registers.  Call
9652         decl_conflicts_with_clobbers_p for each input and output operand.
9653         If no conflicts found before, also do conflict sanity check when
9654         emitting clobbers.
9655
9656 2002-09-23  Richard Henderson  <rth@redhat.com>
9657
9658         * c-common.c (cpp_define_data_format): Remove.
9659         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
9660         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9661         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9662         * doc/cpp.texi: Don't document them either.
9663         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
9664         __LONG_LONG_MAX__): Document.
9665         (__TARGET_FLOAT_FORMAT__): Remove.
9666
9667 2002-09-23  Richard Henderson  <rth@redhat.com>
9668
9669         * real.c (do_multiply): Normalize U before addition.
9670
9671 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9672
9673         * c-common.c (flag_abi_version): New variable.
9674         * c-common.h (flag_abi_version): Declare it.
9675         * c-opts.c (missing_arg): Add -fabi-version.
9676         (c_common_decode_option): Process -fabi-version.
9677         * doc/invoke.texi (-fabi-version): Document it.
9678         (-Wabi): Add information about bit-fields in unions.
9679
9680 2002-09-22  Roger Sayle  <roger@eyesopen.com>
9681
9682         * expr.c (STORE_BY_PIECES_P): New target macro.
9683         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
9684         instead of MOVE_BY_PIECES_P.
9685         * doc/tm.texi: Document this new macro.
9686
9687 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9688
9689         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
9690         unless -fno-pic or -fno-PIC is specified.
9691
9692 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9693
9694         * c-common.c (preprocessing_trad_p): Define.
9695         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
9696         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
9697         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9698         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
9699         * pa-linux.h (CPP_PREDEFINES): Delete.
9700         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9701         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
9702         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
9703         (TARGET_OS_CPP_BUILTINS): Define.
9704         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
9705         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
9706         (SUBTARGET_SWITCHES): Provide default definition.
9707         (TARGET_OPTIONS): Reformat.  Use N_() macro.
9708         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
9709         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
9710         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
9711         (TARGET_CPU_CPP_BUILTINS): Define.
9712         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
9713         * doc/invoke.texi (msio, mwsio): Document new hppa options.
9714         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
9715         preprocessing_trad_p().
9716
9717 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9718
9719         * doc/install.texi: Document behavior of --with-headers and
9720         --with-libs when arguments are omitted.
9721
9722 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
9723
9724         * dbxout.c: Follow spelling conventions.
9725         * defaults.h: Likewise.
9726         * df.c: Likewise.
9727         * diagnostic.h: Likewise.
9728         * doloop.c: Likewise.
9729         * dwarf2out.c: Likewise.
9730         * dwarfout.c: Likewise.
9731         * emit-rtl.c: Likewise.
9732         * except.c: Likewise.
9733         * explow.c: Likewise.
9734         * expmed.c: Likewise.
9735         * expr.c: Likewise.
9736         * expr.h: Likewise.
9737         * flags.h: Likewise.
9738         * flow.c: Likewise.
9739         * fold-const.c: Likewise.
9740         * function.c: Likewise.
9741         * function.h: Likewise.
9742         * gcc.c: Likewise.
9743         * gcov-io.h: Likewise.
9744         * gcov.c: Likewise.
9745         * gcse.c: Likewise.
9746         * genattrtab.c: Likewise.
9747         * genconfig.c: Likewise.
9748         * genrecog.c: Likewise.
9749         * ggc-page.c: Likewise.
9750         * ggc.h: Likewise.
9751         * global.c: Likewise.
9752         * gthr-win32.h: Likewise.
9753         * integrate.c: Likewise.
9754         * jump.c: Likewise.
9755         * langhooks.c: Likewise.
9756         * langhooks.h: Likewise.
9757         * line-map.h: Likewise.
9758         * local-alloc.c: Likewise.
9759         * longlong.h: Likewise.
9760         * loop.c: Likewise.
9761         * loop.h: Likewise.
9762
9763 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9764
9765         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9766
9767 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9768
9769         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9770         for -Os/TARGET_64BIT too.
9771
9772 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9773
9774         * ChangeLog: Follow spelling conventions.
9775         * ChangeLog.0: Likewise.
9776         * ChangeLog.1: Likewise.
9777         * ChangeLog.2: Likewise.
9778         * ChangeLog.3: Likewise.
9779         * ChangeLog.4: Likewise.
9780         * ChangeLog.5: Likewise.
9781         * ChangeLog.6: Likewise.
9782         * FSFChangeLog.10: Likewise.
9783         * FSFChangeLog.11: Likewise.
9784         * alias.c: Likewise.
9785         * basic-block.h: Likewise.
9786         * c-aux-info.c: Likewise.
9787         * c-common.c: Likewise.
9788         * c-common.h: Likewise.
9789         * c-decl.c: Likewise.
9790         * c-format.c: Likewise.
9791         * c-semantics.c: Likewise.
9792         * c-typeck.c: Likewise.
9793         * calls.c: Likewise.
9794         * cfganal.c: Likewise.
9795         * cfgloop.c: Likewise.
9796         * collect2.c: Likewise.
9797         * combine.c: Likewise.
9798         * conflict.c: Likewise.
9799         * cppexp.c: Likewise.
9800         * cppfiles.c: Likewise.
9801         * cpphash.h: Likewise.
9802         * cppinit.c: Likewise.
9803         * cpplex.c: Likewise.
9804         * cpplib.c: Likewise.
9805         * cpplib.h: Likewise.
9806         * cppmacro.c: Likewise.
9807         * cse.c: Likewise.
9808
9809 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9810
9811         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9812         LINK_SPEC.
9813         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9814         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9815         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9816
9817 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9818
9819         PR opt/7930
9820         * cse.c (fold_rtx): Calculate old_cost before we fold each
9821         operand.
9822
9823 2002-09-21  Richard Henderson  <rth@redhat.com>
9824
9825         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9826         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9827         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9828         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9829         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9830         * doc/cpp.texi: Don't document them.
9831
9832 2002-09-21  Richard Henderson  <rth@redhat.com>
9833
9834         * c-common.c (builtin_define_float_constants): Use real_format
9835         to get the floating-point parameters.
9836
9837 2002-09-21  Richard Henderson  <rth@redhat.com>
9838
9839         * real.c (struct real_format): Move to real.h.
9840         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9841         initialize with ieee defaults.
9842         (real_to_target_fmt, real_from_target_fmt): New.
9843         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9844         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9845         ieee_quad_format, i370_single_format, i370_double_format,
9846         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9847         (ieee_quad_format): Fix emin.
9848         (format_for_size, init_real_once): Remove.
9849         * real.h (struct real_format): Move from real.c.
9850         (real_format_for_mode): Declare.
9851         (real_to_target_fmt, real_from_target_fmt): Declare.
9852         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9853         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9854         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9855         i370_single_format, i370_double_format, c4x_single_format,
9856         c4x_extended_format): Declare.
9857         * toplev.c (do_compile): Don't call init_real_once.
9858
9859         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9860         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9861
9862         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9863         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9864         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9865         for VAX, if enabled.
9866
9867         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9868         for C4X.
9869
9870         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9871         * config/i370/i370.c (override_options): New.
9872         * config/i370/i370-protos.h: Update.
9873
9874         * config/i386/i386.c (override_options): Set real_format_for_mode
9875         for Intel 80-bit extended.
9876         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9877
9878         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9879         (OVERRIDE_OPTIONS): Move code...
9880         * config/i960/i960.c (i960_initialize): ... here.  Set
9881         real_format_for_mode for Intel 80-bit extended.
9882
9883         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9884         for Intel 80-bit extended, if enabled.
9885
9886         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9887         for Motorola 96-bit extended.
9888
9889         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9890         * config/vax/vax.c (override_options): New.
9891         * config/vax/vax-protos.h: Update.
9892
9893 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9894
9895         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9896         #if TARGET_MACHO.
9897
9898         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9899         insns.  Supply missing clobber of scratch reg.
9900
9901 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9902
9903         * config/m32r/m32r.c: Follow spelling conventions.
9904         * config/m32r/m32r.h: Likewise.
9905         * config/m32r/m32r.md: Likewise.
9906         * config/m68k/m68k.c: Likewise.
9907         * config/m88k/m88k.c: Likewise.
9908         * config/mcore/mcore.c: Likewise.
9909         * config/mips/mips.c: Likewise.
9910         * config/mips/mips.h: Likewise.
9911         * config/mmix/mmix.c: Likewise.
9912         * config/mn10200/mn10200.c: Likewise.
9913         * config/ns32k/ns32k.h: Likewise.
9914         * config/pa/pa.c: Likewise.
9915         * config/pa/pa64-linux.h: Likewise.
9916         * config/pdp11/pdp11.h: Likewise.
9917         * config/romp/romp.c: Likewise.
9918         * config/romp/romp.h: Likewise.
9919         * config/rs6000/eabi.asm: Likewise.
9920         * config/rs6000/linux64.h: Likewise.
9921         * config/rs6000/rs6000.c: Likewise.
9922         * config/rs6000/rs6000.h: Likewise.
9923         * config/rs6000/rs6000.md: Likewise.
9924         * config/rs6000/sysv4.h: Likewise.
9925         * config/rs6000/xcoff.h: Likewise.
9926
9927 2002-09-20  Jim Wilson  <wilson@redhat.com>
9928
9929         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9930
9931 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9932
9933         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9934         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9935         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9936         (legitimate_address_p): Likewise.
9937         (legitimize_address): Use @gotntpoff and @indntpoff.
9938         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9939         (output_addr_const_extra): Likewise.
9940
9941 2002-09-20  Jim Wilson  <wilson@redhat.com>
9942
9943         * combine.c (try_combine): When split an instruction pair, where the
9944         first has a sign_extend src, verify that the src and dest modes match.
9945
9946 2002-09-20  Richard Henderson  <rth@redhat.com>
9947
9948         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9949         (override_options): Do not initialize them.
9950         (mips_const_double_ok): Allow no fp constants except zero,
9951         and not even that for mips16.
9952         (const_float_1_operand): Use dconst1.
9953         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9954         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9955         Don't allow arbitrary constants; fix predicates and C constraint.
9956
9957 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9958
9959         * cppmacro.c: Don't warn about function-like macros without
9960         '(' during pre-expansion.
9961
9962 2002-09-20  Jim Wilson  <wilson@redhat.com>
9963
9964         * config/v850/v850.c (current_function_anonymous_args): Delete.
9965         (expand_prologue): Use current_function_args_info.anonymous_args.
9966         (expand_epilogue): Delete use of current_function_anonymous_args.
9967         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9968         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9969         (current_function_anonymous_args): Delete extern declaration.
9970         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9971
9972 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9973
9974         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9975         to load_macho_picbase.
9976         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9977         (load_macho_picbase): Take the symbol to use as a parameter.
9978         (macho_correct_pic): New insn.
9979         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9980
9981         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9982         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9983         (CAN_ELIMINATE): Likewise.
9984         (INITIAL_ELIMINATION_OFFSET): Likewise.
9985         (TOC_REGISTER): Likewise.
9986
9987 2002-09-20  Richard Henderson  <rth@redhat.com>
9988
9989         * real.c (real_hash): New.
9990         * real.h: Declare it.
9991         * cse.c (canon_hash): Use it.
9992         * cselib.c (hash_rtx): Likewise.
9993         * emit-rtl.c (const_double_htab_hash): Likewise.
9994         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9995         * varasm.c (struct rtx_const): Reduce vector size; separate
9996         integer and fp vectors.
9997         (HASHBITS): Remove.
9998         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9999         take modulus MAX_HASH_TABLE.
10000         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
10001         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
10002         (SYMHASH): Don't use HASHBITS.
10003         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
10004         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
10005         (simplify_subtraction): Fix kind comparison.
10006         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
10007         Use a union to pun integer array.
10008         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
10009         only hash two words of integral CONST_DOUBLE.
10010
10011 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
10012
10013         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
10014         (STARTFILE_PREFIX_SPEC): New.
10015         (LINK_SPEC): Modify.
10016         (LIB_SPEC): Modify.
10017         (LIBGCC_SPEC): New.
10018
10019 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
10020
10021         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
10022         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
10023
10024 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
10025
10026         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
10027         Add clobber of the condition code register.
10028
10029 2002-09-20  Richard Henderson  <rth@redhat.com>
10030
10031         * real.c (do_fix_trunc): Static.
10032         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
10033         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
10034         encode_i370_single, encode_i370_double, encode_c4x_single,
10035         encode_c4x_extended): Add default abort case.
10036
10037 2002-09-20  Richard Henderson  <rth@redhat.com>
10038
10039         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
10040         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
10041         (struct realvaluetype): Remove.
10042         (REAL_VALUE_TYPE): Use struct real_value.
10043         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
10044         (test_real_width): New.
10045         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
10046         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
10047         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
10048         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
10049         real_to_integer, real_to_integer2, real_to_decimal,
10050         real_to_hexadecimal, real_from_string, real_from_integer,
10051         real_inf, real_nan, real_2expN, real_convert, real_to_target,
10052         real_from_target): Likewise.
10053         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
10054         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
10055
10056 2002-09-20  Richard Henderson  <rth@redhat.com>
10057
10058         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
10059         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
10060         * defaults.h: ... here.
10061         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
10062         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
10063         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
10064         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
10065
10066 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
10067
10068         * config/mmix/mmix.md ("negdf2"): Rewrite.
10069         ("*expanded_negdf2"): New.
10070
10071 2002-09-19  Jim Wilson  <wilson@redhat.com>
10072
10073         * combine.c (simplify_set): When optimizing a subreg src with a
10074         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
10075
10076 2002-09-19  Dale Johannesen <dalej@apple.com>
10077         * combine.c (make_extraction): Don't create
10078         invalid subreg.
10079
10080 2002-09-19  Roger Sayle  <roger@eyesopen.com>
10081
10082         * tree.c (integer_nonzerop): New predicate for nonzero integers.
10083         * tree.h (integer_nonzerop): Add function prototype.
10084         * stmt.c (expand_end_loop):  Don't rotate the loop when there
10085         are no instructions in the test, i.e. the loop is unconditional.
10086         (expand_exit_loop_if_false):  Optimize RTL generation of loop
10087         tests when the condition is always true or always false.
10088         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
10089         do-loops when the condition is always true.
10090         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
10091         the for-expression is empty.
10092
10093 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
10094
10095         * gcc.c (use_pipes): New flag.
10096         (process_command): Set it.  Adjust check for -pipe conflicting
10097         with -time or -save-temps.
10098         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
10099         %<SWITCH.  Drop %| (without a SUFFIX).
10100         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
10101         (give_switch): Third argument eliminated.
10102         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
10103         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
10104         (specs documentation comment): Update.
10105
10106         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
10107         config/svr4.h, config/i386/freebsd-aout.h,
10108         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
10109         config/m68k/openbsd.h, config/mips/openbsd.h,
10110         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
10111         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
10112         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
10113         * config/cris/cris.h: Update comment.
10114
10115         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
10116         error messages.  Don't use %{^SWITCH}.
10117         * ada/misc.c (gnat_decode_option): Handle -I with a
10118         separate argument.
10119
10120         * f/lang-specs.h: Use %| and %m.
10121         * java/jvspec.c: Use %m and %(invoke_as).  Change all
10122         uses of %{<SWITCH} to %<SWITCH.
10123
10124         * doc/invoke.texi: Update documentation of specs.
10125         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
10126
10127 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
10128
10129         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
10130         and STRICT_LOW_PART within SET_DEST.
10131         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
10132         splitters, replacing pre-reload splitters.
10133         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
10134         "*zero_extendqihi2_31"): New insns.
10135         ("*zero_extendqihi2_64"): Do not clobber CC.
10136
10137 2002-09-18  Devang Patel  <dpatel@apple.com>
10138
10139         * cp/cp-tree.h: New prototype for walk_vtables().
10140         * cp/decl.c (walk_vtables_r): New function.
10141         (struct cp_binding_level): Add new members, namespaces,
10142         names_size and vtables.
10143         (add_decl_to_level): Add decl in namespaces or vtables
10144         chain, if conditions match.
10145         (walk_vtables): New function.
10146         (walk_namespaces_r): Travers separate namespace chain
10147         for namespace decls.
10148         (wrapup_globals_for_namespace): Use names_size instead
10149         of list_length().
10150         * cp/decl2.c (finish_file): Use walk_vtables() instead of
10151         walk_globals() to walk vtable decls.
10152
10153 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
10154
10155         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
10156         (DTORS_SECTION_ASM_OP): Ditto.
10157         (READONLY_DATA_SECTION_ASM_OP): Moved.
10158         (DATA_SECTION_ASM_OP): New.
10159         (SDATA_SECTION_ASM_OP): New.
10160         (BSS_SECTION_ASM_OP): New.
10161         (SBSS_SECTION_ASM_OP): New.
10162         (TEXT_SECTION_ASM_OP): New.
10163
10164 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
10165
10166         * config/fp-bit.c: Follow spelling conventions.
10167         * config/d30v/d30v.c: Likewise.
10168         * config/d30v/d30v.h: Likewise.
10169         * config/fr30/fr30.c: Likewise.
10170         * config/fr30/fr30.h: Likewise.
10171         * config/fr30/fr30.md: Likewise.
10172         * config/frv/frv.c: Likewise.
10173         * config/frv/frv.h: Likewise.
10174         * config/h8300/h8300.c: Likewise.
10175         * config/h8300/lib1funcs.asm: Likewise.
10176         * config/i370/i370.c: Likewise.
10177         * config/i386/i386.h: Likewise.
10178         * config/i386/i386.md: Likewise.
10179         * config/i386/pentium.md: Likewise.
10180         * config/i386/winnt.c: Likewise.
10181         * config/i960/i960.c: Likewise.
10182         * config/ia64/ia64.h: Likewise.
10183         * config/ip2k/ip2k.c: Likewise.
10184         * config/ip2k/ip2k.h: Likewise.
10185         * config/ip2k/ip2k.md: Likewise.
10186         * config/ip2k/libgcc.S: Likewise.
10187
10188 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
10189
10190         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
10191         (GOTOFF_P): Extend to allow gotoff plus constant.
10192
10193 2002-09-18  Richard Henderson  <rth@redhat.com>
10194
10195         * ifcvt.c (noce_process_if_block): Correctly detect X modified
10196         with INSN_B before COND_EARLIEST.  Don't check A and B for
10197         modification in condition range.  Reorder INSN_B for A==B properly.
10198         (if_convert): Iterate until no matches for a block.
10199
10200 2002-09-18  Richard Henderson  <rth@redhat.com>
10201
10202         * calls.c (store_one_arg): Rename default_align to parm_align;
10203         always adjust parm_align for downward padding.
10204
10205 2002-09-18  Richard Henderson  <rth@redhat.com>
10206
10207         * toplev.c (backend_init): Move init_real_once invocation ...
10208         (do_compile): ... here.
10209
10210 2002-09-18  Richard Henderson  <rth@redhat.com>
10211
10212         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
10213         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
10214
10215 2002-09-18  Richard Henderson  <rth@redhat.com>
10216
10217         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
10218
10219 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
10220
10221         * config/rs6000/rs6000.md: (floatdisf2): Rename to
10222         floatdisf2_internal1.
10223         (floatdisf2): New define_expand.
10224         (floatdisf2_internal2): Likewise.
10225
10226 2002-09-18  Richard Henderson  <rth@redhat.com>
10227
10228         * real.c (sticky_rshift_significand): Collect sticky as
10229         unsigned long, not bool.
10230
10231 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
10232
10233         * config/s390/s390.c (s390_address_cost): New function.
10234         config/s390/s390-protos.h (s390_address_cost): Add prototype.
10235         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
10236         (RTX_COST): Use COSTS_N_INSNS.
10237
10238 2002-09-18  Douglas Rupp  <rupp@gnat.com>
10239             Donn Terry  <donnte@microsoft.com>
10240
10241         * stor-layout.c (place_field): Handle alignment of whole
10242         structures when MSVC compatible bitfields are involved.
10243         Change method of computing location of MS bitfields to
10244         be compatible with #pragma pack(n).
10245
10246         * tree.h (record_layout_info): Add new field
10247         remaining_in_alignment.
10248
10249         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
10250         (pragma pack): Add paragraph on MSVC bitfield packing.
10251
10252 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
10253
10254         PR optimization/7967
10255         * arm.md (ne_zeroextractsi): Add clobber of the condition code
10256         register.
10257
10258 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
10259
10260         * config/s390/s390.c: Follow spelling conventions.
10261         * config/sh/lib1funcs.asm: Likewise.
10262         * config/sh/sh.c: Likewise.
10263         * config/sh/sh.h: Likewise.
10264         * config/sparc/sparc.c: Likewise.
10265         * config/sparc/sparc.h: Likewise.
10266         * config/sparc/sparc.md: Likewise.
10267         * config/stormy16/stormy16.c: Likewise.
10268         * config/stormy16/stormy16.h: Likewise.
10269         * config/v850/v850.c: Likewise.
10270         * config/v850/v850.h: Likewise.
10271         * config/vax/vax.c: Likewise.
10272         * config/vax/vax.h: Likewise.
10273
10274 2002-09-18  Nick Clifton  <nickc@redhat.com>
10275
10276         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
10277         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
10278         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
10279
10280 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10281
10282         * function.c (max_parm_reg_num): Remove.
10283         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
10284         drop_through_at_end_p, move_cleanups_up,
10285         expand_end_case_dummy, case_index_expr_type): Likewise.
10286         * stor-layout.c (pos_from_byte): Likewise.
10287         * tree.c (chain_member_value, chain_member_purpose, listify,
10288         tree_int_cst_msb, index_type_equal): Likewise.
10289         * tree.h: Remove prototypes for unused functions.
10290
10291 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
10292
10293         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
10294         statement that the only translation is to en_UK.
10295
10296 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10297
10298         * config/alpha/alpha.c: Follow spelling conventions.
10299         * config/alpha/alpha.h: Likewise.
10300         * config/alpha/alpha.md: Likewise.
10301         * config/arc/arc.h: Likewise.
10302         * config/arm/arm.c: Likewise.
10303         * config/arm/arm.h: Likewise.
10304         * config/arm/arm.md: Likewise.
10305         * config/arm/pe.c: Likewise.
10306         * config/arm/unknown-elf.h: Likewise.
10307         * config/avr/avr.c: Likewise.
10308         * config/avr/avr.h: Likewise.
10309         * config/c4x/c4x.c: Likewise.
10310         * config/cris/cris.c: Likewise.
10311         * config/cris/cris.h: Likewise.
10312
10313 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
10314
10315         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
10316         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
10317         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
10318
10319 2002-09-17  Dale Johannesen  <dalej@apple.com>
10320
10321         * cfgcleanup.c (try_forward_edges):  Do not forward a
10322         branch to just after a loop exit before loop optimization;
10323         this interfered with doloop detection.
10324
10325 2002-09-17  Nick Clifton  <nickc@redhat.com>
10326
10327         * config/arm/arm.c (output_return_instruction): Do not
10328         writeback the stack pointer when it is being loaded.
10329         (arm_output_epilogue): Likewise.
10330
10331 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10332
10333         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
10334         generate a pseudo reg that receives the result of a libcall.
10335         (prepare_float_lib_cmp): Likewise.
10336
10337 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
10338
10339         * config/ia64/elf.h: Remove CPP_PREDEFINES.
10340
10341 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10342
10343         Fix PR/7014 and related objc bugs:
10344         * c-typeck.c (comp_target_types): Added a reflexive argument.
10345         Pass it to ObjC when/if calling objc_comptypes().  Updated all
10346         callers to provide the appropriate reflexive argument.
10347         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
10348         typechecking for all cases of comparisons and assignments,
10349         particularly the obscure and less common ones involving protocols.
10350
10351 2002-09-17  Nick Clifton  <nickc@redhat.com>
10352
10353         * machmode.def (V1DImode): New mode.  A single element vector.
10354         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
10355         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
10356         * tree.c (build_common_tree_nodes_2): Build
10357         unsigned_V1DI_type_node and V1D1_type_node.
10358         * c-common.c (c_common_type_for_mode): Return
10359         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
10360         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
10361
10362 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10363
10364         * doc/objc.texi (Constant string objects): Extended documentation
10365         to make clear that the constant string class ivar layout is
10366         completely fixed.
10367
10368 2002-09-17  Roger Sayle  <roger@eyesopen.com>
10369
10370         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
10371         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
10372
10373 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10374
10375         * config/mips/mips.c (save_restore_insns): Remove unused variable.
10376         * gcc.c (make_relative_prefix): Likewise.
10377         * loop.c (check_final_value): Likewise.
10378         * jump.c (init_label_info): Remove return value.
10379         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
10380
10381 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10382
10383         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
10384         (ASM_PN_FORMAT): Define.
10385
10386 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10387
10388         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
10389         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
10390         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
10391         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
10392         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
10393         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
10394         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
10395         Delete.
10396         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
10397         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
10398         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
10399
10400         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
10401         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
10402
10403 2002-09-16  Richard Henderson  <rth@redhat.com>
10404
10405         * expr.c (emit_block_move): Set memory block size as appropriate
10406         for the copy.
10407
10408 2002-09-16  Richard Henderson  <rth@redhat.com>
10409
10410         PR fortran/3924
10411         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
10412
10413 2002-09-16  Richard Henderson  <rth@redhat.com>
10414
10415         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
10416         as well as OFFSET for BITPOS.
10417
10418 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
10419
10420         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
10421         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
10422         winchip2 and c3.
10423         * doc/invoke.texi: Mention new aliases.
10424
10425 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10426
10427         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
10428         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
10429         downward.
10430         * function.c (pad_below):  Always compile.
10431         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
10432         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
10433         Pad below when the argument is not in a register and the padding
10434         direction is downward.
10435
10436         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
10437         (PAD_VARARGS_DOWN): Define.
10438         * pa.c (function_arg_padding): Revise padding directions to make them
10439         compatible with the 32 and 64-bit runtime architecture documentation.
10440         (hppa_va_arg):  Add code to handle variable and size zero arguments
10441         passed by reference on TARGET_64BIT.  Reformat.
10442         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
10443         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
10444         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
10445         Add comments.
10446         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
10447         (RETURN_IN_MEMORY): Return size zero types in memory.
10448         (FUNCTION_VALUE): Return TFmode in general registers.
10449         (MUST_PASS_IN_STACK): Define.
10450         (FUNCTION_ARG_BOUNDARY): Simplify.
10451         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
10452         by reference.
10453         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
10454
10455 2002-09-16  Richard Henderson  <rth@redhat.com>
10456
10457         * real.c (do_fix_trunc): New.
10458         (real_arithmetic): Call it.
10459         * simplify-rtx.c (simplify_unary_operation): Handle FIX
10460         with a floating-point result mode.
10461
10462 2002-09-16  Richard Henderson  <rth@redhat.com>
10463
10464         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
10465         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
10466         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
10467         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
10468         * builtins.c (fold_builtin_nan): New.
10469         (fold_builtin): Call it.
10470         * real.c (real_nan): Parse a non-empty string.
10471         (round_for_format): Fix NaN significand truncation.
10472         * real.h (real_nan): Return bool.
10473         * doc/extend.texi: Document new builtins.
10474
10475 2002-09-16  Jason Merrill  <jason@redhat.com>
10476             Danny Smith  <dannysmith@users.sourceforge.net>
10477
10478         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
10479         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
10480         (i386_pe_mark_dllimport): Not here.
10481
10482 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
10483
10484         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
10485
10486 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
10487
10488         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
10489         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
10490         < 64.
10491         (rs6000_emit_cmove): Use real_isinf not target_isinf.
10492
10493 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10494
10495         * calls.c (emit_library_call_value_1): Don't refer to
10496         hard_libcall_value.
10497         * optabs.c (prepare_float_lib_cmp): Likewise.
10498
10499 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
10500
10501         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
10502         mangling.
10503
10504         The following changes are merged from pch-branch:
10505
10506         * doc/gty.texi (GTY Options): Document %a.
10507         * gengtype.c (do_scalar_typedef): New function.
10508         (process_gc_options): Handle `length' option.
10509         (set_gc_used_type): A pointer to an array of structures doesn't
10510         qualify as a pointer to a structure.
10511         (output_escaped_param): Add `%a' escape.
10512         (write_gc_structure_fields): Allow 'desc' on array of unions.
10513         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
10514         do_scalar_typedef.
10515
10516         * gengtype.c (enum rtx_code): Make global.
10517         (rtx_format): Make global.
10518         (rtx_next): New.
10519         (gen_rtx_next): New.
10520         (write_rtx_next): New.
10521         (adjust_field_rtx_def): Skip fields marked by chain_next.
10522         (open_base_files): Delete redundant prototype.
10523         (write_enum_defn): New.
10524         (output_mangled_typename): Correct abort call.
10525         (write_gc_marker_routine_for_structure): Handle chain_next and
10526         chain_prev options.
10527         (finish_root_table): Don't output redundant \n.
10528         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
10529         * c-tree.h (union lang_tree_node): Add chain_next option.
10530
10531         * gengtype.h (NUM_PARAM): New definition.
10532         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
10533         * gengtype.c (find_param_structure): New.
10534         (adjust_field_type): Handle param<n>_is option.
10535         (process_gc_options): Detect use_params option.  Update callers.
10536         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
10537         'use_params' option.
10538         (open_base_files): Add splay-tree.h to list of files included.
10539         (output_mangled_typename): New.
10540         (write_gc_structure_fields): Update 'param' parameter to support
10541         multiple parameters.  Change name mangling.  Allow parameterized
10542         fields to have an apparent scalar type.  Handle param<n>_is options,
10543         use_param option.
10544         (write_gc_marker_routine_for_structure): Update for change to name
10545         mangling.  Better guess the output file for parameterized types.
10546         (write_gc_types): Update for change to name mangling.
10547         (write_gc_root): Update for change to name mangling.  Handle (ignore)
10548         param<n>_is options.
10549         * doc/gty.texi (GTY Options): Add description of param<n>_is
10550         options, use_params option.
10551         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
10552         * gengtype-lex.l: Produce token for param<n>_is.
10553         * gengtype-yacc.y: Parse param<n>_is.
10554
10555         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
10556
10557         * rtl.c: Update comment describing rtx_format.
10558         * rtl.h (union rtunion): Separate definition and typedef.
10559         (struct rtx_def): Use gengtype to mark.
10560         * Makefile.in (gengtype.o): Also depend on rtl.def.
10561         * ggc.h (ggc_mark_rtx_children): Delete prototype.
10562         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
10563         * ggc-common.c (ggc_mark_rtx_children): Delete.
10564         (ggc_mark_rtx_children_1): Delete.
10565         (gt_ggc_m_rtx_def): Delete.
10566         * gengtype.c (adjust_field_rtx_def): New.
10567         (adjust_field_type): Call adjust_field_rtx_def.
10568         (write_gc_structure_fields): Add 'default' case to switch if none
10569         is specified; remove unused code.
10570
10571         * tree.h (struct tree_exp): Update for change to meaning
10572         of special.
10573         * gengtype.c (adjust_field_tree_exp): New function.
10574         (adjust_field_type): Handle `tree_exp' special here.
10575         (write_gc_structure_fields): Don't handle `tree_exp' special here.
10576         Handle new `dot' option.
10577
10578         * gengtype.h: Make `info' a pointer-to-const.
10579         * gengtype-yacc.y (yacc_ids): Use xasprintf.
10580
10581         * gengtype.c (write_gc_structure_fields): Remove implementation
10582         of `always' option, add `default' option.
10583         * doc/gty.texi (GTY Options): Remove documentation of `always',
10584         add `default'.
10585
10586 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
10587
10588         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
10589
10590 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10591
10592         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
10593
10594         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
10595         instead of the *-protos.h file directly.
10596         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
10597         * darwin.c (machopic_output_stub): Move prototype ...
10598         * darwin-protos.h (machopic_output_stub): ... here.
10599         * rs6000-protos.h (machopic_output_stub): Don't declare.
10600
10601 2002-09-16  Richard Henderson  <rth@redhat.com>
10602
10603         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
10604
10605 2002-09-16  Richard Henderson  <rth@redhat.com>
10606
10607         * real.c, real.h: Rewrite from scratch.
10608
10609         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
10610         (paranoia): New target.
10611         * builtins.c (fold_builtin_inf): Use new real.h interface.
10612         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
10613         * c-lex.c (interpret_float): Likewise.
10614         * emit-rtl.c (gen_lowpart_common): Likewise.
10615         * optabs.c (expand_float): Use real_2expN.
10616         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
10617         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
10618         (FLOAT_WORDS_BIG_ENDIAN): New.
10619         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
10620         directly to REAL_VALUE_NEGATIVE.
10621         * loop.c (canonicalize_condition): Likewise.
10622         * simplify-rtx.c: Include tree.h.
10623         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
10624         with floating-point result modes.
10625         * toplev.c (backend_init): Call init_real_once.
10626
10627         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
10628         * tree.c (build_real): Likewise.
10629         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
10630         float_values, inited_float_values, check_float_value): Remove.
10631         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
10632         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
10633         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
10634         (VAX_HALFWORD_ORDER): Remove.
10635
10636 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
10637
10638         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
10639         (s390_load_address): ... this new function.
10640         (s390_decompose_address): Allow the argument pointer and all
10641         virtual registers as 'pointer' registers.
10642         (s390_expand_plus_operand): Use s390_load_address.
10643         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
10644         ("force_la_31"): New insn pattern.
10645         config/s390/s390-protos.h (legitimize_la_operand): Remove.
10646         (s390_load_address): Add prototype.
10647
10648         * config/s390/s390.c: Include "optabs.h".
10649         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
10650         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
10651         s390_expand_cmpstr): Add prototypes.
10652         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
10653         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
10654         for operands 0 and 1 to "memory_operand".  Add type attribute.
10655         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
10656         for operands 0 and 1 to "memory_operand".  Add type attribute.
10657         ("movstrdi_long", "movstrsi_long"): Remove.
10658         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
10659         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
10660         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
10661         ("clrstrsico"): Remove, replace by ...
10662         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
10663         ("clrstrsi_64"): Rename to "clrstr_long_64".
10664         ("clrstrsi_31"): Rename to "clrstr_long_31".
10665         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
10666         ("cmpstr_const"): Remove, replace by ...
10667         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
10668         ("cmpstr_64"): Rename to "cmpstr_long_64".
10669         ("cmpstr_31"): Rename to "cmpstr_long_31".
10670
10671 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10672
10673         * ABOUT-NLS: Follow spelling conventions.
10674         * ChangeLog: Likewise.
10675         * ChangeLog.1: Likewise.
10676         * ChangeLog.2: Likewise.
10677         * ChangeLog.3: Likewise.
10678         * ChangeLog.4: Likewise.
10679         * ChangeLog.5: Likewise.
10680         * ChangeLog.6: Likewise.
10681         * FSFChangeLog.10: Likewise.
10682         * FSFChangeLog.11: Likewise.
10683         * c-common.c: Likewise.
10684         * c-lex.c: Likewise.
10685         * c-objc-common.c: Likewise.
10686         * cppexp.c: Likewise.
10687         * cppinit.c: Likewise.
10688         * cpplex.c: Likewise.
10689         * doloop.c: Likewise.
10690         * flow.c: Likewise.
10691         * function.c: Likewise.
10692         * integrate.c: Likewise.
10693         * loop.c: Likewise.
10694         * reg-stack.c: Likewise.
10695         * reload.h: Likewise.
10696         * ssa.c: Likewise.
10697
10698 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10699
10700         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
10701         * vmsdbgout.c: Include "target.h".
10702
10703 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10704
10705         * ChangeLog: Follow spelling conventions.
10706         * ChangeLog.0: Likewise.
10707         * ChangeLog.1: Likewise.
10708         * ChangeLog.2: Likewise.
10709         * ChangeLog.4: Likewise.
10710         * ChangeLog.6: Likewise.
10711         * config.gcc: Likewise.
10712         * dwarfout.c: Likewise.
10713         * reload1.c: Likewise.
10714         * simplify-rtx.c: Likewise.
10715         * unwind-sjlj.c: Likewise.
10716         * config/avr/avr.h: Likewise.
10717         * config/d30v/d30v.h: Likewise.
10718         * config/frv/frv.c: Likewise.
10719         * config/frv/frv.h: Likewise.
10720         * config/ip2k/ip2k.h: Likewise.
10721         * config/m88k/m88k-move.sh: Likewise.
10722         * config/stormy16/stormy16.c: Likewise.
10723         * config/stormy16/stormy16.h: Likewise.
10724         * doc/extend.texi: Likewise.
10725         * doc/interface.texi: Likewise.
10726         * doc/invoke.texi: Likewise.
10727         * doc/md.texi: Likewise.
10728         * doc/rtl.texi: Likewise.
10729         * doc/tm.texi: Likewise.
10730         * doc/trouble.texi: Likewise.
10731         * ginclude/float.h: Likewise.
10732         * treelang/treelang.texi: Likewise.
10733
10734 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10735
10736         * i386-protos.h (i386_pe_dllexport_name_p,
10737         i386_pe_dllimport_name_p, i386_pe_unique_section,
10738         i386_pe_declare_function_type, i386_pe_record_external_function,
10739         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10740         prototype.
10741         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10742         * i386/t-interix (winnt.o): Likewise.
10743
10744         * v850-protos.h (v850_output_addr_const_extra): Prototype.
10745
10746 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10747
10748         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10749         MIPS ABI CPP macros.
10750         (TARGET_CPU_CPP_BUILTINS): Redefine.
10751         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10752         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10753
10754 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10755
10756         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10757
10758 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10759
10760         * ChangeLog: Follow spelling conventions.
10761         * ChangeLog.0: Likewise.
10762         * ChangeLog.1: Likewise.
10763         * ChangeLog.2: Likewise.
10764         * ChangeLog.3: Likewise.
10765         * ChangeLog.4: Likewise.
10766         * ChangeLog.5: Likewise.
10767         * ChangeLog.6: Likewise.
10768         * FSFChangeLog.10: Likewise.
10769         * FSFChangeLog.11: Likewise.
10770         * c-common.c: Likewise.
10771         * c-common.h: Likewise.
10772         * c-format.c: Likewise.
10773         * c-opts.c: Likewise.
10774         * cpplib.c: Likewise.
10775         * langhooks.h: Likewise.
10776         * real.c: Likewise.
10777         * reg-stack.c: Likewise.
10778         * toplev.c: Likewise.
10779         * config/arm/arm.c: Likewise.
10780         * config/arm/arm.md: Likewise.
10781         * config/arm/linux-gas.h: Likewise.
10782         * config/arm/netbsd.h: Likewise.
10783         * config/c4x/c4x.c: Likewise.
10784         * config/c4x/c4x.h: Likewise.
10785         * config/c4x/c4x.md: Likewise.
10786         * config/c4x/libgcc.S: Likewise.
10787         * config/fr30/fr30.md: Likewise.
10788         * config/frv/frv.md: Likewise.
10789         * config/ia64/ia64.md: Likewise.
10790         * config/mips/mips.h: Likewise.
10791         * config/mn10300/mn10300.c: Likewise.
10792         * config/stormy16/stormy16.c: Likewise.
10793         * config/v850/v850.md: Likewise.
10794         * doc/extend.texi: Likewise.
10795         * doc/invoke.texi: Likewise.
10796         * doc/md.texi: Likewise.
10797
10798 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10799
10800         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10801         library if -pthread is specified.
10802
10803 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10804
10805         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10806         for --enable-threads=yes and --enable-threads=posix.
10807
10808 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10809
10810         * config/sparc/cypress.md: Replace Sparc with SPARC.
10811         * config/sparc/freebsd.h: Likewise.
10812         * config/sparc/gmon-sol2.c: Likewise.
10813         * config/sparc/hypersparc.md: Likewise.
10814         * config/sparc/lb1spc.asm: Likewise.
10815         * config/sparc/lb1spl.asm: Likewise.
10816         * config/sparc/linux.h: Likewise.
10817         * config/sparc/linux64.h: Likewise.
10818         * config/sparc/lynx.h: Likewise.
10819         * config/sparc/sol2.h: Likewise.
10820         * config/sparc/sparc-modes.def: Likewise.
10821         * config/sparc/sparc.c: Likewise.
10822         * config/sparc/sparc.h: Likewise.
10823         * config/sparc/sparc.md: Likewise.
10824         * config/sparc/sparclet.md: Likewise.
10825         * config/sparc/supersparc.md: Likewise.
10826         * config/sparc/sysv4.h: Likewise.
10827         * config/sparc/vxsim.h: Likewise.
10828         * config/sparc/vxsparc64.h: Likewise.
10829
10830 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10831
10832         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10833         * collect2.c (ignore_library, aix_std_libs): Move into the context
10834         where it is used.
10835         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10836         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10837         * m88k.c (output_call): Wrap variables with macro controlling use.
10838         * rs6000.md: Likewise.  Const-ify variable.
10839         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10840         * final.c (only_leaf_regs_used): Likewise.
10841         * regrename.c (maybe_mode_change): Mark parameter with
10842         ATTRIBUTE_UNUSED.
10843         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10844         (find_reloads_address_1): Likewise.
10845         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10846
10847 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10848
10849         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10850
10851 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10852
10853         * ChangeLog: Follow spelling conventions.
10854         * ChangeLog.0: Likewise.
10855         * ChangeLog.2: Likewise.
10856         * ChangeLog.3: Likewise.
10857         * ChangeLog.4: Likewise.
10858         * ChangeLog.5: Likewise.
10859         * ChangeLog.6: Likewise.
10860         * cppfiles.c: Likewise.
10861         * cppinit.c: Likewise.
10862         * cpplib.h: Likewise.
10863         * cse.c: Likewise.
10864         * debug.h: Likewise.
10865         * df.c: Likewise.
10866         * dominance.c: Likewise.
10867         * hashtable.c: Likewise.
10868         * hashtable.h: Likewise.
10869         * loop.c: Likewise.
10870         * config/arm/README-interworking: Likewise.
10871         * config/arm/arm.c: Likewise.
10872         * config/arm/arm.h: Likewise.
10873         * config/arm/arm.md: Likewise.
10874         * config/dsp16xx/dsp16xx.h: Likewise.
10875         * config/frv/frv.c: Likewise.
10876         * config/frv/frv.h: Likewise.
10877         * config/ip2k/ip2k.h: Likewise.
10878         * config/rs6000/rs6000.c: Likewise.
10879         * config/stormy16/stormy-abi: Likewise.
10880         * config/stormy16/stormy16.h: Likewise.
10881         * config/v850/v850.c: Likewise.
10882
10883 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10884
10885         * loop.c: Fix a comment typo.
10886
10887 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10888
10889         * config/fr30/fr30.h: Fix comment typos.
10890         * config/frv/frv.c: Likewise.
10891         * config/i386/xmmintrin.h: Likewise.
10892         * config/mips/mips.c: Likewise.
10893         * config/sh/sh.c: Likewise.
10894
10895 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10896
10897         * haifa-sched.c: Follow spelling conventions.
10898         * regclass.c: Likewise.
10899         * regrename.c: Likewise.
10900         * config/fp-bit.c: Likewise.
10901         * config/frv/frv.h: Likewise.
10902         * config/m88k/m88k.c: Likewise.
10903         * config/mcore/mcore.c: Likewise.
10904         * config/rs6000/darwin.h: Likewise.
10905         * config/rs6000/gnu.h: Likewise.
10906         * config/rs6000/linux.h: Likewise.
10907         * config/rs6000/linux64.h: Likewise.
10908         * config/rs6000/rs6000.c: Likewise.
10909         * config/rs6000/rs6000.h: Likewise.
10910         * config/sh/sh.c: Likewise.
10911         * config/sparc/sparc.c: Likewise.
10912         * config/sparc/ultra1_2.md: Likewise.
10913
10914 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10915
10916         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10917         memory operand when source is 0 (K constraint).
10918         ("movsi_internal"): Likewise.
10919         ("movdf_internal"): Likewise.
10920         ("movsf_internal"): Likewise.
10921
10922 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10923
10924         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10925         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10926         (rs6000_xcoff_encode_section_info): Likewise.
10927         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10928
10929 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10930
10931         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10932
10933 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10934
10935         * stmt.c (struct nexting): Remove unused alt_end_label field.
10936         (expand_start_loop): Delete initialization of alt_end_label.
10937         (expand_start_null_loop): Likewise.
10938         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10939
10940 2002-09-13  Richard Henderson  <rth@redhat.com>
10941
10942         * Makefile.in (toplev.o): Depend on real.h.
10943         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10944
10945 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10946
10947         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10948         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10949         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10950
10951 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10952
10953         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10954
10955 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10956
10957         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10958         ia64*-*-linux*): Set extra_parts.
10959         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10960         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10961
10962 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10963
10964         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10965         * config/h8300/h8300.c: Likewise.
10966         * config/h8300/h8300.h: Likewise.
10967         * config/h8300/h8300.md: Likewise.
10968         * doc/invoke.texi: Likewise.
10969
10970 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10971
10972         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10973
10974 2002-09-13  Richard Henderson  <rth@redhat.com>
10975
10976         * config/alpha/alpha.md (attr type): Add callpal.
10977         (imb, trap, load_tp, set_tp): Use it.
10978         * config/alpha/ev4.md (ev4_callpal): New.
10979         * config/alpha/ev5.md (ev5_callpal): New.
10980         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10981         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10982         (alphaev5_insn_pipe): Likewise.
10983
10984 2002-09-13  Andreas Jaeger  <aj@suse.de>
10985
10986         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10987
10988 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10989
10990         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10991         LIB2ADDEH): New, set to NULL.
10992         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10993
10994 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10995
10996         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10997         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10998         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10999         Add declarations.
11000         (_U_Qfneg): Remove.
11001
11002 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
11003
11004         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
11005         for H8/300, H8S aa:8 mode.
11006         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
11007         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
11008         for H8/300 aa:8 mode.
11009
11010 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
11011
11012         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
11013         insns.
11014
11015 2002-09-12  Richard Henderson  <rth@redhat.com>
11016
11017         * Makefile.in (HOST_PRINT): Use print-rtl1.o
11018         (print-rtl.o): Don't define GENERATOR_FILE.
11019         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
11020         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
11021         unless GENERATOR_FILE.
11022
11023 2002-09-12  Stan Shebs  <shebs@apple.com>
11024
11025         * config/darwin.h (USER_LABEL_PREFIX): Define here...
11026         * config/i386/darwin.h: ... instead of here.
11027
11028         * target.h (struct gcc_target): New field
11029         terminate_dw2_eh_frame_info.
11030         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11031         (TARGET_INITIALIZER): Add it.
11032         * dwarf2out.c (output_call_frame_info): Use target hook.
11033         * dwarf2asm.c (dw2_asm_output_delta): Use macro
11034         ASM_OUTPUT_DWARF_DELTA if defined.
11035         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
11036         (ASM_OUTPUT_DWARF_DELTA): Ditto.
11037         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
11038         (ASM_OUTPUT_DWARF_PCREL): Ditto.
11039         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
11040         (powerpc-*-darwin*): Ditto.
11041         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
11042         to work correctly for Darwin.
11043         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
11044         (STARTFILE_SPEC): Add crtbegin.o.
11045         (ENDFILE_SPEC): Define.
11046         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
11047         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
11048         (ASM_OUTPUT_DWARF_DELTA): Define.
11049         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11050         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
11051
11052 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
11053
11054         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
11055         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
11056         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
11057
11058 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
11059
11060         * toplev.c: Move default definition of USER_LABEL_PREFIX...
11061         * defaults.h: ... here.
11062
11063 2002-09-12  Richard Henderson  <rth@redhat.com>
11064
11065         * vax.c: Include tree.h earlier.
11066
11067 2002-09-12  Stan Shebs  <shebs@apple.com>
11068
11069         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
11070         (machopic_operand_p): Ditto.
11071
11072 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11073
11074         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11075         Fix a comment typo.
11076
11077 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11078
11079         * toplev.c (do_abort): Fix a comment typo.
11080
11081 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11082
11083         * cselib.c: Fix comment formatting.
11084         * gengtype.c: Likewise.
11085
11086 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11087
11088         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
11089         (udivmodhi4): Likewise.
11090
11091 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
11092             Roger Sayle  <roger@eyesopen.com>
11093
11094         * i386.c (any_fp_register_operand, fp_register_operand,
11095         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
11096         New predicate functions.
11097         * i386-protos.h:  Add their prototypes.
11098         * i386.h: Add them to PREDICATE_CODES.
11099         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
11100         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
11101         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
11102         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
11103         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
11104         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
11105         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
11106         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
11107         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
11108         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
11109         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
11110         Use these new predicates to simplify and correct the use of
11111         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
11112
11113 2002-09-12  Jason Merrill  <jason@redhat.com>
11114
11115         * diagnostic.c (output_add_identifier): New fn.
11116         * diagnostic.h: Declare it.
11117
11118         * calls.c (store_one_arg): Use size_in_bytes to determine the
11119         amount of space to push.
11120
11121 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
11122
11123         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
11124
11125 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
11126
11127         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
11128         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
11129         (s390_select_ccmode): Likewise.
11130         (s390_branch_condition_mask): Likewise.
11131         (optimization_options): Do not set flag_branch_on_count.
11132         (s390_split_branches): Handle doloop branches.
11133         (s390_chunkify_pool): Likewise.
11134         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
11135         ("doloop_end"): New expander.
11136         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
11137         associated splitters): New.
11138
11139 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11140
11141         * genattrtab.c (simplify_cond): Remove unused variable(s).
11142         * global.c (record_conflicts): Likewise.
11143         * jump.c (rebuild_jump_labels): Likewise.
11144         * loop.c (scan_loop, check_final_value): Likewise.
11145         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
11146         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
11147         * rtlanal.c (reg_set_p): Likewise.
11148         * stmt.c (expand_asm_operands, expand_decl): Likewise.
11149         * genautomata.c (empty_reserv): Remove.
11150         * loop.c (max_luid): Likewise.
11151         * sched-rgn.c (bitlst_table_size): Likewise.
11152
11153 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
11154
11155         Reimplement gcov format.
11156         * gcov-io.h: Replace.
11157         * gcov.c: Reimplement.
11158         * gcov-iov.c: New file.
11159         * gcov-dump.c: New file.
11160         * libgcc2.c (L_bb): Replace with ...
11161         (L_gcov): ... this.
11162         (struct bb_function_info, struct bb): Remove.
11163         (inhibit_libc): Never inhibit.
11164         (gcov_list, gcov_crc): New static variables.
11165         (gcov_version_mismatch): New static function.
11166         (__bb_exit_func): Renamed to ...
11167         (__gcov_exit): ... here. Made static. Reimplement.
11168         (__gcov_init_func): Rename to ...
11169         (__gcov_init): ... here. Check version, update crc.
11170         (__bb_fork_func): Rename to ...
11171         (__gcov_flush): ... here.
11172         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
11173         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
11174         * calls.c (expand_call): Call __gcov_flush.
11175         * profile.c (bb_file, last_bb_file_name): Remove.
11176         (bbg_file_name): New global variable.
11177         (output_gcov_string): Remove.
11178         (get_exec_counts): Reimplement.
11179         (branch_prob): Reimplement gcov file writing.
11180         (init_branch_prob): Create bbg_file_name, don't create
11181         bb_file_name.
11182         (end_branch_prob): Adjust. Don't remove counter file when
11183         instrumenting ourselves.
11184         (create_profiler): Adjust.
11185         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
11186         point to gcov-io.h.
11187         * Makefile.in (LANGUAGES): Add gcov-dump.
11188         (coverageexts): Remove .bb.
11189         (STAGESTUFF): Add gcov-dump.
11190         (LIB2FUNCS_ST): Replace _bb with _gcov.
11191         (profile.o): Depend on gcov-iov.h.
11192         (final.o): Don't depend on profile.h, gcov.h.
11193         (gcov.o): Depend on gcov-iov.h.
11194         (gcov-iov.o): New target.
11195         (gcov-iov): New target.
11196         (gcov-iov.h): New target.
11197         (gcov-dump.o): New target.
11198         (GCOV_DUMP_OBJS): New variable.
11199         (gcov-dump): New target.
11200         (distclean): Remove coverageexts.
11201         (stage1): Remove coverageexts.
11202
11203 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
11204
11205         * fold-const.c (make_range): Only narrow to signed range if
11206         the signed range is smaller than the unsigned range.
11207
11208 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
11209
11210         * emit-rtl.c (set_mem_size): New function.
11211         * expr.h (set_mem_size): Declare.
11212         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
11213         (expand_block_move): Instead, use adjust_address and
11214         replace_equiv_address to generate proper aliasing info.
11215         Move common code out of conditionals.  Localize vars.
11216
11217 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
11218
11219         * optabs.c (expand_binop): Minor cleanup.
11220         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
11221
11222 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
11223
11224         * print-tree.c (print_node): Print the restrict qualifier.
11225
11226 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
11227
11228         * doc/install.texi: Fix typos.
11229
11230 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
11231
11232         * Makefile.in: Remove all references to s-under and underscore.c.
11233         * collect2.c, tlink.c: Change all uses of prepends_underscore
11234         to look directly at USER_LABEL_PREFIX.
11235
11236 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
11237
11238         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
11239         alignment to csect.
11240         (rs6000_xcoff_unique_section): Only set section name for public
11241         data.
11242         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
11243         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
11244         duplicate definition.
11245
11246 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11247
11248         * pa.md (extzv): Check predicates before emitting extzv_32.
11249         (insv): Likewise.
11250
11251 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
11252
11253         * config/s390/s390.h (MOVE_MAX): Define to correct value.
11254         (MAX_MOVE_MAX): Define.
11255         (MOVE_BY_PIECES_P): Define.
11256         (CLEAR_BY_PIECES_P): Define.
11257
11258 2002-09-10  Denis Chertykov  <denisc@overta.ru>
11259
11260         * config/avr/avr.md (movstrhi): Use right operands for conversion.
11261
11262 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
11263
11264         PR c/7873
11265         * arm.md (insv): Use reg_or_int_operand for operand[3].
11266
11267 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
11268
11269         * rs6000.c (rs6000_assemble_visibility): Protect declaration
11270         inside macro.  Correct function definition typo.
11271         (rs6000_xcoff_section_type_flags): New function.
11272         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
11273         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
11274         with appropriate PIC test.
11275         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
11276         determine readonly.
11277         (rs6000_binds_local_p): Combine PIC flags.
11278         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
11279         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
11280
11281 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11282
11283         * h8300.md: Fix signed/unsigned warnings.
11284         * mcore.md: Likewise.
11285         * mn10300.c (mask_ok_for_mem_btst): Likewise.
11286
11287 2002-09-09  Per Bothner  <per@bothner.com>
11288
11289         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
11290         characters, and only print TREE_STRING_LENGTH chars.
11291
11292 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
11293
11294         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
11295         (ASM_FILE_END) New.
11296         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
11297         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
11298         * config/ia64/ia64.c (ia64_asm_output_external): Create list
11299         of external functions if TARGET_HPUX_LD is true.
11300         (ia64_hpux_add_extern_decl): New, routine to put names on
11301         list of external functions.
11302         (ia64_hpux_asm_file_end): Put out declarations for external
11303         functions if and only if they are used.
11304
11305 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11306
11307         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
11308         on TARGET_64BIT before pic register restore.
11309
11310 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
11311
11312         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
11313         (TARGET_HAVE_TLS): New description.
11314
11315 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
11316
11317         * doc/extend.texi (Statement Exprs): Fix broken link.
11318
11319 2002-09-09  Denis Chertykov  <denisc@overta.ru>
11320
11321         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
11322         right conversion of operands[1].
11323
11324 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
11325
11326         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
11327         commutative.  Use "nonimmediate_operand" instead of "register_operand"
11328         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
11329
11330         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
11331         as commutative.
11332
11333         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
11334         mark as commutative.  Use "nonimmediate_operand" instead of
11335         "register_operand" as predicate for operand 1.
11336
11337         ("movstrictsi"): Fix typo in insn name.
11338
11339 2002-09-09  Jan Hubicka  <jh@suse.cz>
11340
11341         * i386.c (index_register_operand): New.
11342         * i386.h (predicate_codes): Add new predicate.
11343         * i386.md (lea_general_*): Use index_register_operand
11344         (ashift to lea splitter): Do not produce invalid leas
11345         (ashift to mov+ashift split): New.
11346
11347 2002-09-09  Nick Clifton  <nickc@redhat.com>
11348
11349         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
11350         Fix folding marks.
11351
11352 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
11353             J"orn Rennecke <joern.rennecke@superh.com>
11354
11355         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
11356
11357 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
11358
11359         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
11360         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
11361         attributes.
11362
11363 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
11364
11365         * basic_block.h (gcov_type): Explain why it is signed.
11366         * final.c: Don't include profile.h.
11367         (struct function_list, functions_head, functions_tail,
11368         end_final): Moved to profile.c
11369         (final): Move arc chaining code to profile.c.
11370         * function.c (prepare_function_start): Remove duplicate line.
11371         * output.h (end_final): Remove prototype.
11372         * predict.c (estimate_loops_at_level): Use gcov_type.
11373         * profile.c (struct function_list, functions_head,
11374         functions_tail): Moved from final.c
11375         (need_func_profiler): Remove.
11376         (instrument_edges): Don't set need_func_profiler.
11377         (get_exec_counts): Avoid signed/unsigned warning.
11378         (compute_checksum): Use crc32.
11379         (branch_prob): Adjust. Chain onto functions_head.
11380         (init_branch_prob): Absorb init_edge_profiler.
11381         (init_edge_profiler): Remove.
11382         (create_profiler): Moved and renamed from final.c:end_final.
11383         Emit data and constructor.
11384         (output_func_start_profiler): Remove.
11385         * profile.h (struct profile_info): checksum is unsigned.
11386         * rtl.h (output_func_start_profiler): Remove prototype.
11387         (create_profiler): Declare.
11388         * toplev.c (compile_file): Call create_profiler, if instrumenting
11389         arcs. Don't call end_final.
11390
11391 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11392
11393         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
11394
11395 2002-09-08  Richard Henderson  <rth@redhat.com>
11396
11397         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
11398         (DW_OP_GNU_push_tls_address): New.
11399         (DW_OP_lo_user): Fix.
11400         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
11401         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
11402         (size_of_loc_descr): Likewise.
11403         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
11404         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
11405         (loc_descriptor_from_tree): Handle TLS variables.
11406         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
11407         (add_location_or_const_value_attribute): ... not here.  Defer
11408         to loc_descriptor_from_tree for TLS variables.
11409
11410         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
11411         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
11412         * config/i386/i386-protos.h: Update.
11413
11414 2002-09-08  Roger Sayle  <roger@eyesopen.com>
11415
11416         PR optimization/6405
11417         * unroll.c (loop_iterations): last_loop_insn should be the previous
11418         non-note instruction before loop->end.
11419         * loop.c (strength_reduce): The conditional jump is the last
11420         non-note instruction before loop->end (as above).
11421
11422 2002-09-08  Roger Sayle  <roger@eyesopen.com>
11423
11424         * combine.c (try_combine): Handle the case that undobuf.other_insn
11425         has been turned into a return or unconditional jump, by inserting
11426         a BARRIER if necessary.
11427         (simplify_set):  Test if a condition code setter has a constant
11428         comparison at compile time, if so convert this insn to a no-op move
11429         and update/simplify the condition code user (undobuf.other_insn).
11430
11431 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
11432
11433         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
11434         (CLEAR_INSN_CACHE): Define.
11435
11436 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
11437
11438         * basic-block.h: Fix comment formatting.
11439         * c-common.c: Likewise.
11440         * c-common.h: Likewise.
11441         * c-lex.c: Likewise.
11442         * c-pretty-print.c: Likewise.
11443         * cfglayout.c: Likewise.
11444         * cfgloop.c: Likewise.
11445         * defaults.h: Likewise.
11446         * et-forest.c: Likewise.
11447         * explow.c: Likewise.
11448         * function.h: Likewise.
11449         * gcov.c: Likewise.
11450         * genattrtab.c: Likewise.
11451         * gengtype.c: Likewise.
11452         * ifcvt.c: Likewise.
11453         * libgcc2.c: Likewise.
11454         * loop.c: Likewise.
11455         * profile.c: Likewise.
11456         * ra-build.c: Likewise.
11457         * real.c: Likewise.
11458         * rtl.h: Likewise.
11459         * tracer.c: Likewise.
11460         * tree-inline.c: Likewise.
11461         * varasm.c: Likewise.
11462
11463 2002-09-08  Jan Hubicka  <jh@suse.cz>
11464
11465         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
11466         handling.
11467
11468         * loop.c (loop_givs_reduce):  Emit addition after.
11469
11470 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
11471
11472         * varasm.c (default_assemble_visibility): Rename from
11473         assemble_visibility.
11474         * output.h: Here too.
11475         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
11476         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
11477
11478 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
11479
11480         * reload.c (find_reloads <p constraint>): Pass operand_mode to
11481         find_reloads_address.
11482
11483 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
11484
11485         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
11486         (anonymous pattern): Likewise.
11487
11488 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11489
11490         * machmode.def: Add modes for half-float vectors.
11491
11492 2002-09-07  Scott Snyder  <snyder@fnal.gov>
11493
11494         PR target/7374
11495         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
11496
11497 2002-09-07  Roger Sayle  <roger@eyesopen.com>
11498
11499         * basic-block.h (struct loop): Remove unused cont_dominator field.
11500
11501 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11502
11503         * varasm.c (decode_rtx_const): Don't check undefined field for
11504         CONST_VECTOR.
11505
11506 2002-09-07  Glen Nakamura  <glen@imodulo.com>
11507
11508         PR opt/7814
11509         * sched-deps.c (sched_analyze_insn): Make sure to add insn
11510         to reg_last->sets after flushing the dependency lists to guarantee
11511         that subsequent clobbers will be dependent on it.
11512
11513 2002-09-07  Igor Shevlyakov <igor@microunity.com>
11514
11515         * combine.c (simplify_shift_const): Calculate rotate count
11516         correctly for vector operands.
11517
11518 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
11519
11520         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
11521         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
11522         tree_expr_nonnegative_p.
11523         (build_conditional_expr): Likewise.
11524         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
11525
11526 2002-09-07  Richard Henderson  <rth@redhat.com>
11527
11528         * builtins.def (inf, inff, infl): Mark const.
11529         (huge_val, huge_valf, huge_vall): Likewise.
11530         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
11531
11532         * real.c (ereal_inf): Clear E before use.
11533
11534 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
11535
11536         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
11537         an expander and an anonymous pattern.  Zero out the upper half
11538         of the dividend in the expander.
11539         (udivmodqi4): Likewise.
11540
11541 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
11542
11543         * config/h8300/h8300.c: Fix formatting.
11544         * config/h8300/h8300.h: Likewise.
11545         * config/h8300/h8300.md: Likewise.
11546
11547 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11548
11549         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
11550         information.
11551
11552 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
11553
11554        * rtlanal.c (dead_or_set_regno_p): Fix typo.
11555
11556 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
11557
11558         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11559
11560         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
11561         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11562         (TARGET_ASM_OUT): Add the above here.
11563         * target.h (struct gcc_target): Add "visibility" field.
11564         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
11565         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
11566         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11567         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
11568
11569 2002-09-06  Ziemowit Laski <zlaski@apple.com>
11570
11571         * c-lang.c (objc_is_id): New stub.
11572         * c-tree.h (objc_is_id): New forward declaration.
11573         * c-typeck.c (build_c_cast): Do not strip protocol
11574         qualifiers from 'id' type.
11575         * objc/objc-act.c (objc_comptypes): Correct handling
11576         of protocol qualifiers.
11577         (objc_is_id): New.
11578
11579 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
11580
11581         * pentium.md (pentium-firstvboth): Fix typo.
11582
11583 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
11584
11585         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
11586         (enum shift_type, enum h8_cpu): Likewise.
11587         (INL, ROT, LOP, SPC macros): Likewise.
11588         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
11589         const designator.
11590         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
11591         space efficient algorithms when optimize for codesize.
11592
11593 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11594
11595         Fix PR/1727 and long-standing failing testcase
11596         objc/formal-protocol-6.m.
11597         * objc-act.c (build_protocol_expr): If compiling for the GNU
11598         runtime, create a list of Protocol statically allocated instances
11599         if it doesn't exist, then add the Protocol object to this same
11600         list.
11601         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
11602         instead of TREE_CHAIN.
11603
11604 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11605
11606         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
11607         10k.  Fixed category dumping - print out category names with the
11608         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
11609         interface.
11610         (finish_objc): Fixed the -gen-decls option.  It was printing out
11611         only the last class.  Dump an interface declaration of all classes
11612         being compiled instead.
11613
11614 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
11615
11616         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
11617         prototype.
11618         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
11619         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
11620         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
11621         rather than GEN_INT.
11622         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
11623         (return_addr_mask, *check_arch2): New.
11624
11625 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
11626
11627         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
11628         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
11629         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
11630         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
11631         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
11632         "adddf3", "*adddf3", "*adddf3_ibm",
11633         "addsf3", "*addsf3", "*addsf3_ibm",
11634         "muldi3", "mulsi3", "mulsidi3",
11635         "muldf3", "*muldf3", "*muldf3_ibm",
11636         "mulsf3", "*mulsf3", "*mulsf3_ibm",
11637         "*anddi3_cc", "*anddi3_cconly", "anddi3",
11638         "*andsi3_cc", "*andsi3_cconly", "andsi3",
11639         "*iordi3_cc", "*iordi3_cconly", "iordi3",
11640         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
11641         "*xordi3_cc", "*xordi3_cconly", "xordi3",
11642         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
11643         instead of "register_operand" as predicate for "%0" operand.
11644
11645 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
11646
11647         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
11648         unconditionally when gcc_cv_as_flags64 checks are gone.
11649         * configure: Rebuilt.
11650
11651 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
11652
11653         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
11654         2002-07-26 change.  Comment.
11655
11656 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11657
11658         * frv.c (frv_unique_section, frv_select_section,
11659         frv_select_rtx_section): Delete.
11660         (frv_in_small_data_p): New.
11661         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
11662         TARGET_ASM_SELECT_RTX_SECTION): Delete.
11663         (TARGET_IN_SMALL_DATA_P): Define.
11664
11665 2002-09-05  Dale Johannesen  <dalej@apple.com>
11666
11667         * reload1.c (reload):  Retain only those memory clobbers
11668         added for variable-array handling.
11669
11670 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11671
11672         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
11673         return-in-memory rules.
11674         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
11675
11676 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11677
11678         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
11679         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
11680
11681 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11682
11683         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
11684         not a compile-time constant for the non-IBM case.
11685         * config/arm/arm-protos.h (arm_float_words_big_endian): New
11686         prototype.
11687         * config/arm/arm.c (arm_float_words_big_endian): New function.
11688         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
11689         if TARGET_VFP  and not TARGET_HARD_FLOAT.
11690         (ARM_FLAG_VFP, TARGET_VFP): Define.
11691         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
11692
11693 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11694
11695         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
11696         URLs.  Fix AIX wording.
11697
11698 2002-09-05  Stan Shebs  <shebs@apple.com>
11699
11700         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
11701         -fPIC equivalent on Darwin.
11702
11703 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11704
11705         * sh.c (sh_expand_builtin): Return early if encountering an
11706         error_mark for a type.
11707
11708 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
11709
11710         * config/s390/s390.c (s390_expand_plus_operand): Do not require
11711         double-word scratch register.
11712         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
11713
11714         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
11715         "*cli"): Replace s_operand by memory_operand.
11716         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
11717
11718 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
11719
11720         * config/h8300/h8300.c (asm_file_start): Add a missing
11721         semicolon.
11722
11723 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11724
11725         * c-typeck.c (build_function_call): Remove unused variable(s).
11726         (build_c_cast): Likewise.
11727         * calls.c (rtx_for_function_call): Likewise.
11728         * cfglayout.c (duplicate_insn_chain): Likewise.
11729         * cfgloop.c (flow_loop_nodes_find): Likewise.
11730         * cfgrtl.c (split_edge): Likewise.
11731         * df.c (df_ref_create): Likewise.
11732         * except.c (expand_end_catch): Likewise.
11733         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11734         * function.c (emit_return_into_block): Likewise.
11735         (reposition_prologue_and_epilogue_notes): Likewise.
11736         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11737         * combine.c (subst_prev_insn, need_refresh): Remove.
11738         * dwarf2out.c (primary_filename): Remove.
11739         * final.c (new_block): Remove.
11740         * gcse.c (orig_bb_count): Remove.
11741
11742 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11743
11744         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11745         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11746         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
11747         directly instead of using a function pointer.
11748
11749 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
11750
11751         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11752         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11753         (ix86_output_addr_diff_elt) Likewise.
11754         (x86_output_mi_thunk) Likewise.
11755         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11756
11757 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11758
11759         * frv.c (frv_encode_section_info): Fix error in last change.
11760
11761 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11762
11763         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11764         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11765         (TARGET_BINDS_LOCAL_P): Define.
11766         (rs6000_override_options): Save original flag_pic value.
11767         (rs6000_elf_select_section): Call default_elf_select_section_1.
11768         (rs6000_elf_unique_section): Call default_unique_section_1.
11769         (rs6000_elf_in_small_data_p): New function.
11770         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11771         (rs6000_xcoff_select_section): Update based on defaults.
11772         (rs6000_xcoff_unique_section): Set to basic name if not common.
11773         (rs6000_binds_local_p): New function.
11774         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11775         targetm.have_srodata_section if SDATA_EABI.
11776         (TARGET_IN_SMALL_DATA_P): Define.
11777
11778 2002-09-04  Dale Johannesen  <dalej@apple.com>
11779
11780         * varasm.c (struct rtx_const, decode_rtx_const):
11781         Make veclo and vechi fields not share storage.
11782
11783 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11784
11785         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11786         for moving.
11787         (move_movables): Abort if we see the first insn of a libcall.
11788
11789 2002-09-04  Richard Henderson  <rth@redhat.com>
11790
11791         * builtin-types.def (BT_FN_FLOAT): New.
11792         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11793         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11794         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11795         * builtins.c (fold_builtin_inf): New.
11796         (fold_builtin): Call it.
11797         * real.c (ereal_inf): New.
11798         * real.h: Declare it.
11799         * doc/extend.texi: Document new builtins.
11800
11801 2002-09-04  Richard Henderson  <rth@redhat.com>
11802
11803         * cse.c (cse_insn): Avoid subreg games if the equivalence
11804         is already in the proper mode.
11805
11806 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11807
11808         PR c/7102
11809         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11810
11811 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11812
11813         * pa.md (setccfp0, setccfp1): New patterns.
11814
11815 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11816
11817         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11818         frv_select_section, frv_select_rtx_section,
11819         frv_encode_section_info, frv_unique_section): Delete.
11820         * frv.c: Update for target hooks.
11821         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11822         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11823         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11824
11825 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11826
11827         * ip2k-protos.h (function_prologue, function_epilogue,
11828         encode_section_info): Update to match target hook specification.
11829         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11830         (function_prologue, function_epilogue, encode_section_info):
11831         Update to match target hook specification.
11832         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11833         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11834         (NOTICE_UPDATE_CC): Cast to void.
11835         * ip2k.md: Add defaults in switch statements.
11836
11837 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11838
11839         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11840         issues.
11841
11842 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11843
11844         * config/sparc/t-netbsd64: Disable multilib for now.
11845
11846 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11847
11848         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11849         * target.h (gcc_target): Add have_srodata_section member.
11850         * varasm.c (section_category): Add SECCAT_SRODATA.
11851         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11852         READONLY_SDATA_SECTION defined.
11853         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11854         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11855         (default_unique_section_1): Likewise.
11856
11857 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11858
11859         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11860         into DImode pieces.
11861
11862         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11863         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11864         for floating-point register class.
11865         * pa.c (function_arg): Fix handling of modes wider than one word for
11866         TARGET_64BIT.
11867
11868 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11869
11870         * combine.c (make_compound_operation): Don't generate zero / sign
11871         extensions in floating point modes.
11872
11873 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11874
11875         * doc/c-tree.texi: Fix overfull hboxes.
11876         * doc/cppopts.texi: Ditto.
11877         * doc/extend.texi: Ditto.
11878         * doc/gty.texi: Ditto.
11879         * doc/invoke.texi: Ditto.
11880         * doc/makefile.texi: Ditto.
11881         * doc/rtl.texi: Ditto.
11882         * doc/standards.texi: Ditto.
11883         * doc/tm.texi: Ditto.
11884
11885 2002-09-04  Richard Henderson  <rth@redhat.com>
11886
11887         * c-common.c (builtin_define_with_hex_fp_value): New.
11888         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11889
11890 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11891
11892         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11893         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11894         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11895         Warn that these options can break ABI compatibility.
11896
11897 2002-09-04  Richard Henderson  <rth@redhat.com>
11898
11899         * real.c (ereal_to_decimal): Add digits parameter.
11900         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11901         * c-pretty-print.c (pp_c_real_literal): Update call.
11902         * print-rtl.c (print_rtx): Likewise.
11903         * print-tree.c (print_node_brief, print_node): Likewise.
11904         * sched-vis.c (print_value): Likewise.
11905         * config/arc/arc.c (arc_print_operand): Likewise.
11906         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11907         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11908         * config/i386/i386.c (print_operand): Likewise.
11909         * config/i960/i960.c (i960_print_operand): Likewise.
11910         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11911         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11912         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11913         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11914         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11915         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11916         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11917         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11918         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11919         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11920         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11921         * config/mips/mips.c (print_operand): Likewise.
11922         * config/ns32k/ns32k.c (print_operand): Likewise.
11923         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11924         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11925         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11926
11927 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11928
11929         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11930         xtensa_multibss_section_type_flags.
11931         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11932
11933 2002-09-04  Richard Henderson  <rth@redhat.com>
11934
11935         * doc/install-old.texi: Don't mention enquire.
11936         * doc/sourcebuild.texi: Update float.h description.
11937
11938 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11939
11940         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11941
11942 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11943
11944         * builtins.c (build_function_call_expr): Remove prototype, export
11945         as non-static and add a comment above function definition.
11946         (builtin_mathfn_code): New function to check for math builtins.
11947         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11948         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11949         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11950         log(sqrt(x)) as log(x)/2.0.
11951
11952         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11953         in new "builtins.c" section.  Place the build_range_type prototype
11954         with the other prototypes from "tree.c".
11955
11956         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11957         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11958         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11959         x/exp(y) as x*exp(-y).
11960
11961 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11962
11963         * varasm.c (default_section_type_flags): Append _1 to name with
11964         shlib parameter.  Use original name to call new function with
11965         implicit flag_pic.
11966         (decl_readonly_section): Likewise.
11967         (default_elf_select_section): Likewise.
11968         (default_unique_section): Likewise.
11969         (default_bind_local_p): Likewise.
11970         (categorize_decl_for_section): Add shlib parameter to use in place
11971         of implicit flag_pic.
11972         * output.h: Declare new functions with _1 and shlib argument.
11973
11974 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11975
11976         * doc/install.texi: Fix typos, formatting problems, and obvious
11977         overfull/underfull boxes.
11978
11979         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11980         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11981         include its file, compat.texi.
11982         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11983
11984 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11985
11986         Debian BTS Bug #157416
11987         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11988         * cpplib.c (destringize_and_run): Kludge around getting
11989         tokens from in-progress macros.
11990         (_cpp_do__Pragma): Simplify.
11991
11992 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11993
11994         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11995         (CPP_CPU_SPEC): Remove.
11996         (TARGET_CPU_CPP_BUILTINS): New.
11997         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11998         (CPP_SPEC): Remove.
11999         (TARGET_OS_CPP_BUILTINS): New.
12000         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
12001         (TARGET_OS_CPP_BUILTINS): New.
12002         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
12003         TARGET_OS_CPP_BUILTINS.
12004         (CPP_PREDEFINES): Remove.
12005         (CPLUSPLUS_CPP_SPEC): Remove.
12006         (TARGET_OS_CPP_BUILTINS): New.
12007
12008 2002-09-03  Richard Henderson  <rth@redhat.com>
12009
12010         * Makefile.in (USER_H): Add ginclude/float.h.
12011         (FLOAT_H): Remove.
12012         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
12013         (mostlyclean): Don't remove float.h intermediate files.
12014         (distclean): Don't remove float.h.
12015         * config.gcc: Remove all float_format references.
12016         * configure.in (float_format, float_h_file): Remove.
12017
12018         * c-common.c: Include tree-inline.h.
12019         (builtin_define_with_int_value): New.
12020         (builtin_define_type_precision): Use it.
12021         (builtin_define_float_constants): New.
12022         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
12023         __FLT_EVAL_METHOD__.
12024         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
12025         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
12026         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
12027         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
12028         (TARGET_FLT_EVAL_METHOD): New.
12029
12030         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
12031         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
12032         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
12033         * ginclude/float.h: New.
12034
12035 2002-09-03  Stan Shebs  <shebs@apple.com>
12036
12037         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
12038         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
12039         (PREFERRED_DEBUGGING_TYPE): Ditto.
12040         (ASM_OUTPUT_IDENT): Remove empty definition.
12041
12042 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
12043
12044         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
12045         cxx_target.
12046         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
12047         handling routine for builtin pragma.
12048         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
12049         Registered pragma handling routine.
12050         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
12051         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
12052         If builtin pragma seen for math routine and C89 conformance is
12053         requested use different math function in order to set errno.
12054         * t-ia64 (ia64-c.o): Add new rule for new file.
12055
12056 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
12057
12058         * config/s390/s390.md ("movti"): Add Q->Q alternative.
12059         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
12060         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
12061
12062         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
12063         "*movsf_ss"): Remove.
12064
12065 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12066
12067         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
12068         Delete macros.
12069
12070 2002-09-03   Arati Dikey  <aratid@kpit.com>
12071
12072         * h8300.c (asm_file_start): Corrected optimization comment.
12073
12074 2002-09-03  Stan Shebs  <shebs@apple.com>
12075
12076         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
12077         * c-tree.h (recognize_objc_keyword): Remove decl.
12078         * c-typeck.c (comp_target_types): Update a comment.
12079
12080 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
12081
12082         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
12083         and register validity checks.
12084         (general_s_operand): Adapt to s390_decompose_address interface change.
12085         (q_constraint): Likewise.
12086         (s390_expand_plus_operand): Likewise.
12087         (legitimiate_address_p): Likewise.
12088         (legitimate_la_operand_p): Likewise.
12089         (legitimize_la_operand): Likewise.
12090         (print_operand_address): Likewise.
12091         (print_operand): Likewise.
12092
12093 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12094
12095         PR objc/5956:
12096         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
12097         was causing the new selector never to match the existing ones
12098         (Patch by Alexander Malmberg <alexander@malmberg.org>).
12099
12100 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
12101
12102         * config/i386/i386.md ("femms"): Add "memory" attr "none".
12103
12104 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
12105
12106         * expr.c (expand_expr): Remove extraneous comment and code.
12107
12108 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
12109
12110         * stor-layout (finish_builtin_struct): Renamed and moved from c++
12111         frontend. Take chain of fields. Allow NULL alignment type.
12112         * tree.h (finish_builtin_struct): Declare.
12113
12114 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12115
12116         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
12117         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
12118         config/arc/arc.c config/arc/arc.h config/arm/aout.h
12119         config/arm/arm.c config/arm/arm.h config/arm/arm.md
12120         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
12121         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
12122         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
12123         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
12124         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
12125         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
12126         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
12127         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
12128         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
12129         config/pa/pa.h config/pa/pa.md config/romp/romp.h
12130         config/rs6000/linux64.h config/rs6000/lynx.h
12131         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
12132         config/s390/s390.c config/s390/s390.md config/sh/sh.c
12133         config/sparc/sparc.c config/sparc/sysv4.h
12134         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
12135         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
12136         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
12137
12138         * doc/tm.texi: Update docs.
12139         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
12140         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
12141
12142 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12143
12144         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
12145         * arc.c (arc_internal_label): New function.
12146         (TARGET_ASM_INTERNAL_LABEL): Set.
12147         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12148         * arm.c (arm_internal_label): New function.
12149         (TARGET_ASM_INTERNAL_LABEL): Set.
12150         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12151         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12152         * i370.c (i370_internal_label): New function.
12153         (TARGET_ASM_INTERNAL_LABEL): Set.
12154         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12155         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12156         * m68k.c (m68k_hp320_internal_label): New function.
12157         (TARGET_ASM_INTERNAL_LABEL): Set.
12158         * m88k.c (m88k_internal_label): New function.
12159         (TARGET_ASM_INTERNAL_LABEL): Set.
12160         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12161         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
12162         * genoutput.c (output_prologue): Include target.h in output file.
12163         * output.h (default_internal_label): Declare.
12164         * sdbout.c: Include target.h.
12165         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
12166         TARGET_ASM_OUT.
12167         * target.h (internal_label): Add to struct gcc_target.
12168         * varasm.c (default_internal_label): New function.
12169
12170 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12171
12172         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12173         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12174         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12175         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12176         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12177         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12178         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12179         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12180         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12181         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12182         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12183         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12184         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12185         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12186         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12187         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12188         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12189         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12190         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12191         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12192         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12193         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12194         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12195         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12196         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12197         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
12198         * mmix.c (mmix_asm_output_internal_label): Likewise.
12199         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12200         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12201         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12202         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12203         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12204         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12205         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12206         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12207         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12208         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12209         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12210         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12211         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12212         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12213         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12214         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12215         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12216         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12217         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12218
12219         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
12220
12221 2002-08-31  Richard Henderson  <rth@redhat.com>
12222
12223         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
12224
12225 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12226
12227         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
12228
12229 2002-08-30  Richard Henderson  <rth@redhat.com>
12230
12231         PR opt/7515
12232         * c-objc-common.c: Include target.h.
12233         (c_cannot_inline_tree_fn): Don't auto-inline functions that
12234         don't bind locally.  Factor setting DECL_UNINLINABLE.
12235         * Makefile.in (c-objc-common.o): Update.
12236
12237 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
12238
12239         * doc/install.texi (Configuration, Building): Fix a typo and
12240         some formatting directives.
12241
12242 2002-08-30  Paul Koning <pkoning@equallogic.com>
12243
12244         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
12245         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
12246         implemented" note.
12247         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
12248         for alphabetic order.
12249         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
12250         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
12251         (VAX_HALFWORD_ORDER): Document.
12252         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
12253         IEEE float format.
12254         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
12255         (ASM_OUTPUT_LABEL_REF): Fix font.
12256         (CASE_VECTOR_SHORTEN_MODE): Ditto.
12257
12258 2002-08-30  Denis Chertykov  <denisc@overta.ru>
12259
12260         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
12261         stuff.
12262         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
12263         CONST_DOUBLE constants.
12264
12265 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
12266
12267         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
12268         related defines to...
12269         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
12270         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
12271         as a no-op.
12272
12273 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
12274
12275         * config/arm/arm.c (arm_asm_output_labelref): New function.
12276         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
12277         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
12278
12279 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
12280
12281         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
12282         memory exhausted" workarounds.
12283
12284 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12285
12286         * diagnostic.c (fancy_abort): Don't repeat "internal error".
12287         * toplev.c (crash_signal): Likewise.
12288
12289 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12290
12291         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
12292         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
12293         Extended, updated documentation.
12294         (-Wundeclared-selector): Documented.
12295
12296 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
12297
12298         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
12299         the value 1.  Do not undef before defining.
12300         * config/darwin.h: Likewise.
12301         * config/dbx.h: Likewise.
12302         * config/dbxcoff.h: Likewise.
12303         * config/dbxelf.h: Likewise.
12304         * config/elfos.h: Likewise.
12305         * config/interix.h: Likewise.
12306         * config/lynx-ng.h: Likewise.
12307         * config/lynx.h: Likewise.
12308         * config/netware.h: Likewise.
12309         * config/psos.h: Likewise.
12310         * config/svr3.h: Likewise.
12311         * config/alpha/alpha.h: Likewise.
12312         * config/alpha/elf.h: Likewise.
12313         * config/alpha/vms.h: Likewise.
12314         * config/arc/arc.h: Likewise.
12315         * config/arm/aout.h: Likewise.
12316         * config/arm/coff.h: Likewise.
12317         * config/c4x/c4x.h: Likewise.
12318         * config/h8300/h8300.h: Likewise.
12319         * config/i386/cygwin.h: Likewise.
12320         * config/i386/djgpp.h: Likewise.
12321         * config/i386/gas.h: Likewise.
12322         * config/i386/gstabs.h: Likewise.
12323         * config/i386/i386-coff.h: Likewise.
12324         * config/i386/i386-interix.h: Likewise.
12325         * config/i386/sco5.h: Likewise.
12326         * config/i386/svr3dbx.h: Likewise.
12327         * config/i386/sysv3.h: Likewise.
12328         * config/i386/win32.h: Likewise.
12329         * config/i386/x86-64.h: Likewise.
12330         * config/i960/i960.h: Likewise.
12331         * config/ia64/ia64.h: Likewise.
12332         * config/ip2k/ip2k.h: Likewise.
12333         * config/m32r/m32r.h: Likewise.
12334         * config/m68k/3b1.h: Likewise.
12335         * config/m68k/3b1g.h: Likewise.
12336         * config/m68k/ccur-GAS.h: Likewise.
12337         * config/m68k/coff.h: Likewise.
12338         * config/m68k/hp2bsd.h: Likewise.
12339         * config/m68k/hp310g.h: Likewise.
12340         * config/m68k/hp320g.h: Likewise.
12341         * config/m68k/hp3bsd.h: Likewise.
12342         * config/m68k/hp3bsd44.h: Likewise.
12343         * config/m68k/linux-aout.h: Likewise.
12344         * config/m68k/m68k-aout.h: Likewise.
12345         * config/m68k/mot3300.h: Likewise.
12346         * config/m68k/netbsd.h: Likewise.
12347         * config/m68k/openbsd.h: Likewise.
12348         * config/m68k/pbb.h: Likewise.
12349         * config/m68k/plexus.h: Likewise.
12350         * config/m68k/sun2.h: Likewise.
12351         * config/m68k/sun3.h: Likewise.
12352         * config/m68k/tower-as.h: Likewise.
12353         * config/m68k/vxm68k.h: Likewise.
12354         * config/m88k/aout-dbx.h: Likewise.
12355         * config/m88k/m88k-aout.h: Likewise.
12356         * config/mcore/mcore-elf.h: Likewise.
12357         * config/mcore/mcore-pe.h: Likewise.
12358         * config/mips/elf.h: Likewise.
12359         * config/mips/elf64.h: Likewise.
12360         * config/mips/iris5gas.h: Likewise.
12361         * config/mips/iris6.h: Likewise.
12362         * config/mips/mips.h: Likewise.
12363         * config/mips/sni-gas.h: Likewise.
12364         * config/mmix/mmix.h: Likewise.
12365         * config/ns32k/netbsd.h: Likewise.
12366         * config/pa/pa64-hpux.h: Likewise.
12367         * config/romp/romp.h: Likewise.
12368         * config/rs6000/sysv4.h: Likewise.
12369         * config/rs6000/xcoff.h: Likewise.
12370         * config/sh/coff.h: Likewise.
12371         * config/sh/elf.h: Likewise.
12372         * config/sparc/linux64.h: Likewise.
12373         * config/sparc/liteelf.h: Likewise.
12374         * config/sparc/netbsd.h: Likewise.
12375         * config/sparc/openbsd.h: Likewise.
12376         * config/sparc/pbd.h: Likewise.
12377         * config/sparc/sp64-elf.h: Likewise.
12378         * config/sparc/sp86x-elf.h: Likewise.
12379         * config/sparc/sparc.h: Likewise.
12380         * config/vax/vax.h: Likewise.
12381         * config/vax/vaxv.h: Likewise.
12382
12383 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
12384
12385         * h8300.c (shift_alg_hi): Various tweaks to improve performance
12386         of HImode shifts.
12387         (get_shift_alg): Corresponding changes.
12388
12389 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12390
12391         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
12392
12393 2002-08-29  Richard Henderson  <rth@redhat.com>
12394
12395         * expr.h (enum block_op_methods): New.
12396         (emit_block_move): Update prototype.
12397         * expr.c (block_move_libcall_safe_for_call_parm): New.
12398         (emit_block_move_via_loop): New.
12399         (emit_block_move): Use them.  New argument METHOD.
12400         (emit_push_insn): Always respect the given alignment.
12401         (expand_assignment): Update call to emit_block_move.
12402         (store_expr, store_field, expand_expr): Likewise.
12403         * builtins.c (expand_builtin_apply): Likewise.
12404         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
12405         * function.c (expand_function_end): Likewise.
12406         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
12407         * config/sparc/sparc.c (sparc_va_arg): Likewise.
12408         * calls.c (expand_call, emit_library_call_value_1): Likewise.
12409         (save_fixed_argument_area): Use emit_block_move with
12410         BLOCK_OP_CALL_PARM instead of move_by_pieces.
12411         (restore_fixed_argument_area): Likewise.
12412         (store_one_arg): Fix alignment parameter to emit_push_insn.
12413
12414 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12415
12416         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
12417
12418 2002-08-29  Catherine Moore  <clm@redhat.com>
12419
12420         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
12421         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
12422         (PREDICATE_CODES): Include new predicates.
12423         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
12424         (TARGET_SWITCHES):  Add strict-align.
12425         (TARGET_STRICT_ALIGN): New.
12426         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
12427         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
12428         Define.
12429         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
12430         v850_muldi3.
12431         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
12432         L_callt_save_r2_r31, L_return_r2_r31,
12433         L_save_all_interrupt): Change addi to add.
12434         (L_save_interrupt, L_return_interrupt): Rework.
12435         (__return_r31):  Correct .size directive.
12436         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
12437         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
12438         New routines.
12439         * config/v850/v850.c (expand_prologue): Call
12440         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
12441         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
12442         (reg_or_int9_operand): New predicate.
12443         (reg_or_const_operand): New routine.
12444         * config/v850/v850.md (return_interrupt): Changed from
12445         restore_interrupt.
12446         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
12447         (callt_save_interrupt): Change save sequence.
12448         (callt_return_interrupt): New.
12449         (save_interrupt): Don't use runtime function for LONG_CALLS
12450         and TARGET_PROLOG_FUNCTION.
12451         (save_all_interrupt): Likewise.
12452         (mulsi3): Use new predicate.
12453         (moviscc): Disallow some combination of constants.
12454         Fix define_split for sasf insns, so that it will not generate bad
12455         code if operand0 and operand5 are the same.
12456         * config/v850/v850-protos.h: Prototype new predicates.
12457
12458 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
12459
12460         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
12461         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
12462
12463 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12464
12465         * c-common.c (builtin_define_type_precision): New function.
12466         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
12467         wchar_t is unsigned in C++.
12468         * doc/cpp.texi (Common Predefined Macros): Document
12469         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
12470         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12471         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12472
12473 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
12474
12475         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
12476         section.  Mention that it is enabled by -Wall.
12477         (-Wall): Mention that there can be language-specific warnings as well.
12478         (-Wctor-dtor-privacy): Mention that it is enabled by default.
12479         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
12480
12481 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
12482
12483         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
12484         if it is ever live.
12485
12486         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
12487         attribute for SHCOMPACT.
12488
12489         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
12490         appropriately.
12491         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
12492         by the ABI.
12493
12494         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
12495
12496 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
12497
12498         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
12499         "MASK_GAS|MASK_ABICALLS".
12500         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
12501         (TARGET_DEFAULT): Remove.
12502         (MACHINE_TYPE): Undefine before defining.
12503         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
12504
12505 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
12506
12507         * c-common.c (warn_abi): New variable.
12508         * c-common.h (warn_abi): Likewise.
12509         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
12510         (c_common_decode_option): Handle it.
12511         * doc/invoke.texi: Document -Wabi.
12512
12513 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12514
12515         * c-common.c (warn_undeclared_selector): New variable.
12516         * c-common.h (warn_undeclared_selector): Idem.
12517         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
12518         to on when -Wundeclared-selector is found.
12519         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
12520         * objc/objc-act.c (build_selector_expr): If
12521         warn_undeclared_selector is set, check that the selector has
12522         already been defined, and emit a warning if not.
12523
12524 2002-08-27  Nick Clifton  <nickc@redhat.com>
12525             Catherine Moore  <clm@redhat.com>
12526             Jim Wilson  <wilson@cygnus.com>
12527
12528         * config.gcc: Add v850e-*-* target.
12529         Add --with-cpu= support for v850.
12530         * config/v850/lib1funcs.asm: Add v850e callt functions.
12531         * config/v850/v850.h: Add support for v850e target.
12532         * config/v850/v850.c: Add functions to support v850e target.
12533         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
12534         * config/v850/v850.md: Add patterns for v850e instructions.
12535         * doc/invoke.texi: Document new v850e command line switches.
12536
12537 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
12538                           Aldy Hernandez <aldyh at redhat dot com>
12539
12540         * doc/tm.texi: Applied numerous fixes to the automaton based
12541         scheduler descrition.
12542
12543 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
12544
12545         * i386.c (classify_argument): Handle variable sized objects.
12546
12547 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12548
12549         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
12550
12551 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
12552
12553         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
12554
12555 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
12556
12557         * i386.c (classify_argument): Properly compute word size of the analyzed object.
12558
12559 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
12560
12561         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
12562         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
12563         accordingly.
12564         (attribute insn_class): Provide default definitions based on type.
12565         Remove all insn-specific settings.
12566         (various function units): Remove old SH4 scheduling.
12567         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
12568         New attributes.  Set them where appropriate.
12569         (cpu unit FS): Don't define / use.
12570         (F3, load_store): New cpu units.
12571         (F01): New reservation.
12572         (all insn_reservations): Make dependent on sh4 pipeline model.
12573         Fix latencies.
12574         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
12575         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
12576         (mt insn_reservation): Use type mt_group.
12577         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
12578         sh4_fload and sh4_store.
12579         (insn_reservation branch_zero and branch): Replace with sh4_branch.
12580         (insn_reservation branch_far): Replace with sh4_return.
12581         (insn_reservation return_from_exp): Rename to:
12582         (sh4_return_from_exp).  Change to be just d_lock*5.
12583         (insn_reservation lds_to_pr): Rename to:
12584         (sh4_lds_to_pr).  Change to be just d_lock*2.
12585         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
12586         d_lock*2.
12587         (insn_reservation prload_mem): Rename to:
12588         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
12589         (insn_reservation fpscr_store): Rename to:
12590         (fpscr_load).  Change to d_lock,nothing,F1*3.
12591         (insn_reservation fpscr_store_mem): Rename to:
12592         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
12593         (insn_reservation multi): Change to
12594         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
12595         (insn_reservation fp_arith): Change to issue,F01,F2.
12596         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
12597         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
12598         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
12599         (insn_reservation fp_double_cmp): Change to
12600         d_lock,(d_lock+F01),F1+F2,F2.
12601         (insn_reservation dp_div): Change to
12602         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
12603         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
12604         (sh_adjust_cost, SHcompact): Differentiate between different
12605         kinds of dependencies.  Drop factor of ten for superscalar.
12606         Use new instruction types.  Add new exception rules.
12607
12608         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
12609
12610         * sh.md (mperm_w): Add DONE.
12611
12612 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
12613
12614         * longlong.h: Import current PowerPC defintion from GMP-4.1.
12615
12616         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
12617
12618         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
12619
12620 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12621
12622         * sh.h (MAX_FIXED_MODE_SIZE): Define.
12623
12624 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
12625
12626         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
12627         delimiter.
12628
12629 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12630
12631         * c-common.c (cpp_define_data_format): New function.
12632         (cb_register_builtins): Call it.
12633
12634         * doc/cpp.texi (Common Predefined Macros): Document
12635         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12636         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12637         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
12638         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
12639         __TARGET_USES_VAX_H_FLOAT__.
12640
12641 2002-08-26  Ziemowit Laski <zlaski@apple.com>
12642
12643         * objc/objc-act.c (get_super_receiver): If inside a class method
12644         of a category, cast the receiver to 'id' before accessing the 'isa'
12645         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
12646
12647 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
12648
12649         * config/s390/s390-protos.h (s390_function_prologue,
12650         s390_function_epilogue): Remove.
12651         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
12652         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
12653
12654         config/s390/s390.c (s390_machine_dependent_recorg): New function.
12655         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
12656         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
12657         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
12658         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
12659
12660         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
12661         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
12662         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
12663         function is not a leaf function.  Use save_gprs and restore_gprs.
12664         (s390_emit_epilogue): Likewise.
12665         (save_gprs, restore_gprs): New functions.
12666         (struct s390_frame): Remove return_reg_saved_p member.
12667         (save_fprs_p): Remove.
12668         (s390_optimize_prolog): New function.
12669         (s390_legitimate_reload_constant): Remove now unnecessary check.
12670
12671         (s390_function_count): Remove.
12672         (s390_output_symbolic_const): Replace s390_function_count by
12673         current_function_funcdef_no.
12674         (s390_output_constant_pool): Likewise.
12675
12676         (legitimize_pic_address): Use regs_ever_live to track PIC register
12677         instead of current_function_uses_pic_offset_table.
12678         (s390_emit_prologue): Likewise.
12679         config/s390/s390.md ("call", "call_value"): Likewise.
12680
12681 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
12682
12683         * c-opts.c (find_opt): Don't complain about wrong languages
12684         here.  Return exact matches even for wrong language.
12685         (c_common_decode_option): Complain about wrong languages
12686         here.
12687
12688 2002-08-24  Stuart Hastings  <stuart@apple.com>
12689
12690         * function.h (struct function): Add flag
12691         all_throwers_are_sibcalls.
12692         * except.c (set_nothrow_function_flags): Replaces
12693         nothrow_function_p. Set new flag.
12694         * except.h (set_nothrow_function_flags): Replaces
12695         nothrow_function_p.
12696         * dwarf2out.c (struct dw_fde_struct): Add flag
12697         all_throwers_are_sibcalls.
12698         (output_call_frame_info): Test it.
12699         (dwarf2out_begin_prologue) Propagate it from cfun to
12700         dw_fde_struct.
12701         * toplev.c (rest_of_compilation): Update calls to
12702         nothrow_function_p.
12703
12704 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
12705
12706         * ggc-page.c (compute_inverse): Short circuit calculation for
12707         object sizes larger than half a page.
12708
12709 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
12710
12711         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
12712         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
12713         default.
12714         (rs6000_elf_unique_section): Likewise.
12715
12716 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12717
12718         * ns32k.c (ns32k_globalize_label): Delete.
12719         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12720
12721 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
12722
12723         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12724         for loading delta with num_insns_constant_wide.  Calculate
12725         delta_low, delta_high without using a conditional.
12726
12727 2002-08-22  Jason Merrill  <jason@redhat.com>
12728
12729         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12730         * c-common.def: Adjust.
12731         * c-dump.c (c_dump_tree): Adjust.
12732         * c-semantics.c (genrtl_return_stmt): Adjust.
12733         * c-pretty-print.c (pp_c_statement): Adjust.
12734         * tree-inline.c (copy_body_r): Adjust.
12735
12736 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
12737
12738         * ggc-page.c: Avoid division in ggc_set_mark.
12739         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12740         compute_inverse): New.
12741         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12742         (init_ggc): Initialize inverse_table.
12743
12744 2002-08-22  Tom Tromey  <tromey@redhat.com>
12745
12746         * doc/install.texi (Configuration): Document --datadir.
12747
12748 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
12749
12750         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12751
12752 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
12753
12754         * gengtype-lex.l (ID): Allow underscore as first character.
12755
12756 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
12757
12758         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12759         function.
12760         (rs6000_xcoff_asm_named_section): Rename.
12761         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12762
12763 2002-08-21  Tom Tromey  <tromey@redhat.com>
12764
12765         For PR java/6005 and PR java/7611:
12766         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12767         (fold): Likewise.
12768         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12769         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12770         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12771         (LANG_HOOKS_INITIALIZER): Use it.
12772         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12773         field.
12774
12775 2002-08-21  Stan Shebs  <shebs@apple.com>
12776
12777         * tree.c (finish_vector_type): Fix a typo in a comment.
12778         * Makefile.in: Fix "the the" stutters in comments.
12779         * genautomata.c: Ditto.
12780         * ifcvt.c: Ditto.
12781         * regrename.c: Ditto.
12782         * config/alpha/alpha.c: Ditto.
12783         * config/alpha/vms-crt0-64.c: Ditto.
12784         * config/alpha/vms-crt0.c: Ditto.
12785         * config/alpha/vms-psxcrt0-64.c: Ditto.
12786         * config/alpha/vms-psxcrt0.c: Ditto.
12787         * config/d30v/d30v.h: Ditto.
12788         * config/fr30/fr30.h: Ditto.
12789         * config/rs6000/rs6000.c: Ditto.
12790         * config/stormy16/stormy16.h: Ditto.
12791         * doc/md.texi: Ditto.
12792
12793 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12794
12795         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12796
12797 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12798
12799         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12800         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12801         Also make duplicate modifiers such as "short short" into hard
12802         errors.
12803
12804 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12805             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12806
12807         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12808         to the actual end.  Add '@end table' and '@table @code'.
12809
12810 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12811
12812         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12813
12814         * unroll.c (biv_total_increment): Don't try to compute the total
12815         increment for FP BIVs.
12816
12817 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12818
12819         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12820         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12821         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12822         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12823         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12824         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12825         (GLOBAL_ASM_OP): Define.
12826         * arm.c (aof_globalize_label): New function.
12827         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12828         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12829         * c4x.c (c4x_globalize_label): New function.
12830         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12831         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12832         (GLOBAL_ASM_OP): Define.
12833         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12834         * darwin-protos.h (darwin_globalize_label): Declare.
12835         * darwin.c (darwin_globalize_label): New function.
12836         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12837         (ASM_GLOBALIZE_LABEL): Delete.
12838         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12839         * dsp16xx.c (asm_output_common): Use target hook.
12840         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12841         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12842         (GLOBAL_ASM_OP): Define.
12843         * i370.c (i370_globalize_label): New function.
12844         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12845         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12846         * i386.c (ix86_asm_file_end): Use target hook.
12847         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12848         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12849         * ia64.c (ia64_asm_output_external): Likewise.
12850         * ia64/sysv4.h: Update comment.
12851         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12852         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12853         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12854         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12855         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12856         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12857         * mmix.c (mmix_asm_globalize_label): Likewise.
12858         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12859         (GLOBAL_ASM_OP): Define.
12860         * ns32k.c (ns32k_globalize_label): New function.
12861         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12862         (ASM_GLOBALIZE_LABEL): Delete.
12863         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12864         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12865         * pa.c (pa_globalize_label): New function.
12866         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12867         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12868         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12869         (GLOBAL_ASM_OP): Define.
12870         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12871         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12872         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12873         (GLOBAL_ASM_OP): Define.
12874         * v850.c (v850_output_aligned_bss): Use target hook.
12875         * vax.c (vms_globalize_label): New function.
12876         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12877         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12878         (GLOBAL_ASM_OP): Define.
12879         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12880         * doc/tm.texi: Update docs.
12881         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12882         target hook.
12883         * final.c (output_alternate_entry_point): Likewise.
12884         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12885         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12886         * output.h (assemble_global): Delete.
12887         (default_globalize_label): Declare.
12888         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12889         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12890         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12891         * target.h (gcc_target): Add globalize_label member.
12892         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12893         globalize_decl): Use target hook.
12894         (assemble_global): Delete.
12895         (default_globalize_label): New function.
12896
12897 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12898
12899         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12900
12901 2002-08-20  Devang Patel  <dpatel@apple.com>
12902         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12903
12904 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12905
12906         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12907         * arm.c (thumb_output_function_prologue): Likewise.
12908         * avr.c (print_operand): Likewise.
12909         * c4x.c (c4x_print_operand): Likewise.
12910         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12911         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12912         * cris.c (cris_target_asm_function_prologue,
12913         cris_asm_output_mi_thunk): Likewise.
12914         * h8300.c (print_operand): Likewise.
12915         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12916         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12917         * m68hc11.c (asm_print_register, print_operand,
12918         print_operand_address): Use stdio instead of asm_fprintf.
12919         (print_operand_address): Fix format specifier.
12920         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12921         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12922         asm_fprintf.
12923         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12924         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12925         * m68k.c (m68k_output_function_prologue,
12926         m68k_output_function_epilogue, print_operand): Likewise.
12927         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12928         Likewise.  Fix format specifier.
12929         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12930         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12931         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12932
12933 2002-08-15  Eric Christopher  <echristo@redhat.com>
12934             Jeff Knaggs  <jknaggs@redhat.com>
12935
12936         * config.gcc (mipsisa64sr71k-elf): New target.
12937         * config/mips/sr71k.md: New file.
12938         * config/mips/mips.md: Use it.
12939         (rot*): Add sr71k specifics.
12940         * config/mips/t-sr71k: New file.
12941         * config/mips/mips.h (sr71k): New cpu.
12942         (TARGET_SR71K): Use it.
12943         (TUNE_SR71K): Ditto.
12944         (GENERATE_BRANCHLIKELY): Ditto.
12945         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12946         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12947         * config/mips/mips.c (sr71k): New cpu.
12948         (mips_use_dfa_pipeline_interface): Use.
12949
12950 2002-08-15  Eric Christopher  <echristo@redhat.com>
12951             Richard Sandiford <rsandifo@redhat.com>
12952             Aldy Hernandez  <aldyh@redhat.com>
12953             Graham Stott    <grahams@redhat.com>
12954             Michael Meissner  <meissner@redhat.com>
12955             Gavin Romig-Koch  <gavin@redhat.com>
12956             Ken Raeburn  <raeburn@cygnus.com>
12957             Alexandre Oliva <aoliva@redhat.com>
12958
12959         * config.gcc (mips64vr-elf): New target.
12960         * config/mips/5400.md: New file.
12961         * config/mips/5500.md: Ditto.
12962         * config/mips/mips.md: Use them.
12963         (frsqrt): New.
12964         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12965         cpus.
12966         (mips_issue_rate): Use them.
12967         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12968         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12969         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12970         cpus.
12971         (TARGET_MIPSx): Use them.
12972         (TUNE_MIPSx): Ditto.
12973         (GETNATE_MULT3_SI): Ditto.
12974         (ISA_HAS_BRANCHLIKELY): Ditto.
12975         (ISA_HAS_CONDMOVE): Ditto.
12976         (ISA_HAS_NMADD_NMSUB): Ditto.
12977         (ISA_HAS_MULHI): New. Ditto.
12978         (ISA_HAS_MULS): Ditto.
12979         (ISA_HAS_MSAC): Ditto.
12980         (ISA_HAS_MACC): Ditto.
12981         (ISA_HAS_ROTR_SI): Ditto.
12982         (ISA_HAS_ROTR_DI): Ditto.
12983         (RTX_COSTS): Use.
12984
12985 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12986
12987         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12988         at head.
12989         (remove_dup_nonsys_dirs): New function.
12990         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12991         (merge_include_chains): Remove non-system include directories from
12992         quote and bracket include chains when they duplicate equivalent system
12993         directories.
12994         * doc/cpp.texi (-I): Update.
12995         * doc/cppopts.texi (-I): Update.
12996         * doc/install.texi (--with-local-prefix): Further document usage of
12997         this option.
12998         * doc/invoke.texi (-I): Update.
12999
13000 2002-08-20  Richard Henderson  <rth@redhat.com>
13001
13002         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
13003         (emit_block_move): Split out subroutines.
13004         (emit_block_move_via_movstr): New.
13005         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
13006         (emit_block_move_libcall_fn): New.  Construct function prototype for
13007         bcopy as well.
13008         (clear_storage): Split out subroutines.
13009         (clear_storage_via_clrstr): New.
13010         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
13011         (clear_storage_libcall_fn): New.  Construct function prototype for
13012         bzero as well.
13013         (emit_push_insn): Use emit_block_move.
13014         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
13015         (store_constructor): Likewise.
13016
13017 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
13018
13019         * objc/objc-act.c (building_objc_message_expr): Rename to
13020         current_objc_message_selector.
13021
13022 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
13023
13024         * objc/objc-act.c (build_ivar_chain): Remove.
13025         (objc_copy_list): Likewise.
13026         (get_class_ivars): Inline call to removed build_ivar_chain
13027         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
13028         slot; use that slot (rather than CLASS_IVARS) when accessing
13029         ivars for base classes.  Call copy_list and chainon instead of
13030         objc_copy_list.
13031         (build_private_template): Call get_class_ivars instead of
13032         build_ivar_chain.
13033         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
13034         (continue_class): Call get_class_ivars instead of
13035         build_ivar_chain.
13036         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
13037         of DECL_BIT_FIELD (which may have been cleared).
13038         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
13039
13040 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13041
13042         * genautomata.c (output_translate_vect, output_state_ainsn_table,
13043         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
13044         in output file.
13045         (output_internal_min_issue_delay_func): Initialize variable in
13046         output file.
13047
13048 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
13049
13050         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
13051         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
13052
13053 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
13054             Steve Ellcey  <sje@cup.hp.com>
13055
13056         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
13057         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
13058         * explow.c (trunc_int_for_mode): Abort when the mode is not
13059         a scaler integer mode.
13060         * combine.c (expand_compound_operation): Don't expand Vector
13061         or Complex modes into shifts.
13062         (expand_field_assignment): Don't do bitwise arithmatic and
13063         shifts on Vector or Complex modes.
13064         (simplify_comparison): Don't call trunc_int_for_mode
13065         for VOIDmode.
13066         * recog.c (general_operand): Likewise.
13067         (immediate_operand): Likewise.
13068         (nonmemory_operand): Likewise.
13069
13070 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
13071
13072         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
13073         multi-instruction SImode constant.  Add REG_EQUAL note.
13074         * config/rs6000/rs6000.md (movsi splitter): Use
13075         rs6000_emit_set_const.
13076
13077 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13078
13079         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
13080         the macro test controlling its use.
13081
13082 2002-08-18  H.J. Lu  (hjl@gnu.org)
13083
13084         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
13085         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
13086         gnu_ld=yes.
13087         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
13088         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
13089         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
13090         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
13091         here.
13092         (cris-*-linux*): Remove setting thread_file here.
13093
13094 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
13095
13096         PR preprocessor/7602
13097         * cppinit.c (path_include): Treat the system environment
13098         variables as being cxx_aware.
13099
13100 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
13101
13102         * c-decl.c (flexible_array_type_p): New function.
13103         (grokdeclarator, finish_struct): Use it.
13104         * doc/extend.texi: Document constraints on use of structures with
13105         flexible array members.
13106
13107 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
13108
13109         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
13110         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
13111         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
13112
13113 2002-08-16  Stan Shebs  <shebs@apple.com>
13114
13115         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
13116         for ObjC with -fnext-runtime.
13117         * doc/cpp.texi: Document it.
13118
13119 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
13120
13121         * doc/install.texi (Final installation): Replace links to individual
13122         build status pages with a link to a common page that lists them all.
13123
13124 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
13125
13126         * doc/invoke.texi: Fix typo.
13127
13128 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
13129
13130         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
13131
13132 2002-08-16  Andrew Haley  <aph@redhat.com>
13133
13134         * tree-inline.c: Add includes for Java inliner.
13135         (remap_decl): Don't handle anonymous types for Java.
13136         (remap_block): Add handling for Java trees.
13137         (copy_scope_stmt): Conditionalize for non-Java use only.
13138         (copy_body_r): Handle Java trees.  Add handling for
13139         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
13140         (initialize_inlined_parameters):  Handle Java trees.
13141         (declare_return_variable): Likewise.
13142         (expand_call_inline): Handle Java trees.
13143         (walk_tree): Likewise.
13144         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
13145         (add_stmt_to_compound): New function.
13146
13147 2002-08-15  Richard Henderson  <rth@redhat.com>
13148
13149         * Makefile.in (LOOSE_WARN): Remove -fno-common.
13150         (NOCOMMON_FLAG): New substitution point.
13151         (GCC_WARN_CFLAGS): Include it.
13152         * configure.in (ac_checking): Set nocommon_flag.
13153         (nocommon_flag): New substitution point.
13154
13155 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
13156
13157         * c-tree.h (skip_evaluation): Move declaration...
13158         * c-common.h: ... here.
13159         * c-typeck.c (build_external_ref): Don't assemble_external nor
13160         mark a tree as used if skip_evaluation is set.
13161         * c-parse.in (typeof): New non-terminal to set skip_evaluation
13162         around TYPEOF.
13163         (typespec_nonreserved_nonattr): Use it.
13164
13165 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
13166
13167         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
13168         (xcoff_debug_hooks): Update end_prologue.
13169         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
13170         * debug.h (end_prologue): Add file arg.
13171         (end_epilogue): Add line and file args.
13172         (dwarf2out_end_epilogue): Add line and file args.
13173         (vmsdbgout_after_prologue): Remove.
13174         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
13175         (dwarf2_debug_hooks): Update end_prologue.
13176         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
13177         (dwarfout_end_prologue): Add file arg.
13178         * final.c (vmsdbgout_after_prologue): Remove
13179         (final_end_function): Update end_epilogue call.
13180         (final_scan_insn): Update end_prologue call.
13181         * sdbout.c (sdbout_end_epilogue): Add line and file args.
13182         (sdbout_end_prologue): Add file arg.
13183         (sdb_debug_hooks): Update end_prologue.
13184         (sdb_begin_prologue): Update sdbout_end_prologue call.
13185         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
13186         vmsdbgout_end_function.
13187         (vmsdbgout_end_prologue): New function renamed from
13188         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
13189         (vmsdbgout_end_function): New function.
13190         (vmsdbgout_end_epilogue): Add line and file args. Call
13191         vmsdbgout_source_line.
13192         (write_pclines): Write only valid line numbers.
13193         (write_srccorr): Don't write source correlation records if 0 lines.
13194         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
13195
13196 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
13197
13198         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
13199         (_Unwind_Internal_Ptr): 32 bit version for use in
13200         read_encoded_value_with_base.
13201         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
13202         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
13203         right size.
13204
13205 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13206
13207         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
13208         signed/unsigned warnings.
13209
13210         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
13211         record_reg_classes): Likewise.
13212
13213         * reload.c (reload_inner_reg_of_subreg, push_reload,
13214         find_reloads_address_1): Likewise.
13215
13216 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
13217
13218         * rs6000.c (output_mi_thunk): Return to function section on
13219         TARGET_ELF.
13220
13221         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
13222
13223 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
13224
13225         * config/s390/s390.c (legitimize_address): Optimize loading
13226         of large displacements.
13227
13228 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
13229
13230         * config/alpha/alpha-protos.h: Update.
13231
13232         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
13233         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
13234         (alpha_linkage_symbol_p): New static function.
13235         (print_operand_address): Print linkage operand.
13236
13237         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
13238         variables.
13239         (reloc_kind): New enum.
13240         (struct alpha_funcs): New struct.
13241         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
13242
13243         (alpha_need_linkage): Rewrite.
13244         (alpha_use_linkage): New global function.
13245         (alpha_write_linkage): Rewrite and make static.
13246         (alpha_write_one_linkage): Rewrite
13247
13248         (alpha_start_function): Remove procedure descriptor output.
13249         (alpha_end_function): Write linkages at end of each function.
13250
13251         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
13252         (call_vms_1, call_value_vms_1): Rewrite.
13253
13254         * config/alpha/vms.h (ASM_FILE_END): Remove.
13255
13256 2002-08-14  Richard Henderson  <rth@redhat.com>
13257
13258         * ggc-page.c (RTL_SIZE): New.
13259         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
13260         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
13261
13262 2002-08-14  Richard Henderson  <rth@redhat.com>
13263
13264         * calls.c: Include target.h.
13265         * Makefile.in (calls.o): Update.
13266
13267         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
13268         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
13269
13270 2002-08-14  Richard Henderson  <rth@redhat.com>
13271
13272         * Makefile.in (LOOSE_WARN): Add -fno-common.
13273         * c-common.h (constant_string_class_name): Add missing extern.
13274
13275 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
13276
13277         PR preprocessor/7358
13278         * c-opts.c (check_deps_environment_vars): Ignore main file
13279         for SUNPRO_DEPENDENCIES.
13280         * cppfiles.c (stack_include_file): Ignore main file if
13281         appropriate.
13282         * cpplib.h (struct cpp_options): New member in deps.
13283         * doc/cppenv.texi: Update.
13284
13285 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13286
13287         PR preprocessor/7526
13288         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
13289
13290 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
13291
13292         * doc/invoke.texi (-a): Remove documentation.
13293         (-fprofile-arcs): Remove reference to -a, -ax options.
13294         * doc/gcov.texi (Gcov Data Files): Data might be merged.
13295
13296 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13297
13298         Fix PR/7566
13299         * c-semantics.c (genrtl_case_label): Don't (mis)use
13300         warning_with_decl.
13301
13302 2002-08-14  Dale Johannesen  <dalej@apple.com>
13303
13304         * explow.c (emit_stack_restore):  Emit memory clobbers
13305         preceding the stack pop, to prevent the scheduler from
13306         moving refs to variable arrays below this pop.
13307         * reload1.c (reload):  Preserve these clobbers for sched2.
13308         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
13309
13310 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13311
13312         * c-opts.c (c_common_post_options): Correct test.
13313
13314 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13315
13316         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
13317         order in call to fprintf.
13318
13319 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13320
13321         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
13322
13323 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13324
13325         * reload.c (find_reloads): Handle constraint letters marked by
13326         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
13327         (alternative_allows_memconst): Likewise.
13328         * reload1.c (maybe_fix_stack_asms): Likewise.
13329         * recog.c (asm_operand_ok, preprocess_constraints,
13330         constrain_operands): Likewise.
13331         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13332         * local-alloc.c (block_alloc, requires_inout): Likewise.
13333         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13334
13335         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
13336         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13337         * doc/tm.texi: Document these two new target macros.
13338
13339         * config/s390/s390.c (s390_expand_plus_operand): Accept already
13340         valid operands.
13341         (q_constraint): New function.
13342         config/s390/s390-protos.h (q_constraint): Declare it.
13343         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
13344         (EXTRA_MEMORY_CONSTRAINT): New macro.
13345
13346         * config/s390/s390.md: Throughout the machine description,
13347         replace all instances of the constraint combinations 'Qo'
13348         or 'oQ' with simply 'Q'.
13349
13350 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13351
13352         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
13353         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
13354         (LIBGCC2_CFLAGS): Compile with -mrelax.
13355
13356 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13357
13358         * doc/invoke.texi: Document -minmax for 68HC12.
13359
13360         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
13361         ("uminqi3"): Likewise.
13362         ("uminhi3", "umaxhi3"): Likewise.
13363
13364         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
13365         (TARGET_MIN_MAX): Define.
13366         (TARGET_SWITCHES): New option -minmax/-mnominmax.
13367
13368 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13369
13370         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
13371         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
13372
13373         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
13374         (ret, declare, farsym): New gas macros.
13375         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
13376         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
13377         and declare the symbol far when compiled with -mlong-calls.
13378         (__far_trampoline): New for 68HC12 trampoline code to invoke a
13379         far handler using jsr/bsr.
13380
13381         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
13382         (jsr): New macro to transform a 'jsr' into a 'call'.
13383
13384 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13385
13386         * doc/invoke.texi: Document -mlong-calls for 68HC12.
13387
13388         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
13389         -mlong-calls is specified.
13390         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
13391         assembler directives.
13392         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
13393         (TARGET_SWITCHES): Add -mlong-calls options.
13394         (current_function_far): Declare.
13395
13396         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
13397         into account the page register saved on the stack.
13398         (m68hc11_override_options): Take into account -mlong-calls option.
13399         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
13400
13401         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
13402         if the function is going to be in 68HC12 banked memory (-mlong-calls).
13403         ("*return_16bit"): Likewise.
13404         ("*return_void"): Likewise.
13405         ("call", "call_value"): Use call for a far function call.
13406
13407 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13408
13409         * toplev.c (parse_options_and_default_flags): Don't call
13410         post_options here.
13411         (general_init): Initialize GC, pools and tree hash here,
13412         instead of lang_independent_init.
13413         (lang_independent_init): Rename backend_init.
13414         (do_compile): Call post_options hook; exit early if there
13415         have been errors after switch processing.
13416         (toplev_main): Update.
13417
13418 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13419
13420         * c-pretty-print.h: Guard against multiple inclusion.
13421         Robustify macros.
13422         (pp_c_attributes): Declare.
13423         * c-pretty-print.c (pp_c_attributes): New function.
13424
13425 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13426
13427         * m68k.c (m68k_output_function_prologue,
13428         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
13429         and NEWS/MOTOROLA.
13430         * genattrtab.c: Remove dpx2 comment.
13431         * libgcc2.c (__enable_execute_stack): Delete versions for
13432         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
13433         sony_news/SYSTYPE_BSD.
13434         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
13435         __gmicro__, __i860__, __NeXT__ and __pyr__.
13436         * rtl.h: Remove convex comment.
13437         * varasm.c: Likewise.
13438
13439 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13440
13441         * c-opts.c (lang_flags): Const-ify.
13442         * ra-build.c (undef_table): Likewise.
13443         * ra.c (eliminables): Likewise.
13444
13445 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13446
13447         * tree.h: Guard against multiple inclusion.
13448
13449 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
13450
13451         * reload1.c (reload_cse_simplify): Before checking
13452         REG_FUNCTION_VALUE_P, check REG_P.
13453
13454 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
13455
13456         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
13457
13458 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13459
13460         * c-opts.c (c_common_init_options): Extra braces needed.
13461
13462 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
13463
13464         * sh.c (sh_init_builtins): Add PARAMS to declaration.
13465         (sh_media_init_builtins, sh_expand_builtin): Likewise.
13466         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
13467         (sh_expand_binop_v2sf): Likewise.
13468         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
13469         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
13470         (sh_initialize_trampoline): Likewise.
13471
13472 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13473
13474         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
13475         new condition code modes.
13476         s390.c (s390_match_ccmode_set): Handle those new CC modes.
13477         (s390_select_ccmode): Likewise.
13478         (s390_branch_condition_mask): Likewise.
13479
13480         * s390-protos.h (s390_tm_ccmode): Declare.
13481         s390.c (s390_tm_ccmode): New function.
13482         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
13483
13484         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
13485         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
13486         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
13487
13488         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
13489         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
13490         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
13491         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
13492         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
13493
13494         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
13495         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
13496         "*cmpqi_ccs_0"): Remove, replace by ...
13497         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
13498         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
13499         "*tstqi", "*tstqi_cconly"): ... these new patterns.
13500
13501         ("*cmpsidi_ccs"): Remove, replace by ...
13502         ("*cmpsi_ccs_sign"): ... this new pattern.
13503         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
13504
13505         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
13506         ("*cli"): ... this new pattern.
13507
13508         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
13509         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
13510         New patterns.
13511         ("adddi3_64"): Rename to "*adddi3_64".
13512         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
13513         ("adddi3"): Adapt expander.
13514
13515         ("*addsi3_cc"): Allow "general_operand" for operand 2.
13516         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
13517         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
13518
13519         ("addhi3", "addqi3"): Remove, replace by ...
13520         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
13521
13522         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
13523         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
13524         ("subdi3"): Replace by insn and splitter "*subdi3_31".
13525         ("subdi3"): New expander.
13526
13527         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
13528
13529         ("subhi3", "subqi3"): Remove, replace by ...
13530         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
13531
13532         ("*muldi3_sign"): New pattern.
13533         ("muldi3"): Do not clobber CC.
13534         ("mulsi3"): Likewise.
13535         ("mulsi_6432"): Likewise.
13536
13537 2002-08-13  Denis Chertykov  <denisc@overta.ru>
13538
13539         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
13540         which can change CC0.
13541
13542 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
13543
13544         * gcse.c (adjust_libcall_notes): New function.
13545         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
13546
13547 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
13548
13549         * libgcc2.c (L_bb): Remove unneeded #includes.
13550         (__global_counters, __gthreads_active): Remove unused globals.
13551         (__bb_exit_func): Merge counts into files rather than appending.
13552         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
13553         (ALL_CFLAGS): ... to here.
13554
13555 2002-08-13  Denis Chertykov  <denisc@overta.ru>
13556
13557         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
13558         (function_epilogue): Don't calculate function size.
13559         (ip2k_set_compare): Don't use lookup_const_double.
13560         (asm_file_start): Initialization of commands_in_file removed.
13561         (asm_file_end): Output of commands_in_file removed.
13562
13563         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
13564         __INT_MAX__.
13565
13566 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13567
13568         * c-opts.c (c_common_init_options): Check option array is
13569         sorted if checking enabled.
13570
13571 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
13572
13573         * c-pretty-print.c: #include "c-tree.h".
13574         (pp_c_simple_type_specifier): Tweak.
13575         (pp_c_storage_class_specifier): New.
13576         (pp_c_function_specifier): Likewise.
13577         (pp_c_declaration_specifiers): Likewise.
13578         (pp_c_init_declarator): Likewise.
13579         (pp_c_declaration): Likewise.
13580         (pp_c_direct_declarator): Stub.
13581         (pp_c_declarator): Likewise.
13582         (pp_c_parameter_declaration): Likewise.
13583
13584 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13585
13586         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
13587         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
13588         struct deferred_opt): New.
13589         (COMMAND_LINE_OPTIONS): Add -M*.
13590         (missing_arg): Update.
13591         (c_common_decode_option): Handle -M*.
13592         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
13593         don't call cpp_post_options.
13594         (c_common_finish, check_deps_environment_vars): Update.
13595         * cppfiles.c (stack_include_file, handle_missing_header): Update.
13596         * cpphash.h (CPP_PRINT_DEPS): Remove.
13597         * cppinit.c: Don't include version.h.
13598         (cpp_create_reader): Don't call deps_init.  Initialize
13599         warn_long_long.
13600         (cpp_read_main_file): Init deps if necessary.
13601         (cpp_destroy): Conditionally free deps.
13602         (cpp_finish): Update.
13603         (no_tgt): Remove.
13604         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
13605         (cpp_post_options): Rename post_options.
13606         * cpplib.h (struct cpp_options): Remove some dependency options;
13607         move others to a new structure.
13608         (cpp_post_options): Remove.
13609         (cpp_finish): Comment.
13610         * fix-header.c (read_scan_file): Don't call cpp_post_options.
13611
13612 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13613
13614         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
13615         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
13616         MMIX_rR_REGNUM as clobbered.
13617         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
13618
13619 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
13620
13621         * diagnostic.h (output_formatted_scalar): Rename from
13622         output_formatted_integer.
13623         * diagnostic.def: Add DK_DEBUG.
13624         * diagnostic.c (output_decimal): Adjust.
13625         (output_long_decimal): Likewise.
13626         (output_unsigned_decimal): Likewise.
13627         (output_octal): Likewise.
13628         (output_long_octal): Likewise.
13629         (output_hexadecimal): Likewise.
13630         (output_long_hexadecimal): Likewise.
13631         * c-pretty-print.c (pp_c_type_specifier): New function.
13632         (pp_c_specifier_qualifier_list): Likewise.
13633         (pp_c_abstract_declarator): Likewise.
13634         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
13635
13636 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
13637
13638         * doc/trouble.texi (Disappointments): Add static constructor and
13639         destructor dependency information for AIX.
13640
13641 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13642
13643         * cpphash.h (struct printer): New from cppmain.c.
13644         (cpp_reader): New member.
13645         * cppmain.c (struct printer): Move to cpphash.h.
13646         (options, print): Remove.
13647         (account_for_newlines, print_line, maybe_print_line,
13648         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
13649         scan_translation_unit_trad, cb_line_change, cb_ident,
13650         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
13651         cb_def_pragma): Make reentrant.
13652
13653 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13654
13655         * real.c (ieee_64): Always define.
13656         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13657         (dec_h): Not used yet, hide it.
13658         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
13659         macro controlling use.
13660         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13661
13662 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13663
13664         * i386.md (tablejump): Sign extend the operand.
13665         * i386.c (classify_argument): Fix missed case from previous patch.
13666
13667 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13668
13669         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
13670         to c-copts.c.
13671         (warn_multichar): Die.
13672         (cb_register_builtins): Export.
13673         * c-common.h (warn_multichar, preprocess_file): Remove.
13674         (cb_register_builtins): New.
13675         * c-lang.c (c_init): Remove.
13676         (LANG_HOOKS_INIT): Use c_objc_common_init.
13677         * c-lex.c (init_c_lex): Don't canonicalize filename.
13678         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
13679         (preprocess_file): Make static.  Update for cpplib.
13680         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
13681         (c_common_post_options): Set some cpp options here.
13682         (c_common_init): Move from c-common.c.
13683         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
13684         * cpplib.h (struct cpp_options): Remove in_fname.
13685         (cpp_preprocess_file): Update.
13686         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
13687
13688 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13689
13690         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
13691
13692 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13693
13694         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
13695         backslash in comment preceeding macro definition.
13696         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
13697         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
13698         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
13699
13700 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13701
13702         * expr.c (store_expr): In condition for checking if value is
13703         generated in TARGET, move call to expr_size last.
13704
13705 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13706
13707         * c-common.c (c_common_init): Call preprocess_file instead.
13708         (c_common_finish): Move to c-opts.c.
13709         * c-common.h (preprocess_file): new.
13710         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
13711         check_deps_environment_vars, c_common_finish): New.
13712         (c_common_decode_option): Update for out_fname and dependencies.
13713         * cppinit.c (init_dependency_output, output_deps): Remove.
13714         (cpp_destroy): Update prototype.
13715         (cpp_add_dependency_target): New.
13716         (cpp_read_main_file): Don't overlay a buffer.
13717         (cpp_finish): Take a deps output stream and write deps to it.
13718         Return the error count.
13719         (cpp_post_options): Don't canonicalize out_fname, or do anything
13720         with dependencies.
13721         * cpplib.h (struct cpp_options): Remove out_fname and
13722         preprocess_only.
13723         (cpp_add_dependency_target): New.
13724         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13725         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
13726         set preprocess_only.  Don't handle the output stream directly.
13727
13728 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13729
13730         * dsp16xx.c (print_operand): Fix format specifier.
13731         * dsp16xx.md: Avoid automatic aggregate initialization.
13732         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13733         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13734         integer constant modifier.
13735         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13736         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13737         guards.
13738         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13739         * v850.c (v850_select_section): Mark parameter with
13740         ATTRIBUTE_UNUSED.
13741         * global.c (global_alloc): Const-ify.
13742         * ra-colorize.c (hardregset_to_string): Fix format specifier.
13743
13744 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13745
13746         * darwin-c.c (darwin_pragma_options): Const-ify.
13747         * darwin.c (machopic_non_lazy_ptr_name,
13748         machopic_validate_stub_or_non_lazy_ptr): Likewise.
13749         (machopic_indirect_data_reference): Wrap variables in macros
13750         controlling their use.
13751         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13752         (machopic_select_section): Use parentheses around && within ||.
13753         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13754
13755 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13756
13757         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13758         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13759         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13760         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13761         mdr_try_remove_redundant_insns, track_w_reload,
13762         mdr_try_wreg_elim): Make function static to match prototype.
13763         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13764         parameter with ATTRIBUTE_UNUSED.
13765
13766 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13767
13768         * arc.c (arc_init): Don't use ISO C style function definitions.
13769         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13770         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13771         * avr.h (progmem_section): Likewise.
13772         * h8300.c h8300_asm_insn_count): Likewise.
13773         * m32r.c (init_idents): Likewise.
13774         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13775         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13776         * xtensa.c (xtensa_build_va_list): Likewise.
13777
13778 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13779
13780         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13781         * c-opts.c (parse_option): Rename find_opt.
13782         (set_std_c99): New function.
13783         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13784         (missing_arg): Remove OPT_std_bad.  Handle -o.
13785         (c_common_decode_option): Handle input and output file names,
13786         -o and -remap.  Clean up -std= handling.
13787         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13788         (cpp_handle_option): Similarly.  Don't handle filenames.
13789
13790 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13791
13792         * i386.c (classify_argument): Fix computing of field's offsets.
13793
13794 2002-08-11  Andreas Jaeger  <aj@suse.de>
13795
13796         PR target/7531:
13797         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13798
13799 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13800
13801         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13802         reference to clk_objective_c with flag_objc.
13803         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13804         Likewise.
13805         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13806
13807 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13808
13809         * c-opts.c (set_std_cxx98, set_std_c89): New.
13810         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13811         (c_common_decode_option): Handle new switches from cppinit.c.
13812         Add -std=gnu++98.
13813         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13814         (no_arg, no_num): Remove.
13815         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13816         switches apart from -lang-objc and lang-asm.
13817         (cpp_handle_option): Similarly.
13818         * cpplib.h (cpp_set_lang): New.
13819         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13820         -std=gnu++98.
13821         * objc/lang-specs.h: Remove -ansi.
13822
13823 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13824                                Graham Stott
13825
13826         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13827         errors.
13828
13829 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13830
13831         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13832         emit_jump_insn): Fix uninitialized variable.
13833         * gcov.c (init_line_info): Likewise.
13834         * genautomata.c (transform_3): Add braces around ambiguous
13835         else.
13836         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13837         ATTRIBUTE_UNUSED.
13838         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13839         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13840         variable.
13841
13842         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13843         warnings in output files.
13844
13845 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13846
13847         * c-common.c (flag_objc): New.
13848         * c-common.h (c_language_kind): Get rid of clk_objective_c
13849         enum value.
13850         (flag_objc): New extern declaration.
13851         * c-decl.c (implicitly_declare): Call objc_check_decl
13852         instead of maybe_objc_check_decl.
13853         (finish_decl): Likewise.
13854         (grokfield): Likewise.
13855         (finish_struct): Likewise.
13856         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13857         (maybe_objc_comptypes): Rename to objc_comptypes.
13858         (maybe_building_objc_message_expr): Rename to
13859         objc_message_selector.
13860         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13861         replace with flag_objc as needed.
13862         * c-opts.c (c_common_init_options): Likewise.
13863         (c_common_decode_option): Likewise.
13864         * c-parse.in (init_reswords): Likewise.
13865         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13866         (maybe_objc_comptypes): Rename to objc_comptypes.
13867         (maybe_building_objc_message_expr): Rename to
13868         objc_message_selector.
13869         * c-typeck.c (comptypes): Call objc_comptypes instead of
13870         maybe_objc_comptypes, and/or objc_message_selector instead of
13871         maybe_building_objc_message_expr.
13872         (comp_target_types): Likewise.
13873         (convert_for_assignment): Likewise.
13874         (warn_for_assignment): Likewise.
13875         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13876         independently of those for other languages.
13877         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13878         (maybe_objc_check_decl): Delete.
13879         (maybe_building_objc_message_expr): Rename to
13880         objc_message_selector.
13881         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13882         clk_objective_c; set flag_objc flag.
13883
13884 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13885
13886         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13887
13888 2002-08-09  Dale Johannesen  <dalej@apple.com>
13889
13890         * config/rs6000/rs6000.md: Add sibcall patterns.
13891         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13892         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13893         Rewritten to handle sibcalls.
13894         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13895         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13896
13897 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13898
13899         * profile.c (da_file_name): New static var.
13900         (init_branch_prob): Initialize it.
13901         (end_branch_prob): Remove da file.
13902
13903         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13904         * configure.in (coverage_flags): Default to nothing.
13905         * configure: Rebuilt.
13906
13907 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13908
13909         * Makefile.in (c-opts.o): Update
13910         * c-opts.c: Include intl.h.
13911         (print_help): Move from cppinit.c.  Remove unused options.
13912         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13913         (missing_arg): Complain for switches without an argument.
13914         (c_common_decode_option): Reject missing joined arguments.
13915         Handle new switches from cppinit.c.
13916         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13917         (cpp_handle_option): Similarly.
13918         (print_help): Moved to c-opts.c.
13919         * cpplib.h (struct cpp_options): Remove help_only.
13920         * gcc.c (cpp_unique_options): Remove -$.
13921         * doc/cppopts.texi: Undocument -h.
13922
13923 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13924
13925         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13926         legitimate constant.
13927         (legitimate_pic_operand_p): Neither pic operand.
13928         (legitimate_address_p): But legitimate address.
13929         (get_thread_pointer): Generate MEM/u instead of CONST around
13930         UNSPEC_TP.
13931         (print_operand): Remove printing of UNSPEC_TP.
13932         (print_operand_address): And print it here.
13933
13934 2002-08-08  Devang Patel  <dpatel@apple.com>
13935
13936         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13937         when  -Wselector is used,if method for which selector is being
13938         created does not exist.
13939
13940 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13941
13942         * config/sh/sh.c (prepare_move_operands): Only call
13943         target_reg_operand if TARGET_SHMEDIA.
13944
13945 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13946
13947         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13948         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13949         two patches.
13950         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13951
13952 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13953             Richard Henderson  <rth@redhat.com>
13954
13955         * emit-rtl.c (gen_rtx_REG): After reload, only return
13956         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13957
13958 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13959
13960         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13961         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13962         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13963         macro.
13964
13965 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13966
13967         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13968         register.
13969         (thumb_expand_prologue): Likewise.
13970         (thumb_output_function_prologue): Likewise.
13971         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13972         the additional push of the PIC register.
13973
13974 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13975
13976         * configure.in (enable_coverage): New enable switch.
13977         * configure: Rebuilt.
13978         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13979         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13980         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13981         (mostlyclean): Remove coverage files.
13982         * doc/install.texi: Document enable_coverage.
13983
13984         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13985         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13986         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13987         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13988         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13989         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13990         files.
13991
13992 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13993
13994         * c-opts.c (cpp_opts): New.
13995         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13996         (c_common_decode_options): Handle cpplib switches.
13997         (c_common_init_options): Set cpp_opts.
13998         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13999         (cpp_handle_option): Similarly.
14000
14001 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
14002
14003         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
14004         (TARGET_ALTIVEC_ABI): Same.
14005         (TARGET_ALTIVEC_VRSAVE): Same.
14006
14007         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
14008         icode not CODE_FOR_nothing.  Change switch to if.
14009
14010 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
14011
14012         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
14013
14014 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
14015
14016         * stor-layout.c (place_union_field): For bitfields if
14017         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
14018         TYPE_USER_ALIGN.
14019
14020 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14021
14022         * pa.c (struct deferred_plabel): Constify name field.
14023
14024 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
14025
14026         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
14027
14028 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14029
14030         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
14031         local_prefix are the same.
14032         * configure: Rebuilt.
14033
14034 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
14035             Richard Henderson  <rth@redhat.com>
14036
14037         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
14038         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
14039         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
14040         (place_field): Likewise.
14041         * config/i386/i386.c (x86_field_alignment): Don't check
14042         DECL_USER_ALIGN here.
14043         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
14044         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
14045         prototype.
14046         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
14047         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
14048         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
14049         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
14050         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
14051         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
14052
14053 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
14054
14055         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
14056         * c-common.c: Don't include tree-inline.h.
14057         (c_common_init_options, c_common_post_options): Move to c-opts.c.
14058         * c-common.h (c_common_decode_option): New.
14059         * c-decl.c (c_decode_option): Remove.
14060         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
14061         * c-opts.c: New file.
14062         * c-tree.h (c_decode_option): Remove.
14063         * doc/passes.texi: Update.
14064         * objc/objc-act.c (objc_decode_option): Remove.
14065         * objc/objc-act.h (objc_decode_option): Remove.
14066         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
14067         c_common_decode_option.
14068
14069 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
14070
14071         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
14072         dependency on TARGET_DOUBLE_FLOAT.
14073
14074 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
14075
14076         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
14077         overwrite callee-save registers.  Fix comment.
14078
14079 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
14080
14081         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
14082         in target_flags based on ISA, if it was not set on the command
14083         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
14084         support Branch Likely instructions.
14085         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
14086         (TARGET_BRANCHLIKELY): Likewise.
14087         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
14088         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
14089         ISA_HAS_BRANCHLIKELY.
14090         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
14091         * doc/invoke.texi: Document new MIPS -mbranch-likely and
14092         -mno-branch-likely options.
14093
14094 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14095
14096         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
14097
14098         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
14099         $(GCONFIG_H).
14100
14101 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
14102
14103         * c-decl.c (duplicate_decls): Error out for incompatible TLS
14104         declarations.
14105
14106         * testsuite/gcc.dg/tls/diag-3.c: New.
14107
14108 2002-08-06  Dale Johannesen  <dalej@apple.com>
14109
14110         * c-common.c (fname_decl): Use line number 0 for
14111         __func__, to avoid confusing debuggers.
14112
14113 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
14114
14115         * gcov.c: Tidy.
14116         (struct line_info, struct coverage): New structures.
14117         (gcov_file_name, gcov_file): Remove globals.
14118         (output_data): Take source file parameter. Fix memory leak. Break
14119         up into ...
14120         (init_line_info, output_line_info, make_gcov_file_name,
14121         accumulate_branch_counts): ... here.
14122         (calculate_branch_probs, function_summary): Adjust.
14123         (main): Adjust.
14124         (function_*): Remove global variables.
14125
14126 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14127
14128         * dwarf2out.c: Remove unused macros.
14129
14130 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14131
14132         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
14133
14134 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14135
14136         * cppinit.c (struct lang_flags): Rename trigraphs std.
14137         (set_lang): Update.
14138         * cpplib.h (struct cpp_options): New member std.
14139         * cppmacro.c (_cpp_builtin_macro_text): Use std.
14140         (collect_args): Flag whether to swallow a possible future
14141         comma pasted with varargs.
14142         (replace_args): Use this flag.
14143         * doc/cpp.texi: Update varargs extension documentation.
14144
14145 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14146
14147         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
14148
14149 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14150
14151         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
14152         and MODE_CLASS_INT modes.
14153
14154 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14155
14156         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
14157         --{enable,disable}-threads is given to configure.
14158         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
14159         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
14160         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
14161         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
14162         Remove thread_file setting here.
14163
14164 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
14165
14166         * doc/install.texi (Binaries): Update Bull Freeware URL.
14167
14168 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14169
14170         * doc/gcc.texi (Top): Rename Index to Keyword Index.
14171
14172 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
14173
14174         * gcov.c (output_data): Round to % to nearest, tweak formatting.
14175
14176 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
14177
14178         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
14179         of the operands into MINUS_EXPR if code is PLUS_EXPR.
14180
14181 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
14182
14183         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
14184         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
14185         drectve_section): Define.
14186         * config/i386/t-interix: Replace interix.o rule with winnt.o.
14187         * config/i386/interix.c: Remove.
14188
14189 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
14190
14191         * attribs.c: Don't include obstack.h.
14192         * builtins.c: Likewise.
14193         * cfganal.c: Likewise.
14194         * cfgbuild.c: Likewise.
14195         * cfgcleanup.c: Likewise.
14196         * emit-rtl.c: Likewise.
14197         * loop.c: Likewise.
14198         * stmt.c: Likewise.
14199
14200         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
14201
14202 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
14203
14204         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
14205
14206 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
14207
14208         * doc/invoke.texi: Remove duplicated paragraph describing
14209         TARGET_SWITCHES.
14210
14211 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
14212
14213         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
14214         * collect2.h (permanent_obstack): Delete declaration.
14215         * collect2.c (permanent_obstack): Delete definition.
14216         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
14217         * expr.c: Don't include obstack.h.
14218         (permanent_obstack): Delete declaration.
14219         * function.c: Don't include obstack.h.
14220         (permanent_obstack): Delete declaration.
14221         * integrate.c: Don't include obstack.h.
14222         (function_maybepermanent_obstack): Delete declaration.
14223         * print-tree.c (debug_tree): Use x*alloc not permalloc.
14224         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
14225         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
14226         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
14227         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
14228         of permalloc, expralloc, perm_calloc.
14229         * tree.c (permanent_obstack): Delete definition.
14230         (init_ttree): Rename from init_obstacks.
14231         (permalloc): Delete.
14232         (perm_calloc): Delete.
14233         (dump_tree_statistics): Don't print information about
14234         permanent_obstack.
14235         * varasm.c (assemble_start_function): Use xstrdup instead of
14236         permalloc/strcpy.
14237         (assemble_variable): Likewise.
14238         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
14239         permalloc.
14240         (unicosmk_add_extern): Likewise.
14241         * config/c4x/c4x.c (c4x_external_ref): Likewise.
14242         (c4x_global_label): Likewise.
14243         * config/frv/frv.c (frv_encode_section_info): Likewise.
14244         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
14245         (i386_pe_record_exported_symbol): Likewise.
14246         * config/mips/mips.c (mips_output_external): Likewise.
14247         (mips_output_external_libcall): Likewise.
14248         * config/pa/pa.c: (permanent_obstack): Delete declaration.
14249         (output_call): Use ggc_strdup instead of allocating on
14250         permanent_obstack.
14251         * config/romp/romp.c: Include ggc.h.
14252         (get_symref): Don't declare permanent_obstack, use ggc_strdup
14253         intead of permanent_obstack.
14254         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
14255         instead of permalloc.
14256         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
14257         instead of permalloc
14258         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
14259         instead of permalloc.
14260         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
14261         permalloc.
14262
14263 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
14264
14265         Contribute a port developed primarily by Michael Meissner,
14266         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
14267         * config.gcc: Add frv-elf target.
14268         * config/frv/cmovd.c: New file.
14269         * config/frv/cmovh.c: New file.
14270         * config/frv/cmovw.c: New file.
14271         * config/frv/frv-abi.h: New file.
14272         * config/frv/frv-asm.h: New file.
14273         * config/frv/frv-modes.def: New file.
14274         * config/frv/frv-protos.h: New file.
14275         * config/frv/frv.c: New file.
14276         * config/frv/frv.h: New file.
14277         * config/frv/frv.md: New file.
14278         * config/frv/frvbegin.c: New file.
14279         * config/frv/frvend.c: New file.
14280         * config/frv/lib1funcs.asm: New file.
14281         * config/frv/media.h: New file.
14282         * config/frv/modi.c: New file.
14283         * config/frv/t-frv: New file.
14284         * config/frv/uitod.c: New file.
14285         * config/frv/uitof.c: New file.
14286         * config/frv/ulltod.c: New file.
14287         * config/frv/ulltof.c: New file.
14288         * config/frv/umodi.c: New file.
14289         * config/frv/xm-frv.h: New file.
14290
14291         * config/frv/media.h: Removed again.
14292
14293 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14294
14295         * gcov.c (bb_file_time): New static variable.
14296         (object_directory): May also be object file.
14297         (preserve_paths): New static variable.
14298         (print_usage): Adjust.
14299         (options): Adjust.
14300         (process_args): Adjust.
14301         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
14302         file. Find modification date on bb file.
14303         (read_profile): Don't rewind a NULL file.
14304         (format_hwint): New static function.
14305         (function_summary): Use format_hwint.
14306         (output_data): SOURCE_FILE_NAME is never relative to
14307         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
14308         mangling. Adjust output format to make it more machine readable.
14309         * doc/gcov.texi: Document & clarify semantics.
14310
14311 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
14312
14313         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
14314
14315 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14316
14317         * gcc.c (cc1_options): Pass output file as auxbase when
14318         appropriate.
14319         * profile.c (init_branch_prob): FILENAME has already had ending
14320         stripped.
14321         * final.c (end_final): Likewise.
14322         * toplev.c (aux_base_name): New global.
14323         (compile_file): Pass aux_base_name to init init_branch_prob and
14324         end_final.
14325         (independent_decode_option, case 'a'): New auxinfo options.
14326         (case 'd'): Protect against mising basename.
14327         (do_compile): Initialize aux_base_name.
14328         * toplev.h (aux_base_name): New global.
14329         * doc/invoke.texi: Adjust documentation.
14330
14331 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14332
14333         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
14334         of TARGET_ALIGN_DOUBLE.
14335
14336 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
14337
14338         * diagnostic.c (inform): New function.
14339         * diagnostic.h (inform): Declare.
14340
14341 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
14342
14343         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
14344         (movhi_internal): Same.
14345         (movqi_internal): Same.
14346         (movdi_internal64): Same.
14347
14348         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
14349
14350         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
14351         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
14352         (COMMON_ASM_OP): Define.
14353         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
14354         Use ALIGN parameter.
14355         (LOCAL_COMMON_ASM_OP): Define.
14356         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
14357
14358 2002-08-03  Roger Sayle  <roger@eyesopen.com>
14359
14360         * builtins.def: Define new builtin functions exp, expf, expl,
14361         log, logf and logl (and their __builtin_* variants).
14362         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
14363         Define exp_optab and log_optab.
14364         * optabs.c (init_optans): Initialize exp_optab and log_optab.
14365         * genopinit.c (optabs): Implement exp_optab and log_optab
14366         using exp?f2 and log?f2 patterns.
14367         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
14368         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
14369         (expand_builtin): Ignore the new builtins (and all cos and
14370         sin variants) when not optimizing.  Expand new builtins via
14371         expand_builtin_mathfn when flag_unsafe_math_optimizations.
14372
14373         * doc/extend.texi: Document new exp and log builtins.
14374         * doc/md.texi: Document new exp?f2 and log?f2 patterns
14375         (and previously undocumented cos?f2 and sin?f2 patterns).
14376
14377 2002-08-03  Jason Merrill  <jason@redhat.com>
14378
14379         * explow.c (int_expr_size): New fn.
14380         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
14381         * expr.h: Declare it.
14382
14383 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
14384
14385         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
14386         gengtype-* dependencies.
14387
14388 2002-08-02  Eric Christopher  <echristo@redhat.com>
14389
14390         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
14391         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
14392         #ifndef to #undef.
14393         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
14394
14395 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
14396
14397         PR optimize/7067
14398         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
14399         small if optimizing for size.
14400
14401 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
14402
14403         * configure.in (FORBUILD): Use $build_alias.
14404         * configure: Regenerated.
14405
14406 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
14407
14408         * config.gcc: Don't include mips/abi64.h in $tm_file.
14409         * hard-reg-set.h (call_really_used_regs): Declare.
14410         * config/mips/abi64.h: Remove file.
14411         * config/mips/linux.h,
14412         * config/mips/iris6.h: Don't include it.
14413         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
14414         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
14415         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
14416         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
14417         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
14418         Bring across definitions from abi64.h.
14419         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
14420         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
14421         (struct mips_args): Use it.
14422         * config/mips/mips.c (mips_conditional_register_usage): Define.
14423
14424 2002-08-02  Jason Merrill  <jason@redhat.com>
14425
14426         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
14427         * langhooks.c (lhd_expr_size): Define default.
14428         * langhooks.h (struct lang_hooks): Add expr_size.
14429         * explow.c (expr_size): Call it.
14430         * expr.c (store_expr): Don't copy an expression of size zero.
14431         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
14432         to store.
14433         * Makefile.in (builtins.o): Depend on langhooks.h.
14434
14435 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14436
14437         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
14438         * ra-debug.c: Include "tm_p.h".
14439         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
14440
14441 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
14442
14443         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
14444         when not honoring signalling NaNs.
14445         (simplify_ternary_operation): a == b has a definite value
14446         when not honoring NaNs.
14447
14448 2002-08-02  Jason Merrill  <jason@redhat.com>
14449
14450         * gdbinit.in (pct): New macro.
14451
14452 2002-08-01  Stan Shebs  <shebs@apple.com>
14453             Andreas Tobler  <toa@pop.agri.ch>
14454
14455         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
14456         plays nice with Darwin headers.
14457         (_BSD_RUNE_T_DEFINED_): Likewise.
14458
14459 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14460
14461         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
14462         * cppinit.c (cpp_post_options): Likewise.
14463
14464         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
14465         warning about 'LL' suffix (but not 'ULL' etc) when
14466         -Wno-long-long is in effect.
14467
14468         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
14469         Check for failing time()/localtime(), issue a warning, and
14470         make __TIME__ and __DATE__ expand to fallback strings.
14471
14472         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
14473         and __TIME__ when the date and time cannot be determined.
14474
14475 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
14476
14477         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
14478
14479 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
14480
14481         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
14482
14483 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
14484
14485         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
14486         (mipsisa64sb1el-*-elf*): Likewise.
14487         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
14488         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
14489         (TARGET_SB1, TUNE_SB1): New macros.
14490         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
14491         -mtune flags.
14492
14493 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
14494
14495         * varasm.c (asm_emit_uninitialized): Return false if global BSS
14496         and ASM_EMIT_BSS not supported by target.
14497         (assemble_variable): Do not duplicate uninitialized logic.
14498         Fall through if asm_emit_uninitialized failed.
14499
14500 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
14501
14502         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
14503
14504 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
14505
14506         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
14507         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
14508
14509         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
14510         HOST_BITS_PER_WIDE_INT == 64.
14511
14512 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14513
14514         * df.c (df_insn_table_realloc): Change parameter to unsigned.
14515         * optabs.c (expand_binop): Make variable unsigned.
14516         * simplify-rtx.c (simplify_subreg): Likewise.
14517         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
14518
14519 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14520
14521         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
14522
14523 2002-08-01  Richard Henderson  <rth@redhat.com>
14524
14525         * toplev.c (parse_options_and_default_flags): Don't set
14526         flag_reorder_blocks for -Os.
14527
14528         * config/avr/avr.c (avr_optimization_options): Remove.
14529         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
14530         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
14531         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
14532
14533 2002-08-01  H.J. Lu <hjl@gnu.org>
14534             Richard Henderson  <rth@redhat.com>
14535
14536         * output.h (DECL_READONLY_SECTION): Remove.
14537         (decl_readonly_section): Declare.
14538         * varasm.c (decl_readonly_section): New.
14539         (default_section_type_flags, default_select_section): Use it.
14540         * config/arm/pe.c (arm_pe_unique_section): Likewise.
14541         * config/i386/interix.c (i386_pe_unique_section): Likewise.
14542         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
14543         * config/mcore/mcore.c (mcore_unique_section): Likewise.
14544         * config/mips/mips.c (mips_unique_section): Likewise.
14545
14546 2002-08-01  Richard Henderson  <rth@redhat.com>
14547
14548         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
14549         refers to a subroutine parameter.
14550
14551 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
14552
14553         * varasm.c (assemble_visibility): Strip name encoding.
14554
14555 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
14556
14557         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
14558         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
14559         when there is no frame pointer.
14560         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
14561         registers properly.
14562         * config/ns32k/__unorddf2.c: New file.
14563         * config/ns32k/__unordsf2.c: New file.
14564         * config/ns32k/t-ns32k: New file.
14565         * config.gcc (ns32k-*-netbsd*): Use it.
14566
14567 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
14568
14569         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
14570
14571 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14572
14573         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
14574
14575 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
14576
14577         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
14578
14579 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
14580
14581         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
14582
14583 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14584
14585         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
14586         n_sets): Removed.
14587         (expr_hash_table, set_hash_table): Type changed to ...
14588         (struct hash_table): New type.
14589         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
14590         insert_expr_in_table, insert_set_in_table, compute_hash_table,
14591         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
14592         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
14593         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
14594         (alloc_hash_table): New.
14595         (free_set_hash_table, free_expr_hash_table): Merged to ...
14596         (free_hash_table): New.
14597         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
14598         (compute_hash_table_work): New.
14599         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
14600         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
14601         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
14602         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
14603         hoist_code, one_code_hoisting_pass,
14604         trim_ld_motion_mems): Altered due to changed type of hash tables.
14605
14606 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14607
14608         * final.c (output_alternate_entry_point):
14609         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
14610
14611 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14612
14613         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
14614         avoid ISO C style function definition.
14615
14616         * expr.c (expand_assignment): Delete unused variable.
14617
14618 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
14619
14620         * c-common.c (cb_register_builtins): Set
14621         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
14622         is given, and to 0 otherwise.
14623         * combine.c (simplify_if_then_else): HONOR_NANS
14624         implies FLOAT_MODE_P.
14625
14626 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14627
14628         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
14629         (cpp_handle_option): Don't handle it.
14630         (print_help): Update.
14631         * doc/cppopts.texi: Update.
14632
14633 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14634
14635         * c-common.c (cb_register_builtins): If C++, define
14636         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
14637         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
14638 cp:
14639         * lang-specs.h: Simplify in accordance with new code in
14640         c-common.c.
14641
14642 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14643
14644         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
14645         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
14646         * c-decl.c: Move all warning and flag variables to c-common.c.
14647         * c-format.c: Move all warning variables to c-common.c.
14648         * c-tree.h: Move all warning and flag declarations to c-common.h.
14649         * objc/objc-act.c: Move all warning variables to c-common.c.
14650         (flag_warn_protocol): Rename warn_protocol.
14651
14652 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14653
14654         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
14655
14656 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
14657
14658         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
14659         .section prefix.
14660
14661 2002-07-31  Stan Shebs  <shebs@apple.com>
14662
14663         * config.gcc (i[34567]86-*-darwin*): New configuration.
14664         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
14665         defining.
14666         (TARGET_ENCODE_SECTION_INFO): Ditto.
14667         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
14668         * config/darwin.c (machopic_indirect_data_reference): Remove
14669         setting of RTX_UNCHANGING_P.
14670         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
14671         not to be applied to sums.
14672         * config/i386/t-darwin: New file.
14673         * config/i386/darwin.h: New file.
14674         * config/i386/i386.h (TARGET_MACHO): Add default definition.
14675         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
14676         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
14677         label and not the GOT add.
14678         (constant_address_p): For Mach-O, seeing a CONST is enough.
14679         (legitimate_pic_address_disp_p): Add a Mach-O case.
14680         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
14681         (legitimize_pic_address): Use generic Mach-O code to legitimize.
14682         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
14683         if outputting a difference.
14684         (ix86_output_addr_diff_elt): Add Mach-O case.
14685         (ix86_expand_move): Similarly.
14686         (ix86_expand_call): Similarly.
14687         (current_machopic_label_num): New global.
14688         (machopic_output_stub): New function.
14689         (ix86_value_regno): New function.
14690         (ix86_function_value): Use it instead of VALUE_REGNO.
14691         (ix86_libcall_value): Ditto.
14692         * config/i386/unix.h (VALUE_REGNO): Remove.
14693
14694 2002-07-31  Graham Stott  <grahas@btinternet.com>
14695
14696         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
14697         hash for LABEL_REF's.
14698
14699 2002-07-31  Graham Stott  <grahams@btinternet.com>
14700
14701         * config/rs6000/rs6000.c (spe_init_builtins,
14702         altivec_init_builtins, rs6000_common_init_builtins):
14703         Replace ANSI with K&R function def.
14704
14705 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
14706
14707         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
14708         for CCFPmode.
14709
14710 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14711
14712         * config/mips/crtn.asm: Don't use __mips16 to determine the
14713         return-address offset.  Define RA to a suitable temporary
14714         register for the return address.
14715
14716 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14717
14718         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
14719         constraints to 'd'.
14720
14721 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
14722
14723         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14724         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
14725         patch on 2002-07-29.)
14726         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14727
14728 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14729
14730         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14731         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14732         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14733         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14734         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14735         (ASM_GLOBALIZE_LABEL): Delete.
14736         (GLOBAL_ASM_OP): Define.
14737
14738         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
14739
14740         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14741         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14742
14743 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
14744
14745         * doc/extend.texi (Hints implementation): Document that GCC
14746         mostly ignores `register'.
14747
14748 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
14749
14750         * flags.h: Declare flag_finite_math_only.
14751         Use it in definition of HONOR_NANS and
14752         HONOR_INFINITIES.
14753         * c-common.c (cb_register_builtins): Emit
14754         __FINITE_MATH_ONLY__ when flag_finite_math_only
14755         is set.
14756         * combine.c (simplify_if_then_else): If
14757         flag_finite_math_only is set, a == b has a
14758         definite value.
14759         * toplev.c: Initialize flag_finite_math_only.
14760         (set_flags_fast_math): Set it on -ffast-math.
14761         (flag_fast_math_set_p): Test it.
14762         * doc/invoke.texi: Document -ffinite-math-only.
14763
14764 2002-07-30  Richard Henderson  <rth@redhat.com>
14765
14766         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14767         (noce_process_if_block): Likewise.
14768
14769 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14770
14771         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14772         Bail out early if false_expr is NULL and we'd crash due to this.
14773         * genemit.c (gen_expand): Recognize return insns even if the return
14774         appears in a parallel.
14775         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14776         * config/fp-bit.c: Likewise.
14777         * doc/tm.texi: Document it.
14778
14779 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14780             Zack Weinberg  <zack@codesourcery.com>
14781
14782         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14783         CODE_FOR_nothing.  Change switch to if.
14784         (rs6000_expand_binop_builtin): Same.
14785         (rs6000_expand_builtin): Expand builtin if target support enabled.
14786         (rs6000_init_builtins): Init builtin if target support enabled.
14787         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14788
14789 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14790
14791         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14792
14793 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14794
14795         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14796
14797 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14798
14799         * sh.md (cond_delay_slot): New attribute.
14800         (cbranch delay): Use it for anulled-true case.
14801         (stuff_delay_slot): New pattern.
14802         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14803         delay slot insn.
14804         (gen_far_branch): Emit stuff_delay_slot pattern.
14805
14806 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14807
14808         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14809
14810 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14811
14812         * fold-const.c: Fix comment typos.
14813         * gcse.c: Likewise.
14814         * reload1.c: Likewise.
14815
14816 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14817
14818         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14819         for TARGET_SPE.
14820
14821 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14822
14823         * c-pretty-print.h (pp_c_statement): Declare.
14824         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14825         (pp_c_statement): Define.
14826
14827 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14828
14829         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14830         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14831         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14832         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14833         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14834         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14835
14836         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14837         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14838
14839 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14840
14841         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14842         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14843         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14844         (pp_c_expression): Update.
14845
14846 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14847
14848         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14849         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14850         * alpha/vms-ld.c (main): Likewise.
14851         * dsp16xx.c (double_reg_to_memory): Likewise.
14852         * mcore.c (mcore_expand_prolog): Likewise.
14853         * cppfiles.c (read_name_map): Likewise.
14854         * gensupport.c (process_rtx, identify_predicable_attribute,
14855         alter_test_for_insn): Likewise.
14856         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14857
14858 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14859
14860         * builtins.c (expand_builtin):  Change the default behavior to
14861         only issue an error if the builtin function doesn't have a
14862         fallback library call.  Remove several cases handled by the
14863         new default.
14864
14865 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14866
14867         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14868         floating point format of the target is IEEE.
14869         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14870         format of the target is DEC.
14871
14872 2002-07-29  Richard Henderson  <rth@redhat.com>
14873
14874         * unroll.c (verify_addresses): Remove.
14875         (find_splittable_givs): Never split DEST_ADDR givs.
14876
14877 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14878
14879         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14880         is exhaustive.
14881         (Files): Improve documentation on generated source files.
14882
14883         * doc/extend.texi (Translation implementation): Document what
14884         diagnostics look like.
14885         (Identifiers implementation): Document that there's normally no
14886         limit on identifier names.
14887         (Integers implementation): Document two's complement.
14888         (Hints implementation): Document that GCC honors 'inline', mostly.
14889         (Preprocessing directives implementation): Document that GCC
14890         requires the current time.
14891
14892 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14893
14894         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14895         (pp_initializer): New macro.
14896         (pp_c_initializer): Declare.
14897         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14898         (pp_c_initializer): Define.
14899         (pp_c_initializer_list): New function.
14900         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14901         VECTOR_CST, CONSTRUCTOR.
14902         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14903         IMAGPART_EXPR.
14904         (pp_c_cast_expression): Handle FLOAT_EXPR.
14905         (pp_c_assignment_expression): Handle INIT_EXPR.
14906         (pp_c_expression): Update.
14907
14908 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14909
14910         * objc/objc-act.c (objc_init): Return immediately if filename
14911         is NULL.
14912
14913 2002-07-29  Eric Christopher  <echristo@redhat.com>
14914
14915         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14916         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14917         (SDB_DEBUGGING_INFO): Undefine.
14918         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14919         (PUT_SDB_SIZE): Remove.
14920         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14921         (STARTFILE_SPEC): Add isa3264 define.
14922         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14923         * config/mips/ecoff.h: Remove. and here...
14924         * config/mips/iris3.h: and here...
14925         * config/mips/sni-svr4.h: and here...
14926         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14927         Add assembler -mmdebug options for non-dwarf debugging.
14928         * config/mips/r3900.h: Remove debug info defines.
14929         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14930         * config/mips/isa3264.h: Ditto.
14931         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14932         change.
14933         * config/mips/t-elf: Ditto.
14934         * config/mips/t-ecoff: Ditto.
14935         * config/mips/t-r3900: Ditto.
14936         * config/mips/t-iris5-6: Ditto.
14937         * config/mips/t-isa3264: Ditto.
14938         * config/mips/t-linux: Remove.
14939         * config/mips/t-netbsd: Remove.
14940         * config/mips/t-mips: New file.
14941         * config/mips/t-gofast: Ditto.
14942         * config/mips/netbsd.h: Remove unnecessary undefines.
14943         * config/mips/linux.h: Remove #include of mips.h.
14944         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14945         for ecoff. Add gofast configure option for mips.
14946
14947 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14948
14949         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14950         linker scripts use STARTUP directives consistently.
14951         * configure: Regenerate.
14952         * config.in: Regenerate.
14953         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14954         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14955         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14956         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14957         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14958         will be the same.
14959
14960 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14961
14962         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14963
14964 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14965
14966         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14967
14968 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14969
14970         * config/rs6000/rs6000.md: Move altivec patterns from here...
14971
14972         * config/rs6000/altivec.md: ...to here.
14973
14974 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14975
14976         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14977
14978 2002-07-29  Richard Henderson  <rth@redhat.com>
14979
14980         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14981         set_mem_attributes and add BITPOS argument.  Subtract it from
14982         OFFSET when same is adjusted.
14983         (set_mem_attributes): New wrapper function.
14984         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14985         remove offset adjustment hack.
14986         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14987
14988 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14989
14990         * Makefile.in (C_OBJS): Include c-pretty-print.o
14991         (c-pretty-print.o): Add depency rule.
14992         * pretty-print.h: Add more macros.
14993         * c-pretty-print.c: New file.
14994         * c-pretty-print.h: Likewise.
14995
14996 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14997
14998         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14999         constants to __ev64_s32__.
15000         (__internal_ev_mwhgsmian): Same.
15001         (__internal_ev_mwhgsmfan): Same.
15002         (__internal_ev_mwhgssfan): Same.
15003         (__internal_ev_mwhgumiaa): Same.
15004         (__internal_ev_mwhgsmiaa): Same.
15005         (__internal_ev_mwhgsmfaa): Same.
15006         (__internal_ev_mwhgssfaa): Same.
15007
15008 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
15009
15010         * varasm.c (assemble_variable): Narrow test for uninitialized
15011         without BSS target support.
15012
15013 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
15014
15015         * profile.c: Add file comment describing the overall algorithm and
15016         structures.
15017         (struct edge_info): Add comments.
15018         (struct bb_info): Add comments.
15019         * basic-block.h (EDGE_*): Add comments.
15020         * doc/gcov.texi (Gcov Data Files): Document bit flags.
15021
15022 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
15023
15024         * config/xtensa/elf.h, config/xtensa/linux.h
15025         (TARGET_OS_CPP_BUILTINS): Define.
15026         (CPP_PREDEFINES): Remove.
15027         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
15028         (CPP_SPEC): Remove.
15029
15030 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
15031
15032         * gensupport.c: Include hashtab.h.
15033         (insn_elision, condition_table, hash_c_test, cmp_c_test,
15034         maybe_eval_c_test): New routines and data structures to
15035         support insn elision.
15036         (init_md_reader): Read and initialize the condition_table.
15037         (read_md_rtx): Discard insn patterns whose C test is provably
15038         always false.
15039         * gensupport.h: Declare new functions and data structures.
15040
15041         * genconditions.c, dummy-conditions.c: New files.
15042         * Makefile.in: Build genconditions; run it to construct
15043         insn-conditions.c; build that and link it into most gen*
15044         programs.
15045         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
15046         (GEN): Delete, unused.
15047         (STAGESTUFF): Update.
15048
15049         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
15050         CODE_FOR_nothing for all elided patterns.
15051         (main): Tweaked to support this.
15052         * genflags.c (gen_proto): Emit a static inline generator
15053         function here for all elided patterns, which simply returns
15054         NULL_RTX.
15055         (gen_insn): Do not define HAVE_xxx for elided patterns.
15056         (main): Tweaked to support this.  No need to forward-declare
15057         struct rtx_def.
15058         * genrecog.c: Do not bother emitting the C test if it's known
15059         to be true at compile time.
15060
15061 2002-07-29  Mike Stump  <mrs@apple.com>
15062
15063         * config.gcc (target_gtfiles): Initialize, as otherwise cross
15064         compilers hosted on powerpc-apple-darwin6.0 won't even build.
15065
15066 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
15067
15068         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
15069         remove clobber of LR.
15070         (sibcall_insn, sibcall_value_insn): Update accordingly.
15071         (sibcall_epilogue): Remove debugging comment from assembler stream.
15072
15073 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
15074
15075         * pretty-print.h: Define more macros.
15076         * diagnostic.h (output_formatted_integer): Moved from...
15077         * diagnostic.c: ... here.
15078
15079 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15080
15081         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
15082
15083 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
15084
15085         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
15086         arguments.  Always use ".-symbol" as expression argument.
15087         * doc/tm.texi: Update to match.  Document requirement for
15088         ".size symbol, .-symbol" to be acceptable to assembler.
15089
15090         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15091         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
15092         config/i386/freebsd-aout.h, config/i386/sco5.h,
15093         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
15094         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
15095
15096 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15097
15098         * Makefile.in (gengtype-lex.c): Fix error in last change.
15099
15100         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
15101         backslash.
15102
15103         * Makefile.in (vmsdbgout.o): Depend on function.h.
15104
15105         * vmsdbgout.c: Include function.h.
15106
15107 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
15108
15109         * prefix.c (update_path): Don't strip single `.' path components
15110         unless stripping a later `..' component.  Exit loop as soon as
15111         a valid path is found.
15112
15113 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15114
15115         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
15116         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
15117         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
15118         floating point unordered comparisons (e.g. __builtin_isgreater)
15119         as const, and leave the remaining GCC_BUILTINs unchanged.
15120
15121         * c-decl.c (builtin_function): No need to explicitly mark
15122         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
15123
15124 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15125
15126         * Makefile.in: rtlanal.o now depends upon real.h.
15127
15128         * flags.h [flag_signaling_nans]: New flag.
15129         [HONOR_SNANS]: New macro.
15130
15131         * toplev.c [flag_signaling_nans]: Initialize to false.
15132         (f_options): Add processing for "-fsignaling-nans".
15133         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
15134         (process_options): flag_signaling_nans implies flag_trapping_math.
15135
15136         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
15137         when -fsignaling-nans.  First step to implementing WG14's N965.
15138
15139         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
15140         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
15141         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
15142
15143         * simplify-rtx.c (simplify_relational_operation): Conditionalize
15144         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
15145
15146         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
15147         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
15148         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
15149         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
15150         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
15151
15152         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
15153
15154 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15155
15156         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
15157         * gengtype-lex.l (YY_USE_PROTOS): Undef.
15158         (YY_DECL): Define.
15159
15160 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15161
15162         * doc/invoke.texi: Document that both -fno-builtin-foo and
15163         -fno-builtin are supported by the g++ front-end.
15164
15165 2002-07-27  Stan Shebs  <shebs@apple.com>
15166
15167         * configure.in: Rename config_gtfiles to target_gtfiles.
15168         * configure: Regenerate.
15169         * doc/gty.texi: Update reference.
15170         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
15171         instead of appending to it.
15172
15173 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
15174
15175         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
15176         vectors are split into two registers.
15177         (function_arg): Same.
15178
15179 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
15180
15181         * pa.md (extv): Check predicates before emitting extv_32.
15182
15183 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
15184
15185         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
15186         (rs6000_traceback): New var.
15187         (rs6000_override_options): Set rs6000_traceback.
15188         (rs6000_output_function_epilogue): Implement traceback options.
15189         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
15190         (rs6000_traceback_name): Declare.
15191
15192         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
15193         label reference when NO_PROFILE_COUNTERS.
15194
15195 2002-07-26  Jason Merrill  <jason@redhat.com>
15196
15197         * function.c (assign_parms): Handle frontend-directed pass by
15198         invisible reference.
15199
15200 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15201
15202         * doc/cppopts.texi: Update.
15203
15204 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15205
15206         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
15207         warnings on assertions.
15208
15209 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15210
15211         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
15212         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
15213         RID_COMPL): Remove.
15214         * c-parse.in (rid_to_yy): Similarly.
15215
15216 2002-07-26  Jason Merrill  <jason@redhat.com>
15217
15218         * c-dump.c: Resurrect.
15219         * tree-dump.c: Move C-specific stuff to c-dump.c.
15220         * c-common.h: Declare c_dump_tree.
15221         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
15222         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
15223         (c-dump.o): New rule.
15224
15225 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
15226
15227         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
15228         PowerPC64.  Replace "T" and "S" constraints with "n" when the
15229         predicate will do.  Formatting fixes.
15230         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
15231         as for extzvsi_internal1.
15232
15233 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15234
15235         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
15236         DERIV_END_LABEL_FMT): Remove.
15237         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
15238
15239 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15240
15241         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
15242         Remove.
15243
15244 2002-07-25  Stan Shebs  <shebs@apple.com>
15245
15246         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
15247         local var dwarfp.
15248         (output_compiler_stub): Remove unused locals.
15249         (output_call): Always initialize line number.
15250
15251 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15252
15253         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
15254         * sh.md (truncdiqi2, movqi_media): Likewise.
15255
15256 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15257
15258         * gcse.c (obstack_chunk_alloc): Remove.
15259         (gcse_alloc): Fix to count allocated bytes.
15260         * collect2.c (SYMBOL__MAIN): Remove.
15261
15262 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15263
15264         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
15265         HAVE_TARGET_EXECUTABLE_SUFFIX.
15266
15267 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15268
15269         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
15270         SIZE, EXPR and OFFSET.
15271
15272 2002-07-25  Richard Henderson  <rth@redhat.com>
15273
15274         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
15275         in ARRAY_REF of DECL_P case.
15276
15277 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
15278
15279         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
15280         description.  Document -mips32, -mips64, and the associated -march
15281         values.  Describe the "mipsN" arguments to -march.  Say that the
15282         -mipsN options are equivalent to -march.  Reword the description
15283         of default type sizes.
15284         * toplev.h (target_flags_explicit): Declare.
15285         * toplev.c (target_flags_explicit): New var.
15286         (set_target_switch): Update target_flags_explicit.
15287         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
15288         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
15289         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
15290         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
15291         * config/mips/mips.h (mips_cpu_info): New struct.
15292         (mips_cpu_string, mips_explicit_type_size_string): Remove.
15293         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
15294         (MIPS_CPP_SET_PROCESSOR): New macro.
15295         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
15296         Define _MIPS_ARCH and _MIPS_TUNE.
15297         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
15298         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
15299         MIPS_ISA_DEFAULT were already defined.
15300         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
15301         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
15302         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
15303         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
15304         (ABI_GAS_ASM_SPEC): Remove.
15305         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
15306         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
15307         Invoke %(asm_abi_default_spec) if no ABI was specified.
15308         (CC1_SPEC): Remove ISA -> register-size rules.
15309         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
15310         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
15311         (mips_cpu_string, mips_explicit_type_size_string): Remove.
15312         (mips_cpu_info_table): New array.
15313         (mips_set_architecture, mips_set_tune): New fns.
15314         (override_options): Rework to make -mipsN equivalent to -march.
15315         Detect more erroneous cases, including those removed from CC1_SPEC.
15316         Don't change the ABI based on architecture, or vice versa.
15317         Unify logic with GAS.
15318         (mips_asm_file_start): Get architecture name from mips_arch_info.
15319         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
15320         (mips_parse_cpu): Take the name of the option as argument.  Handle
15321         'from-abi'.  Raise an error if the option is wrong.
15322         (mips_cpu_info_from_isa): New fn.
15323
15324 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
15325
15326         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
15327         (tablejump_mips162): Likewise.
15328
15329 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
15330
15331         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
15332         int_mode_for_mode.
15333
15334 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
15335
15336         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
15337         complaining.
15338         * c-common.h (c_sizeof): Adjust definition.
15339         (c_alignof): Likewise.
15340         * c-tree.h (c_sizeof_nowarn): Now macro.
15341         * c-typeck.c (c_sizeof_nowarn): Remove definition.
15342
15343 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15344
15345         * c-decl.c (c_decode_option): No need to handle switches
15346         cpplib handles.
15347
15348 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
15349
15350         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
15351         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
15352         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
15353         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15354
15355         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15356         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
15357         config/cris/aout.h, config/i386/freebsd-aout.h,
15358         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
15359         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
15360         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
15361         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
15362         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
15363         config/xtensa/elf.h, config/xtensa/linux.h:
15364         Use the new macros.
15365         Where possible, remove redundant definitions of SIZE_ASM_OP,
15366         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15367
15368 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
15369
15370         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
15371         TARGET_ISEL, and TARGET_FPRS.
15372
15373         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
15374         -mabi=spe, -mabi=no-spe, and -misel=.
15375
15376         * config/rs6000/rs6000-protos.h: Add output_isel.
15377         Move vrsave_operation prototype here.
15378
15379         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
15380         (smaxsi3): Same.
15381         (uminsi3): Same.
15382         (umaxsi3): Same.
15383         (abssi2_nopower): Disallow when TARGET_ISEL.
15384         (*ne0): Same.
15385         (negsf2): Change to expand and rename old pattern to *negsf2.
15386         (abssf2): Change to expand and rename old pattern to *abssf2.
15387
15388         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
15389         fixunssfsi2.
15390
15391         Change patterns that check for TARGET_HARD_FLOAT or
15392         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
15393
15394         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
15395         rs6000_isel, rs6000_fprs, rs6000_isel_string.
15396         (rs6000_override_options): Add 8540 case to
15397         processor_target_table.
15398         Set rs6000_isel for the 8540.
15399         Call rs6000_parse_isel_option.
15400         (enable_mask_for_builtins): New.
15401         (rs6000_parse_isel_option): New.
15402         (rs6000_parse_abi_options): Add spe and no-spe.
15403         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
15404         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
15405         for TARGET_HARD_FLOAT.
15406         Add case for SPE_VECTOR_MODE.
15407         (rs6000_legitimize_reload_address): Handle SPE vector modes.
15408         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
15409         vector modes.
15410         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
15411         (rs6000_emit_move): Check for TARGET_FPRS.
15412         Add cases for SPE vector modes.
15413         (function_arg_boundary): Return 64 for SPE vector modes.
15414         (function_arg_advance): Check for TARGET_FPRS and
15415         Handle SPE vectors.
15416         (function_arg): Same.
15417         (setup_incoming_varargs): Check for TARGET_FPRS.
15418         (rs6000_va_arg): Same.
15419         (struct builtin_description): Un-constify mask field.  Move up in
15420         file.
15421         (bdesc_2arg): Un-constify and add SPE builtins.
15422         (bdesc_1arg): Same.
15423         (bdesc_spe_predicates): New.
15424         (bdesc_spe_evsel): New.
15425         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
15426         (rs6000_expand_binop_builtin): Same.
15427         (bdesc_2arg_spe): New.
15428         (spe_expand_builtin): New.
15429         (spe_expand_predicate_builtin): New.
15430         (spe_expand_evsel_builtin): New.
15431         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
15432         (rs6000_init_builtins): Initialize SPE builtins.  Call
15433         rs6000_common_init_builtins.
15434         (altivec_init_builtins): Move all non-altivec builtin code to...
15435         (rs6000_common_init_builtins): ...here.  New function.
15436         (branch_positive_comparison_operator): Allow NE code for SPE.
15437         (ccr_bit): Return correct ccr bit for SPE fp.
15438         (print_operand): Emit crnor in 'D' case for SPE.
15439         New case 't'.
15440         Add SPE code for 'y' case.
15441         (rs6000_generate_compare): Generate rtl for SPE fp.
15442         (output_cbranch): Handle SPE hard floats.
15443         (rs6000_emit_cmove): Handle isel.
15444         (rs6000_emit_int_cmove): New.
15445         (output_isel): New.
15446         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
15447         64-bits for SPE.
15448         (debug_stack_info): Add SPE info.
15449         (gen_frame_mem_offset): New.
15450         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
15451         Change mode of frame pointer, when saving it, to Pmode.
15452         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
15453         Misc cleanups and use gen_frame_mem_offset when appropriate.
15454
15455         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
15456         (TARGET_SPE_ABI): New.
15457         (TARGET_SPE): New.
15458         (TARGET_ISEL): New.
15459         (TARGET_FPRS): New.
15460         (FIXED_SCRATCH): New.
15461         (RTX_COSTS): Add PROCESSOR_PPC8540.
15462         (ASM_CPU_SPEC): Add case for 8540.
15463         (TARGET_OPTIONS): Add isel= case.
15464         (rs6000_spe_abi): New.
15465         (rs6000_isel): New.
15466         (rs6000_fprs): New.
15467         (rs6000_isel_string): New.
15468         (UNITS_PER_SPE_WORD): New.
15469         (LOCAL_ALIGNMENT): Adjust for SPE.
15470         (HARD_REGNO_MODE_OK): Same.
15471         (DATA_ALIGNMENT): Same.
15472         (MEMBER_TYPE_FORCES_BLK): New.
15473         (FIRST_PSEUDO_REGISTER): Set to 113.
15474         (FIXED_REGISTERS): Add SPE registers.
15475         (reg_class): Same.
15476         (REG_CLASS_NAMES): Same.
15477         (REG_CLASS_CONTENTS): Same.
15478         (REGNO_REG_CLASS): Same.
15479         (REGISTER_NAMES): Same.
15480         (DEBUG_REGISTER_NAMES): Same.
15481         (ADDITIONAL_REGISTER_NAMES): Same.
15482         (CALL_USED_REGISTERS): Same.
15483         (CALL_REALLY_USED_REGISTERS): Same.
15484         (SPE_ACC_REGNO): New.
15485         (SPEFSCR_REGNO): New.
15486         (SPE_SIMD_REGNO_P): New.
15487         (HARD_REGNO_NREGS): Adjust for SPE.
15488         (VECTOR_MODE_SUPPORTED_P): Same.
15489         (REGNO_REG_CLASS): Same.
15490         (FUNCTION_VALUE): Same.
15491         (LIBCALL_VALUE): Same.
15492         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
15493         (SPE_VECTOR_MODE): New.
15494         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
15495         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
15496         (rs6000_stack): Add spe_gp_size, spe_padding_size,
15497         spe_gp_save_offset.
15498         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
15499         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
15500         (SPE_CONST_OFFSET_OK): New.
15501         (rs6000_builtins): Add SPE builtins.
15502
15503         * testsuite/gcc.dg/ppc-spe.c: New.
15504
15505         * config/rs6000/eabispe.h: New.
15506
15507         * config/rs6000/spe.h: New.
15508
15509         * config/rs600/spe.md: New.
15510
15511         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
15512         __SIMD__ for TARGET_SPE.
15513
15514         * config.gcc: Add powerpc-*-eabispe* case.
15515         Add spe.h to user headers for powerpc.
15516
15517 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
15518
15519         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
15520         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15521         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
15522
15523 2002-07-24  Richard Henderson  <rth@redhat.com>
15524
15525         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
15526         form when not optimizing.
15527
15528 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
15529
15530         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
15531         thread_pointer_rtx as unchanging.
15532
15533 2002-07-24  Michael Matz  <matz@suse.de>
15534
15535         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
15536         (free_reg): Use it.
15537
15538 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
15539
15540         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
15541         pattern.
15542         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
15543         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
15544
15545 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
15546
15547         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
15548         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15549         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
15550
15551 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
15552
15553         * toplev.c (rest_of_compilation): Dump loops before clobbering
15554         the structure.
15555
15556 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15557
15558         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
15559
15560 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
15561
15562         PR optimization/7291
15563         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
15564         problem on x86_64.
15565
15566 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
15567
15568         * pretty-print.h: Add macros from cp/error.c
15569
15570 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15571
15572         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
15573         (mask64_2_operand): Declare.
15574         (build_mask64_2_operands): Declare.
15575         (and64_2_operand): Declare.
15576         (extract_MB): Declare.
15577         (extract_ME): Declare.
15578         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
15579         CONST_DOUBLE code.
15580         (mask_operand_wrap): New insn predicate.
15581         (mask64_2_operand): Likewise.
15582         (and64_2_operand): Likewise.
15583         (build_mask64_2_operands): New function.
15584         (extract_MB): New function.
15585         (extract_ME): New function.
15586         (print_operand <case m,M>): Use extract_MB and extract_ME.
15587         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
15588         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
15589         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
15590         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
15591         * config/rs6000/rs6000.md (andsi3_internal3): New
15592         (andsi3_internal3+1): Enable split for powerpc64.
15593         (andsi3_internal3+2): New split.
15594         (andsi3_internal4): Renamed old andsi3_internal3.
15595         (andsi3_internal5): New.
15596         (andsi3_internal5+1): Enable split for powerpc64.
15597         (andsi3_internal5+2): New split.
15598         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
15599         (anddi3): Handle 't' constraint.
15600         (anddi3+1): New split.
15601         (anddi3_internal2): Handle 't' constraint.
15602         (anddi3_internal2+1): New split.
15603         (anddi3_internal3): Handle 't' constraint.
15604         (anddi3_internal3+1): New split.
15605
15606 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15607
15608         * config/rs6000/rs6000.md: Remove scratch reg on insns using
15609         addze and similar (plus (comparison r1 r2) r3) insns.  Add
15610         missing scratch reg in one case.  Formatting fixes.
15611
15612 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
15613
15614         * cppexp.c (parse_defined): Mark macro used.
15615         * cpphash.h (struct cpp_macro): New member "used".
15616         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
15617         (struct cpp_reader): New member.
15618         * cppinit.c (cpp_finish_options): Set first_unused_line.
15619         (cpp_finish): Warn of unused macros if requested.
15620         (OPT_TABLE): New switches.
15621         (cpp_handle_option): Handle them.
15622         * cpplib.c (do_undef): Warn if macro unused.
15623         (do_ifdef, do_ifndef): Mark macro used.
15624         * cpplib.h (struct cpp_options): New member.
15625         * cppmacro.c (_cpp_warn_if_unused_macro): New.
15626         (enter_macro_context): Mark macro used.
15627         (_cpp_create_definition): Mark macro unused; warn if unused
15628         when redefined.
15629         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
15630         Mark macros used.
15631         * doc/cppopts.texi: Update.
15632
15633 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15634
15635         * dwarf2out.c (SECTION_ASM_OP,
15636         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15637         * system.h (SECTION_ASM_OP): Poison.
15638         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
15639         * config/alpha/alpha-interix.h, config/mips/linux.h
15640         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15641         * config/mmix/mmix-protos.h, config/mmix/mmix.c
15642         (mmix_asm_output_define_label_difference_symbol): Remove.
15643         * config/mmix/mmix.h
15644         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15645         * doc/tm.texi: Remove documentation.
15646
15647 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
15648
15649         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
15650         (constrain_operands): Likewise.
15651         * regclass.c (record_reg_classes): Likewise.
15652         * reload.c (find_reloads): Likewise.
15653         * doc/md.texi: Likewise.
15654
15655         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
15656         * simplify-rtx.c (simplify_subreg): When converting to a non-int
15657         mode, try to convert to an integer mode of matching size first.
15658
15659         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
15660         from individual subregs, check that each subreg has been generated
15661         sucessfully.
15662
15663 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15664
15665         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
15666         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
15667         FOR_EACH_BB_IN_SBITMAP): Remove.
15668         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
15669         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
15670         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
15671         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
15672         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
15673         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
15674
15675 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15676
15677         * pretty-print.h: New file.
15678
15679 2002-07-23      Paul Koning     <pkoning@equallogic.com>
15680
15681         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
15682         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
15683         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
15684         (TARGET_G_FLOAT): Default to 0 if not defined.
15685         (ieeetoe): New, common routine to convert target format floats
15686         to internal form.
15687         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
15688         vs. others.
15689         (e113toe): Change to use ieeetoe.
15690
15691 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15692
15693         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
15694         IBM.
15695         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
15696         (e64toe): Remove special cases for DEC and IBM. Remove support for
15697         ARM_EXTENDED_IEEE_FORMAT.
15698         (e24toe): Remove special cases for DEC.
15699         (significand_size): Simplify. Indent.
15700         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
15701         (etoieee, toieee): New.
15702         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
15703         etoieee and toieee for IEEE arithmetic.
15704
15705 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15706
15707         * doc/extend.texi: Say ISO C90, not ISO C89.
15708         * doc/invoke.texi: Likewise.
15709         * doc/standards.texi: Likewise.
15710
15711 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
15712
15713         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
15714         Fix permutation of conversion and plus/mult.
15715         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
15716         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
15717         (expand_builtin_strncpy) Ditto.
15718         (expand_builtin_memset) Ditto.
15719
15720 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15721
15722         Fix PR/7363:
15723         * c-common.c (c_sizeof_or_alignof_type): New function.
15724         (c_alignof): Remove definition.
15725         * c-common.h (c_sizeof, c_alignof): Define as macros.
15726         (c_sizeof_or_alignof_type): Declare.
15727         (my_friendly_assert): Moved from cp/cp-tree.h
15728         * c-typeck.c (c_sizeof): Remove definition.
15729
15730 2002-07-23  Jan Hubicka  <jh@suse.cz>
15731
15732         * gcse.c (try_replace_reg): Use num_changes_pending.
15733         * recog.c (num_changes_pending): New function.
15734         (validate_replace_src): Use validate_repalce_src_group.
15735         (validate_replace_src_group): New.
15736         * recog.h (validate_repalce_src_group): New.
15737         (num_changes_pending): Likewise.
15738
15739 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15740
15741         * calls.c (emit_library_call_value_1): If
15742         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15743         libcall, const call nor pure call.
15744
15745 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15746
15747         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15748
15749 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15750
15751         * vmsdbgout.c (SECTION_ASM_OP): Remove.
15752
15753 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15754
15755         * config/i386/i386.c (AT_BP): Remove.
15756
15757 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15758
15759         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15760         Default definition.
15761         * gcse.c: Don't define obstack_chunk_free.
15762         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15763         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15764         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15765         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15766         Don't define obstack macros.
15767
15768 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15769
15770         PR target/6744
15771         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15772         ASM_OPERANDS instructions.
15773
15774 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15775
15776         PR target/7361
15777         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15778         constant addresses only on 68HC12.
15779
15780 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15781
15782         * cppfiles.c (stack_include_file): Correct test of whether
15783         a dependency should be output.
15784
15785 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15786
15787         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15788
15789 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15790
15791         * arm.md (movqi): If optimizing and we can create pseudos, use
15792         a ZERO_EXTEND to load from memory, then copy the result into the
15793         target.
15794         (movhi): Likewise, but only for ARMv4.
15795
15796 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15797
15798         * ssa-ccp.c (PHI_PARMS): Remove.
15799
15800 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15801
15802         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15803         on big-endian targets.
15804
15805 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15806
15807         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15808         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15809         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15810         New formatting macros.
15811
15812         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15813
15814 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15815
15816         * rtlanal.c (subreg_regno_offset): Return correct offset for
15817         big endian paradoxical subregs.
15818
15819         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15820         if we got the wrong mode.
15821
15822         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15823         * genrecog.c (write_switch, write_cond): Use it.
15824         * genemit.c (gen_exp): Likewise.
15825
15826 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15827
15828         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15829
15830 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15831
15832         * c-decl.c (build_compound_literal): Defer compound literal decls
15833         until until file end to emit them only if they are actually used.
15834
15835 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15836
15837         * ra-build.c (check_conflict_numbers): Hide unused function.
15838         (livethrough_conflicts_bb): Avoid automatic aggregate
15839         initialization.
15840         (parts_to_webs_1): Avoid `U' integer constant modifier.
15841         (conflicts_between_webs): Wrap a variable in the macro controlling
15842         its usage.
15843         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15844         (dump_igraph, dump_graph_cost): Avoid string concatenation
15845         (dump_static_insn_cost): Avoid automatic aggregate
15846         initialization.
15847         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15848         initialization.
15849         (dump_cost): Avoid string concatenation
15850
15851 2002-07-21  Richard Henderson  <rth@redhat.com>
15852
15853         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15854         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15855
15856 2002-07-21  Richard Henderson  <rth@redhat.com>
15857
15858         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15859         that are not unrolled completely.
15860
15861 2002-07-21  Richard Henderson  <rth@redhat.com>
15862
15863         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15864         * loop.c (strength_reduce): Update.
15865         * toplev.c (rest_of_compilation): Do unrolling in the first
15866         loop pass, not the second.
15867
15868 2002-07-21  Richard Henderson  <rth@redhat.com>
15869
15870         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15871         when flag_argument_noalias == 2.
15872         * alias.c (nonoverlapping_memrefs_p): Handle that.
15873         * print-rtl.c (print_mem_expr): Likewise.
15874
15875 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15876
15877         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15878         instead of __negdi2 directly.
15879
15880 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15881
15882         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15883         * function.c (SYMBOL__MAIN): Remove definition.
15884         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15885         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15886         * profile.c (GCOV_INDEX_TO_BB): Remove.
15887         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15888         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15889
15890 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15891
15892         * c-lex.c (GET_ENVIRONMENT): Remove.
15893         * collect2.c (GET_ENV_PATH_LIST): Remove.
15894         (prefix_from_env): Use GET_ENVIRONMENT.
15895         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15896         (init_standard_includes): Use GET_ENVIRONMENT.
15897         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15898         * gcc.c (GET_ENV_PATH_LIST): Remove.
15899         (make_relative_prefix, process_command): Update.
15900         * protoize.c (GET_ENV_PATH_LIST): Remove.
15901         (do_processing): Update.
15902
15903 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15904
15905         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15906         (grokdeclarator): Likewise.
15907         * c-format.c (C_STD_NAME): Likewise.
15908         * c-lex.c (interpret_integer): Likewise.
15909         * c-typeck.c (build_array_ref): Likewise.
15910         * cpplex.c (_cpp_lex_direct): Likewise.
15911         * toplev.c (documented_lang_options): Likewise.
15912
15913 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15914
15915         * c-format.c (T99_I, T99_UI): Remove.
15916
15917 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15918
15919         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15920
15921 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15922
15923         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15924         do_local_cprop.
15925
15926 2002-07-21  Andreas Jaeger  <aj@suse.de>
15927
15928         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15929
15930 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15931
15932         Improvements for the ifcvt pass from Michael Meissner, with patches
15933         by Richard Sandiford <rsandifo@redhat.com>
15934         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15935         * ifcvt.c (cond_exec_changed_p): New static variable.
15936         (last_active_insn): New function, renamed from last_active_insn_p
15937         and changed to return the last active insn in a basic block. All
15938         callers updated.
15939         (block_fallthru): New function.
15940         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15941         IFCVT_MODIFY_INSN.  All callers updated.
15942         Return false if START or END are NULL.
15943         Handle case where we're processing an insn that is already
15944         conditional.
15945
15946         (noce_process_if_block): CE_INFO argument rather than
15947         multiple args containing the involved basic blocks.  All callers
15948         changed.
15949         (process_if_block, merge_if_block, find_if_block,
15950         cond_exec_process_if_block): Likewise.
15951
15952         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15953         changed.
15954         Use new function last_active_insn to simplify some code.
15955         New code to handle multiple tests.
15956         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15957         cond_exec_changed_p to TRUE.
15958
15959         (process_if_block): New code to handle multiple tests.
15960         (merge_if_block): Likewise.
15961         (find_if_header): New arg PASS.  Changed to return the currently
15962         processed basic block or NULL instead of true/false. All callers
15963         changed.
15964         Call IFCVT_INIT_EXTRA_FIELDS.
15965         (block_jumps_and_fallthru_p): New function.
15966         (find_if_block): Discover opportunities to convert multiple tests.
15967         Add additional debugging output.
15968         Update the ce_info structure before returning.
15969
15970         (if_convert): Run multiple passes of if-conversion.
15971         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15972         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15973         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15974         these macros.
15975
15976 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15977
15978         * gcse.c: Include cselib.h
15979         (constptop_register): Break out from ...
15980         (cprop_insn): ... here; kill basic_block argument.
15981         (do_local_cprop, local_cprop_pass): New functions.
15982         (one_cprop_pass): Call local_cprop_pass.
15983
15984 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15985
15986         * simplify-rtx.c (simplify_relational_operation): Optimize
15987         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15988
15989 2002-07-20  Michae Matz  <matz@suse.de>
15990
15991         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15992
15993 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15994
15995         * cppexp.c (struct op): Add token pointer.
15996         (check_promotion, CHECK_PROMOTION): New.
15997         (optab): Update.
15998         (_cpp_parse_expr): Update, use token pointer of struct op.
15999         (reduce): Warn about change of sign owing to promotion.
16000         * cppinit.c (cpp_handle_option): New warning if -Wall.
16001         * cpplib.h (struct cpp_options): New member.
16002
16003 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
16004
16005         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
16006         fpu list.  Separate Power4 compare and delayed_compare.  Correct
16007         Power4 fpcompare.
16008         (fix_truncdfsi2_internal): Restore FPR preference.
16009         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
16010         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
16011
16012 2002-07-19  Momchil Velikov <velco@fadata.bg>
16013
16014         * reload1.c (reload_as_needed): Duplicate oldpat.
16015
16016 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
16017
16018         PR optimization/7130
16019         * loop.h (struct loop_info): Add "preconditioned".
16020         * unroll.c (unroll_loop): Set it.
16021         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
16022
16023 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
16024
16025         * rtl.def (CODE_LABEL): Remove slot 8.
16026         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
16027         (LABEL_ALTERNATE_NAME): Delete.
16028         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
16029         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16030
16031         * final.c (output_alternate_entry_point): New.
16032         (final_scan_insn): Use it instead of
16033         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
16034         of a case label being an alternate entry point.
16035
16036         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
16037         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
16038         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
16039         (field deleted).
16040         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
16041
16042         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
16043         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
16044         * doc/tm.texi: Delete documentation of
16045         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16046
16047 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16048
16049         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
16050         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
16051         (LINK_SPEC): Define.
16052         (STARTFILE_SPEC): Define.
16053         (ENDFILE_SPEC): Define.
16054
16055         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
16056         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
16057
16058         * config/mips/iris6-o32-gas.h: New file.
16059         * config.gcc (mips-sgi-irix6*o32): Use it.
16060
16061         * config/mips/t-iris5-gas: New file.
16062         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16063
16064 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
16065
16066         * cppexp.c (ALWAYS_EVAL): Remove.
16067         (optab, reduce): Always evaluate.
16068         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
16069         only if not skipping evaluation.
16070
16071 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16072
16073         * config/avr/avr.c (debug_hard_reg_set): Remove.
16074
16075 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
16076
16077         * gcc.c (cpp_options): Include "%1" (cc1_spec).
16078
16079 2002-07-19  Richard Henderson  <rth@redhat.com>
16080
16081         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
16082
16083 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
16084
16085         * prefix.c (update_path): Don't zap single `.' path components
16086         unless followed by another `.' and fix typo last patch.
16087
16088 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
16089
16090         * cppexp.c (cpp_num_mul): Remove unused parameter.
16091         (UNARY, BINARY, OTHER, binary_handler): Remove.
16092         (ALWAYS_EVAL): New.
16093         (optab): Update.
16094         (reduce): Refactor to a large switch, don't use a function
16095         pointer.
16096
16097 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
16098
16099         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
16100
16101 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
16102
16103         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
16104         (sh_expand_binop_v2sf): Likewise.
16105         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
16106         (int_gpr_dest, trunc_hi_operand): New functions.
16107         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
16108         trunc_hi_operand.
16109         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
16110         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
16111         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
16112         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
16113         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
16114         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
16115         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
16116         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
16117         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
16118         (movsf_ie+1): Likewise.
16119         (loaddi_trunc): Use int_gpr_dest predicate.
16120         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
16121         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
16122         (casesi_worker_0+[12], casesi_worker): Likewise.
16123         (shcompact_preserve_incoming_args): Likewise.
16124         (mov_nop): Use any_register_operand predicate.
16125         (mperm_w0): Use trunc_hi_operand predicate.
16126
16127 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16128
16129         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
16130         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
16131         numbering.
16132
16133 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16134
16135         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
16136
16137 2002-07-18  Richard Henderson  <rth@redhat.com>
16138
16139         PR optimization/7147
16140         * ifcvt.c (noce_get_condition): Make certain that the condition
16141         is valid at JUMP.
16142
16143 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
16144
16145         * sh.c (barrier_align, push): Shut up compiler warnings.
16146         (initial_elimination_offset,sh_media_init_builtins): Likewise.
16147         (reg_no_subreg_operand): Delete.
16148
16149 2002-07-17  Bo Thorsen  <bo@suse.de>
16150
16151         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
16152         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
16153         (STARTFILE_SPEC): Remove hardcoded library paths.
16154         (ENDFILE_SPEC): Likewise.
16155
16156 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
16157
16158         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
16159
16160         * gcse.c (try_replace_reg): Do not return false positives.
16161
16162 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
16163
16164         * prefix.c: (update_path): Strip ".." components when prior dir
16165         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
16166
16167         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
16168         (ASM_OUTPUT_REG_POP): Likewise.
16169
16170 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
16171
16172         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
16173         adjustments to first_reg for profiling case.
16174         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
16175         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
16176         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
16177         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
16178         (ASM_OUTPUT_REG_POP): Define.
16179         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
16180         (ASM_OUTPUT_REG_POP): Undef.
16181
16182 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
16183
16184         * cpplib.c (do_sccs): Handle #sccs on all systems.
16185         * system.h (SCCS_DIRECTIVE): Poison.
16186         * config/darwin.h, config/freebsd.h, config/netbsd.h,
16187         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
16188         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
16189         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
16190         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
16191         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
16192         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
16193         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
16194         Remove all references to SCCS_DIRECTIVE.
16195         * doc/cpp.texi, doc/tm.texi: Update.
16196
16197 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
16198
16199         * regrename.c (maybe_mode_change): New function.
16200         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
16201
16202 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
16203
16204         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
16205         suppress addition when either ct or cf are zero.
16206
16207 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
16208             Glen Nakamura <glen@imodulo.com>
16209
16210         PR optimization/6713
16211         * loop.c (loop_givs_rescan): Explicitly delete the insn that
16212         sets a non-replaceable giv after issuing the new one.
16213
16214 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
16215
16216         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
16217         eval_token): Clarify and correct use of "bool" variables.
16218         * cpplib.h (struct cpp_options): Similarly.
16219         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
16220         * cpptrad.c (recursive_macro): Similarly.
16221
16222 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
16223
16224         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
16225         SHmedia code.
16226
16227         * sh.md (cmpgtudi_media): Remove spurious @.
16228
16229         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
16230         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
16231
16232         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
16233         * sh-protos.h (sh_initialize_trampoline): Declare.
16234         * sh.c (sh_initialize_trampoline): New function.
16235         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
16236         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
16237         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
16238         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
16239         * sh.md (initialize_trampoline, double_shori): New patterns.
16240         (initialize_trampoline_compact): Likewise.
16241         (shmedia32_initialize_trampoline_big): Remove.
16242         (shmedia32_initialize_trampoline_little): Likewise.
16243
16244         * sh-protos.h (binary_float_operator): Remove declaration.
16245         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
16246         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
16247         (unary_float_operator, sh_expand_unop_v2sf): New functions.
16248         (sh_expand_binop_v2sf): Likewise.
16249         (zero_vec_operand): Delete.
16250         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
16251         all non-shared ones.
16252         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
16253         Enable nsb and byterev.
16254         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
16255         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
16256         in general regs.
16257         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
16258         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
16259         immediate operands.
16260         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
16261         Add DF_HI_REGS.
16262         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
16263         lowpart fp regs - only for big endian for now.
16264         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
16265         when FPU is in use.
16266         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
16267         (LOAD_EXTEND_OP): NIL for SImode.
16268         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
16269         general and fp registers is 4.
16270         PREDICATE_CODES: Amend binary_float_operator entry.
16271         Remove zero_vec_operand.  Add unary_float_operator.
16272         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
16273         subreg SET_DEST.
16274         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
16275         (truncdiqi2): Do sign extension.
16276         (movsi_media, movdi_media): Allow to use r63 to an fp register.
16277         (movdf_media, movsf_media): Likewise.
16278         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
16279         Collapse to one define_insn_and_split.  Allow immediate sources.
16280         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
16281         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
16282         (movv4sf): Allow immediate sources.
16283         (movsf_media_nofpu+1): Don't split moves to FP registers.
16284         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
16285         (movv8qi_i+3): Check against CONST0_RTX.
16286         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
16287         for input and output operands.  Fix argument 3 to gen_mextr_rl.
16288         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
16289         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
16290         (mshf0_w, fipr, ftrv): Likewise.
16291         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
16292
16293 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
16294
16295         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
16296         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
16297         * arm.c: Similarly.
16298
16299 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
16300
16301         * config/mips/mips-protos.h (mips_sign_extend): Declare.
16302         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
16303         (TARGET_SWITCHES): Remove debugh.
16304         (ISA_HAS_TRUNC_W): New macro.
16305         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
16306         (PREDICATE_CODES): Remove se_nonimmediate_operand.
16307         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
16308         any SImode move_operand.
16309         (se_nonimmediate_operand): Remove.
16310         (mips_sign_extend): New.
16311         (mips_move_2words): Use it for sign-extended source operands.
16312         (override_options): Allow integers to be put into single FPRs.
16313         (mips_secondary_reload_class): Handle integers in float registers.
16314         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
16315         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
16316         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
16317         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
16318         (fix_truncdfdi2): Provide only a single alternative, in which the
16319         integer is in a float register.  Depend on TARGET_FLOAT64 rather
16320         than TARGET_64BIT.
16321         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
16322         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
16323         (movdi_internal2): Don't allow the source operand to be sign-extended.
16324         Add alternatives for float registers.
16325         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
16326         allows sign-extension.
16327         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
16328         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
16329         float registers.  Remove TARGET_DEBUG_H_MODE test.
16330         (movhi_internal1): Rename to movhi_internal.  Don't check
16331         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
16332         (movqi_internal1): Rename to movqi_internal and remove
16333         TARGET_DEBUG_H_MODE dependency.
16334         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
16335
16336 2002-07-16  Jim Wilson  <wilson@redhat.com>
16337
16338         * toplev.c (lang_dependent_init): Create function context for
16339         init_expr_once.
16340
16341 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
16342
16343         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
16344         --gc-sections if -r.
16345         * config/cris/cris.h: Ditto.
16346
16347 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
16348
16349         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
16350         the comparison directly gives a mask suppress addition when cf is
16351         zero by complementing the mask.
16352
16353 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
16354
16355         * Makefile.in: Delete references to enquire.
16356         * enquire.c: Move to contrib.
16357
16358 2002-07-16  Stan Shebs  <shebs@apple.com>
16359
16360         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
16361         config/rs6000/darwin.h.
16362         (ASM_OUTPUT_SKIP): Ditto.
16363         (TEXT_SECTION_ASM_OP): Ditto.
16364         (DATA_SECTION_ASM_OP): Ditto.
16365         (ASM_APP_ON): Define.
16366         (ASM_APP_OFF): Define.
16367         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
16368         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
16369
16370         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
16371         (machopic_function_base_name): Declare result to be const.
16372         (machopic_non_lazy_ptr_name): Ditto.
16373         (machopic_stub_name): Ditto.
16374         * config/darwin-protos.h: Ditto for the prototypes.
16375
16376 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
16377
16378         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
16379
16380 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
16381
16382         * i386.md (prefetch): Fix for 64bit mode.
16383         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16384
16385 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
16386
16387         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
16388         * i386.c (x86_machine_dependent_reorg): New function.
16389         * i386-protos.h (x86_machine_dependent_reorg): Declare.
16390
16391 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
16392
16393         * builtins.c (std_expand_builtin_va_start): Remove unused
16394         first argument.
16395         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
16396         std_expand_builtin_va_start with just two arguments.
16397         * expr.h: Update prototypes.
16398
16399         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
16400         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
16401         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
16402         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
16403         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
16404         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
16405         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
16406         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
16407         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
16408         argument from all implementations of EXPAND_BUILTIN_VA_START
16409         and all uses of std_expand_builtin_va_start.
16410
16411 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
16412
16413         * regrename.c (copy_value): Don't record high part copies.
16414
16415 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
16416
16417         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
16418         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
16419         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
16420
16421 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
16422
16423         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
16424
16425         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
16426         into addsi3 using register class "x" and "y".
16427
16428         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
16429         "earlyclobber" constraint modifier for some alternative.
16430
16431         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
16432         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
16433         unordered.
16434         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
16435
16436         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
16437         (TARGET_SWITCHES): Add -mieee-compare option.
16438         (OVERRIDE_OPTIONS): 32332 is a subset of
16439         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
16440         (TARGET_SWITCHES): Fix description of bitfield option.
16441         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
16442         -mieee-compare option. Remove 32332 flag.
16443
16444 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
16445
16446         * explow.c (convert_memory_address): Remove special handling
16447         when POINTERS_EXTEND_UNSIGNED < 0.
16448         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
16449         (movedi_symbolic): Fix typo.
16450         (load_fptr): Remove mode restriction so it works for SI and DI.
16451         (load_fptr_internal1): Ditto.
16452         (load_gprel): Ditto.
16453         (load_symptr_internal1): Ditto.
16454         (call_pic): Ditto.
16455         * config/ia64.c (call_operand): Modify mode check.
16456         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
16457         (ia64_expand_move): Ditto.
16458         (ia64_assemble_integer): Handle SImode function pointers.
16459         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
16460         (ia64_expand_op_and_fetch): Ditto.
16461         (ia64_expand_compare_and_swap): Ditto.
16462         (ia64_expand_lock_test_and_set): Ditto.
16463         (ia64_expand_lock_release): Ditto.
16464
16465 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16466
16467         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
16468
16469 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16470             Richard Earnshaw  <rearnsha@arm.com>
16471
16472         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
16473         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
16474
16475 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
16476
16477         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
16478         understands to be a memory clobber.
16479         * arm.c (arm_expand_prologue): Use it.
16480
16481 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
16482
16483         * ra-rewrite.c: #include reload.h, insn-config.h
16484         * ra-build.c: #include reload.h
16485         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
16486         depend on reload.h, insn-config.h.
16487
16488 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16489
16490         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
16491         the same size as a word.
16492
16493         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
16494         BYTES_BIG_ENDIAN into account.
16495
16496 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
16497
16498         * i386.md (prefetch): Fix for 64bit mode.
16499         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16500
16501         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
16502
16503 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16504
16505         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
16506
16507 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
16508
16509         * ginclude/varargs.h: Replace with stub which issues #error.
16510         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
16511         __builtin_va_start.
16512
16513         * builtins.def (BUILT_IN_VARARGS_START): Delete.
16514         (BUILT_IN_VA_START): New.
16515         * builtins.c (expand_builtin_va_start): Eliminate first
16516         argument and code to implement pre-ISO varargs.
16517         (std_expand_builtin_va_start): Ignore first argument; it is
16518         always 1.
16519         (expand_builtin): Handle BUILT_IN_VA_START and
16520         BUILT_IN_STDARG_START identically.  Delete
16521         BUILT_IN_VARARGS_START case.
16522
16523         * function.c (assign_parms): Delete hide_last_arg and all
16524         its uses.
16525         (mark_varargs): Delete function.
16526         * function.h (struct function): Delete 'varargs' bit.
16527         (current_function_varargs): Delete macro.
16528         * tree.h: Don't declare mark_varargs.
16529
16530         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
16531         (c_expand_body): Don't call mark_varargs.
16532         * c-objc-common.c: Handle BUILT_IN_VA_START and
16533         BUILT_IN_STDARG_START identically.  Delete
16534         BUILT_IN_VARARGS_START case.
16535         * c-tree.h: Don't declare c_mark_varargs.
16536         * c-parse.in: Remove grammar rules for '&...' (which has been
16537         commented out since before 2.7.2) and for '...' in K+R
16538         argument declarations.
16539
16540         * builtins.c, function.c, integrate.c, sibcall.c,
16541         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
16542         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
16543         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
16544         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
16545         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
16546         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
16547         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
16548         config/stormy16/stormy16.c: Delete all references to
16549         current_function_varargs, and code predicated on that flag.
16550
16551         * config/alpha/alpha.c (alpha_va_start),
16552         config/arc/arc.c (arc_va_start),
16553         config/i386/i386.c (ix86_va_start),
16554         config/mips/mips.c (mips_va_start),
16555         config/mn10300/mn10300.c (mn10300_va_start),
16556         config/rs6000/rs6000.c (rs6000_va_start),
16557         config/s390/s390.c (s390_va_start),
16558         config/sh/sh.c (sh_va_start),
16559         Ignore first argument; it is always 1.
16560
16561         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
16562         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
16563         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
16564         Delete m68hc11_va_start.
16565         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
16566         No need to define EXPAND_BUILTIN_VA_START.
16567
16568         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
16569         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
16570
16571 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
16572
16573         PR optimization/7153
16574         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
16575         dies in more than one insn.
16576
16577 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
16578
16579         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
16580
16581 2002-07-15  Michael Matz  <matz@suse.de>,
16582             Daniel Berlin  <dberlin@dberlin.org>,
16583             Denis Chertykov  <denisc@overta.ru>
16584
16585         Add a new register allocator.
16586
16587         * ra.c: New file.
16588         * ra.h: New file.
16589         * ra-build.c: New file.
16590         * ra-colorize.c: New file.
16591         * ra-debug.c: New file.
16592         * ra-rewrite.c: New file.
16593
16594         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
16595         (ra-rewrite.o): New .o files for libbackend.a.
16596         (GTFILES): Add basic-block.h.
16597
16598         * toplev.c (flag_new_regalloc): New.
16599         (f_options): New option "new-ra".
16600         (rest_of_compilation): Call initialize_uninitialized_subregs()
16601         only for the old allocator.  If flag_new_regalloc is set, call
16602         new allocator, instead of local_alloc(), global_alloc() and
16603         friends.
16604
16605         * doc/invoke.texi: Document -fnew-ra.
16606         * basic-block.h (FOR_ALL_BB): New.
16607         * config/rs6000/rs6000.c (print_operand): Write small constants
16608         as @l+80.
16609
16610         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
16611         (df_reg_table_realloc): Make size at least as large as max_reg_num().
16612         (df_insn_table_realloc): Size argument now is absolute, not relative.
16613         Changed all callers.
16614
16615         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
16616         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
16617
16618         2002-06-20  Michael Matz  <matz@suse.de>
16619
16620         * df.h (struct ref.id): Make unsigned.
16621         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
16622
16623         2002-06-13  Michael Matz  <matz@suse.de>
16624
16625         * df.h (DF_REF_MODE_CHANGE): New flag.
16626         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
16627         involving subregs with invalid mode changes, when
16628         CLASS_CANNOT_CHANGE_MODE is defined.
16629
16630         2002-05-07  Michael Matz  <matz@suse.de>
16631
16632         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
16633
16634         2002-05-03  Michael Matz  <matz@suse.de>
16635
16636         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
16637
16638         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
16639
16640         * regclass.c (regclass): Work with all regs which have sets or
16641         refs.
16642         (reg_scan_mark_refs): Count regs inside (clobber ...).
16643
16644         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
16645
16646         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
16647         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
16648         add new refs.
16649         (df_bb_refs_update): Don't clear insns_modified here, ...
16650         (df_analyse): ... but here.
16651
16652         * sbitmap.c (dump_sbitmap_file): New.
16653         (debug_sbitmap): Use it.
16654
16655         * sbitmap.h (dump_sbitmap_file): Add prototype.
16656
16657         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
16658
16659         * df.c (df_insn_modify): Grow the UID table if necessary, rather
16660         than assume all emits go through df_insns_modify.
16661
16662         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16663
16664         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
16665         increase REG_N_REFS (like flow does), so that regclass doesn't
16666         think a reg is useless, and thus, not calculate a class, when it
16667         really should have.
16668
16669         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
16670
16671         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
16672         dataflow analysis.
16673
16674 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
16675
16676         PR middle-end/7245
16677         * config/i386/i386.c (const_int_1_31_operand): New.
16678         * config/i386/i386.h (PREDICATE_CODES): Add it.
16679         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
16680         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
16681         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
16682
16683 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
16684
16685         PR target/7282
16686         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
16687         (floatunssidf2): Likewise.
16688         (floatsidf_ppc64): New insn_and_split.
16689         (floatunssidf_ppc64): Likewise.
16690
16691 2002-07-14  Andreas Jaeger  <aj@suse.de>
16692
16693         * config.gcc (sh64): Remove unused
16694         target_requires_64bit_host_wide_int.
16695
16696 2002-07-12  Roger Sayle  <roger@eyesopen.com>
16697
16698         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
16699         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
16700         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
16701         whether clear_by_pieces should be used to clear storage.
16702         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
16703
16704         * doc/tm.texi: Document these two new target macros.
16705
16706 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
16707
16708         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
16709         the scratch register.
16710         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
16711         of it, forbid reload to use it.
16712
16713 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16714
16715         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
16716         usage on 64-bit hosts, return value was truncated to 32 bits.
16717
16718 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
16719
16720         * simplify-rtx.c (simplify_subreg): Handle floating point
16721         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
16722         the element mode is requested, compute a subreg with an
16723         integer mode of the same size as the element mode first.
16724
16725 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16726
16727         * combine.c (try_combine): When converting a paradoxical subreg
16728         to an extension, take LOAD_EXTEND_OP into account.
16729
16730 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16731
16732         * config.gcc (mips-sgi-irix6*o32): New configuration.
16733
16734         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16735         configurations.
16736         * configure: Regenerate.
16737
16738         * config/mips/iris6-o32-as.h: New file.
16739         * config/mips/iris6-o32.h: New file.
16740
16741         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16742         (NM_FLAGS): Define.
16743         (HAVE_AS_SHF_MERGE): Undefine.
16744
16745         * config/mips/t-iris5-as: New file.
16746         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16747
16748         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16749         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16750         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16751         dp-bit.c, fp-bit.c): Move ...
16752         * config/mips/t-iris5-6: ... here.
16753         New file, shared by IRIX 5 and IRIX 6.
16754         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16755         mips-sgi-irix5*): Use it.
16756
16757         * config/mips/iris6.h: Remove duplicate comment.
16758
16759         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16760         !TARGET_IRIX6]: Define.
16761         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16762
16763         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16764
16765 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16766
16767         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16768         and delete code to force constant to register.
16769         * pa-protos.h (adddi3_operand): Add prototype.
16770         * pa.c (adddi3_operand): New function.
16771
16772 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16773
16774         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16775         non-ANSI builtin functions.
16776
16777 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16778
16779         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16780         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16781         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16782         (gen_const_vector_0): Use it.
16783
16784 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16785
16786         * pa.md (adddi3): For 32-bit targets, force constants to a register
16787         if they don't fit in an 11-bit immediate.  Change insn predicate to
16788         arith11_operand.  Remove comment.
16789         * pa.c (cint_ok_for_move): Fix comment.
16790         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16791         targets.
16792
16793 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16794
16795         Remove front end hard coding from gengtype.c.
16796
16797         * Makefile.in
16798         (STAGESTUFF): add gtyp-gen.h
16799         (GTFILES): Remove front end specific files.
16800         (GTFILES_FILES_LANGS): New, from configure..
16801         (GTFILES_FILES_FILES): Likewise.
16802         (GTFILES_LANG_DIR_NAMES): Likewise.
16803         (GTFILES_SRCDIR): Likewise.
16804         (gtyp-gen.h): Build from configure information.
16805         (s-gtype): Remove command line parameters from gengtype.
16806         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16807         (mostlyclean): Delete files generated by and for gengtype.
16808
16809         * c-config-lang.in: New file.
16810
16811         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16812         for each language.
16813         (all_gtfiles_files_files): New. Accumulate language for each file
16814         accumulated.
16815         (gtfiles): Pick up value for C.
16816         (srcdir): AC-SUBST this variable.
16817         (all_gtfiles_files_langs): AC-SUBST this variable.
16818         (all_gtfiles_files_files): AC-SUBST this variable.
16819
16820         * configure: Regenerate.
16821
16822         * gengtype-lex.l (parse_file): Make parameter const.
16823
16824         * gengtype.c (toplevel): include gtyp-gen.h.
16825         (BASE_FILE_<language> unnamed enum): Delete.
16826         (lang_names): Delete (replaced by gtyp-gen.h)
16827         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16828         all references.
16829         (NUM_GT_FILES): New.
16830         (NUM_LANG_FILES): New.
16831         (srcdir_len): New.
16832         (NUM_BASE_FILES): Change calculation.
16833         (open_base_files): Change prototype to avoid warning.
16834         (startswith): Delete.
16835         (get_file_basename): Iterate through generated language list not
16836         hard coded list.
16837         (get_base_file_bitmap): Use generated list of files and languages.
16838         (close_output_files): Add prototype to rmove warning.
16839         (main): Iterate through list of generated files from gtyp-gen.h
16840         rather than command line paramaters.  Ignore duplicated file
16841         names.
16842
16843         * gengtype.h (parse_file): Amend prototype for const parameter.
16844
16845         * doc/sourcebuild.texi: Document gtfiles variable.
16846
16847         * doc/gty.texi: Document changes to gtfiles variable for front
16848         ends.
16849
16850         * objc/config-lang.in (gtfiles): Add files needed for objc front
16851         end.
16852
16853 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16854
16855         PR c/2454
16856         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16857         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16858
16859 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16860             Zack Weinberg <zack@codesourcery.com>
16861
16862         * builtins.def: Make the argument types of abort and exit
16863         independent of the front-end.
16864
16865 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16866
16867         * config/rs6000/linux64.h (ASM_SPEC): Define.
16868
16869 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16870
16871         * config/rs6000/rs6000.c (emit_frame_save): New.
16872         (rs6000_frame_related): Replace reg2 before reg.
16873         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16874         and eh_return registers.
16875
16876 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16877
16878         Revert all patches for optimization of Complex .op. Real.
16879         * complex_part_zero_p: Remove
16880         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16881         with x.
16882         * expand_cmplxdiv_wide: Ditto.
16883         * expand_binop: Ditto.
16884
16885 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16886
16887         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16888         negative also on 64-bit hosts.
16889
16890         Default to -fno-reorder-blocks when optimizing for size.
16891         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16892         * config/avr/avr.c (avr_optimization_options): New function.
16893         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16894
16895         Optimize returning from simple functions.
16896         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16897         * config/avr/avr.c (avr_simple_epilogue): New function.
16898         * config/avr/avr.md (return): New insn.
16899
16900 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16901
16902         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16903         HAS_INIT_SECTION to protection.
16904
16905 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16906
16907         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16908         deprecated.
16909
16910 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16911
16912         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16913         Supply non-VOID mode to simplify_gen_subreg.
16914
16915 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16916
16917         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16918
16919 2002-07-10  Jeffrey A Law  <law@redhat.com>
16920
16921         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16922         as appropriate.
16923
16924         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16925         register to use.
16926
16927 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16928
16929         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16930         Get mode from dest.
16931         If simplify_gen_subreg fails, try next equivalent.
16932
16933 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16934
16935         * diagnostic.h: #include location.h
16936         (location_t): Move definition to..
16937         * location.h: ... here.  New file.
16938         * tree.h: #include location.h
16939         (DECL_SOURCE_LOCATION): New macro.
16940         (DECL_SOURCE_FILE): Use.
16941         (DECL_SOURCE_LINE): Likewise.
16942         (struct tree_decl): REplace filename and linenum with locus.
16943         * Makefile.in (TREE_H): add location.h
16944         (diagnostic.o): Depends on gt-location.h
16945         (gt-location.h): Depends on s-gtype
16946
16947 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16948
16949         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16950         TARGET_OS_CPP_BUILTINS.
16951         * config/rs6000/aix31.h: Likewise.
16952         * config/rs6000/aix41.h: Likewise.
16953         * config/rs6000/aix43.h: Likewise.
16954         * config/rs6000/aix51.h: Likewise.
16955         * config/rs6000/beos.h: Likewise.
16956         * config/rs6000/darwin.h: Likewise.
16957         * config/rs6000/eabi.h: Likewise.
16958         * config/rs6000/eabisim.h: Likewise.
16959         * config/rs6000/linux.h: Likewise.
16960         * config/rs6000/linux64.h: Likewise.
16961         * config/rs6000/lynx.h: Likewise.
16962         * config/rs6000/mach.h: Likewise.
16963         * config/rs6000/rtems.h: Likewise.
16964         * config/rs6000/sysv4.h: Likewise.
16965         * config/rs6000/vxppc.h: Likewise.
16966
16967 2002-07-09 Devang Patel <dpatel@apple.com>
16968         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16969         Do not allow ObjC objects as a parameter type for Objective-C methods.
16970         My previous patch restricted  'struct' also.
16971
16972 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16973
16974         * cpperror.c (cpp_error): Default to directive_line within
16975         directives here.
16976         * cppexp.c (cpp_interpret_integer): Only use traditional
16977         number semantics in directives.
16978         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16979         (do_include_common): Similarly.
16980         * cpptrad.c (scan_out_logical_line): Implement accurate
16981         quoting of <> in #include.
16982         * doc/cpp.texi: Update.
16983
16984 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16985                           J"orn Rennecke <joern.rennecke@superh.com>
16986
16987         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16988         * sh.md (attribute issues): Replace with:
16989         (attribute pipe_model).  All users changed.
16990         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16991         All users changed.
16992         (function units sh5issue, sh5fds): New.
16993         (attribute is_mac_media): New.
16994         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16995         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16996         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16997         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16998         (call_media, call_value_media, sibcall_media): Likewise.
16999         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
17000         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
17001         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
17002         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
17003         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
17004         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
17005         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
17006         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
17007         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
17008         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
17009         (truncdfsf2_media): Likewise.
17010         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
17011         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
17012
17013 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
17014
17015         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
17016         * sh.c (general_extend_operand, inqhi_operand): New functions.
17017         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
17018         alternatives using 'N' modifier.  Add type.
17019         (adddi3z_media): Likewise.  Enable generator function generation.
17020         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
17021         exact predicates / constraints.  Add type.
17022         (subsi3): Allow 0 for SHMEDIA.
17023         (udivsi3_i4_media): Use match_operand for input values
17024         rather than hard registers.
17025         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
17026         unnecessarily through hard registers.  Keep copies of pseudo
17027         registers outside of the libcall sequence.
17028         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
17029         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
17030         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
17031         (extendhidi2, extendqidi2): Likewise.
17032         (andsi3_compact): Name.
17033         (andcdi3): Enable generator function generation.
17034         (zero_extendhisi2, zero_extendqisi2): Rename to
17035         (zero_extendhisi2_compact, zero_extendqisi2_compact).
17036         (extendhisi2, extendqisi2): Rename to
17037         (extendhisi2_compact, extendqisi2_compact).
17038         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
17039         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
17040         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
17041         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
17042         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
17043         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
17044         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
17045         (shmedia32_initialize_trampoline_big): Likewise.
17046         (shmedia32_initialize_trampoline_little): Likewise.
17047         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
17048         (negdi2): Remove spurious T clobber.
17049         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
17050         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
17051         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
17052         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
17053         (ic_invalidate_line_media): Write back data cache before invalidating
17054         instruction cache.  Add type.
17055         (movsf_media): Sign-extend when the destination is a general
17056         purpose register.  Add type.
17057         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
17058         (casesi_worker_0+1): Only increment ref count for proper label.
17059         (casesi_worker_0+2): Likewise.
17060
17061 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
17062
17063         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
17064
17065 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
17066
17067         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
17068         from Pmode to ptr_mode.
17069         (get_exception_pointer): Ditto.
17070         (connect_post_landing_pads): Ditto.
17071         (dw2_build_landing_pads): Ditto.
17072
17073 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
17074         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
17075         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
17076         (handle_pragma_redefine_extname): Change to use new function.
17077
17078 2002-07-08  Roger Sayle  <roger@eyesopen.com>
17079
17080         * combine.c (combine_simplify_rtx): Add an explicit cast
17081         to avoid signed/unsigned comparison warning.
17082         (simplify_if_then_else): Likewise.
17083         (extended_count): Likewise.
17084         (simplify_shift_const): Likewise.
17085         (simplify_comparison): Likewise.
17086
17087 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
17088
17089         * config/mips/mips.md: Add imadd type.  Update scheduler description
17090         to use imadd as well as imul.
17091         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
17092         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
17093         (*mul_sub_si): Likewise for first alternative.  Change second
17094         alternative from imul to multi.
17095
17096 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
17097
17098         * c-common.c (c_common_post_options): Update prototype;
17099         don't init backends if preprocessing only.
17100         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
17101         * langhooks.h (struct lang_hooks): Update post_options to
17102         return a boolean.
17103         * toplev.c (parse_options_and_default_flags, do_compile,
17104         lang_independent_init): Update prototypes.  Allow the
17105         front end to specify that there is no need to initialize
17106         the back end.
17107         (general_init): Move call to hex_init here...
17108         (toplev_main): ...from here.  Pass flag for back end init
17109         suppression.
17110
17111 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
17112
17113         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
17114         (PREDICATE_CODES): Add entries for equality_comparison_operator,
17115         greater_comparison_operator and less_comparison_operator.
17116         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
17117         more operators.
17118         (equality_comparison_operator): New function.
17119         (greater_comparison_operator, less_comparison_operator): Likewise.
17120         * sh.md (beq_media_i): Disable generator function generation.
17121         Use match_operator to handle a whole class of comparisons.  Add
17122         modifier in output template to provide branch prediction.  Add type.
17123         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
17124         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
17125         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
17126         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
17127
17128 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
17129
17130         Emit MMIX function prologue and epilogue as rtl.
17131         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
17132         not unprototyped get_hard_reg_initial_val.
17133         ("call_value", "nonlocal_goto_receiver"): Ditto.
17134         ("return"): Make define_expand.  Move real insn to...
17135         ("*expanded_return"): New pattern.
17136         ("prologue", "epilogue"): New define_expands.
17137         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
17138         (struct machine_function): New member in_prologue.
17139         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
17140         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
17141         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
17142         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
17143         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
17144         (LOCAL_REGNO): Define.  Adjust comment.
17145         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
17146         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
17147         leaf_function_p.
17148         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
17149         the prologue.
17150         (mmix_target_asm_function_prologue): Make static.  Just mark that
17151         the prologue is being emitted.  Move guts to...
17152         (mmix_expand_prologue): New function.  Adjust for emitting
17153         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
17154         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
17155         \n.  Move guts to...
17156         (mmix_expand_epilogue): New function.  Adjust for emitting
17157         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
17158         (mmix_target_asm_function_end_prologue): Mark that the prologue
17159         has ended.
17160         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
17161         (mmix_conditional_register_usage): Improve comments.
17162         (mmix_local_regno): New function.
17163         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
17164         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
17165         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
17166         (mmix_get_hard_reg_initial_val): Ditto.
17167
17168 2002-07-06  Andreas Jaeger  <aj@suse.de>
17169
17170         * toplev.c (set_fast_math_flags): Don't use ISO C style function
17171         definitions.
17172         * gengtype.c (open_base_files): Likewise.
17173         (close_output_files): Likewise.
17174         * tracer.c (find_best_predecessor): Likewise.
17175         (find_best_successor): Likewise.
17176         (ignore_bb_p): Likewise.
17177
17178 2002-07-05  Roger Sayle  <roger@eyesopen.com>
17179
17180         PR c++/7099
17181         * builtin-attrs.def: Define new attribute lists for use in
17182         builtins.def.
17183         * builtins.def [DEF_BUILTIN]: Modify to take an additional
17184         ATTRS argument, an enumerated value defined in builtin-attrs.def
17185         that represents the attribute list for the builtins.  Modify
17186         all builtin functions to pass an appropriate attribute list.
17187         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
17188         their required noreturn attributes.
17189         * tree.h (enum_builtin_function): Ignore the additional parameter
17190         to DEF_BUILTIN.
17191         * builtins.c (built_in_names): Likewise.
17192         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
17193         argument with a tree representing the functions attribute list.
17194         Pass this "attrs" argument to builtin_function.  No longer handle
17195         the noreturn_p processing manually.
17196         (built_in_attributes): Move the definitions from builtin-attrs.def
17197         before c_common_nodes_and_builtins.
17198         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
17199         DEF_BUILTIN, passing it to both builtin_function and the changed
17200         builtin_function_2.
17201
17202         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
17203         __builtin__exit and __builtin__Exit.
17204
17205 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17206
17207         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
17208         QI mode registers in soft registers.
17209         ("zero_extendqihi2"): Do not take into account soft registers
17210         for register allocation (use '*' constraint).
17211
17212 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17213
17214         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
17215         it is dead.
17216         ("*ashrsi3"): Likewise.
17217         ("*lshrsi3"): Likewise.
17218
17219 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
17220
17221         * genautomata.c (output_max_insn_queue_index_def): Take latencies
17222         into account.
17223
17224 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17225
17226         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
17227         address computation and memory moves.
17228
17229 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
17230
17231         PR c++/6706
17232         * dwarfout.c (output_reg_number): Fix warning message.
17233         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
17234         before using it.
17235
17236 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17237
17238         * gcc/gcc.c (asm_debug): Move initialization ...
17239         (init_spec): ... here.
17240
17241 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
17242
17243         * c-parse.in (extdef): Append ';'.
17244         (old_style_parm_decls): Append ';'.
17245
17246 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
17247
17248         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
17249         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
17250         to gcc_cv_as_gstabs_flag.
17251         * configure: Rebuilt.
17252
17253 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
17254
17255         * ggc.h (ggc_add_root): Document as obsolete.
17256
17257 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
17258
17259         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
17260         (mshflo_w): Likewise.
17261
17262 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
17263
17264         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
17265         vector mode subregs of constants to finding integer mode
17266         subregs of constants.
17267         * cse.c (cse_insn): Use simplify_gen_subreg.
17268         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
17269         From a vector mode expression of different size than the
17270         target mode.
17271
17272 2002-07-03  Eric Christopher  <echristo@redhat.com>
17273
17274         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
17275         * config/mips/mips.h: Remove deprecated -m<processor> options
17276         and cc1_cpu_spec associated.
17277         (CONSTANT_ADDRESS_P): Fix last patch.
17278         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
17279         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
17280         sunge_sf): Remove.
17281
17282 2002-07-03  Stan Shebs  <shebs@apple.com>
17283
17284         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
17285         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
17286         (CPP_SPEC): Remove insertion of APPLE_CC definition.
17287
17288 2002-07-03  Roger Sayle  <roger@eyesopen.com>
17289
17290         * combine.c (struct_undo): Change types of recorded substitutions
17291         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
17292         (do_SUBST_INT): Change types of the substitution from unsigned int
17293         to int, to avoid compilation warning from SUBST_INT's only caller.
17294
17295         (make_extraction): Add cast to avoid compilation warning.
17296         (force_to_mode): Remove cast to avoid compilation warning.
17297
17298 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
17299             Jeff Law  <law@redhat.com>
17300
17301         * i386.md (length_immediate attribute): Fix typo.
17302         (length_address attribute): Likewise.
17303         (modrm attribute): Set it to 0 for immediate call instructions.
17304         (jcc_1 pattern): Set modrm attribute to 0.
17305         (jcc_2 pattern ): Likewise.
17306         (jump pattern): Likewise.
17307         (doloop_end_internal pattern): Explicitly set length.
17308         (leave pattern): Fix typo.
17309         (leave_rex64 pattern): Likewise.
17310
17311 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
17312
17313         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
17314         in FPR as preference.
17315         (fctiwz): Same.
17316         (floatdidf2, fix_truncdfdi2): Same.
17317         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
17318         (floatditf2): Same.
17319         (floatsitf2, fix_trunctfsi2): SImode in GPR.
17320         (ctrdi): Remove FPR alternative and splitter.
17321
17322 2002-07-03  Will Cohen  <wcohen@redhat.com>
17323
17324         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
17325
17326 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
17327
17328         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
17329         than UNITS_PER_WORD, unless this is little endian and the first unit
17330         in this word.  Let extract_bit_field decide how to load an element.
17331         Force arguments to matching mode.
17332         (expand_vector_unop): Likewise.
17333
17334         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
17335         consist of word_mode elements.
17336         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
17337         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
17338         (build_unary_op): Allow vector types for BIT_NOT_EPR.
17339         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
17340         CONST_VECTOR.
17341         * optabs.c (expand_vector_binop): Try to perform operation in
17342         smaller vector modes with same inner size.  Add handling of AND, IOR
17343         and XOR.  Reject expansion to inner-mode sized scalars when using
17344         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
17345         (expand_vector_unop): Try to perform operation in smaller vector
17346         modes with same inner size.  Add handling of one's complement.
17347         When there is no vector negate operation, try a vector subtract
17348         operation.  Use simplify_gen_subreg on constants.
17349         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
17350         constants into smaller vectors with same inner mode, and to
17351         integer CONST_DOUBLEs.
17352
17353 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17354
17355         * c-parse.in (parsing_iso_function_signature): New variable.
17356         (extdef_1): New, copied from...
17357         (extdef): ... here.  Reset parsing_iso_function_signature.
17358         (old_style_parm_decls):  Reset parsing_iso_function_signature.
17359         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
17360         Warn about ISO C style function definitions.
17361         (nested_function, notype_nested_function): Reset
17362         parsing_iso_function_signature.
17363         (parmlist_2): Set parsing_iso_function_signature.
17364
17365         * doc/invoke.texi (-Wtraditional): Document new behavior.
17366
17367 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
17368
17369         * config.gcc (mips*el-*-*): Use tm_defines to set
17370         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
17371         * config/mips/little.h: Remove.
17372
17373 2002-07-02 Devang Patel <dpatel@apple.com>
17374
17375         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
17376         object as parameter. Prevent something like 'NSObject' to be
17377         used as the type for a method argument.
17378
17379 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
17380
17381         * cpptrad.c: Update comment.
17382
17383 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
17384
17385         * doc/cpp.texi: Update for traditional preprocessing changes.
17386         * goc/cppopts.texi: Similarly.
17387
17388 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
17389
17390         * c-parse.in (designator): Enable designated initializers if ObjC.
17391         (objcmessageexpr): Remove references to objc_receiver_context.
17392         * objc/objc-act.h (objc_receiver_context): Remove decl.
17393         * objc/objc-act.c (objc_receiver_context): Remove.
17394         (lookup_objc_ivar): Test objc_method_context instead of
17395         objc_receiver_context.
17396
17397 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
17398
17399         * sh.c (print_operand, case 'N'): Allow zero vector.
17400         (arith_reg_or_0_operand): Likewise.
17401         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
17402         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
17403         IOR, XOR, PLUS and SET and take their respective constant
17404         ranges into account.
17405         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
17406         * sh.md (subdi3, subdi3_media): Allow zero operand.
17407         (movv8qi_i+3): Only vector that is not split is the zero vector.
17408         Fix operand 3 to simplify_subreg.
17409         (movv2si_i): Split alternative 1.
17410         (mshfhi_l_di_rev+1): New splitter.
17411
17412 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
17413
17414         PR preprocessor/7029
17415         * cppinit.c (cpp_handle_option):  Suppress warnings with an
17416         implicit "-w" for "-M" and "-MM".
17417         * doc/cppopts.texi: Update.
17418
17419 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17420
17421         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
17422         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
17423         builtin_function.
17424
17425 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
17426
17427         * README.Portability: Fix typos.
17428
17429 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
17430
17431         PR target/7177
17432         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
17433         of indirections for register inside sign-extended mem part.
17434
17435 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17436
17437         * tree.h:  Modify builtin_function interface to take an extra
17438         argument ATTRS, which is a tree representing an attribute list.
17439
17440         * c-decl.c (builtin_function): Accept additional parameter.
17441         * objc/objc-act.c (builtin_function): Likewise.
17442         * f/com.c (builtin_function): Likewise.
17443         * java/decl.c (builtin_function): Likewise.
17444         * ada/utils.c (builtin_function): Likewise.
17445         * cp/decl.c (builtin_function): Likewise.
17446         (builtin_function_1): Likewise.
17447
17448         * c-common.c (c_common_nodes_and_builtins): Pass an additional
17449         NULL_TREE argument to builtin_function.  (builtin_function_2):
17450         Likewise.
17451         * cp/call.c (build_java_interface_fn_ref): Likewise.
17452         * objc/objc-act.c (synth_module_prologue): Likewise.
17453         * java/decl.c (java_init_decl_processing): Likewise.
17454         * f/com.c (ffe_com_init_0): Likewise.
17455
17456         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
17457         NULL_TREE argument to builtin_function.
17458         * config/arm/arm.c (def_builtin): Likewise.
17459         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
17460         * config/i386/i386.c (def_builtin): Likewise.
17461         * config/ia64/ia64.c (def_builtin): Likewise.
17462         * config/rs6000/rs6000.c (def_builtin): Likewise.
17463
17464 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
17465
17466         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
17467         * config/mips/t-isa3264: Likewise.
17468         * config/mmix/t-mmix: Likewise.
17469
17470 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17471
17472         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
17473
17474 2002-07-01  Roger Sayle  <roger@eyesopen.com>
17475
17476         PR opt/4046
17477         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
17478         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
17479         B are truth values.
17480
17481 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
17482
17483         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
17484
17485 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
17486
17487         * README.Portability (Function prototypes): Give an example of
17488         declaring and defining a function with no arguments.
17489
17490         * README.Portability (Function prototypes): Document new
17491         variable-argument function macros.
17492
17493 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
17494
17495         * sh.c (langhooks.h): Include.
17496         (sh_init_builtins, sh_media_init_builtins): New functions.
17497         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
17498         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
17499         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
17500         (builtin_description): New struct tag.
17501         (signature_args, bdesc): New arrays.
17502         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
17503         (print_operand): Add 'N' modifier.
17504         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
17505         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
17506         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
17507         (CONST_COSTS): Add special case for SHmedia AND.
17508         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
17509         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
17510         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
17511         target_operand can also be const or unspec.
17512         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
17513         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
17514         (attribute type): Add new types.
17515         (anddi3): Add splitter.
17516         (movdi_const_16bit+1): Add code to handle vector constants and
17517         bitmasks efficiently.
17518         (shori_media): Have generator function made.
17519         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
17520         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
17521         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
17522         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
17523         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
17524         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
17525         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
17526         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
17527         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
17528         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
17529         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
17530         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
17531         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
17532         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
17533         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
17534         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
17535         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
17536         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
17537         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
17538         (ftrv): Likewise.
17539
17540         (fpu_switch+1, fpu_switch+2): Remove constraint.
17541
17542 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
17543
17544         * tree.c (build_function_type_list): Update function comment.
17545         Rename first argument to return_type.
17546
17547 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
17548
17549         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
17550         tradcif.y and related files.
17551
17552 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
17553
17554         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
17555
17556 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17557
17558         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
17559
17560 See ChangeLog.7 for earlier changes.