OSDN Git Service

* config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2
3         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
4         target_cpu_default.
5         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
6         if not MASK_NO_SPACE_REGS.
7         (output_call): Adjust return pointer, don't load new space register
8         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
9         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
10         TARGET_NO_SPACE_REGS is true.
11         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
12         conditions.
13         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
14         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
15         true.  Use bve when TARGET_64BIT is true.
16
17 2003-02-06  Richard Henderson  <rth@redhat.com>
18
19         * combine.c (nonzero_bits): Fix double break.
20
21 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
22             Richard Henderson <rth@redhat.com>
23
24         PR c/9530
25         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
26         from functions that return a float to functions that don't.
27
28 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
29
30         * i386.c (x86_inter_unit_moves): New variable.
31         (ix86_secondary_memory_needed): Fix 64bit case, honor
32         TARGET_INTER_UNIT_MOVES
33         * i386.h (x86_inter_unit_moves): Declare.
34         (TARGET_INTER_UNIT_MOVES): New macro.
35         * i386.md (movsi_1): Cleanup constraints; disable
36         when not doing inter-unit moves.
37         (movsi_1_nointernunit): New.
38         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
39         (movdi_1_rex64_nointerunit): New.
40         (mivsf_1): disable when not doing inter-unit moves.
41         (movsf_1_nointerunit): New.
42
43         * basic-block.h (inside_basic_block_p):  Declare.
44         * cfgbuild.c (inside_basic_block_p): Make global.
45         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
46         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
47         update CFG.
48         (fix_basic_block_boundaries, add_missing_bbs): New.
49         (rank): Use profile.
50         (scheudle_ebbs): Rely on CFG; update coments.
51
52 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
53
54         * Makefile.in (host_hook_obj): New.
55         (OBJS): Add $(host_hook_obj).
56         (host_default.o): New rule.
57         * config.gcc (host_hook_obj): New, default to host-default.o.
58         (powerpc-*-darwin*): Use host-darwin.o.
59         (out_host_hook_obj): New.
60         * configure: Regenerate.
61         * configure.in: Print information about out_host_hook_obj, substitute
62         into output files.
63         * host-default.c: New file.
64         * hosthooks.h: New file.
65         * toplev.c (general_init): Call host_hooks.extra_signals.
66         * config/rs6000/host-darwin.c: New file.
67         * config/rs6000/x-darwin: New file.
68         * doc/hostconfig.texi: Add documentation for new host hook.
69         Rearrange existing documentation.
70
71 2003-02-05  Roger Sayle  <roger@eyesopen.com>
72
73         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
74         with *targetm.delegitimize_address.
75         (rtl_for_decl_location): Likewise.
76         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
77         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
78
79         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
80         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
81         prototype.
82         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
83         i386_simplify_dwarf_addr.  Made static.  Prototyped.
84         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
85         i386_simplify_dwarf_addr to ix86_delegitimize_address.
86         (ix86_find_base_term): Likewise.
87         (maybe_get_pool_constant): Likewise.
88
89         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
90         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
91         prototype.
92         * config/s390/s390.c (s390_delegitimize_address): Renamed from
93         s390_simplify_dwarf_addr.  Made static.  Prototyped.
94         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
95
96 2003-02-05  Richard Henderson  <rth@redhat.com>
97
98         PR c/8602
99         * integrate.c (output_inline_function): Reset input_filename
100         and lineno from the decl before rest_of_compilation.
101
102 2003-02-05  Richard Henderson  <rth@redhat.com>
103
104         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
105         (CTZ_DEFINED_VALUE_AT_ZERO): New.
106         * doc/rtl.texi, doc/tm.texi: Document them.
107
108         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
109         of the value at zero properly.
110         * fold-const.c (tree_expr_nonnegative_p): Likewise.
111         * simplify-rtx.c (simplify_unary_operation): Likewise.
112
113         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
114         (CTZ_DEFINED_VALUE_AT_ZERO): New.
115
116         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
117         (TARGET_EXPAND_BUILTIN): Remove.
118         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
119         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
120         (enum arm_builtins): Remove.
121         * config/arm/arm.md (UNSPEC_CLZ): Remove.
122         (clzsi2): Rename from clz; use clz instead of unspec.
123         (ctzsi2): New.
124         * config/arm/arm-protos.h: Update.
125
126 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
127
128         * i386-protos.h (x86_emit_floatuns):  Declare.
129         * i386.c (x86_emit_floatuns): New global function.
130         * i386.md (floatunssisf2, floatunsdisf2,
131         floatunsdidf2):  New patterns.
132
133 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
134
135         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
136
137 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
138
139         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
140           config/ia64/linux.h
141
142 2002-02-05  Roger Sayle  <roger@eyesopen.com>
143
144         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
145
146 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
147
148         PR optimization/8555
149         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
150         instead of aborting.
151
152 2003-02-04  Richard Henderson  <rth@redhat.com>
153
154         * config/i386/i386.md (UNSPEC_BSF): Remove.
155         (ffssi2): Split into cmove and no_cmove insns and splitters;
156         lose pentium float trick for now.
157         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
158         (ctzsi2, clzsi2, bsr): New.
159
160 2003-02-04  Richard Henderson  <rth@redhat.com>
161
162         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
163         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
164         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
165         (ffsdi2): Use popcount instead of unspec.
166         (popcountdi2): Rename from *popcnt.
167         (ctzdi2, clzdi2, getf_exp_tf): New.
168
169 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
170
171         * genconfig.c (main): Generate CC0_P.
172         * rtl.h (CC0_P): Remove.
173
174 2003-02-04  Richard Henderson  <rth@redhat.com>
175
176         * libgcc2.h, libgcc2.c (__ffsSI2): New.
177         (__ffsDI2): Rename from __ffsdi2.
178         * mklibgcc.in (lib2funcs): Add _ffssi2.
179
180 2003-02-04  Richard Henderson  <rth@redhat.com>
181
182         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
183         rounds with a "bit table" lookup.
184
185 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
186
187         * reload.c (find_reloads): Do not use the mode specified in the insn
188         pattern as reload mode for address operands.  Do not generate optional 
189         reloads for operands where a mandatory reload was already pushed.
190
191 2003-02-04  Richard Henderson  <rth@redhat.com>
192
193         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
194         builtins instead of inline assembly.
195
196 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
197  
198         PR c/9376
199         * libgcc2.c (__subvdi3): Fix typo.
200
201 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
202
203         * i386.md (movti_rex64):  Fix constraint.
204
205 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
206
207         * i386.md (vector push splitters):  Fix typo in resolving conflict.
208
209 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
210
211         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
212
213 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
214
215         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
216         for recent libstdc++.  Remove formatting cruft.
217
218 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
219
220         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
221         attribute even if input file name is absolute, but one of the
222         includes is relative.
223
224 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
225
226         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
227         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
228         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
229
230 2003-02-03  Richard Henderson  <rth@redhat.com>
231
232         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
233         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
234         return type to "int".  Shuffle declarations and undef int trap.
235         * libgcc2.h: Remove their declarations.
236         * optabs.c (expand_unop): Force outmode to int for bitops.
237
238 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
239
240         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
241         coprocessor registers before floating-point registers.
242         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
243         to account for a previously removed register.
244         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
245         Delete unused macros.
246
247 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
248
249         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
250         (mov*_internal): Fix predicates; require one of operands to not be
251         memory.
252         (SSE?MMX move expanders):  Fix predicates; force one of operands to
253         register.
254         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
255         (movups/movupd/movdqu patterns): Force one of operands to not be
256         memory.
257
258 2002-02-03  Roger Sayle  <roger@eyesopen.com>
259
260         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
261         takes a single rtx and returns it unmodified.
262         * hooks.h (hook_rtx_rtx_identity): Prototype here.
263         * target.h (struct gcc_target): Add "delegitimize_address"
264         field to target structure.
265         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
266         for delegitimize_address target using hook_rtx_rtx_identity.
267         (TARGET_INITIALIZER): Initialize delegitimize_address field
268         using TARGET_DELEGITIMIZE_ADDRESS macro.
269         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
270         extensions of constant pool references.  Use delegitimize_address
271         to undo the obfuscation of "-fpic".
272         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
273
274         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
275         i386_simplify_dwarf_addr.
276         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
277         (maybe_get_pool_constant): Likewise.
278
279 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
280
281         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
282
283 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
284
285         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
286
287 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
288
289         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
290         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
291
292 2003-02-02  Andreas Schwab  <schwab@suse.de>
293
294         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
295
296 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
297
298         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
299         (epilogue_insns): Likewise.
300
301 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
302
303         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
304
305 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
306
307         * pa-protos.h (attr_length_millicode_call): Remove second argument.
308         (attr_length_indirect_call, attr_length_indirect_call,
309         attr_length_save_restore_dltp): New prototypes.
310         * pa.c (attr_length_millicode_call): Remove second argument.  Check
311         INSN_ADDRESSES_SET_P in distance calculation.
312         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
313         INSN_ADDRESSES.
314         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
315         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
316         Call attr_length_call directly.
317         (attr_length_indirect_call, output_indirect_call,
318         attr_length_save_restore_dltp): New functions.
319         * pa.md (attr_length_millicode_call): Drop second argument from all
320         patterns.
321         (return_internal_pic): Delete.
322         (return_external_pic): Remove use of PIC register and pic operand and
323         flag checks.
324         (epilogue): Use return_internal for both normal and pic code.
325         (call, call_value): Emit new 32-bit pic patterns for symref and
326         indirect calls.  Remove uses for arg pointer and pic register.
327         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
328         call_reg_pic_post_reload, call_val_symref_pic,
329         call_val_symref_pic_post_reload, call_val_reg_pic,
330         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
331         Implement define_split and define_peephole2 patterns for pre reload
332         patterns.
333         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
334         call_value_internal_reg_64bit): Shorten names.
335         (all call patterns): Explicitly indicate registers used and clobbered.
336         Use attr_length_indirect_call and attr_length_save_restore_dltp for
337         attribute length calculation.  Move code generation for indirect calls
338         to output_indirect_call.
339         (sibcall, sibcall_value): Don't restore PIC register.
340         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
341         register retore.
342
343 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
344
345         * doc/install.texi (Testing): Simplify and compress instructions
346         concerning Dejagnu.
347
348 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
349
350         * collect2.c (pexecute_pid): Rename to pid.
351         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
352         pid.
353
354 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
355
356         * doc/extend.texi (Function Attributes): Remove documentation
357         for PowerPC Windows NT function attributes..
358
359 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
360
361         * dwarf2out.c (gen_type_die): Check for typedefs before calling
362         for TYPE_MAIN_VARIANT.
363
364 2003-02-01  Richard Henderson  <rth@redhat.com>
365
366         * libgcc2.c: Include auto-host.h.
367         (ATTRIBUTE_HIDDEN): New.
368         (__clz_tab): Don't declare here for clz and ctz.
369         (__clzsi2, __clzdi2): Use count_leading_zeros.
370         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
371         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
372         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
373         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
374
375 2003-02-01  Richard Henderson  <rth@redhat.com>
376
377         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
378         to the conditional.
379         (ashlsi3_1_zext splitter): Likewise.
380
381 2003-02-01  Richard Henderson  <rth@redhat.com>
382
383         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
384         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
385         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
386         return type to Wtype.
387
388         * libgcc-std.ver (GCC_3.4): Fix inheritance.
389
390         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
391         expander input constraint.
392
393 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
394
395         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
396         OTI_parity.
397         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
398         * optabs.c (widen_clz, expand_parity): New.
399         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
400         for libcalls to clz, ctz, popcount, and parity.
401         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
402         parity_optab, and set up libfunc handlers.
403         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
404         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
405         __popcount_tab): New.
406         * libgcc2.h: Declare them.
407         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
408         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
409         and parity_optab.
410         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
411         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
412         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
413         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
414         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
415         BUILT_IN_PARITYLL): New.
416         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
417         and add optab argument.
418         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
419         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
420         * expr.c (expand_expr): Handle them.
421         * fold-const.c (tree_expr_nonnegative_p): Likewise.
422         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
423         * reload1.c (eliminate_regs): Handle them.
424         (elimination_effects): Likewise.
425         * function.c (instantiate_virtual_regs_1): Likewise
426         * genattrtab.c (check_attr_value): Likewise.
427         * simplify-rtx.c (simplify_unary_operation): Likewise.
428         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
429         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
430         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
431         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
432         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
433         __builtin_arm_clz.
434         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
435         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
436         * doc/extend.texi (Other Builtins): Add new builtins.
437         * doc/md.texi (Standard Names): Add new patterns.
438
439 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
440
441         * reload.c: Revert 2003-01-31 change.
442
443 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
444
445         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
446
447 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
448
449         * flags.h (flag_volatile): Remove declaration.
450         (flag_volatile_global, flag_volatile_static): Likewise.
451         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
452         * toplev.c (flag_volatile): Remove definition.
453         (flag_volatile_global, flag_volatile_static): Likewise.
454         (f_options): Remove corresponding entries here.
455         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
456         or flag_volatile_static.
457         * doc/invoke.texi: Remove documentation of -fvolatile,
458         -fvolatile-global and -fvolatile-static.
459
460 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
461
462         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
463         updating of total_code_bytes from prologue to epilogue.
464
465 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
466
467         * reload.c (find_reloads): Do not use the mode specified in the insn
468         pattern as reload mode for address operands.  Do not generate optional
469         reloads for operands where a mandatory reload was already pushed.
470         Generate optional reloads only in the final pass though find_reloads.
471         (have_replacement_p): New function.
472
473 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
474
475         * doc/install.texi (Testing): Remove a reference to our obsolete
476         /testresults web pages and strip redundant information concerning
477         test results.
478         (Binaries): Refer to Microsoft Windows instead of listing all
479         possible variants.
480
481 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
482
483         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
484         RTL chain.
485
486         * combine.c (simplify_set): Reverse order of ragumetns to
487         REG_CANNOT_CHANGE_MODE_P
488         * df.c (df_def_record_1): Likewise.
489         * recog.c (register_operand): Likewise.
490         * simplify-rtx.c (simplify_subreg): Likewise.
491         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
492         CANNOT_CHANGE_MODE_CLASS.
493         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
494         Likewise.
495         * reload.c (push_reload): Likewise.
496         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
497         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
498         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
499         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
500         * mips.c (mips_cannot_change_mode_class): Update.
501         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
502         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
503         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
504         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
505         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
506         * sh.c (sh_cannot_change_mode_class): Update.
507         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
508         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
509
510 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
511
512         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
513         change to LINK_COMMAND_SPEC in gcc.c.
514
515 2003-01-31  Jan Hubicka  <jh@suse.cz>
516
517         PR c/9506
518         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
519
520 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
521
522         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
523         duplicated code.
524
525 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
526
527         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
528         (BINFO_ELTS): New #define.
529         * stor-layout.c (finalize_record_size): Don't set them.
530         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
531         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
532         (BINFO_LANG_ELTS): New #define.
533         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
534         * java/class.c (make_class): Use BINFO_ELTS.
535         (set_super_info): Likewse.
536         (add_interface_do): Likewise.
537         * objc/objc-act.c (start_class): Use BINFO_ELTS.
538
539 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
540
541         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
542         (times): Don't ever declare if not HAVE_TIMES.
543         (clock): Don't ever declare if not HAVE_CLOCK.
544
545 2003-01-30  Richard Henderson  <rth@redhat.com>
546
547         * flow.c (update_life_info): Zap life info after cleanup_cfg.
548         (regno_uninitialized): Use correct live at function entry set.
549         (regno_clobbered_at_setjmp): Likewise.
550
551         * expr.c (store_expr): Promote all MEM intermediates to regs.
552
553 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
554
555         * config/arm/arm.c: Fix comment typos.
556         * config/arm/arm.h: Likewise.
557         * config/arm/netbsd-elf.h: Likewise.
558         * config/arm/netbsd.h: Likewise.
559
560 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
561
562         * gengtype.c (struct walk_type_data): Add needs_cast_p.
563         (walk_type): Set needs_cast_p in walk_type_data.
564         (write_types_process_field): Supply casts when required to suppress
565         warnings.
566         (write_root): Cast gt_pch_n_S to suppress warning.
567         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
568         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
569         when they might exist.
570         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
571         insn-conditions.o, and rs6000.o.
572
573 2003-01-30  Richard Henderson  <rth@redhat.com>
574
575         * ggc-page.c (G.context_depth_allocations): New.
576         (G.context_depth_collections): New.
577         (alloc_page): Set G.context_depth_allocations.
578         (ggc_collect): Set G.context_depth_collections.
579         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
580         (ggc_pop_context): Early exit for no allocations or collections.
581
582 2003-01-30  Richard Henderson  <rth@redhat.com>
583
584         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
585
586 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
587
588         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
589         size, the link register is always saved if any other register is
590         saved.
591
592 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
593
594         * config/h8300/h8300-protos.h: Update the prototype for
595         compute_plussi_cc.
596         (cpp_reader): Declare before it is used.
597         * config/h8300/h8300.c (compute_plussi_cc): Change the return
598         type to int.
599         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
600         see an unknown H8 variant.
601
602 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
603
604         PR target/9316
605         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
606         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
607         * config/rs6000/t-rtems: New file. multilib variants to match OS.
608         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
609         rs6000/t-ppcgas so we get the desired multilibs.
610
611 2003-01-30  Nick Clifton  <nickc@redhat.com>
612
613         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
614         when popping saved IP register off the stack.
615
616 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
617
618         * config/rs6000/aix43.h: Fix comment typos.
619         * config/rs6000/aix51.h: Likewise.
620         * config/rs6000/aix52.h: Likewise.
621         * config/rs6000/altivec.h: Likewise.
622         * config/rs6000/rs6000.c: Likewise.
623         * config/rs6000/rs6000.h: Likewise.
624         * config/rs6000/rs6000.md: Likewise.
625         * config/rs6000/spe.md: Likewise.
626
627 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
628
629         * c-common.c (builtin_define_float_constants): Define
630         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
631
632 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
633
634         * config/sh/lib1funcs.asm: Fix comment typos.
635         * config/sh/linux.h: Likewise.
636         * config/sh/sh.c: Likewise.
637         * config/sh/sh.md: Likewise.
638
639 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
640
641         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
642
643 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
644
645         * config/fp-bit.h (__make_dp): Declare if TMODES.
646
647 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
648
649         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
650         general_operand_src and general_operand_dst.
651
652 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
653
654         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
655         Return true for variable sized types.
656         (rs6000_va_arg): Handle variable sized types passed by reference
657         on non-SVR4 ABI.
658
659 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
660
661         * arm.c (arm_legtimize_address): New function.
662         * arm-protos.h (arm_legtimize_address): Add prototype.
663         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
664         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
665         do ... while (0)
666
667 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
668
669         PR bootstrap/9296
670         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
671         depended on it being defined until now.
672
673 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
674
675         PR target/9295
676         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
677         RTEMS code knows which C++ initialization style the toolset
678         configuration is using.
679
680 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
681
682         PR bootstrap/9293
683         * config/m68k/t-crtstuff: Replace spaces with tabs, add
684          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
685
686 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
687
688         PR bootstrap/9292
689         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
690         RTEMS threads.
691         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
692
693 2003-01-29  Nick Clifton  <nickc@redhat.com>
694
695         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
696         not $(srcdir).
697
698 2003-01-29  Andrew Haley  <aph@redhat.com>
699
700         * tree-inline.c (walk_tree): Add CHAR_TYPE.
701
702 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
703
704         * i386.md (subdi3_carry_rex64): Fix typo.
705
706 2003-01-28  Stan Shebs  <shebs@apple.com>
707
708         * coretypes.h (cpp_reader): Forward declare struct.
709         * c-pragma.h (cpp_reader): Remove forward declaration.
710         * hashtable.h (cpp_reader): Likewise.
711         * scan.h (cpp_reader): Likewise.
712         * tree.h (cpp_reader): Likewise.
713         * config/darwin-protos.h (cpp_reader): Likewise.
714         * config/arm/arm-protos.h (cpp_reader): Likewise.
715         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
716         struct cpp_reader in prototypes.
717
718 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
719
720         * doc/install.texi: Add documentation for installation into
721         tooldirs and with DESTDIR.
722
723 2003-01-28  Richard Henderson  <rth@redhat.com>
724
725         * config.gcc (ia64*-*-aix*): Remove.
726         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
727         * config/ia64/unwind-aix.c: Remove file.
728
729 2003-01-28  Andreas Schwab  <schwab@suse.de>
730
731         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
732         register.
733         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
734         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
735         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
736         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
737         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
738         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
739         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
740
741 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
742
743         * combine.c (nonzero_bits): Fix check for negative divide operands.
744
745 2003-01-28  Richard Henderson  <rth@redhat.com>
746
747         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
748         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
749
750 2003-01-28  Richard Henderson  <rth@redhat.com>
751
752         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
753
754         * config/cris/cris.c (cris_address_cost): Make static.
755         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
756         * config/cris/cris.h (ADDRESS_COST): Remove.
757         * config/cris/cris-protos.h: Update.
758
759 2003-01-23  Mike Stump  <mrs@apple.com>
760
761         * regclass.c (init_reg_autoinc): New function.
762         (regclass): Move initialization of forbidden_inc_dec_class from
763         here...
764         (init_regs): to here.  Avoids reinitialization for each function,
765         saving compilation time.
766
767 2003-01-28  Jason Merrill  <jason@redhat.com>
768
769         * cpplib.h (struct cpp_options): Add warn_deprecated field.
770         * cppinit.c (cpp_create_reader): Turn it on by default.
771         * c-opts.c (c_common_decode_option): Set it.
772         * cpplib.c (do_pragma_once): Only complain about #pragma once
773         if warn_deprecated is set.
774
775 2003-01-28  Dale Johannesen  <dalej@apple.com>
776
777         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
778         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
779         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
780
781 2003-01-28  Richard Henderson  <rth@redhat.com>
782
783         * target.h (targetm.address_cost): New.
784         * target-def.h (TARGET_ADDRESS_COST): New.
785         (TARGET_RTX_COSTS): Uncomment.  Oops.
786         * cse.c (address_cost): Use new target hook.
787         (default_address_cost): New.
788         * output.h (default_address_cost): Declare.
789         * hooks.c (hook_int_rtx_0): New.
790         * hooks.h (hook_int_rtx_0): Declare.
791         * loop.c (combine_givs_p): Remove if 0 code.
792         * system.h (ADDRESS_COST): Poison.
793
794         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
795         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
796         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
797         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
798         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
799         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
800         config/xtensa/xtensa.c, config/xtensa/xtensa.h
801         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
802         (ADDRESS_COST): Remove.
803
804         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
805         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
806         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
807         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
808         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
809         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
810         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
811         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
812         config/mips/mips.c, config/mips/mips.h,
813         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
814         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
815         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
816         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
817         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
818         config/vax/vax.c, config/vax/vax.h
819         (foo_address_cost): Make static.
820         (TARGET_ADDRESS_COST): New.
821         (ADDRESS_COST): Remove.
822
823         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
824         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
825         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
826         config/stormy16/stormy16.h
827         (ADDRESS_COST): Move code ...
828         (foo_address_cost): ... here.
829         (TARGET_ADDRESS_COST): New.
830
831         * config/m32r/m32r.c (m32r_address_cost): Remove.
832         * config/m32r/m32r-protos.h: Update.
833
834         * config/mmix/mmix.c (mmix_address_cost): Remove.
835         * config/mmix/mmix-protos.h: Update.
836
837         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
838         mn10300_address_cost; move unsig allocation ...
839         (mn10300_address_cost): ... here.
840         (TARGET_ADDRESS_COST): New.
841         * config/mn10300/mn10300-protos.h: Update.
842         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
843
844         * doc/tm.texi: Update.
845
846 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
847
848         * haifa-sched.c (schedule_insn): Return necessary cycle advance
849         after issuing the insn.
850         (rank_for_schedule): Make a insn with /S the highest priority
851         insn.
852         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
853         (choose_ready): Check SCHED_GROUP_P.
854         (schedule_block): Advance cycle after issuing insn if it is
855         necessary.  Don't reorder insns if there is an insn with /S.
856         (set_priorities): Ignore schedule groups.
857
858         * sched-deps.c (remove_dependence, group_leader): Remove the
859         functions.
860         (add_dependence): Ignore schedule groups.
861         (set_sched_group_p): Don't make copy of dependencies from previous
862         insn of the schedule group.  Add anti-dependency to the previous
863         insn of the schedule group.
864         (compute_forward_dependences): Ignore schedule groups.
865
866         * sched-ebb.c (init_ready_list): Ignore schedule groups.
867
868         * sched-rgn.c (init_ready_list): Ditto.
869         (can_schedule_ready_p): Ditto.
870
871 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
872
873         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
874         register to another one.
875
876 2003-01-28  Richard Henderson  <rth@redhat.com>
877
878         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
879
880 2003-01-28  Roger Sayle  <roger@eyesopen.com>
881
882         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
883
884 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
885
886         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
887         class contains a floating-point register, return the size of the
888         mode in half words.
889
890 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
891
892         * i386.c (ix86_carry_flag_operator):  New predicate.
893         (fcmov_operator): Fix whitespace.
894         (ix86_expand_carry_flag_compare):  Deal with floating point.
895         (ix86_expand_int_movcc): Deal with fp; update insn expansion
896         (ix86_expand_int_addcc): Likewise.
897         (ix86_expand_strlensi_unroll_1): likewsie.
898         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
899         * i386.md (add?i_carry_rex64): Use new predicate.
900         (sub?i3_carry_rex64): Likewise.
901         (x86_mov?icc_0_m1*): Likewise.
902
903 2003-01-28  Andreas Schwab  <schwab@suse.de>
904
905         * cfgloopmanip.c (create_preheader): Initialize src to avoid
906         warning.
907
908         * expmed.c (emit_store_flag): Fix cast to avoid sign
909         comparison warning.
910
911         * combine.c (force_to_mode): Add cast to fix warning when
912         STORE_FLAG_VALUE is negative.
913
914 2003-01-27  Richard Henderson  <rth@redhat.com>
915
916         * Makefile.in (cse.o): Depend on TARGET_H.
917         * cse.c (rtx_cost): Use targetm.rtx_costs.
918         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
919         * doc/tm.texi: Update.
920
921         * target.h (targetm.rtx_costs): New.
922         * target-def.h (TARGET_RTX_COSTS): New.
923         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
924         * hooks.h: Update.
925
926         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
927         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
928         * config/alpha/alpha.h (PROCESSOR_MAX): New.
929         (CONST_COSTS, RTX_COSTS): Remove.
930
931         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
932         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
933         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
934         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
935         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
936         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
937         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
938         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
939         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
940         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
941         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
942         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
943         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
944         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
945         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
946         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
947         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
948         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
949         config/v850/v850.c, config/v850/v850.h,
950         config/xtensa/xtensa.c, config/xtensa/xtensa.h
951         (CONST_COSTS, RTX_COSTS): Move code ...
952         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
953
954         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
955         (arm_rtx_costs, TARGET_RTX_COSTS): New.
956         * config/arm/arm-protos.h: Update.
957         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
958
959         * config/avr/avr.h (CONST_COSTS): Move code ...
960         * config/avr/avr.c (avr_rtx_costs): ... here.
961         (default_rtx_costs): Make static.
962         * config/avr/avr-protos.h: Update.
963
964         * config/h8300/h8300.c (const_costs): Make static.
965         (h8300_and_costs, h8300_shift_costs): Likewise.
966         * config/h8300/h8300-protos.h: Update.
967
968         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
969         (CONST_COSTS): Move code ...
970         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
971         default_rtx_costs; update for signature change.
972         * config/ip2k/ip2k-protos.h: Update.
973
974         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
975         (CONST_COSTS): Move code ...
976         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
977         (TARGET_RTX_COSTS): New.
978         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
979         * config/m68hc11/m68hc11-protos.h: Update.
980
981         * config/m68k/m68k.c (const_int_cost): Make static.
982         * config/m68k/m68k-protos.h: Update.
983
984         * config/mcore/mcore.c (mcore_const_costs): Make static.
985         (mcore_and_cost, mcore_ior_cost): Likewise.
986         * config/mcore/mcore-protos.h: Update.
987
988         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
989         (mmix_rtx_cost_recalculated): Remove.
990         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
991         * config/mmix/mmix-protos.h: Update.
992
993         * config/sh/sh.c (shiftcosts): Make static.
994         (addsubcosts, andcosts, multcosts): Likewise.
995         * config/sh/sh-protos.h: Update.
996
997         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
998         (sparc_rtx_costs): Make static; update for change in signature.
999         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
1000         * config/sparc/sparc-protos.h: Update.
1001
1002         * config/v850/v850.c (const_costs): Make static.
1003         * config/v850/v850-protos.h: Update.
1004
1005         * config/vax/vax.h (RTX_COSTS): Remove.
1006         (CONST_COSTS): Move code ...
1007         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
1008         from vax_rtx_cost.
1009         (vax_rtx_costs, TARGET_RTX_COSTS): New.
1010
1011 2003-01-27  Richard Henderson  <rth@redhat.com>
1012
1013         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
1014         * config/vax/vax-protos.h: Update.  Really.
1015
1016 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
1017
1018         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
1019         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
1020         zero if no hardware floating point.
1021         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
1022         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
1023         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
1024         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
1025         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
1026         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
1027         even FP registers on N32 and N64.
1028         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
1029         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
1030         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
1031         even-register-like alignment to 128-bit arguments.
1032         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
1033         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
1034         on N32 or N64.
1035         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
1036         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
1037         (TPBIT): Set to tp-bit.c.
1038         (tp-bit.c): Create out of fp-bit.c.
1039
1040 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1041
1042         * c-parse.in: Remove '%expect 32' directive in objc mode.
1043
1044 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
1045
1046         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
1047         (LIBGCOV): New variable.
1048         (libgcc.mk): Add LIBGCOV.
1049         (LIBGCC_DEPS): Add libgcov.c.
1050         (libgcov.a): New target.
1051         (clean): Remove libgcov.a.
1052         (install-libgcc): Do libgcov too.
1053         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
1054         with libgcov.a.
1055         * libgcc2.c (L_gcov): Move into ...
1056         * libgcov.c: ... here. New file.
1057         * mklibgcc.in: Add libgcov rules.
1058         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
1059
1060         * doc/invoke.texi (profile-arcs, test-coverage): Update and
1061         clarify.
1062
1063         * profile.c (index_counts_file): Remove duplicate check for open file.
1064
1065 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
1066
1067         * gcc/doc/invoke.texi (Optimization Options): Group together
1068         optional and experimental flags.  Move trapv and bounds-check
1069         out of this section.  Group floating point flags together.
1070         (Code Gen Options): Move trapv and bounds-check to here.
1071
1072 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
1073
1074         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
1075
1076 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
1077
1078         PR optimization/9090
1079         * function.c (purge_addressof_1): After pushing an addressed register
1080         onto the stack, simplify the result.
1081
1082 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1083
1084         * doc/extend.texi: Fix typo.
1085
1086 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1087
1088         * doc/cppopts.texi: Fix typo.
1089         * doc/objc.texi: Likewise.
1090         * doc/passes.texi: Likewise.
1091
1092 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
1093
1094         * real.c (ibm_extended_format): Add 53 to minimum exponent.
1095         (encode_ibm_extended): Adjust.
1096
1097 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
1098
1099         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
1100         timevar_id enumerations.
1101
1102 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1103
1104         * combine.c: Fix formatting.
1105
1106 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1107
1108         * doc/gccint.texi: Update the copyright.
1109
1110 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1111
1112         * doc/cpp.texi: Fix typos.
1113         * doc/extend.texi: Likewise.
1114         * doc/gty.texi: Likewise.
1115         * doc/install.texi: Likewise.
1116         * doc/passes.texi: Likewise.
1117         * doc/rtl.texi: Likewise.
1118         * doc/tm.texi: Likewise.
1119
1120 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1121
1122         * config/ia64/fde-glibc.c: Fix comment typos.
1123         * config/ia64/hpux.h: Likewise.
1124         * config/ia64/ia64.c: Likewise.
1125         * config/ia64/ia64.h: Likewise.
1126         * config/ia64/unwind-ia64.c: Likewise.
1127
1128 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1129
1130         * config/i386/i386-modes.def: Fix comment typos.
1131         * config/i386/i386.c: Likewise.
1132         * config/i386/i386.md: Likewise.
1133
1134 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
1135
1136         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
1137         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
1138         ASM_FINISH_DECLARE_OBJECT before defining it.
1139         * toplev.c (rest_of_decl_compilation):  Don't define
1140         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
1141         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
1142         parameters for DWARF2 targets because they _are_ used.
1143
1144 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
1145
1146         * fp-bit.h: Define macros for TFmode floating-point constants
1147         in IBM-extended TFmode types.
1148         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
1149         widths.
1150         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
1151         TFmode type.
1152
1153         * config/fp-bit.h: Define macros for TFmode floating-point
1154         constants in IEEE quad TFmode type.  Declare functions according
1155         to L_ macros.
1156         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
1157         (TFtype, TItype, UTItype): Define if TMODES is defined.
1158         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
1159         (F_T_BITOFF, D_T_BITOFF): Define.
1160         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
1161         guaranteed to be wide enough.
1162         * config/fp-bit.c: Check for L_ macros for tf functions.
1163         (__thenan_tf): New.
1164         (nan): Adjust.
1165         (pack_d, unpack_d): Support IEEE 854 quad type.
1166         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
1167         from FRAC_NBITS, FRAC_BITS and NGARDS.
1168         (usi_to_float): Cast constants to be shifted to fractype
1169         instead of assuming long long is wide enough.
1170         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
1171
1172 2003-01-26  Andreas Jaeger  <aj@suse.de>
1173
1174         * df.c: Remove prototype of unused function df_regno_rtl_debug.
1175
1176 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
1177
1178         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
1179         (DBBIT_FUNCS): Added _df_to_tf.
1180         (TPBIT_FUNCS): New.
1181         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
1182         (LIBGCC_DEPS): Added TPBIT.
1183         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
1184
1185         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
1186         been able to move the result to target.
1187
1188         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
1189         for the appropriate mode.
1190
1191         * calls.c (emit_library_call_value_1): Handle return values
1192         in a PARALLEL.
1193
1194         * rtl.c (get_mode_alignment): Moved to...
1195         * stor-layout.c: ... here.
1196
1197         * print-rtl.c (print_rtx): Don't print MEM details in
1198         GENERATOR_FILEs.
1199
1200 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
1201
1202         * df.h: Update comments, tidy formatting.
1203         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
1204         REVERSE, UNION, INTERSECTION.  All uses updated.
1205         (OLD_DF_INTERFACE): Remove.
1206         (struct insn_info): Remove commented out insn field.
1207         * df.c: Update comments, tidy formatting.
1208         (df_def_table_realloc): Remove.
1209
1210
1211 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
1212
1213         * calls.c (save_fixed_argument_area): Tidy.
1214         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
1215         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
1216         call chain loop at 1 if !try_tail_call.  Formatting.
1217         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
1218         Use save_fixed_argument_area and restore_fixed_argument_area.
1219
1220 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1221
1222         * df.c (df_uses_record): Handle CC0.
1223
1224 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
1225
1226         * reload.c (maybe_memory_address_p): New function.
1227         (find_reloads_address): Use it instead of memory_address_p.
1228
1229 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
1230
1231         * final.c (shorten_branches): Align the address of code label
1232         when computing initial lengths and addresses.
1233
1234 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
1235
1236         * config/m68hc11/m68hc11.md: Fix a comment typo.
1237
1238 2003-01-25  Andreas Jaeger  <aj@suse.de>
1239
1240         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
1241         TARGET_MACHO.
1242
1243 2003-01-25  Roger Sayle  <roger@eyesopen.com>
1244
1245         * gcse.c (bypass_last_basic_block): New global variable.
1246         (bypass_block):  Use redirect_edge_and_branch_force to redirect
1247         fall-through edges.  Use bypass_last_basic_block to determine
1248         which blocks have valid PRE information.
1249         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
1250
1251 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
1252
1253         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
1254
1255 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1256                               Eric Botcazou <ebotcazou@libertysurf.fr>
1257         PR opt/8492
1258         * gcse.c (one_cprop_pass): Delete unreachable blocks.
1259
1260 2003-01-25  Richard Henderson  <rth@redhat.com>
1261
1262         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
1263         from ia64_aix_select_rtx_section.
1264         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
1265         instead of saving and restoring flag_pic.
1266         (ia64_rwreloc_unique_section): Similarly.
1267         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
1268         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
1269         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
1270         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
1271
1272 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
1273
1274         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
1275         comment.
1276
1277 2002-01-25  Richard Henderson  <rth@redhat.com>
1278
1279         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
1280
1281 2002-01-25  Kelley Cook <kelleycook@comcast.net>
1282
1283         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
1284
1285 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
1286
1287         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
1288         type for bitmaps.  Use unsigned long.
1289         (nBITMAP_WORD_BITS): New macro.
1290         (BITMAP_WORD_BITS): New macro.
1291         (rest of file): Use it.
1292         * bitmap.c: Use it.
1293
1294 2003-01-25  Richard Henderson  <rth@redhat.com>
1295
1296         2002-02-19  Robert Lipe  <robertlipe@usa.net>
1297         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
1298
1299 2002-01-25  Roger Sayle  <roger@eyesopen.com>
1300
1301         * builtins.c (purge_builtin_constant_p): Scan insn stream
1302         sequentially rather than by basic block.
1303         * function.c (purge_addressof): Simplify test with INSN_P.
1304
1305 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
1306
1307         * combine.c (simplify_comparison, case AND): Remove a redundant test.
1308
1309 2002-01-25  Roger Sayle  <roger@eyesopen.com>
1310
1311         * function.h (struct function): New field calls_constant_p.
1312         (current_function_calls_constant_p): New macro for above.
1313         * function.c (prepare_function_start): Initialize calls_eh_return
1314         and calls_constant_p.
1315         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
1316         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
1317         when the current_function_calls_constant_p.
1318         * integrate.c (expand_inline_function): Set calls_constant_p if
1319         the function being inlined has calls_constant_p set.
1320
1321 2002-01-25  Roger Sayle  <roger@eyesopen.com>
1322
1323         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
1324         optimizing, even if flag_gcse is true.
1325         * toplev.c (rest_of_compilation): purge_builtin_constant_p
1326         only needs to be called when "optimize > 0 && flag_gcse".
1327
1328 2003-01-25  Roger Sayle  <roger@eyesopen.com>
1329
1330         * stmt.c (emit_case_bit_tests): New routine to implement suitable
1331         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
1332         (case_bit_test_cmp): New comparison function for "qsort" to order
1333         case_bit_tests by decreasing number of destination nodes.
1334         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
1335         (expand_end_case_type): Use emit_case_bit_tests to implement
1336         suitable switch statments.
1337         (CASE_USE_BIT_TESTS): New target macro to disable the above.
1338         * Makefile.in (stmt.o): Add dependency on optab.h.
1339         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
1340
1341 2003-01-23  Andreas Schwab  <schwab@suse.de>
1342
1343         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
1344         __do_global_ctors_aux hidden global and don't put it in
1345         .init_array.
1346         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
1347         instead so that it comes first.
1348
1349 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1350
1351         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
1352         subreg is read/modify.
1353
1354 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
1355
1356         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
1357         do libcall for large blocks.
1358         * i386.md (comi patterns): Set type to ssecomi.
1359         (sse2_unpck?pd): Fix mode of vec_select.
1360
1361         * cse.c: Include except.h
1362         (cse_set_around_loop):  Do not create new basic blocks.
1363         * Makefile.in (cse.o): Add dependnecy on except.h
1364
1365 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1366
1367         * builtins.c (fold_trunc_transparent_mathfn): New function.
1368         (fold_builtin): Use it.
1369         * convert.c (convert_to_real): Re-enable code to convert
1370         math functions; add support for floor familly functions.
1371
1372 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1373
1374         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
1375         dependencies on coretypes.h and $(TM_H).
1376
1377 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
1378
1379         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
1380
1381 2002-01-24  Stuart Hastings  <stuart@apple.com>
1382
1383         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
1384
1385 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1386
1387         * config/c4x/c4x.md (UNSPEC_BU): New constants.
1388         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
1389         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
1390         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
1391         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
1392         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
1393         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
1394         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
1395
1396 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1397
1398         * emit-rtl.c (reg_attrs_htab): New static variable.
1399         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
1400         functions.
1401         (reg_rtx): Do not maintain regno_decl.
1402         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
1403         set_mem_attrs_from_reg): New global function.
1404         (init_emit): Do not initialize regno_decl.
1405         (init_emit_once): initialize reg_attrs_htab.
1406         * final.c (alter_subreg): Do not replace REG by SUBREG.
1407         (gen_mem_expr_from_op): Improve output.
1408         (output_asm_operands): Likewise.
1409         * function.c (assign_params): Do not set REGNO_DECL.
1410         * function.h (struct function): Kill regno_decl.
1411         (REGNO_DECL): Kill.
1412         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
1413         * print_rtl.c (print_rtx): Output REG information.
1414         * regclass.c (reg_scan_mark_refs): Update attrs.
1415         * reload1.c (alter_reg): Likewise.
1416         * simplify_rtx.c (simplify_subreg): Likewise.
1417         * stmt.c (expand_decl): Likewise.
1418         * rtl.def (REG): Add new field.
1419         * rtl.h (struct reg_attrs): New.
1420         (rtunion_def): At rtreg.
1421         (X0MEMATTR): Add checking.
1422         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
1423         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
1424         Declare.
1425         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
1426
1427 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
1428
1429         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
1430         (xtensa_emit_call, print_operand): Fix printf format strings
1431         to avoid compile warnings.
1432         (xtensa_function_prologue, xtensa_function_epilogue): Change type
1433         of "size" argument to HOST_WIDE_INT to fix compile warnings.
1434         * config/xtensa/xtensa-protos.h
1435         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
1436
1437 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
1438
1439         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
1440         (implicit_built_in_decls): New global array.
1441         (mathfn_built_in): New global function.
1442         (fold_trunc_transparent_mathfn): New static function
1443         (expand_builtin_strstr, expand_bultin_strchr,
1444         expand_builtin_strpbrk, expand_builtin_strcpy,
1445         expand_builtin_strncpy, expand_bultin_strcmp,
1446         expand_bultin_strncat, expand_builtin_fputs): Use
1447         implicint_built_in_decls.
1448         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
1449         * builtins.def: Fix comments.
1450         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
1451         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
1452         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
1453         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
1454         (DEF_C99_C90RES_BULTIN): New.
1455         (*f, *l builtins): Update.
1456         * c-common.c (DEF_BUILTIN): Initialize implicit array.
1457         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
1458         * convert.c (strip_float_extensions): New global function.
1459         * tree.h (DEF_BUILTIN): Accept 10 arguments.
1460         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
1461         Declare.
1462         * java/builtins.c (define_builtin): Handle implicit.
1463         (DEF_BUILTIN): Update.
1464         * tm.texi (TARGET_C99_FUNCTIONS): Document.
1465         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
1466         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
1467         when using glibc2.
1468
1469 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
1470
1471         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
1472         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
1473         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
1474         * config/xtensa/crti.asm: New file.
1475         * config/xtensa/crtn.asm: New file.
1476         * config/xtensa/t-elf: New file.
1477         * config/xtensa/t-linux: New file.
1478         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
1479         Move various CFLAGS settings to new t-elf file.
1480
1481 2003-01-24  Richard Henderson  <rth@redhat.com>
1482
1483         PR optimization/4382
1484         * tree-inline.c (find_builtin_longjmp_call_1): New.
1485         (find_builtin_longjmp_call): New.
1486         (inlinable_function_p): Use it.
1487
1488 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1489
1490         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
1491         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
1492         * config/i386/i386.c (function_arg_pass_by_reference): New.
1493         (ix86_va_arg): Support arguments passed by reference.
1494
1495 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1496
1497         * cfgloopanal.c: New file.
1498         * cfgloopmanip.c: New file.
1499         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
1500         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
1501         cfglayout.o): Add dependency on cfgloop.h.
1502         (cfgloop.o): Add flags.h dependency.
1503         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
1504         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
1505         (struct loop, struct loops, flow_loops_find, flow_loops_update,
1506         flow_loops_free, flow_loops_dump, flow_loop_dump,
1507         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
1508         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
1509         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
1510         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
1511         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
1512         find_common_loop, verify_loop_structure): Declarations moved to ...
1513         * cfgloop.h: New file.
1514         * bb-reorder.c (reorder_basic_blocks): Modified.
1515         * cfglayout.c: Include cfgloop.h.
1516         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
1517         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
1518         (break_superblocks): New static function.
1519         (cfg_layout_finalize): Use it.
1520         (cfg_layout_split_block): New function.
1521         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
1522         fields.
1523         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
1524         changed.
1525         (cfg_layout_split_block): Declare.
1526         * cfgloop.c: Include cfgloop.h and flags.h.
1527         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
1528         get_loop_body): Avoid signed versus unsigned comparison warnings.
1529         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
1530         loop_latch_edge): Modified.
1531         (verify_loop_structure): Modified to use flags stored in loop structure;
1532         check irreducible loops.
1533         (cancel_loop, cancel_loop_tree): New functions.
1534         (estimate_probability): Use loop analysis code for predictions.
1535         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
1536         warnings.
1537         * doloop.c: Include cfgloop.h.
1538         * loop.c: Include cfgloop.h.
1539         * predict.c: Include cfgloop.h.
1540         * toplev.c: Include cfgloop.h.
1541         * unroll.c: Include cfgloop.h.
1542         * tracer.c (tracer): Modified.
1543
1544 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
1545
1546         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
1547
1548 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
1549
1550         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
1551         * configure: Regenerate.
1552
1553         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
1554         (tls_symbolic_reference_mentioned_p): Add prototype.
1555         (s390_tls_get_offset): Add prototype.
1556         (emit_pic_move): Remove prototype, replace by ...
1557         (emit_symbolic_move): .. this new prototype.
1558
1559         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
1560         (tls_model_chars): New global variable.
1561         (s390_encode_section_info): Encode TLS model.
1562         Use targetm.binds_local_p to check for local symbols.
1563         (s390_strip_name_encoding): New function.
1564         (TARGET_STRIP_NAME_ENCODING): Define.
1565
1566         (get_thread_pointer): New function.
1567         (legitimize_tls_address): New function.
1568         (legitimize_address): Call it.
1569         (emit_pic_move): Remove, replace by ...
1570         (emit_symbolic_move): ... this new function.
1571
1572         (larl_operand): Handle TLS operands.
1573         (legitimate_constant_p): Likewise.
1574         (s390_decompose_address): Likewise.
1575         (s390_cannot_force_const_mem): New function.
1576         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
1577
1578         (s390_output_symbolic_const): Handle TLS unspecs.
1579         (print_operand): New code 'J'.
1580         (machine_function): Add struct member 'some_ld_name'.
1581         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
1582
1583         (enum s390_builtin): New type.
1584         (code_for_builtin_64, code_for_builtin_31): New global variables.
1585         (s390_init_builtins, s390_expand_builtin): New functions.
1586         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
1587
1588         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
1589         (ASM_OUTPUT_LABELREF): Define.
1590         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
1591
1592         * config/s390/s390.md: Define TLS UNSPEC constants.
1593         ("movdi", "movsi"): Handle TLS operands.
1594         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
1595         ("*tls_load_64", "*tls_load_31"): New insns.
1596         ("call_value_tls", "call_value_tls_exp"): New expanders.
1597         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
1598         "bas_tls_64", "bas_tls_31"): New insns.
1599
1600 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
1601
1602         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
1603         spe ABI is configured, if requested.
1604
1605 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1606
1607         * doc/passes.texi: Fix typo.
1608
1609 2003-01-24  Andreas Schwab  <schwab@suse.de>
1610
1611         * stor-layout.c (excess_unit_span): Only define if used.
1612
1613 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
1614
1615         * gcc/doc/invoke.texi (Optimization Options): List -O levels
1616         for each optimization flag.
1617
1618 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
1619
1620         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
1621
1622 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1623
1624         * doc/bugreport.texi: Use @command instead of @code for commands.
1625         * doc/collect2.texi: Likewise.
1626         * doc/headerdirs.texi: Likewise.
1627         * doc/invoke.texi: Likewise.
1628         * doc/standards.texi: Likewise.
1629         * doc/tm.texi: Likewise.
1630         * doc/trouble.texi: Likewise.
1631
1632 2003-01-24  Nick Clifton  <nickc@redhat.com>
1633
1634         * config/arm/arm.c (use_return_insn): Do not use a single return
1635         instruction for interrupt handelrs which have to create a stack
1636         frame.
1637         (arm_expand_prologue): Do not pre-bias the return address of
1638         interrupt handlers which create a stack frame.
1639
1640 2003-01-24  Nick Clifton  <nickc@redhat.com>
1641
1642         * Add sh2e support:
1643
1644         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
1645
1646                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
1647                 med_cbranches.  Fix logic in short_cbranches.
1648
1649         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
1650
1651                 * config/sh/sh.md (delay for cbranch): Don't annul delay
1652                 slots on SH2e.
1653                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
1654                 cbranch with unfilled delay slot on SH2e.
1655                 (output_branch): Fill with a nop the delay slot of a
1656                 branch that required a delay slot but didn't get one.
1657
1658         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
1659
1660                 * doc/invoke.texi (SH options): Document -m2e.
1661                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
1662                 * config/sh/lib1funcs.asm: Likewise.
1663                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
1664                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
1665                 not __sh1__.
1666                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
1667                 SH2E up.
1668                 (SH3E_BIT): Renamed to...
1669                 (SH_E_BIT): ... this.  Replace all uses.
1670                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
1671                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
1672                 (TARGET_SWITCHES): Added 2e.
1673                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
1674                 (processor_type): Added PROCESSOR_SH2E.
1675                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
1676                 TARGET_SH2E, except in sqrtsf2_i.
1677                 (attribute cpu): Added sh2e.
1678                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
1679                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
1680                 * config.gcc: Add sh2e target support.
1681
1682 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
1683
1684         Rename -W to -Wextra.
1685         * c-decl.c:  Update comments.
1686         * c-typeck.c:  Likewise.
1687         * flags.h:  Likewise.
1688         * function.c:  Likewise.
1689         * stmt.c:  Likewise.
1690         * toplev.c:  Update comments.
1691         (W_options):  Add 'extra'.
1692         (display_help):  Remove '-W'.
1693         (decode_W_option):  Special warn_uninitialized treatment in the case
1694         of -Wextra.
1695         * doc/invoke.texi:  Update with new entries.
1696
1697 2003-01-23  Richard Henderson  <rth@redhat.com>
1698
1699         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
1700         in no-else-block case.  Add commentary.
1701
1702 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1703
1704         * configure.in: Revert last change.
1705
1706 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1707
1708         * configure.in: Don't include ansidecl.h in tconfig.h.
1709         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
1710         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
1711         ATTRIBUTE_UNUSED.
1712
1713         * configure: Regenerate.
1714
1715 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1716
1717         PR java/6748
1718         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
1719         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
1720         kernels.
1721
1722 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1723
1724         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
1725
1726 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
1727
1728         * genattrtab.c (write_attr_get): Mark 'insn' paramter
1729         as ATTRIBUTE_UNUSED.
1730
1731 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
1732
1733         * arm.c (thumb_base_register_rtx_p): New function.
1734         (thumb_index_register_rtx_p): New function.
1735         (thumb_legitimate_address_p): New function.
1736         (thumb_legitimate_offset_p): New function.
1737         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
1738         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
1739         definitions.
1740         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
1741         (THUMB_LEGITIMATE_OFFSET): Delte.
1742         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
1743         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
1744         (thumb_legitimate_offset_p): Likewise.
1745
1746 2003-01-23  Andreas Schwab  <schwab@suse.de>
1747
1748         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
1749
1750 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1751
1752         * fixinc/Makefile.in (FL_LIST): Revert last change.
1753
1754 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1755
1756         PR other/7341
1757         * invoke.texi (ftest-coverage): Fix broken cross-reference.
1758         Change @code to @command for gcov command.
1759
1760         * gcc.texi: Adjust title of gcov section.
1761         Adjust copyright.
1762         * gcov.texi: Likewise.
1763
1764 2003-01-22  Roger Sayle  <roger@eyesopen.com>
1765
1766         PR optimization/8423
1767         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
1768         its argument is constant, or 0 if !flag_gcse.
1769         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
1770         if it's argument is constant.
1771         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
1772         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
1773         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
1774         * builtins.c (purge_builtin_constant_p): New function to force
1775         instantiation of any remaining CONSTANT_P_RTX nodes.
1776         * rtl.h (purge_builtin_constant_p): Prototype here.
1777         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
1778         pass after GCSE and before loop.
1779         (flag_gcse): No longer static.
1780         * flags.h (flag_gcse): Prototype here.
1781
1782 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
1783
1784         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
1785         introduced by last change.
1786
1787 2003-01-22  Andreas Schwab  <schwab@suse.de>
1788
1789         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
1790
1791 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
1792
1793         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
1794         request a scratch reg on H8S when the shift count is 8.
1795
1796 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
1797
1798         * config/s390/s390-protos.h (preferred_la_operand_p):
1799         Remove second parameter.
1800         * config/s390/s390.c (preferred_la_operand_p): Likewise.
1801         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
1802         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
1803         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
1804         Add peepholes to transform ADD to LOAD ADDRESS.
1805
1806 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
1807
1808         * arm.c (arm_address_register_rtx_p): New function.
1809         (arm_legitimate_address_p): New function.
1810         (arm_legitimate_index_p): New function.
1811         (legitimize_pic_address): Use arm_legitimate_index_p.
1812         * arm-protos.h (arm_legtimate_address_p): Add prototype.
1813         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
1814         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
1815
1816 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
1817
1818         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
1819         * config/s390/2064.md (define_bypass): Correct 'Load' and
1820         'Load-address' bypass values.
1821
1822 2003-01-22  Andreas Schwab  <schwab@suse.de>
1823
1824         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
1825
1826 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1827
1828         * genautomata.c (output_internal_insn_latency_func,
1829         output_print_reservation_func): Short circuit when there is no
1830         automaton to generate code for.
1831
1832 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1833
1834         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
1835         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
1836
1837 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
1838
1839         * config/rs6000/rs6000.md: Remove warning.
1840         (builtin_setjmp_receiver): Likewise.
1841         * config/darwin.c (update_stubs): Slightly improve terrible hack
1842         with identifiers.  Add comment pointing out problems with it.
1843         (update_non_lazy_ptrs): Likewise.
1844
1845 2003-01-21  Richard Henderson  <rth@redhat.com>
1846
1847         * dwarf2out.c (lookup_filename): Fix printf format warning.
1848         * system.h (fread_unlocked, fwrite_unlocked): Undef.
1849
1850         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
1851         (fixincl.o-warn, gnu-regex.o-warn): New.
1852         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
1853         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
1854         * fixinc/fixincl.c (process): Fix printf format warning.
1855
1856 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
1857
1858         * dwarf2out (output_file_names): Don't crash if called
1859         with empty file_table.
1860
1861 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1862
1863         * genautomata.c (output_internal_insn_latency_func): Add
1864         missing break statement to generated code.
1865
1866 2003-01-21  Roger Sayle  <roger@eyesopen.com>
1867
1868         * stmt.c (same_case_target_p): New function to determine whether
1869         two case labels branch to the same target.  Split out from...
1870         (group_case_nodes): ... here.  Use same_case_target_p instead.
1871         (strip_default_case_nodes): Remove explicit case nodes
1872         that branch to the default destination.
1873         (expand_end_case_type): Call strip_default_case_nodes after
1874         group_case_nodes, to simplify the case-list before we count it.
1875         Only generate table_label RTX when actually needed.  Try to share
1876         thiscase->exit_label and thiscase->data.case_stmt.default_label
1877         when a switch has no explicit default case.  Simplify test for
1878         constant index.
1879
1880 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
1881
1882         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
1883         \t.
1884         (*negsf2_h8300hs): Likewise.
1885         (*addsi3_lshiftrt_16_zexthi): Likewise.
1886         (*iorhi3_lshiftrt_8): Likewise.
1887
1888 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
1889
1890         * dwarf2out.c (fde_table_in_use): Mark GTY.
1891         (dwarf2out_cfi_label_num): New variable, marked GTY.
1892         (dwarf2out_cfi_label): Use it instead of static label_num.
1893         * emit-rtl.c (label_num): Mark GTY.
1894
1895 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
1896
1897         * config/h8300/h8300.c (output_plussi): Support H8/300.
1898         (compute_plussi_length): Likewise.
1899         (compute_plussi_cc): Likewise.
1900         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
1901         output assembly instructions.
1902
1903 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1904
1905         * calls.c (fix_unsafe_tree): Prototype.
1906
1907         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
1908         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
1909         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
1910         c-parse.o-warn): Add -Wno-error.
1911         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
1912
1913         * configure.in (--enable-werror): Add new flag.
1914         * doc/install.texi (--enable-werror): Document.
1915         * configure: Regenerate.
1916
1917         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
1918
1919 2003-01-21  Andreas Schwab  <schwab@suse.de>
1920
1921         * genautomata.c (output_internal_insn_latency_func): Fix missing
1922         close paren in output.
1923
1924 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1925
1926         * genautomata.c: Space savings in generated code:
1927         (output_dfa_insn_code_func): Split out the table-enlargement
1928         path to an out-of-line static function, dfa_insn_code_enlarge.
1929         (output_internal_insn_latency_func): Use a lookup table for the
1930         default latencies.
1931         (output_print_reservation_func): Use a lookup table for the
1932         strings.
1933
1934 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1935
1936         PR opt/7507
1937         * calls.c (fix_unsafe_tree): Split out from ...
1938         (expand_call): ... here.  Use it on the function address too.
1939
1940 2003-01-20  Richard Henderson  <rth@redhat.com>
1941
1942         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
1943
1944 2003-01-20  Richard Henderson  <rth@redhat.com>
1945
1946         PR opt/7154
1947         * stmt.c (expand_asm_operands): Validize memory operands.
1948
1949 2003-01-20  Richard Henderson  <rth@redhat.com>
1950
1951         PR opt/8848
1952         * ifcvt.c (noce_process_if_block): Correct arguments to
1953         modified_between_p for no-else-block case.
1954
1955 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
1956
1957         * config/h8300/h8300.c (const_costs): Remove a warning.
1958         (output_plussi): Likewise.
1959         (compute_plussi_length): Likewise.
1960         (compute_plussi_cc): Likewise.
1961
1962 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
1963
1964         * config/h8300/h8300.md (addsi_h8300): Remove the last
1965         alternative.
1966
1967 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
1968
1969         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1970
1971 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1972
1973         * system.h (__NO_STRING_INLINES): Define.
1974
1975 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1976
1977         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
1978         is not a scalar int mode.
1979
1980 2003-01-20  Roger Sayle  <roger@eyesopen.com>
1981
1982         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
1983         insn's notes following a substitution inside a libcall.
1984
1985 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
1986
1987         * configure.in: Check for system-provided 'uchar' type.
1988         * configure, config.in: Regenerate.
1989         * cpphash.h: Only typedef 'uchar' if the system doesn't.
1990
1991 2003-01-20  Richard Henderson  <rth@redhat.com>
1992
1993         * expr.h (MUST_PASS_IN_STACK): Move implementation...
1994         * calls.c (default_must_pass_in_stack): ... here.
1995
1996 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
1997
1998         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
1999
2000         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
2001
2002         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
2003         Wrap up definition of `insn_alts'.
2004
2005         * genattrtab.c (main): Wrap up `insn_alts'.
2006
2007 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2008
2009         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
2010         prototyping.
2011         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
2012
2013         * config.in, configure: Regenerate.
2014
2015 2003-01-20  Nick Clifton  <nickc@redhat.com>
2016
2017         * config/arm/arm.md (sibcall_epilogue): Add an
2018         UNSPEC_PROLOGUE_USE to prevent the link register from being
2019         considered dead.
2020
2021 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
2022
2023         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
2024
2025 2003-01-20  Andreas Schwab  <schwab@suse.de>
2026
2027         * system.h: Don't declare strsignal if the decl test hasn't been
2028         run yet.
2029
2030 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2031
2032         * config/h8300/h8300.c (notice_update_cc): Don't assume that
2033         recog_data.operands[0] is always associated with cc0.
2034
2035 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
2036
2037         * collect2.c (ldgetname): Expand declaration to prototype.
2038         * read-rtl.c (atoll): Add prototype.
2039         * system.h (strsignal): Also declare if no declaration found.
2040
2041 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
2042
2043         * config.gcc (mips64*-*-linux*): Added.
2044         * config/mips/linux64.h, config/mips/t-linux64: New file.
2045         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
2046         * config/mips/mips.c (override_options): Use it.
2047         * config/mips/mips.h (TARGET_SWITCHES): Added...
2048         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
2049         * Makefile.in (SPECS): New.
2050         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
2051         * gcc.c (process_command): Move self-spec processing past spec
2052         file loading.
2053         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
2054         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
2055         CRTSTUFF_T_CFLAGS.
2056         (SPECS): Document.
2057         * doc/invoke.texi (-mabi-fake-default): Document.
2058
2059 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
2060
2061         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
2062         z_reg, z_reg_qi): Declare static and GTY().
2063         (da_reg): Remove.
2064         (create_regs_rtx): Don't create da_reg.
2065         ("gt-m68hc11.h"): Include for GTY roots.
2066         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
2067         and GTY() here.
2068         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
2069         (m68hc11_soft_tmp_reg): Likewise.
2070         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
2071
2072 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
2073
2074         * basic-block.h: Fix comment formatting.
2075         * calls.c: Likewise.
2076         * combine.c: Likewise.
2077         * convert.c: Likewise.
2078         * gcov.c: Likewise.
2079         * haifa-sched.c: Likewise.
2080         * libgcc2.c: Likewise.
2081         * loop.c: Likewise.
2082         * profile.c: Likewise.
2083         * system.h: Likewise.
2084
2085 2003-01-18  Roger Sayle  <roger@eyesopen.com>
2086
2087         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
2088
2089 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2090
2091         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
2092
2093 2003-01-17  Dale Johannesen  <dalej@apple.com>
2094
2095         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
2096           (*floatunssidf2_internal):  Ditto.
2097
2098 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
2099
2100         * alias.c: Fix comment typos.
2101         * basic-block.h: Likewise.
2102         * c-common.c: Likewise.
2103         * c-common.h: Likewise.
2104         * c-decl.c: Likewise.
2105         * c-opts.c: Likewise.
2106         * c-pragma.c: Likewise.
2107         * c-pretty-print.h: Likewise.
2108         * cfg.c: Likewise.
2109         * cfganal.c: Likewise.
2110         * cfgbuild.c: Likewise.
2111         * cfgcleanup.c: Likewise.
2112         * cfglayout.c: Likewise.
2113         * cfgrtl.c: Likewise.
2114         * convert.c: Likewise.
2115         * cpphash.h: Likewise.
2116         * cpplex.c: Likewise.
2117         * cpplib.h: Likewise.
2118         * df.h: Likewise.
2119         * diagnostic.c: Likewise.
2120         * diagnostic.h: Likewise.
2121         * dwarf2.h: Likewise.
2122
2123 2003-01-17  Stan Shebs  <shebs@apple.com>
2124
2125         * config/darwin-protos.h: Forward-declare struct cpp_reader.
2126
2127 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
2128
2129         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
2130         mistake in last checkin.
2131
2132 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
2133
2134         * et-forest.c: Fix comment typos.
2135         * et-forest.h: Likewise.
2136         * except.c: Likewise.
2137         * expr.c: Likewise.
2138         * flags.h: Likewise.
2139         * flow.c: Likewise.
2140         * gcc.c: Likewise.
2141         * gcse.c: Likewise.
2142         * genattrtab.c: Likewise.
2143         * genautomata.c: Likewise.
2144         * gengtype.c: Likewise.
2145         * genrecog.c: Likewise.
2146         * global.c: Likewise.
2147         * gthr-rtems.h: Likewise.
2148
2149 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2150
2151         * i386.c (x86_function_profiler): Fix format specifier.
2152
2153 2003-01-17  Richard Henderson  <rth@redhat.com>
2154
2155         * gengtype.c (walk_type): Allow paramN_is.
2156
2157 2003-01-17  Nick Clifton  <nickc@redhat.com>
2158
2159         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
2160
2161 2003-01-16  Richard Henderson  <rth@redhat.com>
2162
2163         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
2164
2165 2003-01-16  Richard Henderson  <rth@redhat.com>
2166
2167         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
2168         (alpha_next_sequence_number): Likewise.
2169         (alpha_this_literal_sequence_number): Likewise.
2170         (alpha_this_gpdisp_sequence_number): Likewise.
2171         (struct alpha_funcs, alpha_funcs_num): Likewise.
2172         (struct alpha_links): Fix branch merge error.
2173         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
2174
2175 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
2176
2177         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
2178         R. Ghazi.
2179
2180 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
2181
2182         * ifcvt.c: Fix comment typos.
2183         * lcm.c: Likewise.
2184         * libgcc2.c: Likewise.
2185         * local-alloc.c: Likewise.
2186         * loop.c: Likewise.
2187         * predict.c: Likewise.
2188         * ra-build.c: Likewise.
2189         * ra.c: Likewise.
2190         * ra-colorize.c: Likewise.
2191         * ra.h: Likewise.
2192         * ra-rewrite.c: Likewise.
2193         * regmove.c: Likewise.
2194         * reload.h: Likewise.
2195         * rtlanal.c: Likewise.
2196         * toplev.c: Likewise.
2197         * tree.h: Likewise.
2198         * unwind-dw2-fde-glibc.c: Likewise.
2199         * vmsdbgout.c: Likewise.
2200
2201 2003-01-16  Richard Henderson  <rth@redhat.com>
2202
2203         * dwarf2out.c (struct file_table): Remove.
2204         (FILE_TABLE_INCREMENT): Remove.
2205         (file_table): Make a varray; mark for GC.  Update all users.
2206         (file_table_last_lookup_index): Extract from struct file_table.
2207         (output_file_names): Fix unsigned compare warnings.
2208         (add_name_attribute): Remove inline marker.
2209         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
2210         (lookup_filename): Don't manage size of file_table.
2211         (init_file_table): Allocate file_table with GC.
2212         (dwarf2out_init): Don't record main_input_filename here.
2213         (dwarf2out_finish): Do it here instead.
2214
2215 2003-01-16  Bruce Korb  <bkorb@gnu.org>
2216
2217         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
2218
2219 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
2220
2221         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
2222         instead of rotldi3_mextr.
2223
2224 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
2225
2226         * haifa-sched.c (move_insn): Restore moving all schedule group.
2227         (set_priorities): Restore taking SCHED_GROUP_P into account.
2228
2229         * sched-deps.c (add_dependence): Restore processing the last group
2230         insn.
2231         (remove_dependence, group_leader): Restore the functions.
2232         (set_sched_group_p): Restore adding dependencies from previous insn
2233         in the group.
2234         (compute_forward_dependences): Restore usage of group_leader.
2235
2236         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
2237         account.
2238
2239         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
2240         account.
2241         (can_schedule_ready_p): Ditto.
2242         (add_branch_dependences): Restore skipping over the group insns.
2243
2244 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
2245
2246         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
2247         68HC12 pre/post inc/dec side effects.
2248
2249 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
2250
2251         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
2252
2253 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
2254
2255         * sh.md (mshflo_w_x): Fix description of operation.
2256
2257 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
2258
2259         * config/rs6000/rs6000.h: Mention Altivec registers in
2260         commentary.  Fix typo.
2261
2262 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
2263
2264         * config/rs6000/rs6000.md (movti_string): Remove clobber.
2265         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
2266         generate PARALLEL with clobber for TARGET_POWER.
2267
2268 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2269
2270         * ra-colorize.c (colorize_one_web): Initialize variable.
2271         * regmove.c (fixup_match_1): Likewise.
2272         * reload1.c (reload_as_needed): Likewise.
2273         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
2274
2275 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2276
2277         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
2278
2279 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2280
2281         * dbxout.c (lastfile, cwd): Fix `unused' warning.
2282         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
2283         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
2284         is_main_source, file_table, decl_die_table_in_use,
2285         abbrev_die_table_in_use, line_info_table_in_use,
2286         separate_line_info_table_in_use, pubname_table_in_use,
2287         arange_table_in_use, ranges_table_in_use,
2288         current_function_has_inlines): Likewise.
2289         * flow.c (life_analysis): Likewise.
2290         * genemit.c (gen_insn): Likewise.
2291         * protoize.c (cplus_suffix): Likewise.
2292
2293         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
2294         * arm.h (ROUND_UP_WORD): Likewise.
2295
2296         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
2297         warning.
2298         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
2299         init_emit_once): Likewise.
2300         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
2301         Likewise.
2302         * function.c (assign_stack_temp_for_type): Likewise.
2303         * loop.c (loop_invariant_p): Likewise.
2304         * recog.c (push_operand): Likewise.
2305         * regclass.c (init_reg_sets_1): Likewise.
2306         * reload.c (update_auto_inc_notes): Likewise.
2307         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
2308         * stmt.c (expand_asm_operands): Likewise.
2309         * stor-layout.c (start_record_layout): Likewise.
2310
2311 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
2312
2313         * config/c4x/c4x.md (epilogue): Correct last patch.
2314
2315 2003-01-15  Richard Henderson  <rth@redhat.com>
2316
2317         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
2318         also check that GP is being used.
2319         (alpha_find_lo_sum_using_gp): New.
2320         (alpha_does_function_need_gp): Use get_attr_usegp.
2321         * config/alpha/alpha-protos.h: Update.
2322         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
2323         as needed.
2324
2325 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2326
2327         * gcse.c (one_cprop_pass): Change function arguments to take both
2328         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
2329         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
2330         (bypass_jumps): New function to perform separate jump bypassing pass.
2331         * rtl.h (bypass_jumps): Add function prototype.
2332         * timevar.def (TV_BYPASS): New timing variable.
2333         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
2334         (dump_file): New entry for the bypass RTL dump file.
2335         (rest_of_compilation): Insert new jump bypassing optimization
2336         pass after loop.
2337         * doc/passes.texi: Document new pass.
2338
2339 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2340
2341         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
2342         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
2343         * pa.h (TARGET_SOM_SDEF): Define.
2344         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
2345
2346 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
2347
2348         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
2349         allocate 4-bytes of locals on 68HC11.
2350         (expand_epilogue): Likewise.
2351         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
2352
2353 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
2354
2355         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
2356         and -mshort-double to the assembler to specify the ABI.
2357         (LINK_SPEC): Likewise.
2358         (CPP_SPEC): Pass HCS12 specific define.
2359         (MASK_M68S12): New define.
2360         (TARGET_M68S12): Likewise.
2361         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
2362         (TARGET_VERSION): Update.
2363         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
2364         (LINK_SPEC): Update.
2365         (ASM_SPEC): Update.
2366         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
2367         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
2368
2369 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
2370
2371         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
2372         the return code.
2373
2374 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
2375
2376         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
2377         flag before setting it.
2378
2379 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2380
2381         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
2382         when loop condition is known true, i.e.  "while (1) { ... }".
2383         (genrtl_for_stmt): Similarly for "for" statements.
2384
2385 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2386
2387         * real.c (real_sqrt): Return a bool result indicating whether
2388         a floating point exception or trap should be raised.
2389         * real.h (real_sqrt): Update function prototype.
2390         * builtins.c (fold_builtin): Only fold non-trapping square
2391         roots unless we're ignoring errno and trapping math.
2392
2393 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
2394
2395         * expr.h (emit_conditional_add): Add PARAMS to declaration.
2396         * gengtype-lex.l (malloc, realloc): Move defines after include of
2397         system.h.  Remove duplicate include of system.h.
2398
2399 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2400
2401         PR middle-end/9009
2402         * optabs.c (expand_unop):  When manipulating the FP sign bit
2403         using integer operations, account for targets with different
2404         integer and FP word orders.
2405         (expand_abs): Likewise.
2406
2407 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
2408
2409         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
2410         file extension in section name.
2411
2412 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
2413
2414         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
2415         constant offset.
2416
2417 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
2418
2419         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
2420         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
2421         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
2422         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
2423
2424 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
2425
2426         PR f/9258
2427         * global.c (struct allocno): Add no_stack_reg.
2428         (global_conflicts): Set no_stack_reg.
2429         (find_reg): Use it.
2430
2431         * convert.c (convert_to_real): Fold - and abs only when profitable.
2432         * fold-const.c (fold): Fold truncates in - and abs.
2433
2434 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
2435
2436         Segher Boessenkool  <segher@koffie.nl>
2437
2438         * predict.c (real_inv_br_prob_base): New variable.
2439         (propagate_freq): Use multiply by reciprocal instead of
2440         division.  Don't divide by 1.0 at all.
2441         (estimate_bb_frequencies): Similar.
2442
2443 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
2444
2445         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
2446         * configure: Rebuilt.
2447
2448 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
2449
2450         * config/s390/s390.c (s390_safe_attr_type): New function.
2451         (s390_use_dfa_pipeline_interface): New function, return true for z900.
2452         (s390_issue_rate): New function.
2453         (s390_agen_dep_p): New function.
2454         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
2455         (s390_adjust_cost): Return 'cost' if new DFA is used.
2456         (s390_adjust_priority): Delete function.
2457         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
2458         * config/s390/s390.md (atype attribute): Attribute 'atype' default
2459         determined by 'op_type'.
2460         (type attribute): Added more type attributes.
2461         * config/s390/2064.md: New DFA description for z900 pipeline.
2462
2463 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
2464
2465         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
2466         forced to memory.  Fixes PR bootstrap/9036.
2467
2468         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
2469         to set $gp before the call.
2470
2471 2003-01-14  Richard Henderson  <rth@redhat.com>
2472
2473         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
2474         for force_const_mem.
2475
2476 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2477
2478         * genattr.c (main): Rearrange output to avoid prototype warning.
2479         * genautomata.c (transform_3): Fix ambiguous-else warning.
2480         * local-alloc.c (requires_inout): Add parentheses around
2481         assignment used as truth-value.
2482         * timevar.c: Move system includes above local includes.  Include
2483         toplev.h
2484         * Makefile.in (timevar.o): Depend on toplev.h.
2485
2486 2003-01-14  Denis Chertykov  <denisc@overta.ru>
2487
2488         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
2489         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
2490
2491         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
2492         attributes.
2493         (TARGET_ATTRIBUTE_TABLE): New macro.
2494         (valid_machine_type_attribute): Remove.
2495         (valid_machine_decl_attribute): Remove.
2496         (ip2k_handle_progmem_attribute): New function.
2497         (ip2k_handle_fndecl_attribute): New function.
2498
2499 2003-01-10  Andrew Haley  <aph@redhat.com>
2500
2501         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
2502         registers to be in correct order.  Add rip.
2503
2504 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
2505
2506         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
2507         (*iorsi3_and_lshiftrt_9_sb): Likewise.
2508
2509 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
2510
2511         * convert.c (strip_float_extensions):  Look for narrowest type handling
2512         FP constants.
2513
2514         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
2515         float1 CMP float2.
2516         * convert.c (strip_float_extensions): Make global.
2517         * tree.h (strip_float_extensions): Declare.
2518
2519 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2520
2521         * timevar.def: define TV_NAME_LOOKUP.
2522         * timevar.c (timevar_pop): Be verbose when aborting.
2523
2524 2003-01-13  Andreas Schwab  <schwab@suse.de>
2525
2526         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
2527         $(parsedir), just move the temporary file at the end.
2528         ($(parsedir)/gengtype-yacc.c): Likewise.
2529
2530 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
2531
2532         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
2533         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
2534         splitting.
2535         * configure: Rebuilt.
2536
2537 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2538
2539         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
2540         internal_mcount): Don't use PARAMS.
2541         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
2542         ISO C style.
2543         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
2544
2545 2003-01-13  Andreas Schwab  <schwab@suse.de>
2546
2547         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
2548         directive.
2549
2550 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
2551
2552         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
2553         (*iorsi3_and_lshiftrt_n_sb): Likewise.
2554
2555 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
2556
2557         PR c++/9264
2558         * c-lex.c (c_lex): Set the token value to error_mark_node for
2559         invalid numeric constants.
2560
2561 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2562
2563         * c-pch.c (asm_file_startpos): Change to `long'.
2564         (pch_init): Use ftell, not ftello.
2565         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
2566         Use `long' instead of `off_t'.
2567         (c_common_read_pch): Likewise.
2568         * ggc-common.c (gt_pch_save): Use long/ftell instead of
2569         off_t/ftello.
2570
2571 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
2572
2573         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
2574
2575 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
2576
2577         * arm-protos.h (struct cpp_reader): Add declaration.
2578
2579 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
2580
2581         PR target/9068
2582         * i386.c (output_fp_compare): Fix typo.
2583
2584 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
2585
2586         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
2587
2588 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
2589
2590         * Makefile.in (parsedir): New variable.
2591         (docobjdir): New variable.
2592         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
2593         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
2594         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
2595         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
2596         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
2597         Use docobjdir.
2598         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
2599         objc.maintainer-clean): Use parsedir.
2600
2601         * varasm.c (struct constant_descriptor_rtx): Remove unused
2602         `label' field.
2603
2604         * toplev.c (documented_lang_options): Document -Winvalid-pch.
2605
2606 2003-01-10  Richard Henderson  <rth@redhat.com>
2607
2608         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
2609         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
2610
2611 2003-01-10  Richard Henderson  <rth@redhat.com>
2612
2613         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
2614         not INTEGRAL_MODE_P when widening extensions.
2615
2616 2003-01-10  Richard Henderson  <rth@redhat.com>
2617
2618         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
2619
2620 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
2621
2622         * ggc-page.c (ggc_collect): Avoid overflow computing
2623         min_expand.
2624
2625         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
2626         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
2627         Remove calls.
2628         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
2629
2630 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
2631
2632         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
2633         with weird operands.
2634
2635 2003-01-10  Dale Johannesen <dalej@apple.com>
2636
2637         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
2638         parameters.  Call check_sibcall_argument_overlap if indicated.
2639         (check_sibcall_argument_overlap):  Add mark_stored_args_map
2640         parameter.  Don't mark parameter area as clobbered if not set.
2641         (expand_call):  Adjust calls to above.
2642
2643 2003-01-10 Kelley Cook <kelleycook@comcast.net>
2644
2645         * configure.in (linker read-only and read-write section mixing):
2646         Squelch some assembler warnings.
2647         * configure: Likewise.
2648
2649 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
2650
2651         * doc/invoke.texi: Document -mtune, delete -mcpu
2652         option for S/390 and zSeries.
2653         * config/s390/s390.c (s390_tune_string) New variable.
2654         (s390_cpu_string) Delete variable.
2655         (override_options): Use s390_tune_string instead of
2656         s390_cpu_string.
2657         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
2658
2659 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
2660
2661         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
2662
2663 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
2664
2665         * jump.c (next_nonnote_insn_in_loop): New function.
2666         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
2667         next_nonnote_insn.
2668         (duplicate_loop_exit_test). Likewise.
2669
2670 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
2671
2672         Merge from pch-branch:
2673
2674         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
2675
2676         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
2677         load.
2678
2679         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
2680
2681         * cpplib.c (count_registered_pragmas): New function.
2682         (save_registered_pragmas): New function.
2683         (_cpp_save_pragma_names): New function.
2684         (restore_registered_pragmas): New function.
2685         (_cpp_restore_pragma_names): New function.
2686         * cpphash.h (_cpp_save_pragma_names): Prototype.
2687         (_cpp_restore_pragma_names): Likewise.
2688         * cpppch.c (struct save_macro_item): Split from save_macro_data.
2689         (struct save_macro_data): New field 'saved_pragmas'.
2690         (save_macros): Update for changes to struct save_macro_data.
2691         (cpp_prepare_state): Call _cpp_save_pragma_names, update
2692         for changes to struct save_macro_data.
2693         (cpp_read_state): Call _cpp_restore_pragma_names, update
2694         for changes to struct save_macro_data.
2695
2696         * cpppch.c (cpp_read_state): Restore the hashtable references
2697         in the cpp_reader.
2698
2699         * tree.h (built_in_decls): Mark for PCH.
2700
2701         * dbxout.c (lastfile): Don't mark for PCH.
2702
2703         * ggc.h: Document PCH calls into memory managers.
2704
2705         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2706
2707         * doc/invoke.texi (Precompiled Headers): Document the
2708         directory form of PCH.
2709         * cppfiles.c (validate_pch): New function.
2710         (open_file_pch): Search suitably-named directories for PCH files.
2711
2712         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
2713
2714         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
2715         reorder options.
2716         (Type Information): Mention that the information is also
2717         used to implement PCH.
2718         * doc/passes.texi (Passes): Improve documentation of
2719         language-specific files.
2720
2721         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
2722
2723         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
2724         (struct walk_type_data): Add reorder_fn field.
2725         (walk_type): Process 'reorder' option.
2726         (write_types_process_field): Reorder parameters to gt_pch_note_object,
2727         call reorder_note_routine.
2728         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
2729         (ggc_wtd): Update for change to struct write_types_data.
2730         (pch_wtd): Likewise.
2731         * ggc.h (gt_pch_note_object): Reorder parameters.
2732         (gt_handle_reorder): New definition.
2733         (gt_pch_note_reorder): New prototype.
2734         * ggc-common.c (struct ptr_data): Add reorder_fn.
2735         (gt_pch_note_object): Reorder parameters.
2736         (gt_pch_note_reorder): New.
2737         (gt_pch_save): Call reorder_fn.
2738         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
2739
2740         * dbxout.c (cwd): Don't mark for PCH.
2741
2742         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
2743
2744         * gengtype.c (finish_root_table): Fix some warnings.
2745         (write_root): Handle TYPE_STRING.
2746         * ggc.h (gt_ggc_m_S): Add prototype.
2747         * stringpool.c (gt_ggc_m_S): New function.
2748
2749         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
2750
2751         * dwarf2out.c (dw2_string_counter): New.
2752         (AT_string_form): Use it.
2753         (same_dw_val_p): Update for removal of hashtable.h hash tables.
2754
2755         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
2756
2757         * dbxout.c: Include gt-dbxout.h.
2758         (lastfile): Mark for PCH/GGC.
2759         (cwd): Likewise.
2760         (struct typeinfo): Likewise.
2761         (typevec): Likewise.
2762         (typevec_len): Likewise.
2763         (next_type_number): Likewise.
2764         (struct dbx_file): Likewise.
2765         (current_file): Likewise.
2766         (next_file_number): Likewise.
2767         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
2768         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
2769         (dbxout_end_source_file): Don't free struct dbx_file.
2770         (dbxout_type): Use GGC to allocate typevec.
2771         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
2772         (GTFILES): Add dbxout.c.
2773         (gt-dbxout.h): New rule.
2774
2775         * Makefile.in (c-pch.o): Add debug.h as dependency.
2776         * c-pch.c: Include debug.h.
2777         (pch_init): Call start_source_file to keep nesting right.
2778         (c_common_read_pch): Add orig_name parameter.  Call
2779         start_source_file debug hook.  Call end_source_file debug hook.
2780         * c-common.h (c_common_read_pch): Update prototype.
2781         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
2782         callback.
2783         * cppfiles.c (struct include_file): Add new field `header_name'.
2784         (find_or_create_entry): Default it to `name'.
2785         (open_file_pch): Set it to the original header file searched for.
2786         (stack_include_file): Don't stack an empty buffer, just handle
2787         PCH files immediately.  Pass header_name field to read_pch callback.
2788
2789         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
2790
2791         * function.c (funcdef_no): Mark to be saved in a PCH.
2792
2793         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2794
2795         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
2796
2797         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
2798
2799         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
2800
2801         * optabs.h (code_to_optab): Add GTY marker.
2802
2803         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
2804
2805         * Makefile.in (GTFILES): Add cpplib.h.
2806         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
2807         * c-decl.c (build_compound_literal): Don't use var_labelno.
2808         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
2809         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
2810         * varasm.c (const_labelno): Use gengtype to mark.
2811         (var_labelno): Likewise.
2812         (in_section): Likewise.
2813         (in_named_name): Likewise.
2814         (struct in_named_entry): Likewise.
2815         (in_named_htab): Likewise.
2816         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
2817         (init_varasm_once): Use GGC to allocate in_named_htab.
2818         * config/darwin.c (current_pic_label_num): Mark for PCH.
2819
2820         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
2821
2822         * ggc-simple.c (init_ggc_pch): New stub procedure.
2823         (ggc_pch_count_object): Likewise.
2824         (ggc_pch_total_size): Likewise.
2825         (ggc_pch_this_base): Likewise.
2826         (ggc_pch_alloc_object): Likewise.
2827         (ggc_pch_prepare_write): Likewise.
2828         (ggc_pch_write_object): Likewise
2829         (ggc_pch_finish): Likewise.
2830         (ggc_pch_read): Likewise.
2831
2832         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
2833
2834         * c-pch.c (c_common_write_pch): Write the macro definitions after
2835         the GCed data.
2836         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
2837         definitions after the GCed data.
2838         * cpplib.c (save_macros): New.
2839         (reset_ht): New.
2840         (cpp_write_pch_deps): Split out of cpp_write_pch.
2841         (cpp_write_pch_state): Split out of cpp_write_pch.
2842         (cpp_write_pch): Delete.
2843         (struct save_macro_data): Delete.
2844         (cpp_prepare_state): New.
2845         (cpp_read_state): Erase and restore initial macro definitions.
2846         * cpplib.h (struct save_macro_data): Forward-declare.
2847         (cpp_write_pch_deps): Prototype.
2848         (cpp_write_pch_state): Prototype.
2849         (cpp_write_pch): Delete prototype.
2850         (cpp_prepare_state): Prototype.
2851         (cpp_read_state): Add fourth argument.
2852
2853         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
2854
2855         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
2856         (write_array): Remove warning.
2857
2858         * gengtype.c (contains_scalar_p): New.
2859         (finish_root_table): Add the table to all languages, even if it's
2860         empty.
2861         (write_roots): Output gt_pch_scalar_rtab.
2862         * ggc-common.c (gt_pch_save): Write out scalars.
2863         (gt_pch_restore): Read scalars back.
2864
2865         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
2866         (struct page_entry): Delete pch_page field.
2867         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
2868         (clear_marks): Likewise.
2869         (sweep_pages): Likewise.
2870         (poison_pages): Likewise.
2871         (ggc_print_statistics): Likewise.
2872         (ggc_pch_read): Don't free objects read from a PCH.
2873         Properly set up in_use_p and page_tails.
2874
2875         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
2876
2877         * gengtype.c (struct write_types_data): New.
2878         (struct walk_type_data): Make `cookie' const; add extra
2879         prev_val item; add `orig_s' field.
2880         (walk_type): Update prev_val[3].
2881         (write_types_process_field): New.
2882         (write_func_for_structure): Take write_types_data structure.
2883         (write_types): New.
2884         (ggc_wtd): New.
2885         (pch_wtd): New.
2886         (write_types_local_process_field): New.
2887         (gc_mark_process_field): Delete.
2888         (write_local_func_for_structure): New.
2889         (gc_mark_func_name): Delete.
2890         (write_gc_types): Delete.
2891         (write_local): New.
2892         (finish_root_table): Don't include 'ggc_' in PFX.
2893         (write_root): Rename from write_root.  Fill pchw field of structures.
2894         (write_array): New.
2895         (write_roots): Rename from write_gc_roots.  Split out to write_array.
2896         Update to changes to other routines.  Write gt_pch_cache_rtab table.
2897         (main): Write PCH walking routines.
2898         * ggc-common.c: Include toplev.h, sys/mman.h.
2899         (ggc_mark_roots): For cache hashtables, also mark the hash table
2900         and the array of entries.
2901         (saving_htab): New.
2902         (struct ptr_data): New.
2903         (POINTER_HASH): New.
2904         (gt_pch_note_object): New.
2905         (saving_htab_hash): New.
2906         (saving_htab_eq): New.
2907         (struct traversal_state): New.
2908         (call_count): New.
2909         (call_alloc): New.
2910         (compare_ptr_data): New.
2911         (relocate_ptrs): New.
2912         (write_pch_globals): New.
2913         (struct mmap_info): New.
2914         (gt_pch_save): New.
2915         (gt_pch_restore): New.
2916         * ggc-page.c (ROUND_UP_VALUE): New.
2917         (ROUND_UP): New.
2918         (struct page_entry): Add field `pch_page'.
2919         (init_ggc): Use ROUND_UP.
2920         (struct ggc_pch_data): Declare.
2921         (init_ggc_pch): New.
2922         (ggc_pch_count_object): New.
2923         (ggc_pch_total_size): New.
2924         (ggc_pch_this_base): New.
2925         (ggc_pch_alloc_object): New.
2926         (ggc_pch_prepare_write): New.
2927         (ggc_pch_write_object): New.
2928         (ggc_pch_finish): New.
2929         (ggc_pch_read): New.
2930         * ggc.h (gt_pointer_operator): New.
2931         (gt_note_pointers): New.
2932         (gt_pch_note_object): New prototype.
2933         (gt_pointer_walker): New.
2934         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
2935         (LAST_GGC_ROOT_TAB): Update.
2936         (gt_pch_cache_rtab): Declare.
2937         (gt_pch_scalar_rtab): Declare.
2938         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
2939         (LAST_GGC_CACHE_TAB): Update.
2940         (gt_pch_save_stringpool): Declare.
2941         (gt_pch_restore_stringpool): Declare.
2942         (gt_pch_p_S): Declare.
2943         (gt_pch_n_S): Declare.
2944         (struct ggc_pch_data): Forward-declare.
2945         (init_ggc_pch): Declare.
2946         (ggc_pch_count_object): Declare.
2947         (ggc_pch_total_size): Declare.
2948         (ggc_pch_this_base): Declare.
2949         (ggc_pch_alloc_object): Declare.
2950         (ggc_pch_prepare_write): Declare.
2951         (ggc_pch_write_object): Declare.
2952         (ggc_pch_finish): Declare.
2953         (ggc_pch_read): Declare.
2954         (gt_pch_save): Declare.
2955         (gt_pch_restore): Declare.
2956         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
2957         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
2958         const_double_htab, mem_attrs_htab using GGC.
2959         * c-pch.c: Include ggc.h.
2960         (pch_init): Allow reading PCH file back.
2961         (c_common_write_pch): Call gt_pch_save.
2962         (c_common_read_pch): Call gt_pch_restore.
2963         * c-parse.in (init_reswords): Delete now-untrue comment.
2964         Allocate ridpointers using GGC.
2965         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
2966         calling expand_deferred_fns.
2967         * c-common.h (ridpointers): Mark for GTY machinery.
2968         * Makefile.in (stringpool.o): Update dependencies.
2969         (c-pch.o): Update dependencies.
2970         (ggc-common.o): Update dependencies.
2971         * stringpool.c: Include gt-stringpool.h.
2972         (gt_pch_p_S): New.
2973         (gt_pch_n_S): New.
2974         (struct string_pool_data): New.
2975         (spd): New.
2976         (gt_pch_save_stringpool): New.
2977         (gt_pch_restore_stringpool): New.
2978         * tree.c (init_ttree): Make type_hash_table allocated using GC.
2979
2980         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
2981
2982         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
2983         (output_mangled_typename): Don't pass size_t to printf.
2984
2985         * tree.h (union tree_type_symtab): Add tag to `address' field.
2986         (union tree_decl_u2): Add tag to 'i' field.
2987         * varasm.c (union rtx_const_un): Add tags to all fields.
2988         * gengtype.c (struct walk_type_data): New.
2989         (output_escaped_param): Take struct walk_type_data parameter.
2990         (write_gc_structure_fields): Delete.
2991         (walk_type): New.
2992         (write_gc_marker_routine_for_structure): Delete.
2993         (write_func_for_structure): New.
2994         (gc_mark_process_field): New.
2995         (gc_mark_func_name): New.
2996         (gc_counter): Delete.
2997         (write_gc_types): Use write_func_for_structure.
2998         (write_gc_roots): Use walk_type.
2999
3000         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
3001
3002         * ggc-common.c (ggc_mark_roots): Delete 'x'.
3003         (ggc_splay_dont_free): Fix warning about unused 'x'.
3004         (ggc_print_common_statistics): Remove warnings.
3005
3006         2002-10-01  Mike Stump  <mrs@apple.com>
3007
3008         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
3009         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
3010
3011         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
3012             Catherine Moore  <clm@redhat.com>
3013
3014         * Makefile (c-pch.o): Update dependencies.
3015         (LIBCPP_OBJS): Add cpppch.o.
3016         (cpppch.o): New.
3017         * c-common.c (c_common_init): Don't call pch_init here.
3018         * c-common.h (c_common_read_pch): Update prototype.
3019         * c-lex.c (c_common_parse_file): Call pch_init here.
3020         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
3021         (c_common_decode_option): Handle them.
3022         * c-pch.c: Include c-pragma.h.
3023         (save_asm_offset): Delete.
3024         (pch_init): Move contents of save_asm_offset into here, call
3025         cpp_save_state.
3026         (c_common_write_pch): Call cpp_write_pch.
3027         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
3028         cpp_valid_state.
3029         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
3030         * cppfiles.c (stack_include_file): Update for change to
3031         parameters of cb.read_pch.
3032         * cpphash.h (struct cpp_reader): Add `savedstate' field.
3033         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
3034         `restore_pch_deps' fields.
3035         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
3036         (cpp_save_state): Prototype.
3037         (cpp_write_pch): Prototype.
3038         (cpp_valid_state): Prototype.
3039         (cpp_read_state): Prototype.
3040         * cpppch.c: New file.
3041         * flags.h (version_flag): Remove prototype.
3042         * mkdeps.c (deps_save): New.
3043         (deps_restore): New.
3044         * mkdeps.h (deps_save): Prototype.
3045         (deps_restore): Prototype.
3046         * toplev.c (late_init_hook): Delete.
3047         (version_flag): Make static again.
3048         (compile_file): Don't call late_init_hook.
3049         * toplev.h (late_init_hook): Delete.
3050         * doc/cppopts.texi: Document -fpch-deps.
3051         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
3052
3053         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
3054
3055         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
3056         callers.
3057         (c_common_valid_pch): Rename from c_valid_pch, change callers.
3058         (c_common_read_pch): Rename from c_read_pch, change callers.
3059
3060         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
3061         a space between it and its argument.
3062
3063         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
3064
3065         * c-pch.c: New file.
3066         * toplev.h (late_init_hook): Declare.
3067         * toplev.c (late_init_hook): Define.
3068         (version_flag): Make globally visible.
3069         (compile_file): Call late_init_hook.
3070         (init_asm_output): Make output file seekable.
3071         * gcc.c (default_compilers): Update c-header rule.
3072         * flags.h (version_flag): Declare.
3073         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
3074         fields.
3075         * cppfiles.c (struct include_file): Add 'pch' field.
3076         (INCLUDE_PCH_P): New.
3077         (open_file_pch): New.
3078         (stack_include_file): Handle PCH files specially.
3079         (find_include_file): Call open_file_pch instead of open_file.
3080         (_cpp_read_file): Explain why open_file is used instead of
3081         open_file_pch.
3082         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
3083         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
3084         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
3085         in cpplib callbacks.
3086         * c-common.c (pch_file): Correct comment.
3087         (allow_pch): Define.
3088         (c_common_init): Call pch_init.
3089         * c-common.h (allow_pch): Declare.
3090         (pch_init): Declare.
3091         (c_valid_pch): Declare.
3092         (c_read_pch): Declare.
3093         (c_write_pch): Declare.
3094         * Makefile.in (c-pch.o): New.
3095         (C_AND_OBJC_OBJS): Add c-pch.o.
3096         * doc/invoke.texi (Precompiled Headers): Add index entries,
3097         complete truncated paragraph.
3098
3099         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
3100
3101         * c-common.c: (pch_file): Define.
3102         * c-common.h (pch_file): Declare.
3103         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
3104         (missing_arg): Require --output-pch= to have an argument.
3105         (c_common_decode_option): Handle --output-pch=.
3106         * gcc.c: Document new %V.
3107         (default_compilers): Handle compiling C header files.
3108         (do_spec_1): Implement %V.
3109         (main): Handle "gcc foo.h" without trying to run linker.
3110         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
3111         (Overall Options): Document what the driver does with header files,
3112         document new -x option possibilities.
3113         (Invoking G++): More documentation for PCH.
3114         (Precompiled Headers): New.
3115
3116         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
3117
3118         * ggc.h: Don't include varray.h.  Rearrange functions to be more
3119         organized.
3120         (ggc_add_root): Delete.
3121         (ggc_mark_rtx): Delete.
3122         (ggc_mark_tree): Delete.
3123         (struct ggc_statistics): Remove contents.
3124         * ggc-common.c: Remove unneeded includes.
3125         (struct ggc_root): Delete.
3126         (roots): Delete.
3127         (ggc_add_root): Delete.
3128         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
3129         (ggc_print_common_statistics): Remove most of the contents.
3130         * Makefile.in (GGC_H): No longer uses varray.h.
3131         (ggc-common.o): Update dependencies.
3132         (c-parse.o): Add varray.h to dependencies.
3133         (c-common.o): Add varray.h.
3134         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
3135         (mark_ident_hash): Rename to ggc_mark_stringpool.
3136         (init_stringpool): Don't use ggc_add_root.
3137         * c-parse.in: Include varray.h.
3138         * c-common.c: Include varray.h.
3139         * objc/Make-lang.in (objc-act.o): Add varray.h.
3140         * objc/objc-act.c: Include varray.h.
3141
3142         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
3143
3144         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
3145         (dw_cfi_oprnd1_desc): Likewise.
3146
3147         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
3148
3149         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
3150         move out of ifdef.
3151         (alpha_links): Use gengtype to mark; move out of ifdef.
3152         (mark_alpha_links_node): Delete.
3153         (mark_alpha_links): Delete.
3154         (alpha_need_linkage): Use GGC to allocate splay tree, struct
3155         alpha_links, strings.  Don't use ggc_add_root.
3156         * ggc-common.c (ggc_splay_alloc): New.
3157         (ggc_splay_dont_free): New.
3158         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
3159         (ggc_mark_tree): Likewise.
3160         (splay_tree_new_ggc): New.
3161         (ggc_splay_alloc): Declare.
3162         (ggc_splay_dont_free): Declare.
3163         * dwarf2asm.c: Include gt-dwarf2asm.h.
3164         (mark_indirect_pool_entry): Delete.
3165         (mark_indirect_pool): Delete.
3166         (indirect_pool): Use gengtype to mark.
3167         (dw2_force_const_mem): Don't use ggc_add_root.
3168         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
3169         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
3170         (gt-dwarf2asm.h): Depend on s-gtype.
3171
3172         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
3173
3174         * tree.h (union tree_type_symtab): Mark `die' field.
3175         * Makefile.in (dwarf2out.o): Update dependencies.
3176         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
3177         hash tables.
3178         (dw_cfi_oprnd1_desc): New function.
3179         (dw_cfi_oprnd2_desc): New function.
3180         (indirect_string_alloc): Delete.
3181         (debug_str_do_hash): New function.
3182         (debug_str_eq): New function.
3183         (mark_limbo_die_list): Delete.
3184         (dwarf2out_init): Don't call ggc_add_root.
3185
3186 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
3187
3188         The following changes are merged from itanium-sched-branch:
3189
3190         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
3191
3192         * doc/md.texi: Clarify assignment of units to automata description.
3193
3194         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
3195
3196         * genautomata.c (unit_decl): Remove members
3197         `the_same_automaton_unit' and
3198         `the_same_automaton_message_reported_p'.
3199         (process_unit_to_form_the_same_automaton_unit_lists,
3200         form_the_same_automaton_unit_lists_from_regexp,
3201         form_the_same_automaton_unit_lists, the_same_automaton_lists):
3202         Remove them.
3203         (annotation_message_reported_p): New global variable.
3204         (check_unit_distribution_in_reserv,
3205         check_regexp_units_distribution): New functions.
3206         (check_unit_distributions_to_automata): Rewrite it.
3207
3208         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
3209
3210         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
3211         Use continue instead of break if cycle is too big.
3212
3213         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
3214
3215         * genautomata.c (check_unit_distributions_to_automata): Output at
3216         most one message for a unit.
3217         (process_unit_to_form_the_same_automaton_unit_lists): Check
3218         automaton of units instead of units themself.
3219
3220         * doc/md.texi: Describe the constraint about assigning unit to
3221         automata.
3222
3223         2002-12-20  Jan Hubicka  <jH@suse.cz>
3224                     Vladimir Makarov  <vmakarov@redhat.com>
3225
3226         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
3227         and `in_set_p'.
3228         (gen_cpu_unit): Initialize the new members.
3229         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
3230         up `min_occ_cycle_num'.
3231         (evaluate_max_reserv_cycles): Change the function call.
3232         (CLEAR_BIT): New macro.
3233         (states_union, state_shift): Use the mask.
3234         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
3235         (form_reservs_matter): New function.
3236         (make_automaton): Call the function and use the mask.
3237         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
3238         account.
3239
3240         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
3241
3242         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
3243
3244         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
3245
3246         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
3247         for Itanium.
3248
3249         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
3250
3251         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
3252         default cpu.
3253
3254         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
3255                 2002-10-31  Dale Johannesen <dalej@apple.com>
3256
3257         * haifa-sched.c (find_set_reg_weight): New function.
3258         (find_insn_reg_weight): Use the new function.
3259         (schedule_block): Do sorting ready queue always
3260         after insn issue.
3261
3262         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
3263
3264         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
3265
3266         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
3267
3268         * haifa-sched.c (choice_entry): New structure.
3269         (choice_stack, cycle_issued_insns): New variables.
3270         (max_issue): Rewrite it.
3271         (choose_ready): Set up ready_try for unknown insns too.
3272         (schedule_block): Allocate and free choice_stack.  Set up
3273         and modify cycle_issued_insns.
3274
3275         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
3276         with and without filling the bundle.
3277         (bundling): Combine calls of issue_nops_and_insn.
3278
3279         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
3280
3281         * config/ia64/itanium1.md: New file.
3282
3283         * config/ia64/itanium2.md: New file.
3284
3285         * config/ia64/ia64.md: Move DFA descriptions into the new files.
3286         Remove the old pipeline description.
3287
3288         * config/ia64/ia64.c (ia64_override_options): Add aliases of
3289         itanium processor names.
3290
3291         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
3292
3293         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
3294         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
3295
3296         * config/ia64/ia64.md: Add descriptions for Itanium2.
3297
3298         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
3299
3300         * config/ia64/ia64.h (processor_type): New enumeration.
3301         (ia64_tune, ia64_tune_string): New external declarations.
3302         (TARGET_OPTIONS): Add option `tune='.
3303
3304         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
3305         variables.
3306         (ia64_override_options): Set up `ia64_tune'.
3307         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
3308         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
3309         (bundling): Add nops for MM-insns only for Itanium.
3310         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
3311         Itanium.
3312
3313         * config/ia64/ia64.md (cpu): New attribute.
3314         (DFA description): Enable it only for Itanium.
3315
3316         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
3317                     Richard Henderson  <rth@redhat.com>
3318
3319         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
3320         MASK_EARLY_STOP_BITS.
3321         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
3322         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
3323         `early-stop-bits'.
3324
3325         * config/ia64/ia64.c (ia64_dfa_new_cycle,
3326         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
3327         instead of TARGET_TUNE_STOP_BITS.
3328
3329         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
3330         `-mearly-stop-bits'.
3331
3332         * config/ia64/ia64.c (automata_option "v"): Comment it.
3333
3334         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
3335
3336         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
3337         New macros.
3338         (TARGET_SWITCHES): Add entries for the new option.
3339
3340         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
3341         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
3342         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
3343         global variables.
3344         (ia64_sched_reorder2): Set up `clocks'.
3345         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
3346         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
3347         queue when TARGET_TUNE_STOP_BITS.
3348         (bundling): Insert additional nops for MM-insns.
3349         (final_emit_insn_group_barriers): Add insertion of stop bits
3350         according `stops_p'.
3351         (ia64_reorg): Initiate the new varibales.
3352
3353         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
3354
3355         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
3356
3357         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
3358         insns at the end of block insn scheduling.
3359
3360         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
3361
3362         * sched-deps.c (remove_dependence, group_leader): Remove it.
3363         (add_dependence): Add dependence to group leader to.
3364         (set_sched_group_p): Add dependence to the first insn of the
3365         schedule group too.
3366         (sched_analyze_insn): Make dependence to jump as anti-dependence.
3367         Change true dependence by anti-dependence when
3368         `reg_pending_barrier'.
3369
3370         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
3371         add_branch_dependences): Ignore schedule groups.
3372
3373         * sched-ebb.c (init_ready_list): Ditto.
3374
3375         * (move_insn, set_priorities): Ditto.
3376
3377         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
3378         flag is clear after reload.
3379         (adjust_cost): Change cost only for output dependencies.
3380
3381         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
3382
3383         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
3384
3385         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
3386
3387         * target.h (gcc_target): Add member
3388         `dependencies_evaluation_hook'.
3389
3390         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
3391         macro.
3392         (TARGET_SCHED): Add initiatialization of the new member.
3393
3394         * sched-ebb.c: Include `target.h'.
3395         (schedule_ebb): Call `dependencies_evaluation_hook'.
3396
3397         * sched-rgn.c (schedule_region): Call
3398         `dependencies_evaluation_hook'.
3399
3400         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
3401         New macro.
3402         (ia64_dependencies_evaluation_hook): New function.
3403
3404         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
3405         Describe the new hook.
3406
3407         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
3408
3409         * target.h (gcc_target): Add members
3410         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
3411
3412         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
3413         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
3414         macros.
3415         (TARGET_SCHED): Add initiatialization of the new members.
3416
3417         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
3418         insn scheduling too.
3419         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
3420         initialize `ready_try'.
3421         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
3422         `dfa_new_cycle' says not to do it.
3423
3424         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
3425         bundling.
3426
3427         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
3428
3429         * config/ia64/ia64.c: Include `hashtab.h'.
3430         (ia64_first_cycle_multipass_dfa_lookahead_guard,
3431         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
3432         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
3433         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
3434         bundle_state_eq_p, insert_bundle_state,
3435         initiate_bundle_state_table, finish_bundle_state_table,
3436         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
3437         get_template, get_next_important_insn, bundling): New functions.
3438         (ia64_internal_sched_reorder): Remove it.
3439         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
3440         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
3441         (ia64_safe_itanium_requires_unit0): Remove it.
3442         (group_barrier_needed_p): Place group barrier right before a real
3443         insn.
3444         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
3445         Remove them.
3446         (bundle_name): New variable.
3447         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
3448         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
3449         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
3450         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
3451         temp_dfa_state, prev_cycle_state): New global variables.
3452         (insn_matches_slot, maybe_rotate, finish_last_head,
3453         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
3454         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
3455         find_best_packet, itanium_reorder, dump_current_packet,
3456         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
3457         (sched_data, sched_ready, sched_types): Remove them.
3458         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
3459         `init_insn_group_barriers'.
3460         (ia64_sched_reorder, ia64_sched_reorder2): Call
3461         ia64_dfa_sched_reorder.
3462         (ia64_variable_issue): Rewrite it.
3463         (bundle_state): New structure.
3464         (index_to_bundle_states, bundle_states_num,
3465         allocated_bundle_states_chain, free_bundle_state_chain): New
3466         global variables.
3467         (ia64_sched_finish): Add stop bits and call `bundling' after the
3468         2nd insn scheduling.
3469         (ia64_use_dfa_pipeline_interface): Return zero always.
3470         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
3471         insn scheduling.
3472         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
3473         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
3474         (ia64_reorg): Add bundling insns.
3475
3476         * doc/tm.texi
3477         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
3478         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
3479
3480         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
3481
3482         * config/ia64/ia64.md: Add Itanium1 DFA description.
3483         (itanium_class): Add `nop' and `pre_cycle'.  Add
3484         define_function_unit for `nop'.
3485         (nop): Change attribute `itanium_class'.
3486         (pre_cycle): New define_insn.
3487
3488         * config/ia64/ia64-protos.h (bundling_p): New external variable.
3489         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
3490         ia64_produce_address_p): New function prototypes.
3491
3492         * config/ia64/ia64.c (bundling_p): New global variable.
3493         (ia64_use_dfa_pipeline_interface,
3494         ia64_first_cycle_multipass_dfa_lookahead,
3495         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
3496         functions.
3497         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
3498         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
3499         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
3500         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
3501         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
3502         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
3503         (dfa_pre_cycle_insn): New variable.
3504
3505         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
3506
3507         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
3508         constructions.
3509
3510         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
3511         New function prototypes.
3512
3513         * genattrtab.c (main): Process the new constructions.
3514
3515         * genautomata.c (gen_presence_absence_set,
3516         process_presence_absence_names, process_presence_absence_patterns,
3517         add_presence_absence, check_absence_pattern_sets): Add parameter
3518         `final_p'.
3519         (unit_decl): Add new members `final_presence_list' and
3520         `final_absence_list'.
3521         (unit_pattern_rel_decl): Add new member `final_p'.
3522         (gen_final_presence_set, gen_final_absence_set): New functions.
3523         (process_decls): Use member `final_p'.
3524         (temp_reserv): New global variable.
3525         (reserv_sets_are_intersected): Add processing `final_presence_set'
3526         and `final_absence_set'.
3527         (initiate_states): Allocate `temp_reserv'.
3528         (unit_final_presence_set_table, unit_final_absence_set_table): New
3529         gloabal variables.
3530         (initiate_presence_absence_pattern_sets): Initiate them.
3531         (NDFA_to_DFA): Fix typo.
3532         (output_description): Output `final_presence_set' and
3533         `final_absence_set'.
3534
3535         * doc/md.texi (final_presence_set, final_absence_set): Describe
3536         them.
3537
3538         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
3539
3540         * genautomata.c (transform_3): Process a missing case (nothing on
3541         unit place).
3542
3543         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
3544
3545         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
3546         comments about queried units and the minimization.
3547
3548         * doc/md.texi: Ditto.
3549
3550         * genautomata.c (create_composed_state): Return nonzero if the new
3551         state has been created.
3552         (first_cycle_unit_presence): New function.
3553         (state_is_differed): Add new parameter.  Use the new function.
3554         Take queried units into account.
3555         (partition_equiv_class): Pass additional parameter to
3556         `state_is_differed'.
3557         (merge_states): Process composed states too.
3558         (build_automaton, create_automata, output_min_issue_delay_table,
3559         output_tables, output_statistics): Output more information.
3560         (output_reserved_units_table): Use function
3561         `first_cycle_unit_presence'.
3562         (output_tables): Output table of queried units even if the
3563         minimization is switched on.
3564         (write_automata): Output code for querying units even if the
3565         minimization is switched on.
3566
3567         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
3568
3569         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
3570         syntax of the constructions.
3571
3572         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
3573         extended syntax of the constructions.
3574
3575         * genautomata.c (unit_rel_decl): Rename it to
3576         `unit_pattern_rel_decl'.
3577         (pattern_set_el, pattern_reserv): New structures.
3578         (pattern_set_el_t, pattern_reserv_t): New types.
3579         (gen_presence_absence_set): New function.
3580         (process_presence_absence): Remove it.
3581         (process_presence_absence_names,
3582         process_presence_absence_patterns): New functions.
3583         (get_presence_absence_set): Remove it.
3584         (initiate_presence_absence_sets): Rename it on
3585         `initiate_presence_absence_pattern_sets'.  Use new function
3586         `form_reserv_sets_list'.
3587         (form_reserv_sets_list, check_presence_pattern_sets,
3588         check_absence_pattern_sets, output_pattern_set_el_list): New
3589         functions.
3590         (unit_decl): Change types of members `presence_list' and
3591         `absence_list'.
3592         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
3593         (decl): Change types of members `excl', `presence', and `absence'.
3594         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
3595         at the end of the vector.
3596         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
3597         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
3598         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
3599         (gen_presence_set, gen_absence_set): Use new function
3600         `gen_presence_absence_set'.
3601         (add_presence_absence): Process `pattern_list' instead of
3602         `source_list'.
3603         (process_decls): USe new functions
3604         `process_presence_absence_names' and
3605         `process_presence_absence_patterns'.
3606         (reserv_sets_are_intersected): Use new function
3607         `check_presence_pattern_sets'.
3608         (presence_set, absence_set): Remove them.
3609         (unit_presence_set_table, unit_absence_set_table): New global
3610         variables.
3611         (output_description): Use new function
3612         `output_pattern_set_el_list'.
3613         (generate): Use `initiate_presence_absence_pattern_sets'.
3614
3615         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
3616
3617         * genattr.c (main): Add output of prototype of new interface
3618         function `dfa_clean_insn_cache'.
3619
3620         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
3621         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
3622         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
3623         the generated code.
3624         (write_automata): Call the new function.
3625
3626 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
3627
3628         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
3629         correctly.
3630
3631 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
3632
3633         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
3634
3635 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
3636
3637         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
3638         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
3639         (CONSTRAINT_LEN): Provide default definition.
3640         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
3641         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
3642         (EXTRA_CONSTRAINT_STR): Likewise.
3643         (REG_CLASS_FROM_CONSTRAINT): Define.
3644         * genoutput.c (check_constraint_len, constraint_len): New functions.
3645         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
3646         constraint / modifier.
3647         (gen_insn): Call check_constraint_len.
3648         * local-alloc.c (block_alloc): Update to use new macros / pass
3649         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
3650         * ra-build.c (handle_asm_insn): Likewise.
3651         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
3652         (constrain_operands, peep2_find_free_register): Likewise.
3653         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
3654         * regmove.c (find_matches): Likewise.
3655         * reload.c (push_secondary_reload, find_reloads): Likewise.
3656         (alternative_allows_memconst): Likewise.
3657         * reload1.c (maybe_fix_stack_asms): Likewise.
3658         (reload_cse_simplify_operands): Likewise.
3659         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
3660         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
3661         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
3662         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
3663         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
3664         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
3665
3666         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
3667
3668 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3669
3670         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
3671         length.
3672         (*extzv_1_r_h8300hs): Likewise.
3673         (*extzv_1_r_inv_h8300): Likewise.
3674         (*extzv_1_r_inv_h8300hs): Likewise.
3675
3676 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3677
3678         * config/h8300/h8300.h (PREDICATE_CODES): New.
3679
3680 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3681
3682         * config/h8300/h8300.md (*addsi3_upper): New.
3683         (*iorsi3_shift): Likewise.
3684         (two splitters): Likewise.
3685         (*addsi3_shift): Likewise.
3686         (two splitters): Likewise.
3687
3688 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
3689
3690         * Makefile.in (optabs.o): Add dependency on basic-block.h.
3691         * basic-block.h (control_flow_insn_p): Fuction was exported.
3692         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
3693         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
3694         notes only when the region is contained in a single basic block.
3695
3696 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3697
3698         PR inline-asm/8832
3699         * tree.h (expand_asm): New prototype.
3700         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
3701         to do so.
3702         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
3703         down to expand_asm.
3704         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
3705         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
3706         (volatile_refs_p) [ASM_INPUT]: Likewise.
3707         (side_effects_p) [ASM_INPUT]: Likewise.
3708
3709 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
3710
3711         * i386.md (*mul*): FIx constraints; remove confused comment; fix
3712         athlon_decode attributes
3713         (imul/k8 optimization peep2s): New.
3714
3715         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
3716         * i386.md (type attribute): Add ssecomi.
3717         (unit, memory, prefix attributes): Handle ssecomi.
3718         (cvt?2? patterns): Fix athlon_decode attribute
3719         (comi patterns): Set attribute to ssecomi.
3720
3721         PR target/8343
3722         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
3723
3724 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
3725
3726         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
3727         that match register_operands.
3728         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
3729         register_operand the default case.
3730
3731 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3732
3733         PR c/8032
3734         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
3735         an empty element, do not advance the pointer to unfilled
3736         fields if there are pending initializers.
3737
3738 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
3739
3740         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
3741         (install-gcc-tooldir, install-cpp, installdirs,
3742         install-common, install-driver, install-info, install-man,
3743         install-headers, install-include-dir, install-headers-tar,
3744         install-headers-cpio, install-headers-cp, install-mkheaders,
3745         install-collect2, uninstall): Prepend $(DESTDIR) to
3746         destination paths in all (un)installation commands.
3747         (install-driver): Rewrite $(LN) commands to support DESTDIR
3748         with "ln" as well as with "ln -s".
3749         (installdirs): Simply use mkinstalldirs.
3750         (install-libgcc, install-multilib): Also pass DESTDIR.
3751         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
3752         installation destination variable ldir.
3753         * config/alpha/t-osf4, config/arm/t-netbsd,
3754         config/ia64/t-hpux, config/mips/t-iris5-6,
3755         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
3756         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
3757         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
3758         in the definition of SHLIB_INSTALL.
3759         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
3760         $(libsubdir) in the installation commands.
3761
3762 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
3763
3764         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
3765         non-optimizing compile.
3766         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
3767         compile.
3768
3769 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
3770
3771         * config/i386/i386.c (ix86_attribute_table): Add new attributes
3772         ms_struct and gcc_struct.
3773         (ix86_handle_struct_attribute): New function.
3774         (ix86_ms_bitfield_layout_p): Update to take new attributes
3775         into account.
3776         * doc/extend.texi: Document new attributes.
3777         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
3778
3779 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
3780
3781         PR optimization/8750
3782         * config/i386/i386.c (ix86_expand_prologue): Don't allow
3783         scheduling pass to move insns across __alloca call.
3784
3785 2003-01-08  Dale Johannesen  <dalej@apple.com>
3786
3787         * config/rs6000/rs6000.md:  Replace *store_multiple_string
3788         with *stmsi[3-8].
3789
3790 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
3791
3792         PR target/9210
3793         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
3794         Set SYMBOL_REF_FLAG on local data sym_ref.
3795
3796 2003-01-08  Dale Johannesen  <dalej@apple.com>
3797
3798         * function.c (assign_parms):  Don't set pretend_args_size if
3799           REG_PARM_STACK_SPACE.
3800           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
3801           pretend_args_size.
3802
3803 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
3804
3805         * gcc.hlp: Delete.
3806
3807 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
3808
3809         * i386.c  (ix86_expand_int_addcc): Fix thinko.
3810
3811 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
3812
3813         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
3814         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
3815         as hook_bool_tree_hwi_hwi_tree_true.
3816         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
3817         (rs6000_emit_epilogue): Same.
3818         (rs6000_output_mi_thunk): Re-implement as RTL.
3819         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
3820         xcoffout_declare_function if any debugging enabled.
3821
3822 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
3823
3824         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
3825         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
3826         * config/mips/mips.h (enum processor_type): Rename
3827         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
3828         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
3829         Add PROCESSOR_M4K.
3830         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
3831         (ISA_MIPS32R2): New define.
3832         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
3833         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
3834         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
3835         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
3836         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
3837         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
3838         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
3839         compiling MIPS16 code.
3840         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
3841         comment.
3842         (ISA_HAS_SEB_SEH): New define.
3843         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
3844         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
3845         processor_type value renaming.  Add support for MIPS32R2.
3846         Clean up comments, and move "sb1" entry with other MIPS64 CPU
3847         entries.
3848         (override_options): Reimplement -mipsN option handling so that
3849         it will work correctly for -mips32r2.  Avoid branch-likely
3850         instructions on MIPS32R2.
3851         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
3852         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
3853         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
3854         (extendhisi2_hw, extendqisi2_hw): New.
3855         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
3856         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
3857         MIPS32R2, and MIPS64.
3858         (LINK_SPEC): Pass -mips32r2 to linker.
3859         * config/mips/t-isa3264: Built -mips32r2 multilibs.
3860         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
3861         for mips32r2 in the -march description.  Alphabetically sort
3862         CPU names in the -march description.  Add long-missed -mips32
3863         and -mips64 to MIPS option summary.
3864
3865         * config.gcc: Update copyright years to include 2003.
3866         * config/mips/mips.c: Likewise.
3867         * config/mips/mips.h: Likewise.
3868         * config/mips/mips.md: Likewise.
3869         * config/mips/netbsd.h: Likewise.
3870         * doc/invoke.texi: Likewise.
3871
3872 2003-01-08  Andreas Schwab  <schwab@suse.de>
3873
3874         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
3875         variable.
3876         * configure: Regenerated.
3877
3878 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
3879
3880         * config/h8300/h8300.c (output_logical_op): Replace byte/word
3881         extraction of det with b0, b1, w0, w2, etc.
3882         (compute_logical_op_length): Likewise.
3883         (compute_logical_op_cc): Likewise.
3884
3885 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
3886
3887         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
3888         HIGH on all variants.
3889
3890 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
3891
3892         * Makefile.in (PARTITION_H): New.
3893         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
3894         * basic-block.h: Include hard-reg-set.h.
3895
3896 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
3897
3898         * arm.h (ENABLE_XF_PATTERNS): Delete.
3899         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
3900         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
3901         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
3902         (cmpxf_trap): Delete.
3903         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
3904
3905 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
3906
3907         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
3908         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
3909         (add??cc): New expanders.
3910         * i386.c (expand_int_addcc): New function.
3911         * i386-protos.h (expand_int_addcc): Declare.
3912
3913         * alias.c (memory_modified_1): New static function.
3914         (memory_modified): New static varaible.
3915         (memory_modified_in_insn_p): New global function.
3916         * rtl.h (memory_modified_in_insn_p): Declare.
3917         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
3918         references.
3919
3920         * expr.h (emit_conditional_add): Declare.
3921
3922 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
3923
3924         PR other/8947
3925         * doc/invoke.texi (-malign-double): Explain that the option breaks
3926         binary compatibility.
3927
3928 2003-01-08  Andreas Schwab  <schwab@suse.de>
3929
3930         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
3931         should come from the generic *-*-linux* entry.
3932
3933 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
3934
3935         * cselib.c (cselib_current_insn_in_libcall): New static variable.
3936         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
3937         we are inside libcall.
3938         * cselib.h (elt_loc_list): Add in_libcall.
3939         * gcse.c (do_local_cprop): Do not copy propagate using insns
3940         in libcalls.
3941
3942 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
3943
3944         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
3945         not normally affect to issue rate.
3946
3947 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
3948
3949         * genopinit.c (optabs): Add addc_optab.
3950         * ifcvt.c (noce_try_store_flag): Rename to ...
3951         (noce_try_addcc): ... this one; handle generic conditional increment.
3952         (noce_process_if_block): Update noce_try_addcc call.
3953         * optabs.c (emit_conditional_add): New.
3954         (init_obtabs): Initialize addc_optab.
3955         * optabs.h (optab_index): Add OTI_addcc.
3956         (addcc_optab): New macro.
3957         * md.texi: Document addMcc
3958
3959         PR target/8322
3960         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
3961         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
3962         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
3963
3964         * reload1.c (delete_output_reload): Avoid repeated attempts
3965         to delete insn.
3966
3967 2003-01-07  Andreas Schwab  <schwab@suse.de>
3968
3969         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
3970         Move --enable-initfini-array check ...
3971         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
3972         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
3973         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
3974         * configure: Rebuild.
3975
3976 2003-01-07  Richard Henderson  <rth@redhat.com>
3977
3978         * alias.c (find_base_value): Only use new_reg_base_value shortcut
3979         if the register is set once.
3980
3981 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
3982
3983         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
3984         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
3985         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
3986
3987 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
3988             Sunil Davasam  <sunil.k.davasam@intel.com>
3989
3990         PR libstdc++/9076
3991         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
3992         DW_CFA_same_value, read next and ignore.
3993
3994 2003-01-07  Richard Henderson  <rth@redhat.com>
3995
3996         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
3997
3998 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
3999
4000         * cfg.c: Include alloc-pool.h
4001         (edge_pool): New pool.
4002         (bb_pool): New pool.
4003         (first_deleted_edge): Remove.
4004         (first_deleted_block): Remove.
4005         (init_flow): Alloc/free the pools.
4006         (free_edge): Use pools.
4007         (alloc_block): Ditto.
4008         (expunge_block): Ditto.
4009         (cached_make_edge): Ditto.
4010
4011         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
4012
4013 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
4014
4015         * et-forest.c: Include alloc-pool.h.
4016         (struct et_forest): Add node_pool and occur_pool.
4017         (et_forest_create): Create the new pools.
4018         (et_forest_delete): Delete them.
4019         (et_forest_add_node): Allocate and free using pools.
4020         (et_forest_add_edge): Ditto.
4021         (et_forest_remove_node): Ditto.
4022         (et_forest_remove_edge): Ditto.
4023
4024         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
4025
4026 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
4027
4028         * config/h8300/h8300.c (output_logical_op): Simplify and
4029         optimize the handling of SImode.
4030         * config/h8300/h8300.c (compute_logical_op_length): Update
4031         accordingly.
4032         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
4033
4034 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
4035
4036         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
4037         big-endian correction to indirect arguments too.
4038
4039 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
4040
4041         Segher Boessenkool  <segher@koffie.nl>
4042
4043         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
4044         (alt_reg_names): Ditto, fix formatting.
4045         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
4046
4047 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
4048
4049         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
4050         (output_logical_op): Constify intval and det.
4051         (compute_logical_length): Likewise.
4052         (compute_logical_cc): Likewise.
4053         (output_a_shift): Constify mask.
4054         (h8300_encode_label): Constify len.
4055
4056 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
4057
4058         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
4059         (h8300_expand_epilogue): Likewise.
4060
4061 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
4062
4063         Segher Boessenkool  <segher@koffie.nl>
4064
4065         * config/rs6000/altivec.md: Remove spaces from assembler
4066         instruction argument lists.
4067
4068 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4069
4070         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
4071         c4x_assembler_function_p.
4072         (c4x_null_epilogue_p): Complement return value, all uses updated.
4073         (c4x_insert_attributes): Add naked.
4074         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
4075         * doc/extend.texi: Update C4x function attributes.
4076
4077 2003-01-06  Richard Henderson  <rth@redhat.com>
4078
4079         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
4080         properly when changing "local-ness".
4081         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
4082
4083 2003-01-06  Dale Johannesen  <dalej@apple.com>
4084
4085         * config/darwin-protos.h:  Add prototypes for new section functions.
4086
4087 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
4088
4089         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
4090         to EABI.
4091
4092 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
4093
4094         * hwint.h: If the current compiler has no 64-bit type at all,
4095         make HOST_WIDEST_INT 32 bits.
4096
4097 2003-01-06  Eric Christopher  <echristo@redhat.com>
4098
4099         * config/mips/mips.md (movdf_internal2): Fix constraints.
4100
4101 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
4102
4103         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
4104
4105 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
4106
4107         * config/mips/mips.md (leadi): Use dla rather than la.
4108
4109 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
4110
4111         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
4112         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
4113
4114 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
4115
4116         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
4117         redefinition.
4118
4119 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
4120
4121         * config/h8300/h8300.md (*extzv_8_23): New.
4122
4123 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4124
4125         * pa64-hpux.h (JCR_SECTION_NAME): Define.
4126         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
4127         USE_EH_FRAME_REGISTRY when defining.
4128
4129 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
4130
4131         * config/h8300/h8300.c (output_a_shift): Do not output a
4132         variable shift.
4133         * config/h8300/h8300.md (two splitters): New.
4134
4135 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
4136
4137         * config/mips/mips.md: Disable the movstrsi define_split.
4138
4139 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4140
4141         * alloc-pool.c: Don't include "libiberty.h".
4142         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
4143         * convert.c (convert_to_real): Hide unused variable.
4144
4145 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4146
4147         * Makefile.in (gtyp-gen.h): Const-ify.
4148         * gcov-dump.c (tag_table): Likewise.
4149
4150 2003-01-04  Bruce Korb  <bkorb@gnu.org>
4151
4152         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
4153         of *both* the file name and the fix name.
4154
4155 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
4156
4157         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
4158         collect2.
4159         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
4160         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
4161         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
4162         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
4163         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
4164         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
4165         elfos.h.
4166         (EH_FRAME_IN_DATA_SECTION): Delete define.
4167         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
4168         (STARTFILE_SPEC): Use crtbegin.o.
4169         (ENDFILE_SPEC): Use crtend.o.
4170         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
4171         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
4172         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
4173         DTOR_LIST_BEGIN): Define.
4174         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
4175         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
4176         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
4177
4178 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
4179
4180         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
4181         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
4182         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
4183         Cleanup handling of replacement text.
4184         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
4185
4186 2003-01-04  Bruce Korb  <bkorb@gnu.org>
4187
4188         * fixinc/tests/base/math.h: removed obsolete results
4189         * fixinc/tests/base/stdlib.h: ditto
4190         * fixinc/tests/base/sys/param.h: ditto
4191         * fixinc/tests/base/sys/stat.h: ditto
4192         * fixinc/tests/base/time.h: ditto
4193         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
4194         * fixinc/tests/base/sys/byteorder.h: ditto
4195         * fixinc/inclhack.def: Remove superfluous backslashes
4196
4197 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
4198
4199         * config/h8300/h8300-protos.h: Add prototypes for
4200         the new functions defined below.
4201         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
4202         define.
4203         (dosize): Emit RTL instead of assembly code.
4204         (push): Likewise.
4205         (pop): Likewise.
4206         (h8300_output_function_prologue): Remove.
4207         (h8300_expand_prologue): New.
4208         (h8300_expand_epilogue): New.
4209         (h8300_output_function_epilogue): Do only the reset of
4210         pragma_saveall.
4211         * config/h8300/h8300.md (push_h8300): New.
4212         (push_h8300hs): Likewise.
4213         (pop_h8300): Likewise.
4214         (pop_h8300hs): Likewise.
4215         (*stm_h8300s_2): Change the name to stm_h8300s_2.
4216         (*stm_h8300s_3): Change the name to stm_h8300s_3.
4217         (*stm_h8300s_4): Change the name to stm_h8300s_4.
4218         (*ldm_h8300s_2): New.
4219         (*ldm_h8300s_3): Likewise.
4220         (*ldm_h8300s_4): Likewise.
4221         (return): Likewise.
4222         (*return_1): Likewise.
4223         (prologue): Likewise.
4224         (epilogue): Likewise.
4225         (monitor_prologue): Likewise.
4226
4227 2003-01-03  Dale Johannesen  <dalej@apple.com>
4228
4229         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
4230           machopic_picsymbol_stub1.
4231           (EXTRA_SECTION_FUNCTIONS):  Ditto.
4232         * rs6000/rs6000.c:  Update copyright.
4233           (machopic_output_stub):  Use them.  Remove an insn from stub code.
4234
4235 2003-01-02  Jason Merrill  <jason@redhat.com>
4236
4237         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
4238
4239         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
4240         static/external decls.
4241
4242         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
4243         outermost scope.
4244         * c-decl.c (c_make_fname_decl): Push the decls there, too.
4245
4246 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
4247
4248         * config/h8300/h8300-protos.h: Add a prototype for
4249         h8300_current_function_interrupt_function_p.
4250         * config/h8300/h8300.c (interrupt_handler): Remove.
4251         (os_task): Likewise.
4252         (monitor): Likewise.
4253         (pragma_interrupt): New.
4254         (WORD_REG_USED): Use
4255         h8300_current_function_interrupt_function_p.
4256         (dosize): Likewise.
4257         (h8300_output_function_prologue): Likewise.
4258         Do not set interrupt_handler, os_task, monitor.
4259         (h8300_output_function_prologue): Use
4260         h8300_current_function_interrupt_function_p.
4261         Do not set interrupt_handler, os_task, monitor.
4262         (h8300_current_function_interrupt_function_p): New.
4263         (h8300_pr_interrupt): Set pragma_interrupt.
4264         (h8300_insert_attributes): Reset pragma_interrupt.
4265
4266 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4267
4268         * doc/install.texi (Configuration): Fix markup for reference to
4269         gcc/config.gcc.
4270
4271 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
4272
4273         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
4274         (*iorhi3_two_qi): Likewise.
4275         (*iorsi3_zexthi): Likewise.
4276         (*xorhi3_zextqi): Likewise.
4277         (*xorsi3_zexthi): Likewise.
4278         (*xorsi3_zextqi): Likewise.
4279
4280 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
4281
4282         * config/h8300/h8300.c (stack_pointer_operand): New.
4283         (const_int_gt_2_operand): Likewise.
4284         (const_int_ge_8_operand): Likewise.
4285         * config/h8300/h8300.md (a splitter): Likewise.
4286         (a peephole2): Likewise.
4287         * config/h8300/h8300-protos.h: Add prototypes for the new
4288         functions above.
4289
4290 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
4291
4292         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
4293         objc/objc-act.h: Fix copyright years.
4294
4295 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
4296
4297         * doc/passes.texi: Fix documentation for -fssa-ccp
4298
4299 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
4300
4301         * gccbug.in: Update for new categories.
4302
4303 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4304
4305         * config/h8300/h8300.md: Reorder some patterns.
4306
4307 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4308
4309         * config/h8300/h8300.c (output_logical_op): Fix a warning.
4310
4311 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
4312
4313         * config/darwin-protos.h, config/c4x/c4x-protos.h,
4314         config/cris/cris-protos.h, config/i370/i370-protos.h,
4315         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
4316         config/v850/v850-protos.h: Use struct, and don't conditionally
4317         compile on GCC_C_PRAGMA_H.
4318
4319 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4320
4321         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
4322         * config/h8300/h8300-protos.h: Likewise.
4323         * config/sh/sh-protos.h: Likewise.
4324
4325 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4326
4327         * config/arm/arm-protos.h: Use struct cpp_reader instead of
4328         cpp_reader.
4329         * config/h8300/h8300-protos.h: Likewise.
4330         * config/sh/sh-protos.h: Likewise.
4331
4332 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
4333
4334         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
4335         arm_pr_long_calls_off): Use struct.
4336         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
4337         : Similarly.
4338         Don't include cpplib.h.
4339         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
4340         sh_pr_nosave_low_regs): Similarly.
4341
4342 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4343
4344         * config/h8300/h8300.c: Include cpplib.h.
4345
4346 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
4347
4348         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
4349           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
4350           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
4351           "GCC" in the copyright header.
4352
4353 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
4354
4355         * c-pragma.c (c_register_pragma): New.
4356         (init_pragma): Use it.
4357         * c-pragma.h (cpp_register_pragma): Don't declare.
4358         (c_register_pragma): New.
4359         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
4360         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
4361         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
4362         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
4363         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
4364         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
4365         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
4366         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
4367         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
4368         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
4369         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
4370         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
4371
4372 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
4373
4374         * config/h8300/h8300-protos.h: Update the prototypes.
4375         * config/h8300/h8300.c (const_le_2_operand): Change to
4376         const_int_le_2_operand.
4377         (const_int_le_6_operand): Change to const_int_le_6_operand.
4378         * config/h8300/h8300.md (two peepholes): Update the function
4379         names.
4380
4381 2002-12-31  Tom Tromey  <tromey@redhat.com>
4382
4383         * doc/install.texi (Testing): Fixed typo.
4384
4385 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
4386
4387         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
4388         (TRAMPOLINE_SIZE): Support the normal mode.
4389         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
4390
4391 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
4392
4393         * c-common.h (pending_lang_change): Declare.
4394
4395 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
4396
4397         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
4398         descriptions.
4399
4400 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
4401
4402         * gcc/doc/invoke.texi (Optimization Options): List the options
4403         enabled by each -O flag.
4404
4405 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4406
4407         * doc/install.texi (Configuration): Explicitly refer
4408         gcc/config.gcc for a list of cpu models.
4409
4410 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
4411
4412         * config/h8300/h8300.h: Fix comment typos.
4413
4414 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
4415
4416         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
4417
4418 2002-12-30  Tom Tromey  <tromey@redhat.com>
4419
4420         * doc/install.texi (Testing): Mention Jacks.
4421
4422 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
4423
4424         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
4425
4426 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
4427
4428         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
4429         cases.
4430         (compute_logical_op_length): Update to reflect the change in
4431         output_logical_op.
4432         (compute_logical_op_cc): Likewise.
4433
4434 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
4435
4436         * doc/service.texi: Uncomment and update FAQ link.
4437
4438 2002-12-30  Andreas Jaeger  <aj@suse.de>
4439
4440         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
4441
4442 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
4443
4444         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
4445
4446 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
4447
4448         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
4449         are clearing the most significant byte.
4450         (compute_logical_op_length): Update to reflect the change in
4451         output_logical_op.
4452         (compute_logical_op_cc): Likewise.
4453
4454 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
4455
4456         * config/h8300/h8300.md: Give internal names to anonymous
4457         insns.
4458
4459 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
4460
4461         * config/h8300/h8300.md: Reorder some insns.
4462
4463 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
4464
4465         * config/h8300/h8300-protos.h: Add prototypes for
4466         const_int_qi_operand and const_int_hi_operand.
4467         * config/h8300/h8300.c (const_int_qi_operand): New.
4468         (const_int_hi_operand): Likewise.
4469         * config/h8300/h8300.md (three peepholes): New.
4470
4471 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
4472
4473         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
4474         Use @copying.
4475
4476 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
4477
4478         * configure.in: Increase makeinfo version requirement to 4.[2-9].
4479         * configure: Regenerate.
4480         * doc/install.texi: Update Texinfo version requirement.
4481
4482 2002-12-28  Andreas Jaeger  <aj@suse.de>
4483
4484         * config/i386/i386.c (x86_function_profiler): Mark labelno as
4485         possibly unused.
4486
4487         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
4488         correct format.
4489
4490 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
4491
4492         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
4493         *iorhi_ashift_8.
4494         (*iorhi_lshiftrt_8): New.
4495
4496 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
4497
4498         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
4499
4500 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4501
4502         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
4503
4504 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
4505
4506         * config/h8300/h8300-protos.h: Fix comment typos.
4507         Update copyright.
4508         * config/h8300/h8300.c: Fix comment typos.
4509
4510 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
4511
4512         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
4513
4514 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
4515
4516         * config/i386/athlon.md: Fix comment typos.
4517         * config/i386/crtdll.h: Likewise.
4518         * config/i386/djgpp.h: Likewise.
4519         * config/i386/i386-interix.h: Likewise.
4520         * config/i386/i386.c: Likewise.
4521         * config/i386/i386.h: Likewise.
4522         * config/i386/i386.md: Likewise.
4523         * config/i386/k6.md: Likewise.
4524         * config/i386/mingw32.h: Likewise.
4525         * config/i386/pentium.md: Likewise.
4526         * config/i386/sco5.h: Likewise.
4527         * config/i386/winnt.c: Likewise.
4528         * config/i386/xmmintrin.h: Likewise.
4529
4530 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
4531
4532         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
4533         INSN_P before checking to see if it is dead.
4534         (mark_all_insn_unnecessary): Similarly.
4535         (ssa_eliminate_dead_code): Similarly.
4536         * rtl.h (struct rtx_def): Update comments for in_struct usage
4537         in dead code elimination pass.
4538         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
4539
4540 2002-12-26  Andreas Schwab  <schwab@suse.de>
4541
4542         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
4543
4544 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
4545
4546         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
4547         tartet_flags_explicit.
4548         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
4549         Compact target_flags bits.
4550         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
4551         (TARGET_SWITCHES): Delete references to *_SET flags.
4552
4553 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4554
4555         * i386.md (memory attribute): Fix setcc attribute.
4556
4557 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
4558
4559         * output.h: Fix comment typos.
4560         * predict.c: Likewise.
4561         * print-tree.c: Likewise.
4562         * profile.c: Likewise.
4563         * ra-build.c: Likewise.
4564         * ra-colorize.c: Likewise.
4565         * ra-debug.c: Likewise.
4566         * ra-rewrite.c: Likewise.
4567         * ra.c: Likewise.
4568         * ra.h: Likewise.
4569         * real.c: Likewise.
4570         * recog.c: Likewise.
4571         * reg-stack.c: Likewise.
4572         * regclass.c: Likewise.
4573
4574 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
4575
4576         * config/h8300/h8300.c (print_operand_address): Do not negate
4577         a negative number when printing one.
4578
4579 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
4580
4581         * config/h8300/h8300-protos.h: Add prototypes for
4582         output_plussi, compute_plussi_length, and compute_plussi_cc.
4583         * config/h8300/h8300.c (output_plussi): New.
4584         (compute_plussi_length): Likewise.
4585         (compute_plussi_cc): Likewise.
4586         * config/h8300/h8300.md (addsi_h8300h): Call
4587         output_plussi, compute_plussi_length, and compute_plussi_cc.
4588
4589 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
4590
4591         * config/h8300/h8300.md (two peepholes): Use match_dup instead
4592         of match_operand in the new patterns.
4593
4594 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
4595
4596         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
4597
4598 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
4599
4600         * configure.in (enable-coverage): Add SELF_COVERAGE.
4601         * profile.c (end_branch_prob): Use SELF_COVERAGE.
4602
4603 2002-12-24  Jim Wilson  <wilson@redhat.com>
4604
4605         * alias.c (record_set): Handle multi-reg hard registers.
4606
4607 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
4608
4609         * regmove.c: Fix comment typos.
4610         * reload.c: Likewise.
4611         * reload1.c: Likewise.
4612         * resource.c: Likewise.
4613         * rtl.def: Likewise.
4614         * rtl.h: Likewise.
4615         * rtlanal.c: Likewise.
4616         * sched-deps.c: Likewise.
4617         * sched-rgn.c: Likewise.
4618         * sibcall.c: Likewise.
4619         * simplify-rtx.c: Likewise.
4620         * ssa-ccp.c: Likewise.
4621         * ssa.c: Likewise.
4622         * stmt.c: Likewise.
4623         * stor-layout.c: Likewise.
4624         * system.h: Likewise.
4625         * tlink.c: Likewise.
4626         * toplev.c: Likewise.
4627         * tracer.c: Likewise.
4628         * tree-inline.c: Likewise.
4629         * tree.c: Likewise.
4630         * tree.h: Likewise.
4631         * unroll.c: Likewise.
4632         * varasm.c: Likewise.
4633
4634 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
4635
4636         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
4637         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
4638         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
4639         DG/UX entries.
4640         * doc/md.texi: Remove AMD 29K entries.
4641         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
4642         1.38.1, NewsOS, RT PC, WE32K entries.
4643
4644 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
4645
4646         PR/8763
4647         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
4648         (altivec_vspltisw_v4sf): Name pattern.
4649         (altivec_vslw_v4sf): New pattern.
4650
4651 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
4652
4653         * doc/include/gcc-common.texi: Define DEVELOPMENT.
4654
4655 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
4656
4657         * stor-layout.c (update_alignment_for_field): Correct handling of
4658         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
4659         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
4660         bitfield does not affect alignment.
4661
4662 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
4663
4664         * expr.c (expand_assignment): Apply special treatment to
4665         ARRAY_TYPE.
4666
4667 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
4668
4669         * config/h8300/h8300-protos.h: Update the prototype of
4670         expand_a_shift.
4671         * config/h8300/h8300.c (expand_a_shift): Change the return
4672         type to void.
4673         * config/h8300/h8300.md: Update all the uses of
4674         expand_a_shift.
4675
4676 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
4677
4678         * tree.c (save_expr): Allow either side of a dyadic operand to be
4679         constant.
4680
4681         * doc/portability.texi (portability): Update portability goals.
4682
4683 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
4684
4685         * config/h8300/h8300.c (output_a_shift): Remove unused code.
4686
4687 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
4688
4689         * stor-layout.c (update_alignment_for_field): Guard use of
4690         ADJUST_FIELD_ALIGN with #ifdef.
4691
4692         * stor-layout.c (update_alignment_for_field): Use
4693         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
4694         bitfield when PCC_BITFIELD_TYPE_MATTERS.
4695
4696 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4697
4698         * genautomata.c: Fix comment typos.
4699
4700 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4701
4702         * params.def (tracer-min-branch-probability-feedback): Fix default.
4703         * final.c (compute_alignments): Use profile to avoid code bloat.
4704
4705 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4706
4707         * config/h8300/h8300.c (get_shift_alg): Make shift insn
4708         sequences end with a valid cc0 whenever possible.
4709
4710 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4711
4712         * config/h8300/h8300.md (negsf2): New.
4713         (*negsf2_h8300): Likewise.
4714         (*negsf2_h8300hs): Likewise.
4715
4716 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
4717
4718         * integrate.c (output_inline_function): Don't hold private
4719         pointers to 'struct function' over GC calls.
4720
4721 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
4722
4723         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
4724         NO_FPSCR_VALUES.
4725         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
4726
4727 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4728
4729         * config/h8300/h8300.md (zero_extendqisi2): Correct the
4730         length.
4731
4732 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4733
4734         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
4735         second alternative "#".
4736         (*zero_extendqihi2_h8300hs): Likewise.
4737         (a define_split): New.
4738
4739 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4740
4741         * config/h8300/h8300-protos.h: Update the prototype for
4742         split_adds_subs.
4743         Add prototypes for const_le_2_operand and const_le_6_operand.
4744         * config/h8300/h8300.c (split_adds_subs): Add an argument to
4745         specify whether inc/dec should be used when possible.
4746         (const_le_2_operand): New.
4747         (const_le_6_operand): Likewise.
4748         * config/h8300/h8300.md (two peepholes): New.
4749
4750 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4751
4752         * config/fr30/fr30.md: Fix a comment typo.
4753         * config/i386/i386.c: Likewise.
4754         * config/ip2k/ip2k.h: Likewise.
4755
4756 2002-12-20  Jim Wilson  <wilson@redhat.com>
4757
4758         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
4759         (__ev_subw, __ev_subiw): New.
4760         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
4761         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
4762
4763 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
4764
4765         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
4766         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
4767         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
4768         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
4769
4770 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
4771
4772         * config/h8300/h8300-protos.h: Add prototypes for
4773         incdec_operand and eqne_operator.
4774         * config/h8300/h8300.c (incdec_operand): New.
4775         (eqne_operator): Likewise.
4776         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
4777         (CONST_OK_FOR_O): Likewise.
4778         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
4779         CONST_OK_FOR_O.
4780         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
4781         (addhi3_incdec): New.
4782         (addsi3_incdec): Likewise.
4783         (two peepholes): Likewise.
4784
4785 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
4786
4787         * config/h8300/h8300.c (dosize): Remove warnings.
4788         (print_operand): Likewise.
4789
4790 2002-12-20  Richard Henderson  <rth@redhat.com>
4791
4792         * config/alpha/alpha.c (decl_has_samegp): New.
4793         (samegp_function_operand): Use it.  Rename from
4794         current_file_function_operand.
4795         (direct_call_operand): Handle -msmall-text via symbol->jump.
4796         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
4797         (tls_symbolic_operand_type): Likewise.
4798         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
4799         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
4800         (alpha_end_function): Set symbol->jump for functions defined in
4801         the text section.
4802         * config/alpha/alpha-protos.h: Update.
4803         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
4804         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
4805         (PREDICATE_CODES): Update.
4806         * config/alpha/alpha.md (call patterns): Update for
4807         samegp_function_operand rename; use !samegp reloc if
4808         TARGET_EXPLICIT_RELOCS.
4809         * doc/invoke.text: Document -msmall-text and -mlarge-text.
4810
4811 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
4812
4813         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
4814         all registers capable of holding a double float.
4815         (*rcond): change name of "reverse branch" insns to
4816         something more meaningful.
4817         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
4818         comparisons properly.
4819         (*ffs): Change operand 0 from write to read-modify-write.
4820         (*ffsssi2): Drop constraints from define_expand.
4821
4822         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
4823         MOVE_RATIO as default for store operations.
4824
4825         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
4826         LONG_REGS class.
4827         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
4828         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
4829         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
4830
4831         * config/ns32k/STATUS: New File
4832         * config/ns32k/NOTES: New file.
4833
4834 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
4835
4836         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
4837         option for S/390 and zSeries.
4838         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
4839         s390_arch_string): New variables.
4840         (override_options): Checking for options and setting of
4841         appropriate target_flags, cpu and arch flags.
4842         * config/s390/s390.h: (processor_type): New enum.
4843         (TARGET_SWITCHES): New switches -mesa/zarch.
4844         * config/s390/s390.md: New attribute 'cpu'.
4845
4846 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4847
4848         * c-pretty-print.h: Fix comment typos.
4849         * integrate.c: Likewise.
4850         * varasm.c: Likewise.
4851         * config/c4x/c4x.h: Likewise.
4852         * config/c4x/c4x.md: Likewise.
4853         * config/fr30/fr30.md: Likewise.
4854         * config/frv/frv.c: Likewise.
4855         * config/h8300/h8300.c: Likewise.
4856         * config/i386/i386.c: Likewise.
4857         * config/i386/i386.h: Likewise.
4858         * config/ia64/ia64.c: Likewise.
4859         * config/ia64/ia64.h: Likewise.
4860         * config/ip2k/ip2k.md: Likewise.
4861         * config/m68hc11/m68hc11-crt0.S: Likewise.
4862         * config/m68hc11/m68hc11.h: Likewise.
4863         * config/m68hc11/m68hc11.md: Likewise.
4864         * config/m68hc11/m68hc12.h: Likewise.
4865         * config/mcore/mcore.md: Likewise.
4866         * config/mips/mips.c: Likewise.
4867         * config/mips/mips.md: Likewise.
4868         * config/mmix/mmix-modes.def: Likewise.
4869         * config/pa/pa.c: Likewise.
4870         * config/rs6000/rs6000.c: Likewise.
4871         * config/rs6000/rs6000.h: Likewise.
4872         * config/rs6000/rs6000.md: Likewise.
4873
4874 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4875
4876         * config/h8300/h8300.md (output_a_shift): Clean up the code to
4877         output shifts using rotation.
4878
4879 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4880
4881         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
4882
4883 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4884
4885         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
4886         pointer.
4887         (pushqi_h8300hs): Likewise.
4888         (pushhi_h8300): Likewise.
4889         (pushhi_h8300hs): Likewise.
4890
4891 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
4892
4893         * sched-rgn.c (init_regions): Update comment.
4894
4895 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
4896
4897         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
4898         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
4899         attributes.
4900         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
4901         (get_vrsave_internal,set_vrsave_internal): Same.
4902         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
4903         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
4904         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
4905
4906 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4907             Danny Smith  <dannysmith@users.sourceforge.net>
4908             Eric Kohl  <ekohl@rz-online.de>
4909
4910         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
4911         attributes incompatible with fastcall attribute.
4912         (ix86_handle_regparm_attribute): Likewise.
4913
4914         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
4915         fastcall types.
4916
4917         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
4918         attributes.
4919         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
4920         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
4921         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
4922         i386_pe_output_labelref rather than here.
4923         (gen_fastcall_suffix): New function. Decorates a label name with the
4924         fastcall prefix (@) and the stdcall suffix.
4925         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
4926         has a fastcall attribute.
4927         (i386_pe_output_labelref): New function. Outputs a label reference.
4928         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
4929         valid attribute.
4930         (ix86_return_pops_args): Fastcall functions pop the stack.
4931         (init_cumulative_args): Reserve registers ECX and EDX if function has
4932         fastcall attribute.
4933         (function_arg): Use registers ECX and EDX if function has fastcall
4934         attribute.
4935         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
4936         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
4937         (FASTCALL_PREFIX): Define as '@'.
4938         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
4939         attributes.
4940         * doc/extend.texi: Add documentation of fastcall attribute.
4941
4942 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4943
4944         * configure.in: FORBUILD when build!=host changed from
4945         ../$build-alias to ../build-$build_alias to match change made
4946         in top directory.
4947         * configure: Regenerated.
4948
4949 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4950
4951         PR optimization/8988
4952         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
4953         the biv when eliminating.
4954
4955 2002-12-19  Devang Patel  <dpatel@apple.com>
4956         * gcc.c (struct default_compiler): Recognizes input file name with
4957         .CPP extension as C++ source files
4958         * cp/lang-spec.h: Same
4959         * doc/invoke.texi:  Add documentation for .CPP support.
4960
4961 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
4962
4963         PR 8553
4964         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
4965         registers.
4966         ("absv16qi2"): Same.
4967         ("absv4si2"): Same.
4968         ("absv4sf2"): Same.
4969         ("altivec_abss_v16qi"): Same.
4970         ("altivec_abss_v8hi"): Same.
4971         ("altivec_abss_v4si"): Same.
4972
4973 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
4974
4975         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
4976         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
4977
4978 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4979
4980         PR target/8340
4981         * stmt.c (expand_asm_operands): Produce an error when
4982         the PIC register is clobbered.
4983
4984 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
4985
4986         * Makefile.in (OBJS): Add alloc-pool.o
4987         (alloc-pool.o): New object.
4988
4989         * alloc-pool.c: New file.
4990         * alloc-pool.h: New file.
4991
4992 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
4993
4994         * gcc.c (validate_switches): Robustify against skipping past '\0'.
4995
4996 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
4997
4998         * config.gcc: Set extra_objs in the generic Darwin rule,
4999         not in the machine-specific rules.
5000
5001 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5002
5003         * ChangeLog: Follow spelling conventions.
5004         * ChangeLog.2: Likewise.
5005         * ChangeLog.4: Likewise.
5006         * ChangeLog.5: Likewise.
5007         * cppexp.c: Likewise.
5008         * df.c: Likewise.
5009         * gcov.c: Likewise.
5010         * gengtype.c: Likewise.
5011         * reload1.c: Likewise.
5012         * sched-rgn.c: Likewise.
5013         * stmt.c: Likewise.
5014         * stor-layout.c: Likewise.
5015         * timevar.c: Likewise.
5016         * toplev.c: Likewise.
5017         * tree.h: Likewise.
5018         * varasm.c: Likewise.
5019         * config/fr30/fr30.md: Likewise.
5020         * config/i386/i386.c: Likewise.
5021         * config/ia64/ia64.c: Likewise.
5022         * config/pa/pa.c: Likewise.
5023
5024 2002-12-18  Roger Sayle  <roger@eyesopen.com>
5025
5026         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
5027
5028 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
5029
5030         PR 8551
5031         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
5032         macro.
5033         (vec_cmplt C++ functions): Reverse arguments.
5034
5035 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
5036
5037         * config/rs6000/t-rs6000: Move contents to t-fprules,
5038         add rules for dependencies of rs6000.o and to build rs6000-c.o
5039         * config/rs6000/t-fprules: New file from t-rs6000.
5040         * config/rs6000/t-beos: Remove soft-fp rules.
5041         * config/rs6000/t-ppccomm: Likewise.
5042         * config/rs6000/t-newas: Likewise.
5043         * config/rs6000/t-rs6000-c-rule: Delete.
5044         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
5045         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
5046         Create generic Darwin rules.
5047
5048         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
5049
5050 2002-12-18  Doug Evans  <dje@sebabeach.org>
5051
5052         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
5053         and LIT_NAME_P.
5054         (move_src_operand): Remove compile-time warning.
5055         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
5056
5057 2002-12-18  Jason Merrill  <jason@redhat.com>
5058
5059         * unwind-dw2-fde.c (frame_downheap): Split out from...
5060         (frame_heapsort): Here.
5061
5062 2002-12-17  Jason Merrill  <jason@redhat.com>
5063
5064         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
5065         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
5066
5067         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
5068
5069         * calls.c (expand_call): Don't try to be clever about expanding
5070         the return slot address.
5071
5072 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
5073
5074         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
5075         Define.
5076
5077 2002-12-17  Jason Merrill  <jason@redhat.com>
5078
5079         * genmultilib: Use 'cd ./foo'.
5080
5081 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
5082
5083         * doc/c-tree.texi: Restore deliberate spelling mistakes.
5084
5085 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
5086
5087         * doc/c-tree.texi: Fix typos and follow spelling conventions.
5088         * doc/cpp.texi: Likewise.
5089         * doc/extend.texi: Likewise.
5090         * doc/gty.texi: Likewise.
5091         * doc/install.texi: Likewise.
5092         * doc/invoke.texi: Likewise.
5093         * doc/md.texi: Likewise.
5094         * doc/passes.texi: Likewise.
5095         * doc/rtl.texi: Likewise.
5096         * doc/sourcebuild.texi: Likewise.
5097         * doc/tm.texi: Likewise.
5098
5099 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
5100
5101         * doc/invoke.texi: Minor spelling and grammar fixes.
5102
5103 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
5104
5105         * config/s390/s390.c (s390_output_constant_pool): Replace
5106         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
5107
5108 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
5109
5110         * convert.c (convert_to_real): Disable function transformation for
5111         now.
5112
5113 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
5114
5115         * gcc.c (handle_braces): Allow '@' as a switch name.
5116
5117 2002-12-16  Jason Merrill  <jason@redhat.com>
5118
5119         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
5120         with special struct-return ABIs.
5121
5122         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
5123         doesn't match the begin SCOPE_STMT in partialness.
5124
5125 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
5126
5127         * genmultilib: Create temporary files in unique subdirectory.
5128
5129         * gcc.c (validate_switches): Allow '@' as a switch name.
5130
5131 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
5132
5133         * Makefile.in (gcov-iov.h): Improve portability.
5134
5135 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5136
5137         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
5138         gas
5139         * mips.md (tablejump insn): Likewise.
5140
5141 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
5142
5143         * doc/include/gcc-common.texi: Change version number to 3.4.
5144
5145 2002-12-16  Bruce Korb  <bkorb@gnu.org>
5146
5147         * fixinc/fixlib.h: add: #include <signal.h>
5148         * fixinc/fixincl.c: remove: #include <signal.h>
5149
5150 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
5151
5152         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
5153         (EXTRA_CONSTRAINT): Use it.
5154         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
5155
5156 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
5157
5158         * config.gcc (need_64bit_hwint): New variable.
5159         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
5160         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
5161         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
5162         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
5163         Set it.
5164         (powerpc*-*-darwin*): Unset it.
5165         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
5166         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
5167         deleted/nonexistent xm-*.h headers.
5168         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
5169         target set need_64bit_hwint in config.gcc.
5170         * configure, config.in: Regenerate.
5171
5172         * hwint.h: Overhaul.  Don't bother trying int for
5173         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
5174         decision to force 64-bit HOST_WIDE_INT on
5175         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
5176         not visible at this point.  Don't allow prior definition of
5177         any macro defined by this file.
5178
5179         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
5180         HOST_BITS_PER_WIDE_INT.
5181         * config/c4x/c4x.h: Adjust redefinition of
5182         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
5183         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
5184         config/i386/xm-i386-interix.h: Delete file.
5185
5186 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
5187             John David Anglin  <dave@hiauly1.hia.nrc.ca>
5188
5189         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
5190         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
5191
5192 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
5193
5194         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
5195
5196 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
5197
5198         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
5199         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
5200         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
5201         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
5202         config/v850/t-v850:  Correct dependencies and normalize
5203         compilation commands for files that include coretypes.h and tm.h.
5204
5205         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
5206         not config.h and system.h.
5207
5208 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5209
5210         * i386.c (flags_reg_operand):  New function.
5211         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
5212         * i386.md (cmov splitter, movqicc): Use new predicate.
5213
5214 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
5215
5216         * i386.md (movqicc splitter): Fix template.
5217
5218 2002-12-13  Jason Merrill  <jason@redhat.com>
5219
5220         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
5221         * calls.c (expand_call): Handle it.
5222         * tree-inline.c (struct inline_data): Remove target_exprs field.
5223         (optimize_inline_calls): Don't initialize it.
5224         (expand_call_inline): Don't modify it.  Handle
5225         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
5226         (declare_return_variable): Take return slot addr.
5227         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
5228         to return_slot_addr.
5229         * langhooks-def.h, langhooks.c: Adjust.
5230         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
5231         a decl with no DECL_INITIAL.
5232
5233         * expr.c (expand_expr): Don't discard the target of a call which
5234         returns in memory.
5235
5236 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
5237
5238         * cppinit.c (path_include): Take an environment variable name.
5239         Tidy up.
5240         (init_standard_includes): Simplify environment handling, and
5241         move to ...
5242         (cpp_read_main_file): ...here as -nostdinc should not affect
5243         environment variable paths.
5244
5245 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5246
5247         * pa.c (output_millicode_call): Correct typo.
5248         (output_call): Likewise.
5249
5250 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
5251
5252         * config/mn10300/mn10300.c (print_operand) <case N>: Check
5253         operand's range.  Print value directly, without aid from
5254         output_address.
5255         <case U>: New.
5256         <case S>: Make sure argument to fprintf has the right type.
5257         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
5258         (EXTRA_CONSTRAINT): Adjust.
5259         * config/mn10300/mn10300.md: Add new all-QImode pattern for
5260         bclr.  Use %U for immediate operands of bset and bclr.
5261         (iorqi3): New expand, with insns for AM33 and mn10300.
5262
5263 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
5264
5265         * sh.c (sh_register_operand): New function.
5266         (prepare_move_operands): Use it.
5267         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
5268         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
5269         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
5270         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
5271         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
5272         (movv2si_i): Likewise.
5273
5274 2002-12-13  Jim Wilson  <wilson@redhat.com>
5275
5276         * doc/extend.texi (Complex Numbers): Update info on debug info.
5277
5278 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
5279
5280         * config/h8300/h8300.md (addhi3_h8300): Remove the last
5281         alternative.
5282
5283 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5284
5285         * hooks.h (hook_tree_tree_bool_false): Declare
5286         hook_bool_tree_tree_false instead.
5287
5288 2002-12-12  Devang Patel  <dpatel@apple.com>
5289
5290         * doc/invoke.texi: Document Darwin linker options, -bundle
5291         -bind_at_load, -all_load and -arch_errors_fatal
5292
5293 2002-12-12  Jim Wilson  <wilson@redhat.com>
5294
5295         * dbxout.c (dbxout_fptype_value): New.
5296         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
5297
5298 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5299
5300         * c-decl.c: Fix a comment typo.
5301         * cfg.c: Likewise.
5302         * cfgcleanup.c: Likewise.
5303         * cfglayout.c: Likewise.
5304         * cfgrtl.c: Likewise.
5305         * c-typeck.c: Likewise.
5306         * dominance.c: Likewise.
5307         * dwarf2asm.c: Likewise.
5308         * dwarfout.c: Likewise.
5309         * expmed.c: Likewise.
5310         * expr.c: Likewise.
5311         * final.c: Likewise.
5312         * flow.c: Likewise.
5313         * function.c: Likewise.
5314         * gcc.c: Likewise.
5315         * genautomata.c: Likewise.
5316         * integrate.c: Likewise.
5317         * loop.c: Likewise.
5318         * loop.h: Likewise.
5319         * output.h: Likewise.
5320         * profile.c: Likewise.
5321         * ra.h: Likewise.
5322         * reload1.c: Likewise.
5323         * reload.c: Likewise.
5324         * sched-rgn.c: Likewise.
5325         * stmt.c: Likewise.
5326         * tree.h: Likewise.
5327         * vmsdbgout.c: Likewise.
5328
5329 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5330
5331         * config/h8300/h8300.md: Add a new peephole2.
5332
5333 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5334
5335         * config/h8300/h8300.md (a peephole2): Accept a constant
5336         that's accepted by CONST_OK_FOR_J.
5337
5338 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5339
5340         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
5341         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
5342         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
5343         (*addhi_h8300hs): Likewise.
5344
5345 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
5346
5347         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
5348         (sh_register_move_cost): Add clause for SImode fp-fp moves.
5349         Increase cost for moves involving multiple general purpose registers.
5350         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
5351         TARGET_FMOVD.
5352         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
5353         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
5354         (enum reg_class reg_class_from_letter): No longer const.
5355         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
5356         REGCLASS_HAS_GENERAL_REG.
5357         Handle SImode moves from/to fp registers.
5358         ! TARGET_SHMEDIA && TARGET_FMOVD.
5359         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
5360         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
5361
5362 2002-12-12  Andreas Schwab  <schwab@suse.de>
5363
5364         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
5365         change and some warnings.
5366
5367 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5368
5369         * doc/md.texi (pushm): Fix a typo.
5370
5371 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5372
5373         * config/mips/mips.c (mips_output_conditional_branch): Support
5374         PIC-safe out-of-range branch and branch-likely.
5375         * config/mips/mips.md (attr length): PIC-safe out-of-range
5376         branches are longer.
5377         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
5378         unused code to support indirect jumps.
5379
5380 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
5381
5382         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
5383         $(tm_file_list).
5384
5385 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
5386
5387         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
5388
5389 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
5390
5391         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
5392
5393 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5394
5395         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
5396         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
5397         BIGGEST_ALIGNMENT.
5398         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
5399         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
5400
5401 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
5402
5403         * doc/invoke.texi: Correct dump file names.
5404
5405 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
5406
5407         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
5408         name to globalize_label or assemble_name.
5409
5410 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
5411
5412         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
5413         if not TARGET_SHMEDIA.
5414
5415 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
5416
5417         * sh.h (REG_CLASS_HAS_FP_REG): New.
5418         (REGISTER_MOVE_COST) Use it.  Put body into a function and
5419         move it into:
5420         * sh.c (sh_register_move_cost).
5421         * sh-protos.h (sh_register_move_cost): Declare.
5422
5423         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
5424         (sh_adjust_cost): Always return a value.
5425
5426 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
5427
5428         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
5429         (REGISTER_MOVE_COST): Use it.
5430
5431 2002-12-11  Richard Henderson  <rth@redhat.com>
5432
5433         * tree.h (MODULE_LOCAL_P): Kill.
5434         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
5435
5436 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
5437
5438         * config/h8300/h8300.md (two define_peephole2): New.
5439
5440 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
5441
5442         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
5443         (CONST_OK_FOR_K): Likewise.
5444         (CONST_OK_FOR_M): Likewise.
5445         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
5446
5447 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
5448
5449         * c-common.c (builtin_define_type_max): Handle unsigned
5450         types too.
5451
5452 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
5453
5454         * haifa-sched.c (rank_for_schedule): Correct style.
5455
5456 2002-12-10  Per Bothner  <pbothner@apple.com>
5457
5458         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
5459         directive_index into an unsigned field and a new is_directive field.
5460         * cppinit.c (mark_named_operators):  Update to set new fields.
5461         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
5462         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
5463         No longer need to subtract 1 from directive_index.
5464         (_cpp_init_directives):  No longer need to add 1 to directive_index.
5465         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
5466
5467 2002-12-10  Roger Sayle  <roger@eyesopen.com>
5468
5469         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
5470         check for evaluating sqrt of a constant at compile time.
5471         * simplify-rtx.c (simplify_unary_operation): Likewise.
5472
5473 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
5474
5475         PR other/8882
5476         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
5477
5478 2002-12-10  Devang Patel  <dpatel@appple.com>
5479
5480         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
5481         * doc/invoke.texi: Add new "Darwin Options" section.
5482
5483 2002-12-10  Jim Wilson  <wilson@redhat.com>
5484
5485         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
5486         memory.
5487
5488 2002-12-10  Andrew Haley  <aph@redhat.com>
5489
5490         * cse.c (cse_insn): Don't cse past a basic block boundary.
5491
5492 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
5493
5494         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
5495         -shared.
5496         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
5497         * config/alpha/linux.h (LIB_SPEC): Likewise.
5498         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
5499         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
5500         * config/sparc/linux.h (LIB_SPEC): Likewise.
5501         * config/sparc/linux64.h (LIB_SPEC): Likewise.
5502
5503 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
5504
5505         * doc/invoke.texi: Document UltraSparc III option.
5506
5507 2002-12-09  Richard Henderson  <rth@redhat.com>
5508
5509         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
5510         __tune_pentium2__ and __tune_pentium3__ as necessary.
5511
5512 2002-12-09  Richard Henderson  <rth@redhat.com>
5513
5514         * target.h (gcc_target): Add cannot_force_const_mem.
5515         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
5516         (TARGET_INITIALIZER): Add it.
5517         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
5518         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
5519         * reload1.c (reload): Likewise.
5520         * hooks.c (hook_bool_rtx_false): New.
5521         * hooks.h: Declare it.
5522
5523         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
5524         (TARGET_CANNOT_FORCE_CONST_MEM): New.
5525         (ix86_expand_move): Remove de-const-pooling hack.
5526
5527 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
5528
5529         * toplev.c (dump_file): Fix order to match reality.
5530
5531 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
5532
5533         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
5534         (store_multiple): Likewise.
5535
5536 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5537
5538         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
5539         function pointers in page 0.
5540
5541 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
5542
5543         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
5544         definition
5545         (MEMBER_TYPE_FORCES_BLK): Move.
5546         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
5547         aggregate arguments.
5548         (ia64_function_value): Use PARALLEL to return aggregate values.
5549
5550 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
5551
5552         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
5553         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
5554         * calls.c (store_unaligned_arguments_into_pseudos) Remove
5555         FUNCTION_ARG_REG_LITTLE_ENDIAN.
5556         * stmt.c (expand_return): Ditto.
5557         * expr.c (move_block_from_reg): Ditto.
5558         (copy_blkmode_from_reg): Ditto.
5559         * expmed.c (store_bit_field): Ditto.
5560
5561 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
5562
5563         * config.gcc: Added tic4x-* target as an alias to c4x-*
5564
5565 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5566
5567         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
5568         constructing insn directly.
5569
5570 2002-12-06  Per Bothner  <pbothner@apple.com>
5571
5572         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
5573         char to an int bit-field, for hosts where char is unsigned.
5574
5575 2002-12-07  Roger Sayle  <roger@eyesopen.com>
5576             Richard Henderson <rth@redhat.com>
5577
5578         * real.c (ieee_extended_motorola_format,
5579         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
5580         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
5581         Provide appropriate values for new signbit field.
5582
5583 2002-12-07  Roger Sayle  <roger@eyesopen.com>
5584
5585         * real.h (real_format): Add signbit field.
5586         * real.c (ieee_single_format, ieee_double_format,
5587         ieee_extended_motorola_format, ieee_extended_intel_96_format,
5588         ieee_extended_intel_128_format, ibm_extended_format,
5589         ieee_quad_format, vax_f_format, vax_d_format,
5590         vax_g_format, i370_single_format, i370_double_format,
5591         c4x_single_format, c4x_extended_format, real_internal_format):
5592         Provide suitable signbit value, or -1 to avoid bit twiddling.
5593
5594         * optabs.c (expand_unop): Try implementing negation of
5595         floating point modes by flipping the sign bit.
5596         (expand_abs): Try implementing abs of floating point modes
5597         by clearing the sign bit.
5598
5599 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
5600
5601         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
5602         of constructing insn directly.
5603
5604 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
5605
5606         * config/h8300/h8300.md (*iorhi_shift_8): New.
5607
5608 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
5609
5610         * doc/invoke.texi: Document FRV port options.
5611         * doc/md.texi: Document FRV register classes.
5612
5613 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5614
5615         * doc/install.texi (Configuration): Improve description of cases
5616         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
5617
5618 2002-12-06  Per Bothner  <pbothner@apple.com>
5619
5620         * cpplib.h (NODE_MACRO_ARG):  New flag.
5621         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
5622         Remove value.operator field.  Move arg_index field to value union.
5623         (directive_index):  Make signed, since also used for C++ operators.
5624         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
5625         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
5626         Save node->value, and set node->value.arg_index.
5627         (_cpp_create_definition):  For each paramater, restore node->value.
5628         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
5629         * cpptrad.c (scan_out_logical_line): Likewise.
5630         (scan_out_logical_line): Check for directive > 0.
5631         * cpplib.c (cpp_handle_directive):  Likewise.
5632         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
5633         by negative of directive_index.
5634         * cppinit.c (mark_named_operators):  Likewise.
5635
5636         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
5637
5638 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
5639
5640         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
5641         FPU.
5642         (push): Generate push_fpscr.
5643         (pop): Generate pop_fpscr.
5644         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
5645         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
5646
5647 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
5648
5649         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
5650         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
5651
5652 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
5653
5654         * sh.md (movdi_i): Name.  Remove inappropriate comment.
5655
5656 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
5657         Merged from basic improvements branch (excerpt):
5658
5659         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5660         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5661
5662 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
5663
5664         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
5665
5666 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
5667
5668         * i386.md (dimode peep2s): Re-add "&& 1".
5669
5670 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5671
5672         * i386.c (ix86_expand_prologue):  Add comment, do not use
5673         fast prologues for cold and normal functions.
5674
5675 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
5676
5677         * i386.c (x86_rep_movl_optimal): New variable.
5678         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
5679         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
5680
5681         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5682         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5683         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5684         generate unnecesary subregs.
5685
5686 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5687
5688         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
5689         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
5690
5691 2002-12-05  Dale Johannesen  <dalej@apple.com>
5692
5693         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
5694
5695 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
5696
5697         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
5698         PROFILE_HOOK.
5699         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
5700
5701 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
5702
5703         * config/rs6000/spe.h (__ev_mwlufi): Remove.
5704         (__ev_mwlufia): Remove.
5705         (__ev_mwlumfaaw): Remove.
5706         (__ev_mwlusfaaw): Remove.
5707         (__ev_mwlumfanw): Remove.
5708         (__ev_mwlusfanw): Remove.
5709
5710 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
5711
5712         * config/h8300/h8300.md (*andorsi3_shift_8): New.
5713
5714 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
5715
5716         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
5717         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
5718         (get_shift_alg): Return optimal assembly instructions for the
5719         shifts mentioned above.
5720
5721 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
5722
5723         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
5724         condtiional moves.
5725
5726 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5727
5728         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
5729         implement ashiftrt:HI by 13 bits on H8S.
5730
5731 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5732
5733         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
5734         * pa.md (canonicalize_funcptr_for_compare): Output library call to
5735         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
5736         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
5737         CTOR_LIST_BEGIN): New defines.
5738         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
5739         (fptr.c): Add make rules.
5740
5741 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
5742
5743         * combine.c (combine_simplify_rtx): Add new canonicalizations.
5744         * doc/md.texi (Insn Canonicalizations): Document new
5745         canonicalizations for multiply/add combinations.
5746         * config/rs6000/rs6000.md: Add and modify floating add/multiply
5747         patterns to ensure they're used whenever they can be.
5748
5749 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5750
5751         * config/h8300/h8300.c: Update the comments related to shifts.
5752
5753 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
5754
5755         * config/mips/mips.md (get_fnaddr): Correct length attribute.
5756
5757 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5758
5759         * config/h8300/h8300.md (*extzv_8_8): New.
5760         (*extzv_8_16): Likewise.
5761
5762 2002-12-04  Jason Merrill  <jason@redhat.com>
5763
5764         PR c++/8461, c++/8625
5765         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
5766         references.
5767         * tree-inline.c (initialize_inlined_parameters): Likewise.
5768
5769         * tree.c (variably_modified_type_p): Just return an error_mark_node.
5770
5771 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
5772
5773         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
5774         macro instruction in a branch delay slot, to avoid assembler
5775         warnings.
5776
5777 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
5778
5779         PR c/7622
5780         * c-semantics (genrtl_scope_stmt): Do not output inlined
5781         nested functions that contain no code.
5782
5783 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5784
5785         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
5786         to be forced into nonfallthru.
5787
5788 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
5789
5790         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
5791
5792 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
5793
5794         * config/rs6000/spe.md (*movv1di_const0): New pattern.
5795
5796 2002-12-03  Richard Henderson  <rth@redhat.com>
5797
5798         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
5799
5800 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
5801
5802         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
5803         Initialize tmp.using_obstack to 0.
5804
5805 2002-12-03  Andreas Schwab  <schwab@suse.de>
5806
5807         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
5808         (EH_RETURN_STACKADJ_RTX): Define.
5809         (EH_RETURN_HANDLER_RTX): Define.
5810         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5811         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
5812         registers and don't save fixed registers.
5813         (m68k_output_function_prologue): Use it.
5814         (use_return_insn): Likewise.
5815         (m68k_output_function_epilogue): Likewise.
5816
5817 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
5818
5819         * config/h8300/h8300.c (single_one_operand): Fix a warning.
5820         (single_zero_operand): Likewise.
5821
5822 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5823
5824         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
5825         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
5826         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
5827         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
5828         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
5829         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
5830         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
5831         doc/install-old.texi: Replace hconfig.h with bconfig.h.
5832         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
5833
5834 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
5835
5836         * config/rs6000/rs6000.md (ffssi): Convert to expander.
5837         (ffsdi): Likewise.
5838         (cntlzw2, cntlzd2): New patterns.
5839
5840 2002-12-02  H.J. Lu <hjl@gnu.org>
5841
5842         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
5843         (mips*-*-linux*): Remove mips/t-linux.
5844
5845 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
5846
5847         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
5848
5849 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5850
5851         * config/h8300/h8300.c (dosize): Replace argument op with
5852         sign.
5853         (h8300_output_function_prologue): Update the call to dosize.
5854         (h8300_output_function_epilogue): Likewise.
5855
5856 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
5857
5858         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
5859
5860 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5861
5862         * configure.in: Use "missing" script to generate warning if
5863         flex or bison programs not found, instead of invoking "false".
5864         * configure: Rebuilt.
5865
5866 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5867
5868         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
5869
5870 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
5871
5872         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
5873
5874 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5875
5876         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
5877         (push): Likewise.
5878         (pop): Likewise.
5879         (h8300_output_function_prologue): Likewise.
5880         (h8300_output_function_epilogue): Likewise.
5881
5882 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
5883
5884         * expmed.c (store_bit_field): Use int_mode_for_mode to find
5885         corresponding mode of non-integer mode, unless it is VOIDmode.
5886
5887 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5888
5889         * config/h8300/h8300.md (stm_h8300s_2): New.
5890         (stm_h8300s_3): Likewise.
5891         (stm_h8300s_4): Likewise.
5892         (five define_peephole2): Likewise.
5893
5894 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5895
5896         * ra-build.c: Fix a comment typo.
5897
5898 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
5899
5900         * i386.c (ix86_expand_int_movcc): fix
5901         reversed BRANCH_COST test; be curefull about infinite recursion.
5902
5903 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
5904
5905         * config/h8300/h8300.c (h8300_output_function_prologue):
5906         Remove variable idx.
5907         (h8300_output_function_epilogue): Likewise.
5908
5909 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
5910
5911         * config/frv/xm-frv.h: Delete, unnecessary.
5912
5913 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
5914
5915         * config/h8300/h8300.md: Add comments for define_peephole2.
5916
5917 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
5918
5919         * builtin-types.def (BT_SIZE): Use size_type_node.
5920         * builtins.c (fold_builtin): Make the builtin strlen returns a
5921         size_t, not a sizetype.
5922         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
5923         c_size_type_node.
5924         (c_alignof_expr): Likewise.
5925         (c_common_nodes_and_builtins): Likewise.
5926         * c-common.h (CTI_C_SIZE_TYPE): Remove.
5927         (c_size_type_node): Likewise.
5928         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
5929         * tree.h (TI_SIZE_TYPE): New enumeral.
5930         (size_type_node): Likewise.
5931
5932 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
5933
5934         * configure.in: Don't put ${tm_file} into host_xm_file,
5935         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
5936         Take location of tm-preds.h into account when calculating
5937         tm_p_file_list.
5938         * configure: Regenerate.
5939         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
5940         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
5941         Remove special case code for tm_p.h and *config.h; add new
5942         special case code for tm.h and tconfig.h. Clean up a bit.
5943
5944         * Makefile.in (tm_file, tm_file_list): New variables set from
5945         @-substitutions.
5946         (GCONFIG_H): Deleted.
5947         (GTM_H, TM_H): New.
5948         (CONFIG_H): Is now just config.h $(host_xm_file_list).
5949         (TM_P_H): Move up with the other mkconfig.sh-generated
5950         headers; don't mention tm-preds.h explicitly.
5951         (tm.h, cs-tm.h): New rule.
5952         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
5953         invocations of mkconfig.sh for changes to that program.
5954         (mostlyclean): Delete print-rtl1.c.
5955         (clean): Delete tm.h.
5956         Update dependencies for the files listed below.
5957
5958         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
5959
5960         * coretypes.h: New file.
5961         * system.h: #define malloc to xmalloc and realloc to xrealloc
5962         when FLEX_SCANNER or YYBISON is defined, independent of the
5963         value of GCC_VERSION.
5964         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
5965         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
5966         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
5967         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
5968         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
5969         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
5970         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
5971         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
5972         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
5973         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
5974         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
5975         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
5976         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
5977         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
5978         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
5979         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
5980         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
5981         genconstants.c, genemit.c, genextract.c, genflags.c,
5982         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
5983         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
5984         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
5985         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
5986         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
5987         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
5988         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
5989         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
5990         print-tree.c, profile.c, protoize.c, ra-build.c,
5991         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
5992         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
5993         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
5994         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
5995         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
5996         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
5997         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
5998         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
5999         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
6000         xcoffout.c, config/darwin-c.c, config/darwin.c,
6001         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
6002         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
6003         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
6004         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
6005         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
6006         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
6007         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
6008         config/i960/i960-c.c, config/i960/i960.c,
6009         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
6010         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6011         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
6012         config/mips/irix6-libc-compat.c, config/mips/mips.c,
6013         config/mmix/mmix.c, config/mn10200/mn10200.c,
6014         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
6015         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
6016         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
6017         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
6018         config/sparc/sparc.c, config/stormy16/stormy16.c,
6019         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
6020         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
6021         Include coretypes.h and tm.h.
6022
6023         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
6024         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
6025         genrecog.c: Include coretypes.h and tm.h from the file
6026         generated by this program.
6027
6028         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
6029         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
6030         coretypes.h and tm.h, and tsystem.h when not already included.
6031         No need to include stddef.h nor stdlib.h.
6032
6033         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
6034         include auto-host.h or ansidecl.h/
6035         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
6036         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
6037         include auto-host.h, ansidecl.h, or system.h.
6038         * fixinc/server.c: Likewise.  Also, do not include signal.h,
6039         and do not redefine volatile.
6040
6041 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
6042
6043         * i386.md (movdf_integer):  Always enable in 64bit.
6044         (movdf_nointeger): Always disable in 64bit.
6045
6046 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6047
6048         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
6049         pseudo register number plus 1.
6050
6051 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
6052
6053         * expmed.c (store_bit_field): Use int_mode_for_mode to find
6054         corresponding mode of non-integer mode, unless it is VOIDmode.
6055
6056 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
6057
6058         * cpplib.c (_cpp_test_assertion): Default *value to 0.
6059
6060         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
6061
6062 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
6063
6064         * config/s390/t-crtstuff: New target makefile fragment.
6065         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
6066
6067 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
6068
6069         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
6070         alternatives to correct the length when the memory operand is
6071         either pre_dec or post_inc.
6072
6073 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
6074
6075         * config/h8300/h8300.md (an anonymous pattern): Give an
6076         internal name *tst_extzv_bitqi_1_n.
6077         Accept bit_operand instead of bit_memory_operand.
6078         Do not accept bit tests with the MSB.
6079         (*tst_extzv_memqi_1_n): New.
6080
6081 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6082
6083         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
6084         sharing when operand is SUBREG.
6085
6086 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
6087
6088         * athlon.md (athlon-decodev): New reservation unit.
6089         (athlon-direct0): New reservation.
6090         (athlon-vector): New use athlon-decodev.
6091         (athlon-double, athlon-direct): Better model.
6092         (athlon_imul_k8): Use athlon-direct0.
6093         (athlon_movlpd_load): New insn reservation.
6094
6095 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
6096
6097         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6098         Fix a comment typo.
6099         (h8300_tiny_constant_address_p): Likewise.
6100
6101 2002-11-28  Michael Matz  <matz@suse.de>
6102
6103         * doc/passes.texi: Mention the other register allocator.
6104
6105 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
6106
6107         * config/h8300/h8300.md (6 new peephole2 patterns): New.
6108
6109 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
6110
6111         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
6112         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
6113         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
6114
6115 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
6116
6117         * config/h8300/h8300.c (h8300_and_costs): New.
6118         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
6119         * config/h8300/h8300-protos.h: Add a prototype for
6120         h8300_and_costs.
6121
6122 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
6123
6124         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
6125         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
6126         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
6127         * i386.md (truncdfsf patterns and splitters): Use
6128         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
6129
6130 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
6131
6132         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
6133         pointer argument in the prototypes of the following builtins
6134         be (const TYPE *) rather than (TYPE *):
6135          + __builtin_altivec_ld_internal_4sf
6136          + __builtin_altivec_ld_internal_4si
6137          + __builtin_altivec_ld_internal_8hi
6138          + __builtin_altivec_ld_internal_16qi
6139          + __builtin_altivec_lvsl
6140          + __builtin_altivec_lvsr
6141          + __builtin_altivec_lvebx
6142          + __builtin_altivec_lvehx
6143          + __builtin_altivec_lvewx
6144          + __builtin_altivec_lvxl
6145          + __builtin_altivec_lvx
6146          + __builtin_altivec_dst
6147          + __builtin_altivec_dstt
6148          + __builtin_altivec_dstst
6149          + __builtin_altivec_dststt
6150
6151 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6152
6153         * except.c (default_exception_section): Move variable into the
6154         scope where it is used.
6155
6156 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
6157
6158         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
6159         correct version.
6160
6161 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
6162
6163         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
6164
6165 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
6166
6167         * config/h8300/h8300.c (h8300_shift_costs): New.
6168         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
6169         * config/h8300/h8300-protos.h: Add a prototype for
6170         h8300_shift_costs.
6171
6172 2002-11-27  Jim Wilson  <wilson@redhat.com>
6173
6174         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
6175         in output template.
6176
6177 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
6178
6179         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
6180         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
6181         DLL_IMPORT_EXPORT_PREFIX, not '@'.
6182         (i386_pe_dllimport_name_p): Likewise.
6183         (i386_pe_mark_dllexport): Likewise.
6184         (i386_pe_mark_dllimport): Likewise.
6185         (i386_pe_encode_section_info): Likewise.
6186         (i386_pe_strip_name_encoding): Likewise.
6187
6188 2002-11-27  Richard Henderson  <rth@redhat.com>
6189
6190         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
6191         (nm && NF == 3): Set sawsymbol true.
6192         (END): Exit if no symbols seen.
6193         (output): Fix map syntax error if no globals for the version.
6194
6195 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
6196
6197         * builtins.def (DEF_C99_BUILTIN): Fix.
6198
6199 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
6200
6201         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
6202         (all): Add .size and .type information.
6203
6204 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
6205
6206         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
6207         partial_reg_stall target.
6208
6209 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
6210
6211         * i386.md (movhicc): Allow general operand.
6212         (movqicc): New expander.
6213         (movqicc_noc): New pattern.
6214         * i386.c (ix86_expand_carry_flag_compare): New function.
6215         (ix86_expand_int_movcc): Optimize harder using sbb; support more
6216         HImode conversion; support QImode conditional moves
6217
6218 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
6219
6220         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
6221         (ix86_expand_prologue): Multiply the count by amount of registers to be
6222         pushed.
6223
6224 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
6225
6226         * i386.c (override_options): Error about wrong -mcpu on x86-64
6227         compilation.
6228
6229 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
6230
6231         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
6232
6233 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
6234
6235         * i386-protos.h (x86_extended_QIreg_mentioned_p,
6236         x86_extended_reg_mentioned_p): Declare.
6237         * i386.c (extended_reg_mentioned_1): New static function.
6238         (x86_extended_QIreg_mentioned_p,
6239         x86_extended_reg_mentioned_p): New global functions.
6240         * i386.h (REX_SSE_REGNO_P): New macro.
6241         * i386.md (prefix_rex): New attribute.
6242         (length attribute): Add rex.
6243
6244 2002-11-26  Andrew Haley  <aph@redhat.com>
6245
6246         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
6247         from_Unwind_Find_Enclosing_Function.
6248         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
6249         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
6250         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
6251         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
6252         * unwind.h (_Unwind_FindEnclosingFunction): Add.
6253
6254 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
6255
6256         * config/s390/s390.c (390_output_constant_pool): Set alignment
6257         before label in 64 bit mode, behind otherwise.
6258
6259 2002-11-26  Richard Henderson  <rth@redhat.com>
6260
6261         * c-common.c (handle_visibility_attribute): Accept "default".
6262         * tree.h (enum symbol_visibility): New.
6263         (decl_visibility): Declare.
6264         * target.h (gcc_target.visibility): Take visibility arg as integer.
6265         * varasm.c (default_assemble_visibility): Likewise.
6266         (decl_visibility): New.
6267         (maybe_assemble_visibility): Use it.
6268         * output.h (default_assemble_visibility): Update prototype.
6269         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
6270         visibility arg as integer.
6271         * doc/extend.texi: Document default visibility.
6272
6273 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
6274
6275         * config/h8300/h8300.c: Adjust spacing.
6276         * config/h8300/h8300.h: Likewise.
6277
6278 2002-11-26  Richard Henderson  <rth@redhat.com>
6279
6280         * hooks.c (hook_bool_void_false, hook_void_tree_int,
6281         hook_void_FILEptr_constcharptr): Rename so that the return
6282         type is first.
6283         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
6284         hook_bool_tree_false): New.
6285         * hooks.h: Update.
6286         * langhooks-def.h: Update for renames.
6287         * target-def.h: Likewise.
6288         * tree.c (default_comp_type_attributes,
6289         default_set_default_type_attributes, default_insert_attributes,
6290         default_function_attribute_inlinable_p,
6291         default_ms_bitfield_layout_p): Remove.
6292         * tree.h: Update.
6293
6294 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6295
6296         * pa-protos.h (function_value): New prototype.
6297         * pa.c (function_value): Use a PARALLEL to return small aggregates on
6298         TARGET_64BIT.
6299         * pa.h (FUNCTION_VALUE): Use function_value.
6300         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
6301         call_value_internal_reg, sibcall_value_internal_symref,
6302         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
6303         value.
6304
6305 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6306
6307         * expr.c (gen_group_rtx, emit_group_move): New functions.
6308         * expr.h (gen_group_rtx, emit_group_move): Prototype.
6309         * function.c (expand_function_start): Use gen_group_rtx to create a
6310         PARALLEL rtx to hold the return value when the real return rtx is a
6311         PARALLEL.
6312         (expand_function_end): Use emit_group_move to move the return value
6313         from a PARALLEL to the real return registers.
6314         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
6315         in PARALLELs.
6316
6317 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
6318
6319         * config/t-libc-ok: Fix typo.
6320
6321 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
6322
6323         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
6324         before AC_PROG_CC.
6325         * configure: Rebuilt.
6326
6327 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
6328
6329         * c-decl.c: (start_struct): Commonize flag setting.
6330
6331 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
6332
6333         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
6334         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
6335         RS6000_CPU_CPP_ENDIAN_BUILTINS.
6336         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
6337
6338 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
6339
6340         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
6341         insns.
6342         * config/s390/s390.c (struct machine_function): Introduction of
6343         struct machine_function.
6344         (s390_output_symbolic_const): Use of cfun.
6345         (s390_optimize_prolog): Likewise.
6346         (s390_fixup_clobbered_return_reg): Likewise.
6347         (s390_frame_info): Likewise.
6348         (s390_emit_prologue, s390_emit_epilogue): Likewise.
6349         (s390_init_machine_status): New function.
6350         (override_options): call s390_init_machine_status.
6351         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
6352         prototype.
6353
6354 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
6355
6356         * varasm.c (output_constant_pool): For pool constants in mergeable
6357         section ensure each constant is padded to multiple of entity size.
6358
6359 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
6360
6361         * varasm.c (default_exception_section): Move to...
6362         * except.c (default_exception_section): ... here. Make
6363         .gcc_except_table read-only if it is not expected to have any
6364         dynamic relocations and linker handles it.
6365         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
6366         if it is not expected to have any dynamic relocations and linker
6367         handles it.
6368         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
6369         when linking read-only and read-write sections together.
6370         * configure, config.in: Rebuilt.
6371         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
6372         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
6373
6374 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
6375
6376         * i386.md (pushsf_rex64): Fix typo.
6377
6378 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
6379
6380         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
6381         new function.
6382         (__ev_create_ufix32_fs): Same.
6383         (__ev_get_sfix32_fs_internal): New.
6384         (__ev_get_sfix32_fs): Define to use function.
6385         (__ev_get_ufix32_fs_internal): New.
6386         (__ev_get_ufix32_fs): Define to use function.
6387         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
6388         (__ev_get_lower_ufix32_fs): Same.
6389         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
6390         (__ev_get_lower_sfix32_fs): Same.
6391         (__ev_set_sfix32_fs_internal): New.
6392         (__ev_set_ufix32_fs_internal): New.
6393         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
6394         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
6395         (__ev_set_upper_sfix32_fs): Call function.
6396         (__ev_set_lower_sfix32_fs): Same.
6397         (__ev_set_upper_ufix32_fs): Same.
6398         (__ev_set_lower_ufix32_fs): Same.
6399
6400 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
6401
6402         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
6403
6404 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
6405
6406         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
6407         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
6408         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
6409         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
6410         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
6411         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
6412         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
6413         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
6414         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
6415         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
6416         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
6417         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
6418         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
6419         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
6420         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
6421         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
6422         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
6423         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
6424         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
6425         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
6426         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
6427         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
6428         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
6429         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
6430         defining.
6431         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
6432         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
6433
6434 2002-11-25  Dave Pitts  <dpitts@cozx.com>
6435
6436         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
6437
6438 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
6439
6440         * config/h8300/h8300.md (an anonymous pattern): New.
6441
6442 2002-11-25  Richard Henderson  <rth@redhat.com>
6443
6444         * alias.c (find_base_value): Use new_reg_base_value if it's live.
6445         (copying_arguments): Make boolean.
6446
6447 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
6448
6449         * gcc.c (static_spec_functions): Add if-exists-else spec
6450         function.
6451         (if_exists_else_spec_function): New function.
6452         * doc/invoke.texi: Document the if-exists-else spec function.
6453
6454         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
6455         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
6456
6457 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
6458
6459         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
6460         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
6461         "${tmake_file} rs6000/t-netbsd".
6462         * config/rs6000/netbsd.h: Rewrite.
6463         * config/rs6000/t-netbsd: New file.
6464
6465 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
6466
6467         * config/h8300/h8300.md (an anonymous pattern): Relax the
6468         condition for the pattern.
6469
6470 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
6471
6472         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
6473         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
6474         evmwlssfanw, evmwlsmfanw.
6475
6476         * config/rs6000/rs6000.c (bdesc_2arg): Same.
6477
6478         * config/rs6000/spe.md: Same for patterns.
6479
6480 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
6481
6482         PR c/8639
6483         * fold-const.c (extract_muldiv): Don't propagate division unless
6484         both arguments are multiples of C.
6485
6486 2002-11-25  Andrew Haley  <aph@redhat.com>
6487
6488         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
6489         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
6490         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
6491         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
6492
6493 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
6494
6495         * i386.c (x86_use_ffreep): New global variable.
6496         * i386.h (x86_use_frfeep): Declare
6497         (TARGET_USE_FFREEP): New macro
6498         * i386.md  (movs?f*): Use freep when asked for.
6499         (push?f): Remove dead code.
6500
6501 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
6502
6503         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
6504         target help message.
6505
6506 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
6507
6508         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
6509         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
6510         crtbeginT.o".
6511         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
6512         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
6513         to "" for a.out configurations.
6514         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
6515
6516 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
6517
6518         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
6519         NETBSD_CPP_SPEC directly.
6520         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
6521         netbsd_endfile_spec.
6522         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
6523
6524 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
6525
6526         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
6527         NETBSD_STARTFILE_SPEC.
6528         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
6529         (ENDFILE_SPEC): Likewise.
6530         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
6531
6532 2002-11-24  Andreas Schwab  <schwab@suse.de>
6533
6534         * Makefile.in (install-driver): Remove versioned link before
6535         trying to create it.
6536
6537         * config/m68k/m68k.c: Fix typo in last change defining
6538         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
6539
6540 2002-11-23  H.J. Lu <hjl@gnu.org>
6541
6542         * aclocal.m4: Include ../config/accross.m4.
6543         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
6544         (gcc_AC_C_COMPILE_ENDIAN): Removed.
6545         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
6546         instead of $ac_cv_c_compile_endian.
6547
6548         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
6549         AC_COMPILE_CHECK_SIZEOF.
6550         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
6551         * configure: Rebuild.
6552
6553 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
6554
6555         * config/h8300/h8300.c (print_operand): Update the use of
6556         h8300_tiny_constant_address_p.
6557         (h8300_adjust_insn_length): Likewise.
6558         (h8300_tiny_constant_address_p): Check if the given rtx is a
6559         variable declared with __attribute__ ((tiny_data)).
6560
6561 2002-11-22  Dale Johannesen  <dalej@apple.com>
6562
6563         * toplev.c (rest_of_compilation):  Fix comments.
6564
6565 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
6566
6567         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
6568         allow mmap from /dev/zero.  Don't make decisions for the host
6569         based on presence or absence of /dev/zero on the build machine.
6570         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
6571         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
6572         * configure: Regenerate.
6573
6574 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
6575
6576         * gcc.c (make_relative_prefix, split_directories)
6577         (free_split_directories): Removed.
6578
6579 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
6580
6581         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
6582         * configure: Regenerated.
6583
6584 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
6585
6586         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
6587         length computation when xor.l is output.
6588
6589 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
6590
6591         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
6592         (call_vms_1, call_value_vms_1): Cleanup syntax.
6593
6594 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
6595
6596         * athlon.md (define_atuomaton): Add athlon_load.
6597         (athlon-double): New reservation.
6598         (athlon-ieu0): New CPU unit.
6599         (athlon-load?): Use athlon_load automaton.
6600         (*_k8 reservations): New.
6601         (other insn revervations): Activate for K8.
6602
6603 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
6604
6605         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
6606
6607 2002-11-21  Jim Wilson  <wilson@redhat.com>
6608
6609         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
6610         vectors to SI.
6611
6612 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
6613
6614         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
6615         * config/xtensa/xtensa.c (struct machine_function): Add
6616         incoming_a7_copied flag.
6617         (xtensa_copy_incoming_a7): Define.
6618         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
6619         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
6620
6621 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
6622
6623         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
6624         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6625         x86_64_nonmemory_operand, x86_64_movabs_operand,
6626         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6627         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
6628         (local_symbolic_operand): Do not care the 64bit limits.
6629         (x86_64_sign_extended_value): Remove allow_rip support.
6630         (legitimate_pic_address_disp_p): Handle all cases allowed
6631         with RIP addressing.
6632         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
6633         (legitimize_pic_address): Reorganize.
6634         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
6635
6636 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6637
6638         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
6639         * config/arm/netbsd-elf.h: New file.
6640
6641 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6642
6643         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
6644         subtarget_asm_float_spec.
6645         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
6646         defaults from...
6647         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
6648
6649 2002-11-21  Nick Clifton  <nickc@redhat.com>
6650
6651         * config/fr30/fr30.md (movsf_constant_store): Move code to
6652         detect 0.0 into fr30.c.
6653         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
6654         Prototype.
6655         * config/fr30/fr30.c (fr30_const_double_is_zero): New
6656         function.  Return true if the rtx is 0.0.
6657
6658 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6659
6660         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
6661         if -mlittle-endian is specified.
6662
6663 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
6664
6665         PR optimization/2903
6666         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
6667         (anddi_notsesidi_di): Likewise.
6668
6669 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
6670
6671         * config/h8300/h8300.c (print_operand): Use
6672         h8300_eightbit_constant_address_p and
6673         h8300_tiny_constant_address_p.
6674         (h8300_adjust_insn_length): Likewise.
6675         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
6676         (TINY_CONSTANT_ADDRESS_P): Likewise.
6677         (OK_FOR_U): Use eightbit_constant_address_p.
6678
6679 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
6680
6681         * config/s390/libgcc-libc.ver: Add multilib support.
6682         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
6683         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
6684         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
6685         EXTRA_MULTILIB_PARTS): Define.
6686
6687 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
6688
6689         * arm.c (arm_get_frame_size): A leaf function does not need its
6690         stack padding to an aligned boundary if it has no frame.
6691         (thumb_get_frame_size): Likewise.
6692
6693 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
6694
6695         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
6696         (override_options): Likewise.
6697
6698 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
6699
6700         * config.gcc: Add k8 target alias support
6701         * i386.c (_cost): Declare costs for various variants of divides and
6702         multiplies.
6703         (k8_cost): New.
6704         (m_K8, m_ATHLON_K8): New macros.
6705         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
6706         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
6707         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
6708         x86_integer_DFmode_moves, x86_partial_reg_dependency,
6709         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
6710         x86_prologue_using_move, x86_epilogue_using_move,
6711         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
6712         x86_sse_typeless_stores): Set for K8
6713         (override_options): Add k8 support; fix athlon alignment;
6714         complain about non-x86-64 capable CPU being used in x86-64 compilation.
6715         (ix86_issue_rate): Set for K8.
6716         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
6717         x86_machine_dependent_reorg): Handle K8 like
6718         * i386.h
6719         (x86_costs):  Change mult_init and divide into array.
6720         (TARGET_K8, TARGET_ATHLON): New macros.
6721         (MODE_INDEX): New macro.
6722         (RTX_COST): Use new costs.
6723         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
6724         (TARGET_CPU_DEFAULT_NAMES): Add k8
6725         (TARGET_CPU_DEFAULT_k8): New constant
6726         (enum processor_type): Add PROCESSOR_K8.
6727         * i386.md (cpu attribute): Add k8.
6728
6729         * invoke.texi: Document -march=k8.
6730
6731         * i386.md (type attribute): Add leave
6732         (mode attribute): Remove unknownfp.
6733         (length_immediate, modrm, memory attributes): Handle leave correctly.
6734         (fp comparison patterns): Determine FP mode.
6735         (leave, leave_rex64): Remove special cases.
6736         * ppro.md (ppro_uops, ppro_p2): Add leave
6737         * pentiun.md (pent_pop): Handle leave too.
6738         * k6.md (k6_load): Handle leave.
6739         * athlon.md (athlon_leave, athlon_pop): Fix.
6740         (athlon_decode): Handle leave.
6741
6742 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
6743
6744         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
6745         to component type using GET_MODE_INNER.
6746         * expr.c (emit_move_insn_1): Ditto.
6747         * optabs.c (expand_binop): Ditto.
6748         (expand_unop): Ditto.
6749         (expand_complex_abs): Ditto.
6750
6751 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
6752
6753         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
6754
6755 2002-11-20  DJ Delorie  <dj@redhat.com>
6756
6757         * config/stormy16/stormy16.c (s16builtins,
6758         xstormy16_init_builtins, xstormy16_expand_builtin): New.
6759         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
6760
6761 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
6762
6763         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
6764         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
6765         (executing gencheck, genconfigs, genconditions, genflags,
6766         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
6767         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
6768         gengtype, genprotos): Prepend $(RUN_GEN).
6769         * configure.in: Move host compiler tests before --enable-checking
6770         tests.
6771         (--enable-checking=valgrind): New.
6772         * config.in, configure: Regenerate.
6773         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6774         Define as empty.
6775         (read_include_file): When doing the mmap+1 trick,
6776         valgrind-annotate the byte after the mmap:ed area as readable.
6777         (purge_cache): Remove above annotation.
6778         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
6779         VALGRIND_PATH -q to each command.
6780
6781         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6782         Define as empty.
6783         (ggc_realloc): Update valgrind annotations.
6784         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6785         Define as empty.
6786         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
6787         valgrind-annotate memory.
6788
6789 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
6790
6791         * recog.c (constrain_operands): Prefer exact match over reloadable
6792         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
6793
6794         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
6795         operands in Pmode.
6796
6797 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
6798
6799         PR c/8518
6800         * c-decl.c (duplicate_decls): Outline the second definition
6801         of an extern inline function in all cases.
6802
6803 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6804
6805         * stor-layout.c (place_field): Update rli->offset as well as
6806         rli->bitpos.
6807
6808 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6809
6810         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
6811
6812 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6813
6814         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
6815         into a libcall block.
6816         (divsi3): Likewise divsi3_i4_media.
6817
6818 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6819
6820         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
6821         out another register.
6822
6823 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
6824
6825         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
6826         (not just mask) are set in C.
6827
6828 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
6829
6830         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
6831
6832 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6833
6834         * profile.c (index_counts_file): Fix obvious mistake.
6835
6836 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6837
6838         * Makefile.in (profile.o): Add hashtab.h dependency.
6839         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
6840         * profile.c: Include hashtab.h.
6841         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
6842         cleanup_counts_index, index_counts_file, struct section_reference,
6843         struct da_index_entry, counts_file_name, counts_file_index): New.
6844         (get_exec_counts, init_branch_prob): Modified.
6845
6846 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
6847
6848         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
6849         to tmake_file. Remove setting gas and gnu_ld here.
6850         * config/sh/libgcc-glibc.ver: New file.
6851         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
6852         (SHLIB_MAPFILES): New.
6853         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
6854         (MD_STARTFILE_PREFIX): Likewise.
6855         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
6856         (DWARF2_UNWIND_INFO): Redefine.
6857         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6858         (LINK_EH_SPEC): Redefine.
6859         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
6860         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
6861         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
6862         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
6863         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
6864         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
6865         SH_DWARF_FRAME_FPSCR): Likewise.
6866         * config/sh/sh-protos.h (sh_set_return_address): Declare.
6867         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
6868         registers if the current function calls EH return.
6869         (sh_expand_epilogue): Handle EH stack adjustments.
6870         (sh_set_return_address): New function.
6871         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6872         Don't abort even if the number is mapped to -1.
6873         (EH_RETURN_DATA_REGNO): Define.
6874         (EH_RETURN_STACKADJ_RTX): Define.
6875         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
6876         (eh_return): New pattern.
6877         (eh_set_ra_di, eh_set_ra_si): Likewise.
6878         Add splitter to perform EH return after reload.
6879
6880 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
6881
6882         * stor-layout.c (excess_unit_span): New function.
6883         (place_field): Use it.
6884
6885 2002-11-19  Andreas Schwab  <schwab@suse.de>
6886
6887         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
6888         not valid in C++.
6889
6890 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
6891
6892         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
6893         * configure: Regenerate.
6894
6895 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6896
6897         * convert.c (strip_float_extensions): New function.
6898         (convert_to_real): Optimize some cases.
6899
6900 2002-11-19  Andreas Jaeger  <aj@suse.de>
6901
6902         * loop.c (record_giv): Initialize not_replaceable.
6903         (check_final_value): Likewise.
6904
6905 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6906
6907         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
6908         MASK_H8300S.
6909
6910 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
6911
6912         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
6913         only if -mh or -ms present.
6914         (h8300_eightbit_constant_address_p): Support the normal mode.
6915         (h8300_tiny_constant_address_p): Likewise.
6916         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
6917         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
6918         (Pmode): Evaluate to HImode for the normal mode.
6919         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
6920         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
6921         (ASM_WORD_OP): Evaluate to word for the normal mode.
6922         * config/h8300/h8300.md (tablejump_normal_mode): New.
6923         (indirect_jump_normal_mode): New.
6924         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
6925         directory.
6926         (MULTILIB_DIRNAMES): Create target dependent directory
6927         'normal'.
6928         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
6929         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
6930
6931 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
6932
6933         * i386.md (length_immediate): Do not refer to insn address.
6934         (jcc*, jmp patterns):  Compute length explicitly.
6935
6936 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
6937
6938         PR c/8588
6939         * optabs.c (expand_binop): Convert CONST_INTs in shift
6940         operations too.
6941
6942 2002-11-19  Roger Sayle  <roger@eyesopen.com>
6943
6944         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
6945
6946 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6947
6948         * config/h8300/h8300.md (an anonymous pattern): Relax the
6949         condition to accept the same operands and/or subregs.
6950
6951 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
6952
6953         * config/sh/sh.c (gen_shl_and): Revert previous patch.
6954         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
6955         reload_completed.
6956
6957 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6958
6959         * config/h8300/h8300.c (print_operand): Update the use of
6960         EIGHTBIT_CONSTANT_ADDRESS_P.
6961         (h8300_adjust_insn_length): Likewise.
6962         (h8300_eightbit_constant_address_p): Check if the given rtx is
6963         a variable with __attribute__((eightbit_data)).
6964         * config/h8300/h8300.h (OK_FOR_U): Update the use of
6965         EIGHTBIT_CONSTANT_ADDRESS_P.
6966
6967 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6968
6969         * doc/contrib.texi (Contributors): Add self as second contact in
6970         addition to Jeff Law.
6971
6972 2002-11-19  Andreas Jaeger  <aj@suse.de>
6973
6974         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
6975         find_alloca_call to right place.
6976
6977 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6978
6979         * cppfiles.c: Fix formatting.
6980
6981 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
6982
6983         * gcc.c (The Specs Language): Document spec functions.
6984         (static_spec_functions, lookup_spec_function)
6985         (eval_spec_function, handle_spec_function)
6986         (if_exists_spec_function, alloc_args): New.
6987         (execute): Abort if processing_spec_function is true.
6988         (do_spec_1): Hand off spec to handle_spec_function if %:
6989         is encountered.  If processing_spec_function is true,
6990         end any pending argument when the end of the string is reached.
6991         (main): Use alloc_args to allocate the initial argument vector.
6992         * gcc.h (struct spec_function): New.
6993         (lang_specific_spec_functions): New extern.
6994
6995         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
6996         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
6997         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
6998
6999         * doc/invoke.texi: Document spec functions.
7000
7001         * cppspec.c (lang_specific_spec_functions): New.
7002         * gccspec.c: Likewise.
7003
7004 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
7005
7006         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
7007         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
7008         (fixunstfsi_libfunc): Change.
7009         (fixunstfdi_libfunc): Change.
7010         (sdiv_optab): Don't zero out SImode handler.
7011         (udiv_optab): Don't zero out SImode handler.
7012         (smod_optab): Don't zero out SImode handler.
7013         (umod_optab): Don't zero out SImode handler.
7014
7015 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
7016
7017         PR preprocessor/8524
7018         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
7019         Add a new one in its place, which hopefully works.
7020         (skip_rest_of_line): Change test for bottom-of-context-stack.
7021
7022 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
7023
7024         * i386.md (addqi_1_slp): Fix output template.
7025         (subqi_1_slp): Fix type.
7026
7027 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
7028
7029         * calls.c (alloca_call_p): New global function.
7030         * tree.h (alloca_call_p): New.
7031         * tree-inline.c (inlinable_function_p):  Do not inline when
7032         function calls alloca.
7033         (find_alloca_call, find_alloca_call_1): New functions.
7034
7035 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
7036
7037         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
7038         bst.  Update the insn length.
7039         (*andorhi3): Likewise.
7040         (*andorsi3): Likewise.
7041
7042 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
7043
7044         * config/sh/sh-protos.h (sh_mark_label): Declare.
7045         * config/sh/sh.c (sh_mark_label): New function, taken from
7046         movdi_const, but fixing the case when the address has an addend.
7047         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
7048
7049 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
7050
7051         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
7052         (add_constant): Set it.
7053         (dump_table): Don't reorder a constant if part_of_sequence_p.
7054         (machine_dependent_reorg): Assume that float constants will
7055         stay in their original order if used as a sequence.
7056
7057 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
7058
7059         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
7060         in compact code.
7061
7062 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
7063
7064         * config/sh/sh.md (initialize_trampoline): Do not force the
7065         trampoline address into R0_REGS here.
7066
7067 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
7068
7069         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7070         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7071         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7072         generate unnecesary subregs.
7073
7074 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
7075
7076         * df.c: Fix formatting.
7077
7078 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
7079
7080         * config/h8300/h8300.md (two anonymous patterns): Fix insn
7081         lengths.
7082
7083 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
7084
7085         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
7086         is not an arith_reg_operand.
7087
7088 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
7089
7090         * real.c (real_to_decimal): Fix buffer overrun when buffer size
7091         is smaller than representation.
7092
7093 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
7094
7095         * builtins.c: Fix formatting.
7096
7097 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
7098
7099         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
7100         floats?dff2_i387):
7101         Work around regclass stupidity.
7102         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
7103
7104 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
7105
7106         * i386.md (fop_df_6): New pattern.
7107         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
7108         (fop_xf_6): Rewrite
7109         (fop_xf_7): Delete.
7110         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
7111         (fop_tf_6): Rewrite
7112         (fop_tf_7): Delete.
7113
7114 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7115
7116         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
7117
7118 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7119
7120         * config/h8300/h8300.md: Fix formatting.
7121
7122 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7123
7124         * config/h8300/h8300.md: Replace spaces with tabs.
7125         * config/h8300/t-h8300: Remove a trailing empty line.
7126
7127 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7128
7129         * tlink.c: Fix formatting.
7130
7131 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
7132
7133         PR 8362
7134         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
7135         * config/rs6000/rs6000.md (movti_string): Remove output modifier
7136         when scratch register never needed.
7137         (ldmsi[3-8]): New patterns.
7138
7139 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7140
7141         * hard-reg-set.h: Follow spelling conventions.
7142         * real.c: Likewise.
7143         * target.h: Likewise.
7144
7145 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
7146
7147         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
7148
7149 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7150
7151         * optabs.c: Fix formatting.
7152
7153 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
7154
7155         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
7156         * i386.md (attribute type): Add type shift1 and rotate1.
7157         (*_slp): Rewrite to have just two operands to avoid reload problems.
7158
7159 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
7160
7161         * config/h8300/h8300.md (4 anonymous patterns): New.
7162
7163 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
7164
7165         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
7166         * doc/invoke.texi: Correct description of what needs to be done to
7167         force collection at every ggc_collect call.
7168
7169 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
7170
7171         * config/s390/s390.c (optimization_options): Set
7172         flag_asynchronous_unwind_tables to 1 by default.
7173
7174 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
7175
7176         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7177
7178 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
7179
7180         * i386-protos.h (x86_function_profiler): New function
7181         * i386.h (MCOUNT_NAME): New.
7182         (PROFILE_COUNT_REGISTER): New.
7183         (FUNCTION_PROFILER): Move offline to ...
7184         * i386.c (x86_function_profiler) ... here; fix 64bit support
7185         * beos-elf.h (FUNCTION_PROFILER): Kill.
7186         (MCOUNT_NAME): New.
7187         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
7188         (MCOUNT_NAME): New.
7189         (PROFILE_COUNT_REGISTER): New.
7190         * linux.h (FUNCTION_PROFILER): Kill.
7191         (MCOUNT_NAME): New.
7192         * x86-64.h (FUNCTION_PROFILER): Kill.
7193         (MCOUNT_NAME): New.
7194         * freebsd.h (FUNCTION_PROFILER): Kill.
7195         (MCOUNT_NAME): New.
7196
7197 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
7198
7199         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
7200         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
7201         * config/arm/arm.c (arm_va_arg,
7202         arm_function_arg_pass_by_reference): New.
7203         * config/arm/arm-protos.h: Add prototypes.
7204
7205 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
7206
7207         * gthr-single.h: Fix formatting.
7208
7209 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
7210
7211         * tree.c (tree_vec_elt_check_failed): New function.
7212         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
7213         (TREE_VEC_ELT): Use it.
7214
7215         * tree-inline.c (optimize_inline_calls): Don't copy a
7216         zero-length vector.
7217
7218 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7219
7220         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
7221
7222 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
7223
7224         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
7225         both operands contain local relocations.
7226         (categorize_decl_for_section): Don't use mergeable sections if
7227         initializer has any relocations.
7228
7229 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
7230
7231         * gthr-vxworks.h: Fix formatting.
7232
7233 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
7234
7235         * doc/install.texi (Testing): Document extra Java testing.
7236         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
7237
7238 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7239
7240         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
7241         beginning of the spec.
7242         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
7243         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
7244         regarding problems with global constructors when using GNU ld.
7245
7246 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
7247
7248         * gthr-solaris.h: Fix formatting.
7249
7250 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
7251
7252         * gthr-posix.h: Fix formatting.
7253
7254 2002-11-12  Devang Patel <dpatel@apple.com>
7255         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
7256         (process_command): Same.
7257         * doc/invoke.texi: Info about these two new options.
7258
7259 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
7260
7261         * config/h8300/h8300.md (*andorsi3): New.
7262
7263 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7264
7265         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
7266
7267 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
7268
7269         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
7270         expressions appropriately.
7271
7272 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
7273
7274         * gthr-win32.h: Fix formatting.
7275
7276 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
7277
7278         * config/h8300/h8300.c (single_one_operand): Correctly compute
7279         mask when mode is SImode.
7280         (single_zero_operand): Likewise.
7281         * config/h8300/h8300.md (two new anonymous insns): New.
7282
7283 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7284
7285         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
7286         to that entire project.
7287
7288 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7289
7290         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
7291         directories.
7292
7293 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
7294
7295         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
7296         * doc/invoke.texi: Document them.
7297
7298         * ggc-page.c: Include params.h.  Remove definitions of
7299         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
7300         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
7301         (init_gcc): Don't set G.allocated_last_gc here.
7302         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
7303         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
7304         perform collection.
7305         * ggc-simple.c: Similarly.
7306         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
7307         dependencies.
7308
7309 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
7310
7311         * gthr-dce.h: Fix formatting.
7312
7313 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7314
7315         PR c/8467
7316         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
7317         mode of DECL_RTL case.
7318
7319 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
7320
7321         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
7322
7323 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
7324
7325         * i386.c (construct_container): Fix handling of SSE_CLASS.
7326
7327 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
7328
7329         * config/m68k/t-crtstuff (crti.o): Use this...
7330         ($(T)crti.o): ... instead.
7331         (crtn.o): Use this...
7332         ($(T)crtn.o): ... instead.
7333
7334 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
7335
7336         PR c/8439
7337         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
7338         if there is something new to be simplified.
7339
7340 2002-11-10  H.J. Lu <hjl@gnu.org>
7341
7342         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
7343         * expr.c (PUSH_ARGS_REVERSED): Likewise.
7344
7345         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
7346
7347 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
7348
7349         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
7350         * config/rs6000/linux.h, config/rs6000/linux64.h,
7351         config/rs6000/windiss.h: ... not here.
7352
7353 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
7354
7355         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
7356         __ABICALLS__ if TARGET_ABICALLS.
7357
7358 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
7359
7360         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
7361
7362 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
7363
7364         * c-decl.c (grokdeclarator): Make error for duplicate type
7365         qualifiers into a pedwarn, disabled for C99.
7366
7367 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
7368
7369         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
7370         as FUNCTION_ARG_PASS_BY_REFERENCE.
7371
7372 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
7373
7374         * doc/install.texi: Add *-*-vxworks* specific installation
7375         instructions.
7376
7377         * config/vxlib.c: Rewrite using generation numbers to identify
7378         valid TSD keys.
7379
7380 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
7381
7382         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
7383
7384 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7385
7386         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
7387
7388         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
7389         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
7390         * pa.c (output_millicode_call): Use symbol difference rather than
7391         $PIC_pcrel$0 when using HP assembler.
7392         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
7393         not elfos.h (i.e., gas) is being used.
7394         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
7395         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
7396         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
7397         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
7398         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
7399         using elfos.h.
7400         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
7401         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
7402         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
7403         using elfos.h.
7404         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7405         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
7406         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
7407         Don't define when not using elfos.h.
7408         (ASM_DECLARE_RESULT): Don't define.
7409         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
7410         doesn't work on hppa64-hp-hpux11.
7411         (hppa*-hp-hpux11): Update.
7412
7413 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
7414
7415         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
7416         to the assembler if -mno-abicalls was specified.
7417
7418 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7419
7420         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
7421         ASM_OUTPUT_DEF): Delete.
7422
7423 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
7424
7425         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
7426
7427 2002-11-08  Roger Sayle  <roger@eyesopen.com>
7428
7429         * real.c (real_sqrt): Update comment with bibliographic reference.
7430
7431 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
7432
7433         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
7434
7435 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
7436
7437         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
7438
7439 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
7440
7441         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
7442         (expand_builtin): Likewise.
7443         * builtins.def: Add
7444         __builtin_floor, __builtin_floorf, __builtin_floorl
7445         __builtin_ceil, __builtin_ceilf, __builtin_ceill
7446         __builtin_round, __builtin_roundf, __builtin_roundl
7447         __builtin_trunc, __builtin_truncf, __builtin_truncl
7448         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
7449         * genopinit.c (optabs): Initialize the new optabs.
7450         * optab.c (init_optabs): Likewise.
7451         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
7452         OTI_round, OTI_nearbyint.
7453         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
7454         * doc/md.texi: Document new named patterns.
7455         * doc/extend.texi (builtin functions)  Document
7456         floor, floorf, floorl, ceil, ceilf,
7457         ceill, round, roundf, roundl, trunc,
7458         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
7459
7460 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
7461
7462         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
7463
7464 2002-11-08  Dale Johannesen  <dalej@apple.com>
7465
7466         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
7467
7468 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
7469
7470         PR preprocessor/8497
7471         PR preprocessor/8501
7472         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
7473         start a directive.  In assembler, #NUM is not a line directive.
7474
7475 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
7476
7477         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
7478         buffers.
7479
7480 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
7481
7482         * config/h8300/h8300.md (two anonymous test insns): New.
7483
7484 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
7485
7486         * jump.c (mark_jump_label): Handle subregs of label_refs.
7487
7488 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
7489
7490         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
7491         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
7492
7493 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
7494
7495         * config/ia64/crtend.asm: Include "auto-host.h".
7496         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
7497         * config/ia64/crtbegin.asm: Similarly.
7498         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
7499         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
7500
7501         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
7502         * configure.in: Use it if --enable-initfini-array not specified.
7503         * doc/install.texi (Configuration): Document --enable-initfini-array.
7504         * configure, config.in: Rebuild.
7505
7506 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
7507
7508         * config/arm/arm-protos.h (arm_get_frame_size)
7509         (thumb_get_frame_size): New prototypes.
7510         * config/arm/arm.c (arm_get_frame_size)
7511         (thumb_get_frame_size): New functions.
7512         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
7513         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
7514         arm_get_frame_size.
7515         (thumb_expand_prologue, thumb_expand_epilogue): Use
7516         thumb_get_frame_size.
7517         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
7518         (machine_function): Add frame_size member.
7519         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
7520
7521 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
7522
7523         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
7524         Adjust code to use portable unsigned bit manipulation.
7525         (insn_flags, tune_flags): Change type to unsigned.
7526         (struct processors): Make flags unsigned long.
7527         (arm_override_options): Change type of count and current_bit_count
7528         to unsigned.
7529
7530 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
7531
7532         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
7533
7534 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
7535
7536         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
7537
7538 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
7539
7540         * reg-stack.c (compensate_edge): Fix sanity check.
7541
7542 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
7543
7544         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
7545         crt2.o.  Rearrange t-darwin makefiles.
7546         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
7547         * unwind-dw2-fde-darwin.c: New.
7548         * unwind-dw2-fde-glibc.c: Correct comment.
7549         * unwind-dw2-fde.c (__register_frame_info_bases)
7550         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
7551         (classify_object_over_fdes): Use last_fde.
7552         (add_fdes): Likewise.
7553         (linear_search_fdes): Likewise.
7554         * unwind-dw2-fde.h (struct object)
7555         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
7556         (last_fde): New.
7557         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
7558         (ENDFILE_SPEC): No crtend.o.
7559         * config/t-darwin: New.
7560         * config/i386/t-darwin: Delete.
7561         * config/darwin-crt2.c: New.
7562         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
7563         or config/t-darwin.
7564
7565 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
7566
7567         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
7568         MASK_MS_BITFIELD_LAYOUT
7569         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
7570         MS bitfields for Objective-C.
7571         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
7572         defines.
7573
7574         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
7575         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
7576         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
7577
7578         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
7579         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
7580         (TARGET_SWITCHES): Add above mask.
7581
7582         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
7583         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
7584         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
7585         flags for interix.
7586
7587 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
7588
7589         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
7590         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
7591         assembler.
7592         * config/mips/mips.md (tablejump_internal3): Output .cpadd
7593         before jump on ABI_N32 too.
7594         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
7595         length to match.
7596
7597 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
7598
7599         * i386.md (negsf splitter): Accept memory operand in second register.
7600         (abssf/absdf splitters): Simplify
7601         (sse_loadss, sse_loadsd): Turn into expander.
7602
7603 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
7604
7605         PR target/8480
7606         * config/rs6000/rs6000.md (movdi_internal64): Discourage
7607         FPR to FPR moves.
7608
7609 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
7610
7611         * doc/contrib.texi: Merge in the list from the Java web pages.
7612
7613 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
7614
7615         * config/sparc/freebsd: Fix typo.
7616
7617 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7618
7619         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
7620
7621 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
7622
7623         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
7624         non-SImode addresses.
7625
7626 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
7627
7628         * i386.md (float_truncate SSE splitter): Ensure that operand is not
7629         stack register.
7630         (float SSE splitters): Reorder conditional.
7631
7632 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
7633
7634         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
7635
7636 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
7637
7638         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
7639         (STARTFILE_SPEC): Remove p and pg options.
7640
7641 2002-11-05  Andrew Haley  <aph@redhat.com>
7642
7643         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
7644         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
7645
7646 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
7647
7648         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
7649         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
7650
7651 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
7652
7653         * gthr-vxworks.h: Rewritten from scratch.
7654         * config/vxlib.c: New file.
7655         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
7656         * config/rs6000/t-vxworks: Add config/vxlib.c to
7657         LIB2FUNCS_EXTRA here too, because of clash with
7658         config/rs6000/t-ppccomm.
7659
7660 2002-11-04  Dale Johannesen  <dalej@apple.com>
7661
7662         * doloop.c (doloop_modify_runtime):  Fix loop count computation
7663         for unrolled loops.
7664         * loop.c (loop_invariant_p):  Support calling from unroller.
7665
7666 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
7667
7668         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
7669         for comparison.
7670
7671 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
7672
7673         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
7674
7675         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
7676         (CLASS_CANNOT_CHANGE_MODE): Remove.
7677         (CANNOT_CHANGE_MODE_CLASS): New.
7678
7679         * config/alpha/alpha.h: Same.
7680
7681         * config/ia64/ia64.h: Same.
7682
7683         * config/mips/mips.h: Same.
7684
7685         * config/s390/s390.h: Same.
7686
7687         * config/sh/sh.h: Same.
7688
7689         * config/pa/pa64-regs.h: Same.
7690
7691         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
7692
7693         * config/sh/sh.c (sh_cannot_change_mode_class): New.
7694
7695         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
7696         prototype.
7697
7698         * config/mips/mips.c (mips_cannot_change_mode_class): New.
7699
7700         * doc/tm.texi (Register Classes): Remove
7701         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
7702         Document CANNOT_CHANGE_MODE_CLASS.
7703
7704         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
7705         (push_reload): Same.
7706
7707         * simplify-rtx.c (simplify_subreg): Same.
7708
7709         * reload1.c (choose_reload_regs): Same.
7710
7711         * recog.c (register_operand): Same.
7712
7713         * regrename.c (mode_change_ok): Change to use new
7714         CANNOT_CHANGE_MODE_CLASS infrastructure.
7715
7716         * regclass.c (cannot_change_mode_set_regs): New.
7717         Declare subregs_of_mode.
7718         (regclass): Use subregs_of_mode.
7719         Remove references to reg_changes_mode.
7720         (init_reg_sets_1): Remove class_can_change_mode and
7721         reg_changes_mode code.
7722         (invalid_mode_change_p): New.
7723         (dump_regclass): Use invalid_mode_change_p instead of
7724         class_can_change_mode.
7725         (regclass): Same.
7726         (record_operand_costs): Do not set reg_changes_mode.
7727
7728         * local-alloc.c (struct qty): Remove changes_mode field.
7729         (alloc_qty): Remove changes_mode initialization.
7730         (update_qty_class): Remove set of changes_mode.
7731         (find_free_reg): Use subregs_of_mode.
7732
7733         * global.c (find_reg): Use subregs_of_mode info.
7734
7735         * rtl.h (cannot_change_mode_set_regs): New prototype.
7736         (invalid_mode_change_p): Same.
7737         (REG_CANNOT_CHANGE_MODE_P): New macro.
7738
7739         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
7740         REG_CHANGES_MODE.
7741         (life_analysis): Clear subregs_of_mode.
7742
7743         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
7744         Remove use of CLASS_CANNOT_CHANGE_MODE.
7745         (simplify_set): Same.
7746         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
7747         REG_CHANGES_MODE.
7748
7749         * regs.h: Add extern for subregs_of_mode;
7750         Include hard-reg-set and basic-block.
7751         (REG_CHANGES_MODE): Delete.
7752
7753 2002-11-03  Roger Sayle  <roger@eyesopen.com>
7754
7755         * real.c (real_sqrt): New function to calculate square roots.
7756         * real.h (real_sqrt): Add function prototype.
7757         * builtins.c (fold_builtin): Fold sqrt of constant argument.
7758         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
7759         of constant argument.
7760
7761 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7762
7763         * jump.c (never_reached_warning): Don't set contains_insn until the
7764         first line note is seen.
7765
7766 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
7767
7768         * config/rs6000/rs6000.md (movti_string): Use string instructions.
7769
7770 2002-11-03  Roger Sayle  <roger@eyesopen.com>
7771
7772         PR c/7128
7773         * c-typeck.c (c_expand_asm_operands): Defend against
7774         error_mark_nodes in the output argument to avoid ICE.
7775
7776 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
7777
7778         PR middle-end/8408
7779         * genrecog.c (preds): Handle ADDRESSOF.
7780         (validate_pattern): Mark it as an lvalue.
7781
7782 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
7783
7784         * config/rs6000/rs6000.c (rs6000_override_options): Use string
7785         instructions when optimizing for size.
7786
7787 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
7788
7789         * config/h8300/h8300.h: Fix comment typos.
7790         * config/h8300/h8300.md: Likewise.
7791         * config/h8300/lib1funcs.asm: Likewise.
7792
7793 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7794
7795         Revert this change:
7796
7797         *doc/install.texi (Installing GCC: Configuration): Clarify
7798         the only supported ways to configure gcc.
7799
7800 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
7801
7802         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
7803         instead of 'O' for the constraint for the second operand.
7804
7805 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
7806
7807         PR c++/8391
7808         * toplev.c (rest_of_compilation): Do not refuse to output code for
7809         an inline function in a local class.
7810
7811 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
7812
7813         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
7814         (TRANSFER_FROM_TRAMPOLINE): Reformat.
7815         Add comment.
7816
7817 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
7818
7819         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
7820
7821 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7822
7823         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
7824
7825 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
7826
7827         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
7828         (MASK_INLINE_DIV_THR): Remove.
7829         (TARGET_INLINE_DIV_LAT): Remove.
7830         (TARGET_INLINE_DIV_THR): Remove.
7831         (TARGET_INLINE_DIV): Remove.
7832         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
7833         (MASK_INLINE_FLOAT_DIV_THR): New macro.
7834         (MASK_INLINE_INT_DIV_LAT): New macro.
7835         (MASK_INLINE_INT_DIV_THR): New macro.
7836         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
7837         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
7838         (TARGET_INLINE_INT_DIV_LAT): New macro.
7839         (TARGET_INLINE_INT_DIV_THR): New macro.
7840         (TARGET_INLINE_FLOAT_DIV): New macro.
7841         (TARGET_INLINE_INT_DIV): New macro.
7842         * config/ia64/ia64.md (divsi3): Change to use new macros.
7843         (modsi3): Ditto.
7844         (udivsi3): Ditto.
7845         (umodsi3): Ditto.
7846         (divsi3_internal): Ditto.
7847         (divdi3): Ditto.
7848         (moddi3): Ditto.
7849         (udivdi3): Ditto.
7850         (umoddi3): Ditto.
7851         (divdi3_internal_lat): Ditto.
7852         (divdi3_internal_thr): Ditto.
7853         (divsf3): Ditto.
7854         (divsf3_internal_lat): Ditto.
7855         (divsf3_internal_thr): Ditto.
7856         (divdf3): Ditto.
7857         (divdf3_internal_lat): Ditto.
7858         (divdf3_internal_thr): Ditto.
7859         (divtf3): Ditto.
7860         (divtf3_internal_lat): Ditto.
7861         (divtf3_internal_thr): Ditto.
7862         * config/ia64/ia64.c (ia64_override_options): Change
7863         to check new macros for conflicts in settings.
7864         * doc/invoke.texi (-minline-divide-min-latency): Remove.
7865         (-minline-divide-max-throughput): Remove.
7866         (-minline-float-divide-min-latency): New.
7867         (-minline-float-divide-max-throughput): New.
7868         (-minline-int-divide-min-latency): New.
7869         (-minline-int-divide-max-throughput): New.
7870
7871 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
7872
7873         PR target/7856
7874         * arm.c (use_return_insn): Don't use a return insn if there are
7875         saved integer regs, but LR is not one of them.
7876
7877 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
7878
7879         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
7880         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
7881
7882 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7883
7884         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
7885         (movps, movpd splitters): Use canonical form.
7886         (movv2di): Fix merge problem.
7887
7888 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
7889
7890         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
7891
7892 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
7893
7894         PR optimization/6162
7895         * doc/md.texi: Document restriction on commutative operand
7896         specification.
7897
7898 2002-10-31  Eric Christopher  <echristo@redhat.com>
7899
7900         * explow.c (convert_memory_address): Use shallow_copy_rtx.
7901
7902 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
7903
7904         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
7905
7906 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
7907
7908         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
7909
7910 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
7911
7912         * config/rs6000/darwin.h:  Correct formatting in previous.
7913
7914 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
7915
7916         * config/rs6000/darwin.h:  Enable -falign-xxx options.
7917
7918 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
7919
7920         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
7921         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
7922         * i386.c (optimization_options): Set flag_omit_frame_pointer,
7923         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
7924         Do not clear -momit-leaf-frame-pointer when profiling.
7925         (ix86_frame_pointer_required): Frame pointer is always required when
7926         profiling.
7927
7928 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
7929
7930         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
7931
7932 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
7933
7934         * sh.h (binary_logical_operator): Declare.
7935         * sh.c (binary_logical_operator): New function.
7936         * sh.md (xordi3+1): New combiner splitter pattern.
7937
7938 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
7939
7940         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7941         __enable_execute_stack function.
7942
7943 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
7944
7945         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
7946         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
7947         * unwind-sjlj.c (fc_key_dtor): Delete.
7948         (fc_key_init): Adjust __gthread_key_create call to match.
7949
7950 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
7951
7952         * c-common.c: Add GTY to vector_type_node_list.
7953
7954 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
7955
7956         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
7957         * pa-protos.h (attr_length_millicode_call, attr_length_call,
7958         pa_init_machine_status): Declare new global functions.
7959         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
7960         implement new functions.
7961         (attr_length_millicode_call, attr_length_call): Implement.
7962         (total_code_bytes): Change type to long.
7963         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
7964         Reset counter if flag_function_sections.
7965         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
7966         (output_cbranch): Move call to gen_label_rtx.
7967         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
7968         delay slot in all variants, shorten pc-relative calls.
7969         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
7970         slot usage and exposure, various new call variants, and shortened
7971         sequences for some variants on TARGET_PA_20.
7972         Miscellaneous format changes.
7973         * pa.h (total_code_bytes): Change type to long.
7974         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
7975         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
7976         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
7977         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
7978         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
7979         stores on TARGET_ELF32.
7980         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
7981         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
7982         canonicalize_funcptr_for_compare expanders): Calculate attribute length
7983         attr_length_millicode_call().
7984         (call_internal_symref, call_value_internal_symref): Clobber register 1.
7985         Calculate attribute length using attr_length_call().
7986         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
7987         to delay slot.
7988         (sibcall, sibcall_value): Rewrite.
7989         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
7990         register 1.  Use attr_length_call().
7991         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
7992         New patterns.
7993         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
7994         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
7995         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
7996         * doc/invoke.texi (mlong-calls): Document.
7997
7998 2002-10-30  Roger Sayle  <roger@eyesopen.com>
7999
8000         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
8001         handling of cases where one or both branches of the conditional
8002         have void type, i.e. throw an exception or don't return.
8003         (fold): Only apply (and undo) type conversion to the non-void
8004         branches of a COND_EXPR.
8005
8006 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
8007
8008         PR c++/8333
8009         * varasm.c (asm_output_aligned_bss): Do not call
8010         ASM_GLOBALIZE_LABEL.
8011
8012 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
8013             Torbjorn Granlund  <tege@swox.com>
8014
8015         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
8016         for addressibility.
8017         (load_toc_v4_PIC_1b): Same.
8018
8019 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
8020
8021         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
8022         Truncate the addresses for H8/300 using HImode.
8023
8024 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
8025
8026         * i386.md (negdf splitter): Fix construction of the constant.
8027
8028 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
8029
8030         * i386.md (negsf, negdf): Reorganize to use vector modes
8031         for SSE variants.
8032         (abssf, absdf): Use force_reg.
8033         (movv4sf, movv2df): New splitters.
8034         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
8035         * i386.c (zero_extended_scalar_load_operand
8036
8037         * i386-protos.h (ix86_expand_call): Update prototype.
8038         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
8039         (ix86_expand_call): Use r11 for indirect sibcalls.
8040         * i386.md (call, call_value, untyped_call, call_value_pop):
8041         update x86_expand_call call.
8042         (sibcall, sibcall_value): new patterns
8043         (call_rex64, call_value_rex64): Do not accept sibcalls.
8044         (sibcall_rex64, sibcall_value_rex64,
8045         sibcall_rex64_v, sibcall_value_rex64_v): New.
8046
8047 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
8048
8049         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
8050         before final pass.
8051
8052 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
8053
8054         * toplev.c (rest_of_type_compilation): Return early in case of
8055         errors.
8056         (check_global_declarations): Don't call debug_hooks->global_decl
8057         in case of errors.
8058
8059 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
8060
8061         * doc/c-tree.texi (Tree overview): Fix typos.
8062
8063 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
8064
8065         * Makefile.in (gnucompare*):  Only record bad comparisons
8066         if there really was a bad comparison.
8067
8068 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
8069
8070         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
8071         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
8072         * md.texi (machine dependent constraints): Document 'C'
8073
8074         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
8075
8076         * i386.c (ix86_expand_vector_move): Fix.
8077
8078         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
8079         * i386.md (sse2_maskmovdqu_rex64): New pattern
8080
8081         PR target/8322
8082         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
8083         (ix86_init_mmx_sse_builtins): Fix type.
8084
8085 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
8086
8087         * gthr-posix.h: Include <unistd.h> for feature tests.
8088         (sched_get_priority_max, sched_get_priority_min)
8089         (pthread_getschedparam, pthread_setschedparam): Only use
8090         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
8091         (__gthread_objc_thread_set_priority): Don't treat all nonzero
8092         returns from sched_get_priority_max and sched_get_priority_min
8093         as an error.
8094
8095 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
8096
8097         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
8098         MASK_QUICKCALL.
8099
8100 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
8101
8102         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
8103         (h8300_tiny_constant_address_p): Likewise.
8104         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
8105         h8300_eightbit_constant_address_p.
8106         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
8107         * config/h8300/h8300-protos.h: Add the prototypes for the two
8108         new functions.
8109
8110 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
8111
8112         * reload1.c (update_eliminables): Unconditionally check if
8113         frame_pointer_needed has changed.
8114
8115 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
8116
8117         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
8118         before final pass.
8119
8120 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
8121
8122         PR optimization/8334
8123         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
8124         check for zero operands explicitly.
8125
8126 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
8127
8128         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
8129         memory after adjusting to BLKmode.
8130
8131 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
8132
8133         * config/h8300/h8300.h (MASK_*): New.
8134         (TARGET_*): Use MASK_*.
8135
8136 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
8137
8138         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
8139         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
8140         config/rs6000/vxworks.h: New files.
8141         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
8142
8143         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
8144         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
8145         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
8146         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
8147         sparc-*-vxsim*): Delete stanzas.
8148         * gthr-vxworks.h: Rip out all substantive code and just
8149         include gthr-single.h.
8150
8151         * config/alpha/vxworks.h, config/arm/vxarm.h,
8152         config/i386/vxi386.h, config/i960/t-vxworks960,
8153         config/i960/vx960-coff.h, config/i960/vx960.h,
8154         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
8155         config/mips/vxworks.h, config/rs6000/vxppc.h,
8156         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
8157         config/sparc/vxsim.h, config/sparc/vxsparc.h,
8158         config/sparc/vxsparc64.h: Delete files.
8159
8160 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
8161
8162         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
8163         tm_defines if pthreads are enabled.
8164         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
8165         if NETBSD_ENABLE_PTHREADS is defined.
8166
8167 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
8168
8169         * ChangeLog.1: Fix typos.
8170         * cse.c: Fix a comment typo.
8171         * reload1.c: Likewise.
8172
8173 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
8174
8175         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
8176         * fixinc/tests/base/_G_config.h: New file.
8177
8178 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
8179
8180         * combine.c: Fix comment formatting.
8181         * loop.c: Likewise.
8182         * real.c: Likewise.
8183         * regclass.c: Likewise.
8184         * regmove.c: Likewise.
8185         * regrename.c: Likewise.
8186         * reg-stack.c: Likewise.
8187         * reload1.c: Likewise.
8188         * reload.c: Likewise.
8189         * reload.h: Likewise.
8190         * unroll.c: Likewise.
8191
8192 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
8193
8194         * reload1.c (reload): Fix a comment typo.
8195
8196 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
8197
8198         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
8199
8200 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8201
8202         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
8203         * dwarf2out.c: Include hashtab.h.
8204         (is_main_source): New static variable.
8205         (attr_checksum, die_checksum): Modified to handle die references.
8206         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
8207         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
8208         record_comdat_symbol_number): New static functions.
8209         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
8210         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
8211         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
8212         declarations added.
8213
8214 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
8215
8216         * config/h8300/h8300.c (initial_offset): Change to
8217         h8300_initial_elimination_offset.
8218         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
8219         h8300_initial_elimination_offset.
8220         * config/h8300/h8300-protos.h: Update the prototype.
8221
8222 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
8223
8224         * config/mmix/mmix.h (LIBCALL_VALUE): Use
8225         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
8226         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
8227         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
8228         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
8229         and RTX_CODE.
8230         (mmix_function_value_regno_p): Declare.
8231
8232         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
8233         invalid for floating point mode result, with fix.
8234
8235 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
8236
8237         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
8238         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
8239         (stage1_build): Likewise.
8240
8241 2002-10-25  Mike Stump  <mrs@apple.com>
8242
8243         Fixes gcc.dg/warn-1.c.
8244         * c-typeck.c (warn_for_assignment): Don't print argument number,
8245         if zero.
8246
8247 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
8248
8249         * toplev.c (dump_file_index): Add DFI_ce3.
8250         (dump_file_info): Likewise.
8251         (rest_of_compilation): Run first ifcvt pass before tracer.
8252
8253 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
8254
8255         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
8256
8257 2002-10-25  Richard Henderson  <rth@redhat.com>
8258
8259         * real.c (real_to_decimal): If the >1 tens reduction loop results
8260         in a negative exponent, fall into the <1 pten computation.
8261
8262 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
8263
8264         PR middle-end/6994
8265         * c-objc-common.c (inline_forbidden_p): Can not inline
8266         functions containing structures or unions containing VLAs.
8267         * tree-inline.c (walk_tree): For all class 't' nodes, walk
8268         TYPE_SIZE and TYPE_SIZE_UNIT.
8269         (copy_tree_r): Copy types if they are variably modified.
8270
8271 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
8272
8273         * config/s390/s390.md: Remove old-style peepholes.
8274
8275 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
8276
8277         * config/s390/s390.c (s390_decompose_address): Do not range check the
8278         displacement if base or index is the argument pointer register.
8279
8280 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
8281
8282         PR other/3337
8283         PR bootstrap/6763
8284         PR bootstrap/8122
8285         * fixinc/inclhack.def (libc1_G_va_list): New fix.
8286         * fixinc/fixincl.x: Regenerate.
8287         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
8288         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
8289         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
8290         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
8291         * config.in, configure: Regenerate.
8292
8293 2002-10-24  Igor Shevlyakov <igor@microunity.com>
8294
8295         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
8296
8297 2002-10-24  Richard Henderson  <rth@redhat.com>
8298
8299         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
8300
8301 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
8302
8303         * config/h8300/h8300.c (initial_offset): Simplify by using
8304         round_frame_size.
8305
8306 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
8307
8308         * doc/install.texi (avr): Update required binutils version.
8309
8310 2002-10-24  Theodore A. Roth  <troth@openavr.org>
8311
8312         * doc/install.texi: Point avr users at more up-to-date information.
8313
8314 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
8315
8316         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
8317         to pull operands out of the literal pool where possible.
8318
8319 2002-10-24  Denis Chertykov  <denisc@overta.ru>
8320
8321         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
8322
8323 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
8324
8325         * expr.c (convert_move): If unsignedp is less then zero there
8326         is no equivalent code.
8327
8328 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
8329
8330         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
8331
8332 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
8333
8334         * config/s390/s390.h: Rework comments; re-sort target macro definitions
8335         according to the sequence they are defined in the manual.
8336         (POINTER_BOUNDARY): Remove.
8337
8338 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
8339
8340         * config/h8300/h8300.c (round_frame_size): Replace 8 with
8341         BITS_PER_UNIT.
8342
8343 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
8344
8345         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
8346         64-bit safe.
8347         (TINY_CONSTANT_ADDRESS_P): Likewise.
8348
8349 2002-10-24  Richard Henderson  <rth@redhat.com>
8350
8351         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
8352         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
8353         vcall offset.
8354
8355 2002-10-24  Richard Henderson  <rth@redhat.com>
8356
8357         PR opt/7944
8358         * reload.c (find_reloads_toplev): Mode of X is not important
8359         when simplifying subregs of constants.
8360
8361 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
8362
8363         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
8364         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
8365         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
8366         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
8367         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
8368
8369 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
8370
8371         * optabs.c (expand_binop): Don't reuse the shift target in the
8372         middle of shift sequences.
8373
8374 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
8375
8376         * i386.md (abs splitters): Do not produce nested subregs.
8377
8378 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
8379
8380         * i386.md (movti_rex64): Fix constraints.
8381
8382 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
8383
8384         * i386.md (abssf,absdf): Use vector operands for SSE
8385         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
8386         vector operand.
8387
8388 2002-10-23  Ziemowit Laski <zlaski@apple.com>
8389
8390         * objc/objc-act.c (get_static_reference): Remove unneeded
8391         TYPE_BINFO initialization.
8392         (get_object-reference): Likewise.
8393         (build_constructor): Tighten precondition check.
8394         (finish_message_expr): Likewise.
8395
8396 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
8397
8398         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
8399         after CONST test.
8400
8401 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
8402
8403         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
8404         in HFAs.
8405
8406 2002-10-23  Richard Henderson  <rth@redhat.com>
8407
8408         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
8409         (alpha_output_mi_thunk_osf): Handle vcall_offset.
8410
8411 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
8412
8413         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
8414         var_mod_type_p.
8415         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
8416         hook_tree_bool_false.
8417
8418         * tree.c (variably_modified_type_p): Moved here from
8419         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
8420         language-specific cases.  Due to this, must weaken some 'if
8421         and only if' checks to merely 'if'.
8422         * tree.h: Prototype variably_modified_type_p.
8423
8424         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
8425
8426 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
8427
8428         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
8429         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
8430
8431         * config/s390/s390-protos.h (fp_operand): Remove.
8432         * config/s390/s390.c (fp_operand): Remove.
8433         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
8434         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
8435         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
8436         (movdi_31, movdf_31 splitters): Likewise.
8437
8438         * config/s390/s390.h (IEEE_FLOAT): Remove.
8439         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
8440         (INT_REGNO_P): Rename to ...
8441         (GENERAL_REGNO_P): ... this.
8442         (FLOAT_REGNO_P): Rename to ...
8443         (FP_REGNO_P): ... this.
8444         (ADDR_REGNO_P): New macro.
8445         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
8446         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
8447         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
8448         (HARD_REGNO_NREGS): Adapt to macro renaming.
8449         (HARD_REGNO_MODE_OK): Likewise.
8450
8451 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
8452             Geoff Keating  <geoffk@apple.com>
8453
8454         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
8455         (rs6000_memory_move_cost): New function.
8456         * config/rs6000/rs6000-protos.h: Declare them.
8457         * config/rs6000/rs6000.h: Use them.
8458
8459 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
8460
8461         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
8462         inlining it into other libgcc2 routines.
8463         (__udivmoddi4): Likewise.
8464
8465 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
8466
8467         * doc/sourcebuild.texi (Test Suites): Improve.
8468
8469 2002-10-22  Stan Shebs  <shebs@apple.com>
8470
8471         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
8472         case for Darwin.
8473
8474 2002-10-22  Jim Wilson  <wilson@redhat.com>
8475
8476         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
8477
8478 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8479
8480         PR other/8289
8481         * xmmintrin.h: Add const to the argument of loads.
8482
8483         * i386.md (pushv2di): New pattern.
8484         PR target/6890
8485         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
8486
8487 2002-10-22  Richard Henderson  <rth@redhat.com>
8488
8489         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
8490         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
8491         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
8492         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
8493         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8494         (TARGET_ASM_OUT): Update.
8495         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
8496         (hook_bool_tree_hwi_hwi_tree_true): New.
8497         (default_can_output_mi_thunk_no_vcall): New.
8498         * hooks.h: Declare them.
8499         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
8500
8501         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8502         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
8503         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
8504         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
8505         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
8506         config/stormy16/stormy16.c: Similarly.
8507
8508         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
8509         Handle 64-bit properly.  Streamline.
8510         (x86_output_mi_vcall_thunk): Remove.
8511         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
8512         (x86_can_output_mi_thunk): New.
8513         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
8514         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8515         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
8516
8517         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
8518         output_mi_thunk; make static; always use function_section.
8519         (TARGET_ASM_OUTPUT_MI_THUNK): New.
8520         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8521         (rs6000_ra_ever_killed): Test no_new_pseudos not
8522         targetm.asm_out.output_mi_thunk in conjunction with thunks.
8523         * config/rs6000/rs6000-protos.h: Update.
8524         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
8525         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
8526         xcoffout_declare_function when using rs6000_output_mi_thunk.
8527
8528         * config/s390/s390.c (s390_output_mi_thunk): Rename from
8529         s390_output_mi_vcall_thunk.
8530         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
8531         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8532
8533         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
8534         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8535         * config/vax/vax-protos.h: Update.
8536         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
8537
8538 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
8539
8540         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
8541         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
8542         * i386.md (movti_internal): Use 'C'
8543
8544         * xmmintrin.h (_mm_cmplt_epi*): New.
8545
8546 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
8547
8548         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
8549         ("*movdf_64"): Likewise.
8550         ("*lshrdi3_64"): Likewise.
8551         ("blockage"): Add length attribute.
8552         ("lit"): Likewise.
8553
8554 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
8555
8556         * i386.md: FIx typo.
8557         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
8558         (sse2_umulv2siv2di3): Fix predicate.
8559         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
8560         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
8561         * xmmintrin.h (_mm_mul_epu16): Rename to...
8562         (_mm_mul_epu32): This one.
8563         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
8564
8565         (contains_128bit_aligned_vector_p): Undo accidental checkin.
8566
8567 2002-10-22  Eric Christopher  <echristo@redhat.com>
8568
8569         * config/sparc/sparc.h: Add #error.
8570
8571 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
8572
8573         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
8574         [s390x-*-linux*]: Likewise.
8575         * config/s390/t-linux: Remove.
8576         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
8577
8578 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
8579
8580         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
8581         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
8582         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
8583         * i386.md (mmx_punpck?dq): Simplify.
8584         (sse2_pubpcklqdq): Fix.
8585         (sse2_pubpckhqdq): New.
8586         * xmmintrin.h (_mm_unpackhi_epi32): New.
8587
8588         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
8589         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
8590
8591 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
8592
8593         PR c++/7209
8594         * fold_const.c (fold_binary_op_with_conditional_arg): Always
8595         build compound_expr if we used save_expr.
8596
8597 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
8598
8599         * output.h (SECTION_NOTYPE): Define.
8600         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
8601         init array sections.
8602         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
8603         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
8604         merge TLS support.
8605
8606 2002-10-21  Richard Henderson  <rth@redhat.com>
8607
8608         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
8609         the function type, not the return type.
8610
8611 2002-10-21  Richard Henderson  <rth@redhat.com>
8612
8613         * real.c (sticky_rshift_significand): Return inexact, don't
8614         or it in immediately.
8615         (sub_significands): Accept incomming carry.
8616         (div_significands, rtd_divmod): Update for sub_significands change.
8617         (round_for_format): Update for sticky_rshift_significand change.
8618         (do_add): Don't involve the inexact bit in addition, do give the
8619         inexact bit as the subtraction carry-in.
8620         (encode_internal, decode_internal, real_internal_format): New.
8621         * real.h (real_internal_format): Declare.
8622
8623 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8624
8625         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
8626         don't define sdiv_qrnnd.
8627
8628 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8629
8630         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
8631         using IN_RANGE.
8632         (TINY_CONSTANT_ADDRESS_P): Likewise.
8633
8634 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8635
8636         * i386.c (builtin_description): Add punpcklqdq and movdq2q
8637         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
8638         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
8639         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
8640         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
8641         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
8642         __builtin_ia32_setzero128.
8643         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
8644         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
8645         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
8646         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
8647         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
8648         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
8649         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
8650         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
8651         sse2_movq): New patterns.
8652         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
8653         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
8654         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
8655         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
8656         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
8657         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
8658         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
8659         (_mm_insert_epi16): Fix.
8660
8661 2002-10-21  Dale Johannesen  <dalej@apple.com>
8662
8663         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
8664             unsafe math reversals correctly for RTL generation.
8665           (output_cbranch):  Replace rs6000_reverse_condition call
8666             by its former definition.
8667
8668 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
8669
8670         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
8671         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
8672         from constant pool or LABEL_REFs as sign extended if allow_rip.
8673         Change all +-1GB limits to +-16MB.
8674         (x86_64_general_operand, x86_64_szext_general_operand,
8675         x86_64_nonmemory_operand, x86_64_movabs_operand,
8676         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8677         legitimate_address_p, ix86_expand_int_movcc): Update callers.
8678         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
8679         in CM_SMALL_PIC model.
8680         (legitimate_pic_address_disp_p): Don't check offsets before
8681         calling local_symbolic_operand.
8682         (legitimize_pic_address): Force offsets bigger than +-16MB into
8683         register.
8684         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
8685         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
8686         prototype.
8687
8688         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
8689         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
8690         * configure: Rebuilt.
8691         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
8692         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
8693         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
8694         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
8695         -fpic.
8696         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
8697         non-pic code if TARGET_64BIT.
8698         (legitimize_address): Generate 64-bit TLS sequences.
8699         (output_pic_addr_const): Support x86-64 TLS operators.
8700         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
8701         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
8702         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
8703         (output_addr_const_extra): Support x86-64 TLS operators.
8704         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
8705         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
8706         unconditionally.
8707         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
8708         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
8709         (*tls_global_dynamic_sun): Renamed to...
8710         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
8711         (tls_global_dynamic): Renamed to...
8712         (tls_global_dynamic_32): ... this.
8713         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
8714         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
8715         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
8716         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
8717         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
8718         (tls_local_dynamic_base_dynamic): Renamed to...
8719         (tls_local_dynamic_base_dynamic_32): ... this.
8720         (tls_local_dynamic_base_dynamic_64,
8721         *tls_local_dynamic_base_dynamic_64): New.
8722         (*tls_local_dynamic_once): Renamed to...
8723         (*tls_local_dynamic_32_once): ... this.
8724
8725 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8726
8727         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
8728         __divdi3, __umoddi3, or __moddi3.
8729
8730 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8731
8732         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
8733         instead of just opt_index as switch expression.
8734
8735         * calls.c (store_one_arg): Change type of 'excess_align'
8736         to unsigned int.
8737
8738         * profile.c (output_gcov_string): Change type of 'temp'
8739         to size_t.
8740
8741 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8742
8743         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
8744         (__fixunssfdi, __fixsfdi): Likewise.
8745         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
8746         (s390_single_qi): Likewise.
8747         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
8748         unsigned comparison warning.
8749         (s390_return_addr_rtx): New function.
8750         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
8751         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
8752         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
8753
8754 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8755
8756         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
8757         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
8758         (s390_output_mi_thunk): Remove.
8759         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
8760
8761 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8762
8763         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
8764
8765 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
8766
8767         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
8768         inverted test in the conditional determining the possibility
8769         of sibcalls in PIC mode.
8770
8771 2002-10-20  Richard Henderson  <rth@redhat.com>
8772
8773         * target.h (struct gcc_target): Line wrap.
8774
8775         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
8776         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
8777         * config/alpha/alpha.h: ... not here.
8778         * config/alpha/alpha-protos.h: Update.
8779
8780         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
8781         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
8782         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
8783         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
8784         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
8785         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
8786         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
8787         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
8788         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
8789         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
8790         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
8791         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
8792         config/sparc/sparc.c, config/sparc/sparc.h,
8793         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
8794         config/stormy16/stormy16.h: Similarly.
8795
8796         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
8797         selection logic from call patterns.
8798
8799 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
8800
8801         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
8802
8803 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8804
8805         PR other/8202
8806         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
8807         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
8808         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
8809         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
8810
8811 2002-10-20  Roger Sayle  <roger@eyesopen.com>
8812
8813         PR c/761
8814         * toplev.c (flag_unsafe_profile_arcs): Remove.
8815         (flag_bounded_pointers): Remove.
8816         (flag_bounds_check): Correct comments.
8817         (lang_independent_options): Remove -funsafe-profile-arcs and
8818         -fbounded-pointers.  Correct -fbounds-check comments.
8819
8820         * flags.h: Correct flag_schedule_interblock comments.
8821         (flag_bounded_pointers): Remove prototype.
8822         (flag_bounds_check): Correct comments.
8823
8824         * c-opts.c (c_common_init_options): No need to mark
8825         flag_bounds_check as unspecified.
8826         (c_common_post_options): And no need to set it from
8827         flag_bounded_pointers if its still unspecified.
8828
8829         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
8830         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
8831         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
8832         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
8833
8834 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
8835         Angela Marie Thomas  <angela@releasedominatrix.com>
8836         Brendan Kehoe  <brendan@zen.org>
8837         Nick Clifton  <nickc@redhat.com>
8838         Andrew Haley  <aph@redhat.com>
8839
8840         * configure.in (--with-sysroot): New.  Don't inhibit libc if
8841         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
8842         and CROSS_SYSTEM_HEADER_DIR.
8843         * configure: Rebuilt.
8844         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
8845         (TARGET_SYSTEM_ROOT): New.
8846         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
8847         CROSS_SYSTEM_HEADER_DIR.
8848         (install-gcc-tooldir): New target.
8849         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
8850         if SYSTEM_HEADER_DIR does not exist and it's not the default
8851         sys-include directory.
8852         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
8853         (install-mkheaders): Likewise.
8854         * gcc.c (target_system_root): New variable.
8855         (add_sysrooted_prefix): New function.
8856         (process_command): Recompute run-time target_system_root from
8857         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
8858         does not exist.
8859         (do_spec_1): Process 'R' spec.
8860         (main): Add md_exec_prefix to exec_prefixes regardless of
8861         startfile_prefix_spec.  Use add_sysrooted_prefix for
8862         startfile_prefixes, and don't skip the default ones when cross
8863         compiling with sysroot enabled.  Removed unused case of
8864         non-absolute standard_startfile_prefix.
8865         * config/interix.h: Remove the only potential, yet disabled,
8866         occurrence of non-absolute (empty) standard_startfile_prefix.
8867         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
8868         linking.
8869         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
8870         * doc/install.texi (--with-sysroot): Document.
8871         (--with-headers, --with-libs): Deprecate.
8872
8873 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8874             Mark Mitchell  <mark@codesourcery.com>
8875
8876         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
8877         match target.h.
8878         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
8879         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
8880         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
8881         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
8882         x86_output_mi_thunk): Likewise.
8883         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
8884         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
8885         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
8886         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
8887         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
8888         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
8889         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
8890         Likewise.
8891         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
8892
8893         * target.h (gcc_target): Update output_mi_thunk and
8894         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
8895         vcall_index.
8896
8897         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
8898         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8899         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
8900         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
8901         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
8902         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
8903         signature.
8904         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
8905         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
8906         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8907         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
8908         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
8909         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
8910         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8911         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
8912         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
8913
8914         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
8915         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
8916
8917 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
8918
8919         * real.c (do_add): Fix 0+0 sign corner case.
8920         (do_divide): Fix Inf/0 corner case.
8921
8922 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
8923
8924         * i386.c (classify_argument): Pass MMX arguments in memory
8925         (ix86_expand_builtin): Expand proper address mode for cflush.
8926         * i386.md (movdqa): Fix typo.
8927         (sse2_cflush): Accept DImode addresses.
8928
8929         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
8930         (_mm_max_sd): Fix pasto.
8931         (_mm_storeh_pd, _mm_storel_pd): Fix.
8932
8933         * i386.c (bdesc_comi): Fix to match specification.
8934         (ix86_expand_sse_comi): Emit the comparison properly.
8935         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
8936         Do not use comparison operator.
8937         (vnmaskcmp): Fix template.
8938
8939         * xmmintrin.h (_mm_cvtps_pi16): Fix.
8940
8941 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
8942
8943         * dependence.c : Removed.
8944         * Makefile.in : Remove dependence.o.
8945
8946 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
8947
8948         * mmintrin.h (__m64): typedef it to v2si.
8949         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
8950         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
8951         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
8952         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
8953         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
8954         * xmmintrin.h (_mm_setzero_si64): Likewise.
8955
8956         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
8957         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
8958
8959         PR target/7693
8960         Patch by Shawn Wagner
8961         * mmintrin.h: Replace pi64 by si64.
8962
8963 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
8964
8965         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
8966         Use length of 4 not *.
8967         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
8968         (movdf_softfloat64): Likewise.
8969         (movdi_internal32): Use length of 4 not *.
8970         (movti_power): Same.
8971         (ctrsi, ctrdi): Same.
8972
8973 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
8974
8975         * c-decl.c (start_decl): Point users of the old initialized-
8976         typedef extension at __typeof__.
8977
8978 2002-10-18  Richard Henderson  <rth@redhat.com>
8979
8980         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
8981         (real_to_decimal): Re-implement using the logic from the
8982         gcc 3.2 etoasc.  Comment heavily.
8983         (div_significands): Simplify loop startup and comparison logic.
8984
8985 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
8986
8987         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
8988         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
8989         (TARGET_ASM_OUT): Add them.
8990         * target.h (asm_out): Add output_mi_thunk and
8991         output_mi_vcall_thunk.
8992         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8993         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8994         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
8995         * config/arm/arm.c (arm_output_mi_thunk): Define.
8996         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8997         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8998         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8999         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9000         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9001         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9002         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
9003         prototype.
9004         (x86_output_mi_vcall_thunk): Declare.
9005         * config/i386/i386.c (override_options): Clear
9006         output_mi_vcall_thunk in 64-bit mode.
9007         (ix86_fntype_regparm): New function.
9008         (ix86_return_pops_args): Use it.
9009         (ia32_this_parameter): New function.
9010         (x86_output_mi_vcall_thunk): New function.
9011         (x86_output_mi_thunk): Use it
9012         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
9013         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
9014         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
9015         * config/i960/i960.c (i960_output_mi_thunk): New function.
9016         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
9017         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
9018         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
9019         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9020         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9021         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
9022         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9023         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9024         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9025         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9026         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9027         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9028         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9029         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9030         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9031         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9032         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
9033         * config/s390/s390.c (s390_output_mi_thunk): Define.
9034         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9035         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9036         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9037         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9038         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9039         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9040         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
9041         * config/vax/vax.c (vax_output_mi_thunk): Define.
9042         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9043         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9044         * doc/tm.texi: Adjust documentation.
9045
9046 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
9047
9048         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
9049         __enable_execute_stack function.
9050         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9051         as NETBSD_ENABLE_EXECUTE_STACK.
9052         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9053         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9054         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9055         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9056         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9057
9058 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
9059
9060         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
9061         to __enable_execute_stack with the address of the trampoline
9062         if TRANSFER_FROM_TRAMPOLINE is defined.
9063         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
9064         constant if building libgcc2.
9065
9066 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
9067
9068         * i386.c (pentium4_cost): Fix according to Intel recommendations.
9069         (ix86_memory_move_cost): Fix for 64bit compilation.
9070
9071 2002-10-17  Roger Sayle  <roger@eyesopen.com>
9072
9073         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
9074
9075 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
9076
9077         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
9078         in CTR/LR/MQ.
9079         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
9080         to/from CTR/LR/MQ.
9081         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
9082         (movsf_softfloat): Likewise.
9083
9084 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
9085
9086         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
9087
9088 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
9089
9090         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
9091         tramp, not addr, to pass the trampoline address to
9092         __enable_execute_stack.
9093
9094 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
9095
9096         * mmintrin.h: Guard by __MMX__
9097         * xmmintrin.h: Guard by __SSE__
9098
9099         PR other/8062
9100         * xmmintrin.h (_MM_SHUFFLE2): New macro.
9101         (_mm_load*_?d): New functions.
9102         (_mm_set*_?d): New functions.
9103         (_mm_store*_?d): New functions.
9104
9105 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
9106
9107         Really commit patch announced at Oct 14
9108         PR c/7344
9109         * predict.c (can_predict_insn_p): New function.
9110         (estimate_probability): Avoid unnecesary work.
9111         (process_note_prediction): Likewise.
9112         * toplev.c (rest_of_compilation): Account early branch prediction pass
9113         as TV_BRANCH_PROB.
9114
9115         PR other/8048
9116         Found by Ian Ollmann
9117         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
9118         (_mm_load?_pd): Likewise.
9119         (_mm_store?_pd): Likewise.
9120
9121         PR target/7386
9122         * i386.c (builtin_description):Drop cmpg[te]s[sd].
9123         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
9124         swapped alternative.
9125
9126         PR opt/7630
9127         * reload1.c (reload_inner_reg_of_subreg): New argument output;
9128         (push_reload): Update call.
9129
9130 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
9131
9132         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
9133         if using mips/elf.h or mips/elf64.h.
9134         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
9135         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
9136
9137 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
9138
9139         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
9140         SI.
9141
9142 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
9143
9144         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
9145         (LPREFIX): Likewise.
9146         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
9147         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
9148         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
9149         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
9150         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
9151
9152         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
9153         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
9154         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
9155         BSS_SECTION_ASM_OP): Move from linux.h.
9156         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9157         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
9158
9159         * config/s390/s390.c (s390_function_profiler): Use
9160         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
9161
9162 2002-10-15  Eric Christopher  <echristo@redhat.com>
9163
9164         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
9165         * java/parse.y (obtain_incomplete_type): Make pointer
9166         ptr_mode.
9167
9168 2002-10-15  Richard Henderson  <rth@redhat.com>
9169
9170         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
9171         as arguments.  Bound DIGITS by the available buffer size.
9172         (real_to_hexadecimal): Likewise.
9173         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
9174         (REAL_VALUE_TO_DECIMAL): Remove.
9175         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
9176         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
9177         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
9178         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
9179         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
9180         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
9181         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
9182         use real_to_decimal directly, and with the proper arguments.
9183         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
9184
9185 2002-10-15  Jim Wilson  <wilson@redhat.com>
9186
9187         * reload1.c (merge_assigned_reloads): After converting overlapping
9188         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
9189
9190         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
9191
9192 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9193
9194         * expr.c (do_tablejump): Fix typo in my previous commit.
9195
9196 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
9197
9198         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
9199
9200 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
9201
9202         * config/s390/s390.c (s390_split_branches): Add return
9203         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
9204
9205         (find_base_register_in_addr): New function.
9206         (find_base_register_ref): New function.
9207         (replace_base_register_ref): New function.
9208
9209         (struct constant_pool): Add members pool_insn, insns, and anchor.
9210         Remove member last_insn.
9211         (s390_start_pool): Initialize them.
9212         (s390_end_pool): Emit pool placeholder insn.
9213         (s390_add_pool_insn): New function.
9214         (s390_find_pool): Use insns bitmap instead of addresses.
9215         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
9216         Replace unspec 104 by local-pool-relative references.
9217         (s390_output_constant_pool): Output anchor label if required.
9218         (s390_output_symbolic_const): Handle unspec 104 and 105.
9219         (s390_add_pool): Remove, replace by ...
9220         (s390_add_constant, s390_find_constant): ... these new functions.
9221         (s390_add_anchor): New function.
9222
9223         (s390_chunkify_pool): Delete, replace by ...
9224         (s390_chunkify_start, s390_chunkify_finish,
9225         s390_chunkify_cancel): ... these new functions.
9226         (s390_optimize_prolog): Add parameter TEMP_REGNO.
9227         Recompute register live data for special registers.
9228         (s390_fixup_clobbered_return_reg): New function.
9229         (s390_machine_dependent_reorg): Rewrite to use new
9230         s390_chunkify_... routines.
9231
9232         config/s390/s390.md ("reload_base"): Rename to ...
9233         ("reload_base_31"): ... this.
9234         ("reload_base_64"): New insn.
9235         ("reload_base2"): Remove.
9236         ("reload_anchor"): New insn.
9237         ("pool"): New insn.
9238
9239         s390.c (s390_pool_overflow): Remove.
9240         s390.h (s390_pool_overflow): Likewise.
9241         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
9242
9243 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
9244
9245         * sh.md (movv8qi_i+2): Don't split if source is -1.
9246
9247 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
9248
9249         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
9250
9251 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
9252
9253         PR opt/7409
9254         * loop.c (loop_regs_scan): Mark registers used for function
9255         argument passing as MAY_NOT_OPTIMIZE.
9256
9257 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
9258
9259         * gcov-io.h (gcov_info): Fix type.
9260         * profile.c (create_profiler): Fix type mismatch.
9261
9262 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
9263
9264         * i386.md (movv2di_internal): New pattern.
9265         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
9266         (movv2di): New expander.
9267         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
9268
9269         * i386.c (ix86_expand_timode_binop_builtin): Delete.
9270         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
9271         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
9272         (ix86_expand_builtin): Likewise.
9273         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
9274         sse_andti3,
9275         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
9276         sse_andnti3,
9277         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
9278         sse_orti3,
9279         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
9280         sse_xorti3): Kill.
9281         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
9282          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
9283         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
9284          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
9285         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
9286          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
9287
9288         * xmmintrin.h (__m128i): Define as __v2di.
9289
9290         PR c++/6419
9291         (expand_expr): Use DECL_RTL_SET_P.
9292
9293 2002-10-14  Roger Sayle  <roger@eyesopen.com>
9294
9295         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
9296
9297 2002-10-14  Roger Sayle  <roger@eyesopen.com>
9298             Zack Weinberg <zack@codesourcery.com>
9299
9300         * config/i386/i386.c (k6_cost): Correct typo.
9301
9302 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
9303
9304         PR optimization/6631
9305         * alias.c (objects_must_conflict_p): Check honor_readonly when
9306         examining TYPE_READONLY.
9307         * function.c (assign_stack_temp_for_type): Likewise.
9308
9309 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
9310
9311         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
9312         Swap zero extension arguments.
9313         (umaxhi3): Fix instruction class.
9314         PR target/7211
9315         (prefetch): Fix prefetch instructions.
9316         PR target/7238
9317         (pkwb): Fix output constraint.
9318
9319 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
9320
9321         * config/mips/mips.c (print_operand): Increase buffer size for
9322         real numbers.
9323
9324 2002-10-14  Richard Henderson  <rth@redhat.com>
9325
9326         PR opt/8165
9327         * gcse.c (adjust_libcall_notes): Revert last change.
9328         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
9329
9330 2002-10-14  Andrew Haley  <aph@redhat.com>
9331
9332         * tree-inline.c (remap_block): All local class initialization
9333         flags go in the outermost scope.
9334         (expand_call_inline): Call java_inlining_map_static_initializers.
9335         (expand_call_inline): Call java_inlining_merge_static_initializers.
9336         * java/lang.c (merge_init_test_initialization): New.
9337         (java_inlining_merge_static_initializers): New.
9338         (inline_init_test_initialization): New.
9339         (java_inlining_map_static_initializers): New.
9340
9341         * tree-inline.c (expand_call_inline): Convert retvar to expected
9342         type.
9343
9344 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
9345
9346         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
9347
9348 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
9349
9350         * stmt.c: Fix typo in comment.
9351
9352 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
9353
9354         * c-common.c (c_common_type_for_mode): Add V2HImode case.
9355         * tree.c (build_common_tree_nodes_2): Initialize
9356         unsigned_V2HI_type_node and V2HI_type_node.
9357         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
9358         (unsigned_V2HI_type_node, V2HI_type_node): Define.
9359
9360 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
9361
9362         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9363         Handle TARGET_64BIT.
9364
9365 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
9366
9367         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
9368         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
9369         (MULTILIB_DIRNAMES): Remove long32.
9370         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
9371         (MULTILIB_REDUNDANT_DIRS): Remove.
9372
9373 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
9374
9375         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
9376         * gcc.c (driver_self_specs): New variable.
9377         (do_self_spec): New function.
9378         (main): Use it to process driver_self_specs.
9379
9380 2002-10-13  Richard Henderson  <rth@redhat.com>
9381
9382         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
9383         indirect sibcalls when regparm >= 3.
9384
9385         * config/i386/i386.c (sibcall_insn_operand): New.
9386         * config/i386/i386.h (PREDICATE_CODES): Update.
9387         * config/i386/i386-protos.h: Update.
9388         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
9389
9390         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
9391
9392 2002-10-12  Roger Sayle  <roger@eyesopen.com>
9393
9394         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
9395         arithmetic right shifts of ~0 during RTL simplifications.
9396
9397 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
9398
9399         PR preprocessor/7862
9400         PR preprocessor/8190
9401         * gcc.c (cpp_unique_options): Don't delete .d files.
9402         Remove stray whitespace.
9403
9404 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
9405
9406         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
9407         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
9408         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
9409         (pdp11_output_function_epilogue, output_ascii): Likewise.
9410         (output_addr_const_pdp11): Likewise.
9411         * pdp11.md (movdi): Use offsetable memory for floating store.
9412         (lshrsi3, negsi2): Delete irrelevant comment.
9413
9414 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
9415
9416         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
9417         indirect calls to be sibcall optimized.
9418         * config/i386/i386.md (sibcall_1): New.
9419         (call_1): Add no-sibcalls condition.
9420         (sibcall_value_1): New.
9421         (call_value_1): Add no-sibcalls condition.
9422
9423 2002-10-11  Eric Christopher  <echristo@redhat.com>
9424
9425        * output.h (default_valid_pointer_mode): Declare.
9426        * varasm.c (default_valid_pointer_mode): Define.
9427        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
9428        * target.h: Ditto.
9429        * tree.c (build_pointer_type_for_mode): New function.
9430        (build_pointer_type): Use.
9431        (build_reference_type_for_mode): New function.
9432        (build_reference_type): Use.
9433        * tree.h: Declare new functions.
9434        * c-common.c (handle_mode_attribute): Use new functions, check
9435        for type.
9436        * stor-layout.c (layout_type): Depend on machine mode for
9437        REFERENCE_TYPE and POINTER_TYPE.
9438        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
9439        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
9440        and REFERENCE_TYPE.
9441        * config/mips/mips.c (mips_valid_pointer_mode): New function.
9442        (TARGET_VALID_POINTER_MODE): Use and define.
9443        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
9444
9445 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
9446
9447         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
9448         not the address of the REG.
9449         (struct cse_reg_info): Make subreg_ticked unsigned.
9450
9451 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
9452
9453         * doc/compat.texi: Add info about C++ libraries.
9454
9455 2002-10-11  Richard Henderson  <rth@redhat.com>
9456
9457         PR opt/8165
9458         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
9459
9460 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9461
9462         * cfganal.c (dfs_enumerate_from): Use PARAMS.
9463         * genautomata.c (output_insn_code_cases): Likewise.
9464         * real.c (real_format): Likewise.
9465         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
9466         ensure value is promoted before doing subtraction.
9467
9468 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
9469
9470         * calls.c (expand_call): Simplify noreturn call.
9471
9472         PR c/7344
9473         * cfgbuild.c (make_edges): Create edge cache when we do have
9474         large jumptable.
9475         * expr.c (do_tablejump): Note size of maximal jumptable.
9476         * function.c (prepare_function_start): Zero out size.
9477         * function.h (function): Add max_jumptable_ents.
9478
9479         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
9480
9481 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
9482
9483         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
9484         register for mperm_w operation.
9485
9486 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
9487
9488         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
9489         an integer, use simplify_gen_subreg.
9490
9491 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
9492
9493         * calls.c (flags_from_decl_or_type): Make extern.
9494         (ECF_*): Move ...
9495         * rtl.h (ECF_*): ... here.
9496         (flags_from_decl_or_type): Declare.
9497
9498 2002-10-10  Roger Sayle  <roger@eyesopen.com>
9499             Nathan Sidwell <nathan@codesourcery.com>
9500
9501         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
9502         shifts of the form -1 >> x.
9503
9504 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
9505
9506         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
9507
9508 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
9509
9510         * extend.texi (Vector Extensions): Remove comment about single
9511         element vectors.
9512
9513 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9514
9515         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
9516         * function.c (insns_for_mem_hash): Likewise.
9517         * varasm.c (STRHASH): Likewise.
9518
9519 2002-10-10  Stuart Hastings  <stuart@apple.com>
9520
9521         * cse.c (struct cse_reg_info): Add subreg_ticked.
9522         (SUBREG_TICKED): New.
9523         (get_cse_reg_info): Initialize SUBREG_TICKED.
9524         (mention_regs): Use it.
9525         (invalidate): Set SUBREG_TICKED.
9526         (invalidate_for_call): Likewise.
9527         (addr_affects_sp_p): Likewise.
9528
9529 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
9530
9531         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
9532         into proper operand.
9533
9534 2002-10-10  Denis Chertykov  <denisc@overta.ru>
9535
9536         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
9537         deallocation.
9538         * config/ip2k/libgcc.S: Combine routines used by function
9539         epilogue.
9540
9541 2002-10-10  Jim Wilson  <wilson@redhat.com>
9542
9543         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
9544         UDIV.
9545
9546 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
9547
9548         * config/rs6000/aix52.h: New file.
9549         * config/rs6000/t-aix52: New File.
9550         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
9551         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
9552
9553 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
9554
9555         PR target/5610
9556         * invoke.texi (-msse-math): Kill
9557         (-msse): Add note to mfpmath=sse.
9558
9559 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
9560
9561         PR target/7723
9562         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
9563
9564 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
9565
9566         PR preprocessor/8179
9567         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
9568         as cc1_options.
9569         (default_compilers): Pass debug options when preprocessing
9570         stdin.
9571
9572 2002-10-06  Richard Henderson  <rth@redhat.com>
9573
9574         * toplev.c (rest_of_compilation): Revert opt/2960 change.
9575
9576 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
9577
9578         * i386.c (*_cost): Add branch costs.
9579         (override_options): set ix86_branch_cost.
9580         (ix86_expand_int_movcc): Use BRANCH_COST.
9581         * i386.h (costs): Add branch_cost.
9582
9583 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
9584
9585         PR c/7353
9586         * c-decl.c (start_decl): Unconditionally issue error for
9587         'typedef foo = bar'.
9588         (finish_decl): Remove special case for TYPE_DECL with initializer.
9589
9590         * doc/extend.texi: Delete "Naming Types" section.  Change all
9591         cross-references to that section to refer to "Typeof" instead.
9592         Add the useful safe-max()-macro example from "Naming Types" to
9593         "Typeof", rewritten using that extension.  Add some compatibility
9594         notes to "Typeof."
9595
9596 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9597
9598         * loop.c: Revert 2002-08-15 change.
9599         (LOOP_REGNO_NREGS): Ensure type is int.
9600
9601 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
9602
9603         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
9604         which copies first FPR and clears second.
9605         (extendsftf2): Same.
9606         (floatditf2): Fix typo.
9607         (floatsitf2): Same.
9608         (fix_trunctfdi2): Same.
9609         (fix_trunctfsi2): Same.
9610
9611 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9612
9613         * conflict.c (arc_hash): Change return type to hashval_t.
9614         * cselib.c (get_value_hash): Likewise.
9615         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
9616         state_hash, automata_list_hash): Likewise.
9617         * read-rtl.c (def_hash): Likewise.
9618         * tree.c (type_hash_hash): Likewise.
9619
9620 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
9621
9622         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
9623         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
9624
9625 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
9626
9627         * sh.md (ffssi2): Fix emitted code.
9628
9629 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
9630
9631         * cse.c (insn_live_p): Pass insn pattern, not full insn
9632         to may_trap_p.
9633
9634 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
9635
9636         * cppmacro.c (paste_tokens): Only allow / to paste with =.
9637
9638 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
9639
9640         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
9641         64-bit hosts.
9642         (movtf_internal): Reference correct displacement for second value
9643         in memory.
9644         (movtf splitter): Correct generation of constants in 64-bit mode.
9645
9646 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
9647
9648         * libgcc2.c (__floatdisf): Properly cure double rounding.
9649
9650 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9651
9652         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
9653         * doc/cpp.texi (Common Predefined Macros): Document.
9654
9655 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9656
9657         PR doc/7484
9658         * doc/invoke.texi (Option Summary): List
9659         -Wmissing-declarations as a C only option.
9660
9661 2002-10-08  Roger Sayle  <roger@eyesopen.com>
9662
9663         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
9664         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
9665         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
9666
9667 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
9668
9669         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
9670         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
9671         variables.
9672         (safe_vector_operand): Update sse_clrv4sf call.
9673         (ix86_expand_buildin): Likewise
9674         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
9675         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
9676         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
9677         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
9678         macros.
9679         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
9680         movv4si):  Obey the new flags.
9681         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
9682         reformating penalty.
9683         (anddf, cmov patterns): Avoid reformating by first converting.
9684         (sse_cvtsd2ss): Fix predicate.
9685         (sse2_clrti): Fix mode,
9686         (sse_clrv4sf): Avoid unspec.
9687
9688 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
9689
9690         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
9691         mno-app-regs|mcmodel=medany.
9692         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
9693         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
9694         (CRTSTUFF_T_CFLAGS): Define.
9695
9696 2002-10-08  Roger Sayle  <roger@eyesopen.com>
9697
9698         PR target/8087
9699         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
9700         pool references that are constructed using LO_SUM.
9701
9702 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
9703
9704         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
9705         -Wall.
9706         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
9707         message.
9708         * flags.h (warn_strict_aliasing): Declare.
9709         * toplev.c (warn_strict_aliasing): Define.
9710         (lang_independent_options): Add it.
9711         * doc/invoke.texi (-Wstrict-aliasing): Document it.
9712
9713 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
9714
9715         * system.h (GCCBUGURL): Delete.
9716         * version.c (bug_report_url): New.  Add commentary about
9717         modifying both these strings in modified distributions.
9718         * version.h: Declare bug_report_url.
9719
9720         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
9721         bug_report_url.
9722
9723 2002-10-08  Nick Clifton  <nickc@redhat.com>
9724
9725         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
9726         convert uint64_t into __ev64_opaque__.
9727         (__ev_set_acc_s64): Likewise, but using signed types.
9728
9729 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
9730
9731         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
9732         ("*doloop_di_long"): Likewise.
9733
9734 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
9735
9736         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
9737
9738 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
9739
9740         * config/mips/mips.md (define_attr cpu): Add r4111.
9741
9742 2002-10-08  Anthony Green  <green@redhat.com>
9743
9744         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
9745
9746 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9747
9748         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
9749         for REAL_VALUE_TO_DECIMAL output.
9750
9751 2002-10-07  Richard Henderson  <rth@redhat.com>
9752
9753         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
9754         function; cleanup PLUS case by using recursion.  Update all users.
9755         (NONZERO_BASE_PLUS_P): Remove.
9756         (find_comparison_args): Use rtx_addr_can_trap_p instead.
9757         (fold_rtx): Use nonzero_address_p.
9758         * rtl.h (nonzero_address_p): Declare.
9759         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
9760         (rtx_addr_can_trap_p): Likewise.
9761         (nonzero_address_p): New.
9762         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
9763         (simplify_relational_operation): Use nonzero_address_p.
9764
9765 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
9766
9767         * config/rs6000/rs6000.c (rs6000_override_options): Set
9768         real_format_for_mode for IBM extended format, if enabled.
9769         (easy_fp_constant): Add TFmode.
9770         (rs6000_legitimize_address): Add TFmode.
9771         (rs6000_legitimate_address): Same.
9772         (function_arg_advance): TFmode uses two FPRs.
9773         (rs6000_emit_prologue): Fix warning.
9774         (rs6000_output_function_epilogue): Add TFmode.
9775         (output_toc): Add TFmode.
9776         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
9777         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
9778         * rs6000.md (movtf splitter): Load TFmode constant.
9779
9780 2002-10-07  Dale Johannesen  <dalej@apple.com>
9781
9782         * rtl.h:  Add NOTE_PRECONDITIONED.
9783         * unroll.c:  Set it.
9784         * loop.c:  Set loop_info->preconditioned from it.
9785         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
9786
9787 2002-10-07  Richard Henderson  <rth@redhat.com>
9788
9789         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
9790         new rtx for comparing the argument pointer against zero.
9791         (i960_va_start): Similarly.
9792
9793 2002-10-07  Richard Henderson  <rth@redhat.com>
9794
9795         * config/i960/i960.md (*): Use TFmode, not XFmode.
9796         * config/i960/i960.c (*): Likewise.
9797         (i960_arg_size_and_align): Remove XFmode alignment hack.
9798         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
9799         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
9800         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
9801         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
9802
9803 2002-10-07  Richard Henderson  <rth@redhat.com>
9804
9805         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
9806         entry points; use void return value and argument list.
9807
9808 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
9809
9810         * calls.c (expand_call): Fix function-is-volatile check.
9811
9812 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
9813
9814         * t-pdp11: Add MULTILIB support for msoft-float.
9815         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
9816
9817         * t-pdp11: Add LIB2FUNCS_EXTRA.
9818         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
9819         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
9820         'fldd' to 'ldd', rename 'fstd' to 'std'.
9821         (pdp11_output_function_epilogue): Likewise.
9822         (output_move_quad): Make the comment gas compatible.
9823         (output_ascii): Add preceding 0 to the octal constant.
9824         (print_operand_address): Add pre_modify, post_modify.
9825         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
9826         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
9827         with the indication of Paul Koning.
9828         (PRINT_OPERAND): Fix floating constant.
9829         * pdp11.md (movdi): Restrict matching pattern.
9830         (movqi): Generalize the matching pattern.
9831         (movdf): Restrict matching pattern.
9832         (zero_extendqihi2): Change constant representation.
9833         (floatsidf2): Fix wrong operands.
9834         (addqi3): Fix wrong instruction name.
9835         (subqi3): Fix wrong instruction name.
9836         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
9837         (xorsi3): Fix wrong insn.
9838         (one_cmplqi2): Add two operand pattern.
9839         (lsrsi3): New.
9840         (negsi2): New.
9841         (call): Add register indirect case.
9842         (mod): Fix wrong subreg.
9843
9844 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
9845             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
9846
9847         PR c/7411
9848         * expr.c (expand_expr) [PLUS]: Simplify after the operands
9849         have been expanded in EXPAND_NORMAL mode.
9850
9851 2002-10-06  Richard Henderson  <rth@redhat.com>
9852
9853         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
9854
9855 2002-10-06  Richard Henderson  <rth@redhat.com>
9856
9857         PR optimization/2960
9858         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
9859         optimize_size.
9860
9861 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
9862
9863         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
9864         previously definitions.
9865
9866 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
9867
9868         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
9869         * c-opts.c (find_opt): Similarly.
9870
9871 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
9872
9873         * athlon.md: rewrite to DFA.
9874         * i386 (ix86_adjust_cost): Drop memory latency code.
9875         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
9876
9877 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
9878
9879         * gcc.c (set_multilib_dir): Don't access *end.
9880         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
9881         (print_multilib_info): Don't show paths starting with ".:".
9882         * genmultilib: Add new option, "yes" if multilibs are enabled.
9883         Update comments.  If multilibs not enabled, print .:${osdirout}
9884         for each directory.  If multilibs are enabled, always print
9885         ${dirout}:${osdirout}, even if the two are the same.
9886         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
9887         Pass all MULTILIB_* variables to genmultilib even if
9888         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
9889
9890 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
9891
9892         * gcc.c (process_command): Set .validated for -pipe.  Correct
9893         grammar in comment.
9894
9895 2002-10-04  Bruce Korb  <bkorb@gnu.org>
9896
9897         * fixinc/inclhack.def(hpux11_abs):  use format fix
9898         * fixinc/fixincl.x: regenerate
9899         * fixinc/tests/base/stdlib.h: accommodate new fix test
9900
9901 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
9902
9903         * c-common.c (cb_register_builtins):  Use really_no_inline.
9904
9905 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
9906
9907         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
9908         copied instruction if the note is not loop invariant.
9909
9910 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
9911
9912         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
9913
9914 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
9915
9916         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
9917         and -mhp-ld options to list of options.  Add -mgnu-ld
9918         and -mhp-ld option descriptions.
9919
9920 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
9921
9922         * fixinc/inclhack.def (hpux11_abs):  New.
9923         (stdio_va_list): change __va_list__ to __gnuc_va_list.
9924         * fixinc/fixincl.x: Rebuild.
9925
9926 2002-10-04  Roger Sayle  <roger@eyesopen.com>
9927
9928         * config/i386/i386.h (processor_costs): Add new fields fadd,
9929         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
9930         (RTX_COSTS): Use these fields to determine the RTX costs
9931         of floating point addition/subtraction, multiplication,
9932         division, fabs, negation and square root respectively.
9933         * config/i386/i386.c (size_cost): Provide instruction sizes
9934         for these new fields.
9935         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
9936         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
9937         counts for these new fields for all x86 processor variants.
9938
9939 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9940
9941         * mips.c (mips_const_double_ok): Delete unused variable.
9942
9943         * gengtype.c (rtx_next): Change type to int.
9944
9945 2002-10-04  Andreas Jaeger  <aj@suse.de>
9946
9947         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
9948
9949 2002-10-04  Richard Henderson  <rth@redhat.com>
9950
9951         * real.h (SIGNIFICAND_BITS): Add one more word.
9952         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
9953         * real.c (times_pten): New.
9954         (real_to_decimal, real_from_string): Use it.
9955         (sticky_rshift_significand): Use & to find modulus.
9956         (rshift_significand, lshift_significand): Likewise.
9957         (do_divide): Apply sticky bit after normalization.
9958         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
9959
9960 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
9961
9962         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
9963         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
9964
9965 2002-10-03  Andreas Jaeger  <aj@suse.de>
9966
9967         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
9968         to unsigned long, adjust printf format string.
9969         (output_mangled_typename): Likewise.
9970
9971 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
9972
9973         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
9974         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
9975         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
9976         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
9977         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
9978         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
9979         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
9980         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
9981
9982 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
9983
9984         * doc/invoke.texi (-Wabi): Document mangling bug.
9985
9986 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
9987
9988         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
9989         name for the tbtab label that depends on the function asm name.
9990         Don't output tbtab label unless optional_tbtab.
9991         (output_mi_thunk): Formatting.
9992
9993 2002-10-03  Richard Henderson  <rth@redhat.com>
9994
9995         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
9996         * config/m68k/m68k.c (override_options): ... here.
9997         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
9998         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
9999         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10000         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10001
10002 2002-10-03  Richard Henderson  <rth@redhat.com>
10003
10004         * real.h (struct real_value): Use ENUM_BITFIELD.
10005
10006 2002-10-03  Richard Henderson  <rth@redhat.com>
10007
10008         * config/i960/i960.md (call, call_value): Use emit_call_insn.
10009
10010 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
10011
10012         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
10013
10014 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
10015
10016         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
10017         * config/pa/pa.h (MASK_GNU_LD): New.
10018         (TARGET_GNU_LD): New.
10019         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
10020         on gnu-ld and MASK_GNU_LD.
10021         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
10022
10023 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
10024
10025         * i386.c (athlon_cost): Fix the move costs.
10026
10027 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
10028
10029         * final.c (final): Use symbol name as function name for profiling.
10030         * profile.c (get_exec_counts): Likewise.
10031         (branch_prob): Likewise.
10032
10033 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
10034
10035         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
10036
10037 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
10038
10039         * gcc.c (print_multi_os_directory): New variable.
10040         (option_map): Support --print-multi-os-directory.
10041         (struct prefix_list): Add os_multilib field.
10042         (multilib_os_dir): New variable.
10043         (static_specs): Add multilib_options.
10044         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
10045         subdirs if nonzero.
10046         (read_specs, execute): Update callers.
10047         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
10048         pass 1 as multilib option.
10049         (display_help): Include --print-multi-os-directory.
10050         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
10051         (process_command): Update callers.  Handle --print-multi-os-directory.
10052         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
10053         set.
10054         (main): Update find_a_file and add_prefix callers.
10055         Handle print_multi_os_directory.
10056         (struct mdswitchstr): New.
10057         (mdswitches, n_mdswitches): New variables.
10058         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
10059         present on the command line nor their mutually incompatible
10060         switches.
10061         (default_arg): Optimize.
10062         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
10063         array.
10064         (print_multilib_info): Only print GCC multilib dir name, not OS
10065         multilib dirname.
10066         * genmultilib: Add osdirnames parameter.  Output multilib_options
10067         variable.  If osdirnames is specified, output dirnames as
10068         dirname:osdirname.
10069         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
10070         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
10071         to compute libgcc_s soname and install path.
10072         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
10073         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
10074         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
10075         argument.
10076
10077         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10078         (SHLIB_SLIBDIR_SUFFIXES): Remove.
10079         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
10080         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
10081         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
10082         and -m64.
10083         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
10084         (SHLIB_SLIBDIR_SUFFIXES): Remove.
10085         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
10086         (STARTFILE_ARCH_SPEC): Remove.
10087         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10088         (SHLIB_SLIBDIR_SUFFIXES): Remove.
10089         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
10090         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
10091         (SHLIB_SLIBDIR_SUFFIXES): Remove.
10092
10093 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10094
10095         * predict.c (choose_function_section): Avoid choice for linkonce functions.
10096
10097 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
10098
10099         * i386.md (lea to mul peep2): Fix condition.
10100
10101 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10102
10103         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
10104         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
10105
10106 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
10107
10108         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
10109         attribute "unused".
10110
10111         * config/t-libunwind: Mention unwind-sjlj.c.
10112         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
10113         to #ifndef __USING_SJLJ_EXCEPTIONS__.
10114
10115         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
10116         before inclusion of config.gcc, but after configuring the compiler etc.
10117         Determine default value for --enable-libunwind-exceptions based on
10118         whether the host has a libunwind library (not guaranteed to be correct,
10119         but it's a reasonable first guess and can always be overridden with an
10120         explicit --enable/disable-libunwind-exceptions.
10121         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
10122         tmake_file when $use_libunwind_exceptions is enabled.
10123         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
10124         ia64 (e.g., config/t-linux also updates it).
10125         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
10126         along with the shared version of libgcc since the latter requires
10127         the former.
10128         * unwind-libunwind.c: New file.
10129         * config/t-libunwind: Ditto.
10130
10131 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
10132
10133         * config.gcc: Remove support for vax-*-vms*.
10134         * config/vax/vms.h: Remove.
10135         * config/vax/xm-vms.h: Remove.
10136         * config/vax/vax-protos.h: Remove VMS-specific code.
10137         * config/vax/vax.c: Remove VMS-specific code.
10138
10139 2002-10-02  Richard Henderson  <rth@redhat.com>
10140
10141         PR opt/7124
10142         * config/i386/i386.c (ix86_register_move_cost): Increase cost
10143         for secondary_memory_needed pairs.
10144
10145 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
10146
10147         * doc/vms.texi: Blow away false include file section.
10148
10149 2002-10-02  Roger Sayle  <roger@eyesopen.com>
10150
10151         PR optimization/6627
10152         * toplev.c (force_align_functions_log): New global variable.
10153         * flags.h (force_align_functions_log): Add extern prototype.
10154         * varasm.c (assemble_start_function): Use it to force minimum
10155         function alignment.
10156         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
10157         minimum function alignment to one byte.
10158         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
10159         the least significant bit of vtable member function pointers.
10160         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
10161         here from cp/cp-tree.h.
10162
10163 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
10164
10165         * i386.c (print_operand_address): Use RIP addressing for offsetted
10166         label refs too.
10167
10168 2002-09-30  David S. Miller  <davem@redhat.com>
10169
10170         PR middle-end/7151
10171         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
10172         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
10173
10174 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
10175
10176         * calls.c (expand_call): Remove the `no indirect check'
10177         for sibcall optimization; use function_ok_for_sibcall
10178         target hook; refine check for `function is volatile'.
10179         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
10180         * hooks.c (hook_tree_tree_bool_false): New.
10181         * hooks.h (hook_tree_tree_bool_false): Declare.
10182         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10183         (TARGET_INITIALIZER): Add it.
10184         * target.h (struct gcc_target): Add function_ok_for_sibcall.
10185         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
10186         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10187         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10188         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
10189         Remove function declaration.
10190         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
10191         function static and accept another argument of type `tree'.
10192         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10193         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10194         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10195         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
10196         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10197         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10198         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10199         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
10200         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
10201         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10202         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10203         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
10204         Remove function declaration.
10205         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
10206         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
10207         rename first argument to `decl'; accept another argument
10208         of type `tree'; make static.
10209         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10210         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10211         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
10212         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10213         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10214         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
10215         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10216         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10217         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10218
10219 2002-10-01  Roger Sayle  <roger@eyesopen.com>
10220
10221         * unroll.c (loop_iterations): Revert 2002-09-08 change.
10222
10223 2002-10-01  Richard Henderson  <rth@redhat.com>
10224
10225         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
10226         (real_to_hexadecimal): Likewise.
10227         * print-rtl.c (print_rtx): If we are linked with real.c, don't
10228         dump the XWINT fields of a floating point CONST_DOUBLE.
10229
10230 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
10231
10232         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
10233
10234 2002-10-01  Richard Henderson  <rth@redhat.com>
10235
10236         * calls.c (precompute_register_parameters): Force non-legitimate
10237         constants into pseudos.
10238
10239 2002-10-01  Nick Clifton  <nickc@redhat.com>
10240
10241         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
10242         to assembler template.
10243
10244 2002-10-01  Richard Henderson  <rth@redhat.com>
10245
10246         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
10247         for TLS debug info to !DECL_EXTERNAL.
10248
10249 2002-10-01  Matt Thomas  <matt@3am-software.com>
10250             Jason Thorpe  <thorpej@wasabisystems.com>
10251
10252         * config.gcc (vax-*-netbsdelf*): Enable configuration.
10253         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
10254         if not already defined.
10255         * config/vax/elf.h: New file.
10256         * config/vax/netbsd-elf.h: New file.
10257         * config/vax/vax.c: Include "debug.h".
10258         (vax_output_function_prologue): Add dwarf2 support.  Use
10259         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
10260         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
10261         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
10262         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
10263         (VAX_ISTREAM_SYNC): Remove.
10264         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
10265         (JUMP_TABLES_IN_TEXT_SECTION): Define.
10266         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
10267         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
10268         and assemble_name.
10269         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10270         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
10271         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
10272         (INCOMING_RETURN_ADDR_RTX): Define.
10273         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
10274         (VUNSPEC_SYNC_ISTREAM): Define.
10275         (blockage): Use VUNSPEC_BLOCKAGE.
10276         (sync_istream): New insn.
10277
10278 2002-10-01  Richard Henderson  <rth@redhat.com>
10279
10280         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
10281         (*call_value_pop, call, call_value): Add dwarf2 EH support.
10282         (*call): New insn.
10283
10284 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
10285
10286         PR c/8083
10287         * c-typeck.c (build_c_cast): Warn about type punning which breaks
10288         type based aliasing.
10289
10290 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
10291
10292         * stor-layout.c (update_alignment_for_field): New function.
10293         (place_union_field): Use it.
10294         (place_field): Likewise.
10295
10296 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
10297
10298         PR other/8077
10299         * gcc.c (cc1_options): Add space on -auxbase-strip.
10300
10301 2002-10-01  Jim Wilson  <wilson@redhat.com>
10302
10303         * config/v850/v850.h (EPILOGUE_USES): Define.
10304
10305 2002-09-30  Andrew Haley  <aph@redhat.com>
10306
10307         * flow.c (insn_dead_p): When using non-call-exceptions, don't
10308         eliminate insns that may trap.
10309         * cse.c (insn_live_p): Likewise.
10310
10311 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10312
10313         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
10314         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
10315         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
10316         * config/mips/mips.md: Apply same renaming here.
10317
10318 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10319
10320         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
10321         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
10322         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
10323         * config/mips/mips.md (define_attr cpu): Remove r4320.
10324         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
10325
10326 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10327
10328         * config/mips/mips.c (mips16_strings): New variable.
10329         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
10330         symbol in mips16_strings.  Free the list.
10331         (mips_encode_section_info): Keep track of local strings.
10332
10333 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10334
10335         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
10336         (sordered_df, sordered_sf): Remove.
10337         * config/mips/mips.c (get_float_compare_codes): New fn.
10338         (gen_int_relational, gen_conditional_move): Use it.
10339
10340 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10341
10342         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
10343         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
10344         * config/mips/mips.c (fcc_register_operand): New function.
10345         (mips_emit_fcc_reload): New function, extracted from reload_incc.
10346         (override_options): Allow TFmode values in float registers
10347         if ISA_HAS_8CC.
10348         * cnfig/mips/mips.md (reload_incc): Change destination prediate
10349         to fcc_register_operand.  Remove misleading source constraint.
10350         Use mips_emit_fcc_reload.
10351         (reload_outcc): Duplicate reload_incc.
10352
10353 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
10354
10355         * gcc.c (validate_switches): Handle all new forms of spec
10356         syntax introduced recently.  Now returns a char *.
10357         (validate_all_switches): Repetitive logic broken out to...
10358         (validate_switches_from_spec): ...here.
10359         * mklibgcc.in: Don't @-flag commands to generate .oS files.
10360
10361 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
10362
10363         * longlong.h: Partially synchronize with GMP-4.1 version:
10364         Use i370 definitions also for s390.
10365         Add generic definition of umul_ppmm in terms of smul_ppmm.
10366         [s390] (umul_ppmm): Remove.
10367         [s390] (smul_ppmm): Fix incorrect assembler constraints.
10368         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
10369
10370 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
10371
10372         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
10373         Add new RL_REGS register class.
10374         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
10375         Call xtensa_preferred_reload_class for both input and output reloads.
10376         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
10377         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
10378         instead of either AR_REGS or GR_REGS classes.
10379         (xtensa_secondary_reload_class): Use new RL_REGS class.
10380         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
10381
10382 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10383
10384         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
10385         (pa_strip_name_encoding): Strip '@' and '*', in that order.
10386         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
10387         there is a '*' prefix in NAME.
10388
10389 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
10390
10391         * reload.c (push_reload): Handle subregs and secondary memory.
10392         * reload1.c (gen_reload): Likewise.
10393
10394         * jump.c (reg_or_subregno): New function.
10395         * rtl.h (reg_or_subregno): Declare
10396         * unroll.c (find_splittable_givs): Handle subregs.
10397
10398 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
10399
10400         * store-layout.c (finish_record_layout): Add free_p parameter.
10401         (layout_type): Pass it.
10402         * tree.h (finish_record_layout): Update prototype.
10403
10404 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
10405
10406         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
10407
10408         * gcse.c (cprop_jump): Check that the register has not
10409         been modified
10410         (cprop_jump): Likewise.
10411
10412 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
10413
10414         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
10415         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
10416         that we have a SImode access, and only then if reload hasn't completed;
10417         for all other cases, use LO_REGS.
10418
10419 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10420
10421         * openbsd.h: Fix typo in last change.
10422
10423 2002-09-29  Richard Henderson  <rth@redhat.com>
10424
10425         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
10426
10427 2002-09-29  Richard Henderson  <rth@redhat.com>
10428
10429         PR c/8002
10430         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
10431         for CONST_INT.
10432
10433 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
10434
10435         * real.h (ibm_extended_format): Declare.
10436         * real.c (encode_ibm_extended, decode_ibm_extended): New
10437         functions.
10438
10439 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10440
10441         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
10442
10443         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
10444
10445 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10446
10447         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
10448
10449 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
10450
10451         * builtins.def: Fix comment formatting.
10452         * c-common.def: Likewise.
10453         * cfgcleanup.c: Likewise.
10454         * combine.c: Likewise.
10455         * gengtype.c: Likewise.
10456         * params.def: Likewise.
10457         * predict.def: Likewise.
10458         * rtl.def: Likewise.
10459         * stab.def: Likewise.
10460         * stor-layout.c: Likewise.
10461         * tree.def: Likewise.
10462         * config/darwin.c: Likewise.
10463         * config/darwin.h: Likewise.
10464         * config/dbxcoff.h: Likewise.
10465         * config/elfos.h: Likewise.
10466         * config/fp-bit.c: Likewise.
10467         * config/freebsd-spec.h: Likewise.
10468         * config/interix.h: Likewise.
10469         * config/libgloss.h: Likewise.
10470         * config/linux-aout.h: Likewise.
10471         * config/linux.h: Likewise.
10472         * config/lynx-ng.h: Likewise.
10473         * config/lynx.h: Likewise.
10474         * config/netbsd-aout.h: Likewise.
10475         * config/netbsd.h: Likewise.
10476         * config/netware.h: Likewise.
10477         * config/psos.h: Likewise.
10478         * config/ptx4.h: Likewise.
10479
10480 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
10481
10482         * ChangeLog.4: Fix typos.
10483         * ChangeLog.6: Likewise.
10484         * FSFChangeLog.10: Likewise.
10485         * genattrtab.c: Fix comment typos.
10486         * haifa-sched.c: Likewise.
10487         * real.c: Likewise.
10488         * tree.h: Likewise.
10489         * config/arm/arm.c: Likewise.
10490         * config/arm/crti.asm: Likewise.
10491         * config/arm/crtn.asm: Likewise.
10492         * config/frv/frv.c: Likewise.
10493         * config/frv/frv.md: Likewise.
10494         * config/h8300/h8300.md: Likewise.
10495         * config/i386/rtemself.h: Likewise.
10496         * config/ia64/unwind-ia64.c: Likewise.
10497         * config/ip2k/ip2k.h: Likewise.
10498         * config/m88k/m88k.c: Likewise.
10499         * config/m88k/m88k.md: Likewise.
10500         * config/mips/sr71k.md: Likewise.
10501         * config/mmix/mmix.c: Likewise.
10502         * config/rs6000/rs6000.c: Likewise.
10503         * config/sh/sh.md: Likewise.
10504
10505 2002-09-26  Theodore A. Roth  <troth@verinet.com>
10506
10507         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
10508         * config/avr/avr.md: Ditto.
10509
10510 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
10511
10512         PR preprocessor/8055
10513         * cppmacro.c (stringify_arg): Do not overflow the buffer
10514         with the terminating NUL when the argument to be stringified
10515         has no tokens.
10516
10517 2002-09-27  Richard Henderson  <rth@redhat.com>
10518
10519         * unroll.c (simplify_cmp_and_jump_insns): New.
10520         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
10521         instead of expand_simple_foo.
10522
10523 2002-09-27  Richard Henderson  <rth@redhat.com>
10524
10525         PR optimization/7520
10526         * cfganal.c (flow_active_insn_p): New.
10527         (forwarder_block_p): Use it.
10528
10529 2002-09-27  Richard Henderson  <rth@redhat.com>
10530
10531         * emit-rtl.c (active_insn_p): Revert last change.
10532
10533 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
10534
10535         * doc/extend.texi (tls_model): Document.
10536         * varasm.c (decl_tls_model): New.
10537         * c-common.c (handle_tls_model_attribute): New.
10538         (c_common_attribute_table): Add tls_model.
10539         * config/alpha/alpha.c (alpha_encode_section_info): Use
10540         decl_tls_model.
10541         * flags.h (enum tls_model, flag_tls_default): Move...
10542         * tree.h (enum tls_model, flag_tls_default): ...here.
10543         (decl_tls_model): New prototype.
10544         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
10545         * config/i386/i386.c (ix86_encode_section_info): Likewise.
10546         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
10547         Allow !flag_pic.
10548
10549 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
10550
10551         * LANGUAGES: Follow spelling conventions.
10552         * rtl.def: Likewise.
10553         * sbitmap.c: Likewise.
10554         * sched-int.h: Likewise.
10555         * sched-rgn.c: Likewise.
10556         * sibcall.c: Likewise.
10557         * simplify-rtx.c: Likewise.
10558         * ssa.c: Likewise.
10559         * stab.def: Likewise.
10560         * stmt.c: Likewise.
10561         * stor-layout.c: Likewise.
10562         * target.h: Likewise.
10563         * timevar.c: Likewise.
10564         * toplev.c: Likewise.
10565         * tree-dump.c: Likewise.
10566         * tree-inline.c: Likewise.
10567         * tree.c: Likewise.
10568         * tree.def: Likewise.
10569         * tree.h: Likewise.
10570         * unroll.c: Likewise.
10571         * varasm.c: Likewise.
10572         * vmsdbgout.c: Likewise.
10573         * treelang/treelang.texi: Likewise.
10574         * treelang/treetree.c: Likewise.
10575
10576 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
10577
10578         * config/h8300/h8300.c (compute_saved_regs): Use a macro
10579         instead of a hard register number.
10580         (get_shift_alg): Use an enumerated type instead of numbers.
10581         (h8300_shift_needs_scratch_p): Likewise.
10582
10583 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
10584
10585         * varasm.c (force_data_section): Remove.
10586         (assemble_constant_align): Likewise.
10587         * output.h: Remove corresponding prototypes.
10588
10589 2002-09-26  Roger Sayle  <roger@eyesopen.com>
10590
10591         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
10592         jump, if the loop to exit is the top of the current nesting stack.
10593
10594 2002-09-26  Torbjorn Granlund  <tege@swox.com>
10595
10596         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
10597         arithmetic.
10598
10599 2002-09-26  David S. Miller  <davem@redhat.com>
10600
10601         PR optimization/7335
10602         * calls.c (emit_library_call_value_1): Passing args by reference
10603         converts a CONST function into a PURE one.
10604
10605 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
10606
10607         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
10608         text_section.
10609         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
10610         text section.
10611         * config/rs6000/rs6000.c (rs6000_override_options): Allow
10612         function-sections and data-sections functionality on AIX.
10613
10614 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
10615             Dale Johannesen  <dalej@apple.com>
10616
10617         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
10618         in RTL for sub-word loads from memory.
10619
10620 2002-09-26  Richard Henderson  <rth@redhat.com>
10621
10622         PR c/7160
10623         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
10624         on call insns.
10625
10626 2002-09-26  Richard Henderson  <rth@redhat.com>
10627
10628         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
10629
10630 2002-09-26  Chris Lattner  <sabre@nondot.org>
10631
10632         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
10633         handling undefined values.
10634
10635 2002-09-26  Richard Henderson  <rth@redhat.com>
10636
10637         PR opt/7520
10638         * emit-rtl.c (active_insn_p): Consider a clobber of the
10639         function return value to be active even after reload.
10640
10641 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
10642
10643         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
10644         by absolute loop increment, not loop increment.
10645
10646 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
10647
10648         * c-common.h: Follow spelling conventions.
10649         * cpplex.c: Likewise.
10650         * cpplib.h: Likewise.
10651         * gthr-dce.h: Likewise.
10652         * gthr-posix.h: Likewise.
10653         * optabs.c: Likewise.
10654         * output.h: Likewise.
10655         * profile.c: Likewise.
10656         * protoize.c: Likewise.
10657         * ra-rewrite.c: Likewise.
10658         * real.c: Likewise.
10659         * recog.c: Likewise.
10660         * reg-stack.c: Likewise.
10661         * regclass.c: Likewise.
10662         * regmove.c: Likewise.
10663         * reload.c: Likewise.
10664         * reload.h: Likewise.
10665         * reload1.c: Likewise.
10666         * reorg.c: Likewise.
10667         * resource.c: Likewise.
10668         * rtl.h: Likewise.
10669         * rtlanal.c: Likewise.
10670
10671 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10672
10673         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
10674         for symbol address.
10675
10676 2002-09-24  Eric Christopher  <echristo@redhat.com>
10677
10678         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
10679         * config/mips/elf64.h: Ditto.
10680
10681 2002-09-24  Eric Christopher  <echristo@redhat.com>
10682
10683         * except.c (expand_builtin_extract_return_address): Handle case
10684         where Pmode != ptr_mode.
10685
10686 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10687
10688         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
10689
10690 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10691
10692         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
10693
10694 2002-09-26  Igor Shevlyakov <igor@microunity.com>
10695
10696         * combine.c (simplify_set): Don't call to force_to_mode if size
10697         of integer type is larger than HOST_BITS_PER_WIDE_INT.
10698
10699 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
10700
10701         * Makefile.in (qmtest-g++): Fix file path.
10702
10703 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
10704
10705         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
10706         A + (-const) on RTX level, even for unsigned types.
10707
10708 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
10709
10710         * reload.c (dup_replacements): New function.
10711         (find_reloads): Use it to duplicate replacements at the top level
10712         of match_dup operands.
10713
10714 2002-09-26  Miles Bader  <miles@gnu.org>
10715
10716         * v850.md ("length"): Change default value to 4.
10717
10718 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
10719
10720         * ChangeLog.1: Follow spelling conventions.
10721         * ChangeLog.4: Likewise.
10722         * ChangeLog.6: Likewise.
10723         * FSFChangeLog.11: Likewise.
10724         * doc/cpp.texi: Likewise.
10725         * doc/invoke.texi: Likewise.
10726         * doc/tm.texi: Likewise.
10727
10728 2002-09-26  Nick Clifton  <nickc@redhat.com>
10729
10730         * config.gcc: Add x prefix to v850e case for handling
10731         --with-cpu=v850e.
10732
10733 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
10734
10735         * gcc.c (input_suffix_matches, switch_matches,
10736         mark_matching_switches, process_marked_switches,
10737         process_brace_body): New functions - split from handle_braces.
10738         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
10739         and ignore whitespace in more places.
10740         (specs documentation comment): Document %{S:X;T:Y;:D}.
10741         Clarify other %{...} docs.
10742         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
10743         %{...} docs.
10744
10745         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
10746         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
10747
10748 2002-09-25  David S. Miller  <davem@redhat.com>
10749
10750         PR target/7842
10751         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
10752         extend.
10753
10754 2002-09-25  Richard Henderson  <rth@redhat.com>
10755
10756         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
10757         fp CONST_DOUBLE; use real_identical.
10758
10759 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
10760
10761         * doc/invoke.texi: Add more -Wabi examples.
10762
10763 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
10764
10765         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
10766
10767 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
10768
10769         * profile.c (end_branch_prob): Only look for __gcov_init on
10770         weak-enabled native compilers.
10771
10772 2002-09-24  Denis Chertykov  <denisc@overta.ru>
10773
10774         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
10775         cases of optimizing "add sp,w" to "inc sp".
10776
10777 2002-09-24  Adam Nemet  <anemet@lnxw.com>
10778
10779         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
10780         epilogue for naked functions.
10781
10782 2002-09-24  Adam Nemet  <anemet@lnxw.com>
10783             Nick Clifton  <nickc@redhat.com>
10784
10785         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
10786         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
10787         is defined.
10788
10789 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
10790
10791         * config/s390/s390.c (preferred_la_operand_p): New function.
10792         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
10793         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
10794         ("*la_64_cc", "*la_31_cc", splitters): ... these.
10795         ("*la_31"): Deactivate for TARGET_64BIT.
10796         ("*la_31_and", "*la_31_and_cc"): New.
10797
10798 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10799
10800         * real.h (real_value): Make `exp' explicitly signed.
10801
10802 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
10803
10804         * config/elfos.h: Follow spelling conventions.
10805         * config/alpha/alpha.h: Likewise.
10806         * config/arc/arc.h: Likewise.
10807         * config/arm/arm.md: Likewise.
10808         * config/avr/avr.h: Likewise.
10809         * config/cris/cris.md: Likewise.
10810         * config/d30v/d30v.h: Likewise.
10811         * config/frv/frv.c: Likewise.
10812         * config/frv/frv.h: Likewise.
10813         * config/h8300/h8300.c: Likewise.
10814         * config/h8300/h8300.h: Likewise.
10815         * config/h8300/h8300.md: Likewise.
10816         * config/i386/cygwin.h: Likewise.
10817         * config/i386/i386.h: Likewise.
10818         * config/i386/sysv3.h: Likewise.
10819         * config/i960/i960.h: Likewise.
10820         * config/ia64/ia64.h: Likewise.
10821         * config/ia64/ia64.md: Likewise.
10822         * config/ip2k/ip2k.h: Likewise.
10823         * config/m32r/m32r.h: Likewise.
10824         * config/m68k/m68k.h: Likewise.
10825         * config/m88k/m88k.h: Likewise.
10826         * config/mcore/mcore.c: Likewise.
10827         * config/mcore/mcore.h: Likewise.
10828         * config/mcore/mcore.md: Likewise.
10829         * config/mips/mips.h: Likewise.
10830         * config/mmix/mmix.h: Likewise.
10831         * config/mmix/mmix.md: Likewise.
10832         * config/ns32k/netbsd.h: Likewise.
10833         * config/ns32k/ns32k.h: Likewise.
10834         * config/ns32k/ns32k.md: Likewise.
10835         * config/pa/pa.h: Likewise.
10836         * config/romp/romp.h: Likewise.
10837         * config/rs6000/rs6000.h: Likewise.
10838         * config/rs6000/rs6000.md: Likewise.
10839         * config/sparc/sparc.h: Likewise.
10840         * config/stormy16/stormy-abi: Likewise.
10841         * config/stormy16/stormy16.h: Likewise.
10842         * config/vax/vax.h: Likewise.
10843
10844 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
10845
10846         * config/alpha/alpha.h: Remove commented-out macro
10847         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
10848         * config/avr/avr.h: Likewise.
10849         * config/d30v/d30v.h: Likewise.
10850         * config/dsp16xx/dsp16xx.h: Likewise.
10851         * config/i370/i370.h: Likewise.
10852         * config/i386/i386.h: Likewise.
10853         * config/i960/i960.h: Likewise.
10854         * config/m68k/m68k.h: Likewise.
10855         * config/m88k/m88k.h: Likewise.
10856         * config/mips/mips.h: Likewise.
10857         * config/ns32k/ns32k.h: Likewise.
10858         * config/pdp11/pdp11.h: Likewise.
10859         * config/romp/romp.h: Likewise.
10860         * config/rs6000/rs6000.h: Likewise.
10861         * config/s390/s390.h: Likewise.
10862         * config/sh/sh.h: Likewise.
10863         * config/sparc/sparc.h: Likewise.
10864         * config/stormy16/stormy16.h: Likewise.
10865         * config/vax/vax.h: Likewise.
10866
10867 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
10868
10869         * function.c (push_temp_slots_for_block): Remove.
10870         (push_temp_slots_for_target): Likewise.
10871         (get_target_temp_slot_level): Likewise.
10872         (set_target_temp_slot_level): Likewise.
10873         (get_first_block_beg): Likewise.
10874         * function.h: Remove corresponding prototypes.
10875
10876 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
10877
10878         * version.c (version_string): Now const char[].
10879         * version.h: Update to match.
10880
10881 2002-09-23  Richard Henderson  <rth@redhat.com>
10882
10883         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
10884         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
10885         (TARGET_SWITCHES): Don't reference them.
10886         * config/i386/i386.c (override_options): Use target_flags_explicit
10887         to examine bits set by the user.
10888
10889 2002-09-23  Dale Johannesen  <dalej@apple.com>
10890
10891         * dbxout.c (dbxout_parms):  Set current_sym_code for params
10892         passed on stack by invisible reference.
10893
10894 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
10895
10896         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
10897         at least one byte of space.
10898
10899 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
10900
10901         * c-common.h (flag_abi_version): Fix typo in comment.
10902         * doc/invoke.texi (flag_abi_version): Document default value.
10903
10904 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
10905
10906         * doc/extend.texi (Extended Asm): Clarify that overlap between
10907         asm-declared register variables used in an asm and the asm clobber
10908         list is not allowed.
10909         * stmt.c (decl_conflicts_with_clobbers_p): New function.
10910         (expand_asm_operands): Keep track of clobbered registers.  Call
10911         decl_conflicts_with_clobbers_p for each input and output operand.
10912         If no conflicts found before, also do conflict sanity check when
10913         emitting clobbers.
10914
10915 2002-09-23  Richard Henderson  <rth@redhat.com>
10916
10917         * c-common.c (cpp_define_data_format): Remove.
10918         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
10919         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
10920         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
10921         * doc/cpp.texi: Don't document them either.
10922         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
10923         __LONG_LONG_MAX__): Document.
10924         (__TARGET_FLOAT_FORMAT__): Remove.
10925
10926 2002-09-23  Richard Henderson  <rth@redhat.com>
10927
10928         * real.c (do_multiply): Normalize U before addition.
10929
10930 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
10931
10932         * c-common.c (flag_abi_version): New variable.
10933         * c-common.h (flag_abi_version): Declare it.
10934         * c-opts.c (missing_arg): Add -fabi-version.
10935         (c_common_decode_option): Process -fabi-version.
10936         * doc/invoke.texi (-fabi-version): Document it.
10937         (-Wabi): Add information about bit-fields in unions.
10938
10939 2002-09-22  Roger Sayle  <roger@eyesopen.com>
10940
10941         * expr.c (STORE_BY_PIECES_P): New target macro.
10942         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
10943         instead of MOVE_BY_PIECES_P.
10944         * doc/tm.texi: Document this new macro.
10945
10946 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
10947
10948         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
10949         unless -fno-pic or -fno-PIC is specified.
10950
10951 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10952
10953         * c-common.c (preprocessing_trad_p): Define.
10954         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
10955         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
10956         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
10957         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
10958         * pa-linux.h (CPP_PREDEFINES): Delete.
10959         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
10960         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
10961         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
10962         (TARGET_OS_CPP_BUILTINS): Define.
10963         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
10964         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
10965         (SUBTARGET_SWITCHES): Provide default definition.
10966         (TARGET_OPTIONS): Reformat.  Use N_() macro.
10967         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
10968         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
10969         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
10970         (TARGET_CPU_CPP_BUILTINS): Define.
10971         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
10972         * doc/invoke.texi (msio, mwsio): Document new hppa options.
10973         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
10974         preprocessing_trad_p().
10975
10976 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
10977
10978         * doc/install.texi: Document behavior of --with-headers and
10979         --with-libs when arguments are omitted.
10980
10981 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
10982
10983         * dbxout.c: Follow spelling conventions.
10984         * defaults.h: Likewise.
10985         * df.c: Likewise.
10986         * diagnostic.h: Likewise.
10987         * doloop.c: Likewise.
10988         * dwarf2out.c: Likewise.
10989         * dwarfout.c: Likewise.
10990         * emit-rtl.c: Likewise.
10991         * except.c: Likewise.
10992         * explow.c: Likewise.
10993         * expmed.c: Likewise.
10994         * expr.c: Likewise.
10995         * expr.h: Likewise.
10996         * flags.h: Likewise.
10997         * flow.c: Likewise.
10998         * fold-const.c: Likewise.
10999         * function.c: Likewise.
11000         * function.h: Likewise.
11001         * gcc.c: Likewise.
11002         * gcov-io.h: Likewise.
11003         * gcov.c: Likewise.
11004         * gcse.c: Likewise.
11005         * genattrtab.c: Likewise.
11006         * genconfig.c: Likewise.
11007         * genrecog.c: Likewise.
11008         * ggc-page.c: Likewise.
11009         * ggc.h: Likewise.
11010         * global.c: Likewise.
11011         * gthr-win32.h: Likewise.
11012         * integrate.c: Likewise.
11013         * jump.c: Likewise.
11014         * langhooks.c: Likewise.
11015         * langhooks.h: Likewise.
11016         * line-map.h: Likewise.
11017         * local-alloc.c: Likewise.
11018         * longlong.h: Likewise.
11019         * loop.c: Likewise.
11020         * loop.h: Likewise.
11021
11022 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
11023
11024         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
11025
11026 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
11027
11028         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
11029         for -Os/TARGET_64BIT too.
11030
11031 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
11032
11033         * ChangeLog: Follow spelling conventions.
11034         * ChangeLog.0: Likewise.
11035         * ChangeLog.1: Likewise.
11036         * ChangeLog.2: Likewise.
11037         * ChangeLog.3: Likewise.
11038         * ChangeLog.4: Likewise.
11039         * ChangeLog.5: Likewise.
11040         * ChangeLog.6: Likewise.
11041         * FSFChangeLog.10: Likewise.
11042         * FSFChangeLog.11: Likewise.
11043         * alias.c: Likewise.
11044         * basic-block.h: Likewise.
11045         * c-aux-info.c: Likewise.
11046         * c-common.c: Likewise.
11047         * c-common.h: Likewise.
11048         * c-decl.c: Likewise.
11049         * c-format.c: Likewise.
11050         * c-semantics.c: Likewise.
11051         * c-typeck.c: Likewise.
11052         * calls.c: Likewise.
11053         * cfganal.c: Likewise.
11054         * cfgloop.c: Likewise.
11055         * collect2.c: Likewise.
11056         * combine.c: Likewise.
11057         * conflict.c: Likewise.
11058         * cppexp.c: Likewise.
11059         * cppfiles.c: Likewise.
11060         * cpphash.h: Likewise.
11061         * cppinit.c: Likewise.
11062         * cpplex.c: Likewise.
11063         * cpplib.c: Likewise.
11064         * cpplib.h: Likewise.
11065         * cppmacro.c: Likewise.
11066         * cse.c: Likewise.
11067
11068 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
11069
11070         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
11071         LINK_SPEC.
11072         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
11073         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
11074         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
11075
11076 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
11077
11078         PR opt/7930
11079         * cse.c (fold_rtx): Calculate old_cost before we fold each
11080         operand.
11081
11082 2002-09-21  Richard Henderson  <rth@redhat.com>
11083
11084         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
11085         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11086         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11087         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
11088         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
11089         * doc/cpp.texi: Don't document them.
11090
11091 2002-09-21  Richard Henderson  <rth@redhat.com>
11092
11093         * c-common.c (builtin_define_float_constants): Use real_format
11094         to get the floating-point parameters.
11095
11096 2002-09-21  Richard Henderson  <rth@redhat.com>
11097
11098         * real.c (struct real_format): Move to real.h.
11099         (real_format_for_mode): Rename from fmt_for_mode; update all users;
11100         initialize with ieee defaults.
11101         (real_to_target_fmt, real_from_target_fmt): New.
11102         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
11103         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
11104         ieee_quad_format, i370_single_format, i370_double_format,
11105         c4x_single_format, c4x_extended_format): Rename from s/_format//.
11106         (ieee_quad_format): Fix emin.
11107         (format_for_size, init_real_once): Remove.
11108         * real.h (struct real_format): Move from real.c.
11109         (real_format_for_mode): Declare.
11110         (real_to_target_fmt, real_from_target_fmt): Declare.
11111         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
11112         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
11113         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
11114         i370_single_format, i370_double_format, c4x_single_format,
11115         c4x_extended_format): Declare.
11116         * toplev.c (do_compile): Don't call init_real_once.
11117
11118         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11119         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11120
11121         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
11122         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
11123         * config/alpha/alpha.c (override_options): Set real_format_for_mode
11124         for VAX, if enabled.
11125
11126         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
11127         for C4X.
11128
11129         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
11130         * config/i370/i370.c (override_options): New.
11131         * config/i370/i370-protos.h: Update.
11132
11133         * config/i386/i386.c (override_options): Set real_format_for_mode
11134         for Intel 80-bit extended.
11135         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11136
11137         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
11138         (OVERRIDE_OPTIONS): Move code...
11139         * config/i960/i960.c (i960_initialize): ... here.  Set
11140         real_format_for_mode for Intel 80-bit extended.
11141
11142         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
11143         for Intel 80-bit extended, if enabled.
11144
11145         * config/m68k/m68k.c (override_options): Set real_format_for_mode
11146         for Motorola 96-bit extended.
11147
11148         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
11149         * config/vax/vax.c (override_options): New.
11150         * config/vax/vax-protos.h: Update.
11151
11152 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
11153
11154         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
11155         #if TARGET_MACHO.
11156
11157         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
11158         insns.  Supply missing clobber of scratch reg.
11159
11160 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
11161
11162         * config/m32r/m32r.c: Follow spelling conventions.
11163         * config/m32r/m32r.h: Likewise.
11164         * config/m32r/m32r.md: Likewise.
11165         * config/m68k/m68k.c: Likewise.
11166         * config/m88k/m88k.c: Likewise.
11167         * config/mcore/mcore.c: Likewise.
11168         * config/mips/mips.c: Likewise.
11169         * config/mips/mips.h: Likewise.
11170         * config/mmix/mmix.c: Likewise.
11171         * config/mn10200/mn10200.c: Likewise.
11172         * config/ns32k/ns32k.h: Likewise.
11173         * config/pa/pa.c: Likewise.
11174         * config/pa/pa64-linux.h: Likewise.
11175         * config/pdp11/pdp11.h: Likewise.
11176         * config/romp/romp.c: Likewise.
11177         * config/romp/romp.h: Likewise.
11178         * config/rs6000/eabi.asm: Likewise.
11179         * config/rs6000/linux64.h: Likewise.
11180         * config/rs6000/rs6000.c: Likewise.
11181         * config/rs6000/rs6000.h: Likewise.
11182         * config/rs6000/rs6000.md: Likewise.
11183         * config/rs6000/sysv4.h: Likewise.
11184         * config/rs6000/xcoff.h: Likewise.
11185
11186 2002-09-20  Jim Wilson  <wilson@redhat.com>
11187
11188         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
11189
11190 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
11191
11192         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
11193         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
11194         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
11195         (legitimate_address_p): Likewise.
11196         (legitimize_address): Use @gotntpoff and @indntpoff.
11197         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
11198         (output_addr_const_extra): Likewise.
11199
11200 2002-09-20  Jim Wilson  <wilson@redhat.com>
11201
11202         * combine.c (try_combine): When split an instruction pair, where the
11203         first has a sign_extend src, verify that the src and dest modes match.
11204
11205 2002-09-20  Richard Henderson  <rth@redhat.com>
11206
11207         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
11208         (override_options): Do not initialize them.
11209         (mips_const_double_ok): Allow no fp constants except zero,
11210         and not even that for mips16.
11211         (const_float_1_operand): Use dconst1.
11212         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
11213         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
11214         Don't allow arbitrary constants; fix predicates and C constraint.
11215
11216 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
11217
11218         * cppmacro.c: Don't warn about function-like macros without
11219         '(' during pre-expansion.
11220
11221 2002-09-20  Jim Wilson  <wilson@redhat.com>
11222
11223         * config/v850/v850.c (current_function_anonymous_args): Delete.
11224         (expand_prologue): Use current_function_args_info.anonymous_args.
11225         (expand_epilogue): Delete use of current_function_anonymous_args.
11226         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
11227         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
11228         (current_function_anonymous_args): Delete extern declaration.
11229         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
11230
11231 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
11232
11233         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
11234         to load_macho_picbase.
11235         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
11236         (load_macho_picbase): Take the symbol to use as a parameter.
11237         (macho_correct_pic): New insn.
11238         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
11239
11240         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
11241         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
11242         (CAN_ELIMINATE): Likewise.
11243         (INITIAL_ELIMINATION_OFFSET): Likewise.
11244         (TOC_REGISTER): Likewise.
11245
11246 2002-09-20  Richard Henderson  <rth@redhat.com>
11247
11248         * real.c (real_hash): New.
11249         * real.h: Declare it.
11250         * cse.c (canon_hash): Use it.
11251         * cselib.c (hash_rtx): Likewise.
11252         * emit-rtl.c (const_double_htab_hash): Likewise.
11253         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
11254         * varasm.c (struct rtx_const): Reduce vector size; separate
11255         integer and fp vectors.
11256         (HASHBITS): Remove.
11257         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
11258         take modulus MAX_HASH_TABLE.
11259         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
11260         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
11261         (SYMHASH): Don't use HASHBITS.
11262         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
11263         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
11264         (simplify_subtraction): Fix kind comparison.
11265         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
11266         Use a union to pun integer array.
11267         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
11268         only hash two words of integral CONST_DOUBLE.
11269
11270 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
11271
11272         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
11273         (STARTFILE_PREFIX_SPEC): New.
11274         (LINK_SPEC): Modify.
11275         (LIB_SPEC): Modify.
11276         (LIBGCC_SPEC): New.
11277
11278 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
11279
11280         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
11281         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
11282
11283 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
11284
11285         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
11286         Add clobber of the condition code register.
11287
11288 2002-09-20  Richard Henderson  <rth@redhat.com>
11289
11290         * real.c (do_fix_trunc): Static.
11291         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
11292         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
11293         encode_i370_single, encode_i370_double, encode_c4x_single,
11294         encode_c4x_extended): Add default abort case.
11295
11296 2002-09-20  Richard Henderson  <rth@redhat.com>
11297
11298         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
11299         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
11300         (struct realvaluetype): Remove.
11301         (REAL_VALUE_TYPE): Use struct real_value.
11302         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
11303         (test_real_width): New.
11304         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
11305         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
11306         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
11307         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
11308         real_to_integer, real_to_integer2, real_to_decimal,
11309         real_to_hexadecimal, real_from_string, real_from_integer,
11310         real_inf, real_nan, real_2expN, real_convert, real_to_target,
11311         real_from_target): Likewise.
11312         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
11313         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
11314
11315 2002-09-20  Richard Henderson  <rth@redhat.com>
11316
11317         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
11318         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
11319         * defaults.h: ... here.
11320         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
11321         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
11322         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
11323         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
11324
11325 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
11326
11327         * config/mmix/mmix.md ("negdf2"): Rewrite.
11328         ("*expanded_negdf2"): New.
11329
11330 2002-09-19  Jim Wilson  <wilson@redhat.com>
11331
11332         * combine.c (simplify_set): When optimizing a subreg src with a
11333         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
11334
11335 2002-09-19  Dale Johannesen <dalej@apple.com>
11336         * combine.c (make_extraction): Don't create
11337         invalid subreg.
11338
11339 2002-09-19  Roger Sayle  <roger@eyesopen.com>
11340
11341         * tree.c (integer_nonzerop): New predicate for nonzero integers.
11342         * tree.h (integer_nonzerop): Add function prototype.
11343         * stmt.c (expand_end_loop):  Don't rotate the loop when there
11344         are no instructions in the test, i.e. the loop is unconditional.
11345         (expand_exit_loop_if_false):  Optimize RTL generation of loop
11346         tests when the condition is always true or always false.
11347         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
11348         do-loops when the condition is always true.
11349         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
11350         the for-expression is empty.
11351
11352 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
11353
11354         * gcc.c (use_pipes): New flag.
11355         (process_command): Set it.  Adjust check for -pipe conflicting
11356         with -time or -save-temps.
11357         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
11358         %<SWITCH.  Drop %| (without a SUFFIX).
11359         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
11360         (give_switch): Third argument eliminated.
11361         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
11362         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
11363         (specs documentation comment): Update.
11364
11365         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
11366         config/svr4.h, config/i386/freebsd-aout.h,
11367         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
11368         config/m68k/openbsd.h, config/mips/openbsd.h,
11369         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
11370         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
11371         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
11372         * config/cris/cris.h: Update comment.
11373
11374         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
11375         error messages.  Don't use %{^SWITCH}.
11376         * ada/misc.c (gnat_decode_option): Handle -I with a
11377         separate argument.
11378
11379         * f/lang-specs.h: Use %| and %m.
11380         * java/jvspec.c: Use %m and %(invoke_as).  Change all
11381         uses of %{<SWITCH} to %<SWITCH.
11382
11383         * doc/invoke.texi: Update documentation of specs.
11384         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
11385
11386 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
11387
11388         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
11389         and STRICT_LOW_PART within SET_DEST.
11390         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
11391         splitters, replacing pre-reload splitters.
11392         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
11393         "*zero_extendqihi2_31"): New insns.
11394         ("*zero_extendqihi2_64"): Do not clobber CC.
11395
11396 2002-09-18  Devang Patel  <dpatel@apple.com>
11397
11398         * cp/cp-tree.h: New prototype for walk_vtables().
11399         * cp/decl.c (walk_vtables_r): New function.
11400         (struct cp_binding_level): Add new members, namespaces,
11401         names_size and vtables.
11402         (add_decl_to_level): Add decl in namespaces or vtables
11403         chain, if conditions match.
11404         (walk_vtables): New function.
11405         (walk_namespaces_r): Travers separate namespace chain
11406         for namespace decls.
11407         (wrapup_globals_for_namespace): Use names_size instead
11408         of list_length().
11409         * cp/decl2.c (finish_file): Use walk_vtables() instead of
11410         walk_globals() to walk vtable decls.
11411
11412 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
11413
11414         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
11415         (DTORS_SECTION_ASM_OP): Ditto.
11416         (READONLY_DATA_SECTION_ASM_OP): Moved.
11417         (DATA_SECTION_ASM_OP): New.
11418         (SDATA_SECTION_ASM_OP): New.
11419         (BSS_SECTION_ASM_OP): New.
11420         (SBSS_SECTION_ASM_OP): New.
11421         (TEXT_SECTION_ASM_OP): New.
11422
11423 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
11424
11425         * config/fp-bit.c: Follow spelling conventions.
11426         * config/d30v/d30v.c: Likewise.
11427         * config/d30v/d30v.h: Likewise.
11428         * config/fr30/fr30.c: Likewise.
11429         * config/fr30/fr30.h: Likewise.
11430         * config/fr30/fr30.md: Likewise.
11431         * config/frv/frv.c: Likewise.
11432         * config/frv/frv.h: Likewise.
11433         * config/h8300/h8300.c: Likewise.
11434         * config/h8300/lib1funcs.asm: Likewise.
11435         * config/i370/i370.c: Likewise.
11436         * config/i386/i386.h: Likewise.
11437         * config/i386/i386.md: Likewise.
11438         * config/i386/pentium.md: Likewise.
11439         * config/i386/winnt.c: Likewise.
11440         * config/i960/i960.c: Likewise.
11441         * config/ia64/ia64.h: Likewise.
11442         * config/ip2k/ip2k.c: Likewise.
11443         * config/ip2k/ip2k.h: Likewise.
11444         * config/ip2k/ip2k.md: Likewise.
11445         * config/ip2k/libgcc.S: Likewise.
11446
11447 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
11448
11449         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
11450         (GOTOFF_P): Extend to allow gotoff plus constant.
11451
11452 2002-09-18  Richard Henderson  <rth@redhat.com>
11453
11454         * ifcvt.c (noce_process_if_block): Correctly detect X modified
11455         with INSN_B before COND_EARLIEST.  Don't check A and B for
11456         modification in condition range.  Reorder INSN_B for A==B properly.
11457         (if_convert): Iterate until no matches for a block.
11458
11459 2002-09-18  Richard Henderson  <rth@redhat.com>
11460
11461         * calls.c (store_one_arg): Rename default_align to parm_align;
11462         always adjust parm_align for downward padding.
11463
11464 2002-09-18  Richard Henderson  <rth@redhat.com>
11465
11466         * toplev.c (backend_init): Move init_real_once invocation ...
11467         (do_compile): ... here.
11468
11469 2002-09-18  Richard Henderson  <rth@redhat.com>
11470
11471         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
11472         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
11473
11474 2002-09-18  Richard Henderson  <rth@redhat.com>
11475
11476         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
11477
11478 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
11479
11480         * config/rs6000/rs6000.md: (floatdisf2): Rename to
11481         floatdisf2_internal1.
11482         (floatdisf2): New define_expand.
11483         (floatdisf2_internal2): Likewise.
11484
11485 2002-09-18  Richard Henderson  <rth@redhat.com>
11486
11487         * real.c (sticky_rshift_significand): Collect sticky as
11488         unsigned long, not bool.
11489
11490 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
11491
11492         * config/s390/s390.c (s390_address_cost): New function.
11493         config/s390/s390-protos.h (s390_address_cost): Add prototype.
11494         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
11495         (RTX_COST): Use COSTS_N_INSNS.
11496
11497 2002-09-18  Douglas Rupp  <rupp@gnat.com>
11498             Donn Terry  <donnte@microsoft.com>
11499
11500         * stor-layout.c (place_field): Handle alignment of whole
11501         structures when MSVC compatible bitfields are involved.
11502         Change method of computing location of MS bitfields to
11503         be compatible with #pragma pack(n).
11504
11505         * tree.h (record_layout_info): Add new field
11506         remaining_in_alignment.
11507
11508         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
11509         (pragma pack): Add paragraph on MSVC bitfield packing.
11510
11511 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
11512
11513         PR optimization/7967
11514         * arm.md (ne_zeroextractsi): Add clobber of the condition code
11515         register.
11516
11517 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
11518
11519         * config/s390/s390.c: Follow spelling conventions.
11520         * config/sh/lib1funcs.asm: Likewise.
11521         * config/sh/sh.c: Likewise.
11522         * config/sh/sh.h: Likewise.
11523         * config/sparc/sparc.c: Likewise.
11524         * config/sparc/sparc.h: Likewise.
11525         * config/sparc/sparc.md: Likewise.
11526         * config/stormy16/stormy16.c: Likewise.
11527         * config/stormy16/stormy16.h: Likewise.
11528         * config/v850/v850.c: Likewise.
11529         * config/v850/v850.h: Likewise.
11530         * config/vax/vax.c: Likewise.
11531         * config/vax/vax.h: Likewise.
11532
11533 2002-09-18  Nick Clifton  <nickc@redhat.com>
11534
11535         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
11536         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
11537         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
11538
11539 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
11540
11541         * function.c (max_parm_reg_num): Remove.
11542         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
11543         drop_through_at_end_p, move_cleanups_up,
11544         expand_end_case_dummy, case_index_expr_type): Likewise.
11545         * stor-layout.c (pos_from_byte): Likewise.
11546         * tree.c (chain_member_value, chain_member_purpose, listify,
11547         tree_int_cst_msb, index_type_equal): Likewise.
11548         * tree.h: Remove prototypes for unused functions.
11549
11550 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
11551
11552         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
11553         statement that the only translation is to en_UK.
11554
11555 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
11556
11557         * config/alpha/alpha.c: Follow spelling conventions.
11558         * config/alpha/alpha.h: Likewise.
11559         * config/alpha/alpha.md: Likewise.
11560         * config/arc/arc.h: Likewise.
11561         * config/arm/arm.c: Likewise.
11562         * config/arm/arm.h: Likewise.
11563         * config/arm/arm.md: Likewise.
11564         * config/arm/pe.c: Likewise.
11565         * config/arm/unknown-elf.h: Likewise.
11566         * config/avr/avr.c: Likewise.
11567         * config/avr/avr.h: Likewise.
11568         * config/c4x/c4x.c: Likewise.
11569         * config/cris/cris.c: Likewise.
11570         * config/cris/cris.h: Likewise.
11571
11572 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
11573
11574         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
11575         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
11576         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
11577
11578 2002-09-17  Dale Johannesen  <dalej@apple.com>
11579
11580         * cfgcleanup.c (try_forward_edges):  Do not forward a
11581         branch to just after a loop exit before loop optimization;
11582         this interfered with doloop detection.
11583
11584 2002-09-17  Nick Clifton  <nickc@redhat.com>
11585
11586         * config/arm/arm.c (output_return_instruction): Do not
11587         writeback the stack pointer when it is being loaded.
11588         (arm_output_epilogue): Likewise.
11589
11590 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
11591
11592         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
11593         generate a pseudo reg that receives the result of a libcall.
11594         (prepare_float_lib_cmp): Likewise.
11595
11596 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
11597
11598         * config/ia64/elf.h: Remove CPP_PREDEFINES.
11599
11600 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11601
11602         Fix PR/7014 and related objc bugs:
11603         * c-typeck.c (comp_target_types): Added a reflexive argument.
11604         Pass it to ObjC when/if calling objc_comptypes().  Updated all
11605         callers to provide the appropriate reflexive argument.
11606         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
11607         typechecking for all cases of comparisons and assignments,
11608         particularly the obscure and less common ones involving protocols.
11609
11610 2002-09-17  Nick Clifton  <nickc@redhat.com>
11611
11612         * machmode.def (V1DImode): New mode.  A single element vector.
11613         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
11614         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
11615         * tree.c (build_common_tree_nodes_2): Build
11616         unsigned_V1DI_type_node and V1D1_type_node.
11617         * c-common.c (c_common_type_for_mode): Return
11618         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
11619         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
11620
11621 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11622
11623         * doc/objc.texi (Constant string objects): Extended documentation
11624         to make clear that the constant string class ivar layout is
11625         completely fixed.
11626
11627 2002-09-17  Roger Sayle  <roger@eyesopen.com>
11628
11629         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
11630         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
11631
11632 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11633
11634         * config/mips/mips.c (save_restore_insns): Remove unused variable.
11635         * gcc.c (make_relative_prefix): Likewise.
11636         * loop.c (check_final_value): Likewise.
11637         * jump.c (init_label_info): Remove return value.
11638         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
11639
11640 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11641
11642         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
11643         (ASM_PN_FORMAT): Define.
11644
11645 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11646
11647         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
11648         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
11649         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
11650         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
11651         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
11652         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
11653         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
11654         Delete.
11655         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
11656         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
11657         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
11658
11659         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
11660         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
11661
11662 2002-09-16  Richard Henderson  <rth@redhat.com>
11663
11664         * expr.c (emit_block_move): Set memory block size as appropriate
11665         for the copy.
11666
11667 2002-09-16  Richard Henderson  <rth@redhat.com>
11668
11669         PR fortran/3924
11670         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
11671
11672 2002-09-16  Richard Henderson  <rth@redhat.com>
11673
11674         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
11675         as well as OFFSET for BITPOS.
11676
11677 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
11678
11679         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
11680         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
11681         winchip2 and c3.
11682         * doc/invoke.texi: Mention new aliases.
11683
11684 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11685
11686         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
11687         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
11688         downward.
11689         * function.c (pad_below):  Always compile.
11690         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
11691         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
11692         Pad below when the argument is not in a register and the padding
11693         direction is downward.
11694
11695         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
11696         (PAD_VARARGS_DOWN): Define.
11697         * pa.c (function_arg_padding): Revise padding directions to make them
11698         compatible with the 32 and 64-bit runtime architecture documentation.
11699         (hppa_va_arg):  Add code to handle variable and size zero arguments
11700         passed by reference on TARGET_64BIT.  Reformat.
11701         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
11702         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
11703         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
11704         Add comments.
11705         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
11706         (RETURN_IN_MEMORY): Return size zero types in memory.
11707         (FUNCTION_VALUE): Return TFmode in general registers.
11708         (MUST_PASS_IN_STACK): Define.
11709         (FUNCTION_ARG_BOUNDARY): Simplify.
11710         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
11711         by reference.
11712         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
11713
11714 2002-09-16  Richard Henderson  <rth@redhat.com>
11715
11716         * real.c (do_fix_trunc): New.
11717         (real_arithmetic): Call it.
11718         * simplify-rtx.c (simplify_unary_operation): Handle FIX
11719         with a floating-point result mode.
11720
11721 2002-09-16  Richard Henderson  <rth@redhat.com>
11722
11723         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
11724         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
11725         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
11726         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
11727         * builtins.c (fold_builtin_nan): New.
11728         (fold_builtin): Call it.
11729         * real.c (real_nan): Parse a non-empty string.
11730         (round_for_format): Fix NaN significand truncation.
11731         * real.h (real_nan): Return bool.
11732         * doc/extend.texi: Document new builtins.
11733
11734 2002-09-16  Jason Merrill  <jason@redhat.com>
11735             Danny Smith  <dannysmith@users.sourceforge.net>
11736
11737         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
11738         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
11739         (i386_pe_mark_dllimport): Not here.
11740
11741 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
11742
11743         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
11744
11745 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
11746
11747         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
11748         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
11749         < 64.
11750         (rs6000_emit_cmove): Use real_isinf not target_isinf.
11751
11752 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
11753
11754         * calls.c (emit_library_call_value_1): Don't refer to
11755         hard_libcall_value.
11756         * optabs.c (prepare_float_lib_cmp): Likewise.
11757
11758 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
11759
11760         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
11761         mangling.
11762
11763         The following changes are merged from pch-branch:
11764
11765         * doc/gty.texi (GTY Options): Document %a.
11766         * gengtype.c (do_scalar_typedef): New function.
11767         (process_gc_options): Handle `length' option.
11768         (set_gc_used_type): A pointer to an array of structures doesn't
11769         qualify as a pointer to a structure.
11770         (output_escaped_param): Add `%a' escape.
11771         (write_gc_structure_fields): Allow 'desc' on array of unions.
11772         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
11773         do_scalar_typedef.
11774
11775         * gengtype.c (enum rtx_code): Make global.
11776         (rtx_format): Make global.
11777         (rtx_next): New.
11778         (gen_rtx_next): New.
11779         (write_rtx_next): New.
11780         (adjust_field_rtx_def): Skip fields marked by chain_next.
11781         (open_base_files): Delete redundant prototype.
11782         (write_enum_defn): New.
11783         (output_mangled_typename): Correct abort call.
11784         (write_gc_marker_routine_for_structure): Handle chain_next and
11785         chain_prev options.
11786         (finish_root_table): Don't output redundant \n.
11787         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
11788         * c-tree.h (union lang_tree_node): Add chain_next option.
11789
11790         * gengtype.h (NUM_PARAM): New definition.
11791         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
11792         * gengtype.c (find_param_structure): New.
11793         (adjust_field_type): Handle param<n>_is option.
11794         (process_gc_options): Detect use_params option.  Update callers.
11795         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
11796         'use_params' option.
11797         (open_base_files): Add splay-tree.h to list of files included.
11798         (output_mangled_typename): New.
11799         (write_gc_structure_fields): Update 'param' parameter to support
11800         multiple parameters.  Change name mangling.  Allow parameterized
11801         fields to have an apparent scalar type.  Handle param<n>_is options,
11802         use_param option.
11803         (write_gc_marker_routine_for_structure): Update for change to name
11804         mangling.  Better guess the output file for parameterized types.
11805         (write_gc_types): Update for change to name mangling.
11806         (write_gc_root): Update for change to name mangling.  Handle (ignore)
11807         param<n>_is options.
11808         * doc/gty.texi (GTY Options): Add description of param<n>_is
11809         options, use_params option.
11810         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
11811         * gengtype-lex.l: Produce token for param<n>_is.
11812         * gengtype-yacc.y: Parse param<n>_is.
11813
11814         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
11815
11816         * rtl.c: Update comment describing rtx_format.
11817         * rtl.h (union rtunion): Separate definition and typedef.
11818         (struct rtx_def): Use gengtype to mark.
11819         * Makefile.in (gengtype.o): Also depend on rtl.def.
11820         * ggc.h (ggc_mark_rtx_children): Delete prototype.
11821         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
11822         * ggc-common.c (ggc_mark_rtx_children): Delete.
11823         (ggc_mark_rtx_children_1): Delete.
11824         (gt_ggc_m_rtx_def): Delete.
11825         * gengtype.c (adjust_field_rtx_def): New.
11826         (adjust_field_type): Call adjust_field_rtx_def.
11827         (write_gc_structure_fields): Add 'default' case to switch if none
11828         is specified; remove unused code.
11829
11830         * tree.h (struct tree_exp): Update for change to meaning
11831         of special.
11832         * gengtype.c (adjust_field_tree_exp): New function.
11833         (adjust_field_type): Handle `tree_exp' special here.
11834         (write_gc_structure_fields): Don't handle `tree_exp' special here.
11835         Handle new `dot' option.
11836
11837         * gengtype.h: Make `info' a pointer-to-const.
11838         * gengtype-yacc.y (yacc_ids): Use xasprintf.
11839
11840         * gengtype.c (write_gc_structure_fields): Remove implementation
11841         of `always' option, add `default' option.
11842         * doc/gty.texi (GTY Options): Remove documentation of `always',
11843         add `default'.
11844
11845 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
11846
11847         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
11848
11849 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11850
11851         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
11852
11853         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
11854         instead of the *-protos.h file directly.
11855         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
11856         * darwin.c (machopic_output_stub): Move prototype ...
11857         * darwin-protos.h (machopic_output_stub): ... here.
11858         * rs6000-protos.h (machopic_output_stub): Don't declare.
11859
11860 2002-09-16  Richard Henderson  <rth@redhat.com>
11861
11862         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
11863
11864 2002-09-16  Richard Henderson  <rth@redhat.com>
11865
11866         * real.c, real.h: Rewrite from scratch.
11867
11868         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
11869         (paranoia): New target.
11870         * builtins.c (fold_builtin_inf): Use new real.h interface.
11871         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
11872         * c-lex.c (interpret_float): Likewise.
11873         * emit-rtl.c (gen_lowpart_common): Likewise.
11874         * optabs.c (expand_float): Use real_2expN.
11875         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
11876         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
11877         (FLOAT_WORDS_BIG_ENDIAN): New.
11878         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
11879         directly to REAL_VALUE_NEGATIVE.
11880         * loop.c (canonicalize_condition): Likewise.
11881         * simplify-rtx.c: Include tree.h.
11882         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
11883         with floating-point result modes.
11884         * toplev.c (backend_init): Call init_real_once.
11885
11886         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
11887         * tree.c (build_real): Likewise.
11888         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
11889         float_values, inited_float_values, check_float_value): Remove.
11890         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
11891         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
11892         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
11893         (VAX_HALFWORD_ORDER): Remove.
11894
11895 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
11896
11897         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
11898         (s390_load_address): ... this new function.
11899         (s390_decompose_address): Allow the argument pointer and all
11900         virtual registers as 'pointer' registers.
11901         (s390_expand_plus_operand): Use s390_load_address.
11902         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
11903         ("force_la_31"): New insn pattern.
11904         config/s390/s390-protos.h (legitimize_la_operand): Remove.
11905         (s390_load_address): Add prototype.
11906
11907         * config/s390/s390.c: Include "optabs.h".
11908         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
11909         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
11910         s390_expand_cmpstr): Add prototypes.
11911         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
11912         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
11913         for operands 0 and 1 to "memory_operand".  Add type attribute.
11914         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
11915         for operands 0 and 1 to "memory_operand".  Add type attribute.
11916         ("movstrdi_long", "movstrsi_long"): Remove.
11917         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
11918         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
11919         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
11920         ("clrstrsico"): Remove, replace by ...
11921         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
11922         ("clrstrsi_64"): Rename to "clrstr_long_64".
11923         ("clrstrsi_31"): Rename to "clrstr_long_31".
11924         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
11925         ("cmpstr_const"): Remove, replace by ...
11926         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
11927         ("cmpstr_64"): Rename to "cmpstr_long_64".
11928         ("cmpstr_31"): Rename to "cmpstr_long_31".
11929
11930 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
11931
11932         * ABOUT-NLS: Follow spelling conventions.
11933         * ChangeLog: Likewise.
11934         * ChangeLog.1: Likewise.
11935         * ChangeLog.2: Likewise.
11936         * ChangeLog.3: Likewise.
11937         * ChangeLog.4: Likewise.
11938         * ChangeLog.5: Likewise.
11939         * ChangeLog.6: Likewise.
11940         * FSFChangeLog.10: Likewise.
11941         * FSFChangeLog.11: Likewise.
11942         * c-common.c: Likewise.
11943         * c-lex.c: Likewise.
11944         * c-objc-common.c: Likewise.
11945         * cppexp.c: Likewise.
11946         * cppinit.c: Likewise.
11947         * cpplex.c: Likewise.
11948         * doloop.c: Likewise.
11949         * flow.c: Likewise.
11950         * function.c: Likewise.
11951         * integrate.c: Likewise.
11952         * loop.c: Likewise.
11953         * reg-stack.c: Likewise.
11954         * reload.h: Likewise.
11955         * ssa.c: Likewise.
11956
11957 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11958
11959         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
11960         * vmsdbgout.c: Include "target.h".
11961
11962 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
11963
11964         * ChangeLog: Follow spelling conventions.
11965         * ChangeLog.0: Likewise.
11966         * ChangeLog.1: Likewise.
11967         * ChangeLog.2: Likewise.
11968         * ChangeLog.4: Likewise.
11969         * ChangeLog.6: Likewise.
11970         * config.gcc: Likewise.
11971         * dwarfout.c: Likewise.
11972         * reload1.c: Likewise.
11973         * simplify-rtx.c: Likewise.
11974         * unwind-sjlj.c: Likewise.
11975         * config/avr/avr.h: Likewise.
11976         * config/d30v/d30v.h: Likewise.
11977         * config/frv/frv.c: Likewise.
11978         * config/frv/frv.h: Likewise.
11979         * config/ip2k/ip2k.h: Likewise.
11980         * config/m88k/m88k-move.sh: Likewise.
11981         * config/stormy16/stormy16.c: Likewise.
11982         * config/stormy16/stormy16.h: Likewise.
11983         * doc/extend.texi: Likewise.
11984         * doc/interface.texi: Likewise.
11985         * doc/invoke.texi: Likewise.
11986         * doc/md.texi: Likewise.
11987         * doc/rtl.texi: Likewise.
11988         * doc/tm.texi: Likewise.
11989         * doc/trouble.texi: Likewise.
11990         * ginclude/float.h: Likewise.
11991         * treelang/treelang.texi: Likewise.
11992
11993 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11994
11995         * i386-protos.h (i386_pe_dllexport_name_p,
11996         i386_pe_dllimport_name_p, i386_pe_unique_section,
11997         i386_pe_declare_function_type, i386_pe_record_external_function,
11998         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
11999         prototype.
12000         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
12001         * i386/t-interix (winnt.o): Likewise.
12002
12003         * v850-protos.h (v850_output_addr_const_extra): Prototype.
12004
12005 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
12006
12007         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
12008         MIPS ABI CPP macros.
12009         (TARGET_CPU_CPP_BUILTINS): Redefine.
12010         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
12011         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
12012
12013 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12014
12015         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12016
12017 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12018
12019         * ChangeLog: Follow spelling conventions.
12020         * ChangeLog.0: Likewise.
12021         * ChangeLog.1: Likewise.
12022         * ChangeLog.2: Likewise.
12023         * ChangeLog.3: Likewise.
12024         * ChangeLog.4: Likewise.
12025         * ChangeLog.5: Likewise.
12026         * ChangeLog.6: Likewise.
12027         * FSFChangeLog.10: Likewise.
12028         * FSFChangeLog.11: Likewise.
12029         * c-common.c: Likewise.
12030         * c-common.h: Likewise.
12031         * c-format.c: Likewise.
12032         * c-opts.c: Likewise.
12033         * cpplib.c: Likewise.
12034         * langhooks.h: Likewise.
12035         * real.c: Likewise.
12036         * reg-stack.c: Likewise.
12037         * toplev.c: Likewise.
12038         * config/arm/arm.c: Likewise.
12039         * config/arm/arm.md: Likewise.
12040         * config/arm/linux-gas.h: Likewise.
12041         * config/arm/netbsd.h: Likewise.
12042         * config/c4x/c4x.c: Likewise.
12043         * config/c4x/c4x.h: Likewise.
12044         * config/c4x/c4x.md: Likewise.
12045         * config/c4x/libgcc.S: Likewise.
12046         * config/fr30/fr30.md: Likewise.
12047         * config/frv/frv.md: Likewise.
12048         * config/ia64/ia64.md: Likewise.
12049         * config/mips/mips.h: Likewise.
12050         * config/mn10300/mn10300.c: Likewise.
12051         * config/stormy16/stormy16.c: Likewise.
12052         * config/v850/v850.md: Likewise.
12053         * doc/extend.texi: Likewise.
12054         * doc/invoke.texi: Likewise.
12055         * doc/md.texi: Likewise.
12056
12057 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
12058
12059         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
12060         library if -pthread is specified.
12061
12062 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
12063
12064         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
12065         for --enable-threads=yes and --enable-threads=posix.
12066
12067 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12068
12069         * config/sparc/cypress.md: Replace Sparc with SPARC.
12070         * config/sparc/freebsd.h: Likewise.
12071         * config/sparc/gmon-sol2.c: Likewise.
12072         * config/sparc/hypersparc.md: Likewise.
12073         * config/sparc/lb1spc.asm: Likewise.
12074         * config/sparc/lb1spl.asm: Likewise.
12075         * config/sparc/linux.h: Likewise.
12076         * config/sparc/linux64.h: Likewise.
12077         * config/sparc/lynx.h: Likewise.
12078         * config/sparc/sol2.h: Likewise.
12079         * config/sparc/sparc-modes.def: Likewise.
12080         * config/sparc/sparc.c: Likewise.
12081         * config/sparc/sparc.h: Likewise.
12082         * config/sparc/sparc.md: Likewise.
12083         * config/sparc/sparclet.md: Likewise.
12084         * config/sparc/supersparc.md: Likewise.
12085         * config/sparc/sysv4.h: Likewise.
12086         * config/sparc/vxsim.h: Likewise.
12087         * config/sparc/vxsparc64.h: Likewise.
12088
12089 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12090
12091         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
12092         * collect2.c (ignore_library, aix_std_libs): Move into the context
12093         where it is used.
12094         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
12095         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
12096         * m88k.c (output_call): Wrap variables with macro controlling use.
12097         * rs6000.md: Likewise.  Const-ify variable.
12098         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
12099         * final.c (only_leaf_regs_used): Likewise.
12100         * regrename.c (maybe_mode_change): Mark parameter with
12101         ATTRIBUTE_UNUSED.
12102         * reload.c (find_valid_class): Likewise.  Likewise for variable.
12103         (find_reloads_address_1): Likewise.
12104         * varasm.c (weak_finish): Wrap variable with macro controlling use.
12105
12106 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12107
12108         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
12109
12110 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12111
12112         * ChangeLog: Follow spelling conventions.
12113         * ChangeLog.0: Likewise.
12114         * ChangeLog.2: Likewise.
12115         * ChangeLog.3: Likewise.
12116         * ChangeLog.4: Likewise.
12117         * ChangeLog.5: Likewise.
12118         * ChangeLog.6: Likewise.
12119         * cppfiles.c: Likewise.
12120         * cppinit.c: Likewise.
12121         * cpplib.h: Likewise.
12122         * cse.c: Likewise.
12123         * debug.h: Likewise.
12124         * df.c: Likewise.
12125         * dominance.c: Likewise.
12126         * hashtable.c: Likewise.
12127         * hashtable.h: Likewise.
12128         * loop.c: Likewise.
12129         * config/arm/README-interworking: Likewise.
12130         * config/arm/arm.c: Likewise.
12131         * config/arm/arm.h: Likewise.
12132         * config/arm/arm.md: Likewise.
12133         * config/dsp16xx/dsp16xx.h: Likewise.
12134         * config/frv/frv.c: Likewise.
12135         * config/frv/frv.h: Likewise.
12136         * config/ip2k/ip2k.h: Likewise.
12137         * config/rs6000/rs6000.c: Likewise.
12138         * config/stormy16/stormy-abi: Likewise.
12139         * config/stormy16/stormy16.h: Likewise.
12140         * config/v850/v850.c: Likewise.
12141
12142 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12143
12144         * loop.c: Fix a comment typo.
12145
12146 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12147
12148         * config/fr30/fr30.h: Fix comment typos.
12149         * config/frv/frv.c: Likewise.
12150         * config/i386/xmmintrin.h: Likewise.
12151         * config/mips/mips.c: Likewise.
12152         * config/sh/sh.c: Likewise.
12153
12154 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12155
12156         * haifa-sched.c: Follow spelling conventions.
12157         * regclass.c: Likewise.
12158         * regrename.c: Likewise.
12159         * config/fp-bit.c: Likewise.
12160         * config/frv/frv.h: Likewise.
12161         * config/m88k/m88k.c: Likewise.
12162         * config/mcore/mcore.c: Likewise.
12163         * config/rs6000/darwin.h: Likewise.
12164         * config/rs6000/gnu.h: Likewise.
12165         * config/rs6000/linux.h: Likewise.
12166         * config/rs6000/linux64.h: Likewise.
12167         * config/rs6000/rs6000.c: Likewise.
12168         * config/rs6000/rs6000.h: Likewise.
12169         * config/sh/sh.c: Likewise.
12170         * config/sparc/sparc.c: Likewise.
12171         * config/sparc/ultra1_2.md: Likewise.
12172
12173 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
12174
12175         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
12176         memory operand when source is 0 (K constraint).
12177         ("movsi_internal"): Likewise.
12178         ("movdf_internal"): Likewise.
12179         ("movsf_internal"): Likewise.
12180
12181 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
12182
12183         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
12184         targetm.binds_local_p to set SYMBOL_REF_FLAG.
12185         (rs6000_xcoff_encode_section_info): Likewise.
12186         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
12187
12188 2002-09-10  Theodore A. Roth  <troth@verinet.com>
12189
12190         * gcc/config/avr/avr.h: Set default options for C++ for avr.
12191
12192 2002-09-13  Roger Sayle  <roger@eyesopen.com>
12193
12194         * stmt.c (struct nexting): Remove unused alt_end_label field.
12195         (expand_start_loop): Delete initialization of alt_end_label.
12196         (expand_start_null_loop): Likewise.
12197         (expand_exit_loop_if_false): Delete updating of alt_end_label.
12198
12199 2002-09-13  Richard Henderson  <rth@redhat.com>
12200
12201         * Makefile.in (toplev.o): Depend on real.h.
12202         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
12203
12204 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
12205
12206         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
12207         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
12208         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
12209
12210 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
12211
12212         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
12213
12214 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
12215
12216         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
12217         ia64*-*-linux*): Set extra_parts.
12218         * config/ia64/t-aix (EXTRA_PARTS): Remove.
12219         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
12220
12221 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
12222
12223         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
12224         * config/h8300/h8300.c: Likewise.
12225         * config/h8300/h8300.h: Likewise.
12226         * config/h8300/h8300.md: Likewise.
12227         * doc/invoke.texi: Likewise.
12228
12229 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
12230
12231         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
12232
12233 2002-09-13  Richard Henderson  <rth@redhat.com>
12234
12235         * config/alpha/alpha.md (attr type): Add callpal.
12236         (imb, trap, load_tp, set_tp): Use it.
12237         * config/alpha/ev4.md (ev4_callpal): New.
12238         * config/alpha/ev5.md (ev5_callpal): New.
12239         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
12240         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
12241         (alphaev5_insn_pipe): Likewise.
12242
12243 2002-09-13  Andreas Jaeger  <aj@suse.de>
12244
12245         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
12246
12247 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
12248
12249         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
12250         LIB2ADDEH): New, set to NULL.
12251         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
12252
12253 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
12254
12255         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
12256         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
12257         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
12258         Add declarations.
12259         (_U_Qfneg): Remove.
12260
12261 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
12262
12263         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
12264         for H8/300, H8S aa:8 mode.
12265         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
12266         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
12267         for H8/300 aa:8 mode.
12268
12269 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
12270
12271         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
12272         insns.
12273
12274 2002-09-12  Richard Henderson  <rth@redhat.com>
12275
12276         * Makefile.in (HOST_PRINT): Use print-rtl1.o
12277         (print-rtl.o): Don't define GENERATOR_FILE.
12278         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
12279         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
12280         unless GENERATOR_FILE.
12281
12282 2002-09-12  Stan Shebs  <shebs@apple.com>
12283
12284         * config/darwin.h (USER_LABEL_PREFIX): Define here...
12285         * config/i386/darwin.h: ... instead of here.
12286
12287         * target.h (struct gcc_target): New field
12288         terminate_dw2_eh_frame_info.
12289         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
12290         (TARGET_INITIALIZER): Add it.
12291         * dwarf2out.c (output_call_frame_info): Use target hook.
12292         * dwarf2asm.c (dw2_asm_output_delta): Use macro
12293         ASM_OUTPUT_DWARF_DELTA if defined.
12294         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
12295         (ASM_OUTPUT_DWARF_DELTA): Ditto.
12296         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
12297         (ASM_OUTPUT_DWARF_PCREL): Ditto.
12298         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
12299         (powerpc-*-darwin*): Ditto.
12300         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
12301         to work correctly for Darwin.
12302         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
12303         (STARTFILE_SPEC): Add crtbegin.o.
12304         (ENDFILE_SPEC): Define.
12305         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
12306         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
12307         (ASM_OUTPUT_DWARF_DELTA): Define.
12308         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
12309         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
12310
12311 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
12312
12313         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
12314         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
12315         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
12316
12317 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
12318
12319         * toplev.c: Move default definition of USER_LABEL_PREFIX...
12320         * defaults.h: ... here.
12321
12322 2002-09-12  Richard Henderson  <rth@redhat.com>
12323
12324         * vax.c: Include tree.h earlier.
12325
12326 2002-09-12  Stan Shebs  <shebs@apple.com>
12327
12328         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
12329         (machopic_operand_p): Ditto.
12330
12331 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
12332
12333         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12334         Fix a comment typo.
12335
12336 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
12337
12338         * toplev.c (do_abort): Fix a comment typo.
12339
12340 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
12341
12342         * cselib.c: Fix comment formatting.
12343         * gengtype.c: Likewise.
12344
12345 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
12346
12347         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
12348         (udivmodhi4): Likewise.
12349
12350 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
12351             Roger Sayle  <roger@eyesopen.com>
12352
12353         * i386.c (any_fp_register_operand, fp_register_operand,
12354         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
12355         New predicate functions.
12356         * i386-protos.h:  Add their prototypes.
12357         * i386.h: Add them to PREDICATE_CODES.
12358         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
12359         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
12360         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
12361         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
12362         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
12363         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
12364         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
12365         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
12366         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
12367         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
12368         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
12369         Use these new predicates to simplify and correct the use of
12370         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
12371
12372 2002-09-12  Jason Merrill  <jason@redhat.com>
12373
12374         * diagnostic.c (output_add_identifier): New fn.
12375         * diagnostic.h: Declare it.
12376
12377         * calls.c (store_one_arg): Use size_in_bytes to determine the
12378         amount of space to push.
12379
12380 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
12381
12382         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
12383
12384 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
12385
12386         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
12387         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
12388         (s390_select_ccmode): Likewise.
12389         (s390_branch_condition_mask): Likewise.
12390         (optimization_options): Do not set flag_branch_on_count.
12391         (s390_split_branches): Handle doloop branches.
12392         (s390_chunkify_pool): Likewise.
12393         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
12394         ("doloop_end"): New expander.
12395         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
12396         associated splitters): New.
12397
12398 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
12399
12400         * genattrtab.c (simplify_cond): Remove unused variable(s).
12401         * global.c (record_conflicts): Likewise.
12402         * jump.c (rebuild_jump_labels): Likewise.
12403         * loop.c (scan_loop, check_final_value): Likewise.
12404         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
12405         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
12406         * rtlanal.c (reg_set_p): Likewise.
12407         * stmt.c (expand_asm_operands, expand_decl): Likewise.
12408         * genautomata.c (empty_reserv): Remove.
12409         * loop.c (max_luid): Likewise.
12410         * sched-rgn.c (bitlst_table_size): Likewise.
12411
12412 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
12413
12414         Reimplement gcov format.
12415         * gcov-io.h: Replace.
12416         * gcov.c: Reimplement.
12417         * gcov-iov.c: New file.
12418         * gcov-dump.c: New file.
12419         * libgcc2.c (L_bb): Replace with ...
12420         (L_gcov): ... this.
12421         (struct bb_function_info, struct bb): Remove.
12422         (inhibit_libc): Never inhibit.
12423         (gcov_list, gcov_crc): New static variables.
12424         (gcov_version_mismatch): New static function.
12425         (__bb_exit_func): Renamed to ...
12426         (__gcov_exit): ... here. Made static. Reimplement.
12427         (__gcov_init_func): Rename to ...
12428         (__gcov_init): ... here. Check version, update crc.
12429         (__bb_fork_func): Rename to ...
12430         (__gcov_flush): ... here.
12431         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
12432         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
12433         * calls.c (expand_call): Call __gcov_flush.
12434         * profile.c (bb_file, last_bb_file_name): Remove.
12435         (bbg_file_name): New global variable.
12436         (output_gcov_string): Remove.
12437         (get_exec_counts): Reimplement.
12438         (branch_prob): Reimplement gcov file writing.
12439         (init_branch_prob): Create bbg_file_name, don't create
12440         bb_file_name.
12441         (end_branch_prob): Adjust. Don't remove counter file when
12442         instrumenting ourselves.
12443         (create_profiler): Adjust.
12444         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
12445         point to gcov-io.h.
12446         * Makefile.in (LANGUAGES): Add gcov-dump.
12447         (coverageexts): Remove .bb.
12448         (STAGESTUFF): Add gcov-dump.
12449         (LIB2FUNCS_ST): Replace _bb with _gcov.
12450         (profile.o): Depend on gcov-iov.h.
12451         (final.o): Don't depend on profile.h, gcov.h.
12452         (gcov.o): Depend on gcov-iov.h.
12453         (gcov-iov.o): New target.
12454         (gcov-iov): New target.
12455         (gcov-iov.h): New target.
12456         (gcov-dump.o): New target.
12457         (GCOV_DUMP_OBJS): New variable.
12458         (gcov-dump): New target.
12459         (distclean): Remove coverageexts.
12460         (stage1): Remove coverageexts.
12461
12462 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
12463
12464         * fold-const.c (make_range): Only narrow to signed range if
12465         the signed range is smaller than the unsigned range.
12466
12467 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
12468
12469         * emit-rtl.c (set_mem_size): New function.
12470         * expr.h (set_mem_size): Declare.
12471         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
12472         (expand_block_move): Instead, use adjust_address and
12473         replace_equiv_address to generate proper aliasing info.
12474         Move common code out of conditionals.  Localize vars.
12475
12476 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
12477
12478         * optabs.c (expand_binop): Minor cleanup.
12479         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
12480
12481 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
12482
12483         * print-tree.c (print_node): Print the restrict qualifier.
12484
12485 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
12486
12487         * doc/install.texi: Fix typos.
12488
12489 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
12490
12491         * Makefile.in: Remove all references to s-under and underscore.c.
12492         * collect2.c, tlink.c: Change all uses of prepends_underscore
12493         to look directly at USER_LABEL_PREFIX.
12494
12495 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
12496
12497         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
12498         alignment to csect.
12499         (rs6000_xcoff_unique_section): Only set section name for public
12500         data.
12501         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
12502         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
12503         duplicate definition.
12504
12505 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12506
12507         * pa.md (extzv): Check predicates before emitting extzv_32.
12508         (insv): Likewise.
12509
12510 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
12511
12512         * config/s390/s390.h (MOVE_MAX): Define to correct value.
12513         (MAX_MOVE_MAX): Define.
12514         (MOVE_BY_PIECES_P): Define.
12515         (CLEAR_BY_PIECES_P): Define.
12516
12517 2002-09-10  Denis Chertykov  <denisc@overta.ru>
12518
12519         * config/avr/avr.md (movstrhi): Use right operands for conversion.
12520
12521 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
12522
12523         PR c/7873
12524         * arm.md (insv): Use reg_or_int_operand for operand[3].
12525
12526 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
12527
12528         * rs6000.c (rs6000_assemble_visibility): Protect declaration
12529         inside macro.  Correct function definition typo.
12530         (rs6000_xcoff_section_type_flags): New function.
12531         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
12532         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
12533         with appropriate PIC test.
12534         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
12535         determine readonly.
12536         (rs6000_binds_local_p): Combine PIC flags.
12537         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
12538         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
12539
12540 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12541
12542         * h8300.md: Fix signed/unsigned warnings.
12543         * mcore.md: Likewise.
12544         * mn10300.c (mask_ok_for_mem_btst): Likewise.
12545
12546 2002-09-09  Per Bothner  <per@bothner.com>
12547
12548         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
12549         characters, and only print TREE_STRING_LENGTH chars.
12550
12551 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
12552
12553         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
12554         (ASM_FILE_END) New.
12555         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
12556         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
12557         * config/ia64/ia64.c (ia64_asm_output_external): Create list
12558         of external functions if TARGET_HPUX_LD is true.
12559         (ia64_hpux_add_extern_decl): New, routine to put names on
12560         list of external functions.
12561         (ia64_hpux_asm_file_end): Put out declarations for external
12562         functions if and only if they are used.
12563
12564 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12565
12566         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
12567         on TARGET_64BIT before pic register restore.
12568
12569 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
12570
12571         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
12572         (TARGET_HAVE_TLS): New description.
12573
12574 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
12575
12576         * doc/extend.texi (Statement Exprs): Fix broken link.
12577
12578 2002-09-09  Denis Chertykov  <denisc@overta.ru>
12579
12580         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
12581         right conversion of operands[1].
12582
12583 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
12584
12585         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
12586         commutative.  Use "nonimmediate_operand" instead of "register_operand"
12587         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
12588
12589         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
12590         as commutative.
12591
12592         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
12593         mark as commutative.  Use "nonimmediate_operand" instead of
12594         "register_operand" as predicate for operand 1.
12595
12596         ("movstrictsi"): Fix typo in insn name.
12597
12598 2002-09-09  Jan Hubicka  <jh@suse.cz>
12599
12600         * i386.c (index_register_operand): New.
12601         * i386.h (predicate_codes): Add new predicate.
12602         * i386.md (lea_general_*): Use index_register_operand
12603         (ashift to lea splitter): Do not produce invalid leas
12604         (ashift to mov+ashift split): New.
12605
12606 2002-09-09  Nick Clifton  <nickc@redhat.com>
12607
12608         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
12609         Fix folding marks.
12610
12611 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12612             J"orn Rennecke <joern.rennecke@superh.com>
12613
12614         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
12615
12616 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
12617
12618         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
12619         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
12620         attributes.
12621
12622 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
12623
12624         * basic_block.h (gcov_type): Explain why it is signed.
12625         * final.c: Don't include profile.h.
12626         (struct function_list, functions_head, functions_tail,
12627         end_final): Moved to profile.c
12628         (final): Move arc chaining code to profile.c.
12629         * function.c (prepare_function_start): Remove duplicate line.
12630         * output.h (end_final): Remove prototype.
12631         * predict.c (estimate_loops_at_level): Use gcov_type.
12632         * profile.c (struct function_list, functions_head,
12633         functions_tail): Moved from final.c
12634         (need_func_profiler): Remove.
12635         (instrument_edges): Don't set need_func_profiler.
12636         (get_exec_counts): Avoid signed/unsigned warning.
12637         (compute_checksum): Use crc32.
12638         (branch_prob): Adjust. Chain onto functions_head.
12639         (init_branch_prob): Absorb init_edge_profiler.
12640         (init_edge_profiler): Remove.
12641         (create_profiler): Moved and renamed from final.c:end_final.
12642         Emit data and constructor.
12643         (output_func_start_profiler): Remove.
12644         * profile.h (struct profile_info): checksum is unsigned.
12645         * rtl.h (output_func_start_profiler): Remove prototype.
12646         (create_profiler): Declare.
12647         * toplev.c (compile_file): Call create_profiler, if instrumenting
12648         arcs. Don't call end_final.
12649
12650 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12651
12652         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
12653
12654 2002-09-08  Richard Henderson  <rth@redhat.com>
12655
12656         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
12657         (DW_OP_GNU_push_tls_address): New.
12658         (DW_OP_lo_user): Fix.
12659         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
12660         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
12661         (size_of_loc_descr): Likewise.
12662         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
12663         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
12664         (loc_descriptor_from_tree): Handle TLS variables.
12665         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
12666         (add_location_or_const_value_attribute): ... not here.  Defer
12667         to loc_descriptor_from_tree for TLS variables.
12668
12669         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
12670         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
12671         * config/i386/i386-protos.h: Update.
12672
12673 2002-09-08  Roger Sayle  <roger@eyesopen.com>
12674
12675         PR optimization/6405
12676         * unroll.c (loop_iterations): last_loop_insn should be the previous
12677         non-note instruction before loop->end.
12678         * loop.c (strength_reduce): The conditional jump is the last
12679         non-note instruction before loop->end (as above).
12680
12681 2002-09-08  Roger Sayle  <roger@eyesopen.com>
12682
12683         * combine.c (try_combine): Handle the case that undobuf.other_insn
12684         has been turned into a return or unconditional jump, by inserting
12685         a BARRIER if necessary.
12686         (simplify_set):  Test if a condition code setter has a constant
12687         comparison at compile time, if so convert this insn to a no-op move
12688         and update/simplify the condition code user (undobuf.other_insn).
12689
12690 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
12691
12692         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
12693         (CLEAR_INSN_CACHE): Define.
12694
12695 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
12696
12697         * basic-block.h: Fix comment formatting.
12698         * c-common.c: Likewise.
12699         * c-common.h: Likewise.
12700         * c-lex.c: Likewise.
12701         * c-pretty-print.c: Likewise.
12702         * cfglayout.c: Likewise.
12703         * cfgloop.c: Likewise.
12704         * defaults.h: Likewise.
12705         * et-forest.c: Likewise.
12706         * explow.c: Likewise.
12707         * function.h: Likewise.
12708         * gcov.c: Likewise.
12709         * genattrtab.c: Likewise.
12710         * gengtype.c: Likewise.
12711         * ifcvt.c: Likewise.
12712         * libgcc2.c: Likewise.
12713         * loop.c: Likewise.
12714         * profile.c: Likewise.
12715         * ra-build.c: Likewise.
12716         * real.c: Likewise.
12717         * rtl.h: Likewise.
12718         * tracer.c: Likewise.
12719         * tree-inline.c: Likewise.
12720         * varasm.c: Likewise.
12721
12722 2002-09-08  Jan Hubicka  <jh@suse.cz>
12723
12724         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
12725         handling.
12726
12727         * loop.c (loop_givs_reduce):  Emit addition after.
12728
12729 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
12730
12731         * varasm.c (default_assemble_visibility): Rename from
12732         assemble_visibility.
12733         * output.h: Here too.
12734         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
12735         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
12736
12737 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
12738
12739         * reload.c (find_reloads <p constraint>): Pass operand_mode to
12740         find_reloads_address.
12741
12742 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
12743
12744         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
12745         (anonymous pattern): Likewise.
12746
12747 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12748
12749         * machmode.def: Add modes for half-float vectors.
12750
12751 2002-09-07  Scott Snyder  <snyder@fnal.gov>
12752
12753         PR target/7374
12754         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
12755
12756 2002-09-07  Roger Sayle  <roger@eyesopen.com>
12757
12758         * basic-block.h (struct loop): Remove unused cont_dominator field.
12759
12760 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12761
12762         * varasm.c (decode_rtx_const): Don't check undefined field for
12763         CONST_VECTOR.
12764
12765 2002-09-07  Glen Nakamura  <glen@imodulo.com>
12766
12767         PR opt/7814
12768         * sched-deps.c (sched_analyze_insn): Make sure to add insn
12769         to reg_last->sets after flushing the dependency lists to guarantee
12770         that subsequent clobbers will be dependent on it.
12771
12772 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12773
12774         * combine.c (simplify_shift_const): Calculate rotate count
12775         correctly for vector operands.
12776
12777 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
12778
12779         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
12780         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
12781         tree_expr_nonnegative_p.
12782         (build_conditional_expr): Likewise.
12783         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
12784
12785 2002-09-07  Richard Henderson  <rth@redhat.com>
12786
12787         * builtins.def (inf, inff, infl): Mark const.
12788         (huge_val, huge_valf, huge_vall): Likewise.
12789         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
12790
12791         * real.c (ereal_inf): Clear E before use.
12792
12793 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
12794
12795         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
12796         an expander and an anonymous pattern.  Zero out the upper half
12797         of the dividend in the expander.
12798         (udivmodqi4): Likewise.
12799
12800 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
12801
12802         * config/h8300/h8300.c: Fix formatting.
12803         * config/h8300/h8300.h: Likewise.
12804         * config/h8300/h8300.md: Likewise.
12805
12806 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12807
12808         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
12809         information.
12810
12811 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
12812
12813        * rtlanal.c (dead_or_set_regno_p): Fix typo.
12814
12815 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
12816
12817         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12818
12819         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
12820         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
12821         (TARGET_ASM_OUT): Add the above here.
12822         * target.h (struct gcc_target): Add "visibility" field.
12823         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
12824         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
12825         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
12826         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
12827
12828 2002-09-06  Ziemowit Laski <zlaski@apple.com>
12829
12830         * c-lang.c (objc_is_id): New stub.
12831         * c-tree.h (objc_is_id): New forward declaration.
12832         * c-typeck.c (build_c_cast): Do not strip protocol
12833         qualifiers from 'id' type.
12834         * objc/objc-act.c (objc_comptypes): Correct handling
12835         of protocol qualifiers.
12836         (objc_is_id): New.
12837
12838 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
12839
12840         * pentium.md (pentium-firstvboth): Fix typo.
12841
12842 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
12843
12844         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
12845         (enum shift_type, enum h8_cpu): Likewise.
12846         (INL, ROT, LOP, SPC macros): Likewise.
12847         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
12848         const designator.
12849         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
12850         space efficient algorithms when optimize for codesize.
12851
12852 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12853
12854         Fix PR/1727 and long-standing failing testcase
12855         objc/formal-protocol-6.m.
12856         * objc-act.c (build_protocol_expr): If compiling for the GNU
12857         runtime, create a list of Protocol statically allocated instances
12858         if it doesn't exist, then add the Protocol object to this same
12859         list.
12860         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
12861         instead of TREE_CHAIN.
12862
12863 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12864
12865         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
12866         10k.  Fixed category dumping - print out category names with the
12867         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
12868         interface.
12869         (finish_objc): Fixed the -gen-decls option.  It was printing out
12870         only the last class.  Dump an interface declaration of all classes
12871         being compiled instead.
12872
12873 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
12874
12875         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
12876         prototype.
12877         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
12878         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
12879         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
12880         rather than GEN_INT.
12881         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
12882         (return_addr_mask, *check_arch2): New.
12883
12884 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
12885
12886         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
12887         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
12888         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12889         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
12890         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
12891         "adddf3", "*adddf3", "*adddf3_ibm",
12892         "addsf3", "*addsf3", "*addsf3_ibm",
12893         "muldi3", "mulsi3", "mulsidi3",
12894         "muldf3", "*muldf3", "*muldf3_ibm",
12895         "mulsf3", "*mulsf3", "*mulsf3_ibm",
12896         "*anddi3_cc", "*anddi3_cconly", "anddi3",
12897         "*andsi3_cc", "*andsi3_cconly", "andsi3",
12898         "*iordi3_cc", "*iordi3_cconly", "iordi3",
12899         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
12900         "*xordi3_cc", "*xordi3_cconly", "xordi3",
12901         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
12902         instead of "register_operand" as predicate for "%0" operand.
12903
12904 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
12905
12906         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
12907         unconditionally when gcc_cv_as_flags64 checks are gone.
12908         * configure: Rebuilt.
12909
12910 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
12911
12912         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
12913         2002-07-26 change.  Comment.
12914
12915 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12916
12917         * frv.c (frv_unique_section, frv_select_section,
12918         frv_select_rtx_section): Delete.
12919         (frv_in_small_data_p): New.
12920         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
12921         TARGET_ASM_SELECT_RTX_SECTION): Delete.
12922         (TARGET_IN_SMALL_DATA_P): Define.
12923
12924 2002-09-05  Dale Johannesen  <dalej@apple.com>
12925
12926         * reload1.c (reload):  Retain only those memory clobbers
12927         added for variable-array handling.
12928
12929 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
12930
12931         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
12932         return-in-memory rules.
12933         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
12934
12935 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
12936
12937         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
12938         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
12939
12940 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
12941
12942         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
12943         not a compile-time constant for the non-IBM case.
12944         * config/arm/arm-protos.h (arm_float_words_big_endian): New
12945         prototype.
12946         * config/arm/arm.c (arm_float_words_big_endian): New function.
12947         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
12948         if TARGET_VFP  and not TARGET_HARD_FLOAT.
12949         (ARM_FLAG_VFP, TARGET_VFP): Define.
12950         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
12951
12952 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
12953
12954         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
12955         URLs.  Fix AIX wording.
12956
12957 2002-09-05  Stan Shebs  <shebs@apple.com>
12958
12959         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
12960         -fPIC equivalent on Darwin.
12961
12962 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
12963
12964         * sh.c (sh_expand_builtin): Return early if encountering an
12965         error_mark for a type.
12966
12967 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
12968
12969         * config/s390/s390.c (s390_expand_plus_operand): Do not require
12970         double-word scratch register.
12971         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
12972
12973         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
12974         "*cli"): Replace s_operand by memory_operand.
12975         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
12976
12977 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
12978
12979         * config/h8300/h8300.c (asm_file_start): Add a missing
12980         semicolon.
12981
12982 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
12983
12984         * c-typeck.c (build_function_call): Remove unused variable(s).
12985         (build_c_cast): Likewise.
12986         * calls.c (rtx_for_function_call): Likewise.
12987         * cfglayout.c (duplicate_insn_chain): Likewise.
12988         * cfgloop.c (flow_loop_nodes_find): Likewise.
12989         * cfgrtl.c (split_edge): Likewise.
12990         * df.c (df_ref_create): Likewise.
12991         * except.c (expand_end_catch): Likewise.
12992         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
12993         * function.c (emit_return_into_block): Likewise.
12994         (reposition_prologue_and_epilogue_notes): Likewise.
12995         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
12996         * combine.c (subst_prev_insn, need_refresh): Remove.
12997         * dwarf2out.c (primary_filename): Remove.
12998         * final.c (new_block): Remove.
12999         * gcse.c (orig_bb_count): Remove.
13000
13001 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13002
13003         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
13004         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
13005         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
13006         directly instead of using a function pointer.
13007
13008 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
13009
13010         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
13011         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
13012         (ix86_output_addr_diff_elt) Likewise.
13013         (x86_output_mi_thunk) Likewise.
13014         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
13015
13016 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13017
13018         * frv.c (frv_encode_section_info): Fix error in last change.
13019
13020 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
13021
13022         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
13023         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
13024         (TARGET_BINDS_LOCAL_P): Define.
13025         (rs6000_override_options): Save original flag_pic value.
13026         (rs6000_elf_select_section): Call default_elf_select_section_1.
13027         (rs6000_elf_unique_section): Call default_unique_section_1.
13028         (rs6000_elf_in_small_data_p): New function.
13029         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
13030         (rs6000_xcoff_select_section): Update based on defaults.
13031         (rs6000_xcoff_unique_section): Set to basic name if not common.
13032         (rs6000_binds_local_p): New function.
13033         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
13034         targetm.have_srodata_section if SDATA_EABI.
13035         (TARGET_IN_SMALL_DATA_P): Define.
13036
13037 2002-09-04  Dale Johannesen  <dalej@apple.com>
13038
13039         * varasm.c (struct rtx_const, decode_rtx_const):
13040         Make veclo and vechi fields not share storage.
13041
13042 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
13043
13044         * loop.c (scan_loop): Don't mark separate insns out of a libcall
13045         for moving.
13046         (move_movables): Abort if we see the first insn of a libcall.
13047
13048 2002-09-04  Richard Henderson  <rth@redhat.com>
13049
13050         * builtin-types.def (BT_FN_FLOAT): New.
13051         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
13052         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
13053         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
13054         * builtins.c (fold_builtin_inf): New.
13055         (fold_builtin): Call it.
13056         * real.c (ereal_inf): New.
13057         * real.h: Declare it.
13058         * doc/extend.texi: Document new builtins.
13059
13060 2002-09-04  Richard Henderson  <rth@redhat.com>
13061
13062         * cse.c (cse_insn): Avoid subreg games if the equivalence
13063         is already in the proper mode.
13064
13065 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
13066
13067         PR c/7102
13068         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
13069
13070 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13071
13072         * pa.md (setccfp0, setccfp1): New patterns.
13073
13074 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13075
13076         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
13077         frv_select_section, frv_select_rtx_section,
13078         frv_encode_section_info, frv_unique_section): Delete.
13079         * frv.c: Update for target hooks.
13080         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
13081         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
13082         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
13083
13084 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13085
13086         * ip2k-protos.h (function_prologue, function_epilogue,
13087         encode_section_info): Update to match target hook specification.
13088         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
13089         (function_prologue, function_epilogue, encode_section_info):
13090         Update to match target hook specification.
13091         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
13092         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
13093         (NOTICE_UPDATE_CC): Cast to void.
13094         * ip2k.md: Add defaults in switch statements.
13095
13096 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
13097
13098         * doc/trouble.texi (Interoperation): Update information about C++ ABI
13099         issues.
13100
13101 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
13102
13103         * config/sparc/t-netbsd64: Disable multilib for now.
13104
13105 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
13106
13107         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
13108         * target.h (gcc_target): Add have_srodata_section member.
13109         * varasm.c (section_category): Add SECCAT_SRODATA.
13110         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
13111         READONLY_SDATA_SECTION defined.
13112         (decl_readonly_section_1): True for SECCAT_SRODATA also.
13113         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
13114         (default_unique_section_1): Likewise.
13115
13116 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13117
13118         * expr.c (emit_group_load): Revise to allow splitting TCmode source
13119         into DImode pieces.
13120
13121         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
13122         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
13123         for floating-point register class.
13124         * pa.c (function_arg): Fix handling of modes wider than one word for
13125         TARGET_64BIT.
13126
13127 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
13128
13129         * combine.c (make_compound_operation): Don't generate zero / sign
13130         extensions in floating point modes.
13131
13132 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
13133
13134         * doc/c-tree.texi: Fix overfull hboxes.
13135         * doc/cppopts.texi: Ditto.
13136         * doc/extend.texi: Ditto.
13137         * doc/gty.texi: Ditto.
13138         * doc/invoke.texi: Ditto.
13139         * doc/makefile.texi: Ditto.
13140         * doc/rtl.texi: Ditto.
13141         * doc/standards.texi: Ditto.
13142         * doc/tm.texi: Ditto.
13143
13144 2002-09-04  Richard Henderson  <rth@redhat.com>
13145
13146         * c-common.c (builtin_define_with_hex_fp_value): New.
13147         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
13148
13149 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
13150
13151         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
13152         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
13153         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
13154         Warn that these options can break ABI compatibility.
13155
13156 2002-09-04  Richard Henderson  <rth@redhat.com>
13157
13158         * real.c (ereal_to_decimal): Add digits parameter.
13159         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
13160         * c-pretty-print.c (pp_c_real_literal): Update call.
13161         * print-rtl.c (print_rtx): Likewise.
13162         * print-tree.c (print_node_brief, print_node): Likewise.
13163         * sched-vis.c (print_value): Likewise.
13164         * config/arc/arc.c (arc_print_operand): Likewise.
13165         * config/c4x/c4x.c (c4x_print_operand): Likewise.
13166         * config/i370/i370.h (PRINT_OPERAND): Likewise.
13167         * config/i386/i386.c (print_operand): Likewise.
13168         * config/i960/i960.c (i960_print_operand): Likewise.
13169         * config/ip2k/ip2k.c (asm_output_float): Likewise.
13170         * config/m32r/m32r.c (m32r_print_operand): Likewise.
13171         * config/m68hc11/m68hc11.c (print_operand): Likewise.
13172         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
13173         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
13174         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
13175         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
13176         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
13177         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
13178         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
13179         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
13180         * config/mips/mips.c (print_operand): Likewise.
13181         * config/ns32k/ns32k.c (print_operand): Likewise.
13182         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
13183         * config/vax/vax.h (PRINT_OPERAND): Likewise.
13184         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
13185
13186 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
13187
13188         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
13189         xtensa_multibss_section_type_flags.
13190         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
13191
13192 2002-09-04  Richard Henderson  <rth@redhat.com>
13193
13194         * doc/install-old.texi: Don't mention enquire.
13195         * doc/sourcebuild.texi: Update float.h description.
13196
13197 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
13198
13199         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
13200
13201 2002-09-03  Roger Sayle  <roger@eyesopen.com>
13202
13203         * builtins.c (build_function_call_expr): Remove prototype, export
13204         as non-static and add a comment above function definition.
13205         (builtin_mathfn_code): New function to check for math builtins.
13206         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
13207         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
13208         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
13209         log(sqrt(x)) as log(x)/2.0.
13210
13211         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
13212         in new "builtins.c" section.  Place the build_range_type prototype
13213         with the other prototypes from "tree.c".
13214
13215         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
13216         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
13217         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
13218         x/exp(y) as x*exp(-y).
13219
13220 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
13221
13222         * varasm.c (default_section_type_flags): Append _1 to name with
13223         shlib parameter.  Use original name to call new function with
13224         implicit flag_pic.
13225         (decl_readonly_section): Likewise.
13226         (default_elf_select_section): Likewise.
13227         (default_unique_section): Likewise.
13228         (default_bind_local_p): Likewise.
13229         (categorize_decl_for_section): Add shlib parameter to use in place
13230         of implicit flag_pic.
13231         * output.h: Declare new functions with _1 and shlib argument.
13232
13233 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
13234
13235         * doc/install.texi: Fix typos, formatting problems, and obvious
13236         overfull/underfull boxes.
13237
13238         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
13239         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
13240         include its file, compat.texi.
13241         * doc/compat.texi: New file with new chapter, Binary Compatibility.
13242
13243 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
13244
13245         Debian BTS Bug #157416
13246         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
13247         * cpplib.c (destringize_and_run): Kludge around getting
13248         tokens from in-progress macros.
13249         (_cpp_do__Pragma): Simplify.
13250
13251 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
13252
13253         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
13254         (CPP_CPU_SPEC): Remove.
13255         (TARGET_CPU_CPP_BUILTINS): New.
13256         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
13257         (CPP_SPEC): Remove.
13258         (TARGET_OS_CPP_BUILTINS): New.
13259         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
13260         (TARGET_OS_CPP_BUILTINS): New.
13261         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
13262         TARGET_OS_CPP_BUILTINS.
13263         (CPP_PREDEFINES): Remove.
13264         (CPLUSPLUS_CPP_SPEC): Remove.
13265         (TARGET_OS_CPP_BUILTINS): New.
13266
13267 2002-09-03  Richard Henderson  <rth@redhat.com>
13268
13269         * Makefile.in (USER_H): Add ginclude/float.h.
13270         (FLOAT_H): Remove.
13271         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
13272         (mostlyclean): Don't remove float.h intermediate files.
13273         (distclean): Don't remove float.h.
13274         * config.gcc: Remove all float_format references.
13275         * configure.in (float_format, float_h_file): Remove.
13276
13277         * c-common.c: Include tree-inline.h.
13278         (builtin_define_with_int_value): New.
13279         (builtin_define_type_precision): Use it.
13280         (builtin_define_float_constants): New.
13281         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
13282         __FLT_EVAL_METHOD__.
13283         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
13284         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
13285         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
13286         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
13287         (TARGET_FLT_EVAL_METHOD): New.
13288
13289         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
13290         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
13291         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
13292         * ginclude/float.h: New.
13293
13294 2002-09-03  Stan Shebs  <shebs@apple.com>
13295
13296         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
13297         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
13298         (PREFERRED_DEBUGGING_TYPE): Ditto.
13299         (ASM_OUTPUT_IDENT): Remove empty definition.
13300
13301 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
13302
13303         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
13304         cxx_target.
13305         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
13306         handling routine for builtin pragma.
13307         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
13308         Registered pragma handling routine.
13309         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
13310         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
13311         If builtin pragma seen for math routine and C89 conformance is
13312         requested use different math function in order to set errno.
13313         * t-ia64 (ia64-c.o): Add new rule for new file.
13314
13315 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
13316
13317         * config/s390/s390.md ("movti"): Add Q->Q alternative.
13318         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
13319         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
13320
13321         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
13322         "*movsf_ss"): Remove.
13323
13324 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13325
13326         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
13327         Delete macros.
13328
13329 2002-09-03   Arati Dikey  <aratid@kpit.com>
13330
13331         * h8300.c (asm_file_start): Corrected optimization comment.
13332
13333 2002-09-03  Stan Shebs  <shebs@apple.com>
13334
13335         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
13336         * c-tree.h (recognize_objc_keyword): Remove decl.
13337         * c-typeck.c (comp_target_types): Update a comment.
13338
13339 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
13340
13341         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
13342         and register validity checks.
13343         (general_s_operand): Adapt to s390_decompose_address interface change.
13344         (q_constraint): Likewise.
13345         (s390_expand_plus_operand): Likewise.
13346         (legitimiate_address_p): Likewise.
13347         (legitimate_la_operand_p): Likewise.
13348         (legitimize_la_operand): Likewise.
13349         (print_operand_address): Likewise.
13350         (print_operand): Likewise.
13351
13352 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13353
13354         PR objc/5956:
13355         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
13356         was causing the new selector never to match the existing ones
13357         (Patch by Alexander Malmberg <alexander@malmberg.org>).
13358
13359 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
13360
13361         * config/i386/i386.md ("femms"): Add "memory" attr "none".
13362
13363 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
13364
13365         * expr.c (expand_expr): Remove extraneous comment and code.
13366
13367 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
13368
13369         * stor-layout (finish_builtin_struct): Renamed and moved from c++
13370         frontend. Take chain of fields. Allow NULL alignment type.
13371         * tree.h (finish_builtin_struct): Declare.
13372
13373 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13374
13375         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
13376         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
13377         config/arc/arc.c config/arc/arc.h config/arm/aout.h
13378         config/arm/arm.c config/arm/arm.h config/arm/arm.md
13379         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
13380         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
13381         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
13382         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
13383         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
13384         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
13385         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
13386         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
13387         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
13388         config/pa/pa.h config/pa/pa.md config/romp/romp.h
13389         config/rs6000/linux64.h config/rs6000/lynx.h
13390         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
13391         config/s390/s390.c config/s390/s390.md config/sh/sh.c
13392         config/sparc/sparc.c config/sparc/sysv4.h
13393         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
13394         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
13395         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
13396
13397         * doc/tm.texi: Update docs.
13398         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
13399         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
13400
13401 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13402
13403         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
13404         * arc.c (arc_internal_label): New function.
13405         (TARGET_ASM_INTERNAL_LABEL): Set.
13406         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13407         * arm.c (arm_internal_label): New function.
13408         (TARGET_ASM_INTERNAL_LABEL): Set.
13409         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13410         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13411         * i370.c (i370_internal_label): New function.
13412         (TARGET_ASM_INTERNAL_LABEL): Set.
13413         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13414         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13415         * m68k.c (m68k_hp320_internal_label): New function.
13416         (TARGET_ASM_INTERNAL_LABEL): Set.
13417         * m88k.c (m88k_internal_label): New function.
13418         (TARGET_ASM_INTERNAL_LABEL): Set.
13419         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13420         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
13421         * genoutput.c (output_prologue): Include target.h in output file.
13422         * output.h (default_internal_label): Declare.
13423         * sdbout.c: Include target.h.
13424         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
13425         TARGET_ASM_OUT.
13426         * target.h (internal_label): Add to struct gcc_target.
13427         * varasm.c (default_internal_label): New function.
13428
13429 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13430
13431         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13432         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13433         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13434         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13435         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13436         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13437         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13438         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13439         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13440         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13441         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13442         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13443         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13444         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13445         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13446         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13447         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13448         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13449         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13450         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13451         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13452         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13453         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13454         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13455         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13456         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
13457         * mmix.c (mmix_asm_output_internal_label): Likewise.
13458         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13459         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13460         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13461         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13462         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13463         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13464         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13465         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13466         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13467         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13468         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13469         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13470         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13471         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13472         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13473         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13474         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13475         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13476         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13477
13478         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
13479
13480 2002-08-31  Richard Henderson  <rth@redhat.com>
13481
13482         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
13483
13484 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13485
13486         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
13487
13488 2002-08-30  Richard Henderson  <rth@redhat.com>
13489
13490         PR opt/7515
13491         * c-objc-common.c: Include target.h.
13492         (c_cannot_inline_tree_fn): Don't auto-inline functions that
13493         don't bind locally.  Factor setting DECL_UNINLINABLE.
13494         * Makefile.in (c-objc-common.o): Update.
13495
13496 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
13497
13498         * doc/install.texi (Configuration, Building): Fix a typo and
13499         some formatting directives.
13500
13501 2002-08-30  Paul Koning <pkoning@equallogic.com>
13502
13503         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
13504         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
13505         implemented" note.
13506         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
13507         for alphabetic order.
13508         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
13509         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
13510         (VAX_HALFWORD_ORDER): Document.
13511         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
13512         IEEE float format.
13513         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
13514         (ASM_OUTPUT_LABEL_REF): Fix font.
13515         (CASE_VECTOR_SHORTEN_MODE): Ditto.
13516
13517 2002-08-30  Denis Chertykov  <denisc@overta.ru>
13518
13519         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
13520         stuff.
13521         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
13522         CONST_DOUBLE constants.
13523
13524 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
13525
13526         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
13527         related defines to...
13528         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
13529         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
13530         as a no-op.
13531
13532 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
13533
13534         * config/arm/arm.c (arm_asm_output_labelref): New function.
13535         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
13536         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
13537
13538 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
13539
13540         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
13541         memory exhausted" workarounds.
13542
13543 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13544
13545         * diagnostic.c (fancy_abort): Don't repeat "internal error".
13546         * toplev.c (crash_signal): Likewise.
13547
13548 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13549
13550         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
13551         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
13552         Extended, updated documentation.
13553         (-Wundeclared-selector): Documented.
13554
13555 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
13556
13557         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
13558         the value 1.  Do not undef before defining.
13559         * config/darwin.h: Likewise.
13560         * config/dbx.h: Likewise.
13561         * config/dbxcoff.h: Likewise.
13562         * config/dbxelf.h: Likewise.
13563         * config/elfos.h: Likewise.
13564         * config/interix.h: Likewise.
13565         * config/lynx-ng.h: Likewise.
13566         * config/lynx.h: Likewise.
13567         * config/netware.h: Likewise.
13568         * config/psos.h: Likewise.
13569         * config/svr3.h: Likewise.
13570         * config/alpha/alpha.h: Likewise.
13571         * config/alpha/elf.h: Likewise.
13572         * config/alpha/vms.h: Likewise.
13573         * config/arc/arc.h: Likewise.
13574         * config/arm/aout.h: Likewise.
13575         * config/arm/coff.h: Likewise.
13576         * config/c4x/c4x.h: Likewise.
13577         * config/h8300/h8300.h: Likewise.
13578         * config/i386/cygwin.h: Likewise.
13579         * config/i386/djgpp.h: Likewise.
13580         * config/i386/gas.h: Likewise.
13581         * config/i386/gstabs.h: Likewise.
13582         * config/i386/i386-coff.h: Likewise.
13583         * config/i386/i386-interix.h: Likewise.
13584         * config/i386/sco5.h: Likewise.
13585         * config/i386/svr3dbx.h: Likewise.
13586         * config/i386/sysv3.h: Likewise.
13587         * config/i386/win32.h: Likewise.
13588         * config/i386/x86-64.h: Likewise.
13589         * config/i960/i960.h: Likewise.
13590         * config/ia64/ia64.h: Likewise.
13591         * config/ip2k/ip2k.h: Likewise.
13592         * config/m32r/m32r.h: Likewise.
13593         * config/m68k/3b1.h: Likewise.
13594         * config/m68k/3b1g.h: Likewise.
13595         * config/m68k/ccur-GAS.h: Likewise.
13596         * config/m68k/coff.h: Likewise.
13597         * config/m68k/hp2bsd.h: Likewise.
13598         * config/m68k/hp310g.h: Likewise.
13599         * config/m68k/hp320g.h: Likewise.
13600         * config/m68k/hp3bsd.h: Likewise.
13601         * config/m68k/hp3bsd44.h: Likewise.
13602         * config/m68k/linux-aout.h: Likewise.
13603         * config/m68k/m68k-aout.h: Likewise.
13604         * config/m68k/mot3300.h: Likewise.
13605         * config/m68k/netbsd.h: Likewise.
13606         * config/m68k/openbsd.h: Likewise.
13607         * config/m68k/pbb.h: Likewise.
13608         * config/m68k/plexus.h: Likewise.
13609         * config/m68k/sun2.h: Likewise.
13610         * config/m68k/sun3.h: Likewise.
13611         * config/m68k/tower-as.h: Likewise.
13612         * config/m68k/vxm68k.h: Likewise.
13613         * config/m88k/aout-dbx.h: Likewise.
13614         * config/m88k/m88k-aout.h: Likewise.
13615         * config/mcore/mcore-elf.h: Likewise.
13616         * config/mcore/mcore-pe.h: Likewise.
13617         * config/mips/elf.h: Likewise.
13618         * config/mips/elf64.h: Likewise.
13619         * config/mips/iris5gas.h: Likewise.
13620         * config/mips/iris6.h: Likewise.
13621         * config/mips/mips.h: Likewise.
13622         * config/mips/sni-gas.h: Likewise.
13623         * config/mmix/mmix.h: Likewise.
13624         * config/ns32k/netbsd.h: Likewise.
13625         * config/pa/pa64-hpux.h: Likewise.
13626         * config/romp/romp.h: Likewise.
13627         * config/rs6000/sysv4.h: Likewise.
13628         * config/rs6000/xcoff.h: Likewise.
13629         * config/sh/coff.h: Likewise.
13630         * config/sh/elf.h: Likewise.
13631         * config/sparc/linux64.h: Likewise.
13632         * config/sparc/liteelf.h: Likewise.
13633         * config/sparc/netbsd.h: Likewise.
13634         * config/sparc/openbsd.h: Likewise.
13635         * config/sparc/pbd.h: Likewise.
13636         * config/sparc/sp64-elf.h: Likewise.
13637         * config/sparc/sp86x-elf.h: Likewise.
13638         * config/sparc/sparc.h: Likewise.
13639         * config/vax/vax.h: Likewise.
13640         * config/vax/vaxv.h: Likewise.
13641
13642 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
13643
13644         * h8300.c (shift_alg_hi): Various tweaks to improve performance
13645         of HImode shifts.
13646         (get_shift_alg): Corresponding changes.
13647
13648 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13649
13650         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
13651
13652 2002-08-29  Richard Henderson  <rth@redhat.com>
13653
13654         * expr.h (enum block_op_methods): New.
13655         (emit_block_move): Update prototype.
13656         * expr.c (block_move_libcall_safe_for_call_parm): New.
13657         (emit_block_move_via_loop): New.
13658         (emit_block_move): Use them.  New argument METHOD.
13659         (emit_push_insn): Always respect the given alignment.
13660         (expand_assignment): Update call to emit_block_move.
13661         (store_expr, store_field, expand_expr): Likewise.
13662         * builtins.c (expand_builtin_apply): Likewise.
13663         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
13664         * function.c (expand_function_end): Likewise.
13665         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
13666         * config/sparc/sparc.c (sparc_va_arg): Likewise.
13667         * calls.c (expand_call, emit_library_call_value_1): Likewise.
13668         (save_fixed_argument_area): Use emit_block_move with
13669         BLOCK_OP_CALL_PARM instead of move_by_pieces.
13670         (restore_fixed_argument_area): Likewise.
13671         (store_one_arg): Fix alignment parameter to emit_push_insn.
13672
13673 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13674
13675         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
13676
13677 2002-08-29  Catherine Moore  <clm@redhat.com>
13678
13679         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
13680         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
13681         (PREDICATE_CODES): Include new predicates.
13682         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
13683         (TARGET_SWITCHES):  Add strict-align.
13684         (TARGET_STRICT_ALIGN): New.
13685         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
13686         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
13687         Define.
13688         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
13689         v850_muldi3.
13690         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
13691         L_callt_save_r2_r31, L_return_r2_r31,
13692         L_save_all_interrupt): Change addi to add.
13693         (L_save_interrupt, L_return_interrupt): Rework.
13694         (__return_r31):  Correct .size directive.
13695         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
13696         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
13697         New routines.
13698         * config/v850/v850.c (expand_prologue): Call
13699         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
13700         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
13701         (reg_or_int9_operand): New predicate.
13702         (reg_or_const_operand): New routine.
13703         * config/v850/v850.md (return_interrupt): Changed from
13704         restore_interrupt.
13705         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
13706         (callt_save_interrupt): Change save sequence.
13707         (callt_return_interrupt): New.
13708         (save_interrupt): Don't use runtime function for LONG_CALLS
13709         and TARGET_PROLOG_FUNCTION.
13710         (save_all_interrupt): Likewise.
13711         (mulsi3): Use new predicate.
13712         (moviscc): Disallow some combination of constants.
13713         Fix define_split for sasf insns, so that it will not generate bad
13714         code if operand0 and operand5 are the same.
13715         * config/v850/v850-protos.h: Prototype new predicates.
13716
13717 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
13718
13719         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
13720         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
13721
13722 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13723
13724         * c-common.c (builtin_define_type_precision): New function.
13725         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
13726         wchar_t is unsigned in C++.
13727         * doc/cpp.texi (Common Predefined Macros): Document
13728         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
13729         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
13730         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
13731
13732 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
13733
13734         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
13735         section.  Mention that it is enabled by -Wall.
13736         (-Wall): Mention that there can be language-specific warnings as well.
13737         (-Wctor-dtor-privacy): Mention that it is enabled by default.
13738         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
13739
13740 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13741
13742         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
13743         if it is ever live.
13744
13745         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
13746         attribute for SHCOMPACT.
13747
13748         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
13749         appropriately.
13750         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
13751         by the ABI.
13752
13753         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
13754
13755 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
13756
13757         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
13758         "MASK_GAS|MASK_ABICALLS".
13759         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
13760         (TARGET_DEFAULT): Remove.
13761         (MACHINE_TYPE): Undefine before defining.
13762         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
13763
13764 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
13765
13766         * c-common.c (warn_abi): New variable.
13767         * c-common.h (warn_abi): Likewise.
13768         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
13769         (c_common_decode_option): Handle it.
13770         * doc/invoke.texi: Document -Wabi.
13771
13772 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13773
13774         * c-common.c (warn_undeclared_selector): New variable.
13775         * c-common.h (warn_undeclared_selector): Idem.
13776         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
13777         to on when -Wundeclared-selector is found.
13778         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
13779         * objc/objc-act.c (build_selector_expr): If
13780         warn_undeclared_selector is set, check that the selector has
13781         already been defined, and emit a warning if not.
13782
13783 2002-08-27  Nick Clifton  <nickc@redhat.com>
13784             Catherine Moore  <clm@redhat.com>
13785             Jim Wilson  <wilson@cygnus.com>
13786
13787         * config.gcc: Add v850e-*-* target.
13788         Add --with-cpu= support for v850.
13789         * config/v850/lib1funcs.asm: Add v850e callt functions.
13790         * config/v850/v850.h: Add support for v850e target.
13791         * config/v850/v850.c: Add functions to support v850e target.
13792         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
13793         * config/v850/v850.md: Add patterns for v850e instructions.
13794         * doc/invoke.texi: Document new v850e command line switches.
13795
13796 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
13797                           Aldy Hernandez <aldyh at redhat dot com>
13798
13799         * doc/tm.texi: Applied numerous fixes to the automaton based
13800         scheduler descrition.
13801
13802 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
13803
13804         * i386.c (classify_argument): Handle variable sized objects.
13805
13806 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
13807
13808         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
13809
13810 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
13811
13812         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
13813
13814 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
13815
13816         * i386.c (classify_argument): Properly compute word size of the analyzed object.
13817
13818 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
13819
13820         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
13821         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
13822         accordingly.
13823         (attribute insn_class): Provide default definitions based on type.
13824         Remove all insn-specific settings.
13825         (various function units): Remove old SH4 scheduling.
13826         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
13827         New attributes.  Set them where appropriate.
13828         (cpu unit FS): Don't define / use.
13829         (F3, load_store): New cpu units.
13830         (F01): New reservation.
13831         (all insn_reservations): Make dependent on sh4 pipeline model.
13832         Fix latencies.
13833         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
13834         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
13835         (mt insn_reservation): Use type mt_group.
13836         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
13837         sh4_fload and sh4_store.
13838         (insn_reservation branch_zero and branch): Replace with sh4_branch.
13839         (insn_reservation branch_far): Replace with sh4_return.
13840         (insn_reservation return_from_exp): Rename to:
13841         (sh4_return_from_exp).  Change to be just d_lock*5.
13842         (insn_reservation lds_to_pr): Rename to:
13843         (sh4_lds_to_pr).  Change to be just d_lock*2.
13844         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
13845         d_lock*2.
13846         (insn_reservation prload_mem): Rename to:
13847         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
13848         (insn_reservation fpscr_store): Rename to:
13849         (fpscr_load).  Change to d_lock,nothing,F1*3.
13850         (insn_reservation fpscr_store_mem): Rename to:
13851         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
13852         (insn_reservation multi): Change to
13853         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
13854         (insn_reservation fp_arith): Change to issue,F01,F2.
13855         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
13856         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
13857         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
13858         (insn_reservation fp_double_cmp): Change to
13859         d_lock,(d_lock+F01),F1+F2,F2.
13860         (insn_reservation dp_div): Change to
13861         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
13862         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
13863         (sh_adjust_cost, SHcompact): Differentiate between different
13864         kinds of dependencies.  Drop factor of ten for superscalar.
13865         Use new instruction types.  Add new exception rules.
13866
13867         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
13868
13869         * sh.md (mperm_w): Add DONE.
13870
13871 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
13872
13873         * longlong.h: Import current PowerPC defintion from GMP-4.1.
13874
13875         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
13876
13877         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
13878
13879 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13880
13881         * sh.h (MAX_FIXED_MODE_SIZE): Define.
13882
13883 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
13884
13885         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
13886         delimiter.
13887
13888 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13889
13890         * c-common.c (cpp_define_data_format): New function.
13891         (cb_register_builtins): Call it.
13892
13893         * doc/cpp.texi (Common Predefined Macros): Document
13894         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
13895         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
13896         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
13897         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
13898         __TARGET_USES_VAX_H_FLOAT__.
13899
13900 2002-08-26  Ziemowit Laski <zlaski@apple.com>
13901
13902         * objc/objc-act.c (get_super_receiver): If inside a class method
13903         of a category, cast the receiver to 'id' before accessing the 'isa'
13904         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
13905
13906 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
13907
13908         * config/s390/s390-protos.h (s390_function_prologue,
13909         s390_function_epilogue): Remove.
13910         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
13911         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
13912
13913         config/s390/s390.c (s390_machine_dependent_recorg): New function.
13914         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
13915         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
13916         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
13917         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
13918
13919         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
13920         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
13921         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
13922         function is not a leaf function.  Use save_gprs and restore_gprs.
13923         (s390_emit_epilogue): Likewise.
13924         (save_gprs, restore_gprs): New functions.
13925         (struct s390_frame): Remove return_reg_saved_p member.
13926         (save_fprs_p): Remove.
13927         (s390_optimize_prolog): New function.
13928         (s390_legitimate_reload_constant): Remove now unnecessary check.
13929
13930         (s390_function_count): Remove.
13931         (s390_output_symbolic_const): Replace s390_function_count by
13932         current_function_funcdef_no.
13933         (s390_output_constant_pool): Likewise.
13934
13935         (legitimize_pic_address): Use regs_ever_live to track PIC register
13936         instead of current_function_uses_pic_offset_table.
13937         (s390_emit_prologue): Likewise.
13938         config/s390/s390.md ("call", "call_value"): Likewise.
13939
13940 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
13941
13942         * c-opts.c (find_opt): Don't complain about wrong languages
13943         here.  Return exact matches even for wrong language.
13944         (c_common_decode_option): Complain about wrong languages
13945         here.
13946
13947 2002-08-24  Stuart Hastings  <stuart@apple.com>
13948
13949         * function.h (struct function): Add flag
13950         all_throwers_are_sibcalls.
13951         * except.c (set_nothrow_function_flags): Replaces
13952         nothrow_function_p. Set new flag.
13953         * except.h (set_nothrow_function_flags): Replaces
13954         nothrow_function_p.
13955         * dwarf2out.c (struct dw_fde_struct): Add flag
13956         all_throwers_are_sibcalls.
13957         (output_call_frame_info): Test it.
13958         (dwarf2out_begin_prologue) Propagate it from cfun to
13959         dw_fde_struct.
13960         * toplev.c (rest_of_compilation): Update calls to
13961         nothrow_function_p.
13962
13963 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
13964
13965         * ggc-page.c (compute_inverse): Short circuit calculation for
13966         object sizes larger than half a page.
13967
13968 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
13969
13970         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
13971         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
13972         default.
13973         (rs6000_elf_unique_section): Likewise.
13974
13975 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13976
13977         * ns32k.c (ns32k_globalize_label): Delete.
13978         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
13979
13980 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
13981
13982         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
13983         for loading delta with num_insns_constant_wide.  Calculate
13984         delta_low, delta_high without using a conditional.
13985
13986 2002-08-22  Jason Merrill  <jason@redhat.com>
13987
13988         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
13989         * c-common.def: Adjust.
13990         * c-dump.c (c_dump_tree): Adjust.
13991         * c-semantics.c (genrtl_return_stmt): Adjust.
13992         * c-pretty-print.c (pp_c_statement): Adjust.
13993         * tree-inline.c (copy_body_r): Adjust.
13994
13995 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
13996
13997         * ggc-page.c: Avoid division in ggc_set_mark.
13998         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
13999         compute_inverse): New.
14000         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
14001         (init_ggc): Initialize inverse_table.
14002
14003 2002-08-22  Tom Tromey  <tromey@redhat.com>
14004
14005         * doc/install.texi (Configuration): Document --datadir.
14006
14007 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
14008
14009         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
14010
14011 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
14012
14013         * gengtype-lex.l (ID): Allow underscore as first character.
14014
14015 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
14016
14017         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
14018         function.
14019         (rs6000_xcoff_asm_named_section): Rename.
14020         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
14021
14022 2002-08-21  Tom Tromey  <tromey@redhat.com>
14023
14024         For PR java/6005 and PR java/7611:
14025         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
14026         (fold): Likewise.
14027         * langhooks.c (lhd_can_use_bit_fields_p): New function.
14028         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
14029         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
14030         (LANG_HOOKS_INITIALIZER): Use it.
14031         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
14032         field.
14033
14034 2002-08-21  Stan Shebs  <shebs@apple.com>
14035
14036         * tree.c (finish_vector_type): Fix a typo in a comment.
14037         * Makefile.in: Fix "the the" stutters in comments.
14038         * genautomata.c: Ditto.
14039         * ifcvt.c: Ditto.
14040         * regrename.c: Ditto.
14041         * config/alpha/alpha.c: Ditto.
14042         * config/alpha/vms-crt0-64.c: Ditto.
14043         * config/alpha/vms-crt0.c: Ditto.
14044         * config/alpha/vms-psxcrt0-64.c: Ditto.
14045         * config/alpha/vms-psxcrt0.c: Ditto.
14046         * config/d30v/d30v.h: Ditto.
14047         * config/fr30/fr30.h: Ditto.
14048         * config/rs6000/rs6000.c: Ditto.
14049         * config/stormy16/stormy16.h: Ditto.
14050         * doc/md.texi: Ditto.
14051
14052 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14053
14054         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
14055
14056 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
14057
14058         * c-decl.c (grokdeclarator): Make invalid combinations with long,
14059         short, signed or unsigned into hard errors.  Fixes PR c/4319.
14060         Also make duplicate modifiers such as "short short" into hard
14061         errors.
14062
14063 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
14064             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14065
14066         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
14067         to the actual end.  Add '@end table' and '@table @code'.
14068
14069 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
14070
14071         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
14072
14073         * unroll.c (biv_total_increment): Don't try to compute the total
14074         increment for FP BIVs.
14075
14076 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14077
14078         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
14079         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
14080         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14081         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
14082         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
14083         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
14084         (GLOBAL_ASM_OP): Define.
14085         * arm.c (aof_globalize_label): New function.
14086         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
14087         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14088         * c4x.c (c4x_globalize_label): New function.
14089         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
14090         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
14091         (GLOBAL_ASM_OP): Define.
14092         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
14093         * darwin-protos.h (darwin_globalize_label): Declare.
14094         * darwin.c (darwin_globalize_label): New function.
14095         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
14096         (ASM_GLOBALIZE_LABEL): Delete.
14097         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
14098         * dsp16xx.c (asm_output_common): Use target hook.
14099         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
14100         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
14101         (GLOBAL_ASM_OP): Define.
14102         * i370.c (i370_globalize_label): New function.
14103         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
14104         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
14105         * i386.c (ix86_asm_file_end): Use target hook.
14106         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
14107         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
14108         * ia64.c (ia64_asm_output_external): Likewise.
14109         * ia64/sysv4.h: Update comment.
14110         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14111         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14112         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
14113         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14114         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
14115         * mmix-protos.h (mmix_asm_globalize_label): Delete.
14116         * mmix.c (mmix_asm_globalize_label): Likewise.
14117         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
14118         (GLOBAL_ASM_OP): Define.
14119         * ns32k.c (ns32k_globalize_label): New function.
14120         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
14121         (ASM_GLOBALIZE_LABEL): Delete.
14122         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
14123         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
14124         * pa.c (pa_globalize_label): New function.
14125         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
14126         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
14127         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
14128         (GLOBAL_ASM_OP): Define.
14129         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
14130         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14131         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
14132         (GLOBAL_ASM_OP): Define.
14133         * v850.c (v850_output_aligned_bss): Use target hook.
14134         * vax.c (vms_globalize_label): New function.
14135         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
14136         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
14137         (GLOBAL_ASM_OP): Define.
14138         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
14139         * doc/tm.texi: Update docs.
14140         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
14141         target hook.
14142         * final.c (output_alternate_entry_point): Likewise.
14143         * hooks.c (hook_FILEptr_constcharptr_void): New function.
14144         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
14145         * output.h (assemble_global): Delete.
14146         (default_globalize_label): Declare.
14147         * system.h (ASM_GLOBALIZE_LABEL): Poison.
14148         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
14149         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
14150         * target.h (gcc_target): Add globalize_label member.
14151         * varasm.c (asm_output_bss, asm_output_aligned_bss,
14152         globalize_decl): Use target hook.
14153         (assemble_global): Delete.
14154         (default_globalize_label): New function.
14155
14156 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14157
14158         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
14159
14160 2002-08-20  Devang Patel  <dpatel@apple.com>
14161         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
14162
14163 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14164
14165         * arc.c (output_shift): Use stdio instead of asm_fprintf.
14166         * arm.c (thumb_output_function_prologue): Likewise.
14167         * avr.c (print_operand): Likewise.
14168         * c4x.c (c4x_print_operand): Likewise.
14169         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
14170         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
14171         * cris.c (cris_target_asm_function_prologue,
14172         cris_asm_output_mi_thunk): Likewise.
14173         * h8300.c (print_operand): Likewise.
14174         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14175         * ip2k.c (print_operand): Likewise.  Fix format specifier.
14176         * m68hc11.c (asm_print_register, print_operand,
14177         print_operand_address): Use stdio instead of asm_fprintf.
14178         (print_operand_address): Fix format specifier.
14179         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
14180         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
14181         asm_fprintf.
14182         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14183         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14184         * m68k.c (m68k_output_function_prologue,
14185         m68k_output_function_epilogue, print_operand): Likewise.
14186         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
14187         Likewise.  Fix format specifier.
14188         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14189         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14190         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14191
14192 2002-08-15  Eric Christopher  <echristo@redhat.com>
14193             Jeff Knaggs  <jknaggs@redhat.com>
14194
14195         * config.gcc (mipsisa64sr71k-elf): New target.
14196         * config/mips/sr71k.md: New file.
14197         * config/mips/mips.md: Use it.
14198         (rot*): Add sr71k specifics.
14199         * config/mips/t-sr71k: New file.
14200         * config/mips/mips.h (sr71k): New cpu.
14201         (TARGET_SR71K): Use it.
14202         (TUNE_SR71K): Ditto.
14203         (GENERATE_BRANCHLIKELY): Ditto.
14204         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
14205         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
14206         * config/mips/mips.c (sr71k): New cpu.
14207         (mips_use_dfa_pipeline_interface): Use.
14208
14209 2002-08-15  Eric Christopher  <echristo@redhat.com>
14210             Richard Sandiford <rsandifo@redhat.com>
14211             Aldy Hernandez  <aldyh@redhat.com>
14212             Graham Stott    <grahams@redhat.com>
14213             Michael Meissner  <meissner@redhat.com>
14214             Gavin Romig-Koch  <gavin@redhat.com>
14215             Ken Raeburn  <raeburn@cygnus.com>
14216             Alexandre Oliva <aoliva@redhat.com>
14217
14218         * config.gcc (mips64vr-elf): New target.
14219         * config/mips/5400.md: New file.
14220         * config/mips/5500.md: Ditto.
14221         * config/mips/mips.md: Use them.
14222         (frsqrt): New.
14223         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
14224         cpus.
14225         (mips_issue_rate): Use them.
14226         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
14227         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
14228         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
14229         cpus.
14230         (TARGET_MIPSx): Use them.
14231         (TUNE_MIPSx): Ditto.
14232         (GETNATE_MULT3_SI): Ditto.
14233         (ISA_HAS_BRANCHLIKELY): Ditto.
14234         (ISA_HAS_CONDMOVE): Ditto.
14235         (ISA_HAS_NMADD_NMSUB): Ditto.
14236         (ISA_HAS_MULHI): New. Ditto.
14237         (ISA_HAS_MULS): Ditto.
14238         (ISA_HAS_MSAC): Ditto.
14239         (ISA_HAS_MACC): Ditto.
14240         (ISA_HAS_ROTR_SI): Ditto.
14241         (ISA_HAS_ROTR_DI): Ditto.
14242         (RTX_COSTS): Use.
14243
14244 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14245
14246         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
14247         at head.
14248         (remove_dup_nonsys_dirs): New function.
14249         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
14250         (merge_include_chains): Remove non-system include directories from
14251         quote and bracket include chains when they duplicate equivalent system
14252         directories.
14253         * doc/cpp.texi (-I): Update.
14254         * doc/cppopts.texi (-I): Update.
14255         * doc/install.texi (--with-local-prefix): Further document usage of
14256         this option.
14257         * doc/invoke.texi (-I): Update.
14258
14259 2002-08-20  Richard Henderson  <rth@redhat.com>
14260
14261         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
14262         (emit_block_move): Split out subroutines.
14263         (emit_block_move_via_movstr): New.
14264         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
14265         (emit_block_move_libcall_fn): New.  Construct function prototype for
14266         bcopy as well.
14267         (clear_storage): Split out subroutines.
14268         (clear_storage_via_clrstr): New.
14269         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
14270         (clear_storage_libcall_fn): New.  Construct function prototype for
14271         bzero as well.
14272         (emit_push_insn): Use emit_block_move.
14273         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
14274         (store_constructor): Likewise.
14275
14276 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
14277
14278         * objc/objc-act.c (building_objc_message_expr): Rename to
14279         current_objc_message_selector.
14280
14281 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
14282
14283         * objc/objc-act.c (build_ivar_chain): Remove.
14284         (objc_copy_list): Likewise.
14285         (get_class_ivars): Inline call to removed build_ivar_chain
14286         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
14287         slot; use that slot (rather than CLASS_IVARS) when accessing
14288         ivars for base classes.  Call copy_list and chainon instead of
14289         objc_copy_list.
14290         (build_private_template): Call get_class_ivars instead of
14291         build_ivar_chain.
14292         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
14293         (continue_class): Call get_class_ivars instead of
14294         build_ivar_chain.
14295         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
14296         of DECL_BIT_FIELD (which may have been cleared).
14297         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
14298
14299 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14300
14301         * genautomata.c (output_translate_vect, output_state_ainsn_table,
14302         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
14303         in output file.
14304         (output_internal_min_issue_delay_func): Initialize variable in
14305         output file.
14306
14307 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
14308
14309         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
14310         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
14311
14312 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
14313             Steve Ellcey  <sje@cup.hp.com>
14314
14315         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
14316         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
14317         * explow.c (trunc_int_for_mode): Abort when the mode is not
14318         a scaler integer mode.
14319         * combine.c (expand_compound_operation): Don't expand Vector
14320         or Complex modes into shifts.
14321         (expand_field_assignment): Don't do bitwise arithmatic and
14322         shifts on Vector or Complex modes.
14323         (simplify_comparison): Don't call trunc_int_for_mode
14324         for VOIDmode.
14325         * recog.c (general_operand): Likewise.
14326         (immediate_operand): Likewise.
14327         (nonmemory_operand): Likewise.
14328
14329 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
14330
14331         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
14332         multi-instruction SImode constant.  Add REG_EQUAL note.
14333         * config/rs6000/rs6000.md (movsi splitter): Use
14334         rs6000_emit_set_const.
14335
14336 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14337
14338         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
14339         the macro test controlling its use.
14340
14341 2002-08-18  H.J. Lu  (hjl@gnu.org)
14342
14343         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
14344         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
14345         gnu_ld=yes.
14346         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
14347         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
14348         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
14349         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
14350         here.
14351         (cris-*-linux*): Remove setting thread_file here.
14352
14353 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
14354
14355         PR preprocessor/7602
14356         * cppinit.c (path_include): Treat the system environment
14357         variables as being cxx_aware.
14358
14359 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
14360
14361         * c-decl.c (flexible_array_type_p): New function.
14362         (grokdeclarator, finish_struct): Use it.
14363         * doc/extend.texi: Document constraints on use of structures with
14364         flexible array members.
14365
14366 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
14367
14368         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
14369         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
14370         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
14371
14372 2002-08-16  Stan Shebs  <shebs@apple.com>
14373
14374         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
14375         for ObjC with -fnext-runtime.
14376         * doc/cpp.texi: Document it.
14377
14378 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
14379
14380         * doc/install.texi (Final installation): Replace links to individual
14381         build status pages with a link to a common page that lists them all.
14382
14383 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
14384
14385         * doc/invoke.texi: Fix typo.
14386
14387 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
14388
14389         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
14390
14391 2002-08-16  Andrew Haley  <aph@redhat.com>
14392
14393         * tree-inline.c: Add includes for Java inliner.
14394         (remap_decl): Don't handle anonymous types for Java.
14395         (remap_block): Add handling for Java trees.
14396         (copy_scope_stmt): Conditionalize for non-Java use only.
14397         (copy_body_r): Handle Java trees.  Add handling for
14398         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
14399         (initialize_inlined_parameters):  Handle Java trees.
14400         (declare_return_variable): Likewise.
14401         (expand_call_inline): Handle Java trees.
14402         (walk_tree): Likewise.
14403         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
14404         (add_stmt_to_compound): New function.
14405
14406 2002-08-15  Richard Henderson  <rth@redhat.com>
14407
14408         * Makefile.in (LOOSE_WARN): Remove -fno-common.
14409         (NOCOMMON_FLAG): New substitution point.
14410         (GCC_WARN_CFLAGS): Include it.
14411         * configure.in (ac_checking): Set nocommon_flag.
14412         (nocommon_flag): New substitution point.
14413
14414 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
14415
14416         * c-tree.h (skip_evaluation): Move declaration...
14417         * c-common.h: ... here.
14418         * c-typeck.c (build_external_ref): Don't assemble_external nor
14419         mark a tree as used if skip_evaluation is set.
14420         * c-parse.in (typeof): New non-terminal to set skip_evaluation
14421         around TYPEOF.
14422         (typespec_nonreserved_nonattr): Use it.
14423
14424 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
14425
14426         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
14427         (xcoff_debug_hooks): Update end_prologue.
14428         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
14429         * debug.h (end_prologue): Add file arg.
14430         (end_epilogue): Add line and file args.
14431         (dwarf2out_end_epilogue): Add line and file args.
14432         (vmsdbgout_after_prologue): Remove.
14433         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
14434         (dwarf2_debug_hooks): Update end_prologue.
14435         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
14436         (dwarfout_end_prologue): Add file arg.
14437         * final.c (vmsdbgout_after_prologue): Remove
14438         (final_end_function): Update end_epilogue call.
14439         (final_scan_insn): Update end_prologue call.
14440         * sdbout.c (sdbout_end_epilogue): Add line and file args.
14441         (sdbout_end_prologue): Add file arg.
14442         (sdb_debug_hooks): Update end_prologue.
14443         (sdb_begin_prologue): Update sdbout_end_prologue call.
14444         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
14445         vmsdbgout_end_function.
14446         (vmsdbgout_end_prologue): New function renamed from
14447         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
14448         (vmsdbgout_end_function): New function.
14449         (vmsdbgout_end_epilogue): Add line and file args. Call
14450         vmsdbgout_source_line.
14451         (write_pclines): Write only valid line numbers.
14452         (write_srccorr): Don't write source correlation records if 0 lines.
14453         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
14454
14455 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
14456
14457         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
14458         (_Unwind_Internal_Ptr): 32 bit version for use in
14459         read_encoded_value_with_base.
14460         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
14461         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
14462         right size.
14463
14464 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14465
14466         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
14467         signed/unsigned warnings.
14468
14469         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
14470         record_reg_classes): Likewise.
14471
14472         * reload.c (reload_inner_reg_of_subreg, push_reload,
14473         find_reloads_address_1): Likewise.
14474
14475 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
14476
14477         * rs6000.c (output_mi_thunk): Return to function section on
14478         TARGET_ELF.
14479
14480         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
14481
14482 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
14483
14484         * config/s390/s390.c (legitimize_address): Optimize loading
14485         of large displacements.
14486
14487 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
14488
14489         * config/alpha/alpha-protos.h: Update.
14490
14491         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
14492         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
14493         (alpha_linkage_symbol_p): New static function.
14494         (print_operand_address): Print linkage operand.
14495
14496         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
14497         variables.
14498         (reloc_kind): New enum.
14499         (struct alpha_funcs): New struct.
14500         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
14501
14502         (alpha_need_linkage): Rewrite.
14503         (alpha_use_linkage): New global function.
14504         (alpha_write_linkage): Rewrite and make static.
14505         (alpha_write_one_linkage): Rewrite
14506
14507         (alpha_start_function): Remove procedure descriptor output.
14508         (alpha_end_function): Write linkages at end of each function.
14509
14510         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
14511         (call_vms_1, call_value_vms_1): Rewrite.
14512
14513         * config/alpha/vms.h (ASM_FILE_END): Remove.
14514
14515 2002-08-14  Richard Henderson  <rth@redhat.com>
14516
14517         * ggc-page.c (RTL_SIZE): New.
14518         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
14519         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
14520
14521 2002-08-14  Richard Henderson  <rth@redhat.com>
14522
14523         * calls.c: Include target.h.
14524         * Makefile.in (calls.o): Update.
14525
14526         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
14527         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
14528
14529 2002-08-14  Richard Henderson  <rth@redhat.com>
14530
14531         * Makefile.in (LOOSE_WARN): Add -fno-common.
14532         * c-common.h (constant_string_class_name): Add missing extern.
14533
14534 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
14535
14536         PR preprocessor/7358
14537         * c-opts.c (check_deps_environment_vars): Ignore main file
14538         for SUNPRO_DEPENDENCIES.
14539         * cppfiles.c (stack_include_file): Ignore main file if
14540         appropriate.
14541         * cpplib.h (struct cpp_options): New member in deps.
14542         * doc/cppenv.texi: Update.
14543
14544 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
14545
14546         PR preprocessor/7526
14547         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
14548
14549 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
14550
14551         * doc/invoke.texi (-a): Remove documentation.
14552         (-fprofile-arcs): Remove reference to -a, -ax options.
14553         * doc/gcov.texi (Gcov Data Files): Data might be merged.
14554
14555 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
14556
14557         Fix PR/7566
14558         * c-semantics.c (genrtl_case_label): Don't (mis)use
14559         warning_with_decl.
14560
14561 2002-08-14  Dale Johannesen  <dalej@apple.com>
14562
14563         * explow.c (emit_stack_restore):  Emit memory clobbers
14564         preceding the stack pop, to prevent the scheduler from
14565         moving refs to variable arrays below this pop.
14566         * reload1.c (reload):  Preserve these clobbers for sched2.
14567         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
14568
14569 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
14570
14571         * c-opts.c (c_common_post_options): Correct test.
14572
14573 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14574
14575         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
14576         order in call to fprintf.
14577
14578 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14579
14580         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
14581
14582 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
14583
14584         * reload.c (find_reloads): Handle constraint letters marked by
14585         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
14586         (alternative_allows_memconst): Likewise.
14587         * reload1.c (maybe_fix_stack_asms): Likewise.
14588         * recog.c (asm_operand_ok, preprocess_constraints,
14589         constrain_operands): Likewise.
14590         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
14591         * local-alloc.c (block_alloc, requires_inout): Likewise.
14592         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
14593
14594         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
14595         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
14596         * doc/tm.texi: Document these two new target macros.
14597
14598         * config/s390/s390.c (s390_expand_plus_operand): Accept already
14599         valid operands.
14600         (q_constraint): New function.
14601         config/s390/s390-protos.h (q_constraint): Declare it.
14602         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
14603         (EXTRA_MEMORY_CONSTRAINT): New macro.
14604
14605         * config/s390/s390.md: Throughout the machine description,
14606         replace all instances of the constraint combinations 'Qo'
14607         or 'oQ' with simply 'Q'.
14608
14609 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14610
14611         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
14612         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
14613         (LIBGCC2_CFLAGS): Compile with -mrelax.
14614
14615 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14616
14617         * doc/invoke.texi: Document -minmax for 68HC12.
14618
14619         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
14620         ("uminqi3"): Likewise.
14621         ("uminhi3", "umaxhi3"): Likewise.
14622
14623         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
14624         (TARGET_MIN_MAX): Define.
14625         (TARGET_SWITCHES): New option -minmax/-mnominmax.
14626
14627 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14628
14629         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
14630         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
14631
14632         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
14633         (ret, declare, farsym): New gas macros.
14634         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
14635         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
14636         and declare the symbol far when compiled with -mlong-calls.
14637         (__far_trampoline): New for 68HC12 trampoline code to invoke a
14638         far handler using jsr/bsr.
14639
14640         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
14641         (jsr): New macro to transform a 'jsr' into a 'call'.
14642
14643 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14644
14645         * doc/invoke.texi: Document -mlong-calls for 68HC12.
14646
14647         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
14648         -mlong-calls is specified.
14649         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
14650         assembler directives.
14651         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
14652         (TARGET_SWITCHES): Add -mlong-calls options.
14653         (current_function_far): Declare.
14654
14655         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
14656         into account the page register saved on the stack.
14657         (m68hc11_override_options): Take into account -mlong-calls option.
14658         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
14659
14660         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
14661         if the function is going to be in 68HC12 banked memory (-mlong-calls).
14662         ("*return_16bit"): Likewise.
14663         ("*return_void"): Likewise.
14664         ("call", "call_value"): Use call for a far function call.
14665
14666 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
14667
14668         * toplev.c (parse_options_and_default_flags): Don't call
14669         post_options here.
14670         (general_init): Initialize GC, pools and tree hash here,
14671         instead of lang_independent_init.
14672         (lang_independent_init): Rename backend_init.
14673         (do_compile): Call post_options hook; exit early if there
14674         have been errors after switch processing.
14675         (toplev_main): Update.
14676
14677 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
14678
14679         * c-pretty-print.h: Guard against multiple inclusion.
14680         Robustify macros.
14681         (pp_c_attributes): Declare.
14682         * c-pretty-print.c (pp_c_attributes): New function.
14683
14684 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14685
14686         * m68k.c (m68k_output_function_prologue,
14687         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
14688         and NEWS/MOTOROLA.
14689         * genattrtab.c: Remove dpx2 comment.
14690         * libgcc2.c (__enable_execute_stack): Delete versions for
14691         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
14692         sony_news/SYSTYPE_BSD.
14693         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
14694         __gmicro__, __i860__, __NeXT__ and __pyr__.
14695         * rtl.h: Remove convex comment.
14696         * varasm.c: Likewise.
14697
14698 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14699
14700         * c-opts.c (lang_flags): Const-ify.
14701         * ra-build.c (undef_table): Likewise.
14702         * ra.c (eliminables): Likewise.
14703
14704 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
14705
14706         * tree.h: Guard against multiple inclusion.
14707
14708 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
14709
14710         * reload1.c (reload_cse_simplify): Before checking
14711         REG_FUNCTION_VALUE_P, check REG_P.
14712
14713 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
14714
14715         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
14716
14717 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14718
14719         * c-opts.c (c_common_init_options): Extra braces needed.
14720
14721 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14722
14723         * sh.c (sh_init_builtins): Add PARAMS to declaration.
14724         (sh_media_init_builtins, sh_expand_builtin): Likewise.
14725         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
14726         (sh_expand_binop_v2sf): Likewise.
14727         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
14728         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
14729         (sh_initialize_trampoline): Likewise.
14730
14731 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
14732
14733         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
14734         new condition code modes.
14735         s390.c (s390_match_ccmode_set): Handle those new CC modes.
14736         (s390_select_ccmode): Likewise.
14737         (s390_branch_condition_mask): Likewise.
14738
14739         * s390-protos.h (s390_tm_ccmode): Declare.
14740         s390.c (s390_tm_ccmode): New function.
14741         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
14742
14743         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
14744         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
14745         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
14746
14747         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
14748         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
14749         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
14750         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
14751         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
14752
14753         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
14754         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
14755         "*cmpqi_ccs_0"): Remove, replace by ...
14756         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
14757         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
14758         "*tstqi", "*tstqi_cconly"): ... these new patterns.
14759
14760         ("*cmpsidi_ccs"): Remove, replace by ...
14761         ("*cmpsi_ccs_sign"): ... this new pattern.
14762         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
14763
14764         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
14765         ("*cli"): ... this new pattern.
14766
14767         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
14768         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
14769         New patterns.
14770         ("adddi3_64"): Rename to "*adddi3_64".
14771         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
14772         ("adddi3"): Adapt expander.
14773
14774         ("*addsi3_cc"): Allow "general_operand" for operand 2.
14775         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14776         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
14777
14778         ("addhi3", "addqi3"): Remove, replace by ...
14779         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
14780
14781         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
14782         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
14783         ("subdi3"): Replace by insn and splitter "*subdi3_31".
14784         ("subdi3"): New expander.
14785
14786         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
14787
14788         ("subhi3", "subqi3"): Remove, replace by ...
14789         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
14790
14791         ("*muldi3_sign"): New pattern.
14792         ("muldi3"): Do not clobber CC.
14793         ("mulsi3"): Likewise.
14794         ("mulsi_6432"): Likewise.
14795
14796 2002-08-13  Denis Chertykov  <denisc@overta.ru>
14797
14798         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
14799         which can change CC0.
14800
14801 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
14802
14803         * gcse.c (adjust_libcall_notes): New function.
14804         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
14805
14806 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
14807
14808         * libgcc2.c (L_bb): Remove unneeded #includes.
14809         (__global_counters, __gthreads_active): Remove unused globals.
14810         (__bb_exit_func): Merge counts into files rather than appending.
14811         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
14812         (ALL_CFLAGS): ... to here.
14813
14814 2002-08-13  Denis Chertykov  <denisc@overta.ru>
14815
14816         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
14817         (function_epilogue): Don't calculate function size.
14818         (ip2k_set_compare): Don't use lookup_const_double.
14819         (asm_file_start): Initialization of commands_in_file removed.
14820         (asm_file_end): Output of commands_in_file removed.
14821
14822         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
14823         __INT_MAX__.
14824
14825 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14826
14827         * c-opts.c (c_common_init_options): Check option array is
14828         sorted if checking enabled.
14829
14830 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
14831
14832         * c-pretty-print.c: #include "c-tree.h".
14833         (pp_c_simple_type_specifier): Tweak.
14834         (pp_c_storage_class_specifier): New.
14835         (pp_c_function_specifier): Likewise.
14836         (pp_c_declaration_specifiers): Likewise.
14837         (pp_c_init_declarator): Likewise.
14838         (pp_c_declaration): Likewise.
14839         (pp_c_direct_declarator): Stub.
14840         (pp_c_declarator): Likewise.
14841         (pp_c_parameter_declaration): Likewise.
14842
14843 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14844
14845         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
14846         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
14847         struct deferred_opt): New.
14848         (COMMAND_LINE_OPTIONS): Add -M*.
14849         (missing_arg): Update.
14850         (c_common_decode_option): Handle -M*.
14851         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
14852         don't call cpp_post_options.
14853         (c_common_finish, check_deps_environment_vars): Update.
14854         * cppfiles.c (stack_include_file, handle_missing_header): Update.
14855         * cpphash.h (CPP_PRINT_DEPS): Remove.
14856         * cppinit.c: Don't include version.h.
14857         (cpp_create_reader): Don't call deps_init.  Initialize
14858         warn_long_long.
14859         (cpp_read_main_file): Init deps if necessary.
14860         (cpp_destroy): Conditionally free deps.
14861         (cpp_finish): Update.
14862         (no_tgt): Remove.
14863         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
14864         (cpp_post_options): Rename post_options.
14865         * cpplib.h (struct cpp_options): Remove some dependency options;
14866         move others to a new structure.
14867         (cpp_post_options): Remove.
14868         (cpp_finish): Comment.
14869         * fix-header.c (read_scan_file): Don't call cpp_post_options.
14870
14871 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
14872
14873         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
14874         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
14875         MMIX_rR_REGNUM as clobbered.
14876         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
14877
14878 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
14879
14880         * diagnostic.h (output_formatted_scalar): Rename from
14881         output_formatted_integer.
14882         * diagnostic.def: Add DK_DEBUG.
14883         * diagnostic.c (output_decimal): Adjust.
14884         (output_long_decimal): Likewise.
14885         (output_unsigned_decimal): Likewise.
14886         (output_octal): Likewise.
14887         (output_long_octal): Likewise.
14888         (output_hexadecimal): Likewise.
14889         (output_long_hexadecimal): Likewise.
14890         * c-pretty-print.c (pp_c_type_specifier): New function.
14891         (pp_c_specifier_qualifier_list): Likewise.
14892         (pp_c_abstract_declarator): Likewise.
14893         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
14894
14895 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
14896
14897         * doc/trouble.texi (Disappointments): Add static constructor and
14898         destructor dependency information for AIX.
14899
14900 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
14901
14902         * cpphash.h (struct printer): New from cppmain.c.
14903         (cpp_reader): New member.
14904         * cppmain.c (struct printer): Move to cpphash.h.
14905         (options, print): Remove.
14906         (account_for_newlines, print_line, maybe_print_line,
14907         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
14908         scan_translation_unit_trad, cb_line_change, cb_ident,
14909         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
14910         cb_def_pragma): Make reentrant.
14911
14912 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14913
14914         * real.c (ieee_64): Always define.
14915         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
14916         (dec_h): Not used yet, hide it.
14917         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
14918         macro controlling use.
14919         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
14920
14921 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
14922
14923         * i386.md (tablejump): Sign extend the operand.
14924         * i386.c (classify_argument): Fix missed case from previous patch.
14925
14926 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
14927
14928         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
14929         to c-copts.c.
14930         (warn_multichar): Die.
14931         (cb_register_builtins): Export.
14932         * c-common.h (warn_multichar, preprocess_file): Remove.
14933         (cb_register_builtins): New.
14934         * c-lang.c (c_init): Remove.
14935         (LANG_HOOKS_INIT): Use c_objc_common_init.
14936         * c-lex.c (init_c_lex): Don't canonicalize filename.
14937         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
14938         (preprocess_file): Make static.  Update for cpplib.
14939         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
14940         (c_common_post_options): Set some cpp options here.
14941         (c_common_init): Move from c-common.c.
14942         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
14943         * cpplib.h (struct cpp_options): Remove in_fname.
14944         (cpp_preprocess_file): Update.
14945         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
14946
14947 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14948
14949         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
14950
14951 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14952
14953         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
14954         backslash in comment preceeding macro definition.
14955         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
14956         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
14957         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
14958
14959 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
14960
14961         * expr.c (store_expr): In condition for checking if value is
14962         generated in TARGET, move call to expr_size last.
14963
14964 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
14965
14966         * c-common.c (c_common_init): Call preprocess_file instead.
14967         (c_common_finish): Move to c-opts.c.
14968         * c-common.h (preprocess_file): new.
14969         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
14970         check_deps_environment_vars, c_common_finish): New.
14971         (c_common_decode_option): Update for out_fname and dependencies.
14972         * cppinit.c (init_dependency_output, output_deps): Remove.
14973         (cpp_destroy): Update prototype.
14974         (cpp_add_dependency_target): New.
14975         (cpp_read_main_file): Don't overlay a buffer.
14976         (cpp_finish): Take a deps output stream and write deps to it.
14977         Return the error count.
14978         (cpp_post_options): Don't canonicalize out_fname, or do anything
14979         with dependencies.
14980         * cpplib.h (struct cpp_options): Remove out_fname and
14981         preprocess_only.
14982         (cpp_add_dependency_target): New.
14983         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
14984         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
14985         set preprocess_only.  Don't handle the output stream directly.
14986
14987 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14988
14989         * dsp16xx.c (print_operand): Fix format specifier.
14990         * dsp16xx.md: Avoid automatic aggregate initialization.
14991         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
14992         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
14993         integer constant modifier.
14994         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
14995         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
14996         guards.
14997         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
14998         * v850.c (v850_select_section): Mark parameter with
14999         ATTRIBUTE_UNUSED.
15000         * global.c (global_alloc): Const-ify.
15001         * ra-colorize.c (hardregset_to_string): Fix format specifier.
15002
15003 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15004
15005         * darwin-c.c (darwin_pragma_options): Const-ify.
15006         * darwin.c (machopic_non_lazy_ptr_name,
15007         machopic_validate_stub_or_non_lazy_ptr): Likewise.
15008         (machopic_indirect_data_reference): Wrap variables in macros
15009         controlling their use.
15010         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
15011         (machopic_select_section): Use parentheses around && within ||.
15012         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
15013
15014 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15015
15016         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
15017         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
15018         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
15019         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
15020         mdr_try_remove_redundant_insns, track_w_reload,
15021         mdr_try_wreg_elim): Make function static to match prototype.
15022         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
15023         parameter with ATTRIBUTE_UNUSED.
15024
15025 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15026
15027         * arc.c (arc_init): Don't use ISO C style function definitions.
15028         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
15029         arm_get_strip_length, arm_strip_name_encoding): Likewise.
15030         * avr.h (progmem_section): Likewise.
15031         * h8300.c h8300_asm_insn_count): Likewise.
15032         * m32r.c (init_idents): Likewise.
15033         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
15034         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
15035         * xtensa.c (xtensa_build_va_list): Likewise.
15036
15037 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
15038
15039         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
15040         * c-opts.c (parse_option): Rename find_opt.
15041         (set_std_c99): New function.
15042         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
15043         (missing_arg): Remove OPT_std_bad.  Handle -o.
15044         (c_common_decode_option): Handle input and output file names,
15045         -o and -remap.  Clean up -std= handling.
15046         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
15047         (cpp_handle_option): Similarly.  Don't handle filenames.
15048
15049 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
15050
15051         * i386.c (classify_argument): Fix computing of field's offsets.
15052
15053 2002-08-11  Andreas Jaeger  <aj@suse.de>
15054
15055         PR target/7531:
15056         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
15057
15058 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
15059
15060         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
15061         reference to clk_objective_c with flag_objc.
15062         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
15063         Likewise.
15064         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
15065
15066 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
15067
15068         * c-opts.c (set_std_cxx98, set_std_c89): New.
15069         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
15070         (c_common_decode_option): Handle new switches from cppinit.c.
15071         Add -std=gnu++98.
15072         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
15073         (no_arg, no_num): Remove.
15074         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
15075         switches apart from -lang-objc and lang-asm.
15076         (cpp_handle_option): Similarly.
15077         * cpplib.h (cpp_set_lang): New.
15078         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
15079         -std=gnu++98.
15080         * objc/lang-specs.h: Remove -ansi.
15081
15082 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
15083                                Graham Stott
15084
15085         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
15086         errors.
15087
15088 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15089
15090         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
15091         emit_jump_insn): Fix uninitialized variable.
15092         * gcov.c (init_line_info): Likewise.
15093         * genautomata.c (transform_3): Add braces around ambiguous
15094         else.
15095         * ifcvt.c (cond_exec_process_insns): Mark parameter with
15096         ATTRIBUTE_UNUSED.
15097         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
15098         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
15099         variable.
15100
15101         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
15102         warnings in output files.
15103
15104 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
15105
15106         * c-common.c (flag_objc): New.
15107         * c-common.h (c_language_kind): Get rid of clk_objective_c
15108         enum value.
15109         (flag_objc): New extern declaration.
15110         * c-decl.c (implicitly_declare): Call objc_check_decl
15111         instead of maybe_objc_check_decl.
15112         (finish_decl): Likewise.
15113         (grokfield): Likewise.
15114         (finish_struct): Likewise.
15115         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
15116         (maybe_objc_comptypes): Rename to objc_comptypes.
15117         (maybe_building_objc_message_expr): Rename to
15118         objc_message_selector.
15119         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
15120         replace with flag_objc as needed.
15121         * c-opts.c (c_common_init_options): Likewise.
15122         (c_common_decode_option): Likewise.
15123         * c-parse.in (init_reswords): Likewise.
15124         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
15125         (maybe_objc_comptypes): Rename to objc_comptypes.
15126         (maybe_building_objc_message_expr): Rename to
15127         objc_message_selector.
15128         * c-typeck.c (comptypes): Call objc_comptypes instead of
15129         maybe_objc_comptypes, and/or objc_message_selector instead of
15130         maybe_building_objc_message_expr.
15131         (comp_target_types): Likewise.
15132         (convert_for_assignment): Likewise.
15133         (warn_for_assignment): Likewise.
15134         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
15135         independently of those for other languages.
15136         * objc/objc-act.c (maybe_objc_comptypes): Delete.
15137         (maybe_objc_check_decl): Delete.
15138         (maybe_building_objc_message_expr): Rename to
15139         objc_message_selector.
15140         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
15141         clk_objective_c; set flag_objc flag.
15142
15143 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
15144
15145         * ifcvt.c (find_if_case_2): Test correct basic block for size.
15146
15147 2002-08-09  Dale Johannesen  <dalej@apple.com>
15148
15149         * config/rs6000/rs6000.md: Add sibcall patterns.
15150         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
15151         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
15152         Rewritten to handle sibcalls.
15153         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
15154         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
15155
15156 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
15157
15158         * profile.c (da_file_name): New static var.
15159         (init_branch_prob): Initialize it.
15160         (end_branch_prob): Remove da file.
15161
15162         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
15163         * configure.in (coverage_flags): Default to nothing.
15164         * configure: Rebuilt.
15165
15166 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
15167
15168         * Makefile.in (c-opts.o): Update
15169         * c-opts.c: Include intl.h.
15170         (print_help): Move from cppinit.c.  Remove unused options.
15171         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
15172         (missing_arg): Complain for switches without an argument.
15173         (c_common_decode_option): Reject missing joined arguments.
15174         Handle new switches from cppinit.c.
15175         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
15176         (cpp_handle_option): Similarly.
15177         (print_help): Moved to c-opts.c.
15178         * cpplib.h (struct cpp_options): Remove help_only.
15179         * gcc.c (cpp_unique_options): Remove -$.
15180         * doc/cppopts.texi: Undocument -h.
15181
15182 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
15183
15184         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
15185         legitimate constant.
15186         (legitimate_pic_operand_p): Neither pic operand.
15187         (legitimate_address_p): But legitimate address.
15188         (get_thread_pointer): Generate MEM/u instead of CONST around
15189         UNSPEC_TP.
15190         (print_operand): Remove printing of UNSPEC_TP.
15191         (print_operand_address): And print it here.
15192
15193 2002-08-08  Devang Patel  <dpatel@apple.com>
15194
15195         * objc/objc-act.c (build_selector_translation_table): Issue warning,
15196         when  -Wselector is used,if method for which selector is being
15197         created does not exist.
15198
15199 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
15200
15201         * config/sh/sh.c (prepare_move_operands): Only call
15202         target_reg_operand if TARGET_SHMEDIA.
15203
15204 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
15205
15206         * config/rs6000/rs6000.h, config/rs6000/aix.h,
15207         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
15208         two patches.
15209         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
15210
15211 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
15212             Richard Henderson  <rth@redhat.com>
15213
15214         * emit-rtl.c (gen_rtx_REG): After reload, only return
15215         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
15216
15217 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
15218
15219         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
15220         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
15221         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
15222         macro.
15223
15224 2002-08-08  Adam Nemet  <anemet@lnxw.com>
15225
15226         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
15227         register.
15228         (thumb_expand_prologue): Likewise.
15229         (thumb_output_function_prologue): Likewise.
15230         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
15231         the additional push of the PIC register.
15232
15233 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
15234
15235         * configure.in (enable_coverage): New enable switch.
15236         * configure: Rebuilt.
15237         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
15238         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
15239         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
15240         (mostlyclean): Remove coverage files.
15241         * doc/install.texi: Document enable_coverage.
15242
15243         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
15244         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
15245         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
15246         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
15247         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
15248         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
15249         files.
15250
15251 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
15252
15253         * c-opts.c (cpp_opts): New.
15254         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
15255         (c_common_decode_options): Handle cpplib switches.
15256         (c_common_init_options): Set cpp_opts.
15257         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
15258         (cpp_handle_option): Similarly.
15259
15260 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
15261
15262         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
15263         (TARGET_ALTIVEC_ABI): Same.
15264         (TARGET_ALTIVEC_VRSAVE): Same.
15265
15266         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
15267         icode not CODE_FOR_nothing.  Change switch to if.
15268
15269 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
15270
15271         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
15272
15273 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
15274
15275         * stor-layout.c (place_union_field): For bitfields if
15276         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
15277         TYPE_USER_ALIGN.
15278
15279 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15280
15281         * pa.c (struct deferred_plabel): Constify name field.
15282
15283 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
15284
15285         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
15286
15287 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15288
15289         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
15290         local_prefix are the same.
15291         * configure: Rebuilt.
15292
15293 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
15294             Richard Henderson  <rth@redhat.com>
15295
15296         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
15297         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
15298         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
15299         (place_field): Likewise.
15300         * config/i386/i386.c (x86_field_alignment): Don't check
15301         DECL_USER_ALIGN here.
15302         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
15303         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
15304         prototype.
15305         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
15306         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
15307         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
15308         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
15309         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
15310         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
15311
15312 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
15313
15314         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
15315         * c-common.c: Don't include tree-inline.h.
15316         (c_common_init_options, c_common_post_options): Move to c-opts.c.
15317         * c-common.h (c_common_decode_option): New.
15318         * c-decl.c (c_decode_option): Remove.
15319         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
15320         * c-opts.c: New file.
15321         * c-tree.h (c_decode_option): Remove.
15322         * doc/passes.texi: Update.
15323         * objc/objc-act.c (objc_decode_option): Remove.
15324         * objc/objc-act.h (objc_decode_option): Remove.
15325         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
15326         c_common_decode_option.
15327
15328 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
15329
15330         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
15331         dependency on TARGET_DOUBLE_FLOAT.
15332
15333 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
15334
15335         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
15336         overwrite callee-save registers.  Fix comment.
15337
15338 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
15339
15340         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
15341         in target_flags based on ISA, if it was not set on the command
15342         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
15343         support Branch Likely instructions.
15344         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
15345         (TARGET_BRANCHLIKELY): Likewise.
15346         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
15347         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
15348         ISA_HAS_BRANCHLIKELY.
15349         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
15350         * doc/invoke.texi: Document new MIPS -mbranch-likely and
15351         -mno-branch-likely options.
15352
15353 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15354
15355         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
15356
15357         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
15358         $(GCONFIG_H).
15359
15360 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
15361
15362         * c-decl.c (duplicate_decls): Error out for incompatible TLS
15363         declarations.
15364
15365         * testsuite/gcc.dg/tls/diag-3.c: New.
15366
15367 2002-08-06  Dale Johannesen  <dalej@apple.com>
15368
15369         * c-common.c (fname_decl): Use line number 0 for
15370         __func__, to avoid confusing debuggers.
15371
15372 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
15373
15374         * gcov.c: Tidy.
15375         (struct line_info, struct coverage): New structures.
15376         (gcov_file_name, gcov_file): Remove globals.
15377         (output_data): Take source file parameter. Fix memory leak. Break
15378         up into ...
15379         (init_line_info, output_line_info, make_gcov_file_name,
15380         accumulate_branch_counts): ... here.
15381         (calculate_branch_probs, function_summary): Adjust.
15382         (main): Adjust.
15383         (function_*): Remove global variables.
15384
15385 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
15386
15387         * dwarf2out.c: Remove unused macros.
15388
15389 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
15390
15391         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
15392
15393 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
15394
15395         * cppinit.c (struct lang_flags): Rename trigraphs std.
15396         (set_lang): Update.
15397         * cpplib.h (struct cpp_options): New member std.
15398         * cppmacro.c (_cpp_builtin_macro_text): Use std.
15399         (collect_args): Flag whether to swallow a possible future
15400         comma pasted with varargs.
15401         (replace_args): Use this flag.
15402         * doc/cpp.texi: Update varargs extension documentation.
15403
15404 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
15405
15406         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
15407
15408 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
15409
15410         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
15411         and MODE_CLASS_INT modes.
15412
15413 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
15414
15415         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
15416         --{enable,disable}-threads is given to configure.
15417         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
15418         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
15419         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
15420         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
15421         Remove thread_file setting here.
15422
15423 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
15424
15425         * doc/install.texi (Binaries): Update Bull Freeware URL.
15426
15427 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15428
15429         * doc/gcc.texi (Top): Rename Index to Keyword Index.
15430
15431 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
15432
15433         * gcov.c (output_data): Round to % to nearest, tweak formatting.
15434
15435 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
15436
15437         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
15438         of the operands into MINUS_EXPR if code is PLUS_EXPR.
15439
15440 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
15441
15442         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
15443         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
15444         drectve_section): Define.
15445         * config/i386/t-interix: Replace interix.o rule with winnt.o.
15446         * config/i386/interix.c: Remove.
15447
15448 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
15449
15450         * attribs.c: Don't include obstack.h.
15451         * builtins.c: Likewise.
15452         * cfganal.c: Likewise.
15453         * cfgbuild.c: Likewise.
15454         * cfgcleanup.c: Likewise.
15455         * emit-rtl.c: Likewise.
15456         * loop.c: Likewise.
15457         * stmt.c: Likewise.
15458
15459         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
15460
15461 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
15462
15463         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
15464
15465 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
15466
15467         * doc/invoke.texi: Remove duplicated paragraph describing
15468         TARGET_SWITCHES.
15469
15470 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
15471
15472         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
15473         * collect2.h (permanent_obstack): Delete declaration.
15474         * collect2.c (permanent_obstack): Delete definition.
15475         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
15476         * expr.c: Don't include obstack.h.
15477         (permanent_obstack): Delete declaration.
15478         * function.c: Don't include obstack.h.
15479         (permanent_obstack): Delete declaration.
15480         * integrate.c: Don't include obstack.h.
15481         (function_maybepermanent_obstack): Delete declaration.
15482         * print-tree.c (debug_tree): Use x*alloc not permalloc.
15483         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
15484         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
15485         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
15486         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
15487         of permalloc, expralloc, perm_calloc.
15488         * tree.c (permanent_obstack): Delete definition.
15489         (init_ttree): Rename from init_obstacks.
15490         (permalloc): Delete.
15491         (perm_calloc): Delete.
15492         (dump_tree_statistics): Don't print information about
15493         permanent_obstack.
15494         * varasm.c (assemble_start_function): Use xstrdup instead of
15495         permalloc/strcpy.
15496         (assemble_variable): Likewise.
15497         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
15498         permalloc.
15499         (unicosmk_add_extern): Likewise.
15500         * config/c4x/c4x.c (c4x_external_ref): Likewise.
15501         (c4x_global_label): Likewise.
15502         * config/frv/frv.c (frv_encode_section_info): Likewise.
15503         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
15504         (i386_pe_record_exported_symbol): Likewise.
15505         * config/mips/mips.c (mips_output_external): Likewise.
15506         (mips_output_external_libcall): Likewise.
15507         * config/pa/pa.c: (permanent_obstack): Delete declaration.
15508         (output_call): Use ggc_strdup instead of allocating on
15509         permanent_obstack.
15510         * config/romp/romp.c: Include ggc.h.
15511         (get_symref): Don't declare permanent_obstack, use ggc_strdup
15512         intead of permanent_obstack.
15513         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
15514         instead of permalloc.
15515         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
15516         instead of permalloc
15517         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
15518         instead of permalloc.
15519         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
15520         permalloc.
15521
15522 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
15523
15524         Contribute a port developed primarily by Michael Meissner,
15525         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
15526         * config.gcc: Add frv-elf target.
15527         * config/frv/cmovd.c: New file.
15528         * config/frv/cmovh.c: New file.
15529         * config/frv/cmovw.c: New file.
15530         * config/frv/frv-abi.h: New file.
15531         * config/frv/frv-asm.h: New file.
15532         * config/frv/frv-modes.def: New file.
15533         * config/frv/frv-protos.h: New file.
15534         * config/frv/frv.c: New file.
15535         * config/frv/frv.h: New file.
15536         * config/frv/frv.md: New file.
15537         * config/frv/frvbegin.c: New file.
15538         * config/frv/frvend.c: New file.
15539         * config/frv/lib1funcs.asm: New file.
15540         * config/frv/media.h: New file.
15541         * config/frv/modi.c: New file.
15542         * config/frv/t-frv: New file.
15543         * config/frv/uitod.c: New file.
15544         * config/frv/uitof.c: New file.
15545         * config/frv/ulltod.c: New file.
15546         * config/frv/ulltof.c: New file.
15547         * config/frv/umodi.c: New file.
15548         * config/frv/xm-frv.h: New file.
15549
15550         * config/frv/media.h: Removed again.
15551
15552 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
15553
15554         * gcov.c (bb_file_time): New static variable.
15555         (object_directory): May also be object file.
15556         (preserve_paths): New static variable.
15557         (print_usage): Adjust.
15558         (options): Adjust.
15559         (process_args): Adjust.
15560         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
15561         file. Find modification date on bb file.
15562         (read_profile): Don't rewind a NULL file.
15563         (format_hwint): New static function.
15564         (function_summary): Use format_hwint.
15565         (output_data): SOURCE_FILE_NAME is never relative to
15566         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
15567         mangling. Adjust output format to make it more machine readable.
15568         * doc/gcov.texi: Document & clarify semantics.
15569
15570 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
15571
15572         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
15573
15574 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
15575
15576         * gcc.c (cc1_options): Pass output file as auxbase when
15577         appropriate.
15578         * profile.c (init_branch_prob): FILENAME has already had ending
15579         stripped.
15580         * final.c (end_final): Likewise.
15581         * toplev.c (aux_base_name): New global.
15582         (compile_file): Pass aux_base_name to init init_branch_prob and
15583         end_final.
15584         (independent_decode_option, case 'a'): New auxinfo options.
15585         (case 'd'): Protect against mising basename.
15586         (do_compile): Initialize aux_base_name.
15587         * toplev.h (aux_base_name): New global.
15588         * doc/invoke.texi: Adjust documentation.
15589
15590 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
15591
15592         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
15593         of TARGET_ALIGN_DOUBLE.
15594
15595 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
15596
15597         * diagnostic.c (inform): New function.
15598         * diagnostic.h (inform): Declare.
15599
15600 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
15601
15602         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
15603         (movhi_internal): Same.
15604         (movqi_internal): Same.
15605         (movdi_internal64): Same.
15606
15607         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
15608
15609         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
15610         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
15611         (COMMON_ASM_OP): Define.
15612         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
15613         Use ALIGN parameter.
15614         (LOCAL_COMMON_ASM_OP): Define.
15615         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
15616
15617 2002-08-03  Roger Sayle  <roger@eyesopen.com>
15618
15619         * builtins.def: Define new builtin functions exp, expf, expl,
15620         log, logf and logl (and their __builtin_* variants).
15621         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
15622         Define exp_optab and log_optab.
15623         * optabs.c (init_optans): Initialize exp_optab and log_optab.
15624         * genopinit.c (optabs): Implement exp_optab and log_optab
15625         using exp?f2 and log?f2 patterns.
15626         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
15627         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
15628         (expand_builtin): Ignore the new builtins (and all cos and
15629         sin variants) when not optimizing.  Expand new builtins via
15630         expand_builtin_mathfn when flag_unsafe_math_optimizations.
15631
15632         * doc/extend.texi: Document new exp and log builtins.
15633         * doc/md.texi: Document new exp?f2 and log?f2 patterns
15634         (and previously undocumented cos?f2 and sin?f2 patterns).
15635
15636 2002-08-03  Jason Merrill  <jason@redhat.com>
15637
15638         * explow.c (int_expr_size): New fn.
15639         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
15640         * expr.h: Declare it.
15641
15642 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
15643
15644         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
15645         gengtype-* dependencies.
15646
15647 2002-08-02  Eric Christopher  <echristo@redhat.com>
15648
15649         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
15650         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
15651         #ifndef to #undef.
15652         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
15653
15654 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
15655
15656         PR optimize/7067
15657         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
15658         small if optimizing for size.
15659
15660 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
15661
15662         * configure.in (FORBUILD): Use $build_alias.
15663         * configure: Regenerated.
15664
15665 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
15666
15667         * config.gcc: Don't include mips/abi64.h in $tm_file.
15668         * hard-reg-set.h (call_really_used_regs): Declare.
15669         * config/mips/abi64.h: Remove file.
15670         * config/mips/linux.h,
15671         * config/mips/iris6.h: Don't include it.
15672         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
15673         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
15674         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
15675         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
15676         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
15677         Bring across definitions from abi64.h.
15678         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
15679         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
15680         (struct mips_args): Use it.
15681         * config/mips/mips.c (mips_conditional_register_usage): Define.
15682
15683 2002-08-02  Jason Merrill  <jason@redhat.com>
15684
15685         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
15686         * langhooks.c (lhd_expr_size): Define default.
15687         * langhooks.h (struct lang_hooks): Add expr_size.
15688         * explow.c (expr_size): Call it.
15689         * expr.c (store_expr): Don't copy an expression of size zero.
15690         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
15691         to store.
15692         * Makefile.in (builtins.o): Depend on langhooks.h.
15693
15694 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15695
15696         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
15697         * ra-debug.c: Include "tm_p.h".
15698         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
15699
15700 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
15701
15702         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
15703         when not honoring signalling NaNs.
15704         (simplify_ternary_operation): a == b has a definite value
15705         when not honoring NaNs.
15706
15707 2002-08-02  Jason Merrill  <jason@redhat.com>
15708
15709         * gdbinit.in (pct): New macro.
15710
15711 2002-08-01  Stan Shebs  <shebs@apple.com>
15712             Andreas Tobler  <toa@pop.agri.ch>
15713
15714         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
15715         plays nice with Darwin headers.
15716         (_BSD_RUNE_T_DEFINED_): Likewise.
15717
15718 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
15719
15720         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
15721         * cppinit.c (cpp_post_options): Likewise.
15722
15723         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
15724         warning about 'LL' suffix (but not 'ULL' etc) when
15725         -Wno-long-long is in effect.
15726
15727         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
15728         Check for failing time()/localtime(), issue a warning, and
15729         make __TIME__ and __DATE__ expand to fallback strings.
15730
15731         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
15732         and __TIME__ when the date and time cannot be determined.
15733
15734 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
15735
15736         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
15737
15738 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
15739
15740         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
15741
15742 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
15743
15744         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
15745         (mipsisa64sb1el-*-elf*): Likewise.
15746         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
15747         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
15748         (TARGET_SB1, TUNE_SB1): New macros.
15749         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
15750         -mtune flags.
15751
15752 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
15753
15754         * varasm.c (asm_emit_uninitialized): Return false if global BSS
15755         and ASM_EMIT_BSS not supported by target.
15756         (assemble_variable): Do not duplicate uninitialized logic.
15757         Fall through if asm_emit_uninitialized failed.
15758
15759 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
15760
15761         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
15762
15763 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
15764
15765         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
15766         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
15767
15768         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
15769         HOST_BITS_PER_WIDE_INT == 64.
15770
15771 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15772
15773         * df.c (df_insn_table_realloc): Change parameter to unsigned.
15774         * optabs.c (expand_binop): Make variable unsigned.
15775         * simplify-rtx.c (simplify_subreg): Likewise.
15776         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
15777
15778 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15779
15780         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
15781
15782 2002-08-01  Richard Henderson  <rth@redhat.com>
15783
15784         * toplev.c (parse_options_and_default_flags): Don't set
15785         flag_reorder_blocks for -Os.
15786
15787         * config/avr/avr.c (avr_optimization_options): Remove.
15788         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
15789         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
15790         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
15791
15792 2002-08-01  H.J. Lu <hjl@gnu.org>
15793             Richard Henderson  <rth@redhat.com>
15794
15795         * output.h (DECL_READONLY_SECTION): Remove.
15796         (decl_readonly_section): Declare.
15797         * varasm.c (decl_readonly_section): New.
15798         (default_section_type_flags, default_select_section): Use it.
15799         * config/arm/pe.c (arm_pe_unique_section): Likewise.
15800         * config/i386/interix.c (i386_pe_unique_section): Likewise.
15801         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
15802         * config/mcore/mcore.c (mcore_unique_section): Likewise.
15803         * config/mips/mips.c (mips_unique_section): Likewise.
15804
15805 2002-08-01  Richard Henderson  <rth@redhat.com>
15806
15807         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
15808         refers to a subroutine parameter.
15809
15810 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
15811
15812         * varasm.c (assemble_visibility): Strip name encoding.
15813
15814 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15815
15816         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
15817         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
15818         when there is no frame pointer.
15819         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
15820         registers properly.
15821         * config/ns32k/__unorddf2.c: New file.
15822         * config/ns32k/__unordsf2.c: New file.
15823         * config/ns32k/t-ns32k: New file.
15824         * config.gcc (ns32k-*-netbsd*): Use it.
15825
15826 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
15827
15828         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
15829
15830 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15831
15832         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
15833
15834 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
15835
15836         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
15837
15838 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
15839
15840         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
15841
15842 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15843
15844         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
15845         n_sets): Removed.
15846         (expr_hash_table, set_hash_table): Type changed to ...
15847         (struct hash_table): New type.
15848         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
15849         insert_expr_in_table, insert_set_in_table, compute_hash_table,
15850         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
15851         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
15852         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
15853         (alloc_hash_table): New.
15854         (free_set_hash_table, free_expr_hash_table): Merged to ...
15855         (free_hash_table): New.
15856         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
15857         (compute_hash_table_work): New.
15858         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
15859         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
15860         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
15861         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
15862         hoist_code, one_code_hoisting_pass,
15863         trim_ld_motion_mems): Altered due to changed type of hash tables.
15864
15865 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
15866
15867         * final.c (output_alternate_entry_point):
15868         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
15869
15870 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15871
15872         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
15873         avoid ISO C style function definition.
15874
15875         * expr.c (expand_assignment): Delete unused variable.
15876
15877 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
15878
15879         * c-common.c (cb_register_builtins): Set
15880         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
15881         is given, and to 0 otherwise.
15882         * combine.c (simplify_if_then_else): HONOR_NANS
15883         implies FLOAT_MODE_P.
15884
15885 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15886
15887         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
15888         (cpp_handle_option): Don't handle it.
15889         (print_help): Update.
15890         * doc/cppopts.texi: Update.
15891
15892 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15893
15894         * c-common.c (cb_register_builtins): If C++, define
15895         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
15896         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
15897 cp:
15898         * lang-specs.h: Simplify in accordance with new code in
15899         c-common.c.
15900
15901 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15902
15903         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
15904         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
15905         * c-decl.c: Move all warning and flag variables to c-common.c.
15906         * c-format.c: Move all warning variables to c-common.c.
15907         * c-tree.h: Move all warning and flag declarations to c-common.h.
15908         * objc/objc-act.c: Move all warning variables to c-common.c.
15909         (flag_warn_protocol): Rename warn_protocol.
15910
15911 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15912
15913         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
15914
15915 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
15916
15917         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
15918         .section prefix.
15919
15920 2002-07-31  Stan Shebs  <shebs@apple.com>
15921
15922         * config.gcc (i[34567]86-*-darwin*): New configuration.
15923         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
15924         defining.
15925         (TARGET_ENCODE_SECTION_INFO): Ditto.
15926         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
15927         * config/darwin.c (machopic_indirect_data_reference): Remove
15928         setting of RTX_UNCHANGING_P.
15929         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
15930         not to be applied to sums.
15931         * config/i386/t-darwin: New file.
15932         * config/i386/darwin.h: New file.
15933         * config/i386/i386.h (TARGET_MACHO): Add default definition.
15934         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
15935         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
15936         label and not the GOT add.
15937         (constant_address_p): For Mach-O, seeing a CONST is enough.
15938         (legitimate_pic_address_disp_p): Add a Mach-O case.
15939         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
15940         (legitimize_pic_address): Use generic Mach-O code to legitimize.
15941         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
15942         if outputting a difference.
15943         (ix86_output_addr_diff_elt): Add Mach-O case.
15944         (ix86_expand_move): Similarly.
15945         (ix86_expand_call): Similarly.
15946         (current_machopic_label_num): New global.
15947         (machopic_output_stub): New function.
15948         (ix86_value_regno): New function.
15949         (ix86_function_value): Use it instead of VALUE_REGNO.
15950         (ix86_libcall_value): Ditto.
15951         * config/i386/unix.h (VALUE_REGNO): Remove.
15952
15953 2002-07-31  Graham Stott  <grahas@btinternet.com>
15954
15955         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
15956         hash for LABEL_REF's.
15957
15958 2002-07-31  Graham Stott  <grahams@btinternet.com>
15959
15960         * config/rs6000/rs6000.c (spe_init_builtins,
15961         altivec_init_builtins, rs6000_common_init_builtins):
15962         Replace ANSI with K&R function def.
15963
15964 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
15965
15966         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
15967         for CCFPmode.
15968
15969 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
15970
15971         * config/mips/crtn.asm: Don't use __mips16 to determine the
15972         return-address offset.  Define RA to a suitable temporary
15973         register for the return address.
15974
15975 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
15976
15977         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
15978         constraints to 'd'.
15979
15980 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
15981
15982         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
15983         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
15984         patch on 2002-07-29.)
15985         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15986
15987 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15988
15989         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
15990         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
15991         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
15992         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
15993         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
15994         (ASM_GLOBALIZE_LABEL): Delete.
15995         (GLOBAL_ASM_OP): Define.
15996
15997         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
15998
15999         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
16000         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
16001
16002 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
16003
16004         * doc/extend.texi (Hints implementation): Document that GCC
16005         mostly ignores `register'.
16006
16007 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
16008
16009         * flags.h: Declare flag_finite_math_only.
16010         Use it in definition of HONOR_NANS and
16011         HONOR_INFINITIES.
16012         * c-common.c (cb_register_builtins): Emit
16013         __FINITE_MATH_ONLY__ when flag_finite_math_only
16014         is set.
16015         * combine.c (simplify_if_then_else): If
16016         flag_finite_math_only is set, a == b has a
16017         definite value.
16018         * toplev.c: Initialize flag_finite_math_only.
16019         (set_flags_fast_math): Set it on -ffast-math.
16020         (flag_fast_math_set_p): Test it.
16021         * doc/invoke.texi: Document -ffinite-math-only.
16022
16023 2002-07-30  Richard Henderson  <rth@redhat.com>
16024
16025         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
16026         (noce_process_if_block): Likewise.
16027
16028 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
16029
16030         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
16031         Bail out early if false_expr is NULL and we'd crash due to this.
16032         * genemit.c (gen_expand): Recognize return insns even if the return
16033         appears in a parallel.
16034         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
16035         * config/fp-bit.c: Likewise.
16036         * doc/tm.texi: Document it.
16037
16038 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
16039             Zack Weinberg  <zack@codesourcery.com>
16040
16041         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
16042         CODE_FOR_nothing.  Change switch to if.
16043         (rs6000_expand_binop_builtin): Same.
16044         (rs6000_expand_builtin): Expand builtin if target support enabled.
16045         (rs6000_init_builtins): Init builtin if target support enabled.
16046         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
16047
16048 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
16049
16050         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
16051
16052 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
16053
16054         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
16055
16056 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
16057
16058         * sh.md (cond_delay_slot): New attribute.
16059         (cbranch delay): Use it for anulled-true case.
16060         (stuff_delay_slot): New pattern.
16061         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
16062         delay slot insn.
16063         (gen_far_branch): Emit stuff_delay_slot pattern.
16064
16065 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
16066
16067         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
16068
16069 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
16070
16071         * fold-const.c: Fix comment typos.
16072         * gcse.c: Likewise.
16073         * reload1.c: Likewise.
16074
16075 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16076
16077         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
16078         for TARGET_SPE.
16079
16080 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
16081
16082         * c-pretty-print.h (pp_c_statement): Declare.
16083         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
16084         (pp_c_statement): Define.
16085
16086 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16087
16088         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
16089         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
16090         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
16091         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
16092         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
16093         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
16094
16095         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
16096         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
16097
16098 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
16099
16100         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
16101         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
16102         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
16103         (pp_c_expression): Update.
16104
16105 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16106
16107         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
16108         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
16109         * alpha/vms-ld.c (main): Likewise.
16110         * dsp16xx.c (double_reg_to_memory): Likewise.
16111         * mcore.c (mcore_expand_prolog): Likewise.
16112         * cppfiles.c (read_name_map): Likewise.
16113         * gensupport.c (process_rtx, identify_predicable_attribute,
16114         alter_test_for_insn): Likewise.
16115         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
16116
16117 2002-07-29  Roger Sayle  <roger@eyesopen.com>
16118
16119         * builtins.c (expand_builtin):  Change the default behavior to
16120         only issue an error if the builtin function doesn't have a
16121         fallback library call.  Remove several cases handled by the
16122         new default.
16123
16124 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
16125
16126         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
16127         floating point format of the target is IEEE.
16128         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
16129         format of the target is DEC.
16130
16131 2002-07-29  Richard Henderson  <rth@redhat.com>
16132
16133         * unroll.c (verify_addresses): Remove.
16134         (find_splittable_givs): Never split DEST_ADDR givs.
16135
16136 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
16137
16138         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
16139         is exhaustive.
16140         (Files): Improve documentation on generated source files.
16141
16142         * doc/extend.texi (Translation implementation): Document what
16143         diagnostics look like.
16144         (Identifiers implementation): Document that there's normally no
16145         limit on identifier names.
16146         (Integers implementation): Document two's complement.
16147         (Hints implementation): Document that GCC honors 'inline', mostly.
16148         (Preprocessing directives implementation): Document that GCC
16149         requires the current time.
16150
16151 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
16152
16153         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
16154         (pp_initializer): New macro.
16155         (pp_c_initializer): Declare.
16156         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
16157         (pp_c_initializer): Define.
16158         (pp_c_initializer_list): New function.
16159         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
16160         VECTOR_CST, CONSTRUCTOR.
16161         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
16162         IMAGPART_EXPR.
16163         (pp_c_cast_expression): Handle FLOAT_EXPR.
16164         (pp_c_assignment_expression): Handle INIT_EXPR.
16165         (pp_c_expression): Update.
16166
16167 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
16168
16169         * objc/objc-act.c (objc_init): Return immediately if filename
16170         is NULL.
16171
16172 2002-07-29  Eric Christopher  <echristo@redhat.com>
16173
16174         * config/mips/elf.h: Remove ecoff.h and gofast includes.
16175         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
16176         (SDB_DEBUGGING_INFO): Undefine.
16177         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
16178         (PUT_SDB_SIZE): Remove.
16179         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
16180         (STARTFILE_SPEC): Add isa3264 define.
16181         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
16182         * config/mips/ecoff.h: Remove. and here...
16183         * config/mips/iris3.h: and here...
16184         * config/mips/sni-svr4.h: and here...
16185         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
16186         Add assembler -mmdebug options for non-dwarf debugging.
16187         * config/mips/r3900.h: Remove debug info defines.
16188         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
16189         * config/mips/isa3264.h: Ditto.
16190         * config/mips/t-isa3264: Fix up for file removal and gofast configure
16191         change.
16192         * config/mips/t-elf: Ditto.
16193         * config/mips/t-ecoff: Ditto.
16194         * config/mips/t-r3900: Ditto.
16195         * config/mips/t-iris5-6: Ditto.
16196         * config/mips/t-isa3264: Ditto.
16197         * config/mips/t-linux: Remove.
16198         * config/mips/t-netbsd: Remove.
16199         * config/mips/t-mips: New file.
16200         * config/mips/t-gofast: Ditto.
16201         * config/mips/netbsd.h: Remove unnecessary undefines.
16202         * config/mips/linux.h: Remove #include of mips.h.
16203         * config.gcc: Add mips.h include for elf targets. Remove tm_file
16204         for ecoff. Add gofast configure option for mips.
16205
16206 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
16207
16208         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
16209         linker scripts use STARTUP directives consistently.
16210         * configure: Regenerate.
16211         * config.in: Regenerate.
16212         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
16213         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
16214         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16215         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
16216         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
16217         will be the same.
16218
16219 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16220
16221         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
16222
16223 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16224
16225         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
16226
16227 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
16228
16229         * config/rs6000/rs6000.md: Move altivec patterns from here...
16230
16231         * config/rs6000/altivec.md: ...to here.
16232
16233 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16234
16235         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
16236
16237 2002-07-29  Richard Henderson  <rth@redhat.com>
16238
16239         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
16240         set_mem_attributes and add BITPOS argument.  Subtract it from
16241         OFFSET when same is adjusted.
16242         (set_mem_attributes): New wrapper function.
16243         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
16244         remove offset adjustment hack.
16245         * expr.h (set_mem_attributes_minus_bitpos): Declare.
16246
16247 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
16248
16249         * Makefile.in (C_OBJS): Include c-pretty-print.o
16250         (c-pretty-print.o): Add depency rule.
16251         * pretty-print.h: Add more macros.
16252         * c-pretty-print.c: New file.
16253         * c-pretty-print.h: Likewise.
16254
16255 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16256
16257         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
16258         constants to __ev64_s32__.
16259         (__internal_ev_mwhgsmian): Same.
16260         (__internal_ev_mwhgsmfan): Same.
16261         (__internal_ev_mwhgssfan): Same.
16262         (__internal_ev_mwhgumiaa): Same.
16263         (__internal_ev_mwhgsmiaa): Same.
16264         (__internal_ev_mwhgsmfaa): Same.
16265         (__internal_ev_mwhgssfaa): Same.
16266
16267 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
16268
16269         * varasm.c (assemble_variable): Narrow test for uninitialized
16270         without BSS target support.
16271
16272 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
16273
16274         * profile.c: Add file comment describing the overall algorithm and
16275         structures.
16276         (struct edge_info): Add comments.
16277         (struct bb_info): Add comments.
16278         * basic-block.h (EDGE_*): Add comments.
16279         * doc/gcov.texi (Gcov Data Files): Document bit flags.
16280
16281 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
16282
16283         * config/xtensa/elf.h, config/xtensa/linux.h
16284         (TARGET_OS_CPP_BUILTINS): Define.
16285         (CPP_PREDEFINES): Remove.
16286         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
16287         (CPP_SPEC): Remove.
16288
16289 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
16290
16291         * gensupport.c: Include hashtab.h.
16292         (insn_elision, condition_table, hash_c_test, cmp_c_test,
16293         maybe_eval_c_test): New routines and data structures to
16294         support insn elision.
16295         (init_md_reader): Read and initialize the condition_table.
16296         (read_md_rtx): Discard insn patterns whose C test is provably
16297         always false.
16298         * gensupport.h: Declare new functions and data structures.
16299
16300         * genconditions.c, dummy-conditions.c: New files.
16301         * Makefile.in: Build genconditions; run it to construct
16302         insn-conditions.c; build that and link it into most gen*
16303         programs.
16304         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
16305         (GEN): Delete, unused.
16306         (STAGESTUFF): Update.
16307
16308         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
16309         CODE_FOR_nothing for all elided patterns.
16310         (main): Tweaked to support this.
16311         * genflags.c (gen_proto): Emit a static inline generator
16312         function here for all elided patterns, which simply returns
16313         NULL_RTX.
16314         (gen_insn): Do not define HAVE_xxx for elided patterns.
16315         (main): Tweaked to support this.  No need to forward-declare
16316         struct rtx_def.
16317         * genrecog.c: Do not bother emitting the C test if it's known
16318         to be true at compile time.
16319
16320 2002-07-29  Mike Stump  <mrs@apple.com>
16321
16322         * config.gcc (target_gtfiles): Initialize, as otherwise cross
16323         compilers hosted on powerpc-apple-darwin6.0 won't even build.
16324
16325 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
16326
16327         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
16328         remove clobber of LR.
16329         (sibcall_insn, sibcall_value_insn): Update accordingly.
16330         (sibcall_epilogue): Remove debugging comment from assembler stream.
16331
16332 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
16333
16334         * pretty-print.h: Define more macros.
16335         * diagnostic.h (output_formatted_integer): Moved from...
16336         * diagnostic.c: ... here.
16337
16338 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16339
16340         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
16341
16342 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
16343
16344         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
16345         arguments.  Always use ".-symbol" as expression argument.
16346         * doc/tm.texi: Update to match.  Document requirement for
16347         ".size symbol, .-symbol" to be acceptable to assembler.
16348
16349         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
16350         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
16351         config/i386/freebsd-aout.h, config/i386/sco5.h,
16352         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
16353         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
16354
16355 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16356
16357         * Makefile.in (gengtype-lex.c): Fix error in last change.
16358
16359         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
16360         backslash.
16361
16362         * Makefile.in (vmsdbgout.o): Depend on function.h.
16363
16364         * vmsdbgout.c: Include function.h.
16365
16366 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
16367
16368         * prefix.c (update_path): Don't strip single `.' path components
16369         unless stripping a later `..' component.  Exit loop as soon as
16370         a valid path is found.
16371
16372 2002-07-27  Roger Sayle  <roger@eyesopen.com>
16373
16374         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
16375         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
16376         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
16377         floating point unordered comparisons (e.g. __builtin_isgreater)
16378         as const, and leave the remaining GCC_BUILTINs unchanged.
16379
16380         * c-decl.c (builtin_function): No need to explicitly mark
16381         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
16382
16383 2002-07-27  Roger Sayle  <roger@eyesopen.com>
16384
16385         * Makefile.in: rtlanal.o now depends upon real.h.
16386
16387         * flags.h [flag_signaling_nans]: New flag.
16388         [HONOR_SNANS]: New macro.
16389
16390         * toplev.c [flag_signaling_nans]: Initialize to false.
16391         (f_options): Add processing for "-fsignaling-nans".
16392         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
16393         (process_options): flag_signaling_nans implies flag_trapping_math.
16394
16395         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
16396         when -fsignaling-nans.  First step to implementing WG14's N965.
16397
16398         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
16399         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
16400         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
16401
16402         * simplify-rtx.c (simplify_relational_operation): Conditionalize
16403         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
16404
16405         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
16406         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
16407         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
16408         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
16409         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
16410
16411         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
16412
16413 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16414
16415         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
16416         * gengtype-lex.l (YY_USE_PROTOS): Undef.
16417         (YY_DECL): Define.
16418
16419 2002-07-27  Roger Sayle  <roger@eyesopen.com>
16420
16421         * doc/invoke.texi: Document that both -fno-builtin-foo and
16422         -fno-builtin are supported by the g++ front-end.
16423
16424 2002-07-27  Stan Shebs  <shebs@apple.com>
16425
16426         * configure.in: Rename config_gtfiles to target_gtfiles.
16427         * configure: Regenerate.
16428         * doc/gty.texi: Update reference.
16429         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
16430         instead of appending to it.
16431
16432 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
16433
16434         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
16435         vectors are split into two registers.
16436         (function_arg): Same.
16437
16438 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
16439
16440         * pa.md (extv): Check predicates before emitting extv_32.
16441
16442 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
16443
16444         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
16445         (rs6000_traceback): New var.
16446         (rs6000_override_options): Set rs6000_traceback.
16447         (rs6000_output_function_epilogue): Implement traceback options.
16448         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
16449         (rs6000_traceback_name): Declare.
16450
16451         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
16452         label reference when NO_PROFILE_COUNTERS.
16453
16454 2002-07-26  Jason Merrill  <jason@redhat.com>
16455
16456         * function.c (assign_parms): Handle frontend-directed pass by
16457         invisible reference.
16458
16459 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
16460
16461         * doc/cppopts.texi: Update.
16462
16463 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
16464
16465         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
16466         warnings on assertions.
16467
16468 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
16469
16470         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
16471         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
16472         RID_COMPL): Remove.
16473         * c-parse.in (rid_to_yy): Similarly.
16474
16475 2002-07-26  Jason Merrill  <jason@redhat.com>
16476
16477         * c-dump.c: Resurrect.
16478         * tree-dump.c: Move C-specific stuff to c-dump.c.
16479         * c-common.h: Declare c_dump_tree.
16480         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
16481         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
16482         (c-dump.o): New rule.
16483
16484 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
16485
16486         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
16487         PowerPC64.  Replace "T" and "S" constraints with "n" when the
16488         predicate will do.  Formatting fixes.
16489         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
16490         as for extzvsi_internal1.
16491
16492 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16493
16494         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
16495         DERIV_END_LABEL_FMT): Remove.
16496         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
16497
16498 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16499
16500         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
16501         Remove.
16502
16503 2002-07-25  Stan Shebs  <shebs@apple.com>
16504
16505         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
16506         local var dwarfp.
16507         (output_compiler_stub): Remove unused locals.
16508         (output_call): Always initialize line number.
16509
16510 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16511
16512         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
16513         * sh.md (truncdiqi2, movqi_media): Likewise.
16514
16515 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16516
16517         * gcse.c (obstack_chunk_alloc): Remove.
16518         (gcse_alloc): Fix to count allocated bytes.
16519         * collect2.c (SYMBOL__MAIN): Remove.
16520
16521 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16522
16523         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
16524         HAVE_TARGET_EXECUTABLE_SUFFIX.
16525
16526 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16527
16528         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
16529         SIZE, EXPR and OFFSET.
16530
16531 2002-07-25  Richard Henderson  <rth@redhat.com>
16532
16533         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
16534         in ARRAY_REF of DECL_P case.
16535
16536 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
16537
16538         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
16539         description.  Document -mips32, -mips64, and the associated -march
16540         values.  Describe the "mipsN" arguments to -march.  Say that the
16541         -mipsN options are equivalent to -march.  Reword the description
16542         of default type sizes.
16543         * toplev.h (target_flags_explicit): Declare.
16544         * toplev.c (target_flags_explicit): New var.
16545         (set_target_switch): Update target_flags_explicit.
16546         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
16547         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
16548         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
16549         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
16550         * config/mips/mips.h (mips_cpu_info): New struct.
16551         (mips_cpu_string, mips_explicit_type_size_string): Remove.
16552         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
16553         (MIPS_CPP_SET_PROCESSOR): New macro.
16554         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
16555         Define _MIPS_ARCH and _MIPS_TUNE.
16556         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
16557         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
16558         MIPS_ISA_DEFAULT were already defined.
16559         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
16560         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
16561         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
16562         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
16563         (ABI_GAS_ASM_SPEC): Remove.
16564         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
16565         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
16566         Invoke %(asm_abi_default_spec) if no ABI was specified.
16567         (CC1_SPEC): Remove ISA -> register-size rules.
16568         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
16569         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
16570         (mips_cpu_string, mips_explicit_type_size_string): Remove.
16571         (mips_cpu_info_table): New array.
16572         (mips_set_architecture, mips_set_tune): New fns.
16573         (override_options): Rework to make -mipsN equivalent to -march.
16574         Detect more erroneous cases, including those removed from CC1_SPEC.
16575         Don't change the ABI based on architecture, or vice versa.
16576         Unify logic with GAS.
16577         (mips_asm_file_start): Get architecture name from mips_arch_info.
16578         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
16579         (mips_parse_cpu): Take the name of the option as argument.  Handle
16580         'from-abi'.  Raise an error if the option is wrong.
16581         (mips_cpu_info_from_isa): New fn.
16582
16583 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
16584
16585         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
16586         (tablejump_mips162): Likewise.
16587
16588 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
16589
16590         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
16591         int_mode_for_mode.
16592
16593 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
16594
16595         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
16596         complaining.
16597         * c-common.h (c_sizeof): Adjust definition.
16598         (c_alignof): Likewise.
16599         * c-tree.h (c_sizeof_nowarn): Now macro.
16600         * c-typeck.c (c_sizeof_nowarn): Remove definition.
16601
16602 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16603
16604         * c-decl.c (c_decode_option): No need to handle switches
16605         cpplib handles.
16606
16607 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
16608
16609         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
16610         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
16611         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
16612         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
16613
16614         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
16615         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
16616         config/cris/aout.h, config/i386/freebsd-aout.h,
16617         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
16618         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
16619         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
16620         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
16621         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
16622         config/xtensa/elf.h, config/xtensa/linux.h:
16623         Use the new macros.
16624         Where possible, remove redundant definitions of SIZE_ASM_OP,
16625         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
16626
16627 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
16628
16629         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
16630         TARGET_ISEL, and TARGET_FPRS.
16631
16632         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
16633         -mabi=spe, -mabi=no-spe, and -misel=.
16634
16635         * config/rs6000/rs6000-protos.h: Add output_isel.
16636         Move vrsave_operation prototype here.
16637
16638         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
16639         (smaxsi3): Same.
16640         (uminsi3): Same.
16641         (umaxsi3): Same.
16642         (abssi2_nopower): Disallow when TARGET_ISEL.
16643         (*ne0): Same.
16644         (negsf2): Change to expand and rename old pattern to *negsf2.
16645         (abssf2): Change to expand and rename old pattern to *abssf2.
16646
16647         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
16648         fixunssfsi2.
16649
16650         Change patterns that check for TARGET_HARD_FLOAT or
16651         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
16652
16653         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
16654         rs6000_isel, rs6000_fprs, rs6000_isel_string.
16655         (rs6000_override_options): Add 8540 case to
16656         processor_target_table.
16657         Set rs6000_isel for the 8540.
16658         Call rs6000_parse_isel_option.
16659         (enable_mask_for_builtins): New.
16660         (rs6000_parse_isel_option): New.
16661         (rs6000_parse_abi_options): Add spe and no-spe.
16662         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
16663         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
16664         for TARGET_HARD_FLOAT.
16665         Add case for SPE_VECTOR_MODE.
16666         (rs6000_legitimize_reload_address): Handle SPE vector modes.
16667         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
16668         vector modes.
16669         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
16670         (rs6000_emit_move): Check for TARGET_FPRS.
16671         Add cases for SPE vector modes.
16672         (function_arg_boundary): Return 64 for SPE vector modes.
16673         (function_arg_advance): Check for TARGET_FPRS and
16674         Handle SPE vectors.
16675         (function_arg): Same.
16676         (setup_incoming_varargs): Check for TARGET_FPRS.
16677         (rs6000_va_arg): Same.
16678         (struct builtin_description): Un-constify mask field.  Move up in
16679         file.
16680         (bdesc_2arg): Un-constify and add SPE builtins.
16681         (bdesc_1arg): Same.
16682         (bdesc_spe_predicates): New.
16683         (bdesc_spe_evsel): New.
16684         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
16685         (rs6000_expand_binop_builtin): Same.
16686         (bdesc_2arg_spe): New.
16687         (spe_expand_builtin): New.
16688         (spe_expand_predicate_builtin): New.
16689         (spe_expand_evsel_builtin): New.
16690         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
16691         (rs6000_init_builtins): Initialize SPE builtins.  Call
16692         rs6000_common_init_builtins.
16693         (altivec_init_builtins): Move all non-altivec builtin code to...
16694         (rs6000_common_init_builtins): ...here.  New function.
16695         (branch_positive_comparison_operator): Allow NE code for SPE.
16696         (ccr_bit): Return correct ccr bit for SPE fp.
16697         (print_operand): Emit crnor in 'D' case for SPE.
16698         New case 't'.
16699         Add SPE code for 'y' case.
16700         (rs6000_generate_compare): Generate rtl for SPE fp.
16701         (output_cbranch): Handle SPE hard floats.
16702         (rs6000_emit_cmove): Handle isel.
16703         (rs6000_emit_int_cmove): New.
16704         (output_isel): New.
16705         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
16706         64-bits for SPE.
16707         (debug_stack_info): Add SPE info.
16708         (gen_frame_mem_offset): New.
16709         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
16710         Change mode of frame pointer, when saving it, to Pmode.
16711         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
16712         Misc cleanups and use gen_frame_mem_offset when appropriate.
16713
16714         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
16715         (TARGET_SPE_ABI): New.
16716         (TARGET_SPE): New.
16717         (TARGET_ISEL): New.
16718         (TARGET_FPRS): New.
16719         (FIXED_SCRATCH): New.
16720         (RTX_COSTS): Add PROCESSOR_PPC8540.
16721         (ASM_CPU_SPEC): Add case for 8540.
16722         (TARGET_OPTIONS): Add isel= case.
16723         (rs6000_spe_abi): New.
16724         (rs6000_isel): New.
16725         (rs6000_fprs): New.
16726         (rs6000_isel_string): New.
16727         (UNITS_PER_SPE_WORD): New.
16728         (LOCAL_ALIGNMENT): Adjust for SPE.
16729         (HARD_REGNO_MODE_OK): Same.
16730         (DATA_ALIGNMENT): Same.
16731         (MEMBER_TYPE_FORCES_BLK): New.
16732         (FIRST_PSEUDO_REGISTER): Set to 113.
16733         (FIXED_REGISTERS): Add SPE registers.
16734         (reg_class): Same.
16735         (REG_CLASS_NAMES): Same.
16736         (REG_CLASS_CONTENTS): Same.
16737         (REGNO_REG_CLASS): Same.
16738         (REGISTER_NAMES): Same.
16739         (DEBUG_REGISTER_NAMES): Same.
16740         (ADDITIONAL_REGISTER_NAMES): Same.
16741         (CALL_USED_REGISTERS): Same.
16742         (CALL_REALLY_USED_REGISTERS): Same.
16743         (SPE_ACC_REGNO): New.
16744         (SPEFSCR_REGNO): New.
16745         (SPE_SIMD_REGNO_P): New.
16746         (HARD_REGNO_NREGS): Adjust for SPE.
16747         (VECTOR_MODE_SUPPORTED_P): Same.
16748         (REGNO_REG_CLASS): Same.
16749         (FUNCTION_VALUE): Same.
16750         (LIBCALL_VALUE): Same.
16751         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
16752         (SPE_VECTOR_MODE): New.
16753         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
16754         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
16755         (rs6000_stack): Add spe_gp_size, spe_padding_size,
16756         spe_gp_save_offset.
16757         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
16758         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
16759         (SPE_CONST_OFFSET_OK): New.
16760         (rs6000_builtins): Add SPE builtins.
16761
16762         * testsuite/gcc.dg/ppc-spe.c: New.
16763
16764         * config/rs6000/eabispe.h: New.
16765
16766         * config/rs6000/spe.h: New.
16767
16768         * config/rs600/spe.md: New.
16769
16770         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
16771         __SIMD__ for TARGET_SPE.
16772
16773         * config.gcc: Add powerpc-*-eabispe* case.
16774         Add spe.h to user headers for powerpc.
16775
16776 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
16777
16778         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
16779         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16780         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
16781
16782 2002-07-24  Richard Henderson  <rth@redhat.com>
16783
16784         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
16785         form when not optimizing.
16786
16787 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
16788
16789         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
16790         thread_pointer_rtx as unchanging.
16791
16792 2002-07-24  Michael Matz  <matz@suse.de>
16793
16794         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
16795         (free_reg): Use it.
16796
16797 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
16798
16799         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
16800         pattern.
16801         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
16802         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
16803
16804 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
16805
16806         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
16807         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16808         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
16809
16810 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
16811
16812         * toplev.c (rest_of_compilation): Dump loops before clobbering
16813         the structure.
16814
16815 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
16816
16817         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
16818
16819 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
16820
16821         PR optimization/7291
16822         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
16823         problem on x86_64.
16824
16825 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
16826
16827         * pretty-print.h: Add macros from cp/error.c
16828
16829 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
16830
16831         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
16832         (mask64_2_operand): Declare.
16833         (build_mask64_2_operands): Declare.
16834         (and64_2_operand): Declare.
16835         (extract_MB): Declare.
16836         (extract_ME): Declare.
16837         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
16838         CONST_DOUBLE code.
16839         (mask_operand_wrap): New insn predicate.
16840         (mask64_2_operand): Likewise.
16841         (and64_2_operand): Likewise.
16842         (build_mask64_2_operands): New function.
16843         (extract_MB): New function.
16844         (extract_ME): New function.
16845         (print_operand <case m,M>): Use extract_MB and extract_ME.
16846         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
16847         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
16848         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
16849         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
16850         * config/rs6000/rs6000.md (andsi3_internal3): New
16851         (andsi3_internal3+1): Enable split for powerpc64.
16852         (andsi3_internal3+2): New split.
16853         (andsi3_internal4): Renamed old andsi3_internal3.
16854         (andsi3_internal5): New.
16855         (andsi3_internal5+1): Enable split for powerpc64.
16856         (andsi3_internal5+2): New split.
16857         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
16858         (anddi3): Handle 't' constraint.
16859         (anddi3+1): New split.
16860         (anddi3_internal2): Handle 't' constraint.
16861         (anddi3_internal2+1): New split.
16862         (anddi3_internal3): Handle 't' constraint.
16863         (anddi3_internal3+1): New split.
16864
16865 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
16866
16867         * config/rs6000/rs6000.md: Remove scratch reg on insns using
16868         addze and similar (plus (comparison r1 r2) r3) insns.  Add
16869         missing scratch reg in one case.  Formatting fixes.
16870
16871 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
16872
16873         * cppexp.c (parse_defined): Mark macro used.
16874         * cpphash.h (struct cpp_macro): New member "used".
16875         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
16876         (struct cpp_reader): New member.
16877         * cppinit.c (cpp_finish_options): Set first_unused_line.
16878         (cpp_finish): Warn of unused macros if requested.
16879         (OPT_TABLE): New switches.
16880         (cpp_handle_option): Handle them.
16881         * cpplib.c (do_undef): Warn if macro unused.
16882         (do_ifdef, do_ifndef): Mark macro used.
16883         * cpplib.h (struct cpp_options): New member.
16884         * cppmacro.c (_cpp_warn_if_unused_macro): New.
16885         (enter_macro_context): Mark macro used.
16886         (_cpp_create_definition): Mark macro unused; warn if unused
16887         when redefined.
16888         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
16889         Mark macros used.
16890         * doc/cppopts.texi: Update.
16891
16892 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16893
16894         * dwarf2out.c (SECTION_ASM_OP,
16895         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16896         * system.h (SECTION_ASM_OP): Poison.
16897         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
16898         * config/alpha/alpha-interix.h, config/mips/linux.h
16899         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16900         * config/mmix/mmix-protos.h, config/mmix/mmix.c
16901         (mmix_asm_output_define_label_difference_symbol): Remove.
16902         * config/mmix/mmix.h
16903         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16904         * doc/tm.texi: Remove documentation.
16905
16906 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
16907
16908         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
16909         (constrain_operands): Likewise.
16910         * regclass.c (record_reg_classes): Likewise.
16911         * reload.c (find_reloads): Likewise.
16912         * doc/md.texi: Likewise.
16913
16914         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
16915         * simplify-rtx.c (simplify_subreg): When converting to a non-int
16916         mode, try to convert to an integer mode of matching size first.
16917
16918         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
16919         from individual subregs, check that each subreg has been generated
16920         sucessfully.
16921
16922 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16923
16924         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
16925         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
16926         FOR_EACH_BB_IN_SBITMAP): Remove.
16927         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
16928         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
16929         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
16930         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
16931         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
16932         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
16933
16934 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
16935
16936         * pretty-print.h: New file.
16937
16938 2002-07-23      Paul Koning     <pkoning@equallogic.com>
16939
16940         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
16941         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
16942         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
16943         (TARGET_G_FLOAT): Default to 0 if not defined.
16944         (ieeetoe): New, common routine to convert target format floats
16945         to internal form.
16946         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
16947         vs. others.
16948         (e113toe): Change to use ieeetoe.
16949
16950 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16951
16952         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
16953         IBM.
16954         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
16955         (e64toe): Remove special cases for DEC and IBM. Remove support for
16956         ARM_EXTENDED_IEEE_FORMAT.
16957         (e24toe): Remove special cases for DEC.
16958         (significand_size): Simplify. Indent.
16959         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
16960         (etoieee, toieee): New.
16961         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
16962         etoieee and toieee for IEEE arithmetic.
16963
16964 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
16965
16966         * doc/extend.texi: Say ISO C90, not ISO C89.
16967         * doc/invoke.texi: Likewise.
16968         * doc/standards.texi: Likewise.
16969
16970 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
16971
16972         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
16973         Fix permutation of conversion and plus/mult.
16974         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
16975         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
16976         (expand_builtin_strncpy) Ditto.
16977         (expand_builtin_memset) Ditto.
16978
16979 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
16980
16981         Fix PR/7363:
16982         * c-common.c (c_sizeof_or_alignof_type): New function.
16983         (c_alignof): Remove definition.
16984         * c-common.h (c_sizeof, c_alignof): Define as macros.
16985         (c_sizeof_or_alignof_type): Declare.
16986         (my_friendly_assert): Moved from cp/cp-tree.h
16987         * c-typeck.c (c_sizeof): Remove definition.
16988
16989 2002-07-23  Jan Hubicka  <jh@suse.cz>
16990
16991         * gcse.c (try_replace_reg): Use num_changes_pending.
16992         * recog.c (num_changes_pending): New function.
16993         (validate_replace_src): Use validate_repalce_src_group.
16994         (validate_replace_src_group): New.
16995         * recog.h (validate_repalce_src_group): New.
16996         (num_changes_pending): Likewise.
16997
16998 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
16999
17000         * calls.c (emit_library_call_value_1): If
17001         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
17002         libcall, const call nor pure call.
17003
17004 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17005
17006         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
17007
17008 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17009
17010         * vmsdbgout.c (SECTION_ASM_OP): Remove.
17011
17012 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17013
17014         * config/i386/i386.c (AT_BP): Remove.
17015
17016 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17017
17018         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
17019         Default definition.
17020         * gcse.c: Don't define obstack_chunk_free.
17021         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
17022         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
17023         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
17024         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
17025         Don't define obstack macros.
17026
17027 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
17028
17029         PR target/6744
17030         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
17031         ASM_OPERANDS instructions.
17032
17033 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
17034
17035         PR target/7361
17036         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
17037         constant addresses only on 68HC12.
17038
17039 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
17040
17041         * cppfiles.c (stack_include_file): Correct test of whether
17042         a dependency should be output.
17043
17044 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
17045
17046         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
17047
17048 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
17049
17050         * arm.md (movqi): If optimizing and we can create pseudos, use
17051         a ZERO_EXTEND to load from memory, then copy the result into the
17052         target.
17053         (movhi): Likewise, but only for ARMv4.
17054
17055 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
17056
17057         * ssa-ccp.c (PHI_PARMS): Remove.
17058
17059 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
17060
17061         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
17062         on big-endian targets.
17063
17064 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17065
17066         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
17067         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
17068         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
17069         New formatting macros.
17070
17071         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
17072
17073 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
17074
17075         * rtlanal.c (subreg_regno_offset): Return correct offset for
17076         big endian paradoxical subregs.
17077
17078         * optabs.c (expand_vector_unop): Don't expand using sub_optab
17079         if we got the wrong mode.
17080
17081         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
17082         * genrecog.c (write_switch, write_cond): Use it.
17083         * genemit.c (gen_exp): Likewise.
17084
17085 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
17086
17087         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
17088
17089 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
17090
17091         * c-decl.c (build_compound_literal): Defer compound literal decls
17092         until until file end to emit them only if they are actually used.
17093
17094 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17095
17096         * ra-build.c (check_conflict_numbers): Hide unused function.
17097         (livethrough_conflicts_bb): Avoid automatic aggregate
17098         initialization.
17099         (parts_to_webs_1): Avoid `U' integer constant modifier.
17100         (conflicts_between_webs): Wrap a variable in the macro controlling
17101         its usage.
17102         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
17103         (dump_igraph, dump_graph_cost): Avoid string concatenation
17104         (dump_static_insn_cost): Avoid automatic aggregate
17105         initialization.
17106         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
17107         initialization.
17108         (dump_cost): Avoid string concatenation
17109
17110 2002-07-21  Richard Henderson  <rth@redhat.com>
17111
17112         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
17113         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
17114
17115 2002-07-21  Richard Henderson  <rth@redhat.com>
17116
17117         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
17118         that are not unrolled completely.
17119
17120 2002-07-21  Richard Henderson  <rth@redhat.com>
17121
17122         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
17123         * loop.c (strength_reduce): Update.
17124         * toplev.c (rest_of_compilation): Do unrolling in the first
17125         loop pass, not the second.
17126
17127 2002-07-21  Richard Henderson  <rth@redhat.com>
17128
17129         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
17130         when flag_argument_noalias == 2.
17131         * alias.c (nonoverlapping_memrefs_p): Handle that.
17132         * print-rtl.c (print_mem_expr): Likewise.
17133
17134 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
17135
17136         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
17137         instead of __negdi2 directly.
17138
17139 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
17140
17141         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
17142         * function.c (SYMBOL__MAIN): Remove definition.
17143         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
17144         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
17145         * profile.c (GCOV_INDEX_TO_BB): Remove.
17146         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
17147         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
17148
17149 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
17150
17151         * c-lex.c (GET_ENVIRONMENT): Remove.
17152         * collect2.c (GET_ENV_PATH_LIST): Remove.
17153         (prefix_from_env): Use GET_ENVIRONMENT.
17154         * cppinit.c (GET_ENV_PATH_LIST): Remove.
17155         (init_standard_includes): Use GET_ENVIRONMENT.
17156         * defaults.h (GET_ENVIRONMENT): Define here if not already.
17157         * gcc.c (GET_ENV_PATH_LIST): Remove.
17158         (make_relative_prefix, process_command): Update.
17159         * protoize.c (GET_ENV_PATH_LIST): Remove.
17160         (do_processing): Update.
17161
17162 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
17163
17164         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
17165         (grokdeclarator): Likewise.
17166         * c-format.c (C_STD_NAME): Likewise.
17167         * c-lex.c (interpret_integer): Likewise.
17168         * c-typeck.c (build_array_ref): Likewise.
17169         * cpplex.c (_cpp_lex_direct): Likewise.
17170         * toplev.c (documented_lang_options): Likewise.
17171
17172 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
17173
17174         * c-format.c (T99_I, T99_UI): Remove.
17175
17176 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
17177
17178         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
17179
17180 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
17181
17182         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
17183         do_local_cprop.
17184
17185 2002-07-21  Andreas Jaeger  <aj@suse.de>
17186
17187         * reload1.c (fixup_abnormal_edges): Remove unused variable.
17188
17189 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
17190
17191         Improvements for the ifcvt pass from Michael Meissner, with patches
17192         by Richard Sandiford <rsandifo@redhat.com>
17193         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
17194         * ifcvt.c (cond_exec_changed_p): New static variable.
17195         (last_active_insn): New function, renamed from last_active_insn_p
17196         and changed to return the last active insn in a basic block. All
17197         callers updated.
17198         (block_fallthru): New function.
17199         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
17200         IFCVT_MODIFY_INSN.  All callers updated.
17201         Return false if START or END are NULL.
17202         Handle case where we're processing an insn that is already
17203         conditional.
17204
17205         (noce_process_if_block): CE_INFO argument rather than
17206         multiple args containing the involved basic blocks.  All callers
17207         changed.
17208         (process_if_block, merge_if_block, find_if_block,
17209         cond_exec_process_if_block): Likewise.
17210
17211         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
17212         changed.
17213         Use new function last_active_insn to simplify some code.
17214         New code to handle multiple tests.
17215         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
17216         cond_exec_changed_p to TRUE.
17217
17218         (process_if_block): New code to handle multiple tests.
17219         (merge_if_block): Likewise.
17220         (find_if_header): New arg PASS.  Changed to return the currently
17221         processed basic block or NULL instead of true/false. All callers
17222         changed.
17223         Call IFCVT_INIT_EXTRA_FIELDS.
17224         (block_jumps_and_fallthru_p): New function.
17225         (find_if_block): Discover opportunities to convert multiple tests.
17226         Add additional debugging output.
17227         Update the ce_info structure before returning.
17228
17229         (if_convert): Run multiple passes of if-conversion.
17230         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
17231         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
17232         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
17233         these macros.
17234
17235 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
17236
17237         * gcse.c: Include cselib.h
17238         (constptop_register): Break out from ...
17239         (cprop_insn): ... here; kill basic_block argument.
17240         (do_local_cprop, local_cprop_pass): New functions.
17241         (one_cprop_pass): Call local_cprop_pass.
17242
17243 2002-07-20  Roger Sayle  <roger@eyesopen.com>
17244
17245         * simplify-rtx.c (simplify_relational_operation): Optimize
17246         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
17247
17248 2002-07-20  Michae Matz  <matz@suse.de>
17249
17250         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
17251
17252 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
17253
17254         * cppexp.c (struct op): Add token pointer.
17255         (check_promotion, CHECK_PROMOTION): New.
17256         (optab): Update.
17257         (_cpp_parse_expr): Update, use token pointer of struct op.
17258         (reduce): Warn about change of sign owing to promotion.
17259         * cppinit.c (cpp_handle_option): New warning if -Wall.
17260         * cpplib.h (struct cpp_options): New member.
17261
17262 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
17263
17264         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
17265         fpu list.  Separate Power4 compare and delayed_compare.  Correct
17266         Power4 fpcompare.
17267         (fix_truncdfsi2_internal): Restore FPR preference.
17268         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
17269         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
17270
17271 2002-07-19  Momchil Velikov <velco@fadata.bg>
17272
17273         * reload1.c (reload_as_needed): Duplicate oldpat.
17274
17275 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
17276
17277         PR optimization/7130
17278         * loop.h (struct loop_info): Add "preconditioned".
17279         * unroll.c (unroll_loop): Set it.
17280         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
17281
17282 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
17283
17284         * rtl.def (CODE_LABEL): Remove slot 8.
17285         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
17286         (LABEL_ALTERNATE_NAME): Delete.
17287         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
17288         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
17289
17290         * final.c (output_alternate_entry_point): New.
17291         (final_scan_insn): Use it instead of
17292         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
17293         of a case label being an alternate entry point.
17294
17295         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
17296         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
17297         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
17298         (field deleted).
17299         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
17300
17301         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
17302         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
17303         * doc/tm.texi: Delete documentation of
17304         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
17305
17306 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17307
17308         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
17309         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
17310         (LINK_SPEC): Define.
17311         (STARTFILE_SPEC): Define.
17312         (ENDFILE_SPEC): Define.
17313
17314         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
17315         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
17316
17317         * config/mips/iris6-o32-gas.h: New file.
17318         * config.gcc (mips-sgi-irix6*o32): Use it.
17319
17320         * config/mips/t-iris5-gas: New file.
17321         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
17322
17323 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
17324
17325         * cppexp.c (ALWAYS_EVAL): Remove.
17326         (optab, reduce): Always evaluate.
17327         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
17328         only if not skipping evaluation.
17329
17330 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
17331
17332         * config/avr/avr.c (debug_hard_reg_set): Remove.
17333
17334 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
17335
17336         * gcc.c (cpp_options): Include "%1" (cc1_spec).
17337
17338 2002-07-19  Richard Henderson  <rth@redhat.com>
17339
17340         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
17341
17342 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
17343
17344         * prefix.c (update_path): Don't zap single `.' path components
17345         unless followed by another `.' and fix typo last patch.
17346
17347 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
17348
17349         * cppexp.c (cpp_num_mul): Remove unused parameter.
17350         (UNARY, BINARY, OTHER, binary_handler): Remove.
17351         (ALWAYS_EVAL): New.
17352         (optab): Update.
17353         (reduce): Refactor to a large switch, don't use a function
17354         pointer.
17355
17356 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
17357
17358         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
17359
17360 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
17361
17362         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
17363         (sh_expand_binop_v2sf): Likewise.
17364         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
17365         (int_gpr_dest, trunc_hi_operand): New functions.
17366         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
17367         trunc_hi_operand.
17368         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
17369         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
17370         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
17371         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
17372         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
17373         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
17374         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
17375         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
17376         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
17377         (movsf_ie+1): Likewise.
17378         (loaddi_trunc): Use int_gpr_dest predicate.
17379         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
17380         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
17381         (casesi_worker_0+[12], casesi_worker): Likewise.
17382         (shcompact_preserve_incoming_args): Likewise.
17383         (mov_nop): Use any_register_operand predicate.
17384         (mperm_w0): Use trunc_hi_operand predicate.
17385
17386 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17387
17388         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
17389         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
17390         numbering.
17391
17392 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17393
17394         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
17395
17396 2002-07-18  Richard Henderson  <rth@redhat.com>
17397
17398         PR optimization/7147
17399         * ifcvt.c (noce_get_condition): Make certain that the condition
17400         is valid at JUMP.
17401
17402 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
17403
17404         * sh.c (barrier_align, push): Shut up compiler warnings.
17405         (initial_elimination_offset,sh_media_init_builtins): Likewise.
17406         (reg_no_subreg_operand): Delete.
17407
17408 2002-07-17  Bo Thorsen  <bo@suse.de>
17409
17410         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
17411         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
17412         (STARTFILE_SPEC): Remove hardcoded library paths.
17413         (ENDFILE_SPEC): Likewise.
17414
17415 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
17416
17417         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
17418
17419         * gcse.c (try_replace_reg): Do not return false positives.
17420
17421 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
17422
17423         * prefix.c: (update_path): Strip ".." components when prior dir
17424         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
17425
17426         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
17427         (ASM_OUTPUT_REG_POP): Likewise.
17428
17429 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
17430
17431         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
17432         adjustments to first_reg for profiling case.
17433         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
17434         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
17435         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
17436         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
17437         (ASM_OUTPUT_REG_POP): Define.
17438         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
17439         (ASM_OUTPUT_REG_POP): Undef.
17440
17441 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
17442
17443         * cpplib.c (do_sccs): Handle #sccs on all systems.
17444         * system.h (SCCS_DIRECTIVE): Poison.
17445         * config/darwin.h, config/freebsd.h, config/netbsd.h,
17446         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
17447         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
17448         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
17449         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
17450         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
17451         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
17452         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
17453         Remove all references to SCCS_DIRECTIVE.
17454         * doc/cpp.texi, doc/tm.texi: Update.
17455
17456 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
17457
17458         * regrename.c (maybe_mode_change): New function.
17459         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
17460
17461 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
17462
17463         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
17464         suppress addition when either ct or cf are zero.
17465
17466 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
17467             Glen Nakamura <glen@imodulo.com>
17468
17469         PR optimization/6713
17470         * loop.c (loop_givs_rescan): Explicitly delete the insn that
17471         sets a non-replaceable giv after issuing the new one.
17472
17473 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
17474
17475         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
17476         eval_token): Clarify and correct use of "bool" variables.
17477         * cpplib.h (struct cpp_options): Similarly.
17478         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
17479         * cpptrad.c (recursive_macro): Similarly.
17480
17481 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
17482
17483         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
17484         SHmedia code.
17485
17486         * sh.md (cmpgtudi_media): Remove spurious @.
17487
17488         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
17489         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
17490
17491         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
17492         * sh-protos.h (sh_initialize_trampoline): Declare.
17493         * sh.c (sh_initialize_trampoline): New function.
17494         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
17495         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
17496         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
17497         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
17498         * sh.md (initialize_trampoline, double_shori): New patterns.
17499         (initialize_trampoline_compact): Likewise.
17500         (shmedia32_initialize_trampoline_big): Remove.
17501         (shmedia32_initialize_trampoline_little): Likewise.
17502
17503         * sh-protos.h (binary_float_operator): Remove declaration.
17504         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
17505         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
17506         (unary_float_operator, sh_expand_unop_v2sf): New functions.
17507         (sh_expand_binop_v2sf): Likewise.
17508         (zero_vec_operand): Delete.
17509         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
17510         all non-shared ones.
17511         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
17512         Enable nsb and byterev.
17513         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
17514         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
17515         in general regs.
17516         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
17517         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
17518         immediate operands.
17519         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
17520         Add DF_HI_REGS.
17521         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
17522         lowpart fp regs - only for big endian for now.
17523         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
17524         when FPU is in use.
17525         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
17526         (LOAD_EXTEND_OP): NIL for SImode.
17527         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
17528         general and fp registers is 4.
17529         PREDICATE_CODES: Amend binary_float_operator entry.
17530         Remove zero_vec_operand.  Add unary_float_operator.
17531         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
17532         subreg SET_DEST.
17533         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
17534         (truncdiqi2): Do sign extension.
17535         (movsi_media, movdi_media): Allow to use r63 to an fp register.
17536         (movdf_media, movsf_media): Likewise.
17537         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
17538         Collapse to one define_insn_and_split.  Allow immediate sources.
17539         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
17540         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
17541         (movv4sf): Allow immediate sources.
17542         (movsf_media_nofpu+1): Don't split moves to FP registers.
17543         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
17544         (movv8qi_i+3): Check against CONST0_RTX.
17545         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
17546         for input and output operands.  Fix argument 3 to gen_mextr_rl.
17547         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
17548         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
17549         (mshf0_w, fipr, ftrv): Likewise.
17550         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
17551
17552 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
17553
17554         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
17555         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
17556         * arm.c: Similarly.
17557
17558 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
17559
17560         * config/mips/mips-protos.h (mips_sign_extend): Declare.
17561         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
17562         (TARGET_SWITCHES): Remove debugh.
17563         (ISA_HAS_TRUNC_W): New macro.
17564         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
17565         (PREDICATE_CODES): Remove se_nonimmediate_operand.
17566         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
17567         any SImode move_operand.
17568         (se_nonimmediate_operand): Remove.
17569         (mips_sign_extend): New.
17570         (mips_move_2words): Use it for sign-extended source operands.
17571         (override_options): Allow integers to be put into single FPRs.
17572         (mips_secondary_reload_class): Handle integers in float registers.
17573         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
17574         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
17575         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
17576         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
17577         (fix_truncdfdi2): Provide only a single alternative, in which the
17578         integer is in a float register.  Depend on TARGET_FLOAT64 rather
17579         than TARGET_64BIT.
17580         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
17581         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
17582         (movdi_internal2): Don't allow the source operand to be sign-extended.
17583         Add alternatives for float registers.
17584         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
17585         allows sign-extension.
17586         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
17587         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
17588         float registers.  Remove TARGET_DEBUG_H_MODE test.
17589         (movhi_internal1): Rename to movhi_internal.  Don't check
17590         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
17591         (movqi_internal1): Rename to movqi_internal and remove
17592         TARGET_DEBUG_H_MODE dependency.
17593         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
17594
17595 2002-07-16  Jim Wilson  <wilson@redhat.com>
17596
17597         * toplev.c (lang_dependent_init): Create function context for
17598         init_expr_once.
17599
17600 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
17601
17602         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
17603         --gc-sections if -r.
17604         * config/cris/cris.h: Ditto.
17605
17606 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
17607
17608         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
17609         the comparison directly gives a mask suppress addition when cf is
17610         zero by complementing the mask.
17611
17612 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
17613
17614         * Makefile.in: Delete references to enquire.
17615         * enquire.c: Move to contrib.
17616
17617 2002-07-16  Stan Shebs  <shebs@apple.com>
17618
17619         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
17620         config/rs6000/darwin.h.
17621         (ASM_OUTPUT_SKIP): Ditto.
17622         (TEXT_SECTION_ASM_OP): Ditto.
17623         (DATA_SECTION_ASM_OP): Ditto.
17624         (ASM_APP_ON): Define.
17625         (ASM_APP_OFF): Define.
17626         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
17627         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
17628
17629         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
17630         (machopic_function_base_name): Declare result to be const.
17631         (machopic_non_lazy_ptr_name): Ditto.
17632         (machopic_stub_name): Ditto.
17633         * config/darwin-protos.h: Ditto for the prototypes.
17634
17635 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
17636
17637         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
17638
17639 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
17640
17641         * i386.md (prefetch): Fix for 64bit mode.
17642         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
17643
17644 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
17645
17646         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
17647         * i386.c (x86_machine_dependent_reorg): New function.
17648         * i386-protos.h (x86_machine_dependent_reorg): Declare.
17649
17650 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
17651
17652         * builtins.c (std_expand_builtin_va_start): Remove unused
17653         first argument.
17654         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
17655         std_expand_builtin_va_start with just two arguments.
17656         * expr.h: Update prototypes.
17657
17658         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
17659         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
17660         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
17661         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
17662         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
17663         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
17664         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
17665         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
17666         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
17667         argument from all implementations of EXPAND_BUILTIN_VA_START
17668         and all uses of std_expand_builtin_va_start.
17669
17670 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
17671
17672         * regrename.c (copy_value): Don't record high part copies.
17673
17674 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
17675
17676         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
17677         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
17678         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
17679
17680 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
17681
17682         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
17683
17684         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
17685         into addsi3 using register class "x" and "y".
17686
17687         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
17688         "earlyclobber" constraint modifier for some alternative.
17689
17690         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
17691         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
17692         unordered.
17693         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
17694
17695         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
17696         (TARGET_SWITCHES): Add -mieee-compare option.
17697         (OVERRIDE_OPTIONS): 32332 is a subset of
17698         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
17699         (TARGET_SWITCHES): Fix description of bitfield option.
17700         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
17701         -mieee-compare option. Remove 32332 flag.
17702
17703 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
17704
17705         * explow.c (convert_memory_address): Remove special handling
17706         when POINTERS_EXTEND_UNSIGNED < 0.
17707         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
17708         (movedi_symbolic): Fix typo.
17709         (load_fptr): Remove mode restriction so it works for SI and DI.
17710         (load_fptr_internal1): Ditto.
17711         (load_gprel): Ditto.
17712         (load_symptr_internal1): Ditto.
17713         (call_pic): Ditto.
17714         * config/ia64.c (call_operand): Modify mode check.
17715         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
17716         (ia64_expand_move): Ditto.
17717         (ia64_assemble_integer): Handle SImode function pointers.
17718         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
17719         (ia64_expand_op_and_fetch): Ditto.
17720         (ia64_expand_compare_and_swap): Ditto.
17721         (ia64_expand_lock_test_and_set): Ditto.
17722         (ia64_expand_lock_release): Ditto.
17723
17724 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17725
17726         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
17727
17728 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17729             Richard Earnshaw  <rearnsha@arm.com>
17730
17731         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
17732         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
17733
17734 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
17735
17736         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
17737         understands to be a memory clobber.
17738         * arm.c (arm_expand_prologue): Use it.
17739
17740 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
17741
17742         * ra-rewrite.c: #include reload.h, insn-config.h
17743         * ra-build.c: #include reload.h
17744         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
17745         depend on reload.h, insn-config.h.
17746
17747 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
17748
17749         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
17750         the same size as a word.
17751
17752         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
17753         BYTES_BIG_ENDIAN into account.
17754
17755 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
17756
17757         * i386.md (prefetch): Fix for 64bit mode.
17758         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
17759
17760         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
17761
17762 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
17763
17764         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
17765
17766 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
17767
17768         * ginclude/varargs.h: Replace with stub which issues #error.
17769         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
17770         __builtin_va_start.
17771
17772         * builtins.def (BUILT_IN_VARARGS_START): Delete.
17773         (BUILT_IN_VA_START): New.
17774         * builtins.c (expand_builtin_va_start): Eliminate first
17775         argument and code to implement pre-ISO varargs.
17776         (std_expand_builtin_va_start): Ignore first argument; it is
17777         always 1.
17778         (expand_builtin): Handle BUILT_IN_VA_START and
17779         BUILT_IN_STDARG_START identically.  Delete
17780         BUILT_IN_VARARGS_START case.
17781
17782         * function.c (assign_parms): Delete hide_last_arg and all
17783         its uses.
17784         (mark_varargs): Delete function.
17785         * function.h (struct function): Delete 'varargs' bit.
17786         (current_function_varargs): Delete macro.
17787         * tree.h: Don't declare mark_varargs.
17788
17789         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
17790         (c_expand_body): Don't call mark_varargs.
17791         * c-objc-common.c: Handle BUILT_IN_VA_START and
17792         BUILT_IN_STDARG_START identically.  Delete
17793         BUILT_IN_VARARGS_START case.
17794         * c-tree.h: Don't declare c_mark_varargs.
17795         * c-parse.in: Remove grammar rules for '&...' (which has been
17796         commented out since before 2.7.2) and for '...' in K+R
17797         argument declarations.
17798
17799         * builtins.c, function.c, integrate.c, sibcall.c,
17800         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
17801         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
17802         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
17803         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
17804         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
17805         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
17806         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
17807         config/stormy16/stormy16.c: Delete all references to
17808         current_function_varargs, and code predicated on that flag.
17809
17810         * config/alpha/alpha.c (alpha_va_start),
17811         config/arc/arc.c (arc_va_start),
17812         config/i386/i386.c (ix86_va_start),
17813         config/mips/mips.c (mips_va_start),
17814         config/mn10300/mn10300.c (mn10300_va_start),
17815         config/rs6000/rs6000.c (rs6000_va_start),
17816         config/s390/s390.c (s390_va_start),
17817         config/sh/sh.c (sh_va_start),
17818         Ignore first argument; it is always 1.
17819
17820         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
17821         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
17822         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
17823         Delete m68hc11_va_start.
17824         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
17825         No need to define EXPAND_BUILTIN_VA_START.
17826
17827         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
17828         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
17829
17830 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
17831
17832         PR optimization/7153
17833         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
17834         dies in more than one insn.
17835
17836 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
17837
17838         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
17839
17840 2002-07-15  Michael Matz  <matz@suse.de>,
17841             Daniel Berlin  <dberlin@dberlin.org>,
17842             Denis Chertykov  <denisc@overta.ru>
17843
17844         Add a new register allocator.
17845
17846         * ra.c: New file.
17847         * ra.h: New file.
17848         * ra-build.c: New file.
17849         * ra-colorize.c: New file.
17850         * ra-debug.c: New file.
17851         * ra-rewrite.c: New file.
17852
17853         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
17854         (ra-rewrite.o): New .o files for libbackend.a.
17855         (GTFILES): Add basic-block.h.
17856
17857         * toplev.c (flag_new_regalloc): New.
17858         (f_options): New option "new-ra".
17859         (rest_of_compilation): Call initialize_uninitialized_subregs()
17860         only for the old allocator.  If flag_new_regalloc is set, call
17861         new allocator, instead of local_alloc(), global_alloc() and
17862         friends.
17863
17864         * doc/invoke.texi: Document -fnew-ra.
17865         * basic-block.h (FOR_ALL_BB): New.
17866         * config/rs6000/rs6000.c (print_operand): Write small constants
17867         as @l+80.
17868
17869         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
17870         (df_reg_table_realloc): Make size at least as large as max_reg_num().
17871         (df_insn_table_realloc): Size argument now is absolute, not relative.
17872         Changed all callers.
17873
17874         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
17875         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
17876
17877         2002-06-20  Michael Matz  <matz@suse.de>
17878
17879         * df.h (struct ref.id): Make unsigned.
17880         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
17881
17882         2002-06-13  Michael Matz  <matz@suse.de>
17883
17884         * df.h (DF_REF_MODE_CHANGE): New flag.
17885         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
17886         involving subregs with invalid mode changes, when
17887         CLASS_CANNOT_CHANGE_MODE is defined.
17888
17889         2002-05-07  Michael Matz  <matz@suse.de>
17890
17891         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
17892
17893         2002-05-03  Michael Matz  <matz@suse.de>
17894
17895         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
17896
17897         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
17898
17899         * regclass.c (regclass): Work with all regs which have sets or
17900         refs.
17901         (reg_scan_mark_refs): Count regs inside (clobber ...).
17902
17903         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
17904
17905         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
17906         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
17907         add new refs.
17908         (df_bb_refs_update): Don't clear insns_modified here, ...
17909         (df_analyse): ... but here.
17910
17911         * sbitmap.c (dump_sbitmap_file): New.
17912         (debug_sbitmap): Use it.
17913
17914         * sbitmap.h (dump_sbitmap_file): Add prototype.
17915
17916         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
17917
17918         * df.c (df_insn_modify): Grow the UID table if necessary, rather
17919         than assume all emits go through df_insns_modify.
17920
17921         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
17922
17923         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
17924         increase REG_N_REFS (like flow does), so that regclass doesn't
17925         think a reg is useless, and thus, not calculate a class, when it
17926         really should have.
17927
17928         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
17929
17930         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
17931         dataflow analysis.
17932
17933 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
17934
17935         PR middle-end/7245
17936         * config/i386/i386.c (const_int_1_31_operand): New.
17937         * config/i386/i386.h (PREDICATE_CODES): Add it.
17938         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
17939         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
17940         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
17941
17942 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
17943
17944         PR target/7282
17945         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
17946         (floatunssidf2): Likewise.
17947         (floatsidf_ppc64): New insn_and_split.
17948         (floatunssidf_ppc64): Likewise.
17949
17950 2002-07-14  Andreas Jaeger  <aj@suse.de>
17951
17952         * config.gcc (sh64): Remove unused
17953         target_requires_64bit_host_wide_int.
17954
17955 2002-07-12  Roger Sayle  <roger@eyesopen.com>
17956
17957         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
17958         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
17959         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
17960         whether clear_by_pieces should be used to clear storage.
17961         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
17962
17963         * doc/tm.texi: Document these two new target macros.
17964
17965 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
17966
17967         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
17968         the scratch register.
17969         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
17970         of it, forbid reload to use it.
17971
17972 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
17973
17974         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
17975         usage on 64-bit hosts, return value was truncated to 32 bits.
17976
17977 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
17978
17979         * simplify-rtx.c (simplify_subreg): Handle floating point
17980         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
17981         the element mode is requested, compute a subreg with an
17982         integer mode of the same size as the element mode first.
17983
17984 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
17985
17986         * combine.c (try_combine): When converting a paradoxical subreg
17987         to an extension, take LOAD_EXTEND_OP into account.
17988
17989 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17990
17991         * config.gcc (mips-sgi-irix6*o32): New configuration.
17992
17993         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
17994         configurations.
17995         * configure: Regenerate.
17996
17997         * config/mips/iris6-o32-as.h: New file.
17998         * config/mips/iris6-o32.h: New file.
17999
18000         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
18001         (NM_FLAGS): Define.
18002         (HAVE_AS_SHF_MERGE): Undefine.
18003
18004         * config/mips/t-iris5-as: New file.
18005         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18006
18007         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
18008         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
18009         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
18010         dp-bit.c, fp-bit.c): Move ...
18011         * config/mips/t-iris5-6: ... here.
18012         New file, shared by IRIX 5 and IRIX 6.
18013         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
18014         mips-sgi-irix5*): Use it.
18015
18016         * config/mips/iris6.h: Remove duplicate comment.
18017
18018         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
18019         !TARGET_IRIX6]: Define.
18020         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
18021
18022         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
18023
18024 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18025
18026         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
18027         and delete code to force constant to register.
18028         * pa-protos.h (adddi3_operand): Add prototype.
18029         * pa.c (adddi3_operand): New function.
18030
18031 2002-07-11  Roger Sayle  <roger@eyesopen.com>
18032
18033         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
18034         non-ANSI builtin functions.
18035
18036 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
18037
18038         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
18039         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
18040         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
18041         (gen_const_vector_0): Use it.
18042
18043 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18044
18045         * pa.md (adddi3): For 32-bit targets, force constants to a register
18046         if they don't fit in an 11-bit immediate.  Change insn predicate to
18047         arith11_operand.  Remove comment.
18048         * pa.c (cint_ok_for_move): Fix comment.
18049         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
18050         targets.
18051
18052 2002-07-11  Tim Josling  <tej@melbpc.org.au>
18053
18054         Remove front end hard coding from gengtype.c.
18055
18056         * Makefile.in
18057         (STAGESTUFF): add gtyp-gen.h
18058         (GTFILES): Remove front end specific files.
18059         (GTFILES_FILES_LANGS): New, from configure..
18060         (GTFILES_FILES_FILES): Likewise.
18061         (GTFILES_LANG_DIR_NAMES): Likewise.
18062         (GTFILES_SRCDIR): Likewise.
18063         (gtyp-gen.h): Build from configure information.
18064         (s-gtype): Remove command line parameters from gengtype.
18065         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
18066         (mostlyclean): Delete files generated by and for gengtype.
18067
18068         * c-config-lang.in: New file.
18069
18070         * configure.in (all_gtfiles_files_langs): New. Accumulate files
18071         for each language.
18072         (all_gtfiles_files_files): New. Accumulate language for each file
18073         accumulated.
18074         (gtfiles): Pick up value for C.
18075         (srcdir): AC-SUBST this variable.
18076         (all_gtfiles_files_langs): AC-SUBST this variable.
18077         (all_gtfiles_files_files): AC-SUBST this variable.
18078
18079         * configure: Regenerate.
18080
18081         * gengtype-lex.l (parse_file): Make parameter const.
18082
18083         * gengtype.c (toplevel): include gtyp-gen.h.
18084         (BASE_FILE_<language> unnamed enum): Delete.
18085         (lang_names): Delete (replaced by gtyp-gen.h)
18086         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
18087         all references.
18088         (NUM_GT_FILES): New.
18089         (NUM_LANG_FILES): New.
18090         (srcdir_len): New.
18091         (NUM_BASE_FILES): Change calculation.
18092         (open_base_files): Change prototype to avoid warning.
18093         (startswith): Delete.
18094         (get_file_basename): Iterate through generated language list not
18095         hard coded list.
18096         (get_base_file_bitmap): Use generated list of files and languages.
18097         (close_output_files): Add prototype to rmove warning.
18098         (main): Iterate through list of generated files from gtyp-gen.h
18099         rather than command line paramaters.  Ignore duplicated file
18100         names.
18101
18102         * gengtype.h (parse_file): Amend prototype for const parameter.
18103
18104         * doc/sourcebuild.texi: Document gtfiles variable.
18105
18106         * doc/gty.texi: Document changes to gtfiles variable for front
18107         ends.
18108
18109         * objc/config-lang.in (gtfiles): Add files needed for objc front
18110         end.
18111
18112 2002-07-10  Roger Sayle  <roger@eyesopen.com>
18113
18114         PR c/2454
18115         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
18116         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
18117
18118 2002-07-10  Roger Sayle  <roger@eyesopen.com>
18119             Zack Weinberg <zack@codesourcery.com>
18120
18121         * builtins.def: Make the argument types of abort and exit
18122         independent of the front-end.
18123
18124 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
18125
18126         * config/rs6000/linux64.h (ASM_SPEC): Define.
18127
18128 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
18129
18130         * config/rs6000/rs6000.c (emit_frame_save): New.
18131         (rs6000_frame_related): Replace reg2 before reg.
18132         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
18133         and eh_return registers.
18134
18135 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
18136
18137         Revert all patches for optimization of Complex .op. Real.
18138         * complex_part_zero_p: Remove
18139         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
18140         with x.
18141         * expand_cmplxdiv_wide: Ditto.
18142         * expand_binop: Ditto.
18143
18144 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18145
18146         * config/avr/avr.md: Fix two 0x80000000 constants to make them
18147         negative also on 64-bit hosts.
18148
18149         Default to -fno-reorder-blocks when optimizing for size.
18150         * config/avr/avr-protos.h (avr_optimization_options): Declare.
18151         * config/avr/avr.c (avr_optimization_options): New function.
18152         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
18153
18154         Optimize returning from simple functions.
18155         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
18156         * config/avr/avr.c (avr_simple_epilogue): New function.
18157         * config/avr/avr.md (return): New insn.
18158
18159 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
18160
18161         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
18162         HAS_INIT_SECTION to protection.
18163
18164 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
18165
18166         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
18167         deprecated.
18168
18169 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
18170
18171         * combine.c (gen_lowpart_for_combine): Handle vector modes.
18172         Supply non-VOID mode to simplify_gen_subreg.
18173
18174 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
18175
18176         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
18177
18178 2002-07-10  Jeffrey A Law  <law@redhat.com>
18179
18180         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
18181         as appropriate.
18182
18183         * mn10200.c (expand_epilogue): Fix test to determine which scratch
18184         register to use.
18185
18186 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
18187
18188         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
18189         Get mode from dest.
18190         If simplify_gen_subreg fails, try next equivalent.
18191
18192 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
18193
18194         * diagnostic.h: #include location.h
18195         (location_t): Move definition to..
18196         * location.h: ... here.  New file.
18197         * tree.h: #include location.h
18198         (DECL_SOURCE_LOCATION): New macro.
18199         (DECL_SOURCE_FILE): Use.
18200         (DECL_SOURCE_LINE): Likewise.
18201         (struct tree_decl): REplace filename and linenum with locus.
18202         * Makefile.in (TREE_H): add location.h
18203         (diagnostic.o): Depends on gt-location.h
18204         (gt-location.h): Depends on s-gtype
18205
18206 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
18207
18208         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
18209         TARGET_OS_CPP_BUILTINS.
18210         * config/rs6000/aix31.h: Likewise.
18211         * config/rs6000/aix41.h: Likewise.
18212         * config/rs6000/aix43.h: Likewise.
18213         * config/rs6000/aix51.h: Likewise.
18214         * config/rs6000/beos.h: Likewise.
18215         * config/rs6000/darwin.h: Likewise.
18216         * config/rs6000/eabi.h: Likewise.
18217         * config/rs6000/eabisim.h: Likewise.
18218         * config/rs6000/linux.h: Likewise.
18219         * config/rs6000/linux64.h: Likewise.
18220         * config/rs6000/lynx.h: Likewise.
18221         * config/rs6000/mach.h: Likewise.
18222         * config/rs6000/rtems.h: Likewise.
18223         * config/rs6000/sysv4.h: Likewise.
18224         * config/rs6000/vxppc.h: Likewise.
18225
18226 2002-07-09 Devang Patel <dpatel@apple.com>
18227         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
18228         Do not allow ObjC objects as a parameter type for Objective-C methods.
18229         My previous patch restricted  'struct' also.
18230
18231 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
18232
18233         * cpperror.c (cpp_error): Default to directive_line within
18234         directives here.
18235         * cppexp.c (cpp_interpret_integer): Only use traditional
18236         number semantics in directives.
18237         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
18238         (do_include_common): Similarly.
18239         * cpptrad.c (scan_out_logical_line): Implement accurate
18240         quoting of <> in #include.
18241         * doc/cpp.texi: Update.
18242
18243 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
18244                           J"orn Rennecke <joern.rennecke@superh.com>
18245
18246         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
18247         * sh.md (attribute issues): Replace with:
18248         (attribute pipe_model).  All users changed.
18249         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
18250         All users changed.
18251         (function units sh5issue, sh5fds): New.
18252         (attribute is_mac_media): New.
18253         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
18254         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
18255         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
18256         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
18257         (call_media, call_value_media, sibcall_media): Likewise.
18258         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
18259         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
18260         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
18261         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
18262         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
18263         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
18264         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
18265         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
18266         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
18267         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
18268         (truncdfsf2_media): Likewise.
18269         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
18270         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
18271
18272 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18273
18274         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
18275         * sh.c (general_extend_operand, inqhi_operand): New functions.
18276         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
18277         alternatives using 'N' modifier.  Add type.
18278         (adddi3z_media): Likewise.  Enable generator function generation.
18279         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
18280         exact predicates / constraints.  Add type.
18281         (subsi3): Allow 0 for SHMEDIA.
18282         (udivsi3_i4_media): Use match_operand for input values
18283         rather than hard registers.
18284         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
18285         unnecessarily through hard registers.  Keep copies of pseudo
18286         registers outside of the libcall sequence.
18287         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
18288         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
18289         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
18290         (extendhidi2, extendqidi2): Likewise.
18291         (andsi3_compact): Name.
18292         (andcdi3): Enable generator function generation.
18293         (zero_extendhisi2, zero_extendqisi2): Rename to
18294         (zero_extendhisi2_compact, zero_extendqisi2_compact).
18295         (extendhisi2, extendqisi2): Rename to
18296         (extendhisi2_compact, extendqisi2_compact).
18297         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
18298         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
18299         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
18300         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
18301         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
18302         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
18303         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
18304         (shmedia32_initialize_trampoline_big): Likewise.
18305         (shmedia32_initialize_trampoline_little): Likewise.
18306         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
18307         (negdi2): Remove spurious T clobber.
18308         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
18309         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
18310         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
18311         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
18312         (ic_invalidate_line_media): Write back data cache before invalidating
18313         instruction cache.  Add type.
18314         (movsf_media): Sign-extend when the destination is a general
18315         purpose register.  Add type.
18316         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
18317         (casesi_worker_0+1): Only increment ref count for proper label.
18318         (casesi_worker_0+2): Likewise.
18319
18320 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
18321
18322         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
18323
18324 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
18325
18326         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
18327         from Pmode to ptr_mode.
18328         (get_exception_pointer): Ditto.
18329         (connect_post_landing_pads): Ditto.
18330         (dw2_build_landing_pads): Ditto.
18331
18332 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
18333         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
18334         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
18335         (handle_pragma_redefine_extname): Change to use new function.
18336
18337 2002-07-08  Roger Sayle  <roger@eyesopen.com>
18338
18339         * combine.c (combine_simplify_rtx): Add an explicit cast
18340         to avoid signed/unsigned comparison warning.
18341         (simplify_if_then_else): Likewise.
18342         (extended_count): Likewise.
18343         (simplify_shift_const): Likewise.
18344         (simplify_comparison): Likewise.
18345
18346 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
18347
18348         * config/mips/mips.md: Add imadd type.  Update scheduler description
18349         to use imadd as well as imul.
18350         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
18351         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
18352         (*mul_sub_si): Likewise for first alternative.  Change second
18353         alternative from imul to multi.
18354
18355 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
18356
18357         * c-common.c (c_common_post_options): Update prototype;
18358         don't init backends if preprocessing only.
18359         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
18360         * langhooks.h (struct lang_hooks): Update post_options to
18361         return a boolean.
18362         * toplev.c (parse_options_and_default_flags, do_compile,
18363         lang_independent_init): Update prototypes.  Allow the
18364         front end to specify that there is no need to initialize
18365         the back end.
18366         (general_init): Move call to hex_init here...
18367         (toplev_main): ...from here.  Pass flag for back end init
18368         suppression.
18369
18370 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
18371
18372         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
18373         (PREDICATE_CODES): Add entries for equality_comparison_operator,
18374         greater_comparison_operator and less_comparison_operator.
18375         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
18376         more operators.
18377         (equality_comparison_operator): New function.
18378         (greater_comparison_operator, less_comparison_operator): Likewise.
18379         * sh.md (beq_media_i): Disable generator function generation.
18380         Use match_operator to handle a whole class of comparisons.  Add
18381         modifier in output template to provide branch prediction.  Add type.
18382         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
18383         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
18384         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
18385         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
18386
18387 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
18388
18389         Emit MMIX function prologue and epilogue as rtl.
18390         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
18391         not unprototyped get_hard_reg_initial_val.
18392         ("call_value", "nonlocal_goto_receiver"): Ditto.
18393         ("return"): Make define_expand.  Move real insn to...
18394         ("*expanded_return"): New pattern.
18395         ("prologue", "epilogue"): New define_expands.
18396         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
18397         (struct machine_function): New member in_prologue.
18398         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
18399         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
18400         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
18401         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
18402         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
18403         (LOCAL_REGNO): Define.  Adjust comment.
18404         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
18405         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
18406         leaf_function_p.
18407         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
18408         the prologue.
18409         (mmix_target_asm_function_prologue): Make static.  Just mark that
18410         the prologue is being emitted.  Move guts to...
18411         (mmix_expand_prologue): New function.  Adjust for emitting
18412         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
18413         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
18414         \n.  Move guts to...
18415         (mmix_expand_epilogue): New function.  Adjust for emitting
18416         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
18417         (mmix_target_asm_function_end_prologue): Mark that the prologue
18418         has ended.
18419         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
18420         (mmix_conditional_register_usage): Improve comments.
18421         (mmix_local_regno): New function.
18422         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
18423         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
18424         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
18425         (mmix_get_hard_reg_initial_val): Ditto.
18426
18427 2002-07-06  Andreas Jaeger  <aj@suse.de>
18428
18429         * toplev.c (set_fast_math_flags): Don't use ISO C style function
18430         definitions.
18431         * gengtype.c (open_base_files): Likewise.
18432         (close_output_files): Likewise.
18433         * tracer.c (find_best_predecessor): Likewise.
18434         (find_best_successor): Likewise.
18435         (ignore_bb_p): Likewise.
18436
18437 2002-07-05  Roger Sayle  <roger@eyesopen.com>
18438
18439         PR c++/7099
18440         * builtin-attrs.def: Define new attribute lists for use in
18441         builtins.def.
18442         * builtins.def [DEF_BUILTIN]: Modify to take an additional
18443         ATTRS argument, an enumerated value defined in builtin-attrs.def
18444         that represents the attribute list for the builtins.  Modify
18445         all builtin functions to pass an appropriate attribute list.
18446         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
18447         their required noreturn attributes.
18448         * tree.h (enum_builtin_function): Ignore the additional parameter
18449         to DEF_BUILTIN.
18450         * builtins.c (built_in_names): Likewise.
18451         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
18452         argument with a tree representing the functions attribute list.
18453         Pass this "attrs" argument to builtin_function.  No longer handle
18454         the noreturn_p processing manually.
18455         (built_in_attributes): Move the definitions from builtin-attrs.def
18456         before c_common_nodes_and_builtins.
18457         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
18458         DEF_BUILTIN, passing it to both builtin_function and the changed
18459         builtin_function_2.
18460
18461         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
18462         __builtin__exit and __builtin__Exit.
18463
18464 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
18465
18466         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
18467         QI mode registers in soft registers.
18468         ("zero_extendqihi2"): Do not take into account soft registers
18469         for register allocation (use '*' constraint).
18470
18471 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
18472
18473         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
18474         it is dead.
18475         ("*ashrsi3"): Likewise.
18476         ("*lshrsi3"): Likewise.
18477
18478 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
18479
18480         * genautomata.c (output_max_insn_queue_index_def): Take latencies
18481         into account.
18482
18483 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
18484
18485         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
18486         address computation and memory moves.
18487
18488 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
18489
18490         PR c++/6706
18491         * dwarfout.c (output_reg_number): Fix warning message.
18492         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
18493         before using it.
18494
18495 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18496
18497         * gcc/gcc.c (asm_debug): Move initialization ...
18498         (init_spec): ... here.
18499
18500 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18501
18502         * c-parse.in (extdef): Append ';'.
18503         (old_style_parm_decls): Append ';'.
18504
18505 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
18506
18507         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
18508         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
18509         to gcc_cv_as_gstabs_flag.
18510         * configure: Rebuilt.
18511
18512 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
18513
18514         * ggc.h (ggc_add_root): Document as obsolete.
18515
18516 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
18517
18518         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
18519         (mshflo_w): Likewise.
18520
18521 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
18522
18523         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
18524         vector mode subregs of constants to finding integer mode
18525         subregs of constants.
18526         * cse.c (cse_insn): Use simplify_gen_subreg.
18527         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
18528         From a vector mode expression of different size than the
18529         target mode.
18530
18531 2002-07-03  Eric Christopher  <echristo@redhat.com>
18532
18533         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
18534         * config/mips/mips.h: Remove deprecated -m<processor> options
18535         and cc1_cpu_spec associated.
18536         (CONSTANT_ADDRESS_P): Fix last patch.
18537         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
18538         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
18539         sunge_sf): Remove.
18540
18541 2002-07-03  Stan Shebs  <shebs@apple.com>
18542
18543         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
18544         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
18545         (CPP_SPEC): Remove insertion of APPLE_CC definition.
18546
18547 2002-07-03  Roger Sayle  <roger@eyesopen.com>
18548
18549         * combine.c (struct_undo): Change types of recorded substitutions
18550         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
18551         (do_SUBST_INT): Change types of the substitution from unsigned int
18552         to int, to avoid compilation warning from SUBST_INT's only caller.
18553
18554         (make_extraction): Add cast to avoid compilation warning.
18555         (force_to_mode): Remove cast to avoid compilation warning.
18556
18557 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
18558             Jeff Law  <law@redhat.com>
18559
18560         * i386.md (length_immediate attribute): Fix typo.
18561         (length_address attribute): Likewise.
18562         (modrm attribute): Set it to 0 for immediate call instructions.
18563         (jcc_1 pattern): Set modrm attribute to 0.
18564         (jcc_2 pattern ): Likewise.
18565         (jump pattern): Likewise.
18566         (doloop_end_internal pattern): Explicitly set length.
18567         (leave pattern): Fix typo.
18568         (leave_rex64 pattern): Likewise.
18569
18570 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
18571
18572         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
18573         in FPR as preference.
18574         (fctiwz): Same.
18575         (floatdidf2, fix_truncdfdi2): Same.
18576         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
18577         (floatditf2): Same.
18578         (floatsitf2, fix_trunctfsi2): SImode in GPR.
18579         (ctrdi): Remove FPR alternative and splitter.
18580
18581 2002-07-03  Will Cohen  <wcohen@redhat.com>
18582
18583         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
18584
18585 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
18586
18587         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
18588         than UNITS_PER_WORD, unless this is little endian and the first unit
18589         in this word.  Let extract_bit_field decide how to load an element.
18590         Force arguments to matching mode.
18591         (expand_vector_unop): Likewise.
18592
18593         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
18594         consist of word_mode elements.
18595         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
18596         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
18597         (build_unary_op): Allow vector types for BIT_NOT_EPR.
18598         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
18599         CONST_VECTOR.
18600         * optabs.c (expand_vector_binop): Try to perform operation in
18601         smaller vector modes with same inner size.  Add handling of AND, IOR
18602         and XOR.  Reject expansion to inner-mode sized scalars when using
18603         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
18604         (expand_vector_unop): Try to perform operation in smaller vector
18605         modes with same inner size.  Add handling of one's complement.
18606         When there is no vector negate operation, try a vector subtract
18607         operation.  Use simplify_gen_subreg on constants.
18608         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
18609         constants into smaller vectors with same inner mode, and to
18610         integer CONST_DOUBLEs.
18611
18612 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18613
18614         * c-parse.in (parsing_iso_function_signature): New variable.
18615         (extdef_1): New, copied from...
18616         (extdef): ... here.  Reset parsing_iso_function_signature.
18617         (old_style_parm_decls):  Reset parsing_iso_function_signature.
18618         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
18619         Warn about ISO C style function definitions.
18620         (nested_function, notype_nested_function): Reset
18621         parsing_iso_function_signature.
18622         (parmlist_2): Set parsing_iso_function_signature.
18623
18624         * doc/invoke.texi (-Wtraditional): Document new behavior.
18625
18626 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
18627
18628         * config.gcc (mips*el-*-*): Use tm_defines to set
18629         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
18630         * config/mips/little.h: Remove.
18631
18632 2002-07-02 Devang Patel <dpatel@apple.com>
18633
18634         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
18635         object as parameter. Prevent something like 'NSObject' to be
18636         used as the type for a method argument.
18637
18638 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
18639
18640         * cpptrad.c: Update comment.
18641
18642 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
18643
18644         * doc/cpp.texi: Update for traditional preprocessing changes.
18645         * goc/cppopts.texi: Similarly.
18646
18647 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
18648
18649         * c-parse.in (designator): Enable designated initializers if ObjC.
18650         (objcmessageexpr): Remove references to objc_receiver_context.
18651         * objc/objc-act.h (objc_receiver_context): Remove decl.
18652         * objc/objc-act.c (objc_receiver_context): Remove.
18653         (lookup_objc_ivar): Test objc_method_context instead of
18654         objc_receiver_context.
18655
18656 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
18657
18658         * sh.c (print_operand, case 'N'): Allow zero vector.
18659         (arith_reg_or_0_operand): Likewise.
18660         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
18661         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
18662         IOR, XOR, PLUS and SET and take their respective constant
18663         ranges into account.
18664         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
18665         * sh.md (subdi3, subdi3_media): Allow zero operand.
18666         (movv8qi_i+3): Only vector that is not split is the zero vector.
18667         Fix operand 3 to simplify_subreg.
18668         (movv2si_i): Split alternative 1.
18669         (mshfhi_l_di_rev+1): New splitter.
18670
18671 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
18672
18673         PR preprocessor/7029
18674         * cppinit.c (cpp_handle_option):  Suppress warnings with an
18675         implicit "-w" for "-M" and "-MM".
18676         * doc/cppopts.texi: Update.
18677
18678 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18679
18680         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
18681         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
18682         builtin_function.
18683
18684 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
18685
18686         * README.Portability: Fix typos.
18687
18688 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
18689
18690         PR target/7177
18691         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
18692         of indirections for register inside sign-extended mem part.
18693
18694 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18695
18696         * tree.h:  Modify builtin_function interface to take an extra
18697         argument ATTRS, which is a tree representing an attribute list.
18698
18699         * c-decl.c (builtin_function): Accept additional parameter.
18700         * objc/objc-act.c (builtin_function): Likewise.
18701         * f/com.c (builtin_function): Likewise.
18702         * java/decl.c (builtin_function): Likewise.
18703         * ada/utils.c (builtin_function): Likewise.
18704         * cp/decl.c (builtin_function): Likewise.
18705         (builtin_function_1): Likewise.
18706
18707         * c-common.c (c_common_nodes_and_builtins): Pass an additional
18708         NULL_TREE argument to builtin_function.  (builtin_function_2):
18709         Likewise.
18710         * cp/call.c (build_java_interface_fn_ref): Likewise.
18711         * objc/objc-act.c (synth_module_prologue): Likewise.
18712         * java/decl.c (java_init_decl_processing): Likewise.
18713         * f/com.c (ffe_com_init_0): Likewise.
18714
18715         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
18716         NULL_TREE argument to builtin_function.
18717         * config/arm/arm.c (def_builtin): Likewise.
18718         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
18719         * config/i386/i386.c (def_builtin): Likewise.
18720         * config/ia64/ia64.c (def_builtin): Likewise.
18721         * config/rs6000/rs6000.c (def_builtin): Likewise.
18722
18723 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
18724
18725         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
18726         * config/mips/t-isa3264: Likewise.
18727         * config/mmix/t-mmix: Likewise.
18728
18729 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18730
18731         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
18732
18733 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18734
18735         PR opt/4046
18736         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
18737         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
18738         B are truth values.
18739
18740 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
18741
18742         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
18743
18744 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
18745
18746         * README.Portability (Function prototypes): Give an example of
18747         declaring and defining a function with no arguments.
18748
18749         * README.Portability (Function prototypes): Document new
18750         variable-argument function macros.
18751
18752 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
18753
18754         * sh.c (langhooks.h): Include.
18755         (sh_init_builtins, sh_media_init_builtins): New functions.
18756         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
18757         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
18758         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
18759         (builtin_description): New struct tag.
18760         (signature_args, bdesc): New arrays.
18761         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
18762         (print_operand): Add 'N' modifier.
18763         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
18764         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
18765         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
18766         (CONST_COSTS): Add special case for SHmedia AND.
18767         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
18768         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
18769         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
18770         target_operand can also be const or unspec.
18771         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
18772         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
18773         (attribute type): Add new types.
18774         (anddi3): Add splitter.
18775         (movdi_const_16bit+1): Add code to handle vector constants and
18776         bitmasks efficiently.
18777         (shori_media): Have generator function made.
18778         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
18779         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
18780         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
18781         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
18782         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
18783         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
18784         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
18785         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
18786         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
18787         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
18788         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
18789         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
18790         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
18791         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
18792         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
18793         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
18794         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
18795         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
18796         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
18797         (ftrv): Likewise.
18798
18799         (fpu_switch+1, fpu_switch+2): Remove constraint.
18800
18801 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
18802
18803         * tree.c (build_function_type_list): Update function comment.
18804         Rename first argument to return_type.
18805
18806 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
18807
18808         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
18809         tradcif.y and related files.
18810
18811 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
18812
18813         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
18814
18815 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18816
18817         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
18818
18819 See ChangeLog.7 for earlier changes.