OSDN Git Service

e7d48447b19b6920b73974062ccb78c6eedb3400
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * gcse.c (fis_get_condition): Make it a global function.
4         * reload1.c (reload_cse_move2add): Detect implicit sets.
5         * rtl.h: Add a prototype for fis_get_condition.
6
7 2003-06-11  Richard Henderson  <rth@redhat.com>
8
9         * stmt.c (expand_asm_operands): Don't warn for memories with
10         queued addresses.
11
12 2003-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
13
14         * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
15         brackets.
16
17 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
18
19         * hooks.c (hook_int_size_t_constcharptr_int_0): New.
20         * hooks.h (hook_int_size_t_constcharptr_int_0): New.
21         * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
22         (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
23         * langhooks.c (lhd_decode_option): Remove.
24         * langhooks.h (struct lang_hooks): Remove decode_option.
25         * opts.c (handle_option): No longer use decode_option.
26
27 2003-06-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
28
29         * cfgloopanal.c (variable_initial_value): Update the set of altered
30         registers correctly.
31
32 2003-06-11  Roger Sayle  <roger@eyesopen.com>
33             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
34
35         * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
36         * config/i386/netbsd-elf.h: Likewise.
37         * config/m32r/m32r.h: Likewise.
38         * config/mn10300/mn10300.h: Likewise.
39         * config/stormy16/stormy16.h: Likewise.
40         * config/v850/v850.h: Likewise.
41         * config/vax/netbsd-elf.h: Likewise.
42         * config/xtensa/elf.h: Likewise.
43         * config/xtensa/linux.h: Likewise.
44
45 2003-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
46
47         * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
48         DWARF 2 default.
49
50         * config/mips/dbxmdebug.h: New file.
51         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
52         gas and --with-stabs.
53
54 2003-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
55
56         * expr.c (can_move_by_pieces): align argument may be unused.
57
58 2003-06-11  J"orn Rennecke <joern.rennecke@superh.com>
59
60         * expr.c (convert_move): Handle moves between two CONCATs.
61
62 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
63
64         * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
65         !TARGET_H8300.
66
67 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
68
69         * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
70         * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
71         (TARGET_RTL_DUMP): Likewise.
72         (TARGET_SWITHCES): Remove -mrtl-dump.
73
74 2003-06-10  Richard Henderson  <rth@redhat.com>
75
76         * optabs.c (gen_cond_trap): Fix prepare_operand typo.
77
78 2003-06-10  Richard Henderson  <rth@redhat.com>
79
80         * config/ia64/ia64.md (call_gp): Fix memory mode.
81
82 2003-06-10  James E Wilson  <wilson@tuliptree.org>
83
84         PR target/8812
85         * reload1.c (choose_reload_regs): For equiv reg, add loop over all
86         hard regs for reload_reg_used_at_all and reg_class_contents checks.
87
88 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
89
90         * config/h8300/h8300.c (print_operand): Remove support for
91         operand character 'b'.
92         Add the AND case to operand character 'c'.
93         * config/h8300/h8300.md (two anonymous patterns): Replace
94         operand character 'b' with 'c'.
95
96 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
97
98         * config/h8300/h8300.c (print_operand): Remove support for
99         operand character 'u'.
100
101 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
102
103         * configure.in: Fix typo.
104         * configure: Regenerate.
105
106 2003-06-10  Loren James Rittle  <ljrittle@acm.org>
107
108         * config/alpha/alpha.c (unicosmk_file_end): Add conditional
109         compilation guard.
110
111 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
112
113         * sh-protos.h (function_symbol): Declare.
114         * sh.c (expand_block_move, expand_ashiftrt): Use it.
115         (sh_expand_prologue, sh_expand_epilogue): Likewise.
116         (sh_initialize_trampoline): Likewise.
117         (function_symbol): New function.
118         * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
119         (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
120         (call_value_pop, shcompact_return_tramp): Likewise.
121
122         * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
123
124         * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
125         target register.
126
127 2003-06-10  DJ Delorie  <dj@redhat.com>
128
129         * doc/md.texi (Machine Constraints): Document stormy's Z
130         constraint.
131
132 2003-06-10  Geoffrey Keating  <geoffk@apple.com>
133
134         * except.c (call_site_base): Mark with GTY.
135
136 2003-06-10  Richard Earnshaw  <rearnsha@arm.com>
137
138         * arm-proto.h: Convert to ISO C90 prototypes.
139         * arm.c: Likewise.
140
141 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
142
143         * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
144
145 2003-06-10  Steve Ellcey  <sje@cup.hp.com>
146
147         * calls.c (expand_call): Convert structure_value_addr to Pmode if
148         necessary.
149
150 2003-06-10  Andrew Haley  <aph@redhat.com>
151
152         * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
153         (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
154         (lhd_decl_ok_for_sibcall): New.
155         * langhooks.c (lhd_decl_ok_for_sibcall): New.
156         * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
157         * calls.c (expand_call): Check lang_hook before generating a
158         sibcall.
159
160 2003-06-10  DJ Delorie  <dj@redhat.com>
161
162         * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
163         which matches (const_int 0) for addhi3.
164         * config/stormy16/stormy16.md: Document known constraints.
165         (addhi3): Handle adding zero.
166
167 2003-06-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
168
169         * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
170         * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
171         * config/m32r/m32r-protos.h: Prototype it.
172
173 2003-06-10  Janis Johnson  <janis187@us.ibm.com>
174
175         * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
176         common to rs6000 sysv targets.
177         * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
178         * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
179
180 2003-06-10  Nick Clifton  <nickc@redhat.com>
181
182         * config.gcc: Add arm-wince-pe target.
183         * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
184         Add comment about default apcs26 support.
185         * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
186         multilib.
187         (MULTILIB_DIRNAMES): Add 'apcs32'.
188         * config/arm/t-wince-pe: New makefile fragment.
189         * config/arm/wince-pe.h: New file.  Overrides a few definitions
190         in arm/pe.h
191
192 2003-06-10  Roger Sayle  <roger@eyesopen.com>
193
194         * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
195         * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
196         when x is easily negated and f is sin, tan or atan.
197         (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
198         sin(x) with flag_unsafe_math_optimizations.
199         (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
200         sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
201
202 2003-06-10  Roger Sayle  <roger@eyesopen.com>
203
204         * fold-const.c (fold <EQ_EXPR>):  Don't fold x == x only if x
205         is a floating point type *and* we currently honor NaNs.
206         (fold <NE_EXPR>): Likewise.
207
208 2003-06-10  Mark Mitchell  <mark@codesourcery.com>
209
210         PR c++/11131
211         * tree-inline.c (inlinable_function_p): Call the language-specific
212         hook early.
213
214 2003-06-09  David Taylor  <dtaylor@emc.com>
215
216         * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg):  Skip over
217         the f_res field.
218
219 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
220
221         * configure.in: Remove references to host_truncate_target.
222         * configure: Regenerate.
223         * config.gcc: Remove references to truncate_target,
224         host_truncate_target.
225
226         * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
227         Replace "build_canonical" with build, "host_canonical" with host.
228         * configure.in: Use GCC_TOPLEV_SUBDIRS.
229         * aclocal.m4: Include ../config/acx.m4.
230         * configure: Regenerate.
231
232 2003-06-09  David Taylor  <dtaylor@emc.com>
233
234         * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
235         bytes of padding in the __va_list_tag structure a name (reserved).
236
237 2003-06-09  Jason Merrill  <jason@redhat.com>
238
239         * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
240
241 2003-06-09  Osku Salerma  <osku@iki.fi>
242
243         * c-format.c (check_format_string, get_constant): New.
244         (handle_format_attribute, handle_format_arg_attribute,
245         decode_format_attr): Change to use above functions.
246
247 2003-06-09  Richard Henderson  <rth@redhat.com>
248
249         * stmt.c (expand_asm_operands): Re-word warning.
250
251 2003-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
252
253         PR target/8787
254         * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
255         if -masm=intel.
256
257 2003-06-09  James E Wilson  <wilson@tuliptree.org>
258
259         * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
260         config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
261         Add libgcc exception.
262
263 2003-06-09  David Edelsohn  <edelsohn@gnu.org>
264             Ayal Zaks  <gcchaifa@us.ibm.com>
265
266         * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
267         (insvsi*): Add insert_word attribute.
268         * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
269         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
270         power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
271
272 2003-06-09  Kazu Hirata  <kazu@cs.umass.edu>
273
274         * fold-const.c (fold): Fix a comment typo.
275
276 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
277
278         * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
279         removed.
280
281 2003-06-09  J"orn Rennecke <joern.rennecke@superh.com>
282
283         * sh.c (gen_block_redirect): Use locators.
284
285 2003-06-09  Richard Earnshaw  <rearnsha@arm.com>
286
287         * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
288         cast to int.
289
290 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
291
292         * configure.in: Assume gas 2.14 and above can handle MIPS relocation
293         operators.
294         * configure: Regenerated.
295
296 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
297             Alexandre Oliva  <aoliva@redhat.com>
298
299         * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
300         (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
301         (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
302         n32/64 PIC.
303         (MUST_SAVE_REGISTERS): Delete.
304         * config/mips/mips.c (mips_frame_info): Remove extra_size field.
305         (machine_function): Add global_pointer field.
306         (mips_classify_constant): Check for (const $gp) using pointer equality
307         with pic_offset_table_rtx.
308         (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
309         (mips_restore_gp): Use current_function_outgoing_args_size.
310         (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
311         GP_REG_FIRST + 28.  Handle relocation strings that have
312         more than one '('.
313         (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
314         (mips_global_pointer): New function.
315         (mips_save_reg_p): New function, mostly split out from...
316         (compute_frame_size): ...here.  Remove handling of extra_size.
317         Reclaim args_size if no variables depend on it.  Don't treat gp
318         as a special case: handle it in the main GPR loop.
319         (mips_initial_elimination_offset): Fix comment.
320         (save_restore_insns): Save every register in the GPR mask,
321         removing distinction between mask and real_mask.
322         (mips_output_function_prologue): Update .frame psuedo-op after
323         the removal of extra_size.  Move the SVR4 PIC stack allocation
324         and cprestore instructions to mips_expand_prologue.
325         (mips_gp_insn): New function.
326         (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
327         the chosen global pointer.  Handle SVR4 PIC stack allocation
328         in the same way as other ABIs.  Adjust varargs code accordingly.
329         Emit a cprestore insn after allocating the stack.  Use mips_gp_insn
330         to emit the loadgp sequence.  Follow it with a loadgp_blockage
331         if not using explicit relocs.
332         (mips_output_function_epilogue): Reinstate the default gp register.
333         (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
334         (mips16_optimize_gp): Likewise.
335         * config/mips/mips.md (UNSPEC_LOADGP): Remove.
336         (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
337         (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
338         (loadgp): Remove.
339         (loadgp_blockage, cprestore): New instructions.
340         (builtin_setjmp_setup): Implement using emit_move_insn.  Use
341         pic_offset_table_rtx.
342         (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
343         (builtin_longjmp): Use gen_raw_REG to force use of $28.
344
345 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
346
347         * config/mips/mips-protos.h (mips_output_division): Declare.
348         * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
349         (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
350         (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
351         (TARGET_CHECK_ZERO_DIV): New macro.
352         (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
353         * config/mips/mips.c (mips_output_division): New function.
354         * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
355         account when calculating the default length of a division.
356         (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
357         Enable regardless of optimization level.  Use mips_output_division.
358         (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
359         udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
360         divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
361         modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
362         udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
363         umoddi3_internal): Remove.
364
365 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
366
367         * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
368         (mips_sw_reg_names): Likewise.
369         (mips_regno_to_class): Change hilo entry to NO_REGS.
370         (hilo_operand): Use MD_REG_P.
371         (extend_operator): New predicate.
372         (override_options): Remove 'a' constraint.
373         (mips_secondary_reload_class): Remove hilo handling.  Also remove
374         handling of (plus sp reg) reloads for mips16.
375         (mips_register_move_cost): Remove hilo handling.
376         * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
377         (MD_REG_LAST): Remove hilo from range.
378         (HILO_REGNUM): Delete.
379         (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
380         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
381         (PREDICATE_CODES): Add entry for extend_operator.
382         (DEBUG_REGISTER_NAMES): Change hilo entry to "".
383         * config/mips/mips.md: Remove hilo clobbers wherever they occur.
384         Remove constraints from multiplication define_expands.  Remove
385         clobbers from "decorative" define_expand patterns.
386         (UNSPEC_HILO_DELAY): Delete.
387         (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
388         (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
389         Adjust C code to just emit insns for !TARGET_64BIT.
390         (mulsidi3_internal): Rename to mulsidi3_32bit.
391         (mulsidi3_64bit): Use a "d" constraint for the destination.
392         Use extend_operator so that the pattern can handle umulsidi3 as well.
393         Split the instruction after reload.
394         (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
395         (umulsidi3_internal): Rename to umulsidi3_32bit.
396         (umulsidi3_64bit): Remove.
397         (*smsac_di, *umsac_di): Line-wrap fixes.
398         (udivsi3_internal): Don't allow operand 2 to be constant.
399         (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
400         (movdi_internal2, movsi_internal): Remove hilo alternatives.
401         (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
402
403 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
404
405         PR target/10913
406         * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
407         PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
408         PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
409         PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
410         SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
411         (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
412         PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
413         asm_out_text_file with asm_out_file.
414         * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
415         * config/mips/elf.h (TEXT_SECTION): Undefine.
416         * config/mips/elf64.h (TEXT_SECION): Undefine.
417         * config/mips/openbsd.h (TEXT_SECION): Undefine.
418         * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
419         (override_options): Disable small-data optimizations unless using
420         gas or explicit relocations.
421         (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
422         iris6_asm_named_section, iris6_asm_file_start): Remove code for
423         handling TARGET_FILE_SWITCHING.
424         (copy_file_data): Move into TARGET_IRIX6 block.
425
426 2003-06-08  Richard Henderson  <rth@redhat.com>
427
428         * expr.h (EXPAND_MEMORY): New.
429         * expr.c (expand_expr): Check it.
430         * stmt.c (expand_asm_operands): Provide it when the constraint
431         requires a memory.  Warn for memory input constraints without
432         a memory operand.
433
434 2003-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
435
436         * varasm.c: Don't include c-tree.h.
437
438 2003-06-08  Andreas Jaeger  <aj@suse.de>
439
440         * predict.h: Convert to ISO C90 prototypes.
441         * predict.c: Likewise.
442         * tree-dump.h: Likewise.
443         * tree-dump.c: Likewise.
444         * diagnostic.h: Likewise.
445         * diagnostic.c: Likewise.
446         * combine.c: Likewise.
447
448         * rtl.h: Convert prototypes of combine.c to ISO C90.
449
450 Sun Jun  8 21:27:41 CEST 2003  Jan Hubicka  <jh@suse.cz>
451
452         * cfglayout.c (insn_scope): New static function
453         (block_locators_*, line_locators*, file_locators*): New static varrays.
454         (scope_to_insns_initialize): Use them.
455         (insn_line, insn_file): New functions.
456         (scope_to_insns_finalize): Use insn_scope.
457         (prologue_locator, epilogue_locator): New global variables.
458         * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
459         make_call_insn_raw, emit_copy_of_insn_after): Use locators.
460         (emit_insn_after_scope, emit_insn_before_scope
461         emit_jump_insn_after_scope, emit_jump_insn_before_scope
462         emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
463         (emit_insn_after_setloc, emit_insn_before_setloc
464         emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
465         emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
466         use locators.
467         * final.c (notice_source_line): Use locators.
468         (final_start_function): Set initial source file and line.
469         (final_scan_insn): Use locators.
470         * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
471         noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
472         noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
473         noce_process_if_block, find_cond_trap): Likewise.
474         * integrate.c (copy_insn_list): Likewise.
475         * jump.c (duplicate_loop_exit_test): LIkewise.
476         * print-rtl.c (print_rtx): Print locators.
477         * recog.c (peephole2_optimize): Likewise.
478         * rtl.h (INSN_SCOPE): Remove.
479         (emit_insn_after_scope, emit_insn_before_scope
480         emit_jump_insn_after_scope, emit_jump_insn_before_scope
481         emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
482         (emit_insn_after_setloc, emit_insn_before_setloc
483         emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
484         emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
485         (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
486         * unroll.c (copy_loop_body): Use locators.
487         * function.c (set_insn_locators): New function.
488         (thread_prologue_and_epilogue_insns): Set the locators accordingly.
489
490 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
491
492         * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
493         * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
494         _fixsfdi _fixunssfdi.
495         (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
496         popcounthi2.
497         (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
498         * config/h8300/clzhi2.c: New.
499         * config/h8300/ctzhi2.c: Likewise.
500         * config/h8300/parityhi2.c: Likewise.
501         * config/h8300/popcounthi2.c: Likewise.
502
503 Sun Jun  8 15:52:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
504
505         * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
506         * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
507
508         * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
509         (dump_bb): New based on old dump_bb in cfgrtl.c
510         (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
511         * cfghooks.h (cfgh_verify_flow_info): Return status.
512         * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
513         * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
514         (dump_bb): Remove generic parts.
515         (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
516         (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
517
518 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
519
520         * Makefile.in: Rename options.c and options.h to c-options.c and
521         c-options.h.
522         (OBJS): Remove options.o.
523         * c-opts.c: Don'tInclude c-options.h instead of options.h.
524         * opts.c: Don't include options.h.
525         (find_opt): Can't use enum opt_code or N_OPTS.
526         * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
527         * opts.sh: ... here.
528
529 2003-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
530             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
531
532         PR pch/9830
533         * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
534         if HAVE_MINCORE is defined.
535         (MAP_FAILED): Define if not defined.
536         (gt_pch_save): Test against MAP_FAILED.
537         (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
538         the mapping address to the preferred base after checking it
539         is possible to do so. Test against MAP_FAILED.
540         * configure.in: Test for the presence of mincore in libc.
541         * config.in: Regenerate.
542         * configure: Regenerate.
543
544 2003-06-07  Richard Henderson  <rth@redhat.com>
545
546         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
547         conditional compilation guard.
548
549 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
550
551         * optabs.c (expand_abs): Set result_unsignedp to 1 if
552         flag_trav is zero.
553
554 2003-06-07  Richard Henderson  <rth@redhat.com>
555
556         * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
557
558 2003-06-07  Richard Henderson  <rth@redhat.com>
559
560         * basic-block.h (EDGE_SIBCALL): New.
561         (EDGE_ALL_FLAGS): Update.
562         * cfg.c (dump_edge_info): Add sibcall name.
563         * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
564         * cfgrtl.c (purge_dead_edges): Handle sibcalls.
565
566 2003-06-07  Andreas Jaeger  <aj@suse.de>
567
568         * mklibgcc.in (lib2funcs): Remove _exit.
569         * libgcc2.c: Remove L_exit.
570         * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
571
572         * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
573
574         * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
575
576         * ggc.h: Convert to ISO C90 prototypes.
577         * ggc-none.c: Likewise.
578         * ggc-common.c: Likewise.
579         * ggc-page.c: Likewise.
580         * ggc-simple.c: Likewise.
581
582         * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
583
584         * system.h: Poison INIT_SECTION_PREAMBLE.
585
586 2003-06-07  Zack Weinberg  <zack@codesourcery.com>
587
588         * config.gcc (with_cpu handling): Translate sparc64 in
589         $machine to --with-cpu=v9.
590         * config/alpha/alpha.c
591         (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
592         (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
593
594         * target.h: New hook asm_out.file_end.
595         * target.h: Update to match.  New hook macro TARGET_ASM_FILE_END.
596         * toplev.c (compile_file: Use targetm.asm_out.file_end.
597         * system.h: Poison ASM_FILE_END.
598         * varasm.c (file_end_indicate_exec_stack): New.
599         * output.h: Prototype it.
600         * doc/tm.texi: Document TARGET_ASM_FILE_END and
601         file_end_indicate_exec_stack.  Delete references to attasm.h.
602
603         * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
604         (ASM_FILE_END): Delete; move code...
605         * config/darwin.c (darwin_file_end): Here; new function.
606         * config/darwin-protos.h: Prototype it.
607         * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
608         rename unicosmk_file_end.
609         * config/arm/aof.h (ASM_FILE_END): Delete; move code...
610         * config/arm/arm.c (aof_file_end): ... here; new static function.
611         Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
612         Make aof_dump_imports and aof_dump_pic_table static.
613         * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
614         Set TARGET_ASM_FILE_END to avr_file_end.
615         * config/c4x/c4x.c (c4x_file_end): Make static.  Take no arguments.
616         Set TARGET_ASM_FILE_END to c4x_file_end.
617         * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
618         make static. Take no arguments.  Set TARGET_ASM_FILE_END to
619         h8300_file_end.
620         * config/i370/i370.h (ASM_FILE_END): Delete; move code...
621         * config/i370/i370.c (i370_file_end): ... here; new static function.
622         Set TARGET_ASM_FILE_END to i370_file_end.
623          * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
624          Take no arguments.  Call file_end_indicate_exec_stack if
625          NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
626         * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
627         Define NEED_INDICATE_EXEC_STACK to 0.
628         * config/i386/linux.h, config/i386/linux64.h: Redefine
629         NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
630         * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
631         i386_pe_file_end.  Take no arguments.  Use ix86_file_end.
632         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
633         ia64_hpux_file_end, make static.  Take no arguments.
634         * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
635         commands_in_prologues, commands_in_epilogues): Delete.
636         (function_epilogue): Update to match.
637         * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
638         make static.  Take no arguments.
639         (iris6_asm_file_end): Rename iris6_file_end, make static, use
640         mips_file_end, take no arguments.
641         Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
642         appropriate.
643         * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
644         make static, take no arguments. Set TARGET_ASM_FILE_END to
645         mmix_file_end.
646         * config/pa/pa.c (output_deferred_plabels): Make static, take
647         no arguments.  Set TARGET_ASM_FILE_END to output_deferred_plabels.
648         * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
649         (ASM_FILE_END): Delete; move code...
650         * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
651         new static function.
652
653         * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
654         * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
655         Don't set ASM_FILE_END.
656         * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
657         * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
658         * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
659         file_end_indicate_exec_stack; don't set ASM_FILE_END.
660         * config/alpha/unicosmk.h, config/i386/cygming.h
661         * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
662         * config/arm/arm-protos.h, config/alpha/alpha-protos.h
663         * config/avr/avr-protos.h, config/c4x/c4x-protos.h
664         * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
665         * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
666         * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
667
668 Sat Jun  7 18:32:13 CEST 2003  Jan Hubicka  <jh@suse.cz>
669
670         * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
671         specified.
672
673 Sat Jun  7 15:20:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
674
675         * Makefile.in (stageprofile_build): Kill redundant target.
676         * i386.c (mdep_reorg): Don't pad jumps for Athlon.
677
678 2003-06-07  Andreas Jaeger  <aj@suse.de>
679
680         * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
681
682         * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
683         * config/dsp16xx/dsp16xx.h: Likewise.
684         * config/i386/i386.h: Likewise.
685         * config/ip2k/ip2k.h: Likewise.
686
687 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
688
689         * Makefile.in (OJBS, c-opts.o): Update.
690         (c-options.c, c-options.h): Rename options.h and options.c.
691         (options.h): Rename options_.h.
692         (opts.o): New.
693         * c-common.h (c_common_handle_option): Replace c_common_decode_option.
694         (c_common_init_options): Update prototype.
695         * c-lang.c (c_init_options): Update prototype.
696         (LANG_HOOKS_HANDLE_OPTION): Override.
697         (LANG_HOOKS_DECODE_OPTION): Drop.
698         * c-opts.c: Include opts.h and options.h instead of c-options.h
699         and c-options.c.
700         (lang_flags): Move to file scope.
701         (find_opt, c_common_decode_option): Remove.
702         (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
703         CL_REJECT_NEGATIVE): Move to opts.h.
704         (missing_arg): Update prototype.
705         (c_common_init_options): Update for new prototype.
706         (c_common_handle_options): Filenames are passed as N_OPTS.
707         * hooks.c (hook_int_void_0): New.
708         * hooks.h (hook_int_void_0): New.
709         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
710         (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
711         (LANG_HOOKS_INITIALIZER): Update.
712         * langhooks.h (init_options): Update.
713         (handle_option): New.
714         * opts.c, opts.h: New files.
715         * opts.sh: Update c file to include opts.h and options.h.
716         * toplev.c: Include opts.h; change options.h to options_.h.
717         (parse_options_and_default_flags): Get lang_mask, use
718         handle_option for language-specific handling.
719         * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
720         (LANG_HOOKS_HANDLE_OPTION): Override.
721         (objc_init_options): Update.
722
723 2003-06-07  Magnus Kreth <magnus.kreth@gmx.de>
724             Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
725
726         PR other/7031
727         * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
728         gcov.
729
730 2003-06-07  Kelley Cook  <kelleycook@wideopenwest.com>
731
732         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
733         section names.
734         * configure: Regenerate.
735
736 2003-06-07  Alan Modra  <amodra@bigpond.net.au>
737
738         * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
739
740 2003-06-06  James E Wilson  <wilson@tuliptree.org>
741
742         PR inline-asm/10890
743         * reload1.c (merge_assigned_reloads): Abort only if two reloads have
744         different in fields.
745
746 2003-06-06  Nathanael Nerode  <neroden@gcc.gnu.org>
747
748         * configure.in: Make $(target_subdir) correspond with top level usage.
749         * Makefile.in: Likewise.
750         * configure: Regenerate.
751
752 2003-06-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
753
754         * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
755         ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
756         unsigned HOST_WIDE_INT.
757         * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
758         Likewise.
759         * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
760         Likewise.
761
762 2003-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
763
764         * doc/install.texi (Prerequisites): New section documenting
765         tools and packages necessary prior to building and/or
766         modifying GCC.
767         * doc/install.texi2html: Also generate prerequisites.html.
768
769 2003-06-06  Richard Earnshaw  <rearnsha@arm.com>
770
771         PR target/11052
772         * ifcvt.c (noce_process_if_block): Fail if the destination has
773         side-effects.
774
775 2003-06-06  Jason Merrill  <jason@redhat.com>
776
777         * stmt.c (resolve_asm_operand_names): Rename from
778         resolve_operand_names.  No longer static.  Avoid needless copying.
779         Don't build array of constraints.
780         (expand_asm_operands): Build it here.
781         * tree.h: Declare resolve_asm_operand_names.
782
783         * stmt.c (expand_decl): Put artificial vars into registers even
784         when not optimizing, and don't mark the regs as user vars.
785
786 2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
787
788         * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
789         of the generated register.
790
791 2003-06-06  Daniel Jacobowitz  <drow@mvista.com>
792
793         * config.gcc: Add a missing sparc64 case.
794
795 2003-06-06  Jakub Jelinek  <jakub@redhat.com>
796
797         * mklibgcc.in: Propagate .note.GNU-stack section if needed into
798         the .hidden assembly stubs.
799
800 2003-06-06  H.J. Lu <hongjiu.lu@intel.com>
801
802         * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
803         and x86_64-*-*.
804
805         * config/i386/mmintrin.h: Update version and add alternate
806         intrinsic names.
807         * config/i386/xmmintrin.h: Likewise.
808
809         * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
810         intrinsics to ...
811         * config/i386/emmintrin.h: Here. New file.
812
813 2003-06-06  Roger Sayle  <roger@eyesopen.com>
814
815         * fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
816         fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
817         when the ABS_EXPR (fabs or abs) is not required.
818         (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
819         always nonnegative from fold to here.  Additionally, cabs and fabs
820         are always non-negative, and pow and atan are non-negative if
821         their first argument is non-negative.
822
823         * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
824         Evaluate cabs of a constant at compile-time.  Convert cabs of a
825         non-complex argument into fabs.  Convert cabs(z) into
826         sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
827         -funsafe-math-optimizations or -ffast-math.
828         (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
829         Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
830
831 Thu Jun  5 20:51:09 CEST 2003  Jan Hubicka  <jh@suse.cz>
832
833         * sourcebuild.texi (Front End Directory): Document new hooks.
834
835 Fri Jun  6 11:02:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
836
837         * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
838         * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
839         stack frames.
840         (pro_epilogue_adjust_stack_rex64_2): New pattern
841
842 Fri Jun  6 11:03:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
843                                Pop Sebastian
844                                Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
845
846         * cfghooks.h, cfghooks.c: New files.
847         * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
848         (OBJS): Add cfghooks.o.
849         (cfghooks.o): New rule.
850         * basic-block.h (split_edge): Rename to rtl_split_edge.
851         (verify_flow_info): Rename to rtl_verify_flow_info.
852         (cfghooks.h): Included here.
853         * cfgrtl.c (split_edge): Renamed rtl_split_edge.
854         (verify_flow_info): Renamed rtl_verify_flow_info.
855         * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
856
857         * basic-block.h (split_block, split_edge, flow_delete_block,
858         redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
859         (flow_delete_block_noexpunge):  Return void.
860         * cfg.c (verify_flow_info): New function.
861         * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
862         try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
863         Use delete_block.
864         * cfglayout.c (function_footer): Rename to...
865         (cfg_layout_function_footer): ... this variable
866         (unlink_insn_chain): Make global.
867         (fixup_reorder_chain, record_effective_endpoints): Update.
868         (cleanup_unconditional_jumps): Use delete_block.
869         (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
870         (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
871         (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
872         * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
873         (cfg_layout_function_footer): Declare.
874         * cfgloopmanip (split_loop_bb): Do not update RBI.
875         (remove_bbs): Use delete_block.
876         (loop_reidrect_edge, loop_delete_branch_edge): Use
877         redirect_edge_and_branch.
878         (create_preheader): Use split_block and redirect_edge_and_branch_force.
879         (split_edge_with): Likewise.
880         * cfgrtl.c: Include cfglayout.h
881         (split_edge): Rename to ...
882         (rtl_split_edge) ... this one; make local.
883         (redirect_edge_and_branch): Rename to ...
884         (rtl_redirect_edge_and_branch) ... this one; make local.
885         (redirect_edge_and_branch_force): Rename to ...
886         (rtl_redirect_edge_and_branch_force) ... this one; make local.
887         (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
888         (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
889         cfglayout.c; update to directly call RTL counterparts.
890         (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
891         * ifcvt.c (find_cond_trap): Use delete_block.
892         (find_if_case_1): Use delete_block.
893         (find_if_case_2): Use delete_block.
894         * rtl.h (unlink_insn_chain): Declare.
895         * toplev.c (rtl_reigster_cfg_hooks): New.
896
897 2003-06-05  Richard Henderson  <rth@redhat.com>
898
899         * recog.c (peephole2_optimize): Revert last change.
900
901 2003-06-05  Richard Henderson  <rth@redhat.com>
902
903         * recog.c (peephole2_optimize): Don't split block unless
904         can_throw_internal.
905
906 2003-06-06  Kazu Hirata  <kazu@cs.umass.edu>
907
908         * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
909         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
910
911 2003-06-05  Kelley Cook  <kelleycook@wideopenwest.com>
912
913         PR optimization/4490
914         * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
915         * doc/invoke.texi (m96bit-long-double, m128bit-long-double):  Reword
916         documentation to accurately reflect what these options do.
917
918 2003-06-06  Kaz Kojima  <kkojima@gcc.gnu.org>
919
920         * config/sh/linux.h (STARTFILE_SPEC): Handle -pie.  Simplify.
921         (ENDFILE_SPEC): Redefine to handle -pie.
922
923 2003-06-05  Phil Edwards <phil@jaj.com>
924
925         * Makefile.in (qmtest-g++): Use target_alias, not target.
926
927 2003-06-05  Per Bothner  <pbothner@apple.com>
928
929         * toplev.c (push_srcloc):  Simplify behavior to save current location
930         and set current location to parameters.
931         (pop_srcloc):  Simplify semantics.
932         (lang_dependent_init):  Remove now-useless initial push_srcloc.
933
934 2003-05-06  Richard Henderson  <rth@redhat.com>
935
936         * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
937         language-specific tree codes.
938
939 2003-06-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
940
941         PR middle-end/9986
942         * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
943         BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
944
945 Thu Jun  5 18:32:46 CEST 2003  Jan Hubicka  <jh@suse.cz>
946
947         * install.tex: Document profiledbootstrap.
948
949         * configure.in:  Add support for lang.stageprofile and
950         lang.stagefeedback
951         * Makefile.in (clean, distclean): Kill new stages
952         (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
953         (STAGE2_FLAGS_TO_PASS): ... this one.
954         (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
955         (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
956         (stageprofile_build, stageprofile_copy, stagefeedback_build,
957         stagefeedback_copy): New.
958         (restageprofile, restagefeedback, stageprofile-start,
959         stageprofile, stagefeedback-start): Likewise.
960
961 2003-06-05  David Miller  <davem@redhat.com>
962             Richard Henderson  <rth@redhat.com>
963
964         * optabs.c (HAVE_conditional_trap): Provide default.
965         (gen_conditional_trap): Likewise.
966         (init_optabs): Merge init_traps.
967         (gen_cond_trap): Use prepare_operand.  Restructure and avoid ifdef.
968
969 Thu Jun  5 14:59:44 CEST 2003  Jan Hubicka  <jh@suse.cz>
970
971         * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
972         is REG for nonzero_bits (REG) == 8.
973
974 Thu Jun  5 13:23:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
975
976         * i386.md (align): Fix warning; clarify what to do when no p2align
977         is available.
978
979 2003-06-05  Nick Clifton  <nickc@redhat.com>
980
981         * config.gcc (m32r-elf): Revert previous delta.
982         * config/m32r/t-m32r (crtinit.o): Fix rule to work with
983         multilibs.  Remove m32rx specific version.
984         (crtfini.o): Likewise.
985         (EXTRA_MULTILIB_PARTS): Define.
986
987 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
988
989         * doc/md.texi (Machine Constraints): Correct the meaning of
990         constraints related to floating-point registers on SPARC.
991
992 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
993             Paolo Bonzini  <bonzini@gnu.org>
994
995         PR target/10663
996         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
997         assembler and linker output to /dev/null.
998         Use a 'sed' construct instead of 'grep -A1'.
999         * configure: Regenerate.
1000
1001 2003-06-04  Richard Henderson  <rth@redhat.com>
1002
1003         * config/i386/i386.c (struct ix86_address): Add seg.
1004         (no_seg_address_operand): New.
1005         (ix86_decompose_address): Restructure PLUS loop.  Accept one
1006         UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS.  Adjust ESP swap test
1007         to test for a regnum, not stack_pointer_rtx.
1008         (ix86_address_cost): Reduce cost if non-default segment.
1009         (legitimate_address_p): Remove UNSPEC_TP check.
1010         (get_thread_pointer): Add to_reg argument.  Don't represent
1011         the thread pointer as a memory load.
1012         (legitimize_tls_address): Split out of ...
1013         (legitimize_address): ... here.
1014         (print_operand_address): Handle parts.seg.
1015         (ix86_expand_move): Use legitimize_tls_address.
1016         (ix86_rtx_costs): Handle UNSPEC_TP.
1017         * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
1018         (TARGET_TLS_DIRECT_SEG_REFS): New.
1019         (TARGET_SWITCHES): Add tls-direct-seg-refs.
1020         (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
1021         (PREDICATE_CODES): Add no_seg_address_operand.
1022         * config/i386/i386.md (lea_1): Use it.
1023         (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
1024         (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
1025         * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
1026         * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
1027         * doc/invoke.texi: Add -mtls-direct-seg-refs.
1028
1029 2003-06-04  Mark Mitchell  <mark@codesourcery.com>
1030
1031         * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
1032         (QMTEST_GPP_TESTS): Use "g++" by default.
1033         (stamp-qmtest): Tweak database creation.
1034         (QMTEST_DIR/context): Update context file format.
1035         (qmtest-g++): Tweak command-line.
1036
1037 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1038
1039         * Makefile.in (varasm.o): Don't set -Wno-error.
1040         * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
1041
1042 2003-06-04  Zack Weinberg  <zack@codesourcery.com>
1043
1044         PR bootstrap/3163
1045         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
1046         (gcc_AC_FUNC_MMAP_BLACKLIST): New.
1047         * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
1048         and AC_CHECK_FUNCS lists, respectively.  Use
1049         gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
1050         AC_FUNC_MMAP_FILE.
1051         * configure, config.in: Regenerate.
1052
1053 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1054
1055         * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
1056         * arm.c (arm_output_function_prologue): Fix format specifiers.
1057         * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1058         * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
1059         HOST_WIDE_INT_PRINT_DEC.
1060         * vax.c (vax_output_function_prologue): Fix format specifiers.
1061
1062 2003-06-04  Richard Henderson  <rth@redhat.com>
1063
1064         * cse.c (find_best_addr): Consider binary operators even if second
1065         argument is not CONST_INT.
1066
1067 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1068
1069         * doc/invoke.texi (max-cse-path-length): Document.
1070
1071 2003-06-04  Richard Henderson  <rth@redhat.com>
1072
1073         * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
1074
1075 2003-06-04  Andrew Pinski <pinskia@physics.uc.edu>
1076
1077         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
1078         Remove semi-colon at the end of the expression.
1079
1080 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1081
1082         * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
1083         * i370.h (mvs_function_name_length): Likewise.
1084         * i960.h (CONSTANT_ALIGNMENT): Likewise.
1085         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1086         * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1087         * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1088         * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
1089         variable.
1090
1091 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
1092
1093         * config.gcc: Reorganize --with-cpu logic.  Set
1094         configure_default_options according to the default CPU, --with-cpu,
1095         --with-arch, --with-tune, --with-schedule, --with-abi, and
1096         --with-float.  Check for legal values of various options.
1097         * configure.in: Define configure_default_options in configargs.h.
1098         * configure: Regenerated.
1099         * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
1100         (TARGET_DEFAULT_FLOAT_P): New macros.
1101         * gcc.c (do_option_spec): New function.
1102         (struct default_spec, option_default_specs): New.
1103         (main): Call do_option_spec.
1104         * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
1105         config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
1106         config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
1107
1108         * doc/install.texi: Update --with-cpu documentation.  Mention
1109         --with-arch, --with-schedule, --with-tune, --with-abi, and
1110         --with-float.
1111         * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
1112
1113 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
1114
1115         * config.gcc: Only process --with-cpu logic in the third pass.
1116
1117 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
1118
1119         * config.gcc: Reorganize --with-cpu section.  Remove an
1120         obsolete comment about the default CPU for x86-64.  Fix
1121         a typo for the ep9312.  Update the list of supported PowerPC
1122         CPUs.  Support a limited set of new --with-cpu options
1123         for i386.
1124
1125 2003-06-04  Aldy Hernandez  <aldyh@redhat.com>
1126
1127         * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
1128         complex numbers <= 32 bits into two registers.
1129
1130 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1131
1132         * alpha.c (print_operand_address): Fix format specifier warnings.
1133         * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1134         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1135         * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
1136         * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
1137         * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
1138         ASM_OUTPUT_SKIP): Likewise.
1139         * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1140         * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1141         * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
1142         Likewise.
1143         * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1144         * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
1145         * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
1146         * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1147         * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
1148         * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1149         * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1150         * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1151         * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1152         * svr3.h (ASM_OUTPUT_COMMON): Likewise.
1153
1154 2003-06-04  J"orn Rennecke <joern.rennecke@superh.com>
1155
1156         * c-decl.c (c_init_decl_processing): Clear input_file_name
1157         while building common nodes.
1158         * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
1159         Don't add working directory for strings like <built-in> .
1160
1161 2003-06-04  David Edelsohn  <edelsohn@gnu.org>
1162
1163         * doc/install.texi (*-ibm-aix*): Native as and ld required
1164         to bootstrap on AIX 5L.
1165
1166 2003-06-04  Richard Henderson  <rth@redhat.com>
1167
1168         * c-common.c (handle_cleanup_attribute): New.
1169         (c_common_attributes): Add it.
1170         * c-decl.c (finish_decl): Honor the cleanup attribute.
1171         * doc/extend.texi (Variable Attributes): Document it.
1172
1173         * unwind-c.c: New file.
1174         * Makefile.in (LIB2ADDEH): Add it.
1175         * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
1176         config/ia64/t-ia64: Likewise.
1177
1178 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
1179
1180         * function.c (trampolines_created): New variable.
1181         (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
1182         * function.h (trampolines_created): Add.
1183         * config/s390/linux.h (ASM_FILE_END): Define.
1184         * config/alpha/linux-elf.h (ASM_FILE_END): Define.
1185         * config/m68k/linux.h (ASM_FILE_END): Define.
1186         * config/rs6000/linux.h (ASM_FILE_END): Define.
1187         * config/rs6000/linux64.h (ASM_FILE_END): Define.
1188         * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
1189         * config/sparc/linux.h (ASM_FILE_END): Define.
1190         * config/sparc/linux64.h (ASM_FILE_END): Define.
1191         * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
1192         * config/i386/linux.h (SUBTARGET_FILE_END): Define.
1193         * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
1194
1195 Wed Jun  4 18:39:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
1196
1197         * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
1198         (ix86_reorg): Use it.
1199         * i386.md (align): New insn pattern.
1200
1201 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1202
1203         * toplev.c (rest_of_type_compilation): Fix typo.
1204
1205 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
1206             Alan Modra  <amodra@bigpond.net.au>
1207
1208         * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
1209         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
1210         * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
1211         * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
1212         * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
1213         * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
1214         (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
1215         * config/rs6000/rs6000.c (output_profile_hook): Likewise.
1216
1217         * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
1218         Pass it to $gcc_cv_as.
1219         * configure: Rebuilt.
1220
1221         * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
1222         (print_operand): Allow TARGET_AIX to be non-constant.
1223         (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
1224         Define unconditionally.
1225         (rs6000_elf_declare_function_name): New function.
1226         * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
1227         non-constant.
1228         * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
1229         to 1.
1230         (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
1231         [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
1232         is defined.
1233         (TARGET_AIX): Define to 1 if TARGET_64BIT.
1234         (PROCESSOR_DEFAULT): Remove.
1235         (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
1236         INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
1237         [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
1238         (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
1239         -m32 and -m64.
1240         (MULTILIB_DEFAULTS): Define.
1241         (SUBSUBTARGET_EXTRA_SPECS): Define.
1242         (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
1243         (TARGET_TOC): Define only if !RS6000_BI_ARCH.
1244         (TARGET_NO_TOC): Remove.
1245         [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
1246         TARGET_PROTOTYPE): Define to 0.
1247         (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
1248         (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
1249         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
1250         if !TARGET_64BIT.
1251         (USER_LABEL_PREFIX): Remove.
1252         (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
1253         (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
1254         if TARGET_64BIT.
1255         (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
1256         (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
1257         (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
1258         (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
1259         (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
1260         (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
1261         TARGET_64BIT.
1262         (RS6000_CALL_GLUE): Likewise.
1263         (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
1264         RESTORE_FP_SUFFIX): Likewise.
1265         (ASM_DECLARE_FUNCTION_NAME): Remove.
1266         (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
1267         DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
1268         name if TARGET_64BIT.
1269         (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
1270         !TARGET_64BIT.
1271         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
1272         (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
1273         (DRAFT_V4_STRUCT_RET): Define.
1274         (SIGNAL_FRAMESIZE): New enum value.
1275         (MD_FALLBACK_FRAME_STATE_FOR): Define.
1276         * config/rs6000/default64.h: New file.
1277         * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
1278         options.
1279         (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
1280         to RS6000_ABI_NAME.  Only disallow mixing of -fPIC with -mcall-aixdesc
1281         if !TARGET_64BIT.
1282         [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
1283         (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
1284         function.
1285         (TARGET_OS_SYSV_CPP_BUILTINS): Define.
1286         (TARGET_OS_CPP_BUILTINS): Use it.
1287         (CPP_SYSV_SPEC): Remove.
1288         (CPP_SPEC): Remove cpp_sysv.
1289         (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
1290         Add SUBSUBTARGET_EXTRA_SPECS.
1291         (SUBSUBTARGET_EXTRA_SPECS): Define.
1292         * config/rs6000/biarch64.h: New file.
1293         * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
1294         New prototype.
1295         * config/rs6000/x-linux64: New file.
1296         * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
1297         multilibs.
1298         * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
1299         * config/rs6000/eabi-cn.asm: Likewise.
1300         * config/rs6000/tramp.asm: Likewise.
1301         * config/rs6000/sol-ci.asm: Likewise.
1302         * config/rs6000/sol-cn.asm: Likewise.
1303         * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
1304         (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
1305         * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
1306         _CALL_AIXDESC section.
1307         * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
1308         defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
1309         or default32.
1310
1311 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
1312
1313         * config.gcc: Revert accidentally committed ARM changes.
1314
1315 2003-06-04  Roger Sayle  <roger@eyesopen.com>
1316
1317         * builtins.c (dconstpi, dconste): New mathematical constants.
1318         (init_builtin_dconsts): New function to initialize dconstpi
1319         and dconste.
1320         (fold_builtin): Optimize exp(1.0) = e.  Evaluate exp(x) at
1321         compile time with -ffast-math when x is an integer constant.
1322         Optimize tan(0.0) = 0.0.  Optimize atan(0.0) = 0.0,
1323         atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
1324
1325 2003-06-04  Roger Sayle  <roger@eyesopen.com>
1326
1327         * calls.c (expand_call): Avoid calling pure or const functions
1328         when the result is ignored (or void) and none of the arguments
1329         are volatile.  Move warning diagnostic earlier in function.
1330
1331 2003-06-04  Andreas Jaeger  <aj@suse.de>
1332
1333         * system.h: Do not poison TDESC_SECTION_ASM_OP,
1334         RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
1335
1336 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1337
1338         * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
1339         optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
1340         handle %ll, optimize regular character case.
1341
1342 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1343
1344         * Makefile.in (cse.o): Add params.h dependency.
1345         * cse.c: Include params.h.
1346         (PATHLENGTH): Removed.
1347         (struct cse_basic_block_data): Make path array dynamic.
1348         (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
1349         of PATHLENGTH.
1350         (cse_main, cse_basic_block): Allocate path array.
1351         * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
1352
1353 Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
1354
1355         * i386.c (ix86_reorg): Replace the jump instead of adding nop.
1356         * i386.md (UNSPEC_REP): New constant.
1357         (return_internal_long): New pattern.
1358
1359 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1360
1361         PR optimization/11018
1362         * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
1363         consistently to decide whether the scratch register is really
1364         required.
1365
1366 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1367
1368         PR optimization/10876
1369         * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
1370         new 'O' constraint for constant 4096.
1371         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
1372         * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
1373         Do not transform into MINUS insn for constant 4096.
1374         (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
1375         for constant 4096 as third operand.
1376         (addsi3 expander): Remove.
1377         (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
1378         new alternative for constant 4096 as third operand.
1379         (subdi3 expander): Do not transform into PLUS insn for constant 4096.
1380         (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
1381         operand.
1382         (subsi3 expander): Remove.
1383         (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
1384         constant 4096 as third operand.
1385         * doc/md.texi (Machine Constraints): Document new 'O' constraint for
1386         the SPARC port.
1387
1388 2003-06-03  Chris Demetriou  <cgd@broadcom.com>
1389
1390         * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
1391
1392 2003-06-04  Andreas Jaeger  <aj@suse.de>
1393
1394         * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
1395
1396         * config/i386/i386.c (ix86_expand_prologue): Do not use
1397         SUBTARGET_PROLOGUE.
1398
1399         * system.h: Poision SUBTARGET_PROLOGUE.
1400
1401         * config/arm/arm-protos.h: Remove unused rdate_section prototype.
1402
1403         * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
1404         dependend code.
1405
1406         * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
1407
1408         * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
1409         INSN_CACHE_LINE_WIDTH.
1410
1411         * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
1412         (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
1413         INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1414
1415         * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
1416         INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1417
1418         * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
1419         (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
1420         (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
1421         (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
1422         (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
1423         (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
1424
1425         * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
1426         DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
1427         DBX_WORKING_DIRECTORY.
1428
1429         * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
1430         DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
1431
1432         * config/frv/frv-protos.h: Remove unused const_section
1433         declaration.
1434         * config/vax/vax-protos.h: Likewise.
1435
1436         * output.h: Remove CONST_SECTION_ASM_OP usage.
1437
1438         * system.h: Poison CONST_SECTION_ASM_OP.
1439
1440         * crtstuff.c (__do_global_dtors_aux): Remove usage of
1441         CRT_GET_RFIB_TEXT.
1442         (frame_dummy): Likewise.
1443         * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
1444         * system.h: Poison CRT_GET_RFIB_TEXT.
1445
1446         * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
1447
1448         * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
1449         (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
1450         (recognized_function): Likewise.
1451         (read_scan_file): Likewise.
1452
1453 2003-06-03  Roger Sayle  <roger@eyesopen.com>
1454
1455         * optabs.c (expand_binop): Optimize complex multiplication for
1456         the case of squaring a complex argument.
1457
1458 2003-06-03  Roger Sayle  <roger@eyesopen.com>
1459
1460         * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
1461         non-volatile operands of binary operations.
1462         (prepare_cmp_insn): Likewise.
1463
1464 2003-06-03  Roger Sayle  <roger@eyesopen.com>
1465
1466         * varasm.c (force_const_mem): Handle alignment of constants not
1467         representable as a type in the front-end language.
1468
1469 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
1470
1471         * flow.c (initialize_uninitialized_subregs): Use
1472         emit_move_insn instead of emitting a hardcoded move.
1473
1474 2003-06-03  Richard Henderson  <rth@redhat.com>
1475
1476         * optabs.c (expand_abs_nojump): Split out from ...
1477         (expand_abs): ... here.
1478         * optabs.h (expand_abs_nojump): Declare.
1479         * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
1480         * Makefile.in (ifcvt.o): Depend on optabs.h.
1481
1482 2003-06-03  Alan Modra  <amodra@bigpond.net.au>
1483
1484         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
1485
1486 2003-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
1487
1488         * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
1489         (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
1490         to yes.
1491         * configure.in: Allow default_use_cxa_atexit to determine the
1492         value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
1493         disabled.
1494         * configure: Regenerate.
1495
1496 2003-06-03  Douglas B Rupp  <rupp@gnat.com>
1497
1498         * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
1499         * doc/gcc.texi: Remove vms.texi section.
1500         * doc/vms.texi: Remove obsolete file.
1501
1502 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
1503
1504         * configure.in (inhibit_libc): Don't define when configuring
1505         with --with-newlib --with-headers.
1506         * configure: Regenerate.
1507
1508         * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
1509
1510 2003-06-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1511
1512         * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
1513         IRIX 6 without GNU ld.
1514         * configure: Regenerate.
1515
1516 2003-06-03  Roger Sayle  <roger@eyesopen.com>
1517
1518         * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
1519         of a complex number rather than invoke mov_optab directly.
1520
1521 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
1522
1523         * combine.c (simplify_set): Don't move a subreg in SET_SRC to
1524         SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
1525
1526 2003-06-03  Nathanael Nerode  <neroden@gcc.gnu.org>
1527
1528         * config/i386/x86-64.h: Remove two target-independent comments;
1529          replace "GNU CC" with "GCC".
1530
1531 2003-06-03  Anthony Green  <green@redhat.com>
1532
1533         * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
1534
1535 2003-06-03  Roger Sayle  <roger@eyesopen.com>
1536
1537         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
1538         New builtins representing ISO C99's cabs, cabsf and cabsl.
1539         * builtins.c (expand_builtin_fabs): New function.
1540         (expand_builtin_cabs): New function.
1541         (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
1542         using expand_builtin_fabs and expand_builtin_cabs respectively.
1543
1544         * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
1545
1546 2003-06-03  Aldy Hernandez  <aldyh@redhat.com>
1547
1548         * function.c (assign_parms): Split complex arguments.
1549
1550         * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
1551
1552         * expr.h (SPLIT_COMPLEX_ARGS): Define.
1553         (split_complex_types): Protoize.
1554         (split_complex_values): Protoize.
1555
1556         * calls.c (expand_call): Split complex arguments on architectures
1557         that require it.
1558         (split_complex_values): New.
1559         (split_complex_types): New.
1560
1561         * config/rs6000/rs6000.c (rs6000_libcall_value): New.
1562         (rs6000_function_value): Handle complex values on AIX.
1563         (rs6000_complex_function_value): New.
1564
1565         * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
1566
1567         * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
1568         (SPLIT_COMPLEX_ARGS): New.
1569
1570 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
1571
1572         * configure.in (HAVE_LD_PIE): Check for ld -pie.
1573         * config.in: Rebuilt.
1574         * configure: Rebuilt.
1575         * toplev.c (flag_pie, flag_shlib): New variables.
1576         (f_options): Add -fpie and -fPIE.
1577         (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
1578         Set flag_shlib if flag_pic and not -fpie/-fPIE.
1579         * flags.h (flag_pic, flag_shlib): Add.
1580         * varasm.c (default_binds_local_p): Use flag_shlib instead of
1581         flag_pic.
1582         * gcc.c (LINK_PIE_SPEC): Define.
1583         (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
1584         (option_map): Add --pie -> -pie mapping.
1585         * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
1586         and -fPIE the same way as -fPIC.
1587         * config/openbsd.h (ASM_SPEC): Likewise.
1588         * config/frv/frv.h (ASM_SPEC): Likewise.
1589         * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
1590         * config/arm/semi.h (ASM_SPEC): Likewise.
1591         * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
1592         * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
1593         * config/i386/beos-elf.h (CC1_SPEC): Likewise.
1594         * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
1595         * config/m68k/linux.h (CPP_SPEC): Likewise.
1596         * config/m68k/netbsd.h (ASM_SPEC): Likewise.
1597         * config/m68k/openbsd.h (ASM_SPEC): Likewise.
1598         * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
1599         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
1600         * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
1601         * config/pa/pa-linux.h (CPP_SPEC): Likewise.
1602         * config/netbsd-aout.h (ASM_SPEC): Likewise.
1603         * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
1604         * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
1605         * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1606         * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1607         * config/sparc/sparc.h (ASM_SPEC): Likewise.
1608         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1609         * config/sparc/sysv4.h (ASM_SPEC): Likewise.
1610         * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
1611         * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
1612         * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
1613         * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
1614         Simplify.
1615         * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1616         * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1617         * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1618         * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1619         * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1620         * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1621         * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1622         * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
1623
1624 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
1625
1626         * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
1627         != 0 handling.  Pass 0 to store_by_pieces.
1628         (expand_builtin_mempcpy): Add endp argument.  Don't call
1629         expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
1630         directly.  If ignoring result, only do expand_call.
1631         (expand_builtin_stpcpy): Likewise.  Call expand_builtin_mempcpy
1632         otherwise.
1633         (expand_builtin_strncpy, expand_builtin_memset): Adjust
1634         store_by_pices callers.
1635         (expand_builtin): Adjust expand_builtin_memcpy and
1636         expand_builtin_mempcpy callers.
1637         * expr.c (can_move_by_pieces): New function.
1638         (move_by_pieces): Add endp argument, return to resp. memory at end
1639         or one byte earlier depending on endp.
1640         (store_by_pieces): Likewise.
1641         (emit_block_move): Adjust call to move_by_pieces.
1642         (emit_push_insn): Adjust move_by_pieces caller.
1643         * expr.h (can_move_by_pieces): New prototype.
1644         (store_by_pieces): Adjust prototypes.
1645         * rtl.h (move_by_pieces): Adjust prototype.
1646         * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
1647         caller.
1648
1649 2003-06-03  Ben Elliston  <bje@wasabisystems.com>
1650
1651         * doc/md.texi (Processor pipeline description): Improve wording.
1652
1653 2003-06-03  Neil Booth  <neil@daikokuya.co.uk>
1654
1655         * c-opts.c (c_common_handle_option): New, pulled out of
1656         c_common_decode_option.  Substitute uses of argv.
1657         (c_common_decode_option): Broken into two.
1658
1659 2003-06-02  Roger Sayle  <roger@eyesopen.com>
1660             Zack Weinberg  <zack@codesourcery.com>
1661
1662         * emit-rtl.c (gen_complex_constant_part):  Remove unnecessary
1663         test of TREE_CONSTANT_POOL_ADDRESS_P.
1664
1665 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1666
1667         * mips.c: Don't include output.h twice.
1668         * stormy16.c: Likewise.
1669         * xtensa.c: Likewise.
1670         * output.h: Protect against multiple inclusion.
1671
1672 2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
1673
1674         * sh.h (OLD_ARG_MODE): New macro.
1675         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
1676         (FUNCTION_ARG_1): Break out of:
1677         (FUNCTION_ARG).  Use OLD_ARG_MODE.
1678
1679 2003-06-02  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
1680
1681         * gcc/config.gcc Add support multilib parts for m32rx processor.
1682
1683 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1684
1685         * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
1686         (mostlyclean): Delete c-options.c and c-options.h.
1687
1688 2003-06-02  Neil Booth  <neil@daikokuya.co.uk>
1689
1690         * c-opts.c (CL_REJECT_NEGATIVE): New.
1691         (c_common_decode_option): Update to use it.
1692         * c.opt: Update documentation; use RejectNegative.
1693         * opts.sh: Handle RejectNegative.
1694
1695 2003-06-01  Zack Weinberg  <zack@codesourcery.com>
1696
1697         * ggc-page.c (init_ggc): Give better diagnostics on failure to
1698         open /dev/zero.
1699         * toplev.c (crash_signal): Reset handling for received signal
1700         to SIG_DFL.
1701
1702 2003-06-02  Ben Elliston  <bje@wasabisystems.com>
1703
1704         * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
1705         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
1706         (arm_use_dfa_pipeline_interface): Implement.
1707         * config/arm/arm.md (arm): New automaton.
1708         (write_buf): Remove function units; new cpu unit.
1709         (write_blockage): Remove function units; new cpu unit.
1710         (core): Remove function units; new cpu unit.
1711         (r_mem_f_wbuf): New instruction reservation.
1712         (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
1713         (store1_ldsched, store2, store3, store4): Likewise.
1714         (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
1715         (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
1716         (multi_cycle, single_cycle): Likewise.
1717         * config/arm/fpa.md (armfp): New automaton.
1718         (fpa): Remove function units; new cpu unit.
1719         (fpa_mem): Remove function unit; new cpu unit.
1720         (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
1721         (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
1722
1723 2003-06-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1724
1725         * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
1726         * c-format.c (enum format_type): Add asm_fprintf_format_type.
1727         (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
1728         asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
1729         (format_types_orig): Renamed from format_types.  Add new data.
1730         (format_types): Declare as pointer.
1731         (handle_format_attribute): Move later in file so we have all
1732         necessary declarations.  Add section to capture HOST_WIDE_INT.
1733         * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
1734         (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
1735
1736 2003-06-01  Andreas Jaeger  <aj@suse.de>
1737
1738         * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
1739         ROUND_TYPE_SIZE_UNIT.
1740
1741         * stor-layout.c (finalize_record_size): Remove usages of
1742         ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1743         (finalize_type_size): Likewise.
1744         (layout_type): Likewise.
1745
1746         * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1747
1748         * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
1749
1750         * config/d30v/d30v.h: Remove text copied from the manual.
1751
1752 2003-06-01  Roger Sayle  <roger@eyesopen.com>
1753             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1754             Geoffrey Keating  <geoffk@apple.com>
1755
1756         * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
1757         constants as condition code values.
1758
1759 2003-06-01  DJ Delorie  <dj@redhat.com>
1760
1761         * cppmacro.c (warn_of_redefinition): Handle cases where the two
1762         definitions have different numbers of tokens.
1763
1764 2003-06-01  Andreas Jaeger  <aj@suse.de>
1765
1766         * gen-protos.c (main): Readd unused attribute for argc.
1767
1768 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
1769
1770         * Makefile.in (c-options.c, c-options.h): Parallel make safe.
1771         * c.opt: End in blank line.
1772         * opts.sh: Take AWK from environment if available; use C locale.
1773
1774 2003-06-01  Andreas Schwab  <schwab@suse.de>
1775
1776         * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
1777
1778 2003-06-01  Andreas Jaeger  <aj@suse.de>
1779
1780         * gen-protos.c (main): Revert patch to check for argument.
1781
1782 2003-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1783
1784         PR target/11044
1785         * config/i386/i386.md (length attribute): Set length to 4
1786         for instructions of type "fcmp".
1787
1788 2003-06-01  Andreas Jaeger  <aj@suse.de>
1789
1790         * toplev.c: Use ISO C90 prototypes.
1791
1792         * toplev.h: Use ISO C90 prototypes.
1793
1794         * genrecog.c: Use ISO C90 prototypes.
1795         (nodes_identical): Correct declaration to match prototype.
1796         (maybe_both_true): Likewise.
1797         (merge_trees): Likewise.
1798
1799         * genpeep.c (gen_peephole): Remove #if 0 code.
1800         Use ISO C90 prototypes.
1801
1802         * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
1803         Remove #if 0'ed function simplify_by_alternatives.
1804         (optimize_attrs): Remove #if 0'ed code.
1805         Remove ^L.
1806         Use ISO C90 prototypes.
1807         (make_canonical): Remove #if 0'ed code.
1808         (convert_const_symbol_ref): Remove #if 0'ed function.
1809
1810         * gen-protos.c (main): Check for argument.
1811
1812         * rtl.h: Use ISO C90 prototypes for functions from lists.c.
1813
1814         * params.h: Use ISO C90 prototypes.
1815         * params.c: Likewise.
1816         * intl.c: Likewise.
1817         * intl.h: Likewise.
1818         * lists.c: Likewise.
1819         * errors.c: Likewise.
1820         * errors.h: Likewise.
1821         * gencodes.c: Likewise.
1822         * genpreds.c: Likewise.
1823         * genattr.c: Likewise.
1824         * gen-protos.c: Likewise.
1825         * genflags.c: Likewise
1826         * genconditions.c: Likewise.
1827         * genautomata.c: Likewise.
1828         * gencheck.c: Likewise.
1829         * genconfig.c: Likewise.
1830         * genconstants.c: Likewise.
1831         * genemit.c: Likewise.
1832         * genextract.c: Likewise.
1833         * gengenrtl.c: Likewise.
1834         * gengtype.c: Likewise.
1835         * gengtype.h: Likewise.
1836         * genopinit.c: Likewise.
1837         * genoutput.c: Likewise.
1838         * gensupport.c: Likewise.
1839         * gensupport.h: Likewise.
1840
1841         * sdbout.h: Use ISO C90 prototypes.
1842
1843         * sdbout.c (CONTIN): Removed empty macro.
1844         (sdbout_one_type): Remove CONTIN usages.
1845         Remove ^Ls.
1846         (tag_of_ru_type): Remove #if 0'ed function.
1847         (sdbout_symbol): Remove #if 0'ed code.
1848         (sdbout_one_type): Remove a #if 1.
1849         (sdbout_one_type): Remove #if 0'ed code.
1850         (sdbout_init): Remove RMS_QUICK_HACK_1 code.
1851         Remove PARAMS, use ISO C90 prototypes for all functions.
1852
1853 2003-06-01  Josef Zlomek  <zlomekj@suse.cz>
1854
1855         * rtl.def (CONST_DOUBLE): Update comment.
1856
1857 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
1858
1859         * opts.sh: Remove path from sort.
1860
1861 2003-06-01  Aldy Hernandez  <aldyh@redhat.com>
1862
1863         PR/9680
1864         * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
1865         TARGET_SPE for SPE_VECTOR_MODE.
1866
1867 2003-05-31  Aldy Hernandez  <aldyh@redhat.com>
1868
1869         * toplev.c (botch): Remove.
1870         (do_abort): Remove.
1871         (set_Wunused): Comment.
1872         (set_Wextra): Comment.
1873         Remove ^L's.
1874         (rest_of_compilation): Factor out common code into functions.
1875         (rest_of_handle_inlining): New.
1876         (rest_of_handle_ssa): New.
1877         (rest_of_handle_cse): New.
1878         (rest_of_handle_gcse): New.
1879         (rest_of_handle_loop_optimize): New.
1880         (rest_of_handle_jump_bypass): New.
1881         (rest_of_handle_sibling_calls): New.
1882         (rest_of_handle_null_pointer): New.
1883         (rest_of_handle_addresof): New.
1884         (rest_of_handle_flow): New.
1885         (rest_of_handle_branch_prob): New.
1886         (rest_of_handle_if_conversion): New.
1887         (rest_of_handle_tracer): New.
1888         (rest_of_handle_loop2): New.
1889         (rest_of_handle_cse2): New.
1890         (rest_of_handle_life): New.
1891         (rest_of_handle_combine): New.
1892         (rest_of_handle_if_after_combine): New.
1893         (rest_of_handle_regmove): New.
1894         (rest_of_handle_sched): New.
1895         (rest_of_handle_old_regalloc): New.
1896         (rest_of_handle_new_regalloc): New.
1897         (rest_of_handle_regrename): New.
1898         (rest_of_handle_reorder_blocks): New.
1899         (rest_of_handle_sched2): New.
1900         (rest_of_handle_new_regalloc): New.
1901         (rest_of_handle_old_regalloc): New.
1902         (rest_of_handle_regrename): New.
1903         (rest_of_handle_reorder_blocks): New.
1904         (rest_of_handle_stack_regs): New.
1905         (rest_of_handle_machine_reorg): New.
1906         (rest_of_handle_delay_slots): New.
1907         (rest_of_handle_final): New.
1908
1909         * toplev.h (botch): Remove prototype.
1910         (do_abort): Same.
1911
1912 2003-05-31  Neil Booth  <neil@daikokuya.co.uk>
1913
1914         * Makefile.in (c-opts.o, c-options.h): Update dependencies.
1915         * c-opts.c: Include c-options.h and c-options.c.
1916         (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
1917         Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
1918         (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
1919         OPT, opt_comp): Remove.
1920         (missing_arg, c_common_init_options, c_common_decode_option,
1921         write_langs): Update for macro redefinitions and enumeration
1922         name changes.
1923         * c.opt, opts.sh: New files.
1924         * doc/passes.texi: Update.
1925
1926 2003-05-31  Andreas Jaeger  <aj@suse.de>
1927
1928         * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
1929         usage.
1930
1931         * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
1932
1933         * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
1934
1935         * system.h: Poison ALLOCATE_TRAMPOLINE.
1936
1937         * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
1938         * system.h: Poison HANDLE_PRAGMA.
1939
1940 2003-05-31  Kazu Hirata  <kazu@cs.umass.edu>
1941
1942         * doc/invoke.texi: Update dump file names.
1943
1944 2003-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1945
1946         * c-format.c (format_length_info, format_char_info,
1947         format_flag_spec, format_flag_pair, format_kind_info):
1948         De-const-ify structure members.
1949
1950 2003-05-31  Roger Sayle  <roger@eyesopen.com>
1951
1952         * flags.h (flag_wrapv): New flag controlling overflow semantics.
1953         * toplev.c (flag_wrapv): Declare the variable with default false.
1954         (lang_independent_options): New option "-fwrapv" to set the above.
1955
1956         * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
1957         as x, when signed arithmetic overflow wraps around.
1958         (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
1959         * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
1960         overflow when flag_wrapv is true.
1961
1962         * doc/invoke.texi: Document new -fwrapv command line option.
1963         * doc/c-tree.texi: Mention that the overflow semantics of
1964         NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
1965         upon both flag_wrapv and flag_trapv.
1966
1967 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1968
1969         * doc/install.texi (mips-sgi-irix5): Add missing
1970         HTML <hr> marker.
1971
1972 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1973
1974         * doc/md.texi (Machine Constraints): Document
1975         missing SPARC constraints.
1976
1977 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1978
1979         * doc/md.texi (Automaton pipeline description): Use
1980         "type" instead of "cpu" as the attribute in the examples.
1981
1982 2003-05-30  Stan Shebs  <shebs@apple.com>
1983
1984         * system.h: Poison OBJC_PROLOGUE.
1985
1986 2003-05-30  Roger Sayle  <roger@eyesopen.com>
1987
1988         * emit-rtl.c (gen_complex_constant_part): New function for getting
1989         the constant real or imaginary part of a complex constant.
1990         (gen_realpart): Use it.
1991         (gen_imagpart): Likewise.
1992
1993 2003-05-30  Kazu Hirata  <kazu@cs.umass.edu>
1994
1995         * doc/invoke.texi: Fix typos.
1996         * doc/rtl.texi: Likewise.
1997
1998 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
1999
2000         * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
2001         mode.
2002         * config/h8300/crtn.asm: Likewise.
2003         * config/h8300/lib1funcs.asm: Likewise.
2004         * config/h8300/h8300.c (asm_file_start): Likewise.
2005         * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
2006         h8300snelf emulations for normal mode.
2007         * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
2008         emulations for normal mode.
2009
2010 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
2011
2012         * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
2013         true if TARGET_NORMAL_MODE.
2014
2015 2003-05-30  Roger Sayle  <roger@eyesopen.com>
2016
2017         * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
2018         making a substitution.
2019         (dead_libcall_p): If directly replacing a libcall with a
2020         constant value produces an invalid instruction, also try forcing
2021         the constant into the constant pool.
2022         * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
2023         obvious that the source is a constant.
2024         (compress_float_constant): Use set_unique_reg_note to place
2025         REG_EQUAL notes on instructions.
2026
2027 2003-05-30  Eric Christopher  <echristo@redhat.com>
2028
2029         * config/mips/mips.c (extern_list): Add GTY marker.
2030         (extern_head): Separate out definition. Add marker.
2031         (mips_output_external): Use ggc_alloc for extern_list
2032         allocation.
2033         (mips_output_external_libcall): Ditto.
2034
2035 2003-05-30  Florian Weimer  <fw@deneb.enyo.de>
2036
2037         * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
2038         later.
2039
2040 2003-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2041
2042         * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
2043         warnings.
2044         (PRINT_OPERAND): Likewise.
2045
2046 2003-05-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2047
2048         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
2049         -mdebug/-no-mdebug switches ...
2050         (MDEBUG_ASM_SPEC): ... here.
2051         Use only with gas.
2052         (EXTRA_SPECS): Initialize mdebug_asm_spec.
2053
2054 2003-05-29  Matt Kraai  <kraai@alumni.cmu.edu>
2055
2056         * gthr-gnat.c: Remove #undef UNUSED.
2057         (__gnat_default_lock, __gnat_default_unlock): Prototype.
2058         (__gnat_task_lock, __gnat_task_unlock): Make declarations
2059         prototypes.
2060         (__gnat_install_locks): Convert declaration to ISO C90, make
2061         parameter declarations prototypes, and remove blank line.
2062         * gthr-gnat.h (__gnat_install_locks): Make parameter
2063         declarations prototypes.
2064
2065 2003-05-29  Jason Merrill  <jason@redhat.com>
2066
2067         * Makefile.in (unstrap): Remove stage_last after make unstage1.
2068
2069 2003-05-29  Roger Sayle  <roger@eyesopen.com>
2070
2071         * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
2072
2073 2003-05-29  Roger Sayle  <roger@eyesopen.com>
2074             Kaveh Ghazi  <ghazi@caip.rutgers.edu>
2075
2076         PR bootstrap/10169
2077         * mips-tfile.c (main): Use getopt_long instead of getopt.
2078         Add new command line option --version to display version.
2079         Treat --verbose like -v to report a single line version.
2080         (options): New global variable for getopt_long.
2081         * mips-tdump.c (main): Use getopt_long instead of getopt.
2082         New command line options -v, --version and -verbose to display
2083         the program version number (to match mips-tfile's behavior).
2084         (options): New global variable for getopt_long.
2085
2086         * gcov.c (options): Zero-terminate getopt_long array.
2087         * gcov-dump.c (options): Likewise.
2088
2089         * Makefile.in (mips-tdump.o): Add dependency on version.h.
2090
2091 2003-05-29  Stan Shebs  <shebs@apple.com>
2092
2093         Remove OBJC_PROLOGUE everywhere.
2094         * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
2095         * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
2096         * config/d30v/d30v.h: Similarly.
2097         * config/ip2k/ip2k.h: Similarly.
2098         * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
2099
2100 2003-05-29  Roger Sayle  <roger@eyesopen.com>
2101
2102         * c-semantics.c (genrtl_do_stmt_1): New function split out from...
2103         (gen_rtl_do_stmt): ... here.  Call genrtl_do_stmt_1.
2104         (expand_unreachable_stmt): Expand unreachable while statements
2105         using genrtl_do_stmt_1.
2106
2107 2003-05-29  Richard Sandiford  <rsandifo@redhat.com>
2108
2109         * config/mips/mips-protos.h (mips_output_load_label): Declare.
2110         * config/mips/mips.c (mips_output_load_label): New function.
2111         (mips_output_conditional_branch): Use it.
2112         * config/mips/mips.md (jump): And here.
2113
2114 2003-05-28  Bob Wilson  <bob.wilson@acm.org>
2115
2116         * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
2117         (xtensa_split_operand_pair): New proto.
2118         * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
2119         (smalloffset_double_mem_p): Delete.
2120         (gen_float_relational, printx, print_operand, xtensa_va_arg):
2121         Fix whitespace.
2122         (xtensa_split_operand_pair): New.
2123         (xtensa_dbx_register_number): Fix formatting.
2124         * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
2125         * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
2126         instead of splitting them into single-word moves.  Remove unnecessary
2127         checks for reload_in_progress and reload_completed.
2128         (movdi_internal, movdf_internal): Change to post-reload split patterns.
2129         Add constraints to allow constant operands.
2130         (movsf_internal): Allow CONST_INT operands.
2131
2132 2003-05-27  Danny Smith   <dannysmith@users.sourceforge.net>
2133
2134         * config.gcc (i[34567]86-*-mingw32*): Add host makefile
2135         fragment i386/x-mingw32.
2136         * config/i386/x-mingw32: New file. Make local_includedir
2137         relative to EXEC_PREFIX.
2138
2139 2003-05-27  Aaron W. LaFramboise  <awlaframboise@aol.com>
2140
2141         * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
2142         (MD_STARTFILE_PREFIX): Define.
2143
2144 2003-05-27  Denis Chertykov  <denisc@overta.ru>
2145
2146         * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
2147         VOIDmode.
2148         * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
2149         call of cselib_invalidate_regno.
2150
2151 2003-05-28  Daniel Jacobowitz  <drow@mvista.com>
2152
2153         * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
2154         -lthread to -lpthread.
2155
2156 2003-05-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
2157             Bruce Korb  <bkorb@gnu.org>
2158             Arno Klaassen  <arno@heho.snv.jussieu.fr>
2159
2160         * fixinc/inclhack.def: Add missing declaration of getpagesize()
2161         to unistd.h on Solaris 2.5.1.
2162         Fix prototype of recv() and send() in sys/socket.h on
2163         Solaris 2.5.1 and 2.6.
2164         * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
2165         * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
2166         * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
2167         * fixinc/fixincl.x: Regenerate.
2168
2169 2003-05-27  Jason Merrill  <jason@redhat.com>
2170
2171         * tree.c (expr_first, expr_length): New fns.
2172         * tree.h: Declare them.
2173
2174         * tree.c (iterative_hash_expr): Hash commutative expressions
2175         consistently.
2176
2177 2003-05-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2178
2179         * tree.h (contains_placeholder_p): Now returns bool.
2180         (CONTAINS_PLACEHOLDER_P): New macro.
2181         (type_contains_placeholder_p): New function.
2182         * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
2183         (contains_placeholder_p): Now returns bool.
2184         Rework to use CONTAINS_PLACEHOLDER_P macro.
2185         (type_contains_placeholder_p): New function.
2186         * fold-const.c (fold, case COMPONENT_REF): Don't fold if
2187         type_contains_placeholder_p.
2188         (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
2189         Use CONTAINS_PLACEHOLDER_P macro.
2190         * builtins.c (fold_builtin): Likewise.
2191         * calls.c (initialize_argument_information): Likewise.
2192         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
2193         * explow.c (expr_size): Likewise.
2194         * expr.c (store_constructor, get_inner_reference): Likewise.
2195         * function.c (assign_parms): Likewise.
2196         * stor-layout.c (variable_size): Likewise.
2197
2198 2003-05-25  Gabriel Dos Reis <gdr@integrable-solutions.net>
2199
2200         * diagnostic.h (output_verbatim, verbatim):  Remove  printf
2201         attribute.
2202
2203 2003-05-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2204
2205         * doc/contrib.texi (Contributors): Update Kean Johnston.
2206
2207 2003-05-24  David Edelsohn  <edelsohn@gnu.org>
2208
2209         * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
2210
2211 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2212
2213         * config/rs6000/440.md, config/stormy16/stormy16protos.h,
2214         config/stormy16/stormy16.c, config/stormy16/stormy16.md:
2215         Replace "GNU CC" with "GCC".
2216
2217 2003-05-24  Matt Kraai  <kraai@alumni.cmu.edu>
2218
2219         * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
2220         intermediate computation.
2221
2222 2003-05-23  Eric Christopher  <echristo@redhat.com>
2223
2224         * config/mips/mips.md (clzsi, clzdi): New patterns.
2225
2226 2003-05-23  Geoffrey Keating  <geoffk@apple.com>
2227
2228         * gcc.c (default_compilers): Use -o to specify preprocessor's output
2229         file.  Make -no-integrated-cpp work when building PCH files.
2230         * objc/lang-specs.h: Likewise.
2231
2232 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2233
2234         * fixinc/Makefile.in: Correct description.
2235         * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
2236         fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
2237         fixinc/genfixes: Replace "GNU CC" with "GCC".
2238
2239 2003-05-23  Roger Sayle  <roger@eyesopen.com>
2240
2241         * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
2242         builtin functions (and their __builtin_* variants).
2243         * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
2244         (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
2245         optimizing.
2246
2247         * doc/extend.texi: Document new tan and atan builtins, and
2248         their float and long double variants.
2249
2250 2003-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
2251
2252         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
2253         __sparcv9 in the TARGET_ARCH64 case.
2254
2255 Fri May 23 22:17:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
2256
2257         * i386.c (ix86_reorg): Calls are also jumps.
2258
2259 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
2260
2261         * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
2262         note containing an EXPR_LIST, process all the arguments.
2263
2264 Fri May 23 21:19:31 CEST 2003  Jan Hubicka  <jh@suse.cz>
2265                                Andreas Jaeger  <aj@suse.de>
2266
2267         * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
2268         do not use assertion.
2269
2270 2003-05-23  Mike Stump  <mrs@apple.com>
2271
2272         * tlink.c (scan_linker_output): Add support for darwin linker, as it
2273         emits unresolved symbols one per line, consuming the entire line.
2274
2275 2003-05-23  Larin Hennessy <larin@science.oregonstate.edu>
2276             Zack Weinberg <zack@codesourcery.com>
2277
2278         * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
2279         * config/m68k/m68k.c (m68k_output_function_prologue):
2280         Remove code under #if NEED_PROBE.
2281         * config/m68k/m68k.h: Don't define NEED_PROBE.
2282         * config/m68k/m68k.md: Remove "probe" insn.
2283         * doc/md.texi: Remove documentation of "probe" pattern.
2284
2285 2003-05-23  Dorit Naishlos  <gcchaifa@il.ibm.com>
2286
2287         * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
2288
2289 2003-05-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2290
2291         * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
2292         Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
2293
2294 2003-05-22  Roger Sayle  <roger@eyesopen.com>
2295
2296         * real.c (real_maxval): New function to return the largest finite
2297         value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
2298         * real.h (real_maxval): Prototype here.
2299         * fold-const.c (fold_inf_compare): Transform comparisons against
2300         +-Infinity into comparisons against DBL_MAX (or equivalent).
2301
2302 2003-05-22  Mike Stump  <mrs@apple.com>
2303
2304         * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
2305         default.
2306
2307 2003-05-22  DJ Delorie  <dj@redhat.com>
2308
2309         * calls.c (expand_call): If the arg block is going to grow
2310         downward, we need argblock to point to the top of the block,
2311         not the bottom.
2312
2313 2003-05-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2314
2315         * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
2316
2317         * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
2318         constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
2319
2320 2003-05-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2321
2322         * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
2323         * m68k.c: Likewise.
2324         * m68k.h: Likewise.
2325
2326 2003-05-22  Zack Weinberg  <zack@codesourcery.com>
2327
2328         PR other/2873
2329         * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
2330         expressions to prevent triggering on recent curses.h,
2331         linux/nls.h, or X11/Xlib.h.
2332         (stdio_va_list): Add _G_va_list to bypass pattern.
2333         (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
2334         * fixinc/fixincl.x: Regenerate.
2335
2336 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
2337
2338         * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
2339         switches when --target-help option is specified.
2340
2341 2003-05-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
2342
2343         PR bootstrap/10805
2344         * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
2345         failure with Sun assembler 5.0 Alpha 03/27/98.
2346
2347 2003-05-21  Loren James Rittle  <ljrittle@acm.org>
2348
2349         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
2350         to match system compiler convention.
2351
2352 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
2353
2354         * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
2355         value, not just if defined.
2356         Update copyright year.
2357
2358 2003-05-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2359
2360         PR target/6428
2361         * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
2362         directories from LIB_SPEC to LINK_SPEC.  Emit warning if `-p' or `-pg'
2363         option is used without `-static'.
2364         * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
2365         * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
2366
2367 2003-05-21  Bob Wilson  <bob.wilson@acm.org>
2368
2369         * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
2370         TARGET_SERIALIZE_VOLATILE): Delete.
2371         (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
2372         (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
2373         (TARGET_SWITCHES): Remove "-mserialize-volatile" and
2374         "-mno-serialize-volatile".
2375         * config/xtensa/xtensa.c (print_operand): Remove checks of
2376         TARGET_SERIALIZE_VOLATILE.
2377         * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
2378         * doc/invoke.texi (Option Summary, Xtensa Options): Remove
2379         "-mserialize-volatile" and "-mno-serialize-volatile" options.
2380
2381 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
2382
2383         * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
2384         (nested_function): Likewise.
2385         (notype_nested_function): Likewise.
2386
2387 2003-05-21  Nick Clifton  <nickc@redhat.com>
2388
2389         * config/stormy16/stormy-abi: Update overflow type for
2390         R_XSTORMY16_16 reloc.
2391
2392 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
2393
2394         * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
2395         * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
2396         (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
2397         * print-tree.c (print_node): Remove ambient-boundedness.
2398         * tree.h (tree_common): Remove bounded_flag.
2399         (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
2400         BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
2401         MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
2402         TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
2403         TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
2404         Remove.
2405         (TYPE_QUALS): Remove BOUNDED.
2406         (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
2407         (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
2408         TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
2409         TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
2410         VA_LIST_POINTER_DEPTH): Remove.
2411         (struct tree_type): Remove pointer_depth.
2412
2413 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2414
2415         * c-pretty-print.c (pp_c_integer_literal): Use
2416         HOST_WIDE_INT_PRINT_DOUBLE_HEX.
2417
2418 2003-05-20  Roger Sayle  <roger@eyesopen.com>
2419             Kazu Hirata  <kazu@cs.umass.edu>
2420             Joern Rennecke  <joern.rennecke@superh.com>
2421
2422         * gcse.c (cprop_jump):  Make use of REG_EQUAL notes on both
2423         setcc and jump, if they exist.  If substituted instruction
2424         fails to validate, store current effort in a REG_EQUAL note.
2425         (cprop_insn): Don't attempt further substitutions if the
2426         current instruction has been deleted.
2427         (local_cprop_pass): Likewise.
2428
2429         * jump.c (redirect_jump):  Also update REG_EQUAL note, if
2430         one is attached to the jump instruction.
2431         (invert_jump): Delete REG_EQUAL note on jump, if one exists.
2432
2433 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
2434
2435         PR c++/9738
2436         * config/i386/winnt.c (i386_pe_encode_section_info): Enable
2437         even if not first.
2438
2439 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2440
2441         * genautomata.c (output_description, output_automaton_units,
2442         output_state_arcs): Add missing specifiers.
2443
2444 2003-05-20  Bob Wilson  <bob.wilson@acm.org>
2445
2446         * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
2447         (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
2448         (__mulsi3): Use do_addx* instead of ADDX* instructions.  Formatting.
2449         (nsau): Rename to do_nsau.  Provide alternate version for use when
2450         the NSAU instruction is available.
2451         (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
2452         (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
2453         * config/xtensa/xtensa-config.h: Update comments to match binutils.
2454         (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
2455         * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
2456         (TARGET_ABS, TARGET_ADDX): Define.
2457         (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
2458         (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
2459         * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
2460         *subx8): Set predicate condition to TARGET_ADDX.
2461         (abssi2): Set predicate condition to TARGET_ABS.
2462         * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
2463         "-maddx", and "-mno-addx" options.
2464         (Xtensa Options): Likewise.  Also tag some opcode names with @code.
2465
2466 2003-05-20  Kevin Ryde <user42@zip.com.au>
2467             Wolfgang Bangerth <bangerth@dealii.org>
2468
2469         PR/10355
2470         * doc/extend.texi: Put a warning into the documentation
2471         of attribute regparm.
2472
2473 2003-05-20  Jason Merrill  <jason@redhat.com>
2474
2475         * tree.c (expr_last): New fn.
2476         * tree.h: Declare it.
2477         * objc/objc-act (expr_last): Rename to objc_expr_last.
2478
2479 2003-05-20  J"orn Rennecke <joern.rennecke@superh.com>
2480
2481         * sh.c (sh_register_move_cost): Add clase for moving between
2482         FP registers and MAC registers.
2483
2484 2003-05-19  John David Anglin  <dave.anglin@nrc-gnrc.gc.ca>
2485
2486         * pa/milli64.S ($$mulI): Fix typo.
2487
2488 2003-05-19  Matt Kraai  <kraai@alumni.cmu.edu>
2489
2490         * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
2491         (nonlocal_set_p): Remove initial blank line.
2492         * dwarf2out.c (simple_type_size_in_bits): Likewise.
2493         * et-forest.c (et_forest_create): Likewise.
2494         * explow.c (stabilize): Likewise.
2495         * fix-header.c (write_lbrac): Likewise.
2496         * graph.c (start_fct, node_data): Likewise.
2497         * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
2498         * rtlanal.c (global_reg_mentioned_p): Likewise.
2499         * tree.c (bit_position): Likewise.
2500
2501 2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
2502
2503         * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
2504         -lthread to -lpthread.
2505
2506 2003-05-19  Neil Booth  <neil@daikokuya.co.uk>
2507
2508         * c-opts.c (c_common_decode_option): Don't accept dollars
2509         as identifier characters in assembly.
2510         * doc/cpp.texi: Document this.
2511
2512 2003-05-19  Seth Arnold  <sarnold@wirex.com>
2513             Aldy Hernandez  <aldyh@redhat.com>
2514
2515         * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
2516         vrsave_size twice.
2517
2518 2003-05-19  Aldy Hernandez  <aldyh@redhat.com>
2519
2520         * doc/tm.texi (function_arg): Fix typo.
2521
2522 2003-05-19  Matt Austern  <austern@apple.com>
2523
2524         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
2525         * c-common.h (warn_invalid_offsetof): Declare.
2526         * c-common.c (warn_invalid_offsetof): Define.
2527         * doc/invoke.texi: Document -Winvalid-offsetof.
2528         * testsuite/g++.dg/other/offsetof3.C: New.
2529         * testsuite/g++.dg/other/offsetof4.C: New.
2530
2531 2003-05-19  Kevin B. Hendricks  <kevin.hendricks@sympatico.ca>
2532             David Edelsohn  <edelsohn@gnu.org>
2533
2534         * config/rs6000/rs6000.c (rs6000_alignment_string,
2535         rs6000_alignment_flags): New variables.
2536         (rs6000_parse_alignment_option): New function.
2537         (rs6000_override_options): Call it.
2538         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
2539         (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
2540         macros.
2541         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
2542         natural alignment if TARGET_NATURAL_ALIGNMENT
2543         (ROUND_TYPE_ALIGN): Always use default record alignment if
2544         TAGET_NATURAL_ALIGNMENT.
2545         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
2546         (ROUND_TYPE_ALIGN): Same.
2547         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
2548         (ROUND_TYPE_ALIGN): Same.
2549         * doc/invoke.texi (Option Summary, PowerPC Options): Document
2550         new options.
2551
2552 2003-05-19  J"orn Rennecke <joern.rennecke@superh.com>
2553
2554         * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
2555         of a function using ASMSPEC, prepend a star.
2556
2557 2003-05-19  Jason Merrill  <jason@redhat.com>
2558
2559         * tree-inline.c (copy_body_r): Avoid generating &* during inline
2560         substitution.
2561
2562 2003-05-19  Andrew Macleod  <amacleod@redhat.com>
2563
2564         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
2565         not mark assignments to the hard frame pointer as being stack
2566         frame related.
2567         (xstormy16_expand_epilogue): Mark adjustments to the stack
2568         pointer as being stack frame related.
2569
2570 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
2571
2572         * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
2573         ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
2574         (PREDICATE_CODES): Add hilo_operand.
2575         * config/mips/mips.c (hilo_operand): New predicate.
2576         (mips_adjust_insn_length): Account for the number nops that might
2577         be needed to avoid hardware hazards.
2578         * config/mips/mips.md (dslot): Remove attribute.
2579         (hazard): New attribute.
2580         (can_delay): Use it.  Check for calls, branches & jumps.
2581         (muldi3): Use the standard dmult pattern for mips16 code.
2582         (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
2583
2584 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
2585
2586         * config/mips/mips-protos.h (final_prescan_insn,
2587         mips_count_memory_refs, mips_fill_delay_slot): Remove.
2588         * config/mips/mips.h (delay_type, dslots_load_total,
2589         dslots_load_filled, dslots_jump_total, dslots_jump_filled,
2590         dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
2591         mips_load_reg3, mips_load_reg4): Remove.
2592         (MASK_STATS): Remove.
2593         (MASK_EXPLICIT_RELOCS): Reuse its value.
2594         (TARGET_STATS): Remove.
2595         (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
2596         Warn that -mstats is now ignored.
2597         (FINAL_PRESCAN_INSN): Undefine.
2598         (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
2599         (ASM_OUTPUT_REG_POP): Likewise.
2600         * config/mips/mips.c (dslots_load_total, dslots_load_filled,
2601         dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
2602         mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
2603         mips_fill_delay_slot, mips_count_memory_refs,
2604         final_prescan_insn): Remove.
2605         (output_block_move): Remove calls to mips_count_memory_refs.
2606         (print_operand): Remove printing of #nop for TARGET_STATS.
2607         (mips_output_function_epilogue): Remove TARGET_STATS code.
2608         Reorganize setting of fnnmae.
2609         * config/mips/mips.md: Remove handling of dslot statistics
2610         throughout file.  Change all fcmp patterns into normal asm
2611         templates, removing calls to mips_fill_delay_slot.
2612         * doc/invoke.texi: Remove documentation of -mstats.
2613
2614 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
2615
2616         * config/mips/mips.c (mips_class_max_nregs): Return the number of
2617         words in the mode.
2618
2619 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
2620
2621         * config/mips/mips.c (override_options): Disable explicit
2622         relocs for old ABIs unless using gas.
2623
2624 2003-05-18  Eric Christopher  <echristo@redhat.com>
2625
2626         * config/mips/mips.h: Remove definition of g_switch_value.
2627
2628 2003-05-18  Matt Kraai  <kraai@alumni.cmu.edu>
2629
2630         * flags.h (g_switch_value): Change to an unsigned
2631         HOST_WIDE_INT.
2632         * toplev.c (g_switch_value): Likewise.
2633
2634         * config/alpha/alpha.c (small_symbolic_operand): Remove
2635         g_switch_value cast.
2636         (alpha_in_small_data_p): Cast size to an unsigned
2637         HOST_WIDE_INT.
2638
2639         * config/frv/frv.c (frv_in_small_data_p): Cast size to an
2640         unsigned HOST_WIDE_INT.
2641         * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
2642         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
2643
2644         * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
2645         unsigned HOST_WIDE_INT.
2646         (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
2647         * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
2648         (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
2649
2650         * config/rs6000/rs6000.c (rs6000_file_start): Use
2651         HOST_WIDE_INT_PRINT_UNSIGNED.
2652         (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
2653         (rs6000_elf_in_small_data_p): Cast size to unsigned
2654         HOST_WIDE_INT.
2655         * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
2656         Remove.
2657         (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
2658         g_switch_set.
2659         (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
2660         g_switch_value cast.
2661
2662 2003-05-18  Roger Sayle  <roger@eyesopen.com>
2663             Zack Weinberg  <zack@codesourcery.com>
2664
2665         PR middle-end/10472
2666         * builtins.c (expand_builtin_memcpy):  Call force_operand on
2667         expressions and use simplify_gen_binary to create the addition.
2668
2669 2003-05-18  Andreas Schwab  <schwab@suse.de>
2670
2671         * config/m68k/m68k.md: Use define_constants for unspec numbers.
2672
2673 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
2674
2675         * config/sparc/sparc.h: Define sparc for now.
2676 2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
2677
2678         * config.gcc: Clear xm_file, md_file at the beginning of each pass.
2679
2680         * config/stormy16/stormy16.h: Remove about 3000 lines of
2681         target-independent comments.  Update copyright notice.
2682
2683         * doc/collect2.texi: GNU CC -> GCC.
2684         * doc/headerdirs.texi: GNU CC -> GCC.
2685
2686 2003-05-18  Gabriel Dos Reis <gdr@integrable-solutions.net>
2687
2688         * hashtable.h (struct ht_identifier): Add data member "hash_value".
2689         * hashtable.c (ht_lookup): Use it when searching, remember.
2690         (ht_expand): Do not recompute.
2691         * tree.h (IDENTIFIER_HASH_VALUE): New macro.
2692
2693 2003-05-18  Nathan Sidwell  <nathan@codesourcery.com>
2694
2695         * gcov-io.c (gcov_read_bytes): Fix fread thinko.
2696
2697 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
2698
2699         * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
2700         Default here.
2701         (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
2702         * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
2703         * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
2704         * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
2705         config/arm/linux-elf.h, config/arm/rtems-elf.h,
2706         config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
2707         config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
2708         config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
2709         config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
2710         config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
2711         config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
2712         config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
2713         config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
2714         config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
2715         config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
2716         config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
2717         Don't define __ELF__.
2718         * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
2719         Define __ELF__.
2720         * doc/cpp.texi: Document __ELF__.
2721         * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS.     *
2722
2723 2003-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2724
2725         * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
2726         always use stdarg.
2727         * c-errors.c (pedwarn_c99): Likewise.
2728         * c-format.c (status_warning): Likewise.
2729         * c-semantics.c (build_stmt): Likewise.
2730         * calls.c (emit_library_call, emit_library_call_value): Likewise.
2731         * collect2.c (notice, fatal_perror, fatal, error): Likewise.
2732         * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
2733         * diagnostic.c (build_message_string, output_printf,
2734         output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
2735         fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
2736         error_with_decl, fnotice): Likewise.
2737         * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
2738         dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
2739         dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
2740         dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
2741         dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2742         dw2_asm_output_encoded_addr_rtx): Likewise.
2743         * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
2744         * errors.c (warning, error, fatal, internal_error): Likewise.
2745         * final.c (output_operand_lossage, asm_fprintf): Likewise.
2746         * fix-header.c (fatal): Likewise.
2747         * gcc.c (fatal, error, notice): Likewise.
2748         * gcov.c (fnotice): Likewise.
2749         * genattrtab.c (attr_rtx, attr_printf): Likewise.
2750         * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
2751         * gensupport.c (message_with_line): Likewise.
2752         * mips-tfile.c (fatal, error): Likewise.
2753         * protoize.c (notice): Likewise.
2754         * ra-debug.c (ra_debug_msg): Likewise.
2755         * read-rtl.c (fatal_with_file_and_line): Likewise.
2756         * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
2757         * tree.c (build, build_nt, build_function_type_list): Likewise.
2758
2759 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2760
2761         * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
2762         * gcc.c (cpp_predefines): Remove.
2763         (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
2764         (static_specs): Remove predefines.
2765         * system.h: Poison CPP_PREDEFINES.
2766         * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
2767         config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
2768
2769 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2770
2771         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
2772         config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
2773         config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
2774         use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
2775
2776 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2777
2778         PR c/9209
2779         * c-common.c, c-common.h (dollars_in_ident): Remove.
2780         * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
2781         (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
2782         * cpphash.h (warned_dollar): Rename warn_dollars.
2783         * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
2784         Permit dollars regardless of -std=.
2785         (post_options): Set warn_dollars.
2786         * cpplex.c (forms_identifier_p): Use warn_dollars.
2787         * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
2788         Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
2789         * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
2790         Update documentation.
2791
2792 2003-05-17  Andreas Schwab  <schwab@suse.de>
2793
2794         * config/m68k/m68k.c (m68k_output_function_prologue): Use
2795         HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
2796         formatting a HOST_WIDE_INT.
2797         (m68k_output_function_epilogue): Likewise.
2798
2799 2003-05-17  Zack Weinberg  <zack@codesourcery.com>
2800
2801         * doc/install.texi: Remove information about desupported targets.
2802
2803 2003-05-17  Andreas Schwab  <schwab@suse.de>
2804
2805         * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
2806         * config/m68k/linux.h: Likewise.
2807         * config/m68k/m68k-none.h: Likewise.
2808         * config/m68k/netbsd-elf.h: Likewise.
2809         * config/m68k/sgs.h: Likewise.
2810         * config/m68k/m68k.h: Likewise.
2811         * config/m68k/m68k.md: Likewise.
2812         * config/m68k/m68k.c: Likewise.
2813         * doc/md.texi (Machine Constraints): Remove Sun FPA specific
2814         constraints.
2815         * doc/invoke.texi (Option Summary): Remove -mfpa.
2816         (M680x0 Options): Likewise.
2817
2818 2003-05-17  David Edelsohn  <edelsohn@gnu.org>
2819
2820         * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
2821
2822 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2823
2824         * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
2825         * config/sparc/liteelf.h, config/sparc/openbsd64.h,
2826         config/sparc/rtemself.h, config/sparc/sol2-64.h,
2827         config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
2828         Update for use of TARGET_SUB_OS_CPP_BUILTINS.
2829
2830 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2831
2832         * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
2833         TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
2834
2835 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2836
2837         * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
2838         * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
2839         sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
2840         sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
2841         sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
2842         sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
2843         sparc/sysv4.h,
2844         * sparc/sysv4-only.h: New.
2845
2846 2003-05-17  Alan Modra  <amodra@bigpond.net.au>
2847
2848         * function.c (assign_parms): Check for zero size args.
2849
2850 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2851
2852         * cfgloopanal.c (test_for_iteration): Use string concatentation on
2853         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2854         function calls into one.
2855         * dbxout.c (dbxout_symbol): Likewise.
2856         * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
2857         * dwarf2asm.c (dw2_asm_output_data_uleb128,
2858         dw2_asm_output_data_sleb128): Likewise.
2859         * genrecog.c (debug_decision_2): Likewise.
2860         * loop.c (emit_prefetch_instructions): Likewise.
2861         * print-rtl.c (print_rtx): Likewise.
2862         * print-tree.c (print_node_brief, print_node): Likewise.
2863         * ra-debug.c (dump_igraph, dump_graph_cost,
2864         dump_static_insn_cost): Likewise.
2865         * ra-rewrite.c (dump_cost): Likewise.
2866         * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2867         * sreal.c (dump_sreal): Likewise.
2868         * unroll.c (unroll_loop, precondition_loop_p): Likewise.
2869         * varasm.c (assemble_vtable_entry): Likewise.
2870
2871         * avr.c (avr_output_function_prologue,
2872         avr_output_function_epilogue, print_operand): Fix format specifier
2873         warnings.
2874         (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
2875         * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
2876
2877 2003-05-16  Geoffrey Keating  <geoffk@apple.com>
2878
2879         * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
2880         and ! TARGET_STRING cases.
2881
2882         * doc/cppopts.texi (-undef): Fix texinfo warning.
2883
2884         * doc/cppopts.texi (-H): Document that -H works for PCH files too.
2885         * cppfiles.c (validate_pch): When -H is used, print some information
2886         about PCH files found.
2887
2888 2003-05-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2889
2890         * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
2891         * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
2892         * config/mips/t-sr71k: Likewise.
2893
2894 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2895
2896         * arc.c (arc_output_function_prologue,
2897         arc_output_function_epilogue): Fix format specifier warnings.
2898         * arc.h (LARGE_INT): Fix signed/unsigned warnings.
2899
2900         * v850.c (print_operand): Fix format specifier warnings.
2901
2902         * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2903         specifier warnings.
2904
2905         * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
2906         format specifier warnings.
2907
2908         * ip2k.c (function_prologue, function_epilogue, print_operand):
2909         Fix format specifier warnings.
2910         * ip2k.md: Likewise.
2911
2912         * i960.c (i960_output_function_prologue, i960_print_operand,
2913         i960_print_operand_addr): Fix format specifier warnings.
2914
2915         * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
2916         (i370_output_function_prologue): Fix format specifier warnings.
2917         * i370.h (PRINT_OPERAND): Likewise.
2918
2919         * fr30.c (fr30_print_operand): Fix format specifier warnings.
2920
2921         * dsp16xx.c (print_operand_address): Fix format specifier warning.
2922         * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
2923
2924         * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
2925         specifier warnings.
2926
2927         * alpha.c (print_operand_address, alpha_start_function,
2928         unicosmk_output_ssib): Use string concatentation on
2929         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2930         function calls into one.
2931         * arm.c (arm_print_operand): Likewise.
2932         * cris.c (cris_asm_output_mi_thunk): Likewise.
2933         * frv.c (frv_asm_output_mi_thunk): Likewise.
2934         * ia64.c (ia64_print_operand, process_set): Likewise.
2935         * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
2936         Likewise.
2937         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2938         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2939         * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
2940         * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
2941         * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
2942         * s390.c (s390_assemble_integer): Likewise.
2943         * sparc.c (sparc_flat_function_prologue,
2944         sparc_flat_function_epilogue): Likewise.
2945         * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
2946         * vax.c (vax_output_mi_thunk): Likewise.
2947
2948         * frv.c (frv_print_operand_memory_reference): Fix format specifier
2949         warning.
2950         (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
2951
2952         * m68k.c (m68k_output_function_epilogue): Fix format specifier
2953         warnings.
2954
2955         * stormy16-protos.h (xs_hi_general_operand,
2956         xs_hi_nonmemory_operand): Prototype.
2957         * stormy16.c (xstormy16_output_shift): Fix format specifier
2958         warnings.
2959
2960         * cris.c: Fix format specifier warnings.
2961
2962 2003-05-16  Nick Clifton  <nickc@redhat.com>
2963
2964         * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
2965
2966 2003-05-16  Wolfgang Bangerth <bangerth@dealii.org>
2967
2968         * doc/bugreport.texi: Remove most of the of the preface of the
2969         bugs section.
2970
2971 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
2972
2973         * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
2974         .save XX, r0.
2975
2976 2003-05-15  Roger Sayle  <roger@eyesopen.com>
2977
2978         * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
2979
2980 2003-05-15  Eric Christopher  <echristo@redhat.com>
2981
2982         * cfgcleanup.c (merge_blocks): Fix return value.
2983
2984 2003-05-15 Eric Christopher <echristo@redhat.com>
2985
2986         * combine.c (expand_compound_operation): Make sure
2987         that zero_extend operation is profitable.
2988
2989 2003-05-15  Richard Henderson  <rth@redhat.com>
2990
2991         * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
2992         code protected by USE_GNULIBC_1.
2993
2994 2003-05-15  Zack Weinberg  <zack@codesourcery.com>
2995
2996         * config.gcc: Purge all targets obsoleted in GCC 3.3.  Also
2997         remove hppa*-*-mpeix* which could not be built, and prune
2998         files from tmake_file= or tm_file= lists that don't exist.
2999
3000         * config/alpha/alpha-interix.h, config/alpha/alpha32.h
3001         * config/alpha/t-interix, config/arm/conix-elf.h
3002         * config/arm/t-arm-aout, config/arm/t-strongarm-coff
3003         * config/arm/unknown-elf-oabi.h, config/i386/win32.h
3004         * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
3005         * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
3006         * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
3007         * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
3008         * config/m68k/m68k-psos.h, config/m68k/mot3300.h
3009         * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
3010         * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
3011         * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
3012         * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
3013         * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
3014         * config/m68k/tower-as.h, config/m68k/tower.h
3015         * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
3016         * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
3017         * config/m88k/m88k-protos.h, config/m88k/m88k.c
3018         * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
3019         * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
3020         * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
3021         * config/mips/rtems64.h, config/mips/sni-gas.h
3022         * config/mips/sni-svr4.h, config/mips/t-ecoff
3023         * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
3024         * config/mn10200/mn10200.c, config/mn10200/mn10200.h
3025         * config/mn10200/mn10200.md, config/mn10200/t-mn10200
3026         * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
3027         * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
3028         * config/romp/romp-protos.h, config/romp/romp.c
3029         * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
3030         * config/rs6000/aix3newas.h, config/rs6000/mach.h
3031         * config/sparc/bsd.h, config/sparc/hal.h
3032         * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
3033         * config/sparc/lynx.h, config/sparc/netbsd.h
3034         * config/sparc/sp86x-aout.h, config/sparc/splet.h
3035         * config/sparc/sun4gas.h, config/sparc/sun4o3.h
3036         * config/sparc/sunos4.h, config/sparc/t-chorus-elf
3037         * config/sparc/t-halos, config/sparc/t-sparcbare
3038         * config/sparc/t-splet, config/sparc/t-sunos41
3039         * config/v850/rtems.h: Delete file.
3040
3041 2003-05-15  Aldy Hernandez  <aldyh@redhat.com>
3042
3043         * config/rs6000/rs6000-protos.h (function_value): Protoize.
3044
3045         * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
3046
3047         * config/rs6000/rs6000.c (rs6000_function_value): New.
3048
3049 2003-05-15  Philip Blundell  <philb@gnu.org>
3050
3051         * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
3052         All uses updated.
3053         (arm_tune_xscale): New variable.
3054         (arm_override_options): Set it.
3055         (arm_adjust_cost): Use it in place of arm_arch_xscale.
3056         (arm_gen_load_multiple): Likewise.
3057         (arm_gen_store_multiple): Likewise.
3058         * config/arm/arm.md (is_xscale): Likewise.
3059         * config/arm/arm.h (arm_tune_xscale): Declare.
3060
3061 2003-05-15  Philip Blundell  <philb@gnu.org>
3062
3063         PR target/10730
3064         * config/arm/arm.c (adjacent_mem_locations): Reject offsets
3065         involving invalid constants.
3066
3067 2003-05-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3068
3069         * pa.c (hppa_expand_prologue): Remove blockage.
3070
3071 2003-05-15  Wolfgang Bangerth <bangerth@dealii.org>
3072
3073         * doc/bugreport.texi: Remove most of the bug reporting
3074         instructions and merge them into bugs.html.
3075
3076 2003-05-14  Matt Kraai  <kraai@alumni.cmu.edu>
3077
3078         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
3079         g_switch_value to unsigned HOST_WIDE_INT.
3080
3081 2003-05-14  Eric Christopher  <echristo@redhat.com>
3082
3083         * combine.c: Fix header comments.
3084         (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
3085         to all calls and prototype.
3086
3087 2003-05-14  Roger Sayle  <roger@eyesopen.com>
3088
3089         PR optimization/10764
3090         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
3091         Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
3092         (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3):  Likewise,
3093         add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
3094         (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
3095         the corresponding *fyl2x_?fxf3 instructions.
3096
3097 2003-05-14  Bob Wilson  <bob.wilson@acm.org>
3098
3099         * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
3100         * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
3101         XCHAL_HAVE_L32R): New.
3102         * config/xtensa/xtensa-protos.h (non_const_move_operand,
3103         xtensa_load_constant, xtensa_function_prologue,
3104         xtensa_function_epilogue): Delete prototypes.
3105         (xtensa_expand_prologue): New.
3106         * config/xtensa/xtensa.c (frame_size_const,
3107         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
3108         non_const_move_operand, xtensa_load_constant, xtensa_reorg,
3109         xtensa_function_prologue): Delete.
3110         (add_operand, xtensa_mem_offset): Formatting.
3111         (move_operand): If the const16 option is available, allow any SFmode
3112         and SImode constants.
3113         (xtensa_emit_move_sequence): Inline the former contents of
3114         xtensa_load_constant with modifications to handle the const16 option.
3115         (override_options): Add xtensa_char_to_class['W'] and set it to
3116         the general register class only if the const16 option is enabled.
3117         Fix formatting.  Disallow PIC when using the const16 option.
3118         (print_operand): Reorganize to switch on "letter" instead of the
3119         RTL code.  Add output_operand_lossage calls for invalid cases.
3120         Add support for 't' and 'b' letters.
3121         (xtensa_expand_prologue): New function to replace
3122         xtensa_function_prologue and xtensa_reorg.
3123         (xtensa_function_epilogue): Declare this as static.  Delete code
3124         to print the retw.n or retw instruction.
3125         (xtensa_return_addr): Use A0_REG instead of 0.
3126         (xtensa_rtx_costs): Add costs for using the const16 option.
3127         * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
3128         (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
3129         (TARGET_SWITCHES): Add "const16" and "no-const16".
3130         (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
3131         (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
3132         using the const16 option.
3133         (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
3134         (TRAMPOLINE_SIZE): Change from 49 to 59.
3135         (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
3136         (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
3137         when using the const16 option.
3138         (PREDICATE_CODES): Delete non_const_move_operand.
3139         * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
3140         UNSPECV_ENTRY.
3141         (movdi, movdf): If the source is a constant, always expand to a
3142         sequence of movsi insns.
3143         (movdi_internal, movdf_internal): Remove alternative using l32r insns.
3144         (movsi_internal, movsf_internal): Add alternative using const16 insns.
3145         (movsf): Add const16 support.
3146         (entry, prologue, epilogue): New.
3147         (set_frame_ptr): Add missing mode for unspec_volatile operation.
3148         Likewise for subsequent split pattern.
3149         * doc/invoke.texi (Option Summary, Xtensa Options): Document new
3150         "-mconst16" and "-mno-const16" options.
3151
3152 2003-05-14  Richard Henderson  <rth@redhat.com>
3153
3154         * config/ia64/ia64.c (ia64_expand_load_address): Force destination
3155         to be DImode register.  Merge load_symptr.
3156         * config/ia64/ia64.md (load_symptr): Remove.
3157
3158 2003-05-14  Richard Henderson  <rth@redhat.com>
3159
3160         * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
3161         DEFERRED_CONSTANT_P.
3162         * integrate.c (copy_rtx_and_substitute): Update use.
3163         * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
3164         to the copy generated.
3165         (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
3166         of the constant to see if we should emit.
3167         (mark_constant): Similarly.
3168         (output_constant_def_contents): Set TREE_ASM_WRITTEN.
3169
3170 2003-05-14  David Edelsohn  <edelsohn@gnu.org>
3171
3172         * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
3173         move record condition.
3174         (movdi_internal2): Same.
3175
3176 2003-05-14  Nathan Sidwell  <nathan@codesourcery.com>
3177
3178         * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
3179         (GCOV_TAG_*) Force type to gcov_unsigned_t.
3180         (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
3181         (struct gcov_var): Remove modified. Add start, length, offset,
3182         overread. Have buffer array for libgcov.
3183         (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
3184         (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
3185         * gcov-io.c (gcov_open): Set mode, do not read anything.
3186         (gcov_close): Write final block.
3187          (gcov_write_block, gcov_allocate): New.
3188         (gcov_write_bytes): Make static. Write or allocate buffer.
3189         (gcov_write_unsigned, gcov_write_counter): Buffer can never be
3190         null.
3191         (gcov_write_string): Adjust.
3192         (gcov_write_tag)
3193         (gcov_write_length): Adjust. Flush the block.
3194         (gcov_write_tag_length): Buffer can never be null.
3195         (gcov_read_bytes): Make static. Read in block.
3196         (gcov_sync): Moved here. Adjust.
3197         (gcov_seek): Moved here. Adjust.
3198         * coverage.c (read_counts_file): Adjust.
3199         * gcov-dump.c (print_prefix): Add position parameter.
3200         (flag_dump_positions): New flag.
3201         (options, main, print_usage): Add it.
3202         (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
3203         tag_summary): Adjust.
3204         * gcov.c (read_graph_file, read_count_file): Adjust.
3205         * libgcov.c (gcov_exit): Adjust.
3206
3207         * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
3208         (libgcov.a): Depend on libgcc.a.
3209         (gcov.o, gcov-dump.o): Add gcov-io.c.
3210         * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
3211
3212         * loop.c (check_dbra_loop): Factor common test.
3213
3214 2003-05-14  Ben Elliston  <bje@wasabisystems.com>
3215
3216         * doc/md.texi (Automaton pipeline description): Grammar fixes.
3217
3218 2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
3219
3220         * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
3221         (TARGET_INITIALIZER): Include it.
3222         * target.h (struct gcc_target): Add machine_dependent_reorg field.
3223         * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
3224         * system.h: Poison MACHINE_DEPENDENT_REORG.
3225
3226         * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
3227         * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
3228         * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3229         (alpha_handle_trap_shadows): Remove "first insn" parameter.
3230         (alpha_align_insns): Likewise.
3231         (alpha_reorg): Likewise.  Make static.  Update calls to above
3232         functions.
3233
3234         * config/arm/arm-protos.h (arm_reorg): Remove declaration.
3235         * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
3236         * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3237         (arm_reorg): Remove parameter.  Make static.
3238
3239         * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
3240         * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
3241         * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3242         (avr_reorg): Renamed from machine_dependent_reorg.  Make static.
3243         Remove parameter.
3244
3245         * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
3246         * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
3247         * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3248         (c4x_reorg): Renamed from c4x_process_after_reload.  Make static.
3249         Remove parameter.
3250
3251         * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
3252         * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
3253         * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
3254
3255         * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
3256         * config/frv/frv.c: Remove orphaned comment.
3257
3258         * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
3259         * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
3260         * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3261         (ix86_reorg): Renamed from x86_machine_dependent_reorg.  Make static.
3262         Remove parameter.
3263
3264         * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
3265         * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
3266         * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3267         (emit_insn_group_barriers): Remove "first insn" parameter.
3268         (emit_all_insn_group_barriers): Likewise.
3269         (ia64_reorg): Likewise.  Make static.  Update calls to above functions.
3270         (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
3271
3272         * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
3273         * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
3274         * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3275         (ip2k_reorg): Renamed from machine_dependent_reorg.  Make static.
3276         Remove parameter.
3277
3278         * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
3279         * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
3280         * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3281         (m68hc11_reorg): Make static.  Remove parameter.
3282
3283         * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
3284         * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
3285         * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3286         (conditionalize_optimization): Remove parameter.
3287         (mcore_reorg): Renamed from mcore_dependent_reorg.  Remove parameter.
3288         Make static.  Update call to conditionalize_optimization.
3289
3290         * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
3291         * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
3292         * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3293         (mips_reorg): Renamed from machine_dependent_reorg.  Remove parameter.
3294         Make static.
3295
3296         * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
3297         * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
3298         * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3299         (mmix_reorg): Renamed from mmix_machine_dependent_reorg.  Make static.
3300         Remove parameter.
3301
3302         * config/pa/pa-protos.h (pa_reorg): Remove declaration.
3303         * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
3304         * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3305         (pa_combine_instructions): Remove "first insn" parameter.
3306         (remove_useless_addtr_insns): Likewise.
3307         (pa_reorg): Likewise.  Make static.  Update calls to above functions.
3308
3309         * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
3310         commented-out definition.
3311
3312         * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
3313         * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
3314         * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3315         (s390_reorg): Renamed from s390_machine_dependent_reorg.  Make static.
3316         Remove parameter.
3317
3318         * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
3319         * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
3320         * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3321         (sh_reorg): Renamed from machine_dependent_reorg.  Make static.
3322         Remove parameter.
3323         (sh_output_mi_thunk): Call sh_reorg directly.
3324         * config/sh/sh.md: Update comment.
3325
3326         * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
3327         commented-out definition.
3328
3329         * config/v850/v850-protos.h (v850_reorg): Remove declaration.
3330         * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
3331         * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3332         (v850_reorg): Make static.  Remove parameter.
3333
3334         * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
3335         * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
3336         * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3337         (xtensa_reorg): Make static.  Remove parameter.
3338
3339         * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
3340         (TARGET_MACHINE_DEPENDENT_REORG): Document.
3341
3342 2003-05-13  Richard Henderson  <rth@redhat.com>
3343
3344         * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
3345         the old decl had instantiated DECL_RTL.
3346
3347 2003-05-13  Mike Stump  <mrs@apple.com>
3348
3349         * doc/invoke.texi (Option Summary): Kill off documentation for -$.
3350
3351 2003-05-13  Janis Johnson  <janis187@us.ibm.com>
3352
3353         * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
3354         HOST_WIDE_INT argument.
3355
3356 2003-05-13  Jason Merrill  <jason@redhat.com>
3357
3358         * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
3359
3360         * tree.c (iterative_hash_expr): New fn.
3361
3362         * c-semantics.c (emit_local_var): Don't mess with temp slots if
3363         there's no initializer.
3364
3365 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
3366
3367         * final.c (final_scan_insn): Apply the effects of frame-related
3368         delay slot insns before emitting a delayed branch.
3369
3370 2003-05-13  Nick Clifton  <nickc@redhat.com>
3371
3372         * config/mcore/mcore.md (jump): Use emit_jump_insn.
3373
3374 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
3375
3376         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
3377         parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
3378
3379 2003-05-12  DJ Delorie  <dj@redhat.com>
3380
3381         * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
3382         (emit_push_insn): Don't use push when the source alignment is less
3383         than the stack's push rounding.
3384
3385 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
3386
3387         * diagnostic.c (output_format): Add support for %m.
3388         (output_printf, output_verbatim, diagnostic_set_info,
3389         verbatim): Set err_no field of the text_info structure being
3390         initialized.
3391         (fatal_io_error): Delete function.
3392         * diagnostic.h (text_info): Add err_no field.
3393         * toplev.h (fatal_io_error): Delete prototype.
3394
3395         * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
3396         * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
3397         * objc/objc-act.c: Replace all calls to fatal_io_error with
3398         calls to fatal_error; add ": %m" to the end of all the affected
3399         error messages.
3400
3401 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
3402
3403         * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
3404         * rtl.h: Prototype it.
3405         * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
3406         when appropriate.
3407
3408 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
3409
3410         * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
3411         ("*iorsi3_oi"): Likewise.
3412
3413 2003-05-13  Richard Earnshaw  <rearnsha@arm.com>
3414
3415         * arm.md (compare_scc): Use shorter sequence for EQ case.
3416         (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
3417         (and_scc_scc): Ensure split only applies when there is a dominance
3418         of the comparisons.
3419         (and_scc_scc_nodom): New insn-and-split pattern.
3420
3421 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
3422
3423         * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
3424         to _Unwind_SetGRPtr().
3425
3426 2003-05-13  Michael Eager <eager@mvista.com>
3427
3428         * Makefile.in: Initialize program_transform_cross_name from
3429         @program_transform_name@ instead of target_alias.
3430
3431 2003-05-12  Janis Johnson  <janis187@us.ibm.com>
3432             Alan Modra  <amodra@bigpond.net.au>
3433             Jakub Jelinek  <jakub@redhat.com>
3434
3435         * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
3436         * configure: Rebuild.
3437         * config/rs6000/rs6000-protos.h: Update.
3438         * config/rs6000/rs6000.c (rs6000_tls_size): New.
3439         (rs6000_tls_size_string): New.
3440         (rs6000_parse_tls_size_option): New.
3441         (rs6000_legitimize_tls_address): New.
3442         (rs6000_tls_get_addr): New.
3443         (rs6000_got_sym): New.
3444         (rs6000_tls_symbol_ref): New.
3445         (rs6000_tls_symbol_ref_1): New.
3446         (rs6000_get_some_local_dynamic_name): New.
3447         (rs6000_get_some_local_dynamic_name_1): New.
3448         (TARGET_HAVE_TLS): New.
3449         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3450         (rs6000_override_options): Handle -mtls-size option.
3451         (constant_pool_expr_1): Handle TLS symbols.
3452         (rs6000_legitimize_address): Handle TLS symbols.
3453         (rs6000_tls_referenced_p): New.
3454         (rs6000_legitimate_address): Handle TLS symbols.
3455         (rs6000_emit_move): Handle TLS symbols.
3456         (print_operand): Handle TLS symbols.
3457         (uses_TOC): Handle TLS symbols.
3458         (rs6000_emit_prologue): Use symbol for unspec constant.
3459         * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
3460         (some_ld_name): New.
3461         (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
3462         (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
3463         (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
3464         * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
3465         Support TLS.
3466         (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
3467         tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
3468         tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
3469         tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
3470         tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
3471         tls_tls_64): New.
3472         * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
3473
3474 2003-05-12  Neil Booth  <neil@cat.daikokuya.co.uk>
3475
3476         * Makefile.in (stage2_build, stage3_build, stage4_build):
3477         Set BUILD_CC to the same as CC.
3478
3479 2003-05-12  Neil Booth  <neil@daikokuya.co.uk>
3480
3481         * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
3482
3483 2003-05-12  Andreas Schwab  <schwab@suse.de>
3484
3485         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
3486         as unused.
3487         (bundling): Initialize 'pos'.
3488         (ia64_expand_builtin): Initialize 'rmode'.
3489
3490 2003-05-12  David Edelsohn  <edelsohn@gnu.org>
3491
3492         * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
3493         (ASM_OUTPUT_ALIGNED_COMMON): Same.
3494         (ASM_OUTPUT_LOCAL): Same.
3495
3496 Mon May 12 21:53:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
3497
3498         * varasm.c (output_constant):  Fix underflow.
3499
3500 2003-05-12  Mark Mitchell  <mark@codesourcery.com>
3501
3502         PR other/10745
3503         * configure.in: Correct detection of GNU ld version number.
3504         * configure: Regenerated.
3505
3506 2003-05-12  Zack Weinberg  <zack@codesourcery.com>
3507
3508         * diagnostic.c (diagnostic_for_decl): Take a
3509         diagnostic_context argument.  Restructure to be consistent
3510         with diagnostic_report_diagnostic.
3511         (diagnostic_count_diagnostic): Now static.  Take a
3512         diagnostic_info argument, not just a diagnostic_t.  Some code
3513         moved here from internal_error.  Move a case label for
3514         clarity.
3515         (diagnostic_action_after_output): New function.  Code moved
3516         here from internal_error and fatal_error.
3517         (bug_report_request): New #define so that this text appears in
3518         only one place.
3519         (diagnostic_report_diagnostic): Update to match changes to
3520         diagnostic_count_diagnostic.  Call diagnostic_action_after_output.
3521         (diagnostic_set_info): Call gettext here.
3522
3523         (pedwarn): Update comment.  Don't call gettext here.
3524         (sorry): Use report_diagnostic.  Don't call gettext here.
3525         (fatal_error): Remove final fnotice and exit, but call
3526         real_abort to prevent warnings about noreturn function returning.
3527         (internal_error): Likewise.  Don't do ICE suppression here nor
3528         call context->internal_error.
3529         (warning_with_decl): Suppress for decls in system headers.
3530         Adjust call to diagnostic_for_decl.
3531         (pedwarn_with_decl): Likewise.
3532         (error_with_decl): Adjust call to diagnostic_for_decl.
3533         (error_recursion): Use bug_report_request.
3534
3535         * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
3536         * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
3537         diagnostic_count_diagnostic.
3538
3539 2003-05-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3540
3541         * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
3542
3543 Mon May 12 15:57:54 CEST 2003  Jan Hubicka  <jh@suse.cz>
3544
3545         * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
3546         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
3547         * mips/mips.h (ASM_OUTPUT_SKIP):  Fix typo in the previous patch.
3548
3549 2003-05-12  Roger Sayle  <roger@eyesopen.com>
3550
3551         * doc/rtl.texi: Document zero_extract as a valid destination
3552         of a set insn.
3553
3554 2003-05-12  Richard Earnshaw  <rearnsha@arm.com>
3555
3556         * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
3557         '.'.  Change all local symbol definitions and references to use LSYM.
3558
3559 Mon May 12 11:32:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
3560
3561         * expr.h (assemble_static_space): Update prototype.
3562         * output.h (assemble_zeros, output_constant): Likewise.
3563         * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
3564         * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
3565         it 64bit clean.
3566         * elf.h (ASM_OTUPUT_SKIP): Likewise.
3567         * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
3568         * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3569         Expect HOST_WIDE_INT operand.
3570         * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3571         Expect HOST_WIDE_INT operand.
3572         * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3573         Expect HOST_WIDE_INT operand.
3574         * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
3575         HOST_WIDE_INT operand.
3576         * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
3577         ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
3578         * aout.h (ASM_OTUPUT_SKIP): Likewise.
3579         * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3580         * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
3581         * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
3582         * frv.h (ASM_OTUPUT_SKIP): Likewise.
3583         * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
3584         * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3585         Make it 64bit
3586         clean.
3587         * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
3588         * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3589         Make it 64bit clean.
3590         * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
3591         * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
3592         HOST_WIDE_INT operand
3593         * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3594         Expect HOST_WIDE_INT operand
3595         * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
3596         * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
3597         ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
3598         * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3599         Likewise.
3600         * m32r.h (ASM_OUTPUT_COMMON): Likewise.
3601         * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3602         Likewise.
3603         * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3604         * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3605         * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3606         ASM_OUTPUT_SKIP): Likewise.
3607         * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3608         Likewise.
3609         * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3610         ASM_OUTPUT_SKIP): Likewise.
3611         * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3612         ASM_OUTPUT_SKIP): Likewise.
3613         * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3614         * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3615         ASM_OUTPUT_SKIP): Likewise.
3616         * sgs.h (ASM_OUTPUT_SKIP): Likewise.
3617         * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3618         ASM_OUTPUT_SKIP): Likewise.
3619         * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
3620         Likewise.
3621         * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
3622         * iris.h (ASM_OUTPUT_LOCAL): Likewise.
3623         * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3624         * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3625         ASM_OUTPUT_SKIP): Make it 64bit clean.
3626         * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
3627         Make it 64bit clean.
3628         * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
3629         ASM_OUTPUT_SKIP): Make it 64bit clean.
3630         * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
3631         64bit clean.
3632         * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3633         HOST_WIDE_INT argument
3634         * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
3635         * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3636         HOST_WIDE_INT argument
3637         * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3638         * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
3639         * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3640         * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3641         HOST_WIDE_INT argument
3642         * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3643         * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3644         * varasm.c (asm_output_bss, asm_output_aligned_bss,
3645         asm_emit_uninitialized, assemble_zeros, assemble_static_space):
3646         HOST_WIDE_INT argument
3647
3648 2003-05-10  Steven Bosscher  <steven@gcc.gnu.org>
3649
3650         * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
3651         favor of walk_tree_without_duplicates.  Add comments.
3652
3653 2003-05-12  Josef Zlomek  <zlomekj@suse.cz>
3654
3655         * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
3656         (struct alloc_pool_def): New element 'id'.
3657         * alloc-pool.c (fancy_abort): Extern function prototype.
3658         (abort): Macro which uses fancy_abort.
3659         (struct allocation_object_def): New structure.
3660         (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
3661         (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
3662         (last_id): New variable.
3663         (create_alloc_pool): Add the offset of u.data to size of element,
3664         increase and use last_id.
3665         (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
3666         (pool_alloc): Likewise. Set ID for elements.
3667         (pool_free): Check whether the PTR was allocated from POOL.
3668
3669 2003-05-11  Richard Henderson  <rth@redhat.com>
3670
3671         PR c/10675
3672         * c-decl.c: Include hashtab.h.
3673         (detect_field_duplicates): New.
3674         (finish_struct): Use it.
3675         * Makefile.in (c-decl.o): Update.
3676         * c-parse.in (structsp_attr): Nreverse component_decl_list results.
3677         (component_decl_list, component_decl_list2,
3678         components, components_notype): Build list in reverse order.
3679         (enumlist): Clarify docs.  Use TREE_CHAIN not chainon.
3680
3681         * tree.c (chainon): Special case op2 null as well.
3682         Reorg for clarity.
3683
3684 2003-05-11  Roger Sayle  <roger@eyesopen.com>
3685
3686         * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
3687         to implement log, logf and logl built-ins as inline x87 intrinsics.
3688         (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
3689         (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
3690         patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
3691
3692         * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
3693         UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
3694
3695 2003-05-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3696
3697         * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
3698
3699         * sparc.c (print_operand): Fix uninitialized warning.
3700
3701 2003-05-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3702
3703         * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
3704         real insns.
3705         * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
3706         condition.
3707
3708 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
3709
3710         * doc/cpp.texi: Fix typos.
3711
3712 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
3713
3714         * config/s390/s390.c (s390_function_arg_float): New function.
3715         (s390_function_arg_pass_by_reference): Use it.
3716         (s390_function_arg_advance): Likewise.
3717         (s390_function_arg): Likewise.
3718         (s390_va_arg): Likewise
3719
3720 2003-05-11  Nathan Sidwell  <nathan@codesourcery.com>
3721
3722         * coverage.h (coverage_counter_alloc): New function.
3723         * function.h (struct function): Remove arc_profile flag.
3724         * coverage.c (fn_ident): Remove.
3725         (fn_b_ctrs, no_coverage): New.
3726         (get_coverage_counts): Use current_function_funcdef_no.
3727         (coverage_counter_alloc): New.
3728         (coverage_counter_ref): Adjust.
3729         (coverage_begin_output): Check no_coverage. Use
3730         current_function_funcdef_no.
3731         (coverage_end_function): Likewise.
3732         (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
3733         than clearing flag_inline_functions. Do not clear arc_profile
3734         flag.
3735         * function.c (prepare_function_start): Do not set arc_profile
3736         flag.
3737         * profile.c (instrument_edges): Return number of instrumented
3738         edges. Use a for loop.
3739         (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
3740         local to here and simplify. Use profile_arc_flag not arc_profile
3741         flag.
3742         (find_spanning_tree): Reformat.
3743         * toplev.c (rest_of_compilation): Use profile_arc_flags and
3744         flag_test_coverage rather than arc_profile flag.
3745
3746 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
3747
3748         * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
3749
3750 2003-05-11  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3751
3752         * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
3753
3754 2003-05-11  Bruno Haible  <bruno@clisp.org>
3755
3756         * cppfiles.c (find_or_create_entry): Preserve errno.
3757
3758 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
3759
3760         * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
3761         cpplib as it's a Standard Predefined Macro.
3762         * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
3763         * cppinit.c (_cpp_init_builtins): Take HOSTED.  Define
3764         __STDC_HOSTED__ appropriately.
3765         * cpplib.h (_cpp_init_builtins): Update.
3766         * fix-header.c (read_scan_file): Update.
3767         * doc/cpp.texi, doc/cppopts.texi: Update documentation.
3768
3769 2003-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3770
3771         PR C++/689
3772         PR C++/9257
3773         * c-opts.c (c_common_decode_option): Don't set
3774         warn_ctor_dtor_privacy wen -Wall.
3775         * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
3776
3777 2003-05-10  Alexandre Oliva  <aoliva@redhat.com>
3778
3779         * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
3780         patch.
3781
3782 2003-05-10  Zack Weinberg  <zack@codesourcery.com>
3783
3784         * diagnostic.c: Reorder functions for clarity, putting all the
3785         functions in the "error" family next to each other, and
3786         likewise all the functions in the "error_with_decl" family.
3787         Some other routines were moved too.  Add comments.
3788         (vbuild_message_string): Fold into sole caller.
3789
3790
3791 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
3792
3793         * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
3794         (EH_RETURN_HANDLER_RTX): Likewise.
3795         (expand_builtin_eh_return): Do not copy stack adjustment
3796         if EH_RETURN_STACKADJ_RTX is not defined.
3797         (expand_eh_return): Likewise.  Also, do not pass stack
3798         adjustment as argument to the eh_return pattern.
3799         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
3800         because EH_RETURN_STACKADJ_RTX is not defined.
3801         * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
3802         is not defined, treat stack pointer like a regular register.
3803         (uw_init_context_1): Set up fake initial stack pointer register.
3804         (uw_install_context_1): Do not compute stack adjustment if
3805         EH_RETURN_STACKADJ_RTX is not defined.
3806
3807         * config/i386/i386.md ("eh_return"): Remove first argument.
3808         * config/mips/mips.md ("eh_return"): Likewise.
3809         * config/rs6000/rs6000.md ("eh_return"): Likewise.
3810         * config/sh/sh.md ("eh_return"): Likewise.
3811
3812         * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
3813
3814 2003-05-10  Alexander Aganichev  <aaganichev@yandex.ru>
3815
3816         * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
3817
3818 2003-05-10  Nathan Sidwell  <nathan@codesourcery.com>
3819
3820         * defaults.h (GCOV_TYPE_SIZE): Remove.
3821         * gcov-io.h (gcov_type): Set to specific mode int on target.
3822         (gcov_unsigned_t, gcov_position_t): New.
3823         (GCOV_TYPE_NODE): New.
3824         (GCOV_TAG_SUMMARY_LENGTH): Adjust.
3825         (GCOV_COUNTERS_SUMMABLE): New.
3826         (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
3827         gcov_ctr_info, gcov_info): Adjust types.
3828         (gcov_var): Adjust types.
3829         (gcov_write_unsigned, gcov_write_tag,
3830         gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3831         gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3832         (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
3833         * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
3834         gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3835         gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3836         * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
3837         __gcov_init, __gcov_merge_add): Adjust gcov types.
3838         * coverage.c (ctr_merge_functions): Constify.
3839         (ctr_names): New.
3840         (read_counts_file): Adjust gcov types. Only summarize & merge
3841         summable counters.
3842         (coverage_counter_ref): Use GCOV_TYPE_NODE.
3843         (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
3844         build_ctr_info_value, build_gcov_info): Adjust types.
3845         * profile.c (branch_prob): Adjust gcov types.
3846         * gcov_dump (dump_file): Adjust gcov types.
3847
3848 2003-05-10  Richard Earnshaw  <rearnsha@arm.com>
3849
3850         * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
3851         constants.
3852         (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
3853         * arm.c (arm_select_dominance_cc_mode): Renamed from
3854         select_dominance_cc_mode, no-longer static.  Use DOM_CC... constants.
3855         Callers updated.
3856         * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
3857
3858 2003-05-09  Roger Sayle  <roger@eyesopen.com>
3859
3860         * config/alpha/alpha.c (alpha_start_function): Declare frame_size
3861         as unsigned to avoid signed/unsigned comparison warnings.
3862
3863 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
3864
3865         * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
3866         instruction if the Xtensa density option is enabled.
3867
3868 2003-05-09  Matt Kraai <kraai@alumni.cmu.edu>
3869
3870        * mklibgcc.in: Remove extra quotes.
3871
3872 2003-05-09  Mark Mitchell  <mark@codesourcery.com>
3873
3874         * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
3875         of int_ftype_void.
3876
3877 2003-05-09  Alexandre Oliva  <aoliva@redhat.com>
3878
3879         * reload1.c (reload_cse_move2add): Don't turn an implicit
3880         truncation into a self-set in the narrow mode.
3881
3882 2003-05-09  Richard Earnshaw  <rearnsha@arm.com>
3883
3884         * arm.md (clzsi2): The CLZ instruction is predicable.
3885
3886 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
3887
3888         * config/xtensa/xtensa.c: Formatting.
3889
3890 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
3891
3892         * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
3893         instead of TREE_OPERAND to access the operand of a
3894         CONSTRUCTOR node.
3895
3896 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
3897
3898         * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
3899         one operand.
3900
3901 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
3902
3903         * toplev.h (warning_with_file_and_line): Don't declare.
3904         (error_with_file_and_line): Likewise.
3905         * diagnostic.c (error_with_file_and_line): Remove.
3906         (warning_with_file_and_line): Likewise.
3907
3908 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
3909
3910         * c-parse.in (if_stmt_locus): New object.
3911         (if_prefix rule): Use it.  Don't use warning_with_file_and_line.
3912         (select_or_iter_stmt rule): Likewise.
3913         (if_stmt_file): Remove.
3914         (if_stmt_line): Likewise.
3915         * jump.c: include "diagnostic.h"
3916         (never_reached_warning): Don't use warning_with_file_and_line.
3917         * Makefile.in (jump.o): Add dependce on diagnostic.h
3918
3919 2003-05-09  Alan Modra  <amodra@bigpond.net.au>
3920
3921         * expr.c (move_block_from_reg): Remove "size" parm.  Localize vars.
3922         Move code handling pieces not larger than a word to..
3923         * function.c (assign_parms): ..here, but use change_address instead
3924         of adjust_address and operand_subword, and expand_binop instead of
3925         expand_shift.  Adjust calls to move_block_from_reg.
3926         * expr.h (move_block_from_reg): Update declaration.
3927         (copy_blkmode_from_reg): Formatting.
3928         * Makefile.in (function.o): Add $(OPTABS_H) to deps.
3929         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
3930         move_block_from_reg calls.
3931         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
3932         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3933         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
3934         * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
3935         * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
3936         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3937         * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
3938         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3939         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
3940
3941 2003-05-08  DJ Delorie  <dj@redhat.com>
3942
3943         * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
3944         to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
3945         variable-sized types).
3946         (xstormy16_function_arg): New.  Pass them that way too.
3947         * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
3948         * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
3949
3950 2003-05-08  Aldy Hernandez  <aldyh@redhat.com>
3951
3952         * mklibgcc.in: Use mkinstalldirs when installing multilib
3953         directories.
3954
3955 2003-05-08  J"orn Rennecke <joern.rennecke@superh.com>
3956
3957         * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
3958         instead of CODE_FOR_jump
3959
3960 2003-05-08  Gabriel Dos Reis <gdr@integrable-solutions.net>
3961
3962         * objc/objc-act.c (error_with_ivar): Don't use
3963         error_with_file_and_line.
3964         (warn_with_method): Don't use warning_with_file_and_line.
3965
3966 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3967
3968         * stmt.c (emit_locus): New macro.
3969         (emit_filename): Remove.
3970         (emit_lineno): Likewise.
3971         (struct stmt_status): Replace members x_emit_filename and
3972         x_emit_lineno with x_emit_locus.
3973         (set_file_and_line_for_stmt): Adjust.
3974         (expand_expr_stmt_value): Don't use warning_with_file_and_line.
3975         (warn_if_unused_value): Likewise.
3976         (check_seenlabel): Likewise.
3977
3978 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3979
3980         * c-decl.c (define_label): Tidy.  Don't use any of
3981         error_with_file_and_line or warning_with_file_and_file.
3982         (pending_xref_error): Likewise.
3983         (store_parm_decls): Likewise.
3984         (current_function_prototype_locus): New object.  Package from
3985         current_function_prototype_file and current_function_prototype_line.
3986         (start_function): Use it.
3987         (current_function_prototype_file): Remove.
3988         (current_function_prototype_line): Remove;
3989
3990 2003-05-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3991
3992         * builtins.c (readonly_data_expr): New function.
3993         (expand_builtin_memmove): Optimize any rodata source, not just
3994         strings.
3995
3996 2003-05-07  David Mosberger <davidm@hpl.hp.com>
3997
3998         * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
3999
4000 2003-05-07  Richard Henderson  <rth@redhat.com>
4001
4002         * config/i386/i386.c (ix86_split_long_move): Fix base register
4003         mode for XFmode splits for TARGET_64BIT.
4004
4005 2003-05-07  Richard Henderson  <rth@redhat.com>
4006
4007         * sched-ebb.c (schedule_ebb): Supply the correct starting
4008         block number to save_line_notes.
4009
4010 2003-05-07  Richard Henderson  <rth@redhat.com>
4011
4012         * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
4013         (dump_file): Likewise.
4014
4015 2003-05-07  David Mosberger <davidm@hpl.hp.com>
4016
4017         * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
4018         forget to preserve gp.
4019         * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
4020
4021         * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
4022         .prologue directive.
4023         Use .skip instead of data8 for .bss section to make Intel
4024