]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Fix a typo in ChangeLog.
[gcc.git] / gcc / ChangeLog
CommitLineData
ef3b9941
KH
12003-11-27 Kazu Hirata <kazu@cs.umass.edu>
2
3 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
4 (FUNCTION_VALUE_REGNO_P): Likewise.
5 * config/h8300/h8300.md: Define R0_REG.
6
80e58519
KH
72003-11-27 Kazu Hirata <kazu@cs.umass.edu>
8
9 * config/h8300/h8300.c: Fix formatting.
10 * config/h8300/h8300.md: Likewise.
11
7e920754
KH
122003-11-27 Kazu Hirata <kazu@cs.umass.edu>
13
c9ae693d 14 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
7e920754 15
8dae21e7
KH
162003-11-27 Kazu Hirata <kazu@cs.umass.edu>
17
18 * config/h8300/h8300.md: Give names to anonymous insns.
19
da7959a8
KH
202003-11-27 Kazu Hirata <kazu@cs.umass.edu>
21
22 * config/h8300/h8300.md (extendqisi2): Remove constraints.
23
f4314bb6
GN
242003-11-27 Gunther Nikl <gni@gecko.de>
25
26 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
27
b483cfb7
EB
282003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
29
30 PR optimization/13041
31 * final.c (frame_pointer_needed): Fix comment.
32 * reload1.c (reload): Decrease alignment of the frame
33 pointer if it was used for register allocation.
34
ecb63641
EB
352003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
36
37 PR target/12900
38 * reg-stack (move_for_stack_reg): New prototype. Return
39 whether a control flow insn was deleted.
40 (subst_stack_regs_pat): Likewise, using the information provided
41 by move_for_stack_reg.
42 (subst_stack_regs): Likewise, using the information provided
43 by subst_stack_regs_pat.
44 (convert_regs_1): Record whether a control flow insn was deleted,
45 using the information provided by subst_stack_regs. Purge dead
46 edges only if a control flow insn was deleted.
47
316d0b19
EB
482003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
49
50 PR middle-end/8028
51 PR middle-end/9890
52 PR middle-end/11151
53 PR middle-end/12210
54 PR middle-end/12503
55 PR middle-end/12692
56 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
57 as the base address to copy the memory arguments to.
58
034f2316
DS
592003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
60
61 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
62 function aliases as functions.
63
f73ccc50
NN
642003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
65
e0520fa7
NN
66 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
67 of ADAC.
68 * configure: Regenerate.
69
6ad5e585
NN
70 * Makefile.in: Remove references to ADAC.
71
f73ccc50
NN
72 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
73 * configure: Regenerate.
74
6a151f87
EB
752003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
76 Olivier Hainque <hainque@act-europe.fr>
77
78 PR target/6466
79 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
80 (sparc_flat_compute_frame_size): Likewise.
81 (sparc_flat_save_restore): Move prototype...
82 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
83 (save_regs): New prototype.
84 (build_big_number): Likewise.
85 (apparent_fsize): Change type to HOST_WIDE_INT.
86 (actual_fsize): Likewise.
87 (frame_base_offset): Likewise.
88 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
89 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
90 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
91 to load a 64-bit constant.
92 (sparc_nonflat_function_prologue): Change string descriptor to
93 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
94 (output_restore_regs): Change offset type to HOST_WIDE_INT.
95 (sparc_nonflat_function_epilogue): Change string descriptor to
96 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
97 (output_sibcall): Change size type to HOST_WIDE_INT. Use
98 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
99 (sparc_frame_info): Change types for several components.
100 (sparc_flat_compute_frame_size): Update types according to previous
101 change.
102 (sparc_flat_function_prologue): Change string descriptor to
103 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
104 build_big_number.
105 (sparc_flat_function_epilogue): Change offset type to int.
106 Rename 'size1' into 'reg_offset1'. Change string descriptor to
107 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
108 limit to 4096 instead of 4095.
109
110 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
111 HOST_WIDE_INT.
112
dcb5fe8b 1132003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1be4cd1f
WH
114
115 * function.c: Make outer_function-chain external.
116 * function.h: Likewise.
117
21b807f1
RS
1182003-11-24 Richard Sandiford <rsandifo@redhat.com>
119
120 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
121 using GNU ld.
122 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
123 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
124 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
125 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
126 (SUBTARGET_EXTRA_SPECS): Define.
127 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
128 to __gcc_init and -fini function to __gcc_fini.
129 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
130 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
131 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
132 * config/mips/t-iris6gld,
133 * config/mips/irix6-crti.asm,
134 * config/mips/irix6-crtn.asm: New files.
135
e13e48e7
EC
1362003-11-24 Eric Christopher <echristo@redhat.com>
137
138 PR C/13014
139 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
140 (start_function): Use.
141 (c_push_function_context): Ditto.
142 (c-pop_function_context): Ditto.
143 (language_function): Move...
144 * c-tree.h: ... here. Add x_in_iteration_stmt, and
145 x_in_case_stmt.
146 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
147 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
148 check for valid break or continue statment here...
149 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
150 here. Change original errors to abort.
151
8273c02d
JH
1522003-11-24 Jan Hubicka <jh@suse.cz>
153
154 * fold-const.c (fold): Do not return early when optimizing COMPONENT_REF
155 and constant.
156
0980ad79
KH
1572003-11-24 Kazu Hirata <kazu@cs.umass.edu>
158
159 * config/h8300/h8300.md (tablejump_h8300): Change to
160 *tablejump_h8300.
161 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
162 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
163 (indirect_jump_h8300): Change to *indirect_jump_h8300.
164 (indirect_jump_h8300h): Change to
165 *indirect_jump_h8300hs_advanced.
166 (indirect_jump_normal_mode): Change to
167 *indirect_jump_h8300hs_normal.
168
7ed7f009
KH
1692003-11-24 Kazu Hirata <kazu@cs.umass.edu>
170
171 * config/h8300/h8300.md: Remove constraints from expanders.
172
bc02597b
KH
1732003-11-24 Kazu Hirata <kazu@cs.umass.edu>
174
175 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
176 stm_h8300s_2_advanced.
177 (stm_h8300s_2_normal): New.
178 (stm_h8300s_2): Likewise.
179 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
180 (stm_h8300s_3_normal): New.
181 (stm_h8300s_3): Likewise.
182 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
183 (stm_h8300s_4_normal): New.
184 (stm_h8300s_4): Likewise.
185 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
186 (ldm_h8300s_2_normal): New.
187 (ldm_h8300s_2): Likewise.
188 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
189 (ldm_h8300s_3_normal): New.
190 (ldm_h8300s_3): Likewise.
191 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
192 (ldm_h8300s_4_normal): New.
193 (ldm_h8300s_4): Likewise.
194 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
195 (two peephole2's): New.
196
8653a1ed
ZD
1972003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
198
199 * genattrtab.c (simplify_cond): Update indices correctly.
200 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
201 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
202 (check_attr_test, encode_units_mask, compute_alternative_mask,
203 make_alternative_compare, simplify_and_tree,
204 attr_rtx_cost, simplify_test_exp, gen_attr,
205 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
206 * rtl.def (EQ_ATTR_ALT): New.
207
75669493
ZD
2082003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
209
210 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
211 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
212 New variables.
213 (main): Initialize them.
214 (find_attr): Canonicalize the attribute name string.
215 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
216 string arguments.
217 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
218 (check_attr_test, check_attr_value, make_length_attrs,
219 write_length_unit_log, simplify_by_exploding, gen_attr,
220 write_test_expr, write_attr_value, write_eligible_delay,
221 write_complex_function, make_internal_attr,
222 write_const_num_delay_slots): Changed due to change of type of
223 find_attr.
224 (fill_attr, evaluate_eq_attr, simplify_and_tree,
225 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
226 strcmp_check.
227
f24f0897
KH
2282003-11-23 Kazu Hirata <kazu@cs.umass.edu>
229
32ee8548 230 PR target/13122
f24f0897
KH
231 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
232 normal mode.
233 (pop): Call pop_h8300hs_normal in normal mode.
234 * config/h8300/h8300.md: Likewise.
235 (pushqi1_h8300hs_normal): New.
236 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
237 (pushhi1_h8300hs_normal): New.
238 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
239 (push_h8300hs_normal): New.
240 (pop_h8300hs_normal): Likewise.
241
2422003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
a5d8d874
ZD
243
244 * genattrtab.c (count_sub_rtxs): Removed.
245
8c2a5582
RE
2462003-11-23 Richard Earnshaw <rearnsha@arm.com>
247
248 * recog.c (preprocess_constraints): Only zero those elements of
249 recog_op_alt that are needed for this insn.
250 * arm.c (note_invalid_constants): A function can't contain invalid
251 constants if it has no constraints.
252
cf2348cb
JH
2532003-11-22 Jan Hubicka <jh@suse.cz>
254
255 * i386.c (classify_argument): Pass __float128 in memory.
256 (ix86_return_in_memory): Likewise.
257 (ix86_libcall_value): Likewsie.
258
dd4c3763
KH
2592003-11-22 Kazu Hirata <kazu@cs.umass.edu>
260
261 * config/h8300/h8300.c (dosize): Convert to ISO-C.
262
24908375
R
2632003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
264
265 * flow.c (update_life_info): Amend comment about when a register
266 can become dead.
267
6f2aeb72
KC
2682003-11-21 Kelley Cook <kcook@gcc.gnu.org>
269
270 * doc/.cvsignore: Delete.
271
d44c7e36
DB
2722003-11-21 Daniel Berlin <dberlin@dberlin.org>
273 David Edelsohn <edelsohn@gnu.org>
274
275 * dwarf2out.c (add_location_or_const_value_attribute): Add support
276 for PARALLEL.
277
af8e5a0e
RO
2782003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
279
280 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
281 (TARGET_LIBGCC2_CFLAGS): Define.
282
283 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
284 (__do_global_ctors): Likewise.
285
23a44080
MW
2862003-11-21 Mark Wielaard <mark@klomp.org>
287
288 * doc/invoke.texi (-O2): Doesn't enable -fweb.
289
9313cfdd
KH
2902003-11-21 Kazu Hirata <kazu@cs.umass.edu>
291
292 * doc/invoke.texi: Mention dV and dZ.
293
98edbb7a
KH
2942003-11-21 Kazu Hirata <kazu@cs.umass.edu>
295
296 * doc/invoke.texi: Update dump file names.
297 Remove de, dW, and dX.
298
c862d589
JW
2992003-11-20 James E Wilson <wilson@specifixinc.com>
300
301 PR c/13133
302 * reload1.c (reload): Delete special handling for setjmp.
303
0eadf440
AT
3042003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
305
306 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
307 step too.
308 * config/t-slibgcc-darwin: Adjust install path.
309 * config/rs6000/t-darwin: Revert multilib matches since
310 it is not used on darwin.
311
c132886e
RH
3122003-11-20 Richard Henderson <rth@redhat.com>
313
314 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
315 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
316 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
317 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
318 * flow.c: Don't include ssa.h.
319 (set_phi_alternative_reg): Remove.
320 (calculate_global_regs_live): Don't call it.
321 (mark_used_regs): Don't handle PHI.
322 * gengtype.c (open_base_files): Don't reference ssa.h.
323 * rtl.def (PHI): Remove.
324 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
325 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
326 * opts.c (common_handle_option): Likewise.
327 * toplev.c (f_options): Likewise.
328 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
329 (dump_file): Update to match.
330 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
331 (rest_of_handle_ssa): Remove.
332 (rest_of_compilation): Don't call it.
333 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
334 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
335 * doc/passes.texi (SSA optimizations): Remove.
336
d116bdf8
BW
3372003-11-20 Bob Wilson <bob.wilson@acm.org>
338
339 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
340 * configure: Regenerate.
341
e75f9147
KC
3422003-11-20 Kelley Cook <kcook@gcc.gnu.org>
343
344 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
345
3e7869c6
DM
3462003-11-20 David Mosberger <davidm@hpl.hp.com>
347
18e06e11
JW
348 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
349 (SHLIB_LC): Define.
3e7869c6
DM
350 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
351 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
352
531547e9
FJ
3532003-11-20 Fariborz Jahanian <fjahanian@apple.com>
354 David Edelsohn <edelsohn@gnu.org>
355
356 * calls.c (expand_call): Allocate new temp in pass1.
357 (store_one_arg): If PARALLEL, calculate excess using mode size of
e13e48e7 358 rtvec elt.
531547e9
FJ
359 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
360 mode size of rtvec elt.
361 * function.c (assign_parms): Use parm in register, if available.
362
93352ff5
KH
3632003-11-20 Kazu Hirata <kazu@cs.umass.edu>
364
365 * config/h8300/lib1funcs.asm (MOVP): Remove.
366 (ADDP): Likewise.
367 (CMPP): Likewise.
368
a72d4945
RE
3692003-11-20 Richard Earnshaw <rearnsha@arm.com>
370
371 * arm.c (use_return_insn): New argument, SIBLING. Support returning
372 with a single instruction if the stack has been decremented by 4
373 and we have a frame pointer. Update all callers.
374 (output_return_instruction): Likewise.
375 (arm_output_epilogue): Change argument to SIBLING. Calculate
376 really_return from the new argument. Update all callers.
377 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
378 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
379 pass the sibling call.
380 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
381 prototypes.
382
a03ad584
JM
3832003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
384
385 * Makefile.in (extraclean): Delete.
386 * configure.in (target_list): Remove extraclean.
387 * configure: Regenerate.
388 * doc/makefile.texi, doc/sourcebuild.texi: Update.
389 * objc/Make-lang.in (objc.extraclean): Delete.
390
49a41726
JM
3912003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
392
393 * Makefile.in (lang_checks): Add.
394 (check-c++, check-f77, check-java, check-g++, check-g77,
395 check-objc): Remove hardcoded targets.
396 * doc/sourcebuild.texi: Document testsuite hooks.
397 * objc/Make-lang.in (check-objc, lang_checks): Add.
398
371e8c4f
SS
3992003-11-19 Scott Snyder <snyder@fnal.gov>
400
401 PR target/13131
402 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
403 flag, not a constant.
404
2b49e0aa
KC
4052003-11-19 Kelley Cook <kcook@gcc.gnu.org>
406
407 * config/arc/arc-protos.h: Update to C90 prototypes.
408 * config/arc/arc.c: Likewise.
409 * config/arc/initfini.c: Likewise.
410
3d4f0dab
AK
4112003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
412
413 * stmt.c (expand_goto): Memory clobbers added.
414
b04a1b3b
AK
4152003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
416
417 * reload.c (find_reloads): Added missing type casts.
418
f2d89bc9
JW
4192003-11-19 James E Wilson <wilson@specifixinc.com>
420
421 * combine.c (sets_function_arg_p): Delete unused function.
422
b0e667aa
EC
4232003-11-19 Eric Christopher <echristo@redhat.com>
424
425 * reload1.c (reload): Revert 2 previous checkins.
426
dd2cc6dc
NN
4272003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
428
429 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
430 whether directive begins at the beginning of a line.
431
09c55720
RS
4322003-11-19 Richard Sandiford <rsandifo@redhat.com>
433
434 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
435
4550b19e
GP
4362003-11-19 Gerald Pfeifer <gp@suse.de>
437
438 * doc/install.texi (Specific): Remove information on old versions
439 of glibc versus old versions of GCC.
440
90db942b
RS
4412003-11-19 Richard SAndiford <rsandifo@redhat.com>
442
443 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
444 the register lowpart is a TRULY_NOOP_TRUNCATION.
445
d4c32b6f
RH
4462003-11-19 Richard Henderson <rth@redhat.com>
447
448 * config/i386/i386.c (print_reg): Handle QI and HI modes for
449 non Q regs.
450
f7a75b82
AT
4512003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
452
453 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
454 specification file.
455 * config/t-slibgcc-darwin: New file, libgcc build specification.
456 * config/t-darwin: Add libgcc2 flag -fPIC.
457 * config/rs6000/t-darwin: Multilib matches float.
458 * libgcc-darwin.ver: New file, contains libgcc symbols.
459
e2657a67
NN
4602003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
461
462 * config/ns32k/ns32k.h: Remove obsolete comment.
463
b9c53150
RS
4642003-11-18 Roger Sayle <roger@eyesopen.com>
465
466 PR middle-end/11821
467 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
468 size for calls to libgcc's div & mod subroutines when using -Os.
469
df964a18
JH
4702003-11-18 Jan Hubicka <jh@suse.cz>
471
472 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
473
457ef797
ME
4742003-11-18 Marc Espie <espie@openbsd.org>
475
476 * config/rs6000/sysv4.h: OpenBSD hooks.
477
beb0c2e0
RH
4782003-11-18 Richard Henderson <rth@redhat.com>
479
480 * expr.c (expand_expr): Don't look through constant arrays if
481 they don't bind locally.
482
e44846d6
RK
4832003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
484
485 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
486 when seeing if truncation or extension.
487
628b6e8c
EC
4882003-11-17 Eric Christopher <echristo@redhat.com>
489
490 * reload1.c (reload): Fix previous change.
491
47fcfa7b
SS
4922003-11-17 Scott Snyder <snyder@fnal.gov>
493
494 PR debug/11325
495 * dwarf2out.c (struct die_struct): Add die_definition field.
496 (add_AT_specification): New.
497 (gen_subprogram_die, gen_variable_die,
498 gen_struct_or_union_type_die): Use it.
499 (prune_unused_types_mark): If we're marking a forward declaration,
500 also mark the full definition, if it exists.
501
37cd4bca
NC
5022003-11-16 Nick Clifton <nickc@redhat.com>
503
504 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
505 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
506 Remove prototype.
507 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
508 to xstormy16_build_builtin_va_list and make static.
457ef797 509 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
37cd4bca 510
c06d5c85
KH
5112003-11-16 Kazu Hirata <kazu@cs.umass.edu>
512
513 * config/h8300/h8300-protos.h: Add the prototype for
514 same_cmp_following_p.
515 * config/h8300/h8300.c (same_cmp_following_p): New.
516 * config/h8300/h8300.md (peephole2): Use it.
517
a62a282b
KH
5182003-11-16 Kazu Hirata <kazu@cs.umass.edu>
519
520 * config/h8300/h8300.md: Don't use REGNO when its operand is
521 not guaranteed to be a REG.
522
c988af2b
RS
5232003-11-16 Richard Sandiford <rsandifo@redhat.com>
524
525 * Makefile.in (expr.o): Depend on $(TARGET_H).
526 * target.h (return_in_msb): New target hook.
527 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
528 (TARGET_CALLS): Include it.
529 * calls.c (shift_returned_value): New function.
530 (expand_call): Use it.
531 * expr.c: Include target.h.
532 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
533 deciding what padding is needed. Change the name of the local
534 padding variable from big_endian_correction to padding_correction.
535 * stmt.c (shift_return_value): New function.
536 (expand_return): Use it. Adjust memory->register copy in the same
537 way as copy_blkmode_from_reg. Only change the return register's
538 mode if it was originally BLKmode.
539 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
540 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
541 (mips_fpr_return_fields): New, split out from mips_function_value.
542 (mips_return_in_msb, mips_return_fpr_pair): New functions.
543 (mips_function_value): Rework to use the functions above.
544 * config/mips/irix6-libc-compat.c: Delete.
545 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
546
e0c99e15
KH
5472003-11-16 Kazu Hirata <kazu@cs.umass.edu>
548
549 * doc/install.texi (--enable-checking): Update valgrind's URL.
550
60731ce5
KH
5512003-11-16 Kazu Hirata <kazu@cs.umass.edu>
552
553 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
554 with -2147483647 - 1.
555
24726b96
GP
5562003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
557
558 Fix links in online manuals.
559 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
560 (Precompiled Headers): @pxref to cpp, not cpp.info.
561
7d60db05
JM
5622003-11-16 Jason Merrill <jason@redhat.com>
563
564 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
565 files in each directory and TAGS files that include them for each
566 front end.
567
e40024ff
KH
5682003-11-15 Kazu Hirata <kazu@cs.umass.edu>
569
570 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
571 3 of S2L.
572 (modnorm): Likewise.
573 (exitdiv): Look at bit 3 of S2L only.
574
4cd0866d
KH
5752003-11-15 Kazu Hirata <kazu@cs.umass.edu>
576
577 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
578 (DO_GLOBAL_DTORS_BODY): Likewise.
579
4f3ce03f
JM
5802003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
581
582 * doc/install.texi (Prerequisites): Refine documentation of
583 autoconf, automake and perl requirements. Document required
584 gettext version.
585
628b6e8c 586<2003-11-14 Jason Merrill <jason@redhat.com>
7f3a6a92
JM
587
588 * function.c (assign_parms): Use TREE_TYPE to determine the real
589 type of the argument object.
590
584fb00b
KH
5912003-11-14 Kazu Hirata <kazu@cs.umass.edu>
592
593 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
594 iteration.
595
8fecc9e9
FJ
5962003-11-14 Fariborz Jahanian <fjahanian@apple.com>
597
598 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
599 New routine to save vararg registers on stack. Support for
600 -mpowerpc64 in mixed mode.
601
e6d98cb0
BI
6022003-11-14 Bernardo Innocenti <bernie@develer.com>
603
604 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
605 for MOTOROLA versus MIT syntax. Improves readability and provides
606 better compile-time error checking for both code paths.
607
f2206911
KC
6082003-11-14 Kelley Cook <kcook@gcc.gnu.org>
609
610 * config/frv/frv-protos.h: Update for C90.
611 * config/frv/frv.h: Likewise.
612 * config/frv/frvbegin.c: Likewise.
628b6e8c 613 * config/frv/frv.c: Likewise.
f2206911
KC
614 (frv_adjust_field_align): Delete unused variable.
615
e235d8bf
GK
6162003-11-14 Geoffrey Keating <geoffk@apple.com>
617
39e63627
GK
618 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
619 to each place where TARGET_LONG_DOUBLE_128 is used with
620 DEFAULT_ABI == ABI_AIX.
621
e235d8bf
GK
622 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
623 message comply with GNU standards.
624
f285d67b
RK
6252003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
626
627 PR/6552
628 * function.c (struct epi_info): New field const_equiv.
629 (update_epilogue_consts): New function.
630 (keep_stack_depressed): Clear new field and verify scratch register
631 doesn't have it set.
632 Call new function via note_stores.
633 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
634 Allow PLUS where second operand is register known set to constant.
635 (emit_equiv_load): Write load using proper mode if source different.
636 * config/mips/mips.md (return_internal): Put (return) first.
637
2fea2a10
KH
6382003-11-14 Kazu Hirata <kazu@cs.umass.edu>
639
640 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
641
9fe7f443
KH
6422003-11-14 Kazu Hirata <kazu@cs.umass.edu>
643
644 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
645 registers.
646 (divsi3): Likewise.
647 (reti): Don't restore unused registers.
648
f53100ef
NC
6492003-11-14 Nick Clifton <nickc@redhat.com>
650
651 * config/fr30/fr30.c: Include toplev.h
652
86bdf071
RE
6532003-11-14 Richard Earnshaw <rearnsha@arm.com>
654
655 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
656
6f5f2481
RE
6572003-11-14 Richard Earnshaw <rearnsha@arm.com>
658
628b6e8c 659 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
6f5f2481
RE
660 function definition syntax.
661
f2b7f367
EC
6622003-11-14 Eric Christopher <echristo@redhat.com>
663
664 * reload1.c (reload): Revert previous patch. Make
665 check for assignment into reg_equiv_address stricter.
666
15cc172b
AC
6672003-11-14 Arnaud Charlet <charlet@act-europe.fr>
668
669 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
670
68c0ab4f
RS
6712003-11-14 Richard Sandiford <rsandifo@redhat.com>
672
673 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
674 section names.
675
f027e0a2
JM
6762003-11-14 Jason Merrill <jason@redhat.com>
677
678 PR middle-end/12526
679 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
680 * calls.c (call_expr_flags): New fn.
681 * tree.h: Declare it.
682
0f8db53e
KH
6832003-11-13 Kazu Hirata <kazu@cs.umass.edu>
684
685 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
686 (divmodsi3): Change the name to ___udivsi3.
687 Update all callers.
688
b982024e
KG
6892003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
690
691 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
692 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
693 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
694 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
695 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
696 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
697 Const-ify and/or initialize automatic variables at declaration.
698
ef1f2e12
KH
6992003-11-13 Kazu Hirata <kazu@cs.umass.edu>
700
701 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
702 of er4 with er3. Adjust all callers.
703
a25d596a
AP
7042003-11-13 Andrew Pinski <apinski@apple.com>
705
f2b7f367
EC
706 * config/darwin.c (machopic_output_possible_stub_label):
707 Allow stub symbol be not defined when outputting possible
a25d596a
AP
708 stub label.
709
ab7c6efd
KH
7102003-11-13 Kazu Hirata <kazu@cs.umass.edu>
711
712 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
713 instead of exitdiv.
714 (___umodsi3): Likewise.
715 (exitdiv): Do not restore any register.
716 (reti): Restore registers.
717
415294f0
SB
7182003-11-13 Steven Bosscher <stevenb@suse.de>
719
720 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
721
c9b010ea
KH
7222003-11-13 Kazu Hirata <kazu@cs.umass.edu>
723
724 * config/h8300/lib1funcs.asm: Fix comment typos.
725
1a679679
KH
7262003-11-13 Kazu Hirata <kazu@cs.umass.edu>
727
728 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
729 unused registers. Don't jump to exitdiv.
730 (umodsi3): Likewise.
731
49012f5c
MM
7322003-11-13 Mark Mitchell <mark@codesourcery.com>
733 Kean Johnston <jkj@sco.com>
734
735 PR c/13029
736 * toplev.c (check_global_declarations): Do not warn about unused
737 static consts.
738
148a82c8
PP
7392003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
740 Kazu Hirata <kazu@cs.umass.edu>
741
742 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
743 the approximate quotient method.
744
f9af39d0
RE
7452003-11-13 Richard Earnshaw <rearnsha@arm.com>
746
747 * combine.c (distribute_notes): When re-distributing the notes from
748 an insn we are about to delete, ensure we can't end up with a cyclic
749 list of notes.
750
d76bc29c
EB
7512003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
752
753 PR optimization/12926
754 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
755 the UNCHANGING_RTX_P flag on memory references to read-only
756 components that are not addressable.
757
239ca41f
KH
7582003-11-12 Kazu Hirata <kazu@cs.umass.edu>
759
760 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
761 DenHighNonZero.
762
fccc4eb2
JH
7632003-11-13 Jan Hubicka <jh@suse.cz>
764
765 PR opt/12275
766 * c-decl.c (finish_decl): Use change_decl_assembler_name.
767 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
768 * varasm.c (make_decl_rtl): Likewise.
769 * cgraph.c (change_decl_assembler_name): New function.
770 * tree.h (set_decl_assembler_name): Kill dead declaration.
771 (change_decl_assembler_name): Declare.
772
773 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
774 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
775
0c7c472e
KH
7762003-11-12 Kazu Hirata <kazu@cs.umass.edu>
777
778 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
779 an unused register.
780
c4740d5d
RS
7812003-11-12 Richard Sandiford <rsandifo@redhat.com>
782
783 PR bootstrap/12752
784 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
785 (MULTILIB_OSDIRNAMES): Reorder accordingly.
786
d1d0c603
JJ
7872003-11-12 Janis Johnson <janis187@us.ibm.com>
788
789 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
790 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
791 (rs6000_emit_eh_reg_restore): Add
792 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
793 of vars_size and total_size to HOST_WIDE_INT.
794 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
795 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
796 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
797 values.
798 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
799 (rs6000_initial_elimination_offset): New, with code formerly in
800 INITIAL_ELIMINATION_OFFSET.
801 * rs6000.h (rs6000_stack_t): Remove.
802 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
803 rs6000_initial_elimination_offset.
804 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
805 rs6000_emit_eh_reg_restore.
806
d5123bae
MS
8072003-11-12 Mike Stump <mrs@apple.com>
808
809 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
810 is the argumnt we are processing so that warnings and errors
811 will have that information.
812 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
813 * lang-hooks-def.h
814 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
815 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
816 * langhooks.h (convert_parm_for_inlining): Likewise.
817 * tree-inline.c (initialize_inlined_parameters): Compute and
818 pass argnum down.
819
3197c4fd
AS
8202003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
821 Roger Sayle <roger@eyesopen.com>
822
823 PR optimization/12953
824 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
825 before switch by FUNCTION_CODE.
826
c9389e79
RE
8272003-11-12 Richard Earnshaw <rearnsha@arm.com>
828
829 * arm.md (storehi): Avoid use of explicit subreg.
830 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
831
88f08cca
R
8322003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
833
834 * config/sh/sh.md (prefetch): New pattern.
835
bbbbbbe7
EC
8362003-11-11 Eric Christopher <echristo@redhat.com>
837
838 * reload1.c (reload): Verify that addresses for
839 reg_equiv_* are valid for the architecture.
840
729bf8ab
EC
8412003-11-11 Eric Christopher <echristo@redhat.com>
842
843 * function.c (purge_addressof_1): Add libcall check.
844 Remove test for cached replacements on fallback case.
845 Simplify mode comparisons. Add libcall test for
846 paradoxical subregs.
847
f24f5831
KH
8482003-11-11 Kazu Hirata <kazu@cs.umass.edu>
849
850 * config/h8300/t-h8300: Fix an obsolete comment.
851
0b69c29f
JW
8522003-11-11 James E Wilson <wilson@specifixinc.com>
853
854 * expmed.c (store_bit_field, extract_bit_field): Revert last two
855 changes.
856
3849e3a6
KH
8572003-11-11 Kazu Hirata <kazu@cs.umass.edu>
858
859 * config/h8300/lib1funcs.asm: Replace DenHighZero with
860 DenHighNonZero.
861
cc515291
JH
8622003-11-11 Jan Hubicka <jh@suse.cz>
863
864 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
865 really_no_inline.
866
4d595e43
JDA
8672003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
868
869 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
870 generating 64-bit code.
871
f921c9c9
DE
8722003-11-10 David Edelsohn <edelsohn@gnu.org>
873
874 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
875 accidental commit in previous change.
876
ceba9fcb 8772003-11-10 Fariborz Jahanian <fjahanian@apple.com>
ceba9fcb 878
f921c9c9 879 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
ceba9fcb
FJ
880 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
881 address recognition.
882 (macho_lo_sum_memory_operand): Routine to recognize macho-style
883 address recognition.
884
d0585b99
RH
8852003-11-10 Richard Henderson <rth@redhat.com>
886
887 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
888
6ce4806b
MA
8892003-11-10 Matt Austern <austern@apple.com>
890
891 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
892 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
893 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
894 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
895 darwin_assemble_visibility instead of default.
729bf8ab 896
1ec0c607
WH
8972003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
898
899 PR target/12865
900 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
901 __enable_execute_stack only after writing onto the stack.
902 (sparc64_initialize_trampoline): Likewise.
903
ce4191ee
RS
9042003-11-09 Roger Sayle <roger@eyesopen.com>
905
906 * loop.c (check_dbra_loop): Try swapping the comparison operands
907 of the loop condition to identify a suitable induction variable.
908 * unroll.c (loop_iterations): Likewise.
909
8b93ca2d
KG
9102003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
911
912 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
913 sparc64 #cpu and #machine assertions.
914
757dc040
RH
9152003-11-09 Richard Henderson <rth@redhat.com>
916
917 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
918
f7a01847
JH
9192003-11-09 Jan Hubicka <jh@suse.cz>
920
ec89843e
JH
921 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
922
f7a01847
JH
923 * cgraphunit.c (cgraph_expand_function): Use
924 cgraph_possibly_inlined_p.
925 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
926
927 * opts.c (common_handle_option): Do not set max-inline-insns.
928 * params.def: Update comments.
929 (PARAM_MAX_INLINE_INSNS): Kill.
930 * invoke.texi (max-inline-insns): Kill.
931
c76f4e8e
JM
9322003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
933
934 PR c/3190
935 PR c/8714
936 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
937 * invoke.texi: Update.
938
cdc9103c
JDA
9392003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
940
941 PR optimization/12630
942 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
943 Handle length computation 64-bit moves.
944 (compute_clrstr_length, output_block_clear): Implement block clear.
945 (output_block_move): Handle 64-bit moves.
946 (pa_adjust_insn_length): Use compute_movstr_length and
947 compute_clrstr_length.
948 * pa.md (movstrsi): Revise operand order and comments. Don't use
949 match_scratch.
950 (movstrsi_internal): Delete.
951 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
952 and peephole2 patterns to transform prereload to postreload form.
953 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
954 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
955 clrstrdi_postreload): New patterns for 64-bit block move, and block
956 clear.
957 * pa-protos.h (output_block_clear): New prototype.
958
e139ff5b
AS
9592003-11-08 Andreas Schwab <schwab@suse.de>
960
961 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
962 XCOFF_DEBUGGING_INFO.
963
a37336cf
KG
9642003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
965
966 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
967
3d67ba1e
GK
9682003-11-07 Geoffrey Keating <geoffk@apple.com>
969
8a1977f3
GK
970 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
971 redundant parens.
972
3d67ba1e
GK
973 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
974 (find_file_in_dir): Likewise.
975 (_cpp_find_file): Print message if no header file is found
976 but an invalid PCH file was.
977
30321c39
JM
9782003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
979
980 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
981 expressions as lvalues.
982 (internal_build_compound_expr): Remove special handling for
983 non-pedantic case.
984 * doc/extend.texi: Document that all extended lvalues are now
985 deprecated.
986
047c6eac
GK
9872003-11-07 Geoffrey Keating <geoffk@apple.com>
988
989 PR 11654
990 * dbxout.c (struct dbx_file): Do not save for PCH.
991 (current_file): Likewise.
992 (dbxout_init): Don't allocate struct dbx_file using GC.
993 (dbxout_start_source_file): Likewise.
994
1cd93a2a
FH
9952003-11-07 Falk Hueffner <falk@debian.org>
996
997 * config/alpha/elf.h, config/alpha/unicosmk.h,
998 config/alpha/vms.h: Convert to ISO C90.
999
4241d312
NN
10002003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
1001
1002 * config/arm/pe.h: Convert to ISO C90.
1003
bcc8cc82
R
10042003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
1005
1006 * sh-protos.h (sh_pch_valid_p): Declare.
1007 * sh.c ("intl.h"): Include.
1008 (TARGET_PCH_VALID_P): Override.
1009 (sh_target_switches): New variable.
1010 (target_switches): Define.
1011 (sh_pch_valid_p): New function.
1012
1013 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1014
d7222e38
JH
10152003-11-07 Jan Hubicka <jh@suse.cz>
1016
1017 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
1018 (x86_64_zero_extended_value): likewise.
1019
235d0d66
RS
10202003-11-07 Richard Sandiford <rsandifo@redhat.com>
1021
1022 * config/mips/mips.md (loadgp): Take $25 as a second operand.
1023 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1024
968b41a1
MA
10252003-11-06 Matt Austern <austern@apple.com>
1026
1027 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1028 field instead of hanging an attribute object off the decl.
1029 * tree.h (DECL_VISIBLITY): New accessor macro for
1030 symbol_visibility field in struct tree_decl.
1031 (enum symbol_visibility): Move definition to before tree_decl.
1032 (struct tree_decl): Define new two-bit field, symbol_visibility.
1033 (decl_visibility): Remove declaration.
1034 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1035 instead of decl_visibility.
729bf8ab 1036 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
968b41a1
MA
1037 decl_visibility.
1038 (decl_visibility): Remove.
729bf8ab 1039
63e292b7
UW
10402003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1041
1042 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1043 where register 14 will be saved.
1044
2858f73a
GK
10452003-11-06 Geoffrey Keating <geoffk@apple.com>
1046
1047 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1048 (USE_ALTIVEC_FOR_ARG_P): Likewise.
1049 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1050 Take a pointer as the CUM parameter. Update callers.
1051 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
1052 32-bit ABIs.
1053 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
1054 of vector parameters as named arguments of stdarg function.
1055 (function_arg): Likewise.
1056
1057 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1058 -maltivec is specified, not the non-existent -faltivec.
1059
8c17530e
UW
10602003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1061
1062 * config/s390/s390-protos.h (s390_function_value): Declare.
1063 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1064 (s390_return_in_memory): New function.
1065 (s390_function_value): New function.
1066 (s390_function_arg_float): Return false for all arguments larger
1067 than 8 bytes.
1068 (s390_function_arg_pass_by_reference): Likewise. Return true for
1069 all vector arguments.
1070 (s390_function_arg_integer): New function.
1071 (s390_function_arg_advance): Call it. Add sanity checks.
1072 (s390_function_arg): Likewise.
1073 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
1074 (LIBCALL_VALUE): Likewise.
1075 (RET_REG): Remove.
1076 (RETURN_IN_MEMORY): Remove.
1077
e88fb323
RS
10782003-11-06 Richard Sandiford <rsandifo@redhat.com>
1079
1080 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
1081 return type to HOST_WIDE_INT.
1082 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
1083 Make initialized a bool. Make register masks unsigned ints.
1084 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
1085 where appropriate.
1086 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
1087 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
1088
88d6a75f
RS
10892003-11-06 Richard Sandiford <rsandifo@redhat.com>
1090
1091 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
1092 negation.
1093
def49dc4
RS
10942003-11-06 Richard Sandiford <rsandifo@redhat.com>
1095
1096 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1097
c8e26ef4
MV
10982003-11-06 Momchil Velikov <velco@fadata.bg>
1099
95757874
MV
1100 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
1101 for VR4111 too.
c8e26ef4 1102
668f73d4
JH
11032003-11-06 Jan Hubicka <jh@suse.cz>
1104
1105 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
1106 missing casts.
1107
37783865
ZW
11082003-11-06 Zack Weinberg <zack@codesourcery.com>
1109
1110 * genmodes.c: Change the word "bitsize" to "precision" throughout.
1111 * machmode.def: Likewise.
1112 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
1113 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
1114 (GET_MODE_PRECISION): New macro.
1115 (mode_bitsize): Renamed mode_precision.
1116 * stor-layout.c (mode_for_size, smallest_mode_for_size):
1117 Use GET_MODE_PRECISION; clarify comments.
1118
01e97976
JM
11192003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
1120
1121 * doc/install-old.texi: Remove old documentation of building
1122 cross-compilers.
1123 * doc/install.texi: Move some of it to here.
1124
9b49a0aa
PB
11252003-11-05 Per Bothner <pbothner@apple.com>
1126
f6d90f82 1127 PR preprocessor/12891
9b49a0aa
PB
1128 * c-opts.c (finish_options): Set include_cursor to disable premature
1129 calls to push_command_line_include from cpp_scan_nooutput.
1130 Fixes bug reported by DJ Delorie.
1131
2cf520bf
GK
11322003-11-05 Geoffrey Keating <geoffk@apple.com>
1133
f31bf321
GK
1134 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
1135 code supporting old-style varargs.
1136
2cf520bf
GK
1137 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
1138 an intermediate register for better optimisation.
1139
142d1f57
ZD
11402003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1141
f4dcab14 1142 PR optimization/10080
142d1f57
ZD
1143 * cfgloopanal.c (variable_initial_value, variable_initial_values,
1144 simple_loop_exit_p): Record the fact that initial value is extended
1145 from inner mode.
1146 (count_strange_loop_iterations, count_loop_iterations): Handle
1147 ivs that iterate in a narrower mode. Fix handling of overflows.
1148 Improve handling of NE conditions.
1149 (inverse, fits_in_mode_p): New static functions.
1150 (simple_increment): Detect variables that iterate in a narrower mode.
1151 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
1152
af09332e
GK
11532003-11-05 Geoffrey Keating <geoffk@apple.com>
1154
a6cf80f2
GK
1155 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
1156 error.
1157
af09332e
GK
1158 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
1159 needs VRSAVE.
1160
0a49d02c
JM
11612003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
1162
1163 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
1164 conditional expressions as lvalues.
1165
488c98d8
KH
11662003-11-05 Kazu Hirata <kazu@cs.umass.edu>
1167
1168 * tsystem.h: Add the prototype of strlen.
1169 * unwind-pe.h (read_encoded_value_with_base): Add an
1170 appropriate cast to handle a case where the pointer size is
1171 smaller than sizeof (int).
1172
108b61d5
RS
11732003-11-04 Richard Sandiford <rsandifo@redhat.com>
1174
1175 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
1176 (mips_delegitimize_address): Delete.
1177 (mips_gotoff_global, mips_load_got_page): Declare.
1178 (mips_load_got_global, mips_rewrite_small_data): Declare.
1179
1180 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
1181 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
1182 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
1183 small_data_pattern. Remove CONST from const_arith_operand's entry.
1184
1185 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
1186 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
1187 (mips_constant_type): Delete.
1188 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
1189 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
1190 (NUM_SYMBOL_TYPES): New macro.
1191 (mips_address_type): Remove ADDRESS_INVALID.
1192 (machine_function): Add has_gp_insn_p.
1193 (mips_constant_info): Delete.
1194 (mips_address_info): Add the address type as an extra field. Replace
1195 the c field with symbol_type.
1196 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
1197 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
1198 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
1199 (mips_split_const, mips_symbolic_constant_p): New functions.
1200 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
1201 (mips_classify_address): Return true if the address is valid, storing
1202 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
1203 to test whether a LO_SUM address is allowed.
1204 (mips_symbol_insns): Return 0 for general mips16 symbols.
1205 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
1206 Handle the new SYMBOL_GOTOFF_*s.
1207 (mips_address_insns): Update call to mips_classify_address.
1208 (mips_const_insns): Be more fussy about HIGH constants. Remove use
1209 of mips_classify_constant. Be more accurate about CONSTs.
1210 (mips_global_pic_constant_p): Delete.
1211 (const_arith_operand): Only accept CONST_INTs.
1212 (call_insn_operand): Remove call to mips_classify_constant.
1213 Let mips_symbolic_constant_p check for invalid offsets.
1214 (move_operand): Check for general_operands first. Only accept symbolic
1215 constants if they satisfy mips_symbolic_constant_p and cannot be split.
1216 (symbolic_constant): Use mips_symbolic_constant_p.
1217 (global_got_operand, local_got_operand): New predicates.
1218 (stack_operand): Update call to mips_classify_address.
1219 (mips_legitimate_address_p): Likewise.
1220 (mips_reloc, mips_lui_reloc): Delete.
1221 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
1222 Use emit_move_insn.
1223 (mips_split_symbol, mips_unspec_address): New functions.
1224 (mips_unspec_offset_high): New function.
1225 (mips_load_got): Replace reloc argument with a symbol_type.
1226 Use mips_unspec_address to create the address and put it in a
1227 LO_SUM with the base register.
1228 (mips_load_got16, mips_load_got32): Delete.
1229 (mips_emit_high, mips_legitimize_symbol): Delete.
1230 (mips_gotoff_global): New function.
1231 (mips_load_got_page, mips_load_got_global): New functions.
1232 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
1233 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
1234 Inline code to handle constants plus invalid offsets. Use
1235 mips_split_symbol to legitimize constant pool addresses.
1236 (mips_delegitimize_address): Delete.
1237 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
1238 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
1239 (mips_subword): Pass memrefs through mips_rewrite_small_data.
1240 (mips_output_move): Remove use of mips_classify_constant.
1241 (mips_expand_call): Use mips_unspec_offset_high to calculate the
1242 high part of the GOT address for calls to global functions.
1243 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
1244 and mips_hi_relocs[].
1245 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
1246 Remove use of mips_classify_constant.
1247 (mips_reloc_string): Delete.
1248 (print_operand_reloc): New function.
1249 (print_operand_address): Update call to mips_classify_address.
1250 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
1251 (small_data_pattern): New predicate.
1252 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
1253 (mips_function_has_gp_insn): New function.
1254 (mips_global_pointer): Use it.
1255 (mips_gp_insn): Delete.
1256 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
1257 single loadgp pattern to initialize $gp. Pass it the offset of _gp
1258 from the start of the current function.
1259 (mips16_gp_pseudo_reg): Revert last patch.
1260
1261 * config/mips/mips.md (RELOC_*): Delete.
1262 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
1263 (got): New insn attribute.
1264 (type): Set to "load" if got == load.
1265 (length): Set to 4 if got == load, 8 if got == xgot_high.
1266 (lui[sd]i): Delete.
1267 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
1268 (*got_disp[sd]i, *got_page[sd]i): Likewise.
1269 (*low[sd]i): Change constraints to "d". Add a new define_split to
1270 rewrite small data constants into LO_SUMs.
1271 (loadgp): New insns.
1272
bdc960c8
RO
12732003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1274
1275 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
1276
15bb534e
DD
12772003-11-04 DJ Delorie <dj@redhat.com>
1278
1279 * config/v850/v850.md (mulhisi3): Expand the const_int case
1280 separately to avoid trying to sign extend the const.
1281
21e9fc47
RS
12822003-11-04 Richard Sandiford <rsandifo@redhat.com>
1283
1284 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
1285 addresses to be shared.
1286 (force_const_mem): Return a copy of the pool entry.
1287
7807fcd9
AJ
12882003-11-03 Andreas Jaeger <aj@suse.de>
1289
1290 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
1291
63069342
KC
12922003-11-03 Kelley Cook <kcook@gcc.gnu.org>
1293
1294 * Makefile.in (cpp.dvi): New target split from cpp.info.
1295 (gcc.dvi): New target split from gcc.info.
1296 (gccint.dvi): New target split from gccint.info.
1297 (cppinternals.dvi): New target split from cppinternals.info
1298 (gccinstall.info): New specific rule.
1299 (gccinstall.dvi): Likewise.
1300 (dvi): Move targets to $(docobjdir).
1301 ($(docobjdir)/%.dvi): New implicit rule.
1302
aef6a624
RK
13032003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1304
1305 * doc/gty.texi (tag, desc): Say more about role of desc values in
1306 selecting between tags.
1307
930177d9
AK
13082003-11-03 Alexander Kabaev <ak03@gte.com>
1309
1310 * real.c (encode_ieee_single): Ensure proper promotion.
1311
2b2de389
VR
13122003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1313
1314 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
1315 and Andrew Pinski.
1316
49ffe578
SP
13172003-11-03 Syd Polk <spolk@apple.com>
1318
1319 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
1320 marketing names to the list of supported processors.
1321 * config/rs6000/rs6000.h: Ditto.
1322 * doc/invoke.texi: Ditto.
1323 * config.gcc: Ditto.
1324
871a3122
RO
13252003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1326
1327 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
1328 Merge two substitutions.
1329 * fixinc/fixincl.x: Regenerate.
1330 Fixes PR bootstrap/12666.
1331
0968e7fa
JM
13322003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
1333
1334 * doc/install-old.texi: Remove VMS documentation.
1335
73c37dab
JH
13362003-11-03 Jan Hubicka <jh@suse.cz>
1337
1338 * i386.c (override_options): Remove hack enabling 128bit long double
1339 commited by accident.
1340
d8ccee1e
PB
13412003-11-02 Per Bothner <per@bothner.com>
1342
1343 * c-opts.c (needValue): Do cpp_find_main_file before processing
1344 any imacros flags, so pfile->main_file is set for the latter.
1345
ee208a59
AJ
13462003-11-03 Andreas Jaeger <aj@suse.de>
1347 Zack Weinberg <zack@codesourcery.com>
1348
1349 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
1350 (SYSCALLS.c.X-warn): Suppress warnings.
1351
ae2ea719
JDA
13522003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1353
1354 PR optimization/12845
1355 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
1356
9a623a65
ZW
13572003-11-02 Zack Weinberg <zack@codesourcery.com>
1358
1359 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
1360 * config/i386/i386.c (print_reg): Abort on a virtual register
1361 if code != -1; not if file == asm_out_file.
1362 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
1363 (DEBUG_PRINT_REG): Delete, unused.
1364
634879c8
AS
13652003-11-02 Andreas Schwab <schwab@suse.de>
1366
1367 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
1368 empty to avoid conflict with the definition from configure.
1369
31f0f571
RS
13702003-11-02 Roger Sayle <roger@eyesopen.com>
1371
1372 PR optimization/10817
1373 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
1374 (noce_try_move): New function to optimize an if-the-else into an
1375 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
1376 (noce_process_if_block): Attempt simplification with noce_try_move.
1377
1378 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
1379 and improvements to the optimizations of IF_THEN_ELSE expressions.
1380 (simplify_subreg): Silence signed/unsigned comparison warning.
1381
0938c9e8
RS
13822003-11-02 Richard Sandiford <rsandifo@redhat.com>
1383
1384 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1385 (GTFILES): Add targhooks.c.
1386 (gt-targhooks.h): New rule; depend on s-gtype.
1387 * target.h (direct_pool_load_p): New hook.
1388 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1389 (TARGET_INITIALIZER): Include it.
1390 * targhooks.h (default_direct_pool_load_p): Declare.
1391 (hook_bool_machine_mode_true): Declare.
1392 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1393 gt-targhooks.h.
1394 (pool_symbol): New variable.
1395 (default_direct_pool_load_p): New function.
1396 (hook_bool_machine_mode_true): New function.
1397 * reload.c: Include target.h.
1398 (find_reloads): If an alternative will force a constant into memory,
1399 count an extra reload if constant pool symbols are not valid
1400 addresses. If an alternative uses memory to move values between
1401 registers, count the move as two reloads rather than one.
1402 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1403 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1404
e69cdc12
EB
14052003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1406
1407 PR optimization/12799
1408 * postreload.c (reload_cse_move2add): Generate the add2
1409 patterns manually.
1410
0a9e65f9
EB
14112003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1412
1413 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1414 Return 0 for all complex modes whose size is lesser or equal to
1415 a word. Add a ??? comment for the condition used with 16-byte
1416 aligned modes.
1417
d6665c33
KC
14182003-11-01 Kelley Cook <kcook@gcc.gnu.org>
1419
1420 * .cvsignore: Remove c-parse* and tradcif.c.
1421 * objc/.cvsignore: Delete.
1422
d234bf61
RS
14232003-11-01 Roger Sayle <roger@eyesopen.com>
1424
1425 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
1426 of NULL.
1427
0527bc4e
JDA
14282003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1429
f25b1930
JDA
1430 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
1431
4043d9c1
JDA
1432 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
1433
94d54276
JDA
1434 * collect2.c (scan_libraries): Fix typos.
1435
0527bc4e
JDA
1436 PR preprocessor/12847
1437 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
1438 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
1439 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
1440 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
1441 "CPP_".
1442
2f7b62ef
FJ
14432003-11-01 Fariborz Jahanian <fjahanian@apple.com>
1444
1445 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
1446 no_units calculation.
1447
ab08fce5
AJ
14482003-11-01 Andreas Jaeger <aj@suse.de>
1449
1450 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
1451 enumeration list.
1452
63482449
AS
14532003-11-01 Andreas Schwab <schwab@suse.de>
1454
1455 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
1456 prototypes.
1457 (SBSS_SECTION_FUNCTION): Likewise.
1458
7807fcd9 14592003-11-01 Andreas Jaeger <aj@suse.de>
6377248c
AJ
1460
1461 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
1462
97603db3
AT
14632003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
1464
1465 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
1466 prototypes.
1467
f1518966
AJ
14682003-11-01 Andreas Jaeger <aj@suse.de>
1469
1470 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
1471 (uw_frame_state_for): Constify variables.
1472 (extract_cie_info): Constify first argument.
1473
1474 * unwind-dw2-fde-darwin.c: Adjust prototype of
1475 _Unwind_Find_registered_FDE for recent changes.
1476 (examine_objects): Constify return value and local variable result.
1477 (_Unwind_Find_FDE): Constify return value and local variable ret.
1478
8e974c0e
PB
14792003-10-31 Per Bothner <pbothner@apple.com>
1480
1481 * c-opts.c (finish_options): Change to returns boolean - false iff
1482 the call to cpp_find_main_file fails.
1483 (c_common_init): Skip preprocess_file if finish_options failed.
1484 (c_common_parse_file): Break if finish_options failed.
8ecde51f 1485 Fixes PR preprocessor/12545.
8e974c0e 1486
72f03fde
JDA
14872003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1488
e31f8eda
JDA
1489 * aclocal.m4: Blacklist ultrix* for mmap file.
1490 * configure: Rebuilt.
1491
2b256a46
JDA
1492 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
1493 reg_parm_stack_space.
1494 * toplev.c (default_get_pch_validity): Fix warning.
1495
72f03fde
JDA
1496 * vax.c: Include toplev.h.
1497 (vax_init_libfuncs): Fix typo (umod).
1498 * vax.h (ASM_COMMENT_START): Define.
1499 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
1500
41ba7ed7
RS
15012003-10-31 Roger Sayle <roger@eyesopen.com>
1502
1503 PR middle-end/11968
1504 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
1505 confusing comment; distributivity isn't handled in expand_expr.
1506 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
1507 in distributivity, if wrap-around semantics are specified with
1508 -fwrapv.
1509
3d63de24
AM
15102003-11-01 Alan Modra <amodra@bigpond.net.au>
1511
1512 PR 12315
1513 * final.c (profile_function): Allow for NULL svrtx.
1514
24a52160
JDA
15152003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1516
1517 * pa.c (pa_select_section): Use new style declaration.
1518 * som.h (readonly_data): Likewise.
1519
38f391a5
KC
15202003-10-31 Kelley Cook <kcook@gcc.gnu.org>
1521
1522 * config/rs6000/rs6000.c: Update to C90 prototypes.
1523
fb14bc89
RE
15242003-10-31 Richard Earnshaw <rearnsha@arm.com>
1525
4a3a957b 1526 PR target/7513
fb14bc89
RE
1527 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
1528 code.
1529
6377248c 15302003-10-31 Andreas Jaeger <aj@suse.de>,
9a623a65
ZW
1531 Zack Weinberg <zack@codesourcery.com>
1532
1533
1534 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
1535 (__deregister_frame_info, __deregister_frame_info_bases):
1536 Constify void * argument.
1537 * unwind-dw2-fde.h (struct fde_vector):
1538 Constify 'orig_data' and 'array' fields.
1539 (__register_frame_info, __register_frame_info_bases)
1540 (__deregister_frame_info, __deregister_frame_info_bases):
1541 Constify void * argument.
1542 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
1543 return values, and casts of type fde *, struct dwarf_fde *,
1544 and struct dwarf_cie *.
1545 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
1546 (__deregister_frame_info, __deregister_frame_info_bases):
1547 Constify void * argument.
1548 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
1549 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
1550 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
1551 fde_split, SWAP, frame_downheap, frame_heapsort)
1552 (classify_object_over_fdes, add_fdes, linear_search_fdes,
1553 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
1554 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
1555 Constify arguments, local variables, return values, and casts
1556 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
1557 Use const pointer types in sizeof expressions, for clarity.
1558 * unwind-dw2-fde-glibc.c
1559 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
1560 (struct unw_eh_callback_data): Constify 'ret' field.
a30794da 1561
b78d48dd
FJ
15622003-10-31 Fariborz Jahanian <fjahanian@apple.com>
1563 David Edelsohn <edelsohn@gnu.org>
1564
1565 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
1566 (function_arg): Call it.
1567 (rs6000_function_value): Widen integral return value to mode based
1568 on TARGET_32BIT, not word_mode.
1569 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
8159dc20
FJ
1570 (UNITS_PER_ARG): New.
1571 (RS6000_ARG_SIZE): Use it.
b78d48dd 1572
3dc5f34a
GP
15732003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
1574
1575 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
1576 and gengtype-yacc.h.
1577
71c1543c
RE
15782003-10-31 Richard Earnshaw <rearnsha@arm.com>
1579
79b53543 1580 PR optimization/8896
71c1543c
RE
1581 * postreload.c (reload_combine): Check that REGY doesn't die in an
1582 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
1583
9295a326
JZ
15842003-10-31 Josef Zlomek <zlomekj@suse.cz>
1585
1586 PR/10239
1587 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
1588
5d693491
JZ
15892003-10-31 Josef Zlomek <zlomekj@suse.cz>
1590
1591 PR/11640
1592 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
1593 immediatelly before BARRIER.
1594
a2ae4a3d
KC
15952003-10-31 Kelley Cook <kcook@gcc.gnu.org>
1596
1597 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
1598
b1f9e314
RE
15992003-10-31 Richard Earnshaw <rearnsha@arm.com>
1600
1601 PR target/11271
1602 * reload.c (find_reloads_address): Handle any register in
1603 (PLUS (PLUS (REG) (REG)) (CONST_INT).
1604
c5d6d04a
RE
16052003-10-31 Richard Earnshaw <rearnsha@arm.com>
1606
6377248c 1607 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
c5d6d04a
RE
1608 ENABLE_GC_CHECKING not in GGC_POISON.
1609
b2c62c45
NN
16102003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
1611
2c4902b9
NN
1612 PR bootstrap/9863
1613 * configure.in: Bail out if awk is missing.
1614 * configure: Regenerate.
1615
b2c62c45
NN
1616 PR ada/12761
1617 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
1618 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
1619
c157f85c
RH
16202003-10-30 Richard Henderson <rth@redhat.com>
1621
1622 * c-objc-common.c (c_tree_printer): Handle types correctly.
1623 Factor code a bit.
1624
9373164a
KC
16252003-10-30 Kelley Cook <kcook@gcc.gnu.org>
1626
1627 * value-prof.c, web.c: Update to C90.
1628
d796429e 16292003-10-30 Eric Christopher <echristo@redhat.com>
69e4e6e9
EC
1630
1631 * function.c (purge_addressof_1): Add case for REG_RETVAL
9a623a65 1632 notes when modes are unequal.
69e4e6e9 1633
ac3ef3f5
JH
16342003-10-31 Jan Hubicka <jh@suse.cz>
1635
1636 * i386-modes.def: Add XFmode format adjustment.
1637
1199470c
JH
16382003-10-30 Jan Hubicka <jh@suse.cz>
1639
1640 * real.c (encode_ieee_extended): Back out previous patch.
1641
f8a1ebc6
JH
16422003-10-30 Jan Hubicka <jh@suse.cz>
1643
1644 * real.c (encode_ieee_extended): Initialize whole array.
1645 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
1646 * i386-modes.def: Change definitions of TFmode and XFmode.
9373164a
KC
1647 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
1648 code.
f8a1ebc6
JH
1649 (construct_container): Allow constructing of TFmode integer containers.
1650 (ix86_return_in_memory): XFmode is not returned in memory.
1651 (init_ext_80387_constants): Always use XFmode.
1652 (print_operand): Likewise.
1653 (ix86_prepare_fp_compare_regs): Likewise.
1654 (split_to_parts): Deal with TFmode.
1655 (split_long_move): Simplify.
1656 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
1657 (ix86_memory_move_cost): Do not confuse TFmode.
1658 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
1659 (IS_STACK_MODE): TFmode is not stack mode.
1660 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
1661 (VALID_SSE_REG_MODE): Allow TFmode.
1662 (VALID_FP_MODE_P): Disallow TFmode.
1663 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
1664 * i386.md (TFmode patterns): Kill.
1665 (movtf, motf_rex64): New patterns.
1666
00d4a6d4
RS
16672003-10-30 Richard Sandiford <rsandifo@redhat.com>
1668
1669 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
1670
2e1648b8
RS
16712003-10-30 Richard Sandiford <rsandifo@redhat.com>
1672
1673 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
1674 (mov_lwr, mov_swl, mov_swr): Likewise.
1675 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
1676
db964bde
RS
16772003-10-30 Richard Sandiford <rsandifo@redhat.com>
1678
1679 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
1680
4f1cad00
RH
16812003-10-30 Richard Henderson <rth@redhat.com>
1682
1683 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
1684 test for irix6 rather than preprocessor test.
1685
671ca9ec
RH
16862003-10-30 Richard Henderson <rth@redhat.com>
1687
1688 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
1689
545d16ff
UW
16902003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
1691
1692 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
1693 as a general flag that the return address register needs to be saved,
1694 not necessarily because of __builtin_return_addr (0).
1695 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
1696 remove special handling of zSeries machines.
69e4e6e9 1697 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
545d16ff 1698 register as a regular register on zSeries machines.
69e4e6e9 1699 (s390_reorg): Adjust calls to s390_split_branches and
545d16ff
UW
1700 s390_optimize_prolog.
1701 (s390_frame_info): On zSeries machines, do not assume the return
1702 register is always used. Update regs_ever_live with current data
1703 for the special registers.
1704 (s390_emit_epilogue): Use save_return_addr_p to determine whether
1705 the return register was saved.
1706 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
1707 RETURN_REGNUM fixed on zSeries machines.
1708 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
1709 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
1710 via ahi-jgne pair on zSeries machines.
1711 ("*doloop_di"): Likewise.
1712 ("*doloop_di_long"): Remove.
1713
577d6328
RE
17142003-10-30 Richard Earnshaw <rearnsha@arm.com>
1715
1716 * arm.c (arm_override_options): Revert change of arm_constant_limit
1717 when optimizing for size.
1718
e7824b3e
RH
17192003-10-29 Richard Henderson <rth@redhat.com>
1720
1721 * fold-const.c (fold_single_bit_test): Convert the input to the
1722 operational intermediate type.
1723
c35d187f
RH
17242003-10-29 Richard Henderson <rth@redhat.com>
1725
1726 * builtins.c (std_build_builtin_va_list): New.
1727 * expr.h (std_build_builtin_va_list): Declare.
1728 * defaults.h (BUILD_VA_LIST_TYPE): New.
1729 * system.h (BUILD_VA_LIST_TYPE): Poison.
1730 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
1731 * target.h (struct gcc_target): Add build_builtin_va_list.
1732 * tree.c (build_common_tree_nodes_2): Use it.
1733
69e4e6e9 1734 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
c35d187f
RH
1735 config/alpha/alpha.h, config/alpha/unicosmk.h,
1736 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
1737 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
1738 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
1739 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
1740 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
69e4e6e9 1741 config/mips/mips.h, config/rs6000/rs6000-protos.h,
c35d187f
RH
1742 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
1743 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1744 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
1745 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
1746 config/xtensa/xtensa.h: Rename foo_build_va_list to
1747 foo_build_builtin_va_list; make it static. Define
1748 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
1749 Update protos.
1750
1751 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
1752 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
1753
3b6c3bb0
JW
17542003-10-29 James E Wilson <wilson@specifixinc.com>
1755
1756 * recog.c (asm_operand_ok): Add missing break after case 'X'.
1757 Change if statements to else if statements in default case.
1758 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
1759 in comment.
1760 (constrain_operands_cached): Likewise.
1761 (constrain_operands): Change if statements to else if statements in
1762 default case.
1763 * reload.c (find_reloads): Likewise.
1764
a126dc3a
RH
17652003-10-29 Richard Henderson <rth@redhat.com>
1766
1767 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
1768 shifts and rotates.
1769
9b731bbb
AM
17702003-10-30 Alan Modra <amodra@bigpond.net.au>
1771
1772 * config/rs6000/rs6000.md: Remove duplicate pattern.
1773
a207b594
HPN
17742003-10-29 Hans-Peter Nilsson <hp@axis.com>
1775
c4361cd7
HPN
1776 * real.c (do_divide): Initialize result with a 0.
1777
a207b594
HPN
1778 * configure.in <enable-checking for valgrind>: Look for
1779 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
1780 if it exists.
1781 * configure, config.in: Regenerate.
1782 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
1783 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
1784 #elif for other alternatives.
1785 * ggc-page.c: Ditto.
1786 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
1787 include structure from ggc-common.c.
1788
cb4d476c
JDA
17892003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1790
1791 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
1792 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
1793 * pa.c (pa_adjust_insn_length): Check for btable branches using
1794 attribute TYPE_BTABLE_BRANCH.
1795 (pa_reorg): Simplify.
1796 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
1797 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
1798 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
1799 * pa.md (btable_branch): New instruction type.
1800 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
1801 btable branches.
1802 (define_delay): Add btable branches to insn types that may have an
1803 insn in the delay position.
1804 (Z2, Z3): Add btable branch to list.
1805 Simplify unamed pattern set copy pic_label_operand to register. Add
1806 PA 2.0 variant.
1807 (short_jump): New jump for use in branch tables.
1808 (casesi, casesi0): Revise for new branch table formats.
1809 (casesi32, casesi32p, casesi64p): New casesi patterns.
1810 (indirect_jump): Move.
1811
c1aa3958
DE
18122003-10-29 David Edelsohn <edelsohn@gnu.org>
1813
1814 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
1815 !TARGET_POWERPC64.
1816 (UNITS_PER_GPR_WORD): Delete.
1817 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
1818 (HARD_REGNO_MODE_OK): Same.
1819 (CLASS_MAX_NREGS): Same.
1820
e08fde98
JDA
18212003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1822
1823 * pa.h (ASM_COMMENT_START): Define.
1824
9fcc6bf6
ZW
18252003-10-29 Zack Weinberg <zack@codesourcery.com>
1826
1827 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
1828 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
1829 component, not zero.
1830
9585b0f7
AS
18312003-10-29 Andreas Schwab <schwab@suse.de>
1832
1833 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
1834
69494148
EB
18352003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1836
1837 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1838 Never return 1 for complex integral modes whose size is lesser or
1839 equal to a word.
1840 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
1841 in the comment.
1842 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
1843 modes.
f2225d74
EB
1844 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
1845 greater than 16 bytes by reference.
69494148 1846
b6a41a62
RK
18472003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1848
1849 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
1850 not TARGET_ILP32.
1851 (ia64_initialize_trampoline): Use globalize_label target call.
1852
e9da8a5a
AS
18532003-10-29 Andreas Schwab <schwab@suse.de>
1854
1855 * doc/install.texi (Building): Add a sentence about building Ada
1856 for a canadian cross.
1857
24ea7948
ZW
18582003-10-28 Zack Weinberg <zack@codesourcery.com>
1859
1860 * config/ia64/ia64.c (cmptf_libfunc): New static.
1861 (ia64_expand_compare): Add logic to open-code calls to
1862 _U_Qfcmp for TFmode comparisons.
1863 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
1864 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
1865 never be generated anymore.
1866 * config/ia64/ia64.md (cmptf): New expander.
1867
b38ba463
ZW
18682003-10-28 Zack Weinberg <zack@codesourcery.com>
1869
1870 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
1871 (*sqrt_approx): New instruction pattern for approximate square roots.
1872 (*setf_exp_xf): New instruction pattern for exponentiation.
1873 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
1874 (sqrtsf2_internal_thr): New define_and_split implementing
1875 throughput-optimized inline calculation of SFmode square root.
1876 (sqrtdf2_internal_thr): Likewise for DFmode.
1877 (sqrtxf2_internal_thr): Likewise for XFmode.
1878 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
1879 latency- and throughput-optimized square root algorithms.
1880 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
1881 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
1882 New macros.
1883 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
1884 -minline-sqrt-max-throughput.
1885 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
1886 and -minline-sqrt-max-throughput are given, notify the user
1887 that both options cannot be used simultaneously.
1888 If -minline-sqrt-min-latency is given, notify the user that
1889 this mode is not yet implemented.
1890 (rtx_needs_barrier): Reformat initial comment to obey
1891 72-character width limit. Support UNSPEC_SETF_EXP and
1892 UNSPEC_FR_SQRT_RECIP_APPROX.
1893
e2d0915c
AM
18942003-10-29 Alan Modra <amodra@bigpond.net.au>
1895
1896 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
1897 moves.
1898
06ba5854
FS
18992003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1900
1901 PR target/11598
1902 PR libgcj/10610
1903 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
1904
699a4925
RE
19052003-10-28 Richard Earnshaw <rearnsha@arm.com>
1906
1907 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
b38ba463 1908 an extra stack adjustment insn if the stack pointer is already
699a4925
RE
1909 pointing at the right place.
1910 (use_return_insn): Allow a return insn to be used when we have a
1911 frame pointer if the stack pointer is in the right place.
1912 (output_return_instruction): Handle it.
1913
578e8170
AJ
19142003-10-28 Andreas Jaeger <aj@suse.de>
1915
1916 * ggc-zone.c (check_cookies): Add missing variable.
1917 Add void to prototypes.
1918
525996eb
KG
19192003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1920
1921 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
1922 * crtstuff.c (__do_global_ctors_1): Move prototype.
1923 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
1924 appropriate.
1925 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
1926 Mark parameter with __attribute__((unused)).
1927
40fe4dd5
ZW
19282003-10-27 Zack Weinberg <zack@codesourcery.com>
1929
1930 * c-decl.c (pushdecl): Clarify comment.
1931
d0a74d7e
AC
19322003-10-27 Arnaud Charlet <charlet@act-europe.fr>
1933
436d7715
AC
1934 * doc/install.texi: Update instructions for Ada cross builds
1935
d0a74d7e
AC
1936 PR ada/5909:
1937 * doc/sourcebuild.texi: Document Ada test suite.
1938
e1ffc70a
SC
19392003-10-27 Stephane Carrez <stcarrez@nerim.fr>
1940
1941 * config/m68hc11/m68hc11.c: Convert to ISO C90.
1942 * config/m68hc11/m68hc11-protos.h: Likewise.
1943
aa888d0f 19442003-10-27 Jan Hubicka <jh@suse.cz>
65b19349 1945 Eric Botcazou <ebotcazou@libertysurf.fr>
aa888d0f 1946
65b19349 1947 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
aa888d0f
JH
1948 webizer pass dump.
1949
b19ee4bd
JJ
19502003-10-27 Jakub Jelinek <jakub@redhat.com>
1951 Jan Hubicka <jh@suse.cz>
1952
1953 * reload1.c (struct elim_table): Change offset, initial_offset and
1954 previous_offset fields to HOST_WIDE_INT.
1955 (offsets_at): Change from int to HOST_WIDE_INT.
1956 (reload): Adjust offsets_at initialization.
1957 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
1958 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
1959 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
1960 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
1961 if TARGET_64BIT.
1962 (pro_epilogue_adjust_stack): New function.
1963 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
1964 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
1965 (pro_epilogue_adjust_stack_1): Remove * in front of name.
1966 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
1967 (pro_epilogue_adjust_stack_rex64_2): New insn.
1968
1969 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
1970
1971 * config/i386/i386.c (ix86_expand_call): Replace 40 with
1972 FIRST_REX_INT_REG + 3 /* R11 */.
1973
501e79ef
RH
19742003-10-26 Richard Henderson <rth@redhat.com>
1975
1976 * config/alpha/alpha.md (attr cannot_copy): New.
1977 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
1978 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
1979 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
1980
b6f61163
DB
19812003-10-26 Daniel Berlin <dberlin@dberlin.org>
1982
1983 * ggc-zone.c: New file, zone allocating collector.
1984 * configure: Accept zone option for --with-gc
1985 * configure.in: Ditto.
1986 * ggc.h (ggc_pch_count_object): Pass bool indicating
1987 stringiness. Update all callers.
1988 (ggc_pch_alloc_object): Ditto.
1989 (ggc_pch_write_object): Ditto.
1990 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
1991 type.
1992 (ggc_alloc_rtvec): Ditto.
1993 (ggc_alloc_tree): Use zone allocation, since some things using this macro
1994 aren't a single typecode.
1995 * ggc-none.c (ggc_alloc_typed): New function.
1996 (ggc_alloc_zone): Ditto.
1997 * ggc-page.c: Ditto on both functions.
1998
57047680
GN
19992003-10-26 Gunther Nikl <gni@gecko.de>
2000
2001 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2002 frame information is always valid.
2003 (m68k_output_function_prologue): Remove superfluous TARGET_68881
2004 test; fix formatting.
2005
85802504
GN
20062003-10-26 Gunther Nikl <gni@gecko.de>
2007
2008 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2009 reg_rev_mask computation.
2010 (m68k_output_function_prologue): Fix usage of current_frame (one typo
2011 and one missing); use reg_rev_mask not reg_mask.
2012 (m68k_output_function_epilogue): Fix usage of current_frame;
2013 use fpu_rev_mask not fpu_mask.
2014
a89e3f21
BI
20152003-10-26 Bernardo Innocenti <bernie@develer.com>
2016
2017 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
40fe4dd5 2018 num_saved_regs, use current_frame.reg_no instead.
a89e3f21 2019
24f9c4df
BI
20202003-10-26 Bernardo Innocenti <bernie@develer.com>
2021 Paul Dale <pauli@snapgear.com>
2022
2023 * doc/extend.texi (interrupt_handler): Add m68k to the
2024 list of processors implementing it.
2025 * doc/invoke.texi (-msep-data): Document new m68k option.
2026 (-mno-sep-data): Likewise.
2027 (-mid-shared-library): Likewise.
2028 (-mno-id-shared-library): Likewise.
2029 (-mshared-library-id): Likewise.
2030
36f9cf4a
AJ
20312003-10-26 Andreas Jaeger <aj@suse.de>
2032
2033 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2034 comparison.
2035 (_Unwind_SetGR): Likewise.
2036
88704996
AJ
20372003-10-26 Ottavio Campana <ottavio@campana.vi.it>
2038
9f6e5a8c 2039 PR target/12690
88704996
AJ
2040 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2041
20422003-10-26 Gunther Nikl <gni@gecko.de>
97c55091
GN
2043
2044 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2045 comment from here to...
2046 (m68k_save_reg): ...here. Fix comment formatting.
2047 (m68k_output_function_prologue): Fix comment formatting.
2048 (m68k_output_function_epilogue): Likewise.
2049 (const_method): Likewise.
2050
b36c208a
KH
20512003-10-26 Kazu Hirata <kazu@cs.umass.edu>
2052
2053 * toplev.c (default_get_pch_validity): Guard the use of
2054 target_options with #ifdef TARGET_OPTIONS.
2055 (default_pch_valid_p): Likewise.
2056
38f9cd4c
AJ
20572003-10-26 Andreas Jaeger <aj@suse.de>
2058 Zack Weinberg <zack@codesourcery.com>
2059 Andreas Tobler <toa@pop.agri.ch>
2060
2061 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2062 (output_die): Likewise.
2063 (print_die): Likewise.
2064
d7d4cd78
AJ
20652003-10-26 Andreas Jaeger <aj@suse.de>
2066
0ab5b679
AJ
2067 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2068 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2069 dwarf2out.c change.
2070
d7d4cd78
AJ
2071 * toplev.c (default_pch_valid_p): Fix warning.
2072
077a148b
RS
20732003-10-25 Roger Sayle <roger@eyesopen.com>
2074
2075 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
2076 RTL nodes. If an operator's operands are unchanged, return the
2077 original argument unchanged.
2078
81bfdfbe
GS
20792003-10-26 Graham Stott <graham.stott@btinternet.com>
2080
2081 Fix bootstrap failure.
2082 * expmed.c (store_bit_field): Don't compare bitsize against
2083 modes with zero bit-size.
2084
2085 (extract_bit_field): Likewise
2086
799f628a
JH
20872003-10-25 Jan Hubicka <jh@suse.cz>
2088
2089 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
2090 (cfa_loc): Likewise.
2091 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
2092 HOST_WIDE_INT.
2093 (args_size, old_args_size): change type to HOST_WIDE_INT.
2094 (dwarf2out_def_cfa, dwarf2out_args_size,
2095 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
2096 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
2097 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
2098 AT_offset): Use HOST_WIDE_INT.
2099 (based_loc_descr): offset is HOST_WIDE_INT.
2100 (add_data_member): Likewise.
2101 (add_const_value_attribute): Simplify.
2102
fe9f516f
RH
21032003-10-25 Richard Henderson <rth@redhat.com>
2104
40fe4dd5
ZW
2105 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
2106 (ix86_expand_prologue): Save and restore eax around stack probe
2107 if it's live.
fe9f516f 2108
bd18496b
JH
21092003-10-25 Jan Hubicka <jh@suse.cz>
2110
2111 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
2112
b3cd99cd
EB
21132003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2114
2115 PR target/12712
2116 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
2117 if the block has no predecessors.
2118 (convert_regs_2): Document the problem with successors whose
2119 only predecessor is the block to be processed.
2120 (convert_regs): Don't create the arbitrary input stack here.
2121
02befdf4
ZW
21222003-10-24 Zack Weinberg <zack@codesourcery.com>
2123
2124 * genmodes.c (struct mode_data): Add contained and next_cont
2125 fields.
2126 (complete_mode): Maintain linked list of modes that have a
2127 given component.
2128 (emit_mode_unit_size): Delete.
2129 (emit_mode_nunits): New.
2130 (emit_insn_modes_c): Update to match.
2131 (emit_mode_adjustments): Propagate size and alignment
2132 adjustments from component modes to their containers.
2133 * machmode.h (mode_unit_size): Delete.
2134 (mode_nunits): New.
2135 (GET_MODE_NUNITS): Just return the value in the table.
2136 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
2137 GET_MODE_SIZE.
2138 * expmed.c (store_bit_field, extract_bit_field): Can use a
2139 plain move instruction if bitsize >= GET_MODE_BITSIZE of
2140 destination/source mode, respectively.
2141 * varasm.c (assemble_real): Write out the full size of the
2142 constant, not just its bitsize.
2143 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
2144
2145 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
2146 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
2147 alignment of XF and TF modes in compliance with ia64 ABIs.
2148 Can now hardwire the format of both modes.
2149 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
2150 (general_tfmode_operand, destination_tfmode_operand)
2151 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
2152 general_xfmode_operand, destination_xfmode_operand,
2153 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
2154 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
2155 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
2156 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
2157 __float128.
2158 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
2159 Change TFmode to XFmode wherever appropriate. Remove all
2160 references to INTEL_EXTENDED_IEEE_FORMAT.
2161 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
2162 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
2163 (PREDICATE_CODES): Update to match function renames.
2164 * config/ia64/ia64.md: Change TF to XF throughout; rename all
2165 patterns to match. Remove all references to
2166 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
2167 function renames.
2168 * config/ia64/ia64-protos.c: Update all prototypes to match
2169 renamed functions.
2170 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
2171 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
2172 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
2173 __divtf3; keep old name for backward compatibility.
2174 (L__compat): New section providing forwarding stubs for
2175 __fixtfti, __fixunstfti, __floattitf.
2176 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
2177
7bb1ad93
GK
21782003-10-24 Geoffrey Keating <geoffk@apple.com>
2179
2180 PR 10757
2181 * c-pch.c: Include target.h. Improve comments.
2182 (struct c_pch_validity): Add target_data_length.
2183 (pch_init): Add target's validity data.
2184 (c_common_valid_pch): Check target's validity data.
2185 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
2186 (TARGET_PCH_VALID_P): New.
2187 (TARGET_INITIALIZER): Add new fields.
2188 * target.h: Include tm.h.
2189 (struct gcc_target): Add get_pch_validity, pch_valid_p.
2190 * toplev.h (default_get_pch_validity): New prototype.
2191 (default_pch_valid_p): New prototype.
2192 * toplev.c (default_get_pch_validity): New routine.
2193 (default_pch_valid_p): New routine.
2194 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
2195 target.h with $(TARGET_H).
2196 (c-pch.o): Add TARGET_H.
2197 * doc/tm.texi (PCH Target): New node.
2198 (TARGET_GET_PCH_VALIDITY): Document.
2199 (TARGET_PCH_VALID_P): Document.
2200
65455962
KC
22012003-10-24 Kelley Cook <kcook@gcc.gnu.org>
2202
2203 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
2204 and $(docdir)/include from any *.texi dependencies.
2205 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
2206 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
2207 ($(docobjdir)/%.7): Likewise.
2208 (%.pod): New implicit rule.
02befdf4 2209 (cpp.pod): New dependency only rule.
65455962
KC
2210 (gcc.pod): New intermediate rule with dependencies and commands.
2211 (gfdl.pod): Likewise.
2212 (fsf-funding.pod): Likewise.
2213
7a24bb87
NN
22142003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
2215
2216 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
2217 related code.
2218 * fixinc/fixinc.ptx: Remove.
2219 * fixinc/fixinc.svr4: Remove.
2220
c19ec8f9
UW
22212003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
2222
2223 * config/s390/s390.c (load_multiple_operation): Allow both SImode
2224 and DImode if word_mode is DImode.
2225 (store_multiple_operation): Likewise.
2226 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
2227 ("*load_multiple_di"): Allow only if word_mode == DImode.
2228 ("movqi"): Use LLGC whenever TARGET_ZARCH.
2229 ("fix_truncdfsi2"): Fix incorrect temporary size.
2230 ("fix_truncsfsi2"): Likewise.
2231 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
2232 string for function return value operand.
2233 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
2234
88682ff6
JM
22352003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
2236
2237 * c-parse.in (array_declarator): Use expr_no_commas.
2238 Fixes PR c/11943.
2239
3d39f007
RS
22402003-10-24 Richard Sandiford <rsandifo@redhat.com>
2241
2242 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
2243 associated includes in #ifndef inhibit_libc.
2244
f9225794
RS
22452003-10-24 Roger Sayle <roger@eyesopen.com>
2246
2247 * doc/libgcc.texi: Document some more of the libgcc API.
2248
c769a35d
RE
22492003-10-24 Richard Earnshaw <rearnsha@arm.com>
2250
2251 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
2252 comparing a constant with small negative numbers and add costing
2253 for constants in conjunction with AND.
2254 (note_invalid_constants): Tidy previous change.
2255 (thumb_cmp_operand): Tidy.
2256 (thumb_cmpneg_operand): New function.
2257 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
2258 for size.
2259 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
2260 (PREDICATE_CODES): Add thumb_cmpneg_operand.
2261 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
2262 with a negative constant.
2263 (cbranchsi4_insn): Matcher for cbranchsi4.
2264 (cbranchsi4_scratch): Similar, but a scratch is available for
2265 handling negative constants.
2266 (movsi_cbranchsi4): New pattern.
2267 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
2268 and use the TST instruction.
2269 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
2270 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
2271 cannot see high regs or memory alternatives.
2272 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
2273
244b1afb
RE
22742003-10-24 Richard Earnshaw <rearnsha@arm.com>
2275
2276 * arm.c (note_invalid_constants): Try to extract the constant
2277 pool value using avoid_constant_pool_reference; only use
2278 get_pool_constant if that returns the original reference.
2279
0f334035
JH
22802003-10-24 Jan Hubicka <jh@suse.cz>
2281
2282 PR c++/12624
2283 * varasm.c (notice_global_symbol): Disqualify global registers.
2284
1b24cd79
RS
22852003-10-23 Roger Sayle <roger@eyesopen.com>
2286
2287 PR middle-end/11414
2288 * loop.c (load_mems): Use redirect_jump to forward jumps from
2289 the original loop end label to the new "loop sink" block's label.
2290
c7d91a94
RS
22912003-10-23 Roger Sayle <roger@eyesopen.com>
2292
2293 PR middle-end/12705
2294 * optabs.c (expand_binop): When expanding complex operations
2295 inline, always calculate result into a new temporary register.
2296 Minor code clean-ups.
2297
7989e4dc
RO
22982003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2299
2300 * objc/lang-specs.h: Handle -print-objc-runtime-info.
2301 * doc/invoke.texi (Objective-C Dialect Options): Document it.
2302
f5c64a69
DS
23032003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
2304
034f2316 2305 * config/i386/cygwin.asm: Add copyright notice. Add comment
f5c64a69
DS
2306 on why this code is needed.
2307
846d57c7 23082003-10-23 Kazu Hirata <kazu@cs.umass.edu>
e11f4e4d
KH
2309
2310 * config/h8300/clzhi2.c: Fix warnings.
2311 * config/h8300/ctzhi2.c: Likewise.
2312 * config/h8300/fixunssfsi.c: Likewise.
2313 * config/h8300/parityhi2.c: Likewise.
2314 * config/h8300/popcounthi2.c: Likewise.
2315
1e529a73
JW
23162003-10-23 James E Wilson <wilson@specifixinc.com>
2317
2318 * gcc.c (option_map): Delete --target and --use-version.
2319
0e67400a
FJ
23202003-10-23 Fariborz Jahanian <fjahanian@apple.com>
2321 David Edelsohn <edelsohn@gnu.org>
2322
2323 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
2324 TARGET_POWREPC64.
2325 (UNITS_PER_GPR_WORD): Define.
2326 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
2327 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2328 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
2329 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
2330 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
2331 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
2332 (rs6000_emit_prologue): Select reg_mode and reg_size using
2333 TARGET_32BIT, not TARGET_POWERPC64.
2334 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
2335 ABI / 64-bit computation mode
2336
00503146
AH
23372003-10-22 Andrew Haley <aph@redhat.com>
2338
2339 * toplev.c (output_file_directive): Allow for null input_name.
2340
448ec26c
WH
23412003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
2342
2343 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
2344
941ba69d
CD
23452003-10-22 Chris Demetriou <cgd@broadcom.com>
2346
2347 * configure.in: In --enable-generated-files-in-srcdir option
2348 handling, fix default case handling.
2349 * configure: Regenerate.
2350
55047c9d
PE
23512003-10-22 Phil Edwards <phil@codesourcery.com>
2352
2353 * config.gcc: Update *-*-vxworks* generic hook and comments.
2354 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
2355 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
2356 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
2357 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
2358 * config/windiss.h: New file.
2359 * config/arm/t-vxworks: New file.
2360 * config/arm/vxworks.h: New file.
2361 * config/i386/t-vxworks: New file.
2362 * config/i386/vxworks.h: New file.
2363 * config/mips/t-vxworks: New file.
2364 * config/mips/vxworks.h: New file.
2365 * config/mips/windiss.h: New file.
2366 * config/sh/t-vxworks: New file.
2367 * config/sh/vxworks.h: New file.
2368
3cfa3702
KH
23692003-10-22 Kazu Hirata <kazu@cs.umass.edu>
2370
2371 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
2372 (h8300_saveall_function_p): New.
2373 (h8300_insert_attributes): Insert the saveall attribute if
2374 #pragma saveall is specified.
2375 (h8300_attribute_table): Add saveall.
2376 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
2377 * doc/extend.texi: Mention the saveall attribute.
2378
dc70e81d
JM
23792003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
2380
2381 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
2382 deprecation of casts as lvalues.
2383 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
2384 * fixinc/fixincl.x: Regenerate.
2385 * fixinc/tests/base/obstack.h: New test.
2386
218d5a87
AS
23872003-10-22 Andreas Schwab <schwab@suse.de>
2388
2389 PR target/12676
2390 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
2391 LP64 platforms.
2392
ae0f3477
JH
23932003-10-22 Jan Hubicka <jh@suse.cz>
2394
c769a35d
RE
2395 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
2396 presence of DW_AT_inline.
2397 (gen_subprogram_die): Likewise; do not abort instead of emitting
2398 DW_AT_not_inline.
ae0f3477 2399
190f08bd
JH
24002003-10-22 Jan Hubicka <jh@suse.cz>
2401
2402 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
2403 global info is not ready.
2404
dbacaa98
KH
24052003-10-22 Kazu Hirata <kazu@cs.umass.edu>
2406
2407 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
2408
b9404c99
UW
24092003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
2410
2411 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
2412 ("*movstr_short"): ... into this insn pattern.
2413 ("movstr_short"): New expander.
2414 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
2415 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
2416 ("movstr_long"): New expander.
2417 ("clrstr_short_64", "clrstr_short_31"): Merge ...
2418 ("*clrstr_short"): ... into this insn pattern.
2419 ("clrstr_short"): New expander.
2420 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
2421 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
2422 ("clrstr_long"): New expander.
2423 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
2424 ("*cmpmem_short"): ... into this insn pattern.
2425 ("cmpmem_short"): New expander.
2426 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
2427 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
2428 ("cmpmem_long"): New expander.
2429 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
2430 (s390_expand_clrstr): Likewise.
2431 (s390_expand_cmpmem): Likewise.
2432
926a822f
MM
24332003-10-22 Mark Mitchell <mark@codesourcery.com>
2434
2435 * c-pch.c (struct c_pch_validity): Add pch_init field.
2436 (pch_init): Set it.
2437 (c_common_valid_pch): Check it.
926a822f 2438
a354c7d6
DT
24392003-10-22 David Taylor <dtaylor@emc.com>
2440
2441 PR debug/12500
2442 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
2443
77c018b7
RK
24442003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2445
2446 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
2447 alpha_return_in_memory if no VALTYPE specified.
2448
1bb17c21
JH
24492003-10-22 Jan Hubicka <jh@suse.cz>
2450
2451 PR debug/12389
2452 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
2453 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
2454 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
2455 (cgraph_global_info): Add flag inlined
2456 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
2457 cgraph_function_possibly_inded_p
2458 * cgraphunit.c (mark_inline): Set inlined flag.
2459 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
2460 only for possibly inlined functions.
2461 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
2462 body of function.
2463
907393db
AH
24642003-10-22 Andrew Haley <aph@redhat.com>
2465
2466 * varasm.c (output_constructor): Make constructor annotation
2467 conditional on ASM_COMMENT_START.
2468
40aae178
JM
24692003-10-21 Jason Merrill <jason@redhat.com>
2470
e64a6f2c
JM
2471 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
2472 (get_narrower): Likewise.
2473
40aae178
JM
2474 * stor-layout.c (layout_decl): Do packed field alignment for
2475 bit-fields, too.
2476
450b1728
EC
24772003-10-21 Eric Christopher <echristo@redhat.com>
2478
2479 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
2480
7451756f
GK
24812003-10-21 Geoffrey Keating <geoffk@apple.com>
2482
2483 * c-pch.c: Add comments in various places.
2484 (struct c_pch_validity): Add the lengths of various strings.
2485 (host_machine): New static.
2486 (target_machine): New static.
2487 (get_ident): Bump version number.
2488 (pch_init): Write out version, host, target validity data.
2489 (c_common_valid_pch): Check version, host, target.
2490 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
2491 TARGET_MACHINE.
2492
c25d44dd
JM
24932003-10-21 Jason Merrill <jason@redhat.com>
2494
2495 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
2496 (EXPR_P): New macro.
2497
5634cf72
ZW
24982003-10-21 Zack Weinberg <zack@codesourcery.com>
2499
2500 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
2501 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
2502 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
2503 DImode. Use convert_move to load ar.ccv.
2504 (ia64_expand_compare_and_swap): Likewise.
2505 If expand_expr doesn't put 'old' and 'new' in the proper
2506 modes, run them through convert_to_mode.
2507
25f93e18
EC
25082003-10-21 Eric Christopher <echristo@redhat.com>
2509
2510 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
2511 for too large bitfields.
2512
c3220510
MM
25132003-10-21 Mark Mitchell <mark@codesourcery.com>
2514
2515 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
2516
bce988a2
AH
25172003-10-21 Andrew Haley <aph@redhat.com>
2518
2519 * varasm.c (output_constructor): Annotate constructor.
2520
3d56d025
MM
25212003-10-21 Mark Mitchell <mark@codesourcery.com>
2522
2523 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
2524 on existence of destination file.
2525
43997658
JH
25262003-10-21 Jan Hubicka <jh@suse.cz>
2527
2528 * haifa-sched.c (choose_ready): Initialize index.
2529
064ee155
JM
25302003-10-21 Jason Merrill <jason@redhat.com>
2531
2532 * tree.c (build1): Fix off-by-one error.
2533
448ec26c 25342003-10-21 Robert Millan <robertmh@gnu.org>
e2befd7d
RM
2535
2536 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
2537 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
2538 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
2539 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
2540
2426d8dd
EB
25412003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2542
2543 * web.c: Fix various comments.
2544
be03ccc9
NP
25452003-10-20 Nicolas Pitre <nico@cam.org>
2546
2547 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
2548 to 2 instead of 1 when optimize_size is true. Gather code based on
2549 optimize_size together. Add comment about XScale load latency.
2550
802f1b93
GN
25512003-10-21 Gunther Nikl <gni@gecko.de>
2552
2553 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
2554 obsolete comments.
2555
51b9ff45
KC
25562003-10-20 Kelley Cook <kcook@gcc.gnu.org>
2557
2558 * Makefile.in: Get parsedir and docobjdir from configure.
2559 * configure.in: Recogonize --enable-generated-files-in-srcdir.
2560 Pass along parsedir and docobjdir.
2561 * configure: Regenerate.
2562 * doc/install.texi: Document --enable-generated-files-in-srcdir.
2563
d790dd9f
KC
25642003-10-20 Kelley Cook <kcook@gcc.gnu.org>
2565
2566 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
2567 included.
2568
ac054e28
JM
25692003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2570
2571 * c-common.c (expand_tree_builtin): Ensure creal and cimag
2572 functions do not return lvalues.
2573
2038bd69
JM
25742003-10-20 Jason Merrill <jason@redhat.com>
2575
2576 PR c/12553
2577 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
2578 appropriately.
2579
2580 PR c/11446
2581 * stor-layout.c (layout_decl): Fix alignment handling.
2582
02601a5c
JM
25832003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2584
2585 * doc/extend.texi: Deprecate casts as lvalues.
2586
d4d1ebc1
JH
25872003-10-20 Jan Hubicka <jh@suse.cz>
2588
2589 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
2590
2591 * cgraphunit.c (decide_is_function_needed): Fix test dealing
2592 with functions implicitly made inline.
2593
2594 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
2595 (cgraph_finalize_function): Use it.
2596 (cgraph_mark_inline): Allow incrmental decisions
2597 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
2598 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
2599 * tree-inline.c (limits_allow_inlining): Kill.
2600 (expand_call_inline): Always use unit-at-a-time path.
2601
ce01559b
ZW
26022003-10-20 Zack Weinberg <zack@codesourcery.com>
2603
2604 * fixinc/inclhack.def (hpux11_snprintf): New edit.
2605 * fixinc/fixincl.x: Regenerate.
2606 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2607
97ae108d
MM
26082003-10-20 Mark Mitchell <mark@codesourcery.com>
2609
2610 * Makefile.in (install-info): Simplify.
2611 ($(DESTDIR)$(infodir)/%.info): New rule.
2612 * configure.in (target_list): Remove install-info.
2613 * doc/.cvsignore (gcc.info*): Remove.
2614 (gccint.info*): Likewise.
2615 (gccinstall.info*): Likewise.
2616 (cpp.info*): Likewise.
2617 (cppinternals.info*): Likewise.
2618 (*.info*): Add it.
2619 * doc/sourcebuild.texi: Update description of install-info.
2620 * objc/Make-lang.in (objc.install-info): Remove.
2621
27d54b2a
RO
26222003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2623
2624 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
2625 Use it in _MIPS_SIM definition.
2626 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2627
480feac0
ZW
26282003-10-20 Zack Weinberg <zack@codesourcery.com>
2629
2630 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
2631 virtual register, but only if file == asm_out_file.
2632 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
2633 for ARG_POINTER_REGNUM.
2634
d1d3865f
ZW
26352003-10-20 Zack Weinberg <zack@codesourcery.com>
2636
2637 * c-common.c (registered_builtin_types): New static.
2638 (c_common_type_for_mode): Consult registered_builtin_types.
2639 (c_register_builtin_type): Add type to registered_builtin_types.
2640 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
2641 all MODE_FLOAT modes, not just the ones corresponding to
2642 float_type_node, double_type_node, and long_double_type_node.
2643
df2ddbb3
RH
26442003-10-20 Richard Henderson <rth@redhat.com>
2645
2646 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
2647 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
2648
cbe26ab8
DN
26492003-10-20 Dorit Naishlos <dorit@il.ibm.com>
2650
d1d3865f 2651 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
cbe26ab8
DN
2652 support new flag -minsert-sched-nops.
2653 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
d1d3865f
ZW
2654 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
2655 support new flag -minsert-sched-nops.
cbe26ab8
DN
2656 (is_cracked_insn, is_microcoded_insn): New functions.
2657 (rs6000_sched_finish): New function.
2658 (rs6000_issue_rate): Return 5 for power4.
d1d3865f 2659 (get_next_active_insn, insn_terminates_group_p): New
cbe26ab8
DN
2660 functions.
2661 (is_costly_group, force_new_group): New functions.
2662 (redefine_groups, pad_groups): New functions.
2663 (rs6000_variable_issue): Use new functions.
2664 * doc/invoke.texi (-minsert-sched-nops): Document new
2665 option.
2666
59823ba4
DM
26672003-10-20 David S. Miller <davem@redhat.com>
2668
2669 * config/sparc/sparc.md (type attribute): Add new insn types
2670 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
2671 (patterns emitting VIS insns): Use them.
2672 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
2673 * config/sparc/ultra3.md: Likewise.
2674
e006ced2
FH
26752003-10-20 Falk Hueffner <falk@debian.org>
2676
2677 PR target/12654
2678 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
2679 comparison against constant by adjusting the argument except for
2680 EQ and NE.
2681
81f9037c
MM
26822003-10-19 Mark Mitchell <mark@codesourcery.com>
2683
2684 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
2685 arm1136jfs, and armv6j.
2686 * config/arm/arm.c (FL_ARCH6J): New macro.
2687 (FL_VFPV2): Likewise.
2688 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
2689 and arm1136jfs.
2690 (all_architectures): Add entry for armv6j.
2691 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
2692 arm1136js, and arm1136jfs.
2693 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
2694 (TARGET_CPU_arm1026ej_s): Likewise.
2695 (TARGET_CPU_arm1136j_s): Likewise.
2696 (TARGET_CPU_arm1136jf_s): Likewise.
2697 * doc/invoke.texi: Document new ARM cores and architecture
2698 variants.
d1d3865f 2699
fca9dc00
ZD
27002003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2701
2702 * Makefile.in (toplev.o): Add value-prof.h dependency.
2703 (value-prof.o): Add REGS_H dependency.
2704 * common.opt (fprofile-values, fvpt): New.
2705 * flags.h (flag_value_profile_transformations): Declare.
2706 * opts.c (common_handle_option): Handle -fprofile_values and
2707 -fvpt.
2708 * profile.c (branch_prob): Don't remove death notes here.
2709 * timevar.def (TV_VPT): New.
2710 * value-prof.c: Include regs.h.
2711 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
2712 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
2713 mod_subtract_transform, value_profile_transformations): New.
2714 (insn_values_to_profile): Call insn_divmod_values_to_profile.
2715 (find_values_to_profile): Add dumps.
2716 * value-prof.h (value_profile_transformations): Declare.
2717 * toplev.c: Include value-prof.h.
2718 (rest_of_handle_value_profile_transformations): New.
2719 (enum dump_file_index): Add DFI_vpt.
2720 (dump_file): Add vpt dump.
2721 (flag_value_profile_transformations): New.
2722 (lang_independent_options): Add flag_profile_values and
2723 flag_value_profile_transformations.
2724 (rest_of_compilation): Call
2725 rest_of_handle_value_profile_transformations.
2726 (process_options): Let -fvpt imply -fprofile-values.
2727 * doc/invoke.texi (-fvpt): Document.
2728
cb0bc263
JH
27292003-10-19 Jan Hubicka <jh@suse.cz>
2730
2731 * i386.c (print_reg): Do not abort on certain registers.
2732
2733 PR optimization/12612
2734 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
2735 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
2736 match_scratch; avoid bogus paralles.
2737
2738 PR target/12674
2739 * i386.c (ix86_function_regparm): Disable implicit register passing
2740 conventions when profiling.
2741
707e58b1 27422003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
d1d3865f 2743 Richard Henderson <rth@redhat.com>
707e58b1
EB
2744
2745 PR optimization/8178
2746 * config/i386/i386.md (*movsi_zero): Delete.
2747 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
2748
64bb2e1d
RH
27492003-10-19 Richard Henderson <rth@redhat.com>
2750
2751 * config/alpha/alpha.c (fix_operator): New.
2752 (divmod_operator): Tidy.
2753 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
2754 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
2755 (PREDICATE_CODES): Update.
2756 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
2757 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
2758 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
2759 (fix_truncsfdi_ieee): Likewise.
2760 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
2761 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
2762 * config/alpha/alpha-protos.h: Update.
2763
91999e1d
RS
27642003-10-19 Richard Sandiford <rsandifo@redhat.com>
2765
2766 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
2767 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
2768 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
f74c81d5 2769 constant operands.
91999e1d 2770
9c2d4260
KH
27712003-10-18 Kazu Hirata <kazu@cs.umass.edu>
2772
2773 * doc/extend.texi: Fix typos.
2774 * doc/invoke.texi: Likewise.
2775
591af218
NP
27762003-10-18 Nicolas Pitre <nico@cam.org>
2777
2778 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
2779 XScale optimizations not arm_arch_xscale.
2780 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
2781
ac32b25e
UW
27822003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
2783
2784 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
2785 * config/s390/s390.c (shift_count_operand): New function.
2786 (s390_extra_constraint): Use it to implement 'Y' constraint.
2787 (print_shift_count_operand): New function.
2788 (print_operand): Use it to implement '%Y'.
2789 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
2790 (PREDICATE_CODES): Add shift_count_operand.
d1d3865f 2791 * config/s390/s390.md ("rotldi3"): Merge alternatives,
ac32b25e
UW
2792 using "shift_count_operand" predicate and "Y" constraint,
2793 and "%Y" to output the combined shift count.
2794 ("rotlsi3"): Likewise.
2795 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
d1d3865f 2796 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
ac32b25e
UW
2797 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
2798 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
2799 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
2800 ("lshrsi3"): Likewise.
2801
3f12a2e0
GN
28022003-10-18 Gunther Nikl <gni@gecko.de>
2803
2804 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
2805 argument to asm_fprintf statement.
2806
6074164e
FJ
28072003-10-18 Fariborz Jahanian <fjahanian@apple.com>
2808
d1d3865f
ZW
2809 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
2810 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
2811 a "long long" argument.
6074164e 2812
ad7e39ca
AO
28132003-10-18 Alexandre Oliva <aoliva@redhat.com>
2814
2815 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
2816 as well.
2817
e1de1560
RS
28182003-10-18 Richard Sandiford <rsandifo@redhat.com>
2819
2820 * rtl.h (rtl_size): Declare.
2821 (rtunion): Remove rtwint.
2822 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
2823 (RTX_HDR_SIZE, RTX_SIZE): New macros.
2824 (RTL_CHECK1): Adjust for new rtx_def layout.
2825 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
2826 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
2827 (X0WINT): Remove.
2828 (X0ANY): New macro.
2829 * rtl.def: Adjust comments for new rtx_def layout.
2830 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
2831 number of slots.
2832 * rtl.c (rtx_size): New array.
2833 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
2834 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
2835 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
2836 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
2837 * emit-rtl.c (copy_most_rtx): Likewise.
2838 (copy_rtx_if_shared): Use RTX_SIZE.
2839 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
2840 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
2841 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
2842 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
2843 an array. Adjust output for new rtx_def layout.
2844 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
2845 * reload1.c (eliminate_regs): Use RTX_SIZE.
2846 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
2847 * gdbinit.in (pi): Likewise.
2848
99ceae26
JH
28492003-10-18 Jan Hubicka <jh@suse.cz>
2850
2851 * integrate.c (copy_decl_for_inlining): Revert previous patch.
2852
8a2b3848
JH
28532003-10-18 Jan Hubicka <jh@suse.cz>
2854
2855 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
2856
dafee8e3
RS
28572003-10-18 Roger Sayle <roger@eyesopen.com>
2858
2859 * libgcc.texi: Group multi-word types, such as "long double" and
2860 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
2861 Document __unord?f2 as returning a non-zero value, not just one.
2862
3a198a72
HPN
28632003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
2864
2865 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
2866 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
2867
a74f2487
EB
28682003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2869
2870 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
2871 match_operand.
2872
cde85594
EB
28732003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2874
2875 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
2876 parameter packed_p. Search for a DECL_PACKED field only if
2877 packed_p is false. Pass packed_p recursively.
2878 (function_arg_record_value_2): Likewise.
2879 (function_arg_record_value): Update calls to
2880 function_arg_record_value_1 and function_arg_record_value_2.
2881
9d8de1de
EB
28822003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2883
2884 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
2885 was successfully forced to memory before using the result.
2886
67e53009
EB
28872003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2888
2889 PR optimization/8178
2890 * config/i386/i386.md (*movsi_zero): New insn to set
2891 a register to zero on TARGET_USE_MOV0 targets.
2892
fca086c1
KC
28932003-10-18 Kelley Cook <kcook@gcc.gnu.org>
2894
2895 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
2896 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
2897
2206e783
DE
28982003-10-17 David Edelsohn <edelsohn@gnu.org>
2899
2900 * doc/invoke.texi (gcse-las): Fix typo.
2901
1b49d06f
AP
29022003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2903
a755e3c5
AP
2904 * doc/install.texi: Remove first part of the sentence for
2905 zsh not working. Change gcc to GCC.
2906
1b49d06f 2907 PR bootstrap/12546
d1d3865f 2908 * doc/install.texi: Document that zsh does not work when
1b49d06f
AP
2909 configuring gcc.
2910
8a765788
NN
29112003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
2912
2913 * config/ptx4.h: Switch to DWARF 2; update comments.
2914
b4a62fa0
SB
29152003-10-17 Segher Boessenkool <boessen@de.ibm.com>
2916 Hartmut Penner <hpenner@de.ibm.com>
2917
eb0c90bd 2918 PR 10404, partial 11591, partial 11601
b4a62fa0
SB
2919 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
2920 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
2921 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
2922 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
2923 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
2924 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
2925 (altivec_expand_stv_builtin): Adjust for the memory_operand.
2926 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
2927 (altivec_init_builtins): Use `long int' for memory offsets.
2928
7260e9a0
JH
29292003-10-17 Jan Hubicka <jh@suse.cz>
2930
2931 * opts.c (common_handle_option): Handle OPT_fweb
2932 * invoke.texi (-fweb): Add missing parts of documentation.
2933
b8557e37
RO
29342003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2935
2936 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
2937 before redefinition.
2938
f5f2e3cd
MH
29392003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
2940
2941 * common.opt: Add description of the new -fgcse-las flag.
2942 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
2943 * gcse.c (hash_scan_set): Handle the case of store expression and
2944 insert the memory expression to the hash table, this way we make it
2945 possible to discover redundant loads after stores and remove them.
2946 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
2947 to pre_insert_copies, it is not the correct place to call it after
2948 adding stores to be in the available expression hash table.
2949 (pre_insert_copies): Added the call to update_ld_motion_stores when
2950 one or more copies were inserted.
2951 * opts.c (common_handle_option): Handle the -fgcse-las flag.
2952 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
2953
2954 * doc/invoke.tex: Document new -fgcse-las flag.
2955
1b2d6edd
AM
29562003-10-18 Alan Modra <amodra@bigpond.net.au>
2957
5511bc2e
AM
2958 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
2959 for posterity, then remove it.
1b2d6edd 2960
efc2515b
RE
29612003-10-17 Richard Earnshaw <rearnsha@arm.com>
2962 Nathan Sidwell <nathan@codesourcery.com>
2963
2964 * config/arm/arm.c (use_return_insn): Not a single instruction, if
2965 there's a frame pointer.
2966 (arm_output_epilogue): Protect stack pointer from being corrupted
2967 on interrupt.
2968
51a785a0
UW
29692003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
2970
2971 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
2972
2051c897
UW
29732003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
2974
2975 * combine.c (simplify_set): Do not clear out undobuf.other_insn
2976 already set elsewhere.
2977
b1177d69
KC
29782003-10-17 Kelley Cook <kcook@gcc.gnu.org>
2979
2980 * config/i386/i386.c (ix86_expand_prologue): Use
2981 gen_allocate_stack_worker.
2982
3c7404d3
RO
29832003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2984
2985 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
2986 without gas.
2987 (mips-sgi-irix6*): Likewise.
2988
2989 * config/mips/iris6gas.h: New file.
2990 * gcc/config.gcc (mips-sgi-irix6*): Use it.
2991
2992 * config/mips/mips.h (TARGET_IRIX): Provide default.
2993 (TARGET_IRIX5): Likewise.
2994 (TARGET_SGI_O32_AS): Likewise.
2995 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
2996 (TARGET_IRIX5): Likewise.
2997 * config/mips/iris6.h (TARGET_IRIX6): Remove.
2998 (TARGET_IRIX5): Redefine as 0.
2999
3000 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3001 linker workaround with TARGET_IRIX and mips_abi instead of
3002 ASM_OUTPUT_UNDEF_FUNCTION.
3003 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3004 testing TARGET_IRIX and mips_abi explicitly.
3005 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3006 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3007
3008 * config/mips/mips.c (irix_output_external_libcall): Renamed from
3009 mips_output_external_libcall.
3010 Use new TARGET_IRIX in guard.
3011 * config/mips/mips-protos.h (irix_output_external_libcall): Match
3012 this.
3013 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3014
3015 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3016 Define as 0.
3017
3018 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
d1d3865f 3019 depending on mips_abi.
3c7404d3
RO
3020 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3021 * config/mips/mips.c (mips_output_function_prologue): Test
3022 FUNCTION_NAME_ALREADY_DECLARED at runtime.
3023 (mips_output_function_epilogue): Likewise.
3024 (build_mips16_function_stub): Likewise.
3025 (build_mips16_call_stub): Likewise.
3026 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3027 default.
d1d3865f 3028
3c7404d3
RO
3029 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3030 IRIX 6 O32 assembler.
3031 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3032 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3033 _MIPS_SIM for O32 ABI.
3034 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3035 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3036 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3037 Integrate O32 version.
3038 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3039 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3040 O32 ABI.
3041 (BSS_SECTION_ASM_OP_32): Define.
3042 (BSS_SECTION_ASM_OP_64): Likewise.
3043 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3044 using them.
3045 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3046 Move up to allow override for O32 ABI without GNU as.
3047 (EH_FRAME_SECTION_NAME): Define explicitly.
3048 (MUST_USE_SJLJ_EXCEPTIONS): Define.
3049 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
3050 DTORS_SECTION_ASM_OP): Dummy definitions.
d1d3865f 3051 (TARGET_ASM_NAMED_SECTION): Undef statically.
3c7404d3
RO
3052 (EH_FRAME_SECTION_NAME): Likewise.
3053 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
3054 (LINK_SPEC): Only use default options -call_shared -no_unresolved
3055 without -r.
3056 Don't pass -init, -fini with -mabi=32.
3057 (COLLECT_PARSE_FLAG): Define.
3058
3059 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
3060 TARGET_IRIX.
3061 Renamed to use irix_ prefix.
3062 (iris6_asm_named_section): Likewise.
3063 (iris_section_align_entry_eq): Likewise.
3064 (iris_section_align_entry_hash): Likewise.
3065 (iris6_file_start): Likewise.
3066 (iris6_section_align_1): Likewise.
3067 (iris6_file_end): Likewise.
3068 (iris6_section_type_flags): Likewise.
3069 (iris_section_align_htab): Likewise.
3070 (iris_orig_asm_out_file): Likewise.
3071 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
3072 (TARGET_ASM_FILE_END): Likewise.
3073 (TARGET_SECTION_TYPE_FLAGS): Likewise.
3074
3075 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
3076 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
3077 override_options instead.
3078 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
3079 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
3080 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
3081 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
3082 assemblers.
3083 Likewise for constructor/destructor handling.
3084 (override_options): Handle IRIX O32 assembler quirks.
3085 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
3086 without gas.
3087 (mips_file_start): Use new TARGET_IRIX.
3088 (mips_declare_object_name): No special processing for IRIX O32
3089 assembler.
3090 (mips_finish_declare_object): Likewise.
3091 (irix_asm_output_align): Renamed from iris6_asm_output_align.
3092 Don't record alignment for O32 ABI.
3093 (irix_file_start): Renamed from iris6_file_start.
3094 Return early for O32 ABI.
3095 (irix_file_end): Renamed from iris6_file_end.
3096 Don't emit .section directives for O32 ABI.
3097 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
3098 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
3099
3100 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
3101 (MULTILIB_OSDIRNAMES): Likewise.
3102
5f31e9bc
RO
31032003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3104
3105 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
3106 (main): Use it.
3107 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
3108
defc0463
RE
31092003-10-17 Richard Earnshaw <rearnsha@arm.com>
3110
3111 * arm-modes.def (CC_Nmode): New condition code mode.
3112 * arm.c (thumb_condition_code): Delete.
3113 (arm_select_cc_mode): Handle single-bit test for Thumb.
d1d3865f 3114 (arm_print_operand, cases 'd' and 'D'): Don't special case the
defc0463
RE
3115 condition code logic for Thumb.
3116 (get_arm_condition_code): Handle CC_Nmode.
3117 (thumb_cbrch_target_operand): New function.
3118 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
3119 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
3120 * arm.md: Add Thumb split patterns for zero_extract and
3121 sign_extract.
3122 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
3123 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
3124 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
3125 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
3126 (cbranchne_decr1): Re-work to use CC_Nmode.
3127
d1d3865f 3128 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
defc0463
RE
3129 by the return instruction. Add a use of the link register if it
3130 wasn't stored.
3131
38b2a605
RE
31322003-10-17 Richard Earnshaw <rearnsha@arm.com>
3133
3134 * flow.c (init_propagate_block_info): Don't abort if a conditional
3135 jump is not a comparison of a register. Instead, just don't record
3136 conditional life information.
3137
8f00386e
JH
31382003-10-16 Jan Hubicka <jh@suse.cz>
3139
3140 PR optimization/12630
3141 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
3142 for operands 7 and 8.
3143
dc17fe76
KC
31442003-10-16 Kelley Cook <kcook@gcc.gnu.org>
3145
3146 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
3147
1e8a5248
DS
31482003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
3149
3150 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
3151
3152 * config/i386/winnt.c (gen_stdcall_suffix): Make static
3153 (gen_fastcall_suffix): Likewise.
3154 (i386_pe_dllexport_p): Likewise.
3155 (i386_pe_dllimport_p): Likewise.
3156 (i386_pe_mark_dllexport): Likewise.
3157 (i386_pe_mark_dllimport): Likewise.
3158 (i386_pe_asm_named_section): Fix formatting.
3159
236ce4b2
ZW
31602003-10-16 Zack Weinberg <zack@codesourcery.com>
3161
3162 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
3163 * system.h: Declare snprintf if necessary.
3164 * configure, config.in: Regenerate.
3165
10f30fa8
DE
31662003-10-15 David Edelsohn <edelsohn@gnu.org>
3167
3168 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4aa4bf39 3169 arguments if TARGET_ALTIVEC_ABI.
10f30fa8 3170
5bb650ec
RS
31712003-10-15 Roger Sayle <roger@eyesopen.com>
3172
3173 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
3174 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
3175 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
3176 New functions.
3177 (expand_builtin_memcpy): Use integer_zerop instead of testing
3178 host_integerp and tree_low_cst directly. Move misapplied hunk
3179 for optimization wher SRC and DEST point to the same location.
3180 (expand_builtin_mempcpy): From here.
3181 (expand_builtin_memmove): Use integer_zerop instead of testing
3182 host_integerp and tree_low_cst_directly.
3183 (expand_builtin_memset): Likewise.
3184 (expand_builtin_memcmp): Likewise (and for integer_onep).
3185 (expand_builtin_strncmp): Likewise.
3186 (fold_builtin): Call the appropriate fold_builtin_foo functions
3187 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
3188 strcmp and strncmp.
3189
6f94a68e
GK
31902003-10-15 Geoffrey Keating <geoffk@apple.com>
3191
3192 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
3193 prototype. Clean up some whitespace.
236ce4b2
ZW
3194 * config/darwin.c: Use gen_rtx_FOO (...) rather than
3195 gen_rtx (FOO, ...).
6f94a68e
GK
3196 (machopic_non_lazy_ptr_name): Make static.
3197 (name_needs_quotes): Allow '.' and '$' unquoted.
3198 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
3199 case.
236ce4b2 3200
a352244f
GL
3201