OSDN Git Service

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