OSDN Git Service

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