]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
cppopts.texi: Use of -idirafter...
[gcc.git] / gcc / ChangeLog
CommitLineData
66ec7e69
PE
12003-12-29 Phil Edwards <phil@codesourcery.com>
2
3 * doc/cppopts.texi: Use of -idirafter, -iprefix, -iwithprefix, and
4 -iwithprefixbefore is not discouraged.
5
315d849a
MH
62003-12-28 Mostafa Hagog <mustafa@il.ibm.com>
7
8 * sbitmap.c (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg,
9 sbitmap_a_xor_b_cg): Accumulate "changed" properly.
10 (sbitmap_not): Zero all bits past n_bit.
11
bf86d71e
ZD
122003-12-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13
14 PR opt/13159
15 * cfgloopanal.c (mark_irreducible_loops): Fix the strongly connected
16 components detection.
17 * loop-unswitch.c (unswitch_loop): Preserve simple preheaders.
18
9bd85baa
BI
192003-12-27 Bernardo Innocenti <bernie@develer.com>
20
21 * config/m68k/uclinux.h (LIB_SPEC): Add elf2flt magic required for
22 correct linking of executables using id-based shared libraries.
23
8d531ab9
KH
242003-12-27 Kazu Hirata <kazu@cs.umass.edu>
25
26 * config/i386/i386-interix.h: Remove uses of "register"
27 specifier in declarations of arguments and local variables.
28 * config/i386/i386.c: Likewise.
29 * config/i386/i386elf.h: Likewise.
30 * config/i386/ptx4-i.h: Likewise.
31 * config/i386/sysv4.h: Likewise.
32
3364872d
FJ
332003-12-26 Fariborz Jahanian <fjahanian@apple.com>
34 Geoffrey Keating <geoffk@apple.com>
35 David Edelsohn <edelsohn@gnu.org>
36
37 * config/rs6000/rs6000.c (legitimate_offset_address_p): Do not
38 restrict DFmode and TFmode to word alignment.
39 * config/rs6000/rs6000.md (movdf_hardfloat64): Use 'o' constraint
40 for ld/std and order before mr.
41
06fc4e41
AP
422003-12-26 Andrew Pinski <pinskia@physics.uc.edu>
43
44 * config/darwin.h (LINK_COMMAND_SPEC): Arrange
45 -fprofile-generate to imply -lgcov.
46
8825ae50
KH
472003-12-26 Kazu Hirata <kazu@cs.umass.edu>
48
49 * config/h8300/h8300.md (ldm_h8300s_2_normal): Use HImode for
50 addresses.
51
a98dd5bb
KH
522003-12-25 Kazu Hirata <kazu@cs.umass.edu>
53
54 * config/m32r/m32r.md: Remove a constraint from a splitter.
55
5a6159dd
AP
562003-12-25 Andrew Pinski <pinskia@physics.uc.edu>
57
58 PR C++/13429, C/11944
59 * c-common.c (c_build_qualified_type): Return early when type is
60 error_mark_node.
61 (c_apply_type_quals_to_decl): Likewise.
62
d6b4baa4
KH
632003-12-25 Kazu Hirata <kazu@cs.umass.edu>
64
65 * config/alpha/alpha-modes.def: Fix comment formatting.
66 * config/alpha/alpha.c: Likewise.
67 * config/alpha/alpha.h: Likewise.
68 * config/alpha/elf.h: Likewise.
69 * config/alpha/lib1funcs.asm: Likewise.
70 * config/alpha/openbsd.h: Likewise.
71 * config/alpha/vms-cc.c: Likewise.
72 * config/alpha/vms-crt0-64.c: Likewise.
73 * config/alpha/vms-crt0.c: Likewise.
74 * config/alpha/vms-ld.c: Likewise.
75 * config/alpha/vms-psxcrt0-64.c: Likewise.
76 * config/alpha/vms-psxcrt0.c: Likewise.
77 * config/alpha/vms.h: Likewise.
78 * config/arc/arc.c: Likewise.
79 * config/arm/aof.h: Likewise.
80 * config/arm/arm-modes.def: Likewise.
81 * config/arm/arm.c: Likewise.
82 * config/arm/arm.h: Likewise.
83 * config/arm/arm.md: Likewise.
84 * config/arm/linux-elf.h: Likewise.
85 * config/arm/vxworks.h: Likewise.
86 * config/avr/avr.c: Likewise.
87 * config/avr/avr.h: Likewise.
88
3bbc2af6
KH
892003-12-24 Kazu Hirata <kazu@cs.umass.edu>
90
91 * config/xtensa/elf.h: Fix comment formatting.
92 * config/xtensa/xtensa-protos.h: Likewise.
93 * config/xtensa/xtensa.c: Likewise.
94 * config/xtensa/xtensa.h: Likewise.
95
2c338472
KH
962003-12-24 Kazu Hirata <kazu@cs.umass.edu>
97
98 * config/avr/avr.c: Fix comment formatting.
99 * config/avr/avr.md: Likewise.
100
baac771a
KH
1012003-12-24 Kazu Hirata <kazu@cs.umass.edu>
102
103 PR target/12721.
104 * config/avr/avr.c: Include ggc.h.
105 (tmp_reg_rtx): Declare with GTY.
106 (zero_reg_rtx): Likewise.
107 (ldi_reg_rtx): Remove.
108 (avr_override_options): Initialize zero_reg_rtx and
109 ldi_reg_rtx.
110 (avr_init): Remove.
111 Include gt-avr.h.
112 * config/avr/avr.h (LDI_REG_REGNO): Remove.
113 Remove externs for tmp_reg_rtx, zero_reg_rtx, and ldi_reg_rtx.
114
2dcfc29d
DE
1152003-12-24 David Edelsohn <edelsohn@gnu.org>
116
117 * doc/md.texi: Document PowerPC vector register constraint letter.
118
8f23fc81
MM
1192003-12-23 Mark Mitchell <mark@codesourcery.com>
120
121 * calls.c (expand_call): Recognize calls to "sqrt" and create
122 corresponding notes.
123
ac5fe3fe
KG
1242003-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
125
126 * config/mips/mips.c (override_options): Use `inform' instead
127 of `warning' for -g -mabi=32 and native assembler.
128
129 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
130 Don't pass -Wno-error.
131
8deb9aee
DE
1322003-12-23 David Edelsohn <edelsohn@gnu.org>
133
134 * function.c (assign_parms): Update max_parm_reg and
135 parm_reg_stack_loc when adding new parm reg.
136
bfb26edd
KH
1372003-12-23 Kazu Hirata <kazu@cs.umass.edu>
138
139 * config/ns32k/ns32k.c: Convert to ISO-C.
140
4c494a15
ZW
1412003-12-23 Zack Weinberg <zack@codesourcery.com>
142
143 * config/ia64/ia64.c (ia64_va_arg): Pass pointer for
144 variable-sized type through convert_memory_address.
145 (ia64_in_small_data_p): Always return false for FUNCTION_DECLs.
146
a8a5f53a
JH
1472003-12-23 Jan Hubicka <jh@suse.cz>
148
149 * common.opt (fprofile-generate,fprofile-use): Add.
150 * gcc.c (LINK_COMMAND_SPEC): Arrange -fprofile-generate to imply -lgcov
151 * opts.c (profile_arc_flag_set, flag_profile_values_set,
152 flag_unroll_loops_set, flag_tracer_set,
153 flag_value_profile_transformations_set,
154 flag_peel_loops_set): New static variables.
155 (common_handle_option): Deal with -fprofile-generate/-fprofile-use
156 * invoke.texi (-fprofile-generate, -fprofile-use): Describe.
157
57702a80
MM
1582003-12-23 Mark Mitchell <mark@codesourcery.com>
159
def66b10
MM
160 * Makefile.in (OBJS-common): Remove dwarfout.o.
161 (dwarfout.o): Remove.
162 * common.opt: Remove -gdwarf, -gdwarf+.
163 * defaults.h (PREFERRED_DEBUGGING_TYPE): Do not check for
164 DWARF_DEBUGGING_INFO.
165 * dwarf2out.c: Fix typo in comment.
166 * dwarfout.c: Remove.
167 * opts.c (common_handle_option): Remove OPT_gdwarf, OPT_gdwarf_.
168 * toplev.c (process_options): Remove check for
169 DWARF_DEBUGGING_INFO.
170 * config/elfos.h (DWARF_DEBUGGING_INFO): Do not #define it or
171 #undef it.
172 * config/netware.h (DWARF_DEBUGGING_INFO): Likewise.
173 * config/ptx4.h (DWARF_DEBUGGING_INFO): Likewise.
174 * config/vxworks.h (DWARF_DEBUGGING_INFO): Likewise.
175 * config/alpha/unicosmk.h (DWARF_DEBUGGING_INFO): Likewise.
176 * config/arc/arc.h (DWARF_DEBUGGING_INFO): Likewise.
177 * config/i386/sco5.h (DWARF_DEBUGGING_INFO): Likewise.
178 * config/i386/x86-64.h (DWARF_DEBUGGING_INFO): Likewise.
179 * config/m32r/m32r.h (DWARF_DEBUGGING_INFO): Likewise.
180 * config/mcore/mcore-elf.h (DWARF_DEBUGGING_INFO): Likewise.
181 * config/sparc/linux64.h (DWARF_DEBUGGING_INFO): Likewise.
182 * config/sparc/liteelf.h (DWARF_DEBUGGING_INFO): Likewise.
183 * config/sparc/sol26-sld.h (DWARF_DEBUGGING_INFO): Likewise.
184 * config/sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO): Likewise.
185 * doc/invoke.texi: Do not mention -gdwarf, -gdwarf-1, -gdwarf-1+,
186 or -gdwarf+.
187 * doc/tm.texi: Likewise.
188
57702a80
MM
189 * c-common.c (flag_abi_version): Default to 2.
190 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION
191 uniformly for versions above 2.
192 * doc/invoke.texi: Update documentation for -fabi-version.
193
4b8a63d6
GK
1942003-12-22 Geoffrey Keating <geoffk@apple.com>
195
196 * config/rs6000/rs6000.md: Change many instances of '!
197 TARGET_POWERPC64' to 'TARGET_32BIT' when the pattern being guarded
198 was guarded only because it changed CR0 or the carry bit in XER.
199
cbf6e52a
EB
2002003-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
201
202 PR optimization/13394
203 * toplev.c (rest_of_compilation): Move call to
204 check_function_return_warnings right after the sibcall
205 optimization pass.
206
b3006337
EB
2072003-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
208
209 PR c/13382
210 * c-typeck.c (convert_for_assignment): When converting from
211 integral type to pointer type, always call convert.
212
7813d14c
MM
2132003-12-22 Mark Mitchell <mark@codesourcery.com>
214
adb83bee
MM
215 * doc/invoke.texi: Deprecate -fwritable-strings.
216
7813d14c
MM
217 * c-common.c (flag_external_templates): Remove.
218 (flag_alt_external_templates): Likewise.
219 * c-common.h (flag_external_templates): Remove.
220 (flag_alt_external_templates): Likewise.
221 * c-opts.c (c_common_handle_option): Unsupport
222 -falt-external-templates and -ftemplates.
223 * doc/invoke.texi: Remove mention of -fexternal-templates and
224 -falt-external-templates.
4c494a15 225
67b28863
AP
2262003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
227
1c8cfe03
AP
228 PR target/13466
229 * config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.
230
ff954f39
AP
231 * emit-rtl.c (copy_rtx_if_shared): Add comment about its use of
232 copy_rtx_if_shared_1.
233 (copy_rtx_if_shared_1): Add comment about what the function does.
234
67b28863
AP
235 * c-decl.c (finish_function): Change order of checks.
236 (c_expand_body): Likewise.
237
585de9be 2382003-12-22 Fariborz Jahanian <fjahanian@apple.com>
67b28863 239
4c494a15
ZW
240 * config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
241 check for the legitimate offset when memory of
242 DImode/DFmode/TFmode/TImode mode is being referenced and target
585de9be
FJ
243 is TARGET_POWERPC64.
244
e3e9336f
DJ
2452003-12-22 Dale Johannesen <dalej@apple.com>
246
4c494a15
ZW
247 * reload1.c: Add reg_reloaded_call_part_clobbered.
248 (reload_as_needed): Use it.
249 (forget_old_reloads_1): Ditto.
250 (emit_reload_insns): Ditto.
e3e9336f 251
aaf3ce3e
DJ
2522003-12-22 Dale Johannesen <dalej@apple.com>
253
4c494a15
ZW
254 PR optimization/12828
255 * loop.c: Add find_regs_nested to look inside CLOBBER(MEM).
256 (scan_loop): Call it.
257 * regclass.c (reg_scan_mark_regs): Look inside CLOBBER(MEM).
aaf3ce3e 258
af3fbed1
AP
2592003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
260
261 PR c/9163
262 * c-decl.c (poplevel): Only set DECL_INITIAL of a current function
263 if it is non-null.
264 (finish_function): Check for error_mark_node or null on DECL_RESULT and
265 DECL_RESULT of fndecl.
266 (c_expand_body): Only expand when DECL_INITIAL of fndecl is not
267 error_mark_node and not null.
268
439a7e54
DN
2692003-12-21 Dan Nicolaescu <dann@ics.uci.edu>
270
271 * rtl.h (dump_rtx_statistics): Declare it.
272 * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
273 rtx_alloc_sizes): New static vars.
274 (rtx_alloc, rtvec_alloc): Update them.
275 (dump_rtx_statistics): New function.
276 * toplev.c (finalize): Call it.
277 * ggc-page.c (struct globals): Fix comments. Add new member
278 total_allocated_per_order.
279 (ggc_alloc): Keep track of the total allocated memory.
280 (ggc_print_statistics): Clarify message. Print total allocated
281 memory stats.
282 * configure.in (gather-detailed-mem-stats): New flag.
283 * configure: Regenerate.
284 * config.in: Regenerate.
4c494a15 285 * doc/install.texi (Configuration): Document
439a7e54
DN
286 --enable-gather-detailed-mem-stats.
287
c6a515f4
KH
2882003-12-22 Kazu Hirata <kazu@cs.umass.edu>
289
290 * system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
291 * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
292
24b7a8c9
RS
2932003-12-21 Roger Sayle <roger@eyesopen.com>
294
295 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
296 when compiling in ILP32 mode.
297
cd413cab
AP
2982003-12-21 Andrew Pinski <pinskia@physics.uc.edu>
299
300 * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
301 TARGET_HAVE_TLS is false.
302
f6bf809f
KH
3032003-12-21 Kazu Hirata <kazu@cs.umass.edu>
304
305 * config/ip2k/ip2k-protos.h: Remove the prototype for
306 asm_output_section_name.
307 * config/ip2k/ip2k.c (asm_output_section_name): Remove.
308
6614fd40
KH
3092003-12-21 Kazu Hirata <kazu@cs.umass.edu>
310
311 * alias.c: Fix comment formatting.
312 * alloc-pool.c: Likewise.
313 * bitmap.c: Likewise.
314 * bitmap.h: Likewise.
315 * bt-load.c: Likewise.
316 * c-common.c: Likewise.
317 * c-common.h: Likewise.
318 * c-decl.c: Likewise.
319 * c-opts.c: Likewise.
320 * c-pretty-print.c: Likewise.
321 * caller-save.c: Likewise.
322 * cfghooks.h: Likewise.
323 * cgraph.c: Likewise.
324 * collect2.c: Likewise.
325 * cppfiles.c: Likewise.
326 * cpplib.h: Likewise.
327 * dwarf2out.c: Likewise.
328 * dwarfout.c: Likewise.
329 * emit-rtl.c: Likewise.
330 * final.c: Likewise.
331 * function.c: Likewise.
332 * gcov.c: Likewise.
333 * gcse.c: Likewise.
334 * genemit.c: Likewise.
335 * ggc.h: Likewise.
336 * haifa-sched.c: Likewise.
337 * ifcvt.c: Likewise.
338 * libgcc2.h: Likewise.
339 * loop.c: Likewise.
340 * predict.h: Likewise.
341 * unwind-libunwind.c: Likewise.
342 * varasm.c: Likewise.
343
3bc5e4ef
KH
3442003-12-21 Kazu Hirata <kazu@cs.umass.edu>
345
346 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
347 a warning.
348
f1777882
KH
3492003-12-21 Kazu Hirata <kazu@cs.umass.edu>
350
351 * config/arm/arm.c: Convert to ISO-C.
352 * config/avr/avr.h: Likewise.
353 * config/fr30/fr30.c: Likewise.
354 * config/ip2k/ip2k.c: Likewise.
355 * config/mn10300/mn10300.c: Likewise.
356
781f4ec1 3572003-12-20 Andrew Pinski <pinskia@gcc.gnu.org>
4c494a15 358 Matt Thomas <matt@3am-software.com>
781f4ec1
AP
359
360 PR target/12749
361 * config/i386/i386.c (print_operand): Print only the first
362 8 characters of the float in hex.
363
3914c31f
JDA
3642003-12-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
365
366 * pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
367 2.0 code.
368 (TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
369 (INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
370 and end addresses to I and D cache instruction patterns.
371 * pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
372 and_operand and ior_operand, respectively. When generating 64-bit
373 code, only one operand needs to be a register operand.
374 (xordi3): Change predicates of operands 1 and 2 to register_operand.
375 (one_cmpldi2): Change predicate of operand 1 to register_operand.
376 (dcacheflush, icacheflush): Revise to flush an arbitrary number of
377 cache lines.
378
6ae533cf
JZ
3792003-12-20 Josef Zlomek <zlomekj@suse.cz>
380
381 PR optimization/13430, PR optimization/12322
382 * bb-reorder.c (copy_bb_p): Do not allow block with many successors to
383 be copied.
384 (find_traces_1_round): Surround check for fake edges by
385 #ifdef ENABLE_CHECKING #endif.
386
1713a69f
EB
3872003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
388
389 PR other/7956
390 * genmultilib: New variable disable_multilib. Set it to 'yes'
391 if enable_multilib was set to 'no'. Emit DISABLE_MULTILIB
392 if disable_multilib was set to 'yes'.
393 * gcc.c: Include multilib.h before tm.h.
394 * config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
395 message for multiarch options if DISABLE_MULTILIB is set.
396 * config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
397
c96f4f73
EB
3982003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
399
400 PR c/12085
401 * c-typeck.c (build_function_call): Issue a warning if a
402 function is called through an incompatible prototype and
403 replace the call by a trap in this case.
404
bcd11e5e
JW
4052003-12-19 James E Wilson <wilson@specifixinc.com>
406
407 * install.texi (ia64-*-linux): Document minimum libunwind version
408 number.
409
7b330e08
PB
4102003-12-19 Per Bothner <per@bothner.com>
411
412 * langhooks.c (lhd_print_error_function): Fix for PR c/13110.
413 Don't do pp_newline; it causes an extra blank line.
414 * pretty-print.c (pp_base_flush): Clear pp_needs_newline.
415
f3da0ead
JM
4162003-12-19 Jason Merrill <jason@redhat.com>
417
418 * tree.c (get_unwidened): Decide whether to narrow a bitfield
419 reference based on TYPE_SIZE, not TYPE_PRECISION.
420
421 * stmt.c (parse_output_constraint): Warn about in-out constraint
422 that doesn't allow a register.
423 (parse_input_constraint): Warn about matching constraint that
424 doesn't allow a register.
425
a06f01ba
JW
4262003-12-19 James E Wilson <wilson@specifixinc.com>
427
428 * flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
429 Add case for ASM_OPERANDS.
430 * global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
431 registers.
432
020036b9
KH
4332003-12-19 Kazu Hirata <kazu@cs.umass.edu>
434
435 * expr.c (check_max_integer_computation_mode): Remove.
436 * dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
437 * fold-const.c (fold): Likewise.
438 * system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
439 * doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
440
750e3ed3 4412003-12-19 James E Wilson <wilson@specifixinc.com>
28f08c8a
JW
442
443 * configure.in: Delete libunwind_has_eh_support test.
444 * configure: Regenerate.
445 * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
446 and libunwind_has_eh_support check.
447 * config/t-libunwind-no-eh: Delete.
448
be7ac471
JM
4492003-12-19 Joseph S. Myers <jsm@polyomino.org.uk>
450
451 * c-format.c (print_char_table): Allow 'I' flag on floating point
452 decimal formats.
453
0f901c4c 4542003-12-19 Stuart Hastings <stuart@apple.com>
f3da0ead 455
0f901c4c
SH
456 * gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
457 Trivial fixes for i386.c on Darwin/x86.
4c494a15 458
ef342e20 4592003-12-19 Fariborz Jahanian <fjahanian@apple.com>
f3da0ead 460
4c494a15
ZW
461 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
462 recognize macho-style lo_sum adrress patterns.
ef342e20 463
49a27995
KH
4642003-12-19 Kazu Hirata <kazu@cs.umass.edu>
465
466 * dwarfout.c: Remove uses of "register" specifier in
467 declarations of arguments and local variables.
468 * gensupport.c: Likewise.
469 * local-alloc.c: Likewise.
470 * regclass.c: Likewise.
471
12832571
KC
4722003-12-19 Kelley Cook <kelleycook@wideopenwest.com>
473
474 * config.guess: Remove.
475
e8c89d29
JJ
4762003-12-19 Jakub Jelinek <jakub@redhat.com>
477
478 * config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
479 (unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
480 regstk_top.
481 (uw_frame_state_for): Handle locations inside bundles.
482 (uw_init_context_1): Initialize context->rnat.
483 Set context->regstk_top to lowest rbs address which has nat collection
484 in context->rnat.
485 (uw_install_context): Fix rnat restoring.
486 Restore ar.rsc to previous state.
487 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
488 MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
489
effed655
JJ
4902003-12-19 Jakub Jelinek <jakub@redhat.com>
491
492 PR c++/13239
493 * builtins.c (expand_builtin_expect_jump): Update
494 TREE_VALUE (arglist) if unsave_expr_now langhook
495 created a new tree.
496
edf7cee8
RE
4972003-12-19 Richard Earnshaw <rearnsha@arm.com>
498
499 * arm.c (thumb_base_register_rtx_p): Use regno in comparison against
500 FIRST_PSEUDO_REGISTER.
501
83953138
HP
5022003-12-18 Hartmut Penner <hpenner@de.ibm.com>
503
504 * gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
505 for SVR4 ABI.
506
66188a7e
GK
5072003-12-18 Geoffrey Keating <geoffk@apple.com>
508
509 * config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
510 (OS_MISSING_ALTIVEC): Define.
511 * config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
512 -force_cpusubtype_ALL.
513 * config/rs6000/rs6000.c (rs6000_override_options): Rearrange
514 CPU information table; now always set all CPU-specific values.
515 Also, use Altivec and powerpc64 when chip and OS supports them.
516
3afbff37
GK
5172003-12-18 Geoffrey Keating <geoffk@apple.com>
518
519 * fixinc/inclhack.def (darwin_macho_dyldh): New.
520 * fixinc/fixincl.x: Regenerate.
521
56d35136
DH
5222003-12-18 Dara Hazeghi <dhazeghi@yahoo.com>
523
524 * version.c (version_string): Renumber as 3.4.0
525 * doc/include/gcc-common.texi: Likewise
526
4f2ca7f5
RH
5272003-12-18 Richard Henderson <rth@redhat.com>
528
529 * genrecog.c (print_host_wide_int): New.
530 (write_switch, write_cond): Use it.
531
a3bf324c
RH
5322003-12-18 Richard Henderson <rth@redhat.com>
533
534 * c-decl.c (check_bitfield_type_and_width): Remove enum special
535 case suppression of pedwarn.
536 * system.h (ENUM_BITFIELD): Use __extension__.
537 (CHAR_BITFIELD): Likewise.
538
91d39d71
UW
5392003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
540 Mark Dettinger <dettinge@de.ibm.com>
541
542 * config/s390/s390.md (UNSPEC_SRST): New constant.
543 ("strlendi", "strlensi"): New expanders.
544 ("*strlendi", "*strlensi"): New insns.
545
61aaea23
MM
5462003-12-18 Mark Mitchell <mark@codesourcery.com>
547
548 * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
549 (LINK_ARCH32_SPEC_BASE): ... this new macro.
550 * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
551 ...
552 (LINK_ARCH64_SPEC_BASE): ... this new macro.
553 * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
554 (LINK_ARCH64_SPEC): Likewise.
555
8a90e86d
JM
5562003-12-18 Jason Merrill <jason@redhat.com>
557
558 PR middle-end/13234
559 * tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
560 classes.
561
38700cee
SB
5622003-12-18 Steven Bosscher <stevenb@suse.de>
563
564 * Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
565 * toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
566 Don't push and pop TV_REORDER_BLOCKS timevars, do it...
567 * bb-reorder.c (reorder_basic_blocks): ...here, and...
568 * tracer.c (tracer): here.
569
cebf212f
UW
5702003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
571
4c494a15 572 * loop.c (move_movables): Handle combination of m->consec,
cebf212f
UW
573 m->move_insn_first, and m->insert_temp all nonzero correctly.
574
ba029213
KH
5752003-12-18 Kazu Hirata <kazu@cs.umass.edu>
576
577 * calls.c (load_register_parameters): Don't use
578 LOAD_ARGS_REVERSED.
579 * system.h (LOAD_ARGS_REVERSED): Poison.
580 * doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
581
f9bed9d3
PB
5822003-12-17 Per Bothner <per@bothner.com>
583
584 * emit-rtl.c (set_new_first_and_last_label_num): Remove function.
585 * rtl.h (set_new_first_and_last_label_num): Remove declaration.
586
5da1fd3d
AO
5872003-12-17 Alexandre Oliva <aoliva@redhat.com>
588
589 * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
590 scratch insns of the then branch that clobber regs needed by the
591 else branch.
592
4ac8340c
KH
5932003-12-17 Kazu Hirata <kazu@cs.umass.edu>
594
595 * calls.c (expand_call): Update comments.
596 * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
597 * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
598
b0656d8b
JW
5992003-12-17 James E Wilson <wilson@specifixinc.com>
600 Roger Sayle <roger@eyesopen.com>
4c494a15 601
b0656d8b
JW
602 * Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
603 * gcse.c: Include tree.h.
604 (implicit_set_cond_p): New.
605 (find_implicit_sets): Call it.
606
d4ac5ffa
SV
6072003-12-17 Santiago Vila <sanvila@unex.es>
608
609 * config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
610 TARET_OS_CPP_BUILTINS.
611
c5898ca8
KH
6122003-12-16 Kazu Hirata <kazu@cs.umass.edu>
613
614 * emit-rtl.c: Fix signed/unsigned comparison warnings.
615
2c45a16a
JM
6162003-12-17 Joseph S. Myers <jsm@polyomino.org.uk>
617
618 * predict.c (struct block_info_def, struct edge_info_def): Change
619 bit-fields of width 1 to unsigned int.
620
7a681365
GK
6212003-12-16 Geoffrey Keating <geoffk@apple.com>
622
623 PR 12480
624 * c-pch.c (pch_init): Improve error message when precompiled
625 header can't be written.
626
627 PR 12606
628 * c-pch.c (pch_init): Make a PCH file appear invalid while it's
629 being written.
630 (c_common_write_pch): Make it valid once it's done.
631
287ff198
UW
6322003-12-17 Ulrich Weigand <uweigand@de.ibm.com>
633
634 PR target/11992
635 * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
636 instead of CLCL.
637 ("*cmpmem_long_31"): Likewise.
638
c856f536
VM
6392003-12-17 Vladimir Makarov <vmakarov@redhat.com>
640
641 * config/ia64/ia64.c: Add more comments about insn bundling.
642
4d450e9a
RE
6432003-12-17 Richard Earnshaw <rearnsha@arm.com>
644
645 PR optimization/10592
646 * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
647 or subreg in SET_DEST if it isn't a hard register.
648
77e86c91
DE
6492003-12-17 David Edelsohn <edelsohn@gnu.org>
650
651 * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
652 -fno-branch-probabilities to arguments when compiling ctors and
653 dtors.
654
9684a840
EB
6552003-12-17 Eric Botcazou <ebotcazou@libertysurf.fr>
656
657 * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
658 * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
659
07e58265
RE
6602003-12-17 Richard Earnshaw <rearnsha@arm.com>
661
662 * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
663 as base registers for sub-word operations.
664 (thumb_legitimate_address_p): Simplify REG+REG test.
665
b50d9339
SB
6662003-12-17 Segher Boessenkool <boessen@de.ibm.com>
667
668 * opts.c (wrap_help): Fix overflow.
669
07f8f74a
FF
6702003-12-17 Fred Fish <fnf@redhat.com>
671
672 * configure.in: Remove code to examine linker scripts and set
673 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
674 * configure, config.in: Regenerate.
675
0dff37fb
MM
6762003-12-16 Mark Mitchell <mark@codesourcery.com>
677
678 PR c++/12218
679 * varasm.c (initializer_constant_valid_p): Allow a conversion from
680 an integral constant to an OFFSET_TYPE.
681
085bd3ff
KH
6822003-12-16 Kazu Hirata <kazu@cs.umass.edu>
683
684 PR target/11012
685 * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
686 gen_cmp_ne_small_const_insn.
687 * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
688
2ff7cce4 6892003-12-17 Neil Booth <neil@daikokuya.co.uk>
4c494a15 690 Joseph S. Myers <jsm@polyomino.org.uk>
2ff7cce4
JM
691
692 PR c/3347
693 * c-decl.c (enum_decl_context): Remove BITFIELD.
694 (grokdeclarator): Take bit-field width as an input.
695 Perform bit-field width validation with
696 check_bitfield_type_and_width rather than waiting for
697 finish_struct.
698 (groktypename, groktypename_in_parm_context, start_decl,
699 push_parm_decl, grokfield, start_function): Update calls to
700 grokdeclarator.
701 (check_bitfield_type_and_width): New function.
702 (finish_struct): Move bit-field validation to grokdeclarator
703 and check_bitfield_type_and_width.
704
28690784
JDA
7052003-12-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
706
707 PR bootstrap/13386
708 * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
709 using HP native linker.
710 * configure: Rebuilt.
711
263ee052
MM
7122003-12-16 Mark Mitchell <mark@codesourcery.com>
713
714 PR c++/13275
715 * c-common.h (enum rid): Add RID_OFFSETOF.
716 * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
717 * ginclude/stddef.h (offsetof): Reimplement for C++, using
718 __offsetof__.
719 * doc/extend.texi: Document __offsetof__.
4c494a15 720
b5144086
SC
7212003-12-16 Stan Cox <scox@redhat.com>
722
723 * config/iq2000/iq2000.h: Formatting.
724 (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
725 (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
726 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
727 * config/iq2000/iq2000.c: Formatting.
728 (iq2000_rtx_costs): New.
729
1cc82d13
RE
7302003-12-16 Richard Earnshaw <rearnsha@arm.com>
731
732 * arm.md (addsi3_carryin_shift): Add missing register constraints.
733
d22240b8
LR
7342003-12-16 Loren James Rittle <ljrittle@acm.org>
735
736 * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
737 pass with -pthread on FreeBSD systems.
738
a689d4e0
RS
7392003-12-16 Richard Sandiford <rsandifo@redhat.com>
740
741 * config/mips/mips.c (mips_file_end): Only write symbols that have
742 been referenced at some point.
743
2743a50a
RS
7442003-12-16 Richard Sandiford <rsandifo@redhat.com>
745
746 * config/mips/mips.c: Include langhooks.h
747 (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
748
91f8389c
EB
7492003-12-16 Eric Botcazou <ebotcazou@libertysurf.fr>
750
751 PR optimization/13313
752 * combine.c (make_extraction) [REG]: Do not use
753 gen_lowpart_for_combine when POS is non-zero.
754
cbefa3c9
HP
7552003-12-16 Hartmut Penner <hpenner@de.ibm.com>
756
757 * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
758 * testsuite/gcc.dg/altivec-10.c: Test for above.
4c494a15 759
f5d394a6
DB
7602003-12-15 David O'Brien <obrien@FreeBSD.org>
761
762 * Makefile.in (CPPFLAGS): Initialize from configure.
763
040fc928
RS
7642003-12-15 Roger Sayle <roger@eyesopen.com>
765
766 PR middle-end/13400
767 * ifcvt.c (noce_process_if_block): Disable unconditional write
768 optimizations if we could introduce a store to trapping memory
769 that wasn't present previously.
770
c98e7fe8
KH
7712003-12-15 Kazu Hirata <kazu@cs.umass.edu>
772
773 * system.h (DEFAULT_CALLER_SAVES): Poison.
774 * toplev.c (flag_caller_saves): Always initialize with 0.
775 * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
776
9d05bbce
KH
7772003-12-15 Kazu Hirata <kazu@cs.umass.edu>
778
779 * flow.c (EXIT_IGNORE_STACK): Move to ...
780 * defaults.h (EXIT_IGNORE_STACK): ... here.
781 * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
782 EXIT_IGNORE_STACK.
783 * function.c (expand_function_end): Likewise.
784 * global.c (global_alloc): Likewise.
785 * ra.c (init_ra): Likewise.
786 * reload1.c (init_elim_table): Likewise.
787 * reorg.c (fill_simple_delay_slots): Likewise.
788 * resource.c (init_resource_info): Likewise.
789 * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
790 is 0.
791
69f38ab9
R
7922003-12-15 J"orn Rennecke <joern.rennecke@superh.com>
793
794 * reload.c (reg_overlap_mentioned_for_reload_p):
795 When looking at a PLUS in X, avoid spuriously returning nonzero
796 when IN is a REG or another simple PLUS, or a MEM containing one.
797
798 * loop.c (loop_invariant_p): Amend comment about where new registers
799 might come from.
800
3a5c1f60
AJ
8012003-12-15 Andreas Jaeger <aj@suse.de>
802
803 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
804 handling of obsolete language CHILL.
805
e8423af9
WH
8062003-12-15 Waldek Hebisch <hebisch@math.uni.wroc.pl>
807
808 * tree.c (initializer_zerop): Add test for empty set.
809 * integrate.c (function_cannot_inline_p): Forbid inlining
810 functions calling `longjmp'.
811
58cd2515
NS
8122003-12-15 Nathan Sidwell <nathan@codesourcery.com>
813
814 PR c++/11773
815 * doc/gcov.texi (Gcov and Optimization): Document inline function
816 behaviour. Fix some file suffixes.
817
c1d5acdb
DB
8182003-12-14 David O'Brien <obrien@FreeBSD.org>
819
820 * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
821
4bb8ca28
MM
8222003-12-14 Mark Mitchell <mark@codesourcery.com>
823
824 * c-common.h (c_parse_error): Declare it.
825 * c-common.c (c_parse_error): New function.
826 * c-parse.y (yyerror): Use it.
827
d8f95bed
JDA
8282003-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
829
830 PR target/13054
831 * pa-protos.h (indexed_memory_operand, borx_reg_operand,
832 move_dest_operand, move_src_operand): New protypes.
833 (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
834 * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
835 move_src_operand): New functions.
836 (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
837 (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
838 address until cse is not expected on targets with non-equivalent
839 space registers.
840 (hppa_legitimize_address): Canonicalize unscaled indexed addresses
841 on targets non-equivalent space registers.
842 (emit_move_sequence): Break out indexed addresses from destination
843 operand. Similarly, break out unscaled indexed addresses from
844 source operand on targets with non-equivalent space registers. Fix
845 REG_POINTER flag when possible. Mark register pointer when creating
846 new pointers.
847 (print_operand): Handle unscaled index addresses.
848 * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
849 for EXTRA_CONSTRAINT.
850 (EXTRA_CONSTRAINT): Rework to make more readable.
851 (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
852 subroutines for GO_IF_LEGITIMATE_ADDRESS.
853 (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines. Allow scaled
854 and unscaled addresses. Canonicalize unscaled indexed addresses on
855 targets with non-equivalent space registers. Document issues in
856 handling indexed address modes on PA-RISC.
857 (PREDICATE_CODES): Update for new and deleted predicates.
858 * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
859 Use new predicates in move patterns.
860 Add peephole2 patterns to optimize floating point stores. Fix
861 constrain preferencing in move patterns. Delete patterns for handling
862 unscaled indexed memory loads. Add missing load and store with
863 base-register modification patterns. Correct SFmode floating point
864 store pattern. Add missing zero extension loads.
865
b944d187
SB
8662003-12-13 Steven Bosscher <stevenb@suse.de>
867
868 * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
869 comes in with ggc.h. Add a new bool field `dead'.
870 (destroy_ggc_zone): Don't destroy a zone at once. Instead, only
871 set the `dead' flag for the dead zone. Wrap a sanity check in
872 ENABLE_CHECKING.
873 (ggc_collect_1): Always mark and sweep if a zone has the `dead'
874 flag set.
875 (ggc_collect): Free dead zones after collecting.
e8423af9 876
bbfff586
JH
8772003-12-13 Jan Hubicka <jh@suse.cz>
878
879 * coverage.c (get_coverage_counts): Use inform instead of warning
880 about missing profile.
881
94c43112
SB
8822003-12-12 Steven Bosscher <stevenb@suse.de>
883
884 * Makefile.in (opts.o, explow.o): Depend on langhooks.h
885
33d2ad24
GK
8862003-12-12 Geoffrey Keating <geoffk@apple.com>
887
888 * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
889 <powerpc-*-darwin*>: Likewise.
890
3950dcdf
JJ
8912003-12-12 Jakub Jelinek <jakub@redhat.com>
892
893 * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
894 (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
895 br_loc[7]. Update comment.
896 (MD_HANDLE_UNWABI): Define.
897 * config/ia64/unwind-ia64.c (struct unw_state_record): Add
898 unwabi field.
899 (struct _Unwind_Context): Increase br_loc array size to 8 entries.
900 (desc_abi): Set unwabi.
901 (uw_update_reg_address): Allow br up to 7.
902 (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
903 (uw_install_context): Load b1..b5 from correct locations.
904 Fix insn loading ar.fpsr.
905 * doc/tm.texi: Document MD_HANDLE_UNWABI.
906
77fec971
RS
9072003-12-12 Roger Sayle <roger@eyesopen.com>
908
909 PR optimization/13037
910 * loop.c (update_giv_derive): Ignore redundant sets of a biv when
911 calculating how to derive a giv from a biv.
912
45f2492c
NB
9132003-12-12 Neil Booth <neil@daikokuya.co.uk>
914
915 PR preprocessor/12935 preprocessor/12952 preprocessor/13046
916 * cpplib.c (prepare_directive_trad): Clear skipping only in
917 #if and #elif directives.
918 (do_undef): Call the handler even if the identifier is not a macro.
919 * cpptrad.c (scan_parameters): Emit an error message.
920 (_cpp_create_trad_definition): Remember the params list even on
921 failure.
922
d2b6eb76
ZW
9232003-12-11 Zack Weinberg <zack@codesourcery.com>
924
925 * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
926 to inline functions: arm_arm_address_cost, arm_thumb_address_cost
927 respectively.
928 (arm_address_cost): Use 'em.
929
f502cbff
RO
9302003-12-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
931
932 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
933 __STDC_VERSION__ to ISO C94 for C++.
934
935 * fixinc/inclhack.def (alpha_wchar): New fix.
936 * fixinc/fixincl.x: Regenerate.
937 * fixinc/tests/base/wchar.h: New file.
938
fe16ab7e
DM
9392003-12-11 David Mosberger <davidm@hpl.hp.com>
940
941 * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
942 required by C++ ABI for Itanium.
943 * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
944 * config/t-libunwind-no-eh: New file.
945 * configure.in: Check libunwind for _Unwind_Resume() and if it's
946 present, set libunwind_has_eh_support to "yes".
947 * configure: Regenerate.
948 * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
949 set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
950
7ac88634
RS
9512003-12-11 Richard Sandiford <rsandifo@redhat.com>
952
953 * config/mips/mips.c (mips_global_pointer): Force functions with
954 a nonlocal goto to set up $gp.
955
1ec7a831
JW
9562003-12-11 James E Wilson <wilson@specifixinc.com>
957
958 PR target/13132
959 * function.c (gen_mem_addressof): When no decl, explicitly clear flag
960 bits.
961
1f92da87
NC
9622003-12-12 Nick Clifton <nickc@redhat.com>
963
964 * config/m32r/m32r.c: Convert to ISO-C
965
9662003-12-12 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
967
968 * doc/invoke.texi: Replace Mitsubishi with Renesas.
969 * config/m32r/m32r.h: Ditto.
970 * config/m32r/m32r.c: Ditto.
971 * config/m32r/m32r.md: Ditto.
972
a813c111
SB
9732003-12-11 Steven Bosscher <steven@gcc.gnu.org>
974
975 * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
976 (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
977 (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
978 (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
979 fields of a basic block.
980 * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
981 cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
982 cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
983 final.c, flow.c, function.c, gcse.c, global.c, graph.c,
984 haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
985 loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
986 ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
987 regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
988 sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
989 config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
990 accessing the `head' and `end' fields of a basic block directly.
991
992 * gengtype.c: Teach about "void**" pointers and "void *" function
993 types. Fixes earlier commit.
994
3a3e1600
GK
9952003-12-10 Geoffrey Keating <geoffk@apple.com>
996
997 * doc/extend.texi (Vector Extensions): Document that bitwise
998 operations also work on vectors.
999
da5cafa7
RE
10002003-12-10 Richard Earnshaw <rearnsha@arm.com>
1001
1002 * arm.md: New split patterns for optimizing bitfield accesses.
1003
498ec23d
SB
10042003-12-10 Steven Bosscher <stevenb@suse.de>
1005
1006 * README.Portability: Remove K+R section.
1007
1008 * gengtype-lex.l: Teach about "void**" pointers and
1009 "void*" function types.
1010
ed1fe829
EB
10112003-12-10 Eric Botcazou <ebotcazou@libertysurf.fr>
1012
1013 PR target/13354
1014 * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
1015 manually if one can do that with only one instruction.
1016
f71b53c8
NC
10172003-12-10 Nick Clifton <nickc@redhat.com>
1018
1019 * config.gcc (arm-linux): Include linux.h in tm_file so that
1020 LINUX_TARGET_OS_CPP_BUILTINS is defined.
1021 * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
1022
a7eaa37d
JW
10232003-12-09 James E Wilson <wilson@specifixinc.com>
1024
1025 * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
1026
facef326
MA
10272003-12-09 Matt Austern <austern@apple.com>
1028
1029 PR c/13134
1030 * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
d2b6eb76 1031
6975bd2c
KI
10322003-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1033
1034 * config/m32r/m32r.h: Add support for m32r2 processor. Including
1035 a new command line option -m32r2 to select it.
1036 * config/m32r/m32r.c: Add support for the new processor variant.
1037 * config/m32r/m32r.md: Likewise.
1038 * config/m32r/t-m32r: Add m32r2 multilibs.
1039 * doc/invoke.texi: Document the new command line switch.
1040
cca8fb0e
KH
10412003-12-08 Kazu Hirata <kazu@cs.umass.edu>
1042
1043 * defaults.h (LOCAL_REGNO): Give the default definition.
1044 * flow.c (LOCAL_REGNO): Remove.
1045 * reload1.c (LOCAL_REGNO): Likewise.
1046
a9baceb1
GK
10472003-12-08 Geoffrey Keating <geoffk@apple.com>
1048
1049 PR target/11848
1050 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
1051 in floating-point registers between TFmode and DImode.
1052 * rs6000.c (rs6000_emit_move): Split moves early.
1053 (secondary_reload_class): Random Whitespace Change.
1054 (rs6000_split_multireg_move): Support moves involving FP registers.
1055 Emit instructions directly.
1056 * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
1057 * altivec.md: Update for changes to rs6000_split_multireg_move.
1058 * rs6000.md: Update for changes to rs6000_split_multireg_move.
1059 (movtf_internal): Support moves to/from GPRs.
1060
86b40947
SH
10612003-12-08 Stuart Hastings <stuart@apple.com>
1062
1063 * config/i386/i386.md: Typo in split of fp-valued if_then_else.
d2b6eb76 1064
367d6d0b
JW
10652003-12-08 James E Wilson <wilson@specifixinc.com>
1066
1067 PR target/13132
1068 * expmed.c (extract_bit_field): Only call mode_for_size for scalar
1069 integer modes.
1070
8bb1e63e
NN
10712003-12-08 Nathanael Nerode <neroden@gcc.gnu.org>
1072
1073 * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
1074 directory.
1075
1ff905e9
AO
10762003-12-08 Alexandre Oliva <aoliva@redhat.com>
1077
1078 * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
1079 by using match_scratch.
1080 (negdi2): New.
1081
66c78aa9
JM
10822003-12-08 Jason Merrill <jason@redhat.com>
1083 Daniel Berlin <dberlin@dberlin.org>
1084
97f1485f 1085 PR debug/11114
66c78aa9
JM
1086 Support namespaces in DWARF 2 output.
1087 * dwarf2out.c (gen_namespace_die): New function.
1088 (force_namespace_die, setup_namespace_context): New fns.
1089 (declare_in_namespace): New fn.
1090 (gen_decl_die): Call declare_in_namespace. Handle namespaces.
1091 (dwarf2out_decl): Handle namespaces.
1092 (scope_die_for): Pass through a namespace scope.
1093 (class_scope_p): Rename to class_or_namespace_scope_p.
1094 (gen_subprogram_die, gen_variable_die): Adjust.
1095 (gen_struct_or_union_die): Always emit a declaration
1096 if context_die is a namespace.
1097
f167b1c0
JH
10982003-12-08 Jan Hubicka <jh@suse.cz>
1099
1100 * unwind-pe.h (read_uleb128): Fix handling of large values
1101 (read_sleb128): Fix handling of large values
1102
32b32b16
AP
11032003-12-08 Andrew Pinski <pinskia@physics.uc.edu>
1104
1105 PR middle-end/10060
1106 * emit-rtl.c (copy_rtx_if_shared): Split out into ...
1107 (copy_rtx_if_shared_1): here and optimize the last one
1108 in the sequence into tail-recursion.
1109 (reset_used_flags): Optimize the last one
1110 in the sequence into tail-recursion.
1111
de9315db
RE
11122003-12-08 Richard Earnshaw <rearnsha@arm.com>
1113
1114 * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
1115 for constant X.
1116
a6a5a42d
RS
11172003-12-08 Richard Sandiford <rsandifo@redhat.com>
1118
1119 * calls.c (expand_call): Don't try using tail or recursive calls
1120 after the function body has been expanded.
1121
87383233
JH
11222003-12-08 Jan Hubicka <jh@suse.cz>
1123
1124 * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
1125
af5734de
AC
11262003-12-08 Arnaud Charlet <charlet@act-europe.fr>
1127
1128 PR ada/13324, PR ada/12614
d2b6eb76 1129 * doc/install.texi: Update requirements for building Ada.
af5734de 1130
0eb31ee3
DE
11312003-12-07 David Edelsohn <edelsohn@gnu.org>
1132 Graham Reed <greed@pobox.com>
1133
1134 * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
1135 (GCC_UNDEF_SYMBOL): Same.
1136
6f1ec3b9
KH
11372003-12-07 Kazu Hirata <kazu@cs.umass.edu>
1138
1139 * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
1140 * system.h (FINAL_PRESCAN_LABEL): Poison.
1141 * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
1142
611764ec
KG
11432003-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1144
1145 * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
1146
e1366e0c
NN
11472003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
1148
63cf211a
NN
1149 * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
1150 * configure: Regenerate with autoconf 2.13.
1151
1f866b45
NN
1152 * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
1153 with modern equivalents.
1154 * configure: Regenerate.
1155
76761d47
NN
1156 * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
1157 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
1158 * configure: Regenerate.
1159
e1366e0c
NN
1160 * configure: Regenerate with (preferred) autoconf 2.57.
1161 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
1162
df5e8205
EB
11632003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1164
1165 PR optimization/12965
1166 * caller-save.c (save_call_clobbered_regs): Do not save/restore
1167 registers around no-return calls.
1168
6e3f3080
NN
11692003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
1170
1171 * configure.in: Make minimum necessary changes for autoconf 2.5x.
1172 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
1173 * configure: Regenerate with autoconf 2.58.
1174
fd25e957
EB
11752003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1176
1177 PR optimization/13318
1178 * loop.c (express_from): Protect integer division from overflow.
1179
5c6ef9be
EB
11802003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1181
1182 PR optimization/13060
1183 * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
1184 replacement already exists. Fix again the whole insn if that fails.
1185
f7efd730
AP
11862003-12-06 Andrew Pinski <pinskia@physics.uc.edu>
1187
d2b6eb76 1188 * config/rs6000/rs6000.c (macho_branch_islands): Use
f7efd730
AP
1189 HOST_WIDE_INT_PRINT_UNSIGNED.
1190
9be6533a
RS
11912003-12-06 Richard Sandiford <rsandifo@redhat.com>
1192
1193 * varasm.c (incorporeal_function_p): New.
1194 (assemble_external): Use it as a filter.
1195 * config/mips/mips.c (mips_output_external): Don't check for builtin
1196 functions here.
1197
e25c906a
RE
11982003-12-06 Richard Earnshaw <reanrsha@arm.com>
1199
1200 * arm.md (IOR (COMPARISON) (AND)): New define_splits.
1201
439020ec
KC
12022003-12-06 Kelley Cook <kcook@gcc.gnu.org>
1203
1204 * Makefile.in (program_transform_cross_name): Delete.
1205 (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
1206 (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
1207 (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
1208 (install_cpp, install_driver, install-man, uninstall): Likewise.
1209
df2ef49b
AM
12102003-12-06 Alan Modra <amodra@bigpond.net.au>
1211
1212 PR 13169
1213 * basic-block.h (PROP_ASM_SCAN): Define.
1214 * final.c (regs_asm_clobbered): New array.
1215 * regs.h (regs_asm_clobbered): Declare.
1216 * flow.c (life_analysis): Init it.
1217 (mark_set_regs): Set PROP_ASM_SCAN for asms.
1218 (mark_set_1): Set regs_asm_clobbered.
1219 * global.c (global_alloc): Don't set eliminable_regset when
1220 regs_asm_clobbered.
1221
eeb23c11
MM
12222003-12-05 Mark Mitchell <mark@codesourcery.com>
1223
3b099d37
MM
1224 * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
1225
eeb23c11
MM
1226 PR c++/13314
1227 * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
1228
6a40fb21
AP
12292003-12-05 Andrew Pinski <pinskia@physics.uc.edu>
1230
1231 PR driver/13211
1232 * gcc.c (execute) Increment execution_count when returning
1233 early because verbose_only_flag is true.
1234
b92be669
PB
12352003-12-05 Per Bothner <pbothner@apple.com>
1236
1237 * cppfiles.c (file_hash_hash): New static function.
1238 (hash_string_eq): Renamed static function to file_hash_eq.
1239 (_cpp_init_files): Create file_hash table with above callbacks.
1240 (cpp_included): Must use htab_find_with_hash insead of htab_find.
1241 (_cpp_find_find, make_cpp_dir): Must use htab_find_slot_with_hash.
1242
7d40b45f
PB
12432003-12-05 Per Bothner <pbothner@apple.com>
1244
1245 * line-map.h (source_location): New typedef.
1246 (fileline): Redefined as source_location.
1247 (struct line_map, linemap_add, linemap_lookup): Replace filefile
1248 by source_location.
1249 * line-map.c (linemap_add, linemap_lookup): Use source_location.
1250
5849d27c
RH
12512003-12-05 Richard Henderson <rth@redhat.com>
1252
1253 * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
1254 field to suppress -Wpadded warnings.
1255
5c626c91 12562003-12-05 Stuart Hastings <stuart@apple.com>
5849d27c 1257
5c626c91
SH
1258 * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
1259
5d27ef94 12602003-12-05 Stuart Menefy <stuart.menefy@st.com>
d2b6eb76 1261 J"orn Rennecke <joern.rennecke@superh.com>
5d27ef94
SM
1262
1263 PR target/13302
1264 * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
1265
2a67ff5e
RS
12662003-12-05 Roger Sayle <roger@eyesopen.com>
1267
1268 * dojump.c (do_jump): If the expression being compared against
1269 zero, is the subreg of a promoted variable, perform the comparison
1270 in the promoted mode.
1271 * simplify-rtx.c (simplify_unary_operation): Optimize sign and
1272 zero-extensions of subregs of promoted variables where the
1273 extension is identical to that used to promote the variable.
1274
73fb6466
HPN
12752003-12-05 Hans-Peter Nilsson <hp@axis.com>
1276
1277 PR target/13256
1278 * resource.h (enum mark_resource_type): Remove member MARK_DEST.
1279 The only user changed as follows:
1280 * resource.c (mark_set_resources) <case SET>: Always recurse for
1281 SET_SRC (x).
1282 <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
1283 operands.
1284 <case STRICT_LOW_PART>: Delete, deferring to default code.
1285
e292dbb0
WH
12862003-12-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1287
1288 * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
1289 and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
1290
01bdc11e
RS
12912003-12-05 Richard Sandiford <rsandifo@redhat.com>
1292
1293 * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
1294 for n32 & n64 abicalls.
1295
f24e76eb
RS
12962003-12-05 Richard Sandiford <rsandifo@redhat.com>
1297
1298 PR bootstrap/13145
1299 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
1300 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
1301 (mips_load_got): Always create a constant MEM.
1302 (mips_expand_call): Use load_callsi and load_calldi.
1303 * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
1304 (load_callsi, load_calldi): New patterns.
1305
b00b4b88
PG
13062003-12-05 Peter Gerwinski <peter@gerwinski.de>
1307
d2b6eb76 1308 * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
b00b4b88 1309
7f682641
SB
13102003-12-05 Steven Bosscher <stevenb@suse.de>
1311
1312 * config/d30v/d30v-protos.h , config/d30v/d30v.c,
1313 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1314 config/fr30/fr30-protos.h, config/fr30/fr30.c,
1315 config/i370/i370-protos.h, config/i370/i370.c,
1316 config/i960/i960-protos.h, config/i960/i960.c,
1317 config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
1318 config/m32r/m32r-protos.h, config/m32r/m32r.c,
1319 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
1320 config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
1321 Convert to ISO C90 function declarations and definitions.
1322
6429bc7c
EB
13232003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1324
1325 * doc/extend.texi (Constructing Calls): Add warning about
1326 the limitations of the functions.
1327
6e3077c6
EB
13282003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1329
1330 PR middle-end/11151
1331 * function.h (struct function): New field 'x_naked_return_label'.
1332 * function.c (free_after_compilation): Set it to NULL.
1333 (expand_function_end): Emit 'naked_return_label' if it exists.
1334 * rtl.h (expand_naked_return): Declare.
1335 * stmt.c (expand_naked_return): New function to generate a
1336 jump to 'naked_return_label'.
1337 * builtins.c (expand_builtin_return): Call expand_naked_return
1338 instead of expand_null_return.
1339 * config/sparc/sparc.md (untyped_return): Likewise.
1340
34c6bdab
AP
13412003-12-04 Andrew Pinski <pinskia@physics.uc.edu>
1342
e3869806
AP
1343 PR target/11322
1344 * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
1345
34c6bdab
AP
1346 PR target/12467
1347 * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
1348
efdba735
SH
13492003-12-04 Stuart Hastings <stuart@apple.com>
1350
d2b6eb76
ZW
1351 * rs6000.c (output_call, macho_branch_islands,
1352 add_compiler_branch_island, no_previous_def, get_previous_label)
1353 Revisions of xx_stub functions for branch islands,
1354 add -fPIC support for Darwin.
1355 * rs6000-protos.h (output_call) Prototype.
1356 * rs6000.md Use output_call.
1357 * invoke.texi Explain Darwin semantics of -longcall.
1358 * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
efdba735 1359
d67e96cf
RH
13602003-12-04 Richard Henderson <rth@redhat.com>
1361
1362 * config/i386/i386.md (addqi3_carry): Use q not r constraints.
1363 (subqi3_carry): Likewise.
1364
3db1b434
R
13652003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1366
1367 PR optimization/13260
1368 * sh-protos.h (sh_expand_t_scc): Declare.
1369 * sh.h (PREDICATE_CODES): Add cmpsi_operand.
1370 * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
1371 * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
1372 something that is not a CONST_INT, copy it into a pseudo register.
1373 (subc): Fix description of new T value.
1374 (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
1375 (sltu, sleu, sgeu): Likewise.
1376 (seq, sne): Likewise. Use sh_expand_t_scc.
1377
6938ec6c
NN
13782003-12-04 Nathanael Nerode <neroden@gcc.gnu.org>
1379
f1faaabd
NN
1380 * configure.in: Generalize the CONFIG_HEADERS pattern under which
1381 we stamp cstamp-h.
1382 * configure: Regenerate.
1383
6938ec6c
NN
1384 * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
1385 to avoid trouble when updating to autoconf 2.5x.
1386 * configure: Regenerate (with autoconf 2.13 still).
1387
40779a72
R
13882003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1389
1390 * sh.md (truncdiqi2): Use andi opcode for immediate.
1391 (reload_outdf+1,reload_outdf+2): Remove constraints.
1392 (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
1393 (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
1394 (fipr, ftrv): Add .s suffix to opcode.
1395
8a89dbd2
RS
13962003-12-04 Richard Sandiford <rsandifo@redhat.com>
1397
1398 PR target/13186
1399
1400 Revert all of the following patch, except the addition of
1401 hook_bool_machine_mode_true:
1402
1403 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
1404
1405 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1406 (GTFILES): Add targhooks.c.
1407 (gt-targhooks.h): New rule; depend on s-gtype.
1408 * target.h (direct_pool_load_p): New hook.
1409 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1410 (TARGET_INITIALIZER): Include it.
1411 * targhooks.h (default_direct_pool_load_p): Declare.
1412 (hook_bool_machine_mode_true): Declare.
1413 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1414 gt-targhooks.h.
1415 (pool_symbol): New variable.
1416 (default_direct_pool_load_p): New function.
1417 (hook_bool_machine_mode_true): New function.
1418 * reload.c: Include target.h.
1419 (find_reloads): If an alternative will force a constant into memory,
1420 count an extra reload if constant pool symbols are not valid
1421 addresses. If an alternative uses memory to move values between
1422 registers, count the move as two reloads rather than one.
1423 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1424 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1425
c743369c
MM
14262003-12-03 Mark Mitchell <mark@codesourcery.com>
1427
1428 * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
1429 * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
1430 HAVE_AS_TLS is true.
1431 * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
1432
60c1d0d8
JW
14332003-12-03 James E Wilson <wilson@specifixinc.com>
1434
aedec8dd
JW
1435 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
1436
60c1d0d8
JW
1437 * gcc-page.c (extra_order_size_tab): Correct comment.
1438
32da7865
KH
14392003-12-03 Kazu Hirata <kazu@cs.umass.edu>
1440
1441 * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
1442 instead of gen_push_h8300hs.
1443 (pop): Call gen_pop_h8300hs_advanced instead of
1444 gen_pop_h8300hs.
1445 * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
1446 * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
1447 Tighten the predicate.
1448 (*tablejump_h8300hs_normal): Tighten the predicate.
1449 (push_h8300hs): Change to
1450 push_h8300hs_advanced.
1451 (pop_h8300hs): Change to pop_h8300hs_advanced.
1452
ce6e2d90
EC
14532003-12-03 Eric Christopher <echristo@redhat.com>
1454
1455 * rtl.c: Fix typo.
1456 * config/mips/mips.h: Ditto. Fix formatting.
1457
4a423a9f
BE
14582003-12-04 Ben Elliston <bje@wasabisystems.com>
1459
1460 * future.options: Remove. Move to gnu.org web pages.
1461
cfe79ecf
EC
14622003-12-03 Eric Christopher <echristo@redhat.com>
1463
1464 * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
d2b6eb76
ZW
1465 from here...
1466 * c-tree.h: to here.
cfe79ecf 1467
a40c2961
JH
14682003-12-03 Jan Hubicka <jh@suse.cz>
1469
1470 PR optimization/12324
1471 * toplev.c (rest_of_decl_compilation): Do not deffer when compiling
1472 in unit-at-a-time mode.
1473
8ecc63eb
JJ
14742003-12-03 Jakub Jelinek <jakub@redhat.com>
1475
1476 * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
1477 read-only field if cleared is 0.
1478
34cf946f
NN
14792003-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
1480
1481 * config.gcc: Mark obsolete targets for GCC 3.4.
1482
eb158727
ZW
14832003-12-03 Zack Weinberg <zack@codesourcery.com>
1484
1485 * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
1486 * config.in, configure.in: Regenerate.
1487 * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
1488 including iconv.h.
1489
1fcc57f1
AM
14902003-12-03 Alan Modra <amodra@bigpond.net.au>
1491
1492 PR target/11229
1493 * cse.c (cse_insn): Set classp using src_const_elt if
1494 src_eqv_elt is NULL.
1495
01c43039
RE
14962003-12-03 Richard Earnshaw <rearnsha@arm.com>
1497
1498 * gcse.c (reg_clear_last_set): New function.
1499 (reg_set_info): If data is non-null, treat it as an sbitmap of
1500 registers, set the bit for the register being set.
1501 (compute_store_table): Allocate last_set_in with xcalloc. Do not
1502 memset this array on each iteration. Pass reg_set_in_block[bb->index]
1503 to note_stores while computing last_set_in instead of scanning
1504 last_set_in after the first pass through the insns.
1505 Clear last_set_in using reg_clear_last_set instead of explicitly
1506 rescanning after each insn. If checking is enabled, assert that
1507 last_set_in is completely zeroed after each bb has been processed.
1508
85b89471
GK
15092003-12-02 Geoffrey Keating <geoffk@geoffk.org>
1510
1511 * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
1512 never read-write.
1513 <REG>: Delete incorrect comment.
1514 <SET>: Remove 'use_flags' variable.
1515
a0506b54
DE
15162003-12-03 David Edelsohn <edelsohn@gnu.org>
1517
1518 * function.c (assign_parms): Make sure parm PARALLEL combined
1519 in reg is composed of more than one object and the mode really
1520 produces a reg.
1521
8ef33732
JH
15222003-12-03 Jan Hubicka <jh@suse.cz>
1523
1524 * i386.c (classify_argument): Make it 64bit clean.
1525
7a808674
RS
15262003-12-02 Richard Sandiford <rsandifo@redhat.com>
1527
1528 * config/mips/mips.c (mips_output_external): Replace checks for
1529 specific builtin-in functions with a check for DECL_BUILTIN_IN.
1530
7e7c843f
RH
15312003-12-02 Richard Henderson <rth@redhat.com>
1532
eb158727
ZW
1533 * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
1534 * tree.h (TREE_SET_CODE): Likewise.
1535 * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
7e7c843f 1536
1d3f6c9f
BE
15372003-12-02 Ben Elliston <bje@wasabisystems.com>
1538
1539 * dbxstclass.h: Rename from this ..
1540 * xcoff.h: .. to this.
1541 * xcoffout.c: Include xcoff.h.
1542
3c987b8e
KG
15432003-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1544
1545 * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
1546
e3b66120 15472003-12-01 James Lemke <jim@wasabisystems.com>
eb158727 1548
e3b66120
JL
1549 * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
1550
d9e7c8e3
RS
15512003-12-01 Roger Sayle <roger@eyesopen.com>
1552
1553 PR optimization/11634
1554 * recog.c (split_insn): Factor test of INSN_P and handling of
1555 set_noop_p out of here into the two callers.
1556 (split_all_insns): Add INSN_P test and set_noop_p handling here.
1557 If deleting a no-op set after reload that has a REG_UNUSED note,
1558 mark the basic block as changed and recalculate life information.
1559 (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
1560 here.
1561
b58b21d5
RS
15622003-12-01 Roger Sayle <roger@eyesopen.com>
1563
1564 PR optimization/12322
1565 * gcse.c (struct ls_expr): Change type of hash_index from int to
1566 unsigned int.
1567 (hash_expr): Document hash_table_size parameter and wrap long line.
1568 (ldst_entry): Calculate expression's hash_index and record in ptr.
1569 (trim_ld_motion_mems): Use hash_index to search a single bucket
1570 instead of scanning the entire hash_table. Remove the "del" local
1571 variable and use the equivalent "expr == 0" instead. Change last
1572 to be a pointer to the pointer to the current element, to simplify
1573 and speed-up deleting from a linked list.
1574
4582b849
JW
15752003-12-01 James E Wilson <wilson@specifixinc.com>
1576
b3538cf2
JW
1577 * doc/contrib.texi: Update David Mosberger.
1578
98376d4a
JW
1579 * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
1580 of missing fields.
1581
4582b849
JW
1582 PR target/8407
1583 * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
1584 gen_rtx_REG to create new reg with argument mode.
1585
47aeffac
SB
15862003-12-01 Steven Bosscher <stevenb@suse.de>
1587
1588 * ggc.h (struct alloc_zone): Move forward declaration up.
1589 (new_ggc_zone): New function prototype.
1590 (destroy_ggc_zone): Ditto.
1591 * ggc-simple.c (new_ggc_zone): New function, does nothing.
1592 (destroy_ggc_zone): Ditto.
1593 * ggc-page.c (new_ggc_zone): New function, does nothing.
1594 (destroy_ggc_zone): Ditto.
1595 * ggc-zone.c (struct page_entry): Fix comment.
1596 (ggc_alloc_typed): Use a switch statement instead of ifs.
1597 (new_ggc_zone): New function to set up a new GC zone.
1598 (destroy_ggc_zone): New function to remove a GC zone.
1599 init_ggc): Use new_ggc_zone to set up the default zones.
1600 (ggc_collect): Walk a list of zones, instead of just the
1601 default zones. Report statistics using the zone name.
1602
1bcec223
UW
16032003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1604
1605 * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
1606
28cb2b14
RS
16072003-12-01 Roger Sayle <roger@eyesopen.com>
1608
1609 PR optimization/12628
1610 * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
1611 * regclass.c (reg_scan): Include allocate_reg_info time in
1612 TV_REG_SCAN. Minor clean-ups.
1613 (reg_scan_update): Minor clean-ups.
1614
bde5dd25
UW
16152003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1616
1617 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
1618
93868a8e
JW
16192003-12-01 James E Wilson <wilson@specifixinc.com>
1620
1621 * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
1622 GR_ARG_FIRST.
1623
dc170a87
ZW
16242003-12-01 Zack Weinberg <zack@codesourcery.com>
1625
1626 * common.opt: Remove -fgnu-linker.
1627 * flags.h: Remove flag_gnu_linker.
1628 * opts.c: Don't handle OPT_fgnu_linker.
1629 * toplev.c: Don't initialize flag_gnu_linker.
1630 Remove gnu-linker entry from f_options.
1631 * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
1632 Don't reset flag_gnu_linker.
1633 * config/mips/mips.c (override_options): Likewise.
1634 * doc/invoke.texi: Remove all mention of -fgnu-linker.
1635
7297afa0 16362003-12-01 Daniel Berlin <dberlin@dberlin.org>
dc170a87 1637
7297afa0
DB
1638 * ggc-zone.c (ggc_pch_write_object): Calculate object size using
1639 ggc_get_size (which accounts for large objects properly).
1640
fccab17e
JS
16412003-12-01 Jeff Sturm <jsturm@one-point.com>
1642
1643 PR optimization/13024
1644 * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
1645 parameter.
1646 (rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
1647 declaration. Rebuild jump labels following local_alloc if necessary.
1648 (rest_of_compilation): Remove rebuild_label_notes_after_reload
1649 declaration. Don't pass rebuild_notes parameter to
1650 rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
1651 Don't rebuild jump labels.
1652
095c3bbd
JL
16532003-12-01 Jeff Law <law@redhat.com>
1654
1655 * flow.c (count_or_remove_death_notes_bb): New. Extracted from
1656 count_or_remove_death_notes.
1657 (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
1658
41439bf6
AK
16592003-12-01 Andreas Krebbel <krebbel1@de.ibm.com>
1660
1661 * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
1662
0422e940
UW
16632003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1664
1665 * reload.c (find_reloads_address): Split addresses of type
1666 (plus (plus (reg) (reg)) (const_int)) only if one register
1667 is either a valid base register or else one of the stack
1668 frame related registers (sp/fp/ap).
1669
80fcc7bc
SB
16702003-12-01 Steven Bosscher <stevenb@suse.de>
1671
1672 * function.c (update_epilogue_consts): Don't use PARAMS.
1673 * rtl.h (web_main): Ditto.
1674 * target.h (is_costly_dependence): Ditto
1675
e82407b5
EB
16762003-12-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1677
1678 PR middle-end/7847
1679 * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
1680 do not recheck that 'op0' is a MEM. Move comment. When testing for
1681 unaligned objects, take also into account the alignment of 'op0' and
1682 'mode1' if 'op0' is a MEM.
1683
8786882b
GDR
16842003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1685
1686 * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
1687
53d60c04
KC
16882003-12-01 Kelley Cook <kcook@gcc.gnu.org>
1689
1690 * doc/install.texi: Note that fastjar is built with automake 1.7.x
1691 and autoconf 2.57.
1692
c3a77bf9
AM
16932003-12-01 Alan Modra <amodra@bigpond.net.au>
1694
1695 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
1696 target_flags directly rather than using TARGET_* defines.
1697
b97366d9
BE
16982003-11-30 Ben Elliston <bje@wasabisystems.com>
1699
1700 * doschk.c: Remove.
1701
936b1317
RS
17022003-11-30 Richard Sandiford <rsandifo@redhat.com>
1703
1704 PR target/12727
1705 * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
1706 on 32-bit big-endian targets.
1707
85a45cbb
KH
17082003-11-30 Kazu Hirata <kazu@cs.umass.edu>
1709
1710 * genemit.c (register_constraints): Remove.
1711
f19a9af7
AK
17122003-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
1713
dc170a87 1714 * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
f19a9af7
AK
1715 "iordi3"): Insns now use multiple letter constraints.
1716 ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
1717 covered by "*movdi_64".
1718 ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
1719 covered by "*movsi_zarch" and "*movsi_esa".
1720 ("*movsi_zarch", "*movsi_!zarch"): New insns.
dc170a87 1721 ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
f19a9af7
AK
1722 by "*andsi3_zarch" and "anddi3".
1723 ("*anddi3_ni"): Insn merged with "anddi3".
1724 ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
1725 ("*andsi3_zarch", "*andsi3_esa"): New insns.
1726 ("*iordi3_oi"): Insn merged with "iordi3".
1727 ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
1728 ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
1729
dc170a87 1730 * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
f19a9af7
AK
1731 merged to s390_single_part.
1732 (s390_single_part): New function.
1733 NOTE: Semantics have changed a bit. Now the value of the part must
1734 be different from the others to get a non-negative return value.
dc170a87 1735 (s390_extract_qi, s390_extract_hi): Functions merged to
f19a9af7
AK
1736 s390_extract_part.
1737 (s390_extract_part, s390_extra_constraint_str,
dc170a87
ZW
1738 s390_const_ok_for_constraint_p): New functions. The L constraint got a
1739 new meaning and the N constraint was added as a multiple letter
f19a9af7
AK
1740 constraint.
1741 (s390_extra_constraint): Function deleted.
1742 (print_operand): New output modifier 'i' and 'j' added.
dc170a87 1743 All uses of CONST_OK_FOR_LETTER_P were replaced by
f19a9af7
AK
1744 CONST_OK_FOR_CONSTRAINT_P.
1745
1746 * config/s390/s390-protos.h: Function prototypes adapted.
1747 * doc/md.texi: Documentation for new constraint letters added.
1748
6a09dded
AS
17492003-11-30 Andreas Schwab <schwab@suse.de>
1750
1751 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
1752
5583e33d
JW
17532003-11-29 James E Wilson <wilson@specifixinc.com>
1754
348d71c7
JW
1755 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
1756 instead of in shared_name.
1757
5583e33d
JW
1758 * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
1759 * reload1.c (reload): Re-add it here.
1760
1ff8f81a
AM
17612003-11-30 Alan Modra <amodra@bigpond.net.au>
1762
1763 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
1764 set SECTION_WRITE on TARGET_RELOCATABLE.
1765
a1dce8d1
KH
17662003-11-29 Kazu Hirata <kazu@cs.umass.edu>
1767
1768 * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
1769
f082d7a9
GN
17702003-11-28 Gunther Nikl <gni@gecko.de>
1771
1772 * config/m68k/m68k.c (MOTOROLA): Move from here...
1773 * config/m68k/m68k.h (MOTOROLA): ... to here.
1774 (OUTPUT_JUMP): Use do {...} while (0).
1775 * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
1776
c16202e1
GN
17772003-11-28 Gunther Nikl <gni@gecko.de>
1778
1779 * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
1780 m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
1781 MOTOROLA and USE_GAS.
1782 * config/m68k/rtemself.h (MOTOROLA): Delete.
1783 * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
1784 * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
1785
3f69c502
KH
17862003-11-29 Kazu Hirata <kazu@cs.umass.edu>
1787
1788 * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
1789
ee312cd0
KC
17902003-11-29 Kelley Cook <kcook@gcc.gnu.org>
1791
1792 * Makefile.in (install-info): Install gccinstall.info too.
1793
fd87a357
UW
17942003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
1795
1796 * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
1797
d71a8c3b
UW
17982003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
1799
1800 * config/s390/s390.md ("movhi"): Do not emit extender pattern
1801 when loading from a (MEM (ADDRESSOF ...)).
1802 ("movqi"): Likewise.
1803
65f0edec
JM
18042003-11-29 Joseph S. Myers <jsm@polyomino.org.uk>
1805
1806 PR c/10333
1807 * c-parse.in (typespec_reserved_nonattr): Reject typeof on
1808 bit-fields.
1809
9c858681
RS
18102003-11-29 Richard Sandiford <rsandifo@redhat.com>
1811
1812 * stmt.c (expand_asm_operands): Check whether force_const_mem
1813 succeeded.
1814
26b0ad13
KG
18152003-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1816
1817 * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
1818 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
dc170a87 1819
26b0ad13
KG
1820 * config/alpha/gnu.h, config/alpha/linux.h,
1821 config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
1822 config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
1823 config/i386/linux-aout.h, config/i386/linux.h,
1824 config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
1825 config/m68k/uclinux.h, config/mips/linux.h,
1826 config/mn10300/linux.h, config/pa/pa-linux.h,
1827 config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
1828 config/sparc/linux.h, config/sparc/linux64.h,
1829 config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
1830 HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
1831 all necessary assertions are included.
1832
2c07f13b
JH
18332003-11-28 Jan Hubicka <jh@suse.cz>
1834
1835 * emit-rtl.c (set_used_flags): New.
1836 (verify_rtx_sharing, verify_rtl_sharing): New.
1837 (unshare_all_rtl_1): Rename to....
1838 (unshare_all_rtl_in_chain): ... this one; make static.
1839 (copy_rtx_if_shared): LABEL_REF chan be shared.
1840 * ifcvt.c (unshare_ifcvt_sequence): New.
1841 (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
1842 noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
1843 noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
1844 noce_try_abs, noce_process_if_block, find_cond_trap
1845 * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
1846 Declare.
1847
8207738d
KH
18482003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1849
1850 * config/h8300/h8300.md: Fix a comment typo.
1851
de081ebf
KH
18522003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1853
1854 * config/h8300/h8300.md (*movsf_h8300h): Change to
1855 *movsf_h8300hs.
1856 (addsi_h8300): Change to *addsi_h8300.
1857 (addsi_h8300h): Change to *addsi_h8300hs.
1858 (subsi3_h8300): Change to *subsi3_h8300.
1859 (subsi3_h8300h): Change to *subsi3_h8300hs.
1860 (neghi2_h8300h): Change to *neghi2_h8300hs.
1861 (negsi2_h8300h): Change to *negsi2_h8300hs.
1862
be52ec1d
KH
18632003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1864
1865 * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
1866 constraint.
1867 (*subhi3_h8300hs): Likewise.
1868
ffa22984
DE
18692003-11-28 David Edelsohn <edelsohn@gnu.org>
1870
1871 * config/rs6000/rs6000.h (MASK_MFCRF): New.
1872 (TARGET_MFCRF): Test target_flags, not processor type.
1873 (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
1874 Change Don't to Do not.
1875 * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
1876 to power4, 970, G5.
1877
f3ea0706
R
18782003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
1879
1880 * cse.c (cse_set_around_loop): When changing a constant load
1881 to a register -register copy, add a REG_EQUAL note.
1882
a3d4c92f
RC
18832003-11-27 Randolph Chung <tausq@debian.org>
1884 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1885
dc170a87 1886 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
a3d4c92f
RC
1887 insns. Use the regular call expander for the call to the profiler.
1888 * pa.md (call_profiler): Delete.
1889 (load_offset_label_address): New insn to load the address of the
1890 current function for the profiler.
1891 (lcla1, lcla2): New insns to output a code label and load its address.
1892
a27b9e3c
KH
18932003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1894
1895 * final.c (final_scan_insn): Remove commented-out code.
1896
75043b67
NN
18972003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
1898
1899 * doc/install.texi: Remove ADAC reference and make accurate.
1900
ef3b9941
KH
19012003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1902
1903 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
1904 (FUNCTION_VALUE_REGNO_P): Likewise.
1905 * config/h8300/h8300.md: Define R0_REG.
1906
80e58519
KH
19072003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1908
1909 * config/h8300/h8300.c: Fix formatting.
1910 * config/h8300/h8300.md: Likewise.
1911
7e920754
KH
19122003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1913
c9ae693d 1914 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
7e920754 1915
8dae21e7
KH
19162003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1917
1918 * config/h8300/h8300.md: Give names to anonymous insns.
1919
da7959a8
KH
19202003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1921
1922 * config/h8300/h8300.md (extendqisi2): Remove constraints.
1923
f4314bb6
GN
19242003-11-27 Gunther Nikl <gni@gecko.de>
1925
1926 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
1927
b483cfb7
EB
19282003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1929
1930 PR optimization/13041
1931 * final.c (frame_pointer_needed): Fix comment.
1932 * reload1.c (reload): Decrease alignment of the frame
1933 pointer if it was used for register allocation.
1934
ecb63641
EB
19352003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1936
1937 PR target/12900
1938 * reg-stack (move_for_stack_reg): New prototype. Return
1939 whether a control flow insn was deleted.
1940 (subst_stack_regs_pat): Likewise, using the information provided
1941 by move_for_stack_reg.
1942 (subst_stack_regs): Likewise, using the information provided
1943 by subst_stack_regs_pat.
1944 (convert_regs_1): Record whether a control flow insn was deleted,
1945 using the information provided by subst_stack_regs. Purge dead
1946 edges only if a control flow insn was deleted.
1947
316d0b19
EB
19482003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1949
1950 PR middle-end/8028
1951 PR middle-end/9890
1952 PR middle-end/11151
1953 PR middle-end/12210
1954 PR middle-end/12503
1955 PR middle-end/12692
1956 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
1957 as the base address to copy the memory arguments to.
1958
034f2316
DS
19592003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
1960
1961 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
1962 function aliases as functions.
1963
f73ccc50
NN
19642003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
1965
e0520fa7
NN
1966 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
1967 of ADAC.
1968 * configure: Regenerate.
1969
6ad5e585
NN
1970 * Makefile.in: Remove references to ADAC.
1971
f73ccc50
NN
1972 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
1973 * configure: Regenerate.
1974
6a151f87 19752003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
dc170a87 1976 Olivier Hainque <hainque@act-europe.fr>
6a151f87
EB
1977
1978 PR target/6466
1979 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
1980 (sparc_flat_compute_frame_size): Likewise.
1981 (sparc_flat_save_restore): Move prototype...
1982 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
1983 (save_regs): New prototype.
1984 (build_big_number): Likewise.
1985 (apparent_fsize): Change type to HOST_WIDE_INT.
1986 (actual_fsize): Likewise.
1987 (frame_base_offset): Likewise.
1988 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
1989 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1990 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
1991 to load a 64-bit constant.
1992 (sparc_nonflat_function_prologue): Change string descriptor to
1993 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
1994 (output_restore_regs): Change offset type to HOST_WIDE_INT.
1995 (sparc_nonflat_function_epilogue): Change string descriptor to
1996 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
1997 (output_sibcall): Change size type to HOST_WIDE_INT. Use
1998 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1999 (sparc_frame_info): Change types for several components.
2000 (sparc_flat_compute_frame_size): Update types according to previous
2001 change.
2002 (sparc_flat_function_prologue): Change string descriptor to
2003 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
2004 build_big_number.
2005 (sparc_flat_function_epilogue): Change offset type to int.
2006 Rename 'size1' into 'reg_offset1'. Change string descriptor to
2007 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
2008 limit to 4096 instead of 4095.
2009
2010 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
2011 HOST_WIDE_INT.
2012
dcb5fe8b 20132003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1be4cd1f
WH
2014
2015 * function.c: Make outer_function-chain external.
2016 * function.h: Likewise.
2017
21b807f1
RS
20182003-11-24 Richard Sandiford <rsandifo@redhat.com>
2019
2020 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
2021 using GNU ld.
2022 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
2023 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
2024 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
2025 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
2026 (SUBTARGET_EXTRA_SPECS): Define.
2027 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
2028 to __gcc_init and -fini function to __gcc_fini.
2029 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
2030 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
2031 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
2032 * config/mips/t-iris6gld,
2033 * config/mips/irix6-crti.asm,
2034 * config/mips/irix6-crtn.asm: New files.
2035
e13e48e7
EC
20362003-11-24 Eric Christopher <echristo@redhat.com>
2037
2038 PR C/13014
2039 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
2040 (start_function): Use.
2041 (c_push_function_context): Ditto.
2042 (c-pop_function_context): Ditto.
dc170a87 2043 (language_function): Move...
e13e48e7
EC
2044 * c-tree.h: ... here. Add x_in_iteration_stmt, and
2045 x_in_case_stmt.
2046 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
2047 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
2048 check for valid break or continue statment here...
2049 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
2050 here. Change original errors to abort.
2051
8273c02d
JH
20522003-11-24 Jan Hubicka <jh@suse.cz>
2053
2c07f13b
JH
2054 * fold-const.c (fold): Do not return early when optimizing
2055 COMPONENT_REF and constant.
8273c02d 2056
0980ad79
KH
20572003-11-24 Kazu Hirata <kazu@cs.umass.edu>
2058
2059 * config/h8300/h8300.md (tablejump_h8300): Change to
2060 *tablejump_h8300.
2061 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
2062 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
2063 (indirect_jump_h8300): Change to *indirect_jump_h8300.
2064 (indirect_jump_h8300h): Change to
2065 *indirect_jump_h8300hs_advanced.
2066 (indirect_jump_normal_mode): Change to
2067 *indirect_jump_h8300hs_normal.
2068
7ed7f009
KH
20692003-11-24 Kazu Hirata <kazu@cs.umass.edu>
2070
2071 * config/h8300/h8300.md: Remove constraints from expanders.
2072
bc02597b
KH
20732003-11-24 Kazu Hirata <kazu@cs.umass.edu>
2074
2075 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
2076 stm_h8300s_2_advanced.
2077 (stm_h8300s_2_normal): New.
2078 (stm_h8300s_2): Likewise.
2079 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
2080 (stm_h8300s_3_normal): New.
2081 (stm_h8300s_3): Likewise.
2082 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
2083 (stm_h8300s_4_normal): New.
2084 (stm_h8300s_4): Likewise.
2085 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
2086 (ldm_h8300s_2_normal): New.
2087 (ldm_h8300s_2): Likewise.
2088 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
2089 (ldm_h8300s_3_normal): New.
2090 (ldm_h8300s_3): Likewise.
2091 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
2092 (ldm_h8300s_4_normal): New.
2093 (ldm_h8300s_4): Likewise.
2094 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
2095 (two peephole2's): New.
2096
8653a1ed
ZD
20972003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2098
2099 * genattrtab.c (simplify_cond): Update indices correctly.
2100 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
2101 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
2102 (check_attr_test, encode_units_mask, compute_alternative_mask,
2103 make_alternative_compare, simplify_and_tree,
2104 attr_rtx_cost, simplify_test_exp, gen_attr,
2105 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
2106 * rtl.def (EQ_ATTR_ALT): New.
2107
75669493
ZD
21082003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2109
2110 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
2111 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
2112 New variables.
2113 (main): Initialize them.
2114 (find_attr): Canonicalize the attribute name string.
2115 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
2116 string arguments.
2117 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
2118 (check_attr_test, check_attr_value, make_length_attrs,
2119 write_length_unit_log, simplify_by_exploding, gen_attr,
2120 write_test_expr, write_attr_value, write_eligible_delay,
2121 write_complex_function, make_internal_attr,
2122 write_const_num_delay_slots): Changed due to change of type of
2123 find_attr.
2124 (fill_attr, evaluate_eq_attr, simplify_and_tree,
2125 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
2126 strcmp_check.
2127
f24f0897
KH
21282003-11-23 Kazu Hirata <kazu@cs.umass.edu>
2129
32ee8548 2130 PR target/13122
f24f0897
KH
2131 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
2132 normal mode.
2133 (pop): Call pop_h8300hs_normal in normal mode.
2134 * config/h8300/h8300.md: Likewise.
2135 (pushqi1_h8300hs_normal): New.
2136 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
2137 (pushhi1_h8300hs_normal): New.
2138 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
2139 (push_h8300hs_normal): New.
2140 (pop_h8300hs_normal): Likewise.
2141
21422003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
a5d8d874
ZD
2143
2144 * genattrtab.c (count_sub_rtxs): Removed.
2145
8c2a5582
RE
21462003-11-23 Richard Earnshaw <rearnsha@arm.com>
2147
2148 * recog.c (preprocess_constraints): Only zero those elements of
2149 recog_op_alt that are needed for this insn.
2150 * arm.c (note_invalid_constants): A function can't contain invalid
2151 constants if it has no constraints.
2152
cf2348cb
JH
21532003-11-22 Jan Hubicka <jh@suse.cz>
2154
2155 * i386.c (classify_argument): Pass __float128 in memory.
2156 (ix86_return_in_memory): Likewise.
2157 (ix86_libcall_value): Likewsie.
2158
dd4c3763
KH
21592003-11-22 Kazu Hirata <kazu@cs.umass.edu>
2160
2161 * config/h8300/h8300.c (dosize): Convert to ISO-C.
2162
24908375
R
21632003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
2164
2165 * flow.c (update_life_info): Amend comment about when a register
2166 can become dead.
2167
6f2aeb72
KC
21682003-11-21 Kelley Cook <kcook@gcc.gnu.org>
2169
2170 * doc/.cvsignore: Delete.
2171
d44c7e36
DB
21722003-11-21 Daniel Berlin <dberlin@dberlin.org>
2173 David Edelsohn <edelsohn@gnu.org>
2174
2175 * dwarf2out.c (add_location_or_const_value_attribute): Add support
2176 for PARALLEL.
2177
af8e5a0e
RO
21782003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2179
2180 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
2181 (TARGET_LIBGCC2_CFLAGS): Define.
2182
2183 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
2184 (__do_global_ctors): Likewise.
2185
23a44080
MW
21862003-11-21 Mark Wielaard <mark@klomp.org>
2187
2188 * doc/invoke.texi (-O2): Doesn't enable -fweb.
2189
9313cfdd
KH
21902003-11-21 Kazu Hirata <kazu@cs.umass.edu>
2191
2192 * doc/invoke.texi: Mention dV and dZ.
2193
98edbb7a
KH
21942003-11-21 Kazu Hirata <kazu@cs.umass.edu>
2195
2196 * doc/invoke.texi: Update dump file names.
2197 Remove de, dW, and dX.
2198
c862d589
JW
21992003-11-20 James E Wilson <wilson@specifixinc.com>
2200
2201 PR c/13133
2202 * reload1.c (reload): Delete special handling for setjmp.
2203
0eadf440
AT
22042003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
2205
2206 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
2207 step too.
2208 * config/t-slibgcc-darwin: Adjust install path.
2209 * config/rs6000/t-darwin: Revert multilib matches since
2210 it is not used on darwin.
2211
c132886e
RH
22122003-11-20 Richard Henderson <rth@redhat.com>
2213
2214 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
2215 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
2216 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
2217 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
2218 * flow.c: Don't include ssa.h.
2219 (set_phi_alternative_reg): Remove.
2220 (calculate_global_regs_live): Don't call it.
2221 (mark_used_regs): Don't handle PHI.
2222 * gengtype.c (open_base_files): Don't reference ssa.h.
2223 * rtl.def (PHI): Remove.
2224 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
2225 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
2226 * opts.c (common_handle_option): Likewise.
2227 * toplev.c (f_options): Likewise.
2228 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
2229 (dump_file): Update to match.
2230 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
2231 (rest_of_handle_ssa): Remove.
2232 (rest_of_compilation): Don't call it.
2233 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
2234 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
2235 * doc/passes.texi (SSA optimizations): Remove.
2236
d116bdf8
BW
22372003-11-20 Bob Wilson <bob.wilson@acm.org>
2238
2239 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
2240 * configure: Regenerate.
2241
e75f9147
KC
22422003-11-20 Kelley Cook <kcook@gcc.gnu.org>
2243
2244 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
2245
3e7869c6
DM
22462003-11-20 David Mosberger <davidm@hpl.hp.com>
2247
18e06e11
JW
2248 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
2249 (SHLIB_LC): Define.
3e7869c6
DM
2250 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
2251 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
2252
531547e9
FJ
22532003-11-20 Fariborz Jahanian <fjahanian@apple.com>
2254 David Edelsohn <edelsohn@gnu.org>
2255
2256 * calls.c (expand_call): Allocate new temp in pass1.
2257 (store_one_arg): If PARALLEL, calculate excess using mode size of
e13e48e7 2258 rtvec elt.
531547e9
FJ
2259 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
2260 mode size of rtvec elt.
2261 * function.c (assign_parms): Use parm in register, if available.
2262
93352ff5
KH
22632003-11-20 Kazu Hirata <kazu@cs.umass.edu>
2264
2265 * config/h8300/lib1funcs.asm (MOVP): Remove.
2266 (ADDP): Likewise.
2267 (CMPP): Likewise.
2268
a72d4945
RE
22692003-11-20 Richard Earnshaw <rearnsha@arm.com>
2270
2271 * arm.c (use_return_insn): New argument, SIBLING. Support returning
2272 with a single instruction if the stack has been decremented by 4
2273 and we have a frame pointer. Update all callers.
2274 (output_return_instruction): Likewise.
2275 (arm_output_epilogue): Change argument to SIBLING. Calculate
2276 really_return from the new argument. Update all callers.
2277 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
2278 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
2279 pass the sibling call.
2280 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
2281 prototypes.
2282
a03ad584
JM
22832003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2284
2285 * Makefile.in (extraclean): Delete.
2286 * configure.in (target_list): Remove extraclean.
2287 * configure: Regenerate.
2288 * doc/makefile.texi, doc/sourcebuild.texi: Update.
2289 * objc/Make-lang.in (objc.extraclean): Delete.
2290
49a41726
JM
22912003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2292
2293 * Makefile.in (lang_checks): Add.
2294 (check-c++, check-f77, check-java, check-g++, check-g77,
2295 check-objc): Remove hardcoded targets.
2296 * doc/sourcebuild.texi: Document testsuite hooks.
2297 * objc/Make-lang.in (check-objc, lang_checks): Add.
2298
371e8c4f
SS
22992003-11-19 Scott Snyder <snyder@fnal.gov>
2300
2301 PR target/13131
2302 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
2303 flag, not a constant.
2304
2b49e0aa
KC
23052003-11-19 Kelley Cook <kcook@gcc.gnu.org>
2306
2307 * config/arc/arc-protos.h: Update to C90 prototypes.
2308 * config/arc/arc.c: Likewise.
2309 * config/arc/initfini.c: Likewise.
2310
3d4f0dab
AK
23112003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
2312
2313 * stmt.c (expand_goto): Memory clobbers added.
2314
b04a1b3b
AK
23152003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
2316
2317 * reload.c (find_reloads): Added missing type casts.
2318
f2d89bc9
JW
23192003-11-19 James E Wilson <wilson@specifixinc.com>
2320
2321 * combine.c (sets_function_arg_p): Delete unused function.
2322
b0e667aa
EC
23232003-11-19 Eric Christopher <echristo@redhat.com>
2324
2325 * reload1.c (reload): Revert 2 previous checkins.
2326
dd2cc6dc
NN
23272003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
2328
2329 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
2330 whether directive begins at the beginning of a line.
2331
09c55720
RS
23322003-11-19 Richard Sandiford <rsandifo@redhat.com>
2333
2334 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
2335
4550b19e
GP
23362003-11-19 Gerald Pfeifer <gp@suse.de>
2337
2338 * doc/install.texi (Specific): Remove information on old versions
2339 of glibc versus old versions of GCC.
2340
90db942b
RS
23412003-11-19 Richard SAndiford <rsandifo@redhat.com>
2342
2343 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
2344 the register lowpart is a TRULY_NOOP_TRUNCATION.
2345
d4c32b6f
RH
23462003-11-19 Richard Henderson <rth@redhat.com>
2347
2348 * config/i386/i386.c (print_reg): Handle QI and HI modes for
2349 non Q regs.
2350
f7a75b82
AT
23512003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
2352
2353 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
2354 specification file.
2355 * config/t-slibgcc-darwin: New file, libgcc build specification.
2356 * config/t-darwin: Add libgcc2 flag -fPIC.
2357 * config/rs6000/t-darwin: Multilib matches float.
2358 * libgcc-darwin.ver: New file, contains libgcc symbols.
2359
e2657a67
NN
23602003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
2361
2362 * config/ns32k/ns32k.h: Remove obsolete comment.
2363
b9c53150
RS
23642003-11-18 Roger Sayle <roger@eyesopen.com>
2365
2366 PR middle-end/11821
2367 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
2368 size for calls to libgcc's div & mod subroutines when using -Os.
2369
df964a18
JH
23702003-11-18 Jan Hubicka <jh@suse.cz>
2371
2372 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
2373
457ef797
ME
23742003-11-18 Marc Espie <espie@openbsd.org>
2375
2376 * config/rs6000/sysv4.h: OpenBSD hooks.
2377
beb0c2e0
RH
23782003-11-18 Richard Henderson <rth@redhat.com>
2379
2380 * expr.c (expand_expr): Don't look through constant arrays if
2381 they don't bind locally.
2382
e44846d6
RK
23832003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2384
2385 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
2386 when seeing if truncation or extension.
2387
628b6e8c
EC
23882003-11-17 Eric Christopher <echristo@redhat.com>
2389
2390 * reload1.c (reload): Fix previous change.
2391
47fcfa7b
SS
23922003-11-17 Scott Snyder <snyder@fnal.gov>
2393
2394 PR debug/11325
2395 * dwarf2out.c (struct die_struct): Add die_definition field.
2396 (add_AT_specification): New.
2397 (gen_subprogram_die, gen_variable_die,
2398 gen_struct_or_union_type_die): Use it.
2399 (prune_unused_types_mark): If we're marking a forward declaration,
2400 also mark the full definition, if it exists.
2401
37cd4bca
NC
24022003-11-16 Nick Clifton <nickc@redhat.com>
2403
2404 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
2405 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
2406 Remove prototype.
2407 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
2408 to xstormy16_build_builtin_va_list and make static.
457ef797 2409 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
37cd4bca 2410
c06d5c85
KH
24112003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2412
2413 * config/h8300/h8300-protos.h: Add the prototype for
2414 same_cmp_following_p.
2415 * config/h8300/h8300.c (same_cmp_following_p): New.
2416 * config/h8300/h8300.md (peephole2): Use it.
2417
a62a282b
KH
24182003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2419
2420 * config/h8300/h8300.md: Don't use REGNO when its operand is
2421 not guaranteed to be a REG.
2422
c988af2b
RS
24232003-11-16 Richard Sandiford <rsandifo@redhat.com>
2424
2425 * Makefile.in (expr.o): Depend on $(TARGET_H).
2426 * target.h (return_in_msb): New target hook.
2427 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
2428 (TARGET_CALLS): Include it.
2429 * calls.c (shift_returned_value): New function.
2430 (expand_call): Use it.
2431 * expr.c: Include target.h.
2432 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
2433 deciding what padding is needed. Change the name of the local
2434 padding variable from big_endian_correction to padding_correction.
2435 * stmt.c (shift_return_value): New function.
2436 (expand_return): Use it. Adjust memory->register copy in the same
2437 way as copy_blkmode_from_reg. Only change the return register's
2438 mode if it was originally BLKmode.
2439 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
2440 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
2441 (mips_fpr_return_fields): New, split out from mips_function_value.
2442 (mips_return_in_msb, mips_return_fpr_pair): New functions.
2443 (mips_function_value): Rework to use the functions above.
2444 * config/mips/irix6-libc-compat.c: Delete.
2445 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
2446
e0c99e15
KH
24472003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2448
2449 * doc/install.texi (--enable-checking): Update valgrind's URL.
2450
60731ce5
KH
24512003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2452
2453 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
2454 with -2147483647 - 1.
2455
24726b96
GP
24562003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
2457
2458 Fix links in online manuals.
2459 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
2460 (Precompiled Headers): @pxref to cpp, not cpp.info.
2461
7d60db05
JM
24622003-11-16 Jason Merrill <jason@redhat.com>
2463
2464 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
2465 files in each directory and TAGS files that include them for each
2466 front end.
2467
e40024ff
KH
24682003-11-15 Kazu Hirata <kazu@cs.umass.edu>
2469
2470 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
2471 3 of S2L.
2472 (modnorm): Likewise.
2473 (exitdiv): Look at bit 3 of S2L only.
2474
4cd0866d
KH
24752003-11-15 Kazu Hirata <kazu@cs.umass.edu>
2476
2477 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
2478 (DO_GLOBAL_DTORS_BODY): Likewise.
2479
4f3ce03f
JM
24802003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
2481
2482 * doc/install.texi (Prerequisites): Refine documentation of
2483 autoconf, automake and perl requirements. Document required
2484 gettext version.
2485
628b6e8c 2486<2003-11-14 Jason Merrill <jason@redhat.com>
7f3a6a92
JM
2487
2488 * function.c (assign_parms): Use TREE_TYPE to determine the real
2489 type of the argument object.
2490
584fb00b
KH
24912003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2492
2493 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
2494 iteration.
2495
8fecc9e9
FJ
24962003-11-14 Fariborz Jahanian <fjahanian@apple.com>
2497
2498 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
2499 New routine to save vararg registers on stack. Support for
2500 -mpowerpc64 in mixed mode.
2501
e6d98cb0
BI
25022003-11-14 Bernardo Innocenti <bernie@develer.com>
2503
2504 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
2505 for MOTOROLA versus MIT syntax. Improves readability and provides
2506 better compile-time error checking for both code paths.
2507
f2206911
KC
25082003-11-14 Kelley Cook <kcook@gcc.gnu.org>
2509
2510 * config/frv/frv-protos.h: Update for C90.
2511 * config/frv/frv.h: Likewise.
2512 * config/frv/frvbegin.c: Likewise.
628b6e8c 2513 * config/frv/frv.c: Likewise.
f2206911
KC
2514 (frv_adjust_field_align): Delete unused variable.
2515
e235d8bf
GK
25162003-11-14 Geoffrey Keating <geoffk@apple.com>
2517
39e63627
GK
2518 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
2519 to each place where TARGET_LONG_DOUBLE_128 is used with
2520 DEFAULT_ABI == ABI_AIX.
2521
e235d8bf
GK
2522 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
2523 message comply with GNU standards.
2524
f285d67b
RK
25252003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2526
2527 PR/6552
2528 * function.c (struct epi_info): New field const_equiv.
2529 (update_epilogue_consts): New function.
2530 (keep_stack_depressed): Clear new field and verify scratch register
2531 doesn't have it set.
2532 Call new function via note_stores.
2533 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
2534 Allow PLUS where second operand is register known set to constant.
2535 (emit_equiv_load): Write load using proper mode if source different.
2536 * config/mips/mips.md (return_internal): Put (return) first.
2537
2fea2a10
KH
25382003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2539
2540 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
2541
9fe7f443
KH
25422003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2543
2544 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
2545 registers.
2546 (divsi3): Likewise.
2547 (reti): Don't restore unused registers.
2548
f53100ef
NC
25492003-11-14 Nick Clifton <nickc@redhat.com>
2550
2551 * config/fr30/fr30.c: Include toplev.h
2552
86bdf071
RE
25532003-11-14 Richard Earnshaw <rearnsha@arm.com>
2554
2555 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
2556
6f5f2481
RE
25572003-11-14 Richard Earnshaw <rearnsha@arm.com>
2558
628b6e8c 2559 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
6f5f2481
RE
2560 function definition syntax.
2561
f2b7f367
EC
25622003-11-14 Eric Christopher <echristo@redhat.com>
2563
2564 * reload1.c (reload): Revert previous patch. Make
2565 check for assignment into reg_equiv_address stricter.
2566
15cc172b
AC
25672003-11-14 Arnaud Charlet <charlet@act-europe.fr>
2568
2569 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
2570
68c0ab4f
RS
25712003-11-14 Richard Sandiford <rsandifo@redhat.com>
2572
2573 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
2574 section names.
2575
f027e0a2
JM
25762003-11-14 Jason Merrill <jason@redhat.com>
2577
2578 PR middle-end/12526
2579 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
2580 * calls.c (call_expr_flags): New fn.
2581 * tree.h: Declare it.
2582
0f8db53e
KH
25832003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2584
2585 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
2586 (divmodsi3): Change the name to ___udivsi3.
2587 Update all callers.
2588
b982024e
KG
25892003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2590
2591 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
2592 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
2593 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
2594 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
2595 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
2596 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
2597 Const-ify and/or initialize automatic variables at declaration.
2598
ef1f2e12
KH
25992003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2600
2601 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
2602 of er4 with er3. Adjust all callers.
2603
a25d596a
AP
26042003-11-13 Andrew Pinski <apinski@apple.com>
2605
f2b7f367
EC
2606 * config/darwin.c (machopic_output_possible_stub_label):
2607 Allow stub symbol be not defined when outputting possible
a25d596a
AP
2608 stub label.
2609
ab7c6efd
KH
26102003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2611
2612 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
2613 instead of exitdiv.
2614 (___umodsi3): Likewise.
2615 (exitdiv): Do not restore any register.
2616 (reti): Restore registers.
2617
415294f0
SB
26182003-11-13 Steven Bosscher <stevenb@suse.de>
2619
2620 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
2621
c9b010ea
KH
26222003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2623
2624 * config/h8300/lib1funcs.asm: Fix comment typos.
2625
1a679679
KH
26262003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2627
2628 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
2629 unused registers. Don't jump to exitdiv.
2630 (umodsi3): Likewise.
2631
49012f5c 26322003-11-13 Mark Mitchell <mark@codesourcery.com>
dc170a87 2633 Kean Johnston <jkj@sco.com>
49012f5c
MM
2634
2635 PR c/13029
2636 * toplev.c (check_global_declarations): Do not warn about unused
2637 static consts.
2638
148a82c8
PP
26392003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
2640 Kazu Hirata <kazu@cs.umass.edu>
2641
2642 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
2643 the approximate quotient method.
2644
f9af39d0
RE
26452003-11-13 Richard Earnshaw <rearnsha@arm.com>
2646
2647 * combine.c (distribute_notes): When re-distributing the notes from
2648 an insn we are about to delete, ensure we can't end up with a cyclic
2649 list of notes.
2650
d76bc29c
EB
26512003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2652
2653 PR optimization/12926
2654 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
2655 the UNCHANGING_RTX_P flag on memory references to read-only
2656 components that are not addressable.
2657
239ca41f
KH
26582003-11-12 Kazu Hirata <kazu@cs.umass.edu>
2659
2660 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
2661 DenHighNonZero.
2662
fccc4eb2
JH
26632003-11-13 Jan Hubicka <jh@suse.cz>
2664
2665 PR opt/12275
2666 * c-decl.c (finish_decl): Use change_decl_assembler_name.
2667 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
2668 * varasm.c (make_decl_rtl): Likewise.
2669 * cgraph.c (change_decl_assembler_name): New function.
2670 * tree.h (set_decl_assembler_name): Kill dead declaration.
2671 (change_decl_assembler_name): Declare.
2672
2673 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2674 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2675
0c7c472e
KH
26762003-11-12 Kazu Hirata <kazu@cs.umass.edu>
2677
2678 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
2679 an unused register.
2680
c4740d5d
RS
26812003-11-12 Richard Sandiford <rsandifo@redhat.com>
2682
2683 PR bootstrap/12752
2684 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
2685 (MULTILIB_OSDIRNAMES): Reorder accordingly.
2686
d1d0c603
JJ
26872003-11-12 Janis Johnson <janis187@us.ibm.com>
2688
2689 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
2690 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
2691 (rs6000_emit_eh_reg_restore): Add
2692 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
2693 of vars_size and total_size to HOST_WIDE_INT.
2694 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
2695 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
2696 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
2697 values.
2698 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
2699 (rs6000_initial_elimination_offset): New, with code formerly in
2700 INITIAL_ELIMINATION_OFFSET.
2701 * rs6000.h (rs6000_stack_t): Remove.
2702 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
2703 rs6000_initial_elimination_offset.
2704 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
2705 rs6000_emit_eh_reg_restore.
2706
d5123bae
MS
27072003-11-12 Mike Stump <mrs@apple.com>
2708
2709 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
2710 is the argumnt we are processing so that warnings and errors
2711 will have that information.
2712 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
2713 * lang-hooks-def.h
2714 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
2715 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
2716 * langhooks.h (convert_parm_for_inlining): Likewise.
2717 * tree-inline.c (initialize_inlined_parameters): Compute and
2718 pass argnum down.
2719
3197c4fd
AS
27202003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
2721 Roger Sayle <roger@eyesopen.com>
2722
2723 PR optimization/12953
2724 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
2725 before switch by FUNCTION_CODE.
2726
c9389e79
RE
27272003-11-12 Richard Earnshaw <rearnsha@arm.com>
2728
2729 * arm.md (storehi): Avoid use of explicit subreg.
2730 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
2731
88f08cca
R
27322003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
2733
2734 * config/sh/sh.md (prefetch): New pattern.
2735
bbbbbbe7
EC
27362003-11-11 Eric Christopher <echristo@redhat.com>
2737
2738 * reload1.c (reload): Verify that addresses for
2739 reg_equiv_* are valid for the architecture.
2740
729bf8ab
EC
27412003-11-11 Eric Christopher <echristo@redhat.com>
2742
2743 * function.c (purge_addressof_1): Add libcall check.
2744 Remove test for cached replacements on fallback case.
2745 Simplify mode comparisons. Add libcall test for
2746 paradoxical subregs.
2747
f24f5831
KH
27482003-11-11 Kazu Hirata <kazu@cs.umass.edu>
2749
2750 * config/h8300/t-h8300: Fix an obsolete comment.
2751
0b69c29f
JW
27522003-11-11 James E Wilson <wilson@specifixinc.com>
2753
2754 * expmed.c (store_bit_field, extract_bit_field): Revert last two
2755 changes.
2756
3849e3a6
KH
27572003-11-11 Kazu Hirata <kazu@cs.umass.edu>
2758
2759 * config/h8300/lib1funcs.asm: Replace DenHighZero with
2760 DenHighNonZero.
2761
cc515291
JH
27622003-11-11 Jan Hubicka <jh@suse.cz>
2763
2764 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
2765 really_no_inline.
2766
4d595e43
JDA
27672003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2768
2769 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
2770 generating 64-bit code.
2771
f921c9c9
DE
27722003-11-10 David Edelsohn <edelsohn@gnu.org>
2773
2774 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
2775 accidental commit in previous change.
2776
ceba9fcb 27772003-11-10 Fariborz Jahanian <fjahanian@apple.com>
ceba9fcb 2778
f921c9c9 2779 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
ceba9fcb
FJ
2780 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
2781 address recognition.
2782 (macho_lo_sum_memory_operand): Routine to recognize macho-style
2783 address recognition.
2784
d0585b99
RH
27852003-11-10 Richard Henderson <rth@redhat.com>
2786
2787 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
2788
6ce4806b
MA
27892003-11-10 Matt Austern <austern@apple.com>
2790
2791 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
2792 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
2793 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
2794 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
2795 darwin_assemble_visibility instead of default.
729bf8ab 2796
1ec0c607
WH
27972003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
2798
2799 PR target/12865
2800 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
2801 __enable_execute_stack only after writing onto the stack.
2802 (sparc64_initialize_trampoline): Likewise.
2803
ce4191ee
RS
28042003-11-09 Roger Sayle <roger@eyesopen.com>
2805
2806 * loop.c (check_dbra_loop): Try swapping the comparison operands
2807 of the loop condition to identify a suitable induction variable.
2808 * unroll.c (loop_iterations): Likewise.
2809
8b93ca2d
KG
28102003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2811
2812 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
2813 sparc64 #cpu and #machine assertions.
2814
757dc040
RH
28152003-11-09 Richard Henderson <rth@redhat.com>
2816
2817 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
2818
f7a01847
JH
28192003-11-09 Jan Hubicka <jh@suse.cz>
2820
ec89843e
JH
2821 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
2822
f7a01847
JH
2823 * cgraphunit.c (cgraph_expand_function): Use
2824 cgraph_possibly_inlined_p.
2825 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
2826
2827 * opts.c (common_handle_option): Do not set max-inline-insns.
2828 * params.def: Update comments.
2829 (PARAM_MAX_INLINE_INSNS): Kill.
2830 * invoke.texi (max-inline-insns): Kill.
2831
c76f4e8e
JM
28322003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
2833
2834 PR c/3190
2835 PR c/8714
2836 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
2837 * invoke.texi: Update.
2838
cdc9103c
JDA
28392003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2840
2841 PR optimization/12630
2842 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
2843 Handle length computation 64-bit moves.
2844 (compute_clrstr_length, output_block_clear): Implement block clear.
2845 (output_block_move): Handle 64-bit moves.
2846 (pa_adjust_insn_length): Use compute_movstr_length and
2847 compute_clrstr_length.
2848 * pa.md (movstrsi): Revise operand order and comments. Don't use
2849 match_scratch.
2850 (movstrsi_internal): Delete.
2851 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
2852 and peephole2 patterns to transform prereload to postreload form.
2853 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
2854 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
2855 clrstrdi_postreload): New patterns for 64-bit block move, and block
2856 clear.
2857 * pa-protos.h (output_block_clear): New prototype.
2858
e139ff5b
AS
28592003-11-08 Andreas Schwab <schwab@suse.de>
2860
2861 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
2862 XCOFF_DEBUGGING_INFO.
2863
a37336cf
KG
28642003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2865
2866 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
2867
3d67ba1e
GK
28682003-11-07 Geoffrey Keating <geoffk@apple.com>
2869
8a1977f3
GK
2870 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
2871 redundant parens.
2872
3d67ba1e
GK
2873 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
2874 (find_file_in_dir): Likewise.
2875 (_cpp_find_file): Print message if no header file is found
2876 but an invalid PCH file was.
2877
30321c39
JM
28782003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
2879
2880 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
2881 expressions as lvalues.
2882 (internal_build_compound_expr): Remove special handling for
2883 non-pedantic case.
2884 * doc/extend.texi: Document that all extended lvalues are now
2885 deprecated.
2886
047c6eac
GK
28872003-11-07 Geoffrey Keating <geoffk@apple.com>
2888
2889 PR 11654
2890 * dbxout.c (struct dbx_file): Do not save for PCH.
2891 (current_file): Likewise.
2892 (dbxout_init): Don't allocate struct dbx_file using GC.
2893 (dbxout_start_source_file): Likewise.
2894
1cd93a2a
FH
28952003-11-07 Falk Hueffner <falk@debian.org>
2896
2897 * config/alpha/elf.h, config/alpha/unicosmk.h,
2898 config/alpha/vms.h: Convert to ISO C90.
2899
4241d312
NN
29002003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
2901
2902 * config/arm/pe.h: Convert to ISO C90.
2903
bcc8cc82
R
29042003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
2905
2906 * sh-protos.h (sh_pch_valid_p): Declare.
2907 * sh.c ("intl.h"): Include.
2908 (TARGET_PCH_VALID_P): Override.
2909 (sh_target_switches): New variable.
2910 (target_switches): Define.
2911 (sh_pch_valid_p): New function.
2912
2913 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
2914
d7222e38
JH
29152003-11-07 Jan Hubicka <jh@suse.cz>
2916
2917 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
2918 (x86_64_zero_extended_value): likewise.
2919
235d0d66
RS
29202003-11-07 Richard Sandiford <rsandifo@redhat.com>
2921
2922 * config/mips/mips.md (loadgp): Take $25 as a second operand.
2923 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
2924
968b41a1
MA
29252003-11-06 Matt Austern <austern@apple.com>
2926
2927 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
2928 field instead of hanging an attribute object off the decl.
2929 * tree.h (DECL_VISIBLITY): New accessor macro for
2930 symbol_visibility field in struct tree_decl.
2931 (enum symbol_visibility): Move definition to before tree_decl.
2932 (struct tree_decl): Define new two-bit field, symbol_visibility.
2933 (decl_visibility): Remove declaration.
2934 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
2935 instead of decl_visibility.
729bf8ab 2936 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
968b41a1
MA
2937 decl_visibility.
2938 (decl_visibility): Remove.
729bf8ab 2939
63e292b7
UW
29402003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
2941
2942 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
2943 where register 14 will be saved.
2944
2858f73a
GK
29452003-11-06 Geoffrey Keating <geoffk@apple.com>
2946
2947 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
2948 (USE_ALTIVEC_FOR_ARG_P): Likewise.
2949 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
2950 Take a pointer as the CUM parameter. Update callers.
2951 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
2952 32-bit ABIs.
2953 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
2954 of vector parameters as named arguments of stdarg function.
2955 (function_arg): Likewise.
2956
2957 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
2958 -maltivec is specified, not the non-existent -faltivec.
2959
8c17530e
UW
29602003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
2961
2962 * config/s390/s390-protos.h (s390_function_value): Declare.
2963 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
2964 (s390_return_in_memory): New function.
2965 (s390_function_value): New function.
2966 (s390_function_arg_float): Return false for all arguments larger
2967 than 8 bytes.
2968 (s390_function_arg_pass_by_reference): Likewise. Return true for
2969 all vector arguments.
2970 (s390_function_arg_integer): New function.
2971 (s390_function_arg_advance): Call it. Add sanity checks.
2972 (s390_function_arg): Likewise.
2973 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
2974 (LIBCALL_VALUE): Likewise.
2975 (RET_REG): Remove.
2976 (RETURN_IN_MEMORY): Remove.
2977
e88fb323
RS
29782003-11-06 Richard Sandiford <rsandifo@redhat.com>
2979
2980 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
2981 return type to HOST_WIDE_INT.
2982 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
2983 Make initialized a bool. Make register masks unsigned ints.
2984 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
2985 where appropriate.
2986 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
2987 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
2988
88d6a75f
RS
29892003-11-06 Richard Sandiford <rsandifo@redhat.com>
2990
2991 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
2992 negation.
2993
def49dc4
RS
29942003-11-06 Richard Sandiford <rsandifo@redhat.com>
2995
2996 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2997
c8e26ef4
MV
29982003-11-06 Momchil Velikov <velco@fadata.bg>
2999
95757874
MV
3000 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
3001 for VR4111 too.
c8e26ef4 3002
668f73d4
JH
30032003-11-06 Jan Hubicka <jh@suse.cz>
3004
3005 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
3006 missing casts.
3007
37783865
ZW
30082003-11-06 Zack Weinberg <zack@codesourcery.com>
3009
3010 * genmodes.c: Change the word "bitsize" to "precision" throughout.
3011 * machmode.def: Likewise.
3012 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
3013 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
3014 (GET_MODE_PRECISION): New macro.
3015 (mode_bitsize): Renamed mode_precision.
3016 * stor-layout.c (mode_for_size, smallest_mode_for_size):
3017 Use GET_MODE_PRECISION; clarify comments.
3018
01e97976
JM
30192003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
3020
3021 * doc/install-old.texi: Remove old documentation of building
3022 cross-compilers.
3023 * doc/install.texi: Move some of it to here.
3024
9b49a0aa
PB
30252003-11-05 Per Bothner <pbothner@apple.com>
3026
f6d90f82 3027 PR preprocessor/12891
9b49a0aa
PB
3028 * c-opts.c (finish_options): Set include_cursor to disable premature
3029 calls to push_command_line_include from cpp_scan_nooutput.
3030 Fixes bug reported by DJ Delorie.
3031
2cf520bf
GK
30322003-11-05 Geoffrey Keating <geoffk@apple.com>
3033
f31bf321
GK
3034 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
3035 code supporting old-style varargs.
3036
2cf520bf
GK
3037 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
3038 an intermediate register for better optimisation.
3039
142d1f57
ZD
30402003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3041
f4dcab14 3042 PR optimization/10080
142d1f57
ZD
3043 * cfgloopanal.c (variable_initial_value, variable_initial_values,
3044 simple_loop_exit_p): Record the fact that initial value is extended
3045 from inner mode.
3046 (count_strange_loop_iterations, count_loop_iterations): Handle
3047 ivs that iterate in a narrower mode. Fix handling of overflows.
3048 Improve handling of NE conditions.
3049 (inverse, fits_in_mode_p): New static functions.
3050 (simple_increment): Detect variables that iterate in a narrower mode.
3051 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
3052
af09332e
GK
30532003-11-05 Geoffrey Keating <geoffk@apple.com>
3054
a6cf80f2
GK
3055 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
3056 error.
3057
af09332e
GK
3058 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
3059 needs VRSAVE.
3060
0a49d02c
JM
30612003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
3062
3063 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
3064 conditional expressions as lvalues.
3065
488c98d8
KH
30662003-11-05 Kazu Hirata <kazu@cs.umass.edu>
3067
3068 * tsystem.h: Add the prototype of strlen.
3069 * unwind-pe.h (read_encoded_value_with_base): Add an
3070 appropriate cast to handle a case where the pointer size is
3071 smaller than sizeof (int).
3072
108b61d5
RS
30732003-11-04 Richard Sandiford <rsandifo@redhat.com>
3074
3075 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
3076 (mips_delegitimize_address): Delete.
3077 (mips_gotoff_global, mips_load_got_page): Declare.
3078 (mips_load_got_global, mips_rewrite_small_data): Declare.
3079
3080 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
3081 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
3082 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
3083 small_data_pattern. Remove CONST from const_arith_operand's entry.
3084
3085 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
3086 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
3087 (mips_constant_type): Delete.
3088 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
3089 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
3090 (NUM_SYMBOL_TYPES): New macro.
3091 (mips_address_type): Remove ADDRESS_INVALID.
3092 (machine_function): Add has_gp_insn_p.
3093 (mips_constant_info): Delete.
3094 (mips_address_info): Add the address type as an extra field. Replace
3095 the c field with symbol_type.
3096 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
3097 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
3098 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
3099 (mips_split_const, mips_symbolic_constant_p): New functions.
3100 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
3101 (mips_classify_address): Return true if the address is valid, storing
3102 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
3103 to test whether a LO_SUM address is allowed.
3104 (mips_symbol_insns): Return 0 for general mips16 symbols.
3105 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
3106 Handle the new SYMBOL_GOTOFF_*s.
3107 (mips_address_insns): Update call to mips_classify_address.
3108 (mips_const_insns): Be more fussy about HIGH constants. Remove use
3109 of mips_classify_constant. Be more accurate about CONSTs.
3110 (mips_global_pic_constant_p): Delete.
3111 (const_arith_operand): Only accept CONST_INTs.
3112 (call_insn_operand): Remove call to mips_classify_constant.
3113 Let mips_symbolic_constant_p check for invalid offsets.
3114 (move_operand): Check for general_operands first. Only accept symbolic
3115 constants if they satisfy mips_symbolic_constant_p and cannot be split.
3116 (symbolic_constant): Use mips_symbolic_constant_p.
3117 (global_got_operand, local_got_operand): New predicates.
3118 (stack_operand): Update call to mips_classify_address.
3119 (mips_legitimate_address_p): Likewise.
3120 (mips_reloc, mips_lui_reloc): Delete.
3121 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
3122 Use emit_move_insn.
3123 (mips_split_symbol, mips_unspec_address): New functions.
3124 (mips_unspec_offset_high): New function.
3125 (mips_load_got): Replace reloc argument with a symbol_type.
3126 Use mips_unspec_address to create the address and put it in a
3127 LO_SUM with the base register.
3128 (mips_load_got16, mips_load_got32): Delete.
3129 (mips_emit_high, mips_legitimize_symbol): Delete.
3130 (mips_gotoff_global): New function.
3131 (mips_load_got_page, mips_load_got_global): New functions.
3132 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
3133 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
3134 Inline code to handle constants plus invalid offsets. Use
3135 mips_split_symbol to legitimize constant pool addresses.
3136 (mips_delegitimize_address): Delete.
3137 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
3138 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
3139 (mips_subword): Pass memrefs through mips_rewrite_small_data.
3140 (mips_output_move): Remove use of mips_classify_constant.
3141 (mips_expand_call): Use mips_unspec_offset_high to calculate the
3142 high part of the GOT address for calls to global functions.
3143 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
3144 and mips_hi_relocs[].
3145 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
3146 Remove use of mips_classify_constant.
3147 (mips_reloc_string): Delete.
3148 (print_operand_reloc): New function.
3149 (print_operand_address): Update call to mips_classify_address.
3150 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
3151 (small_data_pattern): New predicate.
3152 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
3153 (mips_function_has_gp_insn): New function.
3154 (mips_global_pointer): Use it.
3155 (mips_gp_insn): Delete.
3156 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
3157 single loadgp pattern to initialize $gp. Pass it the offset of _gp
3158 from the start of the current function.
3159 (mips16_gp_pseudo_reg): Revert last patch.
3160
3161 * config/mips/mips.md (RELOC_*): Delete.
3162 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
3163 (got): New insn attribute.
3164 (type): Set to "load" if got == load.
3165 (length): Set to 4 if got == load, 8 if got == xgot_high.
3166 (lui[sd]i): Delete.
3167 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
3168 (*got_disp[sd]i, *got_page[sd]i): Likewise.
3169 (*low[sd]i): Change constraints to "d". Add a new define_split to
3170 rewrite small data constants into LO_SUMs.
3171 (loadgp): New insns.
3172
bdc960c8
RO
31732003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3174
3175 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
3176
15bb534e
DD
31772003-11-04 DJ Delorie <dj@redhat.com>
3178
3179 * config/v850/v850.md (mulhisi3): Expand the const_int case
3180 separately to avoid trying to sign extend the const.
3181
21e9fc47
RS
31822003-11-04 Richard Sandiford <rsandifo@redhat.com>
3183
3184 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
3185 addresses to be shared.
3186 (force_const_mem): Return a copy of the pool entry.
3187
7807fcd9
AJ
31882003-11-03 Andreas Jaeger <aj@suse.de>
3189
3190 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
3191
63069342
KC
31922003-11-03 Kelley Cook <kcook@gcc.gnu.org>
3193
3194 * Makefile.in (cpp.dvi): New target split from cpp.info.
3195 (gcc.dvi): New target split from gcc.info.
3196 (gccint.dvi): New target split from gccint.info.
3197 (cppinternals.dvi): New target split from cppinternals.info
3198 (gccinstall.info): New specific rule.
3199 (gccinstall.dvi): Likewise.
3200 (dvi): Move targets to $(docobjdir).
3201 ($(docobjdir)/%.dvi): New implicit rule.
3202
aef6a624
RK
32032003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3204
3205 * doc/gty.texi (tag, desc): Say more about role of desc values in
3206 selecting between tags.
3207
930177d9
AK
32082003-11-03 Alexander Kabaev <ak03@gte.com>
3209
3210 * real.c (encode_ieee_single): Ensure proper promotion.
3211
2b2de389
VR
32122003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3213
3214 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
3215 and Andrew Pinski.
3216
49ffe578
SP
32172003-11-03 Syd Polk <spolk@apple.com>
3218
3219 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
3220 marketing names to the list of supported processors.
3221 * config/rs6000/rs6000.h: Ditto.
3222 * doc/invoke.texi: Ditto.
3223 * config.gcc: Ditto.
3224
871a3122
RO
32252003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3226
3227 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
3228 Merge two substitutions.
3229 * fixinc/fixincl.x: Regenerate.
3230 Fixes PR bootstrap/12666.
3231
0968e7fa
JM
32322003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
3233
3234 * doc/install-old.texi: Remove VMS documentation.
3235
73c37dab
JH
32362003-11-03 Jan Hubicka <jh@suse.cz>
3237
3238 * i386.c (override_options): Remove hack enabling 128bit long double
3239 commited by accident.
3240
d8ccee1e
PB
32412003-11-02 Per Bothner <per@bothner.com>
3242
3243 * c-opts.c (needValue): Do cpp_find_main_file before processing
3244 any imacros flags, so pfile->main_file is set for the latter.
3245
ee208a59
AJ
32462003-11-03 Andreas Jaeger <aj@suse.de>
3247 Zack Weinberg <zack@codesourcery.com>
3248
3249 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
3250 (SYSCALLS.c.X-warn): Suppress warnings.
3251
ae2ea719
JDA
32522003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3253
3254 PR optimization/12845
3255 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
3256
9a623a65
ZW
32572003-11-02 Zack Weinberg <zack@codesourcery.com>
3258
3259 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
3260 * config/i386/i386.c (print_reg): Abort on a virtual register
3261 if code != -1; not if file == asm_out_file.
3262 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
3263 (DEBUG_PRINT_REG): Delete, unused.
3264
634879c8
AS
32652003-11-02 Andreas Schwab <schwab@suse.de>
3266
3267 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
3268 empty to avoid conflict with the definition from configure.
3269
31f0f571
RS
32702003-11-02 Roger Sayle <roger@eyesopen.com>
3271
3272 PR optimization/10817
3273 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
3274 (noce_try_move): New function to optimize an if-the-else into an
3275 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
3276 (noce_process_if_block): Attempt simplification with noce_try_move.
3277
3278 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
3279 and improvements to the optimizations of IF_THEN_ELSE expressions.
3280 (simplify_subreg): Silence signed/unsigned comparison warning.
3281
0938c9e8
RS
32822003-11-02 Richard Sandiford <rsandifo@redhat.com>
3283
3284 * Makefile.in (targhooks.o, reload.o): Update dependencies.
3285 (GTFILES): Add targhooks.c.
3286 (gt-targhooks.h): New rule; depend on s-gtype.
3287 * target.h (direct_pool_load_p): New hook.
3288 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
3289 (TARGET_INITIALIZER): Include it.
3290 * targhooks.h (default_direct_pool_load_p): Declare.
3291 (hook_bool_machine_mode_true): Declare.
3292 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
3293 gt-targhooks.h.
3294 (pool_symbol): New variable.
3295 (default_direct_pool_load_p): New function.
3296 (hook_bool_machine_mode_true): New function.
3297 * reload.c: Include target.h.
3298 (find_reloads): If an alternative will force a constant into memory,
3299 count an extra reload if constant pool symbols are not valid
3300 addresses. If an alternative uses memory to move values between
3301 registers, count the move as two reloads rather than one.
3302 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
3303 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
3304
e69cdc12
EB
33052003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3306
3307 PR optimization/12799
3308 * postreload.c (reload_cse_move2add): Generate the add2
3309 patterns manually.
3310
0a9e65f9
EB
33112003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3312
3313 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3314 Return 0 for all complex modes whose size is lesser or equal to
3315 a word. Add a ??? comment for the condition used with 16-byte
3316 aligned modes.
3317
d6665c33
KC
33182003-11-01 Kelley Cook <kcook@gcc.gnu.org>
3319
3320 * .cvsignore: Remove c-parse* and tradcif.c.
3321 * objc/.cvsignore: Delete.
3322
d234bf61
RS
33232003-11-01 Roger Sayle <roger@eyesopen.com>
3324
3325 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
3326 of NULL.
3327
0527bc4e
JDA
33282003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3329
f25b1930
JDA
3330 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
3331
4043d9c1
JDA
3332 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
3333
94d54276
JDA
3334 * collect2.c (scan_libraries): Fix typos.
3335
0527bc4e
JDA
3336 PR preprocessor/12847
3337 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
3338 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
3339 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
3340 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
3341 "CPP_".
3342
2f7b62ef
FJ
33432003-11-01 Fariborz Jahanian <fjahanian@apple.com>
3344
3345 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
3346 no_units calculation.
3347
ab08fce5
AJ
33482003-11-01 Andreas Jaeger <aj@suse.de>
3349
3350 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
3351 enumeration list.
3352
63482449
AS
33532003-11-01 Andreas Schwab <schwab@suse.de>
3354
3355 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
3356 prototypes.
3357 (SBSS_SECTION_FUNCTION): Likewise.
3358
7807fcd9 33592003-11-01 Andreas Jaeger <aj@suse.de>
6377248c
AJ
3360
3361 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
3362
97603db3
AT
33632003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
3364
3365 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
3366 prototypes.
3367
f1518966
AJ
33682003-11-01 Andreas Jaeger <aj@suse.de>
3369
3370 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
3371 (uw_frame_state_for): Constify variables.
3372 (extract_cie_info): Constify first argument.
3373
3374 * unwind-dw2-fde-darwin.c: Adjust prototype of
3375 _Unwind_Find_registered_FDE for recent changes.
3376 (examine_objects): Constify return value and local variable result.
3377 (_Unwind_Find_FDE): Constify return value and local variable ret.
3378
8e974c0e
PB
33792003-10-31 Per Bothner <pbothner@apple.com>
3380
3381 * c-opts.c (finish_options): Change to returns boolean - false iff
3382 the call to cpp_find_main_file fails.
3383 (c_common_init): Skip preprocess_file if finish_options failed.
3384 (c_common_parse_file): Break if finish_options failed.
8ecde51f 3385 Fixes PR preprocessor/12545.
8e974c0e 3386
72f03fde
JDA
33872003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3388
e31f8eda
JDA
3389 * aclocal.m4: Blacklist ultrix* for mmap file.
3390 * configure: Rebuilt.
3391
2b256a46
JDA
3392 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
3393 reg_parm_stack_space.
3394 * toplev.c (default_get_pch_validity): Fix warning.
3395
72f03fde
JDA
3396 * vax.c: Include toplev.h.
3397 (vax_init_libfuncs): Fix typo (umod).
3398 * vax.h (ASM_COMMENT_START): Define.
3399 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
3400
41ba7ed7
RS
34012003-10-31 Roger Sayle <roger@eyesopen.com>
3402
3403 PR middle-end/11968
3404 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
3405 confusing comment; distributivity isn't handled in expand_expr.
3406 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
3407 in distributivity, if wrap-around semantics are specified with
3408 -fwrapv.
3409
3d63de24
AM
34102003-11-01 Alan Modra <amodra@bigpond.net.au>
3411
3412 PR 12315
3413 * final.c (profile_function): Allow for NULL svrtx.
3414
24a52160
JDA
34152003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3416
3417 * pa.c (pa_select_section): Use new style declaration.
3418 * som.h (readonly_data): Likewise.
3419
38f391a5
KC
34202003-10-31 Kelley Cook <kcook@gcc.gnu.org>
3421
3422 * config/rs6000/rs6000.c: Update to C90 prototypes.
3423
fb14bc89
RE
34242003-10-31 Richard Earnshaw <rearnsha@arm.com>
3425
4a3a957b 3426 PR target/7513
fb14bc89
RE
3427 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
3428 code.
3429
6377248c 34302003-10-31 Andreas Jaeger <aj@suse.de>,
9a623a65
ZW
3431 Zack Weinberg <zack@codesourcery.com>
3432
3433
3434 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
3435 (__deregister_frame_info, __deregister_frame_info_bases):
3436 Constify void * argument.
3437 * unwind-dw2-fde.h (struct fde_vector):
3438 Constify 'orig_data' and 'array' fields.
3439 (__register_frame_info, __register_frame_info_bases)
3440 (__deregister_frame_info, __deregister_frame_info_bases):
3441 Constify void * argument.
3442 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
3443 return values, and casts of type fde *, struct dwarf_fde *,
3444 and struct dwarf_cie *.
3445 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
3446 (__deregister_frame_info, __deregister_frame_info_bases):
3447 Constify void * argument.
3448 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
3449 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
3450 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
3451 fde_split, SWAP, frame_downheap, frame_heapsort)
3452 (classify_object_over_fdes, add_fdes, linear_search_fdes,
3453 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
3454 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
3455 Constify arguments, local variables, return values, and casts
3456 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
3457 Use const pointer types in sizeof expressions, for clarity.
3458 * unwind-dw2-fde-glibc.c
3459 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
3460 (struct unw_eh_callback_data): Constify 'ret' field.
a30794da 3461
b78d48dd
FJ
34622003-10-31 Fariborz Jahanian <fjahanian@apple.com>
3463 David Edelsohn <edelsohn@gnu.org>
3464
3465 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
3466 (function_arg): Call it.
3467 (rs6000_function_value): Widen integral return value to mode based
3468 on TARGET_32BIT, not word_mode.
3469 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
8159dc20
FJ
3470 (UNITS_PER_ARG): New.
3471 (RS6000_ARG_SIZE): Use it.
b78d48dd 3472
3dc5f34a
GP
34732003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
3474
3475 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
3476 and gengtype-yacc.h.
3477
71c1543c
RE
34782003-10-31 Richard Earnshaw <rearnsha@arm.com>
3479
79b53543 3480 PR optimization/8896
71c1543c
RE
3481 * postreload.c (reload_combine): Check that REGY doesn't die in an
3482 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
3483
9295a326
JZ
34842003-10-31 Josef Zlomek <zlomekj@suse.cz>
3485
3486 PR/10239
3487 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
3488
5d693491
JZ
34892003-10-31 Josef Zlomek <zlomekj@suse.cz>
3490
3491 PR/11640
3492 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
3493 immediatelly before BARRIER.
3494
a2ae4a3d
KC
34952003-10-31 Kelley Cook <kcook@gcc.gnu.org>
3496
3497 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
3498
b1f9e314
RE
34992003-10-31 Richard Earnshaw <rearnsha@arm.com>
3500
3501 PR target/11271
3502 * reload.c (find_reloads_address): Handle any register in
3503 (PLUS (PLUS (REG) (REG)) (CONST_INT).
3504
c5d6d04a
RE
35052003-10-31 Richard Earnshaw <rearnsha@arm.com>
3506
6377248c 3507 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
c5d6d04a
RE
3508 ENABLE_GC_CHECKING not in GGC_POISON.
3509
b2c62c45
NN
35102003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
3511
2c4902b9
NN
3512 PR bootstrap/9863
3513 * configure.in: Bail out if awk is missing.
3514 * configure: Regenerate.
3515
b2c62c45
NN
3516 PR ada/12761
3517 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
3518 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
3519
c157f85c
RH
35202003-10-30 Richard Henderson <rth@redhat.com>
3521
3522 * c-objc-common.c (c_tree_printer): Handle types correctly.
3523 Factor code a bit.
3524
9373164a
KC
35252003-10-30 Kelley Cook <kcook@gcc.gnu.org>
3526
3527 * value-prof.c, web.c: Update to C90.
3528
d796429e 35292003-10-30 Eric Christopher <echristo@redhat.com>
69e4e6e9
EC
3530
3531 * function.c (purge_addressof_1): Add case for REG_RETVAL
9a623a65 3532 notes when modes are unequal.
69e4e6e9 3533
ac3ef3f5
JH
35342003-10-31 Jan Hubicka <jh@suse.cz>
3535
3536 * i386-modes.def: Add XFmode format adjustment.
3537
1199470c
JH
35382003-10-30 Jan Hubicka <jh@suse.cz>
3539
3540 * real.c (encode_ieee_extended): Back out previous patch.
3541
f8a1ebc6
JH
35422003-10-30 Jan Hubicka <jh@suse.cz>
3543
3544 * real.c (encode_ieee_extended): Initialize whole array.
3545 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
3546 * i386-modes.def: Change definitions of TFmode and XFmode.
9373164a
KC
3547 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
3548 code.
f8a1ebc6
JH
3549 (construct_container): Allow constructing of TFmode integer containers.
3550 (ix86_return_in_memory): XFmode is not returned in memory.
3551 (init_ext_80387_constants): Always use XFmode.
3552 (print_operand): Likewise.
3553 (ix86_prepare_fp_compare_regs): Likewise.
3554 (split_to_parts): Deal with TFmode.
3555 (split_long_move): Simplify.
3556 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
3557 (ix86_memory_move_cost): Do not confuse TFmode.
3558 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
3559 (IS_STACK_MODE): TFmode is not stack mode.
3560 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
3561 (VALID_SSE_REG_MODE): Allow TFmode.
3562 (VALID_FP_MODE_P): Disallow TFmode.
3563 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
3564 * i386.md (TFmode patterns): Kill.
3565 (movtf, motf_rex64): New patterns.
3566
00d4a6d4
RS
35672003-10-30 Richard Sandiford <rsandifo@redhat.com>
3568
3569 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
3570
2e1648b8
RS
35712003-10-30 Richard Sandiford <rsandifo@redhat.com>
3572
3573 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
3574 (mov_lwr, mov_swl, mov_swr): Likewise.
3575 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
3576
db964bde
RS
35772003-10-30 Richard Sandiford <rsandifo@redhat.com>
3578
3579 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
3580
4f1cad00
RH
35812003-10-30 Richard Henderson <rth@redhat.com>
3582
3583 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
3584 test for irix6 rather than preprocessor test.
3585
671ca9ec
RH
35862003-10-30 Richard Henderson <rth@redhat.com>
3587
3588 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
3589
545d16ff
UW
35902003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
3591
3592 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
3593 as a general flag that the return address register needs to be saved,
3594 not necessarily because of __builtin_return_addr (0).
3595 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
3596 remove special handling of zSeries machines.
69e4e6e9 3597 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
545d16ff 3598 register as a regular register on zSeries machines.
69e4e6e9 3599 (s390_reorg): Adjust calls to s390_split_branches and
545d16ff
UW
3600 s390_optimize_prolog.
3601 (s390_frame_info): On zSeries machines, do not assume the return
3602 register is always used. Update regs_ever_live with current data
3603 for the special registers.
3604 (s390_emit_epilogue): Use save_return_addr_p to determine whether
3605 the return register was saved.
3606 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
3607 RETURN_REGNUM fixed on zSeries machines.
3608 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
3609 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
3610 via ahi-jgne pair on zSeries machines.
3611 ("*doloop_di"): Likewise.
3612 ("*doloop_di_long"): Remove.
3613
577d6328
RE
36142003-10-30 Richard Earnshaw <rearnsha@arm.com>
3615
3616 * arm.c (arm_override_options): Revert change of arm_constant_limit
3617 when optimizing for size.
3618
e7824b3e
RH
36192003-10-29 Richard Henderson <rth@redhat.com>
3620
3621 * fold-const.c (fold_single_bit_test): Convert the input to the
3622 operational intermediate type.
3623
c35d187f
RH
36242003-10-29 Richard Henderson <rth@redhat.com>
3625
3626 * builtins.c (std_build_builtin_va_list): New.
3627 * expr.h (std_build_builtin_va_list): Declare.
3628 * defaults.h (BUILD_VA_LIST_TYPE): New.
3629 * system.h (BUILD_VA_LIST_TYPE): Poison.
3630 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
3631 * target.h (struct gcc_target): Add build_builtin_va_list.
3632 * tree.c (build_common_tree_nodes_2): Use it.
3633
69e4e6e9 3634 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
c35d187f
RH
3635 config/alpha/alpha.h, config/alpha/unicosmk.h,
3636 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
3637 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
3638 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
3639 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
3640 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
69e4e6e9 3641 config/mips/mips.h, config/rs6000/rs6000-protos.h,
c35d187f
RH
3642 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3643 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3644 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3645 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
3646 config/xtensa/xtensa.h: Rename foo_build_va_list to
3647 foo_build_builtin_va_list; make it static. Define
3648 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
3649 Update protos.
3650
3651 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
3652 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
3653
3b6c3bb0
JW
36542003-10-29 James E Wilson <wilson@specifixinc.com>
3655
3656 * recog.c (asm_operand_ok): Add missing break after case 'X'.
3657 Change if statements to else if statements in default case.
3658 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
3659 in comment.
3660 (constrain_operands_cached): Likewise.
3661 (constrain_operands): Change if statements to else if statements in
3662 default case.
3663 * reload.c (find_reloads): Likewise.
3664
a126dc3a
RH
36652003-10-29 Richard Henderson <rth@redhat.com>
3666
3667 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
3668 shifts and rotates.
3669
9b731bbb
AM
36702003-10-30 Alan Modra <amodra@bigpond.net.au>
3671
3672 * config/rs6000/rs6000.md: Remove duplicate pattern.
3673
a207b594
HPN
36742003-10-29 Hans-Peter Nilsson <hp@axis.com>
3675
c4361cd7
HPN
3676 * real.c (do_divide): Initialize result with a 0.
3677
a207b594
HPN
3678 * configure.in <enable-checking for valgrind>: Look for
3679 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
3680 if it exists.
3681 * configure, config.in: Regenerate.
3682 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
3683 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
3684 #elif for other alternatives.
3685 * ggc-page.c: Ditto.
3686 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
3687 include structure from ggc-common.c.
3688
cb4d476c
JDA
36892003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3690
3691 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
3692 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
3693 * pa.c (pa_adjust_insn_length): Check for btable branches using
3694 attribute TYPE_BTABLE_BRANCH.
3695 (pa_reorg): Simplify.
3696 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
3697 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
3698 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
3699 * pa.md (btable_branch): New instruction type.
3700 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
3701 btable branches.
3702 (define_delay): Add btable branches to insn types that may have an
3703 insn in the delay position.
3704 (Z2, Z3): Add btable branch to list.
3705 Simplify unamed pattern set copy pic_label_operand to register. Add
3706 PA 2.0 variant.
3707 (short_jump): New jump for use in branch tables.
3708 (casesi, casesi0): Revise for new branch table formats.
3709 (casesi32, casesi32p, casesi64p): New casesi patterns.
3710 (indirect_jump): Move.
3711
c1aa3958
DE
37122003-10-29 David Edelsohn <edelsohn@gnu.org>
3713
3714 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
3715 !TARGET_POWERPC64.
3716 (UNITS_PER_GPR_WORD): Delete.
3717 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
3718 (HARD_REGNO_MODE_OK): Same.
3719 (CLASS_MAX_NREGS): Same.
3720
e08fde98
JDA
37212003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3722
3723 * pa.h (ASM_COMMENT_START): Define.
3724
9fcc6bf6
ZW
37252003-10-29 Zack Weinberg <zack@codesourcery.com>
3726
3727 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
3728 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
3729 component, not zero.
3730
9585b0f7
AS
37312003-10-29 Andreas Schwab <schwab@suse.de>
3732
3733 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
3734
69494148
EB
37352003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
3736
3737 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3738 Never return 1 for complex integral modes whose size is lesser or
3739 equal to a word.
3740 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
3741 in the comment.
3742 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
3743 modes.
f2225d74
EB
3744 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
3745 greater than 16 bytes by reference.
69494148 3746
b6a41a62
RK
37472003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3748
3749 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
3750 not TARGET_ILP32.
3751 (ia64_initialize_trampoline): Use globalize_label target call.
3752
e9da8a5a
AS
37532003-10-29 Andreas Schwab <schwab@suse.de>
3754
3755 * doc/install.texi (Building): Add a sentence about building Ada
3756 for a canadian cross.
3757
24ea7948
ZW
37582003-10-28 Zack Weinberg <zack@codesourcery.com>
3759
3760 * config/ia64/ia64.c (cmptf_libfunc): New static.
3761 (ia64_expand_compare): Add logic to open-code calls to
3762 _U_Qfcmp for TFmode comparisons.
3763 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
3764 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
3765 never be generated anymore.
3766 * config/ia64/ia64.md (cmptf): New expander.
3767
b38ba463
ZW
37682003-10-28 Zack Weinberg <zack@codesourcery.com>
3769
3770 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
3771 (*sqrt_approx): New instruction pattern for approximate square roots.
3772 (*setf_exp_xf): New instruction pattern for exponentiation.
3773 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
3774 (sqrtsf2_internal_thr): New define_and_split implementing
3775 throughput-optimized inline calculation of SFmode square root.
3776 (sqrtdf2_internal_thr): Likewise for DFmode.
3777 (sqrtxf2_internal_thr): Likewise for XFmode.
3778 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
3779 latency- and throughput-optimized square root algorithms.
3780 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
3781 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
3782 New macros.
3783 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
3784 -minline-sqrt-max-throughput.
3785 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
3786 and -minline-sqrt-max-throughput are given, notify the user
3787 that both options cannot be used simultaneously.
3788 If -minline-sqrt-min-latency is given, notify the user that
3789 this mode is not yet implemented.
3790 (rtx_needs_barrier): Reformat initial comment to obey
3791 72-character width limit. Support UNSPEC_SETF_EXP and
3792 UNSPEC_FR_SQRT_RECIP_APPROX.
3793
e2d0915c
AM
37942003-10-29 Alan Modra <amodra@bigpond.net.au>
3795
3796 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
3797 moves.
3798
06ba5854
FS
37992003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3800
3801 PR target/11598
3802 PR libgcj/10610
3803 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
3804
699a4925
RE
38052003-10-28 Richard Earnshaw <rearnsha@arm.com>
3806
3807 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
b38ba463 3808 an extra stack adjustment insn if the stack pointer is already
699a4925
RE
3809 pointing at the right place.
3810 (use_return_insn): Allow a return insn to be used when we have a
3811 frame pointer if the stack pointer is in the right place.
3812 (output_return_instruction): Handle it.
3813
578e8170
AJ
38142003-10-28 Andreas Jaeger <aj@suse.de>
3815
3816 * ggc-zone.c (check_cookies): Add missing variable.
3817 Add void to prototypes.
3818
525996eb
KG
38192003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3820
3821 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
3822 * crtstuff.c (__do_global_ctors_1): Move prototype.
3823 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
3824 appropriate.
3825 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
3826 Mark parameter with __attribute__((unused)).
3827
40fe4dd5
ZW
38282003-10-27 Zack Weinberg <zack@codesourcery.com>
3829
3830 * c-decl.c (pushdecl): Clarify comment.
3831
d0a74d7e
AC
38322003-10-27 Arnaud Charlet <charlet@act-europe.fr>
3833
436d7715
AC
3834 * doc/install.texi: Update instructions for Ada cross builds
3835
d0a74d7e
AC
3836 PR ada/5909:
3837 * doc/sourcebuild.texi: Document Ada test suite.
3838
e1ffc70a
SC
38392003-10-27 Stephane Carrez <stcarrez@nerim.fr>
3840
3841 * config/m68hc11/m68hc11.c: Convert to ISO C90.
3842 * config/m68hc11/m68hc11-protos.h: Likewise.
3843
aa888d0f 38442003-10-27 Jan Hubicka <jh@suse.cz>
65b19349 3845 Eric Botcazou <ebotcazou@libertysurf.fr>
aa888d0f 3846
65b19349 3847 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
aa888d0f
JH
3848 webizer pass dump.
3849
b19ee4bd
JJ
38502003-10-27 Jakub Jelinek <jakub@redhat.com>
3851 Jan Hubicka <jh@suse.cz>
3852
3853 * reload1.c (struct elim_table): Change offset, initial_offset and
3854 previous_offset fields to HOST_WIDE_INT.
3855 (offsets_at): Change from int to HOST_WIDE_INT.
3856 (reload): Adjust offsets_at initialization.
3857 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
3858 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
3859 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
3860 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
3861 if TARGET_64BIT.
3862 (pro_epilogue_adjust_stack): New function.
3863 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
3864 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
3865 (pro_epilogue_adjust_stack_1): Remove * in front of name.
3866 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
3867 (pro_epilogue_adjust_stack_rex64_2): New insn.
3868
3869 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
3870
3871 * config/i386/i386.c (ix86_expand_call): Replace 40 with
3872 FIRST_REX_INT_REG + 3 /* R11 */.
3873
501e79ef
RH
38742003-10-26 Richard Henderson <rth@redhat.com>
3875
3876 * config/alpha/alpha.md (attr cannot_copy): New.
3877 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
3878 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
3879 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
3880
b6f61163
DB
38812003-10-26 Daniel Berlin <dberlin@dberlin.org>
3882
3883 * ggc-zone.c: New file, zone allocating collector.
3884 * configure: Accept zone option for --with-gc
3885 * configure.in: Ditto.
3886 * ggc.h (ggc_pch_count_object): Pass bool indicating
3887 stringiness. Update all callers.
3888 (ggc_pch_alloc_object): Ditto.
3889 (ggc_pch_write_object): Ditto.
3890 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
3891 type.
3892 (ggc_alloc_rtvec): Ditto.
3893 (ggc_alloc_tree): Use zone allocation, since some things using this macro
3894 aren't a single typecode.
3895 * ggc-none.c (ggc_alloc_typed): New function.
3896 (ggc_alloc_zone): Ditto.
3897 * ggc-page.c: Ditto on both functions.
3898
57047680
GN
38992003-10-26 Gunther Nikl <gni@gecko.de>
3900
3901 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
3902 frame information is always valid.
3903 (m68k_output_function_prologue): Remove superfluous TARGET_68881
3904 test; fix formatting.
3905
85802504
GN
39062003-10-26 Gunther Nikl <gni@gecko.de>
3907
3908 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
3909 reg_rev_mask computation.
3910 (m68k_output_function_prologue): Fix usage of current_frame (one typo
3911 and one missing); use reg_rev_mask not reg_mask.
3912 (m68k_output_function_epilogue): Fix usage of current_frame;
3913 use fpu_rev_mask not fpu_mask.
3914
a89e3f21
BI
39152003-10-26 Bernardo Innocenti <bernie@develer.com>
3916
3917 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
40fe4dd5 3918 num_saved_regs, use current_frame.reg_no instead.
a89e3f21 3919
24f9c4df
BI
39202003-10-26 Bernardo Innocenti <bernie@develer.com>
3921 Paul Dale <pauli@snapgear.com>
3922
3923 * doc/extend.texi (interrupt_handler): Add m68k to the
3924 list of processors implementing it.
3925 * doc/invoke.texi (-msep-data): Document new m68k option.
3926 (-mno-sep-data): Likewise.
3927 (-mid-shared-library): Likewise.
3928 (-mno-id-shared-library): Likewise.
3929 (-mshared-library-id): Likewise.
3930
36f9cf4a
AJ
39312003-10-26 Andreas Jaeger <aj@suse.de>
3932
3933 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
3934 comparison.
3935 (_Unwind_SetGR): Likewise.
3936
88704996
AJ
39372003-10-26 Ottavio Campana <ottavio@campana.vi.it>
3938
9f6e5a8c 3939 PR target/12690
88704996
AJ
3940 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
3941
39422003-10-26 Gunther Nikl <gni@gecko.de>
97c55091
GN
3943
3944 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
3945 comment from here to...
3946 (m68k_save_reg): ...here. Fix comment formatting.
3947 (m68k_output_function_prologue): Fix comment formatting.
3948 (m68k_output_function_epilogue): Likewise.
3949 (const_method): Likewise.
3950
b36c208a
KH
39512003-10-26 Kazu Hirata <kazu@cs.umass.edu>
3952
3953 * toplev.c (default_get_pch_validity): Guard the use of
3954 target_options with #ifdef TARGET_OPTIONS.
3955 (default_pch_valid_p): Likewise.
3956
38f9cd4c
AJ
39572003-10-26 Andreas Jaeger <aj@suse.de>
3958 Zack Weinberg <zack@codesourcery.com>
3959 Andreas Tobler <toa@pop.agri.ch>
3960
3961 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
3962 (output_die): Likewise.
3963 (print_die): Likewise.
3964
d7d4cd78
AJ
39652003-10-26 Andreas Jaeger <aj@suse.de>
3966
0ab5b679
AJ
3967 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
3968 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
3969 dwarf2out.c change.
3970
d7d4cd78
AJ
3971 * toplev.c (default_pch_valid_p): Fix warning.
3972
077a148b
RS
39732003-10-25 Roger Sayle <roger@eyesopen.com>
3974
3975 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
3976 RTL nodes. If an operator's operands are unchanged, return the
3977 original argument unchanged.
3978
81bfdfbe
GS
39792003-10-26 Graham Stott <graham.stott@btinternet.com>
3980
3981 Fix bootstrap failure.
3982 * expmed.c (store_bit_field): Don't compare bitsize against
3983 modes with zero bit-size.
3984
3985 (extract_bit_field): Likewise
3986
799f628a
JH
39872003-10-25 Jan Hubicka <jh@suse.cz>
3988
3989 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
3990 (cfa_loc): Likewise.
3991 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
3992 HOST_WIDE_INT.
3993 (args_size, old_args_size): change type to HOST_WIDE_INT.
3994 (dwarf2out_def_cfa, dwarf2out_args_size,
3995 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
3996 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
3997 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
3998 AT_offset): Use HOST_WIDE_INT.
3999 (based_loc_descr): offset is HOST_WIDE_INT.
4000 (add_data_member): Likewise.
4001 (add_const_value_attribute): Simplify.
4002
fe9f516f
RH
40032003-10-25 Richard Henderson <rth@redhat.com>
4004
40fe4dd5
ZW
4005 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
4006 (ix86_expand_prologue): Save and restore eax around stack probe
4007 if it's live.
fe9f516f 4008
bd18496b
JH
40092003-10-25 Jan Hubicka <jh@suse.cz>
4010
4011 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
4012
b3cd99cd
EB
40132003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
4014
4015 PR target/12712
4016 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
4017 if the block has no predecessors.
4018 (convert_regs_2): Document the problem with successors whose
4019 only predecessor is the block to be processed.
4020 (convert_regs): Don't create the arbitrary input stack here.
4021
02befdf4
ZW
40222003-10-24 Zack Weinberg <zack@codesourcery.com>
4023
4024 * genmodes.c (struct mode_data): Add contained and next_cont
4025 fields.
4026 (complete_mode): Maintain linked list of modes that have a
4027 given component.
4028 (emit_mode_unit_size): Delete.
4029 (emit_mode_nunits): New.
4030 (emit_insn_modes_c): Update to match.
4031 (emit_mode_adjustments): Propagate size and alignment
4032 adjustments from component modes to their containers.
4033 * machmode.h (mode_unit_size): Delete.
4034 (mode_nunits): New.
4035 (GET_MODE_NUNITS): Just return the value in the table.
4036 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
4037 GET_MODE_SIZE.
4038 * expmed.c (store_bit_field, extract_bit_field): Can use a
4039 plain move instruction if bitsize >= GET_MODE_BITSIZE of
4040 destination/source mode, respectively.
4041 * varasm.c (assemble_real): Write out the full size of the
4042 constant, not just its bitsize.
4043 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
4044
4045 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
4046 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
4047 alignment of XF and TF modes in compliance with ia64 ABIs.
4048 Can now hardwire the format of both modes.
4049 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
4050 (general_tfmode_operand, destination_tfmode_operand)
4051 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
4052 general_xfmode_operand, destination_xfmode_operand,
4053 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
4054 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
4055 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
4056 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
4057 __float128.
4058 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
4059 Change TFmode to XFmode wherever appropriate. Remove all
4060 references to INTEL_EXTENDED_IEEE_FORMAT.
4061 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
4062 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
4063 (PREDICATE_CODES): Update to match function renames.
4064 * config/ia64/ia64.md: Change TF to XF throughout; rename all
4065 patterns to match. Remove all references to
4066 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
4067 function renames.
4068 * config/ia64/ia64-protos.c: Update all prototypes to match
4069 renamed functions.
4070 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
4071 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
4072 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
4073 __divtf3; keep old name for backward compatibility.
4074 (L__compat): New section providing forwarding stubs for
4075 __fixtfti, __fixunstfti, __floattitf.
4076 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
4077
7bb1ad93
GK
40782003-10-24 Geoffrey Keating <geoffk@apple.com>
4079
4080 PR 10757
4081 * c-pch.c: Include target.h. Improve comments.
4082 (struct c_pch_validity): Add target_data_length.
4083 (pch_init): Add target's validity data.
4084 (c_common_valid_pch): Check target's validity data.
4085 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
4086 (TARGET_PCH_VALID_P): New.
4087 (TARGET_INITIALIZER): Add new fields.
4088 * target.h: Include tm.h.
4089 (struct gcc_target): Add get_pch_validity, pch_valid_p.
4090 * toplev.h (default_get_pch_validity): New prototype.
4091 (default_pch_valid_p): New prototype.
4092 * toplev.c (default_get_pch_validity): New routine.
4093 (default_pch_valid_p): New routine.
4094 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
4095 target.h with $(TARGET_H).
4096 (c-pch.o): Add TARGET_H.
4097 * doc/tm.texi (PCH Target): New node.
4098 (TARGET_GET_PCH_VALIDITY): Document.
4099 (TARGET_PCH_VALID_P): Document.
4100
65455962
KC
41012003-10-24 Kelley Cook <kcook@gcc.gnu.org>
4102
4103 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
4104 and $(docdir)/include from any *.texi dependencies.
4105 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
4106 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
4107 ($(docobjdir)/%.7): Likewise.
4108 (%.pod): New implicit rule.
02befdf4 4109 (cpp.pod): New dependency only rule.
65455962
KC
4110 (gcc.pod): New intermediate rule with dependencies and commands.
4111 (gfdl.pod): Likewise.
4112 (fsf-funding.pod): Likewise.
4113
7a24bb87
NN
41142003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
4115
4116 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
4117 related code.
4118 * fixinc/fixinc.ptx: Remove.
4119 * fixinc/fixinc.svr4: Remove.
4120
c19ec8f9
UW
41212003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
4122
4123 * config/s390/s390.c (load_multiple_operation): Allow both SImode
4124 and DImode if word_mode is DImode.
4125 (store_multiple_operation): Likewise.
4126 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
4127 ("*load_multiple_di"): Allow only if word_mode == DImode.
4128 ("movqi"): Use LLGC whenever TARGET_ZARCH.
4129 ("fix_truncdfsi2"): Fix incorrect temporary size.
4130 ("fix_truncsfsi2"): Likewise.
4131 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
4132 string for function return value operand.
4133 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
4134
88682ff6
JM
41352003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
4136
4137 * c-parse.in (array_declarator): Use expr_no_commas.
4138 Fixes PR c/11943.
4139
3d39f007
RS
41402003-10-24 Richard Sandiford <rsandifo@redhat.com>
4141
4142 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
4143 associated includes in #ifndef inhibit_libc.
4144
f9225794
RS
41452003-10-24 Roger Sayle <roger@eyesopen.com>
4146
4147 * doc/libgcc.texi: Document some more of the libgcc API.
4148
c769a35d
RE
41492003-10-24 Richard Earnshaw <rearnsha@arm.com>
4150
4151 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
4152 comparing a constant with small negative numbers and add costing
4153 for constants in conjunction with AND.
4154 (note_invalid_constants): Tidy previous change.
4155 (thumb_cmp_operand): Tidy.
4156 (thumb_cmpneg_operand): New function.
4157 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
4158 for size.
4159 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
4160 (PREDICATE_CODES): Add thumb_cmpneg_operand.
4161 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
4162 with a negative constant.
4163 (cbranchsi4_insn): Matcher for cbranchsi4.
4164 (cbranchsi4_scratch): Similar, but a scratch is available for
4165 handling negative constants.
4166 (movsi_cbranchsi4): New pattern.
4167 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
4168 and use the TST instruction.
4169 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
4170 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
4171 cannot see high regs or memory alternatives.
4172 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
4173
244b1afb
RE
41742003-10-24 Richard Earnshaw <rearnsha@arm.com>
4175
4176 * arm.c (note_invalid_constants): Try to extract the constant
4177 pool value using avoid_constant_pool_reference; only use
4178 get_pool_constant if that returns the original reference.
4179
0f334035
JH
41802003-10-24 Jan Hubicka <jh@suse.cz>
4181
4182 PR c++/12624
4183 * varasm.c (notice_global_symbol): Disqualify global registers.
4184
1b24cd79
RS
41852003-10-23 Roger Sayle <roger@eyesopen.com>
4186
4187 PR middle-end/11414
4188 * loop.c (load_mems): Use redirect_jump to forward jumps from
4189 the original loop end label to the new "loop sink" block's label.
4190
c7d91a94
RS
41912003-10-23 Roger Sayle <roger@eyesopen.com>
4192
4193 PR middle-end/12705
4194 * optabs.c (expand_binop): When expanding complex operations
4195 inline, always calculate result into a new temporary register.
4196 Minor code clean-ups.
4197
7989e4dc
RO
41982003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4199
4200 * objc/lang-specs.h: Handle -print-objc-runtime-info.
4201 * doc/invoke.texi (Objective-C Dialect Options): Document it.
4202
f5c64a69
DS
42032003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
4204
034f2316 4205 * config/i386/cygwin.asm: Add copyright notice. Add comment
f5c64a69
DS
4206 on why this code is needed.
4207
846d57c7 42082003-10-23 Kazu Hirata <kazu@cs.umass.edu>
e11f4e4d
KH
4209
4210 * config/h8300/clzhi2.c: Fix warnings.
4211 * config/h8300/ctzhi2.c: Likewise.
4212 * config/h8300/fixunssfsi.c: Likewise.
4213 * config/h8300/parityhi2.c: Likewise.
4214 * config/h8300/popcounthi2.c: Likewise.
4215
1e529a73
JW
42162003-10-23 James E Wilson <wilson@specifixinc.com>
4217
4218 * gcc.c (option_map): Delete --target and --use-version.
4219
0e67400a
FJ
42202003-10-23 Fariborz Jahanian <fjahanian@apple.com>
4221 David Edelsohn <edelsohn@gnu.org>
4222
4223 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
4224 TARGET_POWREPC64.
4225 (UNITS_PER_GPR_WORD): Define.
4226 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
4227 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
4228 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
4229 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
4230 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
4231 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
4232 (rs6000_emit_prologue): Select reg_mode and reg_size using
4233 TARGET_32BIT, not TARGET_POWERPC64.
4234 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
4235 ABI / 64-bit computation mode
4236
00503146
AH
42372003-10-22 Andrew Haley <aph@redhat.com>
4238
4239 * toplev.c (output_file_directive): Allow for null input_name.
4240
448ec26c
WH
42412003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
4242
4243 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
4244
941ba69d
CD
42452003-10-22 Chris Demetriou <cgd@broadcom.com>
4246
4247 * configure.in: In --enable-generated-files-in-srcdir option
4248 handling, fix default case handling.
4249 * configure: Regenerate.
4250
55047c9d
PE
42512003-10-22 Phil Edwards <phil@codesourcery.com>
4252
4253 * config.gcc: Update *-*-vxworks* generic hook and comments.
4254 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
4255 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
4256 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
4257 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
4258 * config/windiss.h: New file.
4259 * config/arm/t-vxworks: New file.
4260 * config/arm/vxworks.h: New file.
4261 * config/i386/t-vxworks: New file.
4262 * config/i386/vxworks.h: New file.
4263 * config/mips/t-vxworks: New file.
4264 * config/mips/vxworks.h: New file.
4265 * config/mips/windiss.h: New file.
4266 * config/sh/t-vxworks: New file.
4267 * config/sh/vxworks.h: New file.
4268
3cfa3702
KH
42692003-10-22 Kazu Hirata <kazu@cs.umass.edu>
4270
4271 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
4272 (h8300_saveall_function_p): New.
4273 (h8300_insert_attributes): Insert the saveall attribute if
4274 #pragma saveall is specified.
4275 (h8300_attribute_table): Add saveall.
4276 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
4277 * doc/extend.texi: Mention the saveall attribute.
4278
dc70e81d
JM
42792003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
4280
4281 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
4282 deprecation of casts as lvalues.
4283 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
4284 * fixinc/fixincl.x: Regenerate.
4285 * fixinc/tests/base/obstack.h: New test.
4286
218d5a87
AS
42872003-10-22 Andreas Schwab <schwab@suse.de>
4288
4289 PR target/12676
4290 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
4291 LP64 platforms.
4292
ae0f3477
JH
42932003-10-22 Jan Hubicka <jh@suse.cz>
4294
c769a35d
RE
4295 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
4296 presence of DW_AT_inline.
4297 (gen_subprogram_die): Likewise; do not abort instead of emitting
4298 DW_AT_not_inline.
ae0f3477 4299
190f08bd
JH
43002003-10-22 Jan Hubicka <jh@suse.cz>
4301
4302 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
4303 global info is not ready.
4304
dbacaa98
KH
43052003-10-22 Kazu Hirata <kazu@cs.umass.edu>
4306
4307 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
4308
b9404c99
UW
43092003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
4310
4311 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
4312 ("*movstr_short"): ... into this insn pattern.
4313 ("movstr_short"): New expander.
4314 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
4315 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
4316 ("movstr_long"): New expander.
4317 ("clrstr_short_64", "clrstr_short_31"): Merge ...
4318 ("*clrstr_short"): ... into this insn pattern.
4319 ("clrstr_short"): New expander.
4320 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
4321 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
4322 ("clrstr_long"): New expander.
4323 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
4324 ("*cmpmem_short"): ... into this insn pattern.
4325 ("cmpmem_short"): New expander.
4326 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
4327 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
4328 ("cmpmem_long"): New expander.
4329 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
4330 (s390_expand_clrstr): Likewise.
4331 (s390_expand_cmpmem): Likewise.
4332
926a822f
MM
43332003-10-22 Mark Mitchell <mark@codesourcery.com>
4334
4335 * c-pch.c (struct c_pch_validity): Add pch_init field.
4336 (pch_init): Set it.
4337 (c_common_valid_pch): Check it.
926a822f 4338
a354c7d6
DT
43392003-10-22 David Taylor <dtaylor@emc.com>
4340
4341 PR debug/12500
4342 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
4343
77c018b7
RK
43442003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4345
4346 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
4347 alpha_return_in_memory if no VALTYPE specified.
4348
1bb17c21
JH
43492003-10-22 Jan Hubicka <jh@suse.cz>
4350
4351 PR debug/12389
4352 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
4353 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
4354 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
4355 (cgraph_global_info): Add flag inlined
4356 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
4357 cgraph_function_possibly_inded_p
4358 * cgraphunit.c (mark_inline): Set inlined flag.
4359 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
4360 only for possibly inlined functions.
4361 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
4362 body of function.
4363
907393db
AH
43642003-10-22 Andrew Haley <aph@redhat.com>
4365
4366 * varasm.c (output_constructor): Make constructor annotation
4367 conditional on ASM_COMMENT_START.
4368
40aae178
JM
43692003-10-21 Jason Merrill <jason@redhat.com>
4370
e64a6f2c
JM
4371 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
4372 (get_narrower): Likewise.
4373
40aae178
JM
4374 * stor-layout.c (layout_decl): Do packed field alignment for
4375 bit-fields, too.
4376
450b1728
EC
43772003-10-21 Eric Christopher <echristo@redhat.com>
4378
4379 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
4380
7451756f
GK
43812003-10-21 Geoffrey Keating <geoffk@apple.com>
4382
4383 * c-pch.c: Add comments in various places.
4384 (struct c_pch_validity): Add the lengths of various strings.
4385 (host_machine): New static.
4386 (target_machine): New static.
4387 (get_ident): Bump version number.
4388 (pch_init): Write out version, host, target validity data.
4389 (c_common_valid_pch): Check version, host, target.
4390 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
4391 TARGET_MACHINE.
4392
c25d44dd
JM
43932003-10-21 Jason Merrill <jason@redhat.com>
4394
4395 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
4396 (EXPR_P): New macro.
4397
5634cf72
ZW
43982003-10-21 Zack Weinberg <zack@codesourcery.com>
4399
4400 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
4401 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
4402 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
4403 DImode. Use convert_move to load ar.ccv.
4404 (ia64_expand_compare_and_swap): Likewise.
4405 If expand_expr doesn't put 'old' and 'new' in the proper
4406 modes, run them through convert_to_mode.
4407
25f93e18
EC
44082003-10-21 Eric Christopher <echristo@redhat.com>
4409
4410 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
4411 for too large bitfields.
4412
c3220510
MM
44132003-10-21 Mark Mitchell <mark@codesourcery.com>
4414
4415 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
4416
bce988a2
AH
44172003-10-21 Andrew Haley <aph@redhat.com>
4418
4419 * varasm.c (output_constructor): Annotate constructor.
4420
3d56d025
MM
44212003-10-21 Mark Mitchell <mark@codesourcery.com>
4422
4423 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
4424 on existence of destination file.
4425
43997658
JH
44262003-10-21 Jan Hubicka <jh@suse.cz>
4427
4428 * haifa-sched.c (choose_ready): Initialize index.
4429
064ee155
JM
44302003-10-21 Jason Merrill <jason@redhat.com>
4431
4432 * tree.c (build1): Fix off-by-one error.
4433
448ec26c 44342003-10-21 Robert Millan <robertmh@gnu.org>
e2befd7d
RM
4435
4436 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
4437 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
4438 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
4439 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
4440
2426d8dd
EB
44412003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
4442
4443 * web.c: Fix various comments.
4444
be03ccc9
NP
44452003-10-20 Nicolas Pitre <nico@cam.org>
4446
4447 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
4448 to 2 instead of 1 when optimize_size is true. Gather code based on
4449 optimize_size together. Add comment about XScale load latency.
4450
802f1b93
GN
44512003-10-21 Gunther Nikl <gni@gecko.de>
4452
4453 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
4454 obsolete comments.
4455
51b9ff45
KC
44562003-10-20 Kelley Cook <kcook@gcc.gnu.org>
4457
4458 * Makefile.in: Get parsedir and docobjdir from configure.
4459 * configure.in: Recogonize --enable-generated-files-in-srcdir.
4460 Pass along parsedir and docobjdir.
4461 * configure: Regenerate.
4462 * doc/install.texi: Document --enable-generated-files-in-srcdir.
4463
d790dd9f
KC
44642003-10-20 Kelley Cook <kcook@gcc.gnu.org>
4465
4466 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
4467 included.
4468
ac054e28
JM
44692003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
4470
4471 * c-common.c (expand_tree_builtin): Ensure creal and cimag
4472 functions do not return lvalues.
4473
2038bd69
JM
44742003-10-20 Jason Merrill <jason@redhat.com>
4475
4476 PR c/12553
4477 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
4478 appropriately.
4479
4480 PR c/11446
4481 * stor-layout.c (layout_decl): Fix alignment handling.
4482
02601a5c
JM
44832003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
4484
4485 * doc/extend.texi: Deprecate casts as lvalues.
4486
d4d1ebc1
JH
44872003-10-20 Jan Hubicka <jh@suse.cz>
4488
4489 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
4490
4491 * cgraphunit.c (decide_is_function_needed): Fix test dealing
4492 with functions implicitly made inline.
4493
4494 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
4495 (cgraph_finalize_function): Use it.
4496 (cgraph_mark_inline): Allow incrmental decisions
4497 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
4498 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
4499 * tree-inline.c (limits_allow_inlining): Kill.
4500 (expand_call_inline): Always use unit-at-a-time path.
4501
ce01559b
ZW
45022003-10-20 Zack Weinberg <zack@codesourcery.com>
4503
4504 * fixinc/inclhack.def (hpux11_snprintf): New edit.
4505 * fixinc/fixincl.x: Regenerate.
4506 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
4507
97ae108d
MM
45082003-10-20 Mark Mitchell <mark@codesourcery.com>
4509
4510 * Makefile.in (install-info): Simplify.
4511 ($(DESTDIR)$(infodir)/%.info): New rule.
4512 * configure.in (target_list): Remove install-info.
4513 * doc/.cvsignore (gcc.info*): Remove.
4514 (gccint.info*): Likewise.
4515 (gccinstall.info*): Likewise.
4516 (cpp.info*): Likewise.
4517 (cppinternals.info*): Likewise.
4518 (*.info*): Add it.
4519 * doc/sourcebuild.texi: Update description of install-info.
4520 * objc/Make-lang.in (objc.install-info): Remove.
4521
27d54b2a
RO
45222003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4523
4524 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
4525 Use it in _MIPS_SIM definition.
4526 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
4527
480feac0
ZW
45282003-10-20 Zack Weinberg <zack@codesourcery.com>
4529
4530 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
4531 virtual register, but only if file == asm_out_file.
4532 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
4533 for ARG_POINTER_REGNUM.
4534
d1d3865f
ZW
45352003-10-20 Zack Weinberg <zack@codesourcery.com>
4536
4537 * c-common.c (registered_builtin_types): New static.
4538 (c_common_type_for_mode): Consult registered_builtin_types.
4539 (c_register_builtin_type): Add type to registered_builtin_types.
4540 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
4541 all MODE_FLOAT modes, not just the ones corresponding to
4542 float_type_node, double_type_node, and long_double_type_node.
4543
df2ddbb3
RH
45442003-10-20 Richard Henderson <rth@redhat.com>
4545
4546 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
4547 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
4548
cbe26ab8
DN
45492003-10-20 Dorit Naishlos <dorit@il.ibm.com>
4550
d1d3865f 4551 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
cbe26ab8
DN
4552 support new flag -minsert-sched-nops.
4553 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
d1d3865f
ZW
4554 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
4555 support new flag -minsert-sched-nops.
cbe26ab8
DN
4556 (is_cracked_insn, is_microcoded_insn): New functions.
4557 (rs6000_sched_finish): New function.
4558 (rs6000_issue_rate): Return 5 for power4.
d1d3865f 4559 (get_next_active_insn, insn_terminates_group_p): New
cbe26ab8
DN
4560 functions.
4561 (is_costly_group, force_new_group): New functions.
4562 (redefine_groups, pad_groups): New functions.
4563 (rs6000_variable_issue): Use new functions.
4564 * doc/invoke.texi (-minsert-sched-nops): Document new
4565 option.
4566
59823ba4
DM
45672003-10-20 David S. Miller <davem@redhat.com>
4568
4569 * config/sparc/sparc.md (type attribute): Add new insn types
4570 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
4571 (patterns emitting VIS insns): Use them.
4572 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
4573 * config/sparc/ultra3.md: Likewise.
4574
e006ced2
FH
45752003-10-20 Falk Hueffner <falk@debian.org>
4576
4577 PR target/12654
4578 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
4579 comparison against constant by adjusting the argument except for
4580 EQ and NE.
4581
81f9037c
MM
45822003-10-19 Mark Mitchell <mark@codesourcery.com>
4583
4584 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
4585 arm1136jfs, and armv6j.
4586 * config/arm/arm.c (FL_ARCH6J): New macro.
4587 (FL_VFPV2): Likewise.
4588 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
4589 and arm1136jfs.
4590 (all_architectures): Add entry for armv6j.
4591 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
4592 arm1136js, and arm1136jfs.
4593 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
4594 (TARGET_CPU_arm1026ej_s): Likewise.
4595 (TARGET_CPU_arm1136j_s): Likewise.
4596 (TARGET_CPU_arm1136jf_s): Likewise.
4597 * doc/invoke.texi: Document new ARM cores and architecture
4598 variants.
d1d3865f 4599
fca9dc00
ZD
46002003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4601
4602 * Makefile.in (toplev.o): Add value-prof.h dependency.
4603 (value-prof.o): Add REGS_H dependency.
4604 * common.opt (fprofile-values, fvpt): New.
4605 * flags.h (flag_value_profile_transformations): Declare.
4606 * opts.c (common_handle_option): Handle -fprofile_values and
4607 -fvpt.
4608 * profile.c (branch_prob): Don't remove death notes here.
4609 * timevar.def (TV_VPT): New.
4610 * value-prof.c: Include regs.h.
4611 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
4612 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
4613 mod_subtract_transform, value_profile_transformations): New.
4614 (insn_values_to_profile): Call insn_divmod_values_to_profile.
4615 (find_values_to_profile): Add dumps.
4616 * value-prof.h (value_profile_transformations): Declare.
4617 * toplev.c: Include value-prof.h.
4618 (rest_of_handle_value_profile_transformations): New.
4619 (enum dump_file_index): Add DFI_vpt.
4620 (dump_file): Add vpt dump.
4621 (flag_value_profile_transformations): New.
4622 (lang_independent_options): Add flag_profile_values and
4623 flag_value_profile_transformations.
4624 (rest_of_compilation): Call
4625 rest_of_handle_value_profile_transformations.
4626 (process_options): Let -fvpt imply -fprofile-values.
4627 * doc/invoke.texi (-fvpt): Document.
4628
cb0bc263
JH
46292003-10-19 Jan Hubicka <jh@suse.cz>
4630
4631 * i386.c (print_reg): Do not abort on certain registers.
4632
4633 PR optimization/12612
4634 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
4635 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
4636 match_scratch; avoid bogus paralles.
4637
4638 PR target/12674
4639 * i386.c (ix86_function_regparm): Disable implicit register passing
4640 conventions when profiling.
4641
707e58b1 46422003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
d1d3865f 4643 Richard Henderson <rth@redhat.com>
707e58b1
EB
4644
4645 PR optimization/8178
4646 * config/i386/i386.md (*movsi_zero): Delete.
4647 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
4648
64bb2e1d
RH
46492003-10-19 Richard Henderson <rth@redhat.com>
4650
4651 * config/alpha/alpha.c (fix_operator): New.
4652 (divmod_operator): Tidy.
4653 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
4654 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
4655 (PREDICATE_CODES): Update.
4656 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
4657 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
4658 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
4659 (fix_truncsfdi_ieee): Likewise.
4660 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
4661 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
4662 * config/alpha/alpha-protos.h: Update.
4663
91999e1d
RS
46642003-10-19 Richard Sandiford <rsandifo@redhat.com>
4665
4666 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
4667 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
4668 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
f74c81d5 4669 constant operands.
91999e1d 4670
9c2d4260
KH
46712003-10-18 Kazu Hirata <kazu@cs.umass.edu>
4672
4673 * doc/extend.texi: Fix typos.
4674 * doc/invoke.texi: Likewise.
4675
591af218
NP
46762003-10-18 Nicolas Pitre <nico@cam.org>
4677
4678 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
4679 XScale optimizations not arm_arch_xscale.
4680 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
4681
ac32b25e
UW
46822003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
4683
4684 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
4685 * config/s390/s390.c (shift_count_operand): New function.
4686 (s390_extra_constraint): Use it to implement 'Y' constraint.
4687 (print_shift_count_operand): New function.
4688 (print_operand): Use it to implement '%Y'.
4689 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
4690 (PREDICATE_CODES): Add shift_count_operand.
d1d3865f 4691 * config/s390/s390.md ("rotldi3"): Merge alternatives,
ac32b25e
UW
4692 using "shift_count_operand" predicate and "Y" constraint,
4693 and "%Y" to output the combined shift count.
4694 ("rotlsi3"): Likewise.
4695 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
d1d3865f 4696 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
ac32b25e
UW
4697 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
4698 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
4699 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
4700 ("lshrsi3"): Likewise.
4701
3f12a2e0
GN
47022003-10-18 Gunther Nikl <gni@gecko.de>
4703
4704 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
4705 argument to asm_fprintf statement.
4706
6074164e
FJ
47072003-10-18 Fariborz Jahanian <fjahanian@apple.com>
4708
d1d3865f
ZW
4709 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
4710 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
4711 a "long long" argument.
6074164e 4712
ad7e39ca
AO
47132003-10-18 Alexandre Oliva <aoliva@redhat.com>
4714
4715 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
4716 as well.
4717
e1de1560
RS
47182003-10-18 Richard Sandiford <rsandifo@redhat.com>
4719
4720 * rtl.h (rtl_size): Declare.
4721 (rtunion): Remove rtwint.
4722 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
4723 (RTX_HDR_SIZE, RTX_SIZE): New macros.
4724 (RTL_CHECK1): Adjust for new rtx_def layout.
4725 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
4726 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
4727 (X0WINT): Remove.
4728 (X0ANY): New macro.
4729 * rtl.def: Adjust comments for new rtx_def layout.
4730 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
4731 number of slots.
4732 * rtl.c (rtx_size): New array.
4733 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
4734 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
4735 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
4736 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
4737 * emit-rtl.c (copy_most_rtx): Likewise.
4738 (copy_rtx_if_shared): Use RTX_SIZE.
4739 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
4740 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
4741 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
4742 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
4743 an array. Adjust output for new rtx_def layout.
4744 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
4745 * reload1.c (eliminate_regs): Use RTX_SIZE.
4746 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
4747 * gdbinit.in (pi): Likewise.
4748
99ceae26
JH
47492003-10-18 Jan Hubicka <jh@suse.cz>
4750
4751 * integrate.c (copy_decl_for_inlining): Revert previous patch.
4752
8a2b3848
JH
47532003-10-18 Jan Hubicka <jh@suse.cz>
4754
4755 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
4756
dafee8e3
RS
47572003-10-18 Roger Sayle <roger@eyesopen.com>
4758
4759 * libgcc.texi: Group multi-word types, such as "long double" and
4760 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
4761 Document __unord?f2 as returning a non-zero value, not just one.
4762
3a198a72
HPN
47632003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
4764
4765 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
4766 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
4767
a74f2487
EB
47682003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4769
4770 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
4771 match_operand.
4772
cde85594
EB
47732003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4774
4775 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
4776 parameter packed_p. Search for a DECL_PACKED field only if
4777 packed_p is false. Pass packed_p recursively.
4778 (function_arg_record_value_2): Likewise.
4779 (function_arg_record_value): Update calls to
4780 function_arg_record_value_1 and function_arg_record_value_2.
4781
9d8de1de
EB
47822003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4783
4784 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
4785 was successfully forced to memory before using the result.
4786
67e53009
EB
47872003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4788
4789 PR optimization/8178
4790 * config/i386/i386.md (*movsi_zero): New insn to set
4791 a register to zero on TARGET_USE_MOV0 targets.
4792
fca086c1
KC
47932003-10-18 Kelley Cook <kcook@gcc.gnu.org>
4794
4795 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
4796 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
4797
2206e783
DE
47982003-10-17 David Edelsohn <edelsohn@gnu.org>
4799
4800 * doc/invoke.texi (gcse-las): Fix typo.
4801
1b49d06f
AP
48022003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
4803
a755e3c5
AP
4804 * doc/install.texi: Remove first part of the sentence for
4805 zsh not working. Change gcc to GCC.
4806
1b49d06f 4807 PR bootstrap/12546
d1d3865f 4808 * doc/install.texi: Document that zsh does not work when
1b49d06f
AP
4809 configuring gcc.
4810
8a765788
NN
48112003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
4812
4813 * config/ptx4.h: Switch to DWARF 2; update comments.
4814
b4a62fa0
SB
48152003-10-17 Segher Boessenkool <boessen@de.ibm.com>
4816 Hartmut Penner <hpenner@de.ibm.com>
4817
eb0c90bd 4818 PR 10404, partial 11591, partial 11601
b4a62fa0
SB
4819 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
4820 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
4821 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
4822 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
4823 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
4824 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
4825 (altivec_expand_stv_builtin): Adjust for the memory_operand.
4826 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
4827 (altivec_init_builtins): Use `long int' for memory offsets.
4828
7260e9a0
JH
48292003-10-17 Jan Hubicka <jh@suse.cz>
4830
4831 * opts.c (common_handle_option): Handle OPT_fweb
4832 * invoke.texi (-fweb): Add missing parts of documentation.
4833
b8557e37
RO
48342003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4835
4836 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
4837 before redefinition.
4838
f5f2e3cd
MH
48392003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
4840
4841 * common.opt: Add description of the new -fgcse-las flag.
4842 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
4843 * gcse.c (hash_scan_set): Handle the case of store expression and
4844 insert the memory expression to the hash table, this way we make it
4845 possible to discover redundant loads after stores and remove them.
4846 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
4847 to pre_insert_copies, it is not the correct place to call it after
4848 adding stores to be in the available expression hash table.
4849 (pre_insert_copies): Added the call to update_ld_motion_stores when
4850 one or more copies were inserted.
4851 * opts.c (common_handle_option): Handle the -fgcse-las flag.
4852 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
4853
4854 * doc/invoke.tex: Document new -fgcse-las flag.
4855
1b2d6edd
AM
48562003-10-18 Alan Modra <amodra@bigpond.net.au>
4857
5511bc2e
AM
4858 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
4859 for posterity, then remove it.
1b2d6edd 4860
efc2515b
RE
48612003-10-17 Richard Earnshaw <rearnsha@arm.com>
4862 Nathan Sidwell <nathan@codesourcery.com>
4863
4864 * config/arm/arm.c (use_return_insn): Not a single instruction, if
4865 there's a frame pointer.
4866 (arm_output_epilogue): Protect stack pointer from being corrupted
4867 on interrupt.
4868
51a785a0
UW
48692003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
4870
4871 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
4872
2051c897
UW
48732003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
4874
4875 * combine.c (simplify_set): Do not clear out undobuf.other_insn
4876 already set elsewhere.
4877
b1177d69
KC
48782003-10-17 Kelley Cook <kcook@gcc.gnu.org>
4879
4880 * config/i386/i386.c (ix86_expand_prologue): Use
4881 gen_allocate_stack_worker.
4882
3c7404d3
RO
48832003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4884
4885 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
4886 without gas.
4887 (mips-sgi-irix6*): Likewise.
4888
4889 * config/mips/iris6gas.h: New file.
4890 * gcc/config.gcc (mips-sgi-irix6*): Use it.
4891
4892 * config/mips/mips.h (TARGET_IRIX): Provide default.
4893 (TARGET_IRIX5): Likewise.
4894 (TARGET_SGI_O32_AS): Likewise.
4895 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
4896 (TARGET_IRIX5): Likewise.
4897 * config/mips/iris6.h (TARGET_IRIX6): Remove.
4898 (TARGET_IRIX5): Redefine as 0.
4899
4900 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
4901 linker workaround with TARGET_IRIX and mips_abi instead of
4902 ASM_OUTPUT_UNDEF_FUNCTION.
4903 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
4904 testing TARGET_IRIX and mips_abi explicitly.
4905 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
4906 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
4907
4908 * config/mips/mips.c (irix_output_external_libcall): Renamed from
4909 mips_output_external_libcall.
4910 Use new TARGET_IRIX in guard.
4911 * config/mips/mips-protos.h (irix_output_external_libcall): Match
4912 this.
4913 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
4914
4915 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
4916 Define as 0.
4917
4918 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
d1d3865f 4919 depending on mips_abi.
3c7404d3
RO
4920 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
4921 * config/mips/mips.c (mips_output_function_prologue): Test
4922 FUNCTION_NAME_ALREADY_DECLARED at runtime.
4923 (mips_output_function_epilogue): Likewise.
4924 (build_mips16_function_stub): Likewise.
4925 (build_mips16_call_stub): Likewise.
4926 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
4927 default.
d1d3865f 4928
3c7404d3
RO
4929 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
4930 IRIX 6 O32 assembler.
4931 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
4932 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
4933 _MIPS_SIM for O32 ABI.
4934 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
4935 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
4936 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
4937 Integrate O32 version.
4938 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
4939 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
4940 O32 ABI.
4941 (BSS_SECTION_ASM_OP_32): Define.
4942 (BSS_SECTION_ASM_OP_64): Likewise.
4943 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
4944 using them.
4945 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
4946 Move up to allow override for O32 ABI without GNU as.
4947 (EH_FRAME_SECTION_NAME): Define explicitly.
4948 (MUST_USE_SJLJ_EXCEPTIONS): Define.
4949 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
4950 DTORS_SECTION_ASM_OP): Dummy definitions.
d1d3865f 4951 (TARGET_ASM_NAMED_SECTION): Undef statically.
3c7404d3
RO
4952 (EH_FRAME_SECTION_NAME): Likewise.
4953 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
4954 (LINK_SPEC): Only use default options -call_shared -no_unresolved
4955 without -r.
4956 Don't pass -init, -fini with -mabi=32.
4957 (COLLECT_PARSE_FLAG): Define.
4958
4959 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
4960 TARGET_IRIX.
4961 Renamed to use irix_ prefix.
4962 (iris6_asm_named_section): Likewise.
4963 (iris_section_align_entry_eq): Likewise.
4964 (iris_section_align_entry_hash): Likewise.
4965 (iris6_file_start): Likewise.
4966 (iris6_section_align_1): Likewise.
4967 (iris6_file_end): Likewise.
4968 (iris6_section_type_flags): Likewise.
4969 (iris_section_align_htab): Likewise.
4970 (iris_orig_asm_out_file): Likewise.
4971 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
4972 (TARGET_ASM_FILE_END): Likewise.
4973 (TARGET_SECTION_TYPE_FLAGS): Likewise.
4974
4975 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
4976 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
4977 override_options instead.
4978 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
4979 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
4980 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
4981 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
4982 assemblers.
4983 Likewise for constructor/destructor handling.
4984 (override_options): Handle IRIX O32 assembler quirks.
4985 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
4986 without gas.
4987 (mips_file_start): Use new TARGET_IRIX.
4988 (mips_declare_object_name): No special processing for IRIX O32
4989 assembler.
4990 (mips_finish_declare_object): Likewise.
4991 (irix_asm_output_align): Renamed from iris6_asm_output_align.
4992 Don't record alignment for O32 ABI.
4993 (irix_file_start): Renamed from iris6_file_start.
4994 Return early for O32 ABI.
4995 (irix_file_end): Renamed from iris6_file_end.
4996 Don't emit .section directives for O32 ABI.
4997 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
4998 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
4999
5000 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
5001 (MULTILIB_OSDIRNAMES): Likewise.
5002
5f31e9bc
RO
50032003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5004
5005 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
5006 (main): Use it.
5007 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
5008
defc0463
RE
50092003-10-17 Richard Earnshaw <rearnsha@arm.com>
5010
5011 * arm-modes.def (CC_Nmode): New condition code mode.
5012 * arm.c (thumb_condition_code): Delete.
5013 (arm_select_cc_mode): Handle single-bit test for Thumb.
d1d3865f 5014 (arm_print_operand, cases 'd' and 'D'): Don't special case the
defc0463
RE
5015 condition code logic for Thumb.
5016 (get_arm_condition_code): Handle CC_Nmode.
5017 (thumb_cbrch_target_operand): New function.
5018 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
5019 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
5020 * arm.md: Add Thumb split patterns for zero_extract and
5021 sign_extract.
5022 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
5023 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
5024 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
5025 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
5026 (cbranchne_decr1): Re-work to use CC_Nmode.
5027
d1d3865f 5028 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
defc0463
RE
5029 by the return instruction. Add a use of the link register if it
5030 wasn't stored.
5031
38b2a605
RE
50322003-10-17 Richard Earnshaw <rearnsha@arm.com>
5033
5034 * flow.c (init_propagate_block_info): Don't abort if a conditional
5035 jump is not a comparison of a register. Instead, just don't record
5036 conditional life information.
5037
8f00386e
JH
50382003-10-16 Jan Hubicka <jh@suse.cz>
5039
5040 PR optimization/12630
5041 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
5042 for operands 7 and 8.
5043
dc17fe76
KC
50442003-10-16 Kelley Cook <kcook@gcc.gnu.org>
5045
5046 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
5047
1e8a5248
DS
50482003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
5049
5050 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
5051
5052 * config/i386/winnt.c (gen_stdcall_suffix): Make static
5053 (gen_fastcall_suffix): Likewise.
5054 (i386_pe_dllexport_p): Likewise.
5055 (i386_pe_dllimport_p): Likewise.
5056 (i386_pe_mark_dllexport): Likewise.
5057 (i386_pe_mark_dllimport): Likewise.
5058 (i386_pe_asm_named_section): Fix formatting.
5059
236ce4b2
ZW
50602003-10-16 Zack Weinberg <zack@codesourcery.com>
5061
5062 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
5063 * system.h: Declare snprintf if necessary.
5064 * configure, config.in: Regenerate.
5065
10f30fa8
DE
50662003-10-15 David Edelsohn <edelsohn@gnu.org>
5067
5068 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4aa4bf39 5069 arguments if TARGET_ALTIVEC_ABI.
10f30fa8 5070
5bb650ec
RS
50712003-10-15 Roger Sayle <roger@eyesopen.com>
5072
5073 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
5074 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
5075 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
5076 New functions.
5077 (expand_builtin_memcpy): Use integer_zerop instead of testing
5078 host_integerp and tree_low_cst directly. Move misapplied hunk
5079 for optimization wher SRC and DEST point to the same location.
5080 (expand_builtin_mempcpy): From here.
5081 (expand_builtin_memmove): Use integer_zerop instead of testing
5082 host_integerp and tree_low_cst_directly.
5083 (expand_builtin_memset): Likewise.
5084 (expand_builtin_memcmp): Likewise (and for integer_onep).
5085 (expand_builtin_strncmp): Likewise.
5086 (fold_builtin): Call the appropriate fold_builtin_foo functions
5087 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
5088 strcmp and strncmp.
5089
6f94a68e
GK
50902003-10-15 Geoffrey Keating <geoffk@apple.com>
5091
5092 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
5093 prototype. Clean up some whitespace.
236ce4b2
ZW
5094 * config/darwin.c: Use gen_rtx_FOO (...) rather than
5095 gen_rtx (FOO, ...).
6f94a68e
GK
5096 (machopic_non_lazy_ptr_name): Make static.
5097 (name_needs_quotes): Allow '.' and '$' unquoted.
5098 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
5099 case.
236ce4b2 5100
a352244f
GL
5101