OSDN Git Service

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