]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
a813c111
SB
12003-12-11 Steven Bosscher <steven@gcc.gnu.org>
2
3 * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
4 (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
5 (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
6 (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
7 fields of a basic block.
8 * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
9 cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
10 cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
11 final.c, flow.c, function.c, gcse.c, global.c, graph.c,
12 haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
13 loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
14 ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
15 regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
16 sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
17 config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
18 accessing the `head' and `end' fields of a basic block directly.
19
20 * gengtype.c: Teach about "void**" pointers and "void *" function
21 types. Fixes earlier commit.
22
3a3e1600
GK
232003-12-10 Geoffrey Keating <geoffk@apple.com>
24
25 * doc/extend.texi (Vector Extensions): Document that bitwise
26 operations also work on vectors.
27
da5cafa7
RE
282003-12-10 Richard Earnshaw <rearnsha@arm.com>
29
30 * arm.md: New split patterns for optimizing bitfield accesses.
31
498ec23d
SB
322003-12-10 Steven Bosscher <stevenb@suse.de>
33
34 * README.Portability: Remove K+R section.
35
36 * gengtype-lex.l: Teach about "void**" pointers and
37 "void*" function types.
38
ed1fe829
EB
392003-12-10 Eric Botcazou <ebotcazou@libertysurf.fr>
40
41 PR target/13354
42 * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
43 manually if one can do that with only one instruction.
44
f71b53c8
NC
452003-12-10 Nick Clifton <nickc@redhat.com>
46
47 * config.gcc (arm-linux): Include linux.h in tm_file so that
48 LINUX_TARGET_OS_CPP_BUILTINS is defined.
49 * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
50
a7eaa37d
JW
512003-12-09 James E Wilson <wilson@specifixinc.com>
52
53 * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
54
facef326
MA
552003-12-09 Matt Austern <austern@apple.com>
56
57 PR c/13134
58 * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
59
6975bd2c
KI
602003-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
61
62 * config/m32r/m32r.h: Add support for m32r2 processor. Including
63 a new command line option -m32r2 to select it.
64 * config/m32r/m32r.c: Add support for the new processor variant.
65 * config/m32r/m32r.md: Likewise.
66 * config/m32r/t-m32r: Add m32r2 multilibs.
67 * doc/invoke.texi: Document the new command line switch.
68
cca8fb0e
KH
692003-12-08 Kazu Hirata <kazu@cs.umass.edu>
70
71 * defaults.h (LOCAL_REGNO): Give the default definition.
72 * flow.c (LOCAL_REGNO): Remove.
73 * reload1.c (LOCAL_REGNO): Likewise.
74
a9baceb1
GK
752003-12-08 Geoffrey Keating <geoffk@apple.com>
76
77 PR target/11848
78 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
79 in floating-point registers between TFmode and DImode.
80 * rs6000.c (rs6000_emit_move): Split moves early.
81 (secondary_reload_class): Random Whitespace Change.
82 (rs6000_split_multireg_move): Support moves involving FP registers.
83 Emit instructions directly.
84 * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
85 * altivec.md: Update for changes to rs6000_split_multireg_move.
86 * rs6000.md: Update for changes to rs6000_split_multireg_move.
87 (movtf_internal): Support moves to/from GPRs.
88
86b40947
SH
892003-12-08 Stuart Hastings <stuart@apple.com>
90
91 * config/i386/i386.md: Typo in split of fp-valued if_then_else.
92
367d6d0b
JW
932003-12-08 James E Wilson <wilson@specifixinc.com>
94
95 PR target/13132
96 * expmed.c (extract_bit_field): Only call mode_for_size for scalar
97 integer modes.
98
8bb1e63e
NN
992003-12-08 Nathanael Nerode <neroden@gcc.gnu.org>
100
101 * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
102 directory.
103
1ff905e9
AO
1042003-12-08 Alexandre Oliva <aoliva@redhat.com>
105
106 * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
107 by using match_scratch.
108 (negdi2): New.
109
66c78aa9
JM
1102003-12-08 Jason Merrill <jason@redhat.com>
111 Daniel Berlin <dberlin@dberlin.org>
112
97f1485f 113 PR debug/11114
66c78aa9
JM
114 Support namespaces in DWARF 2 output.
115 * dwarf2out.c (gen_namespace_die): New function.
116 (force_namespace_die, setup_namespace_context): New fns.
117 (declare_in_namespace): New fn.
118 (gen_decl_die): Call declare_in_namespace. Handle namespaces.
119 (dwarf2out_decl): Handle namespaces.
120 (scope_die_for): Pass through a namespace scope.
121 (class_scope_p): Rename to class_or_namespace_scope_p.
122 (gen_subprogram_die, gen_variable_die): Adjust.
123 (gen_struct_or_union_die): Always emit a declaration
124 if context_die is a namespace.
125
f167b1c0
JH
1262003-12-08 Jan Hubicka <jh@suse.cz>
127
128 * unwind-pe.h (read_uleb128): Fix handling of large values
129 (read_sleb128): Fix handling of large values
130
32b32b16
AP
1312003-12-08 Andrew Pinski <pinskia@physics.uc.edu>
132
133 PR middle-end/10060
134 * emit-rtl.c (copy_rtx_if_shared): Split out into ...
135 (copy_rtx_if_shared_1): here and optimize the last one
136 in the sequence into tail-recursion.
137 (reset_used_flags): Optimize the last one
138 in the sequence into tail-recursion.
139
de9315db
RE
1402003-12-08 Richard Earnshaw <rearnsha@arm.com>
141
142 * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
143 for constant X.
144
a6a5a42d
RS
1452003-12-08 Richard Sandiford <rsandifo@redhat.com>
146
147 * calls.c (expand_call): Don't try using tail or recursive calls
148 after the function body has been expanded.
149
87383233
JH
1502003-12-08 Jan Hubicka <jh@suse.cz>
151
152 * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
153
af5734de
AC
1542003-12-08 Arnaud Charlet <charlet@act-europe.fr>
155
156 PR ada/13324, PR ada/12614
157 * doc/install.texi: Update requirements for building Ada.
158
0eb31ee3
DE
1592003-12-07 David Edelsohn <edelsohn@gnu.org>
160 Graham Reed <greed@pobox.com>
161
162 * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
163 (GCC_UNDEF_SYMBOL): Same.
164
6f1ec3b9
KH
1652003-12-07 Kazu Hirata <kazu@cs.umass.edu>
166
167 * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
168 * system.h (FINAL_PRESCAN_LABEL): Poison.
169 * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
170
611764ec
KG
1712003-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
172
173 * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
174
e1366e0c
NN
1752003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
176
63cf211a
NN
177 * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
178 * configure: Regenerate with autoconf 2.13.
179
1f866b45
NN
180 * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
181 with modern equivalents.
182 * configure: Regenerate.
183
76761d47
NN
184 * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
185 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
186 * configure: Regenerate.
187
e1366e0c
NN
188 * configure: Regenerate with (preferred) autoconf 2.57.
189 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
190
df5e8205
EB
1912003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
192
193 PR optimization/12965
194 * caller-save.c (save_call_clobbered_regs): Do not save/restore
195 registers around no-return calls.
196
6e3f3080
NN
1972003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
198
199 * configure.in: Make minimum necessary changes for autoconf 2.5x.
200 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
201 * configure: Regenerate with autoconf 2.58.
202
fd25e957
EB
2032003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
204
205 PR optimization/13318
206 * loop.c (express_from): Protect integer division from overflow.
207
5c6ef9be
EB
2082003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
209
210 PR optimization/13060
211 * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
212 replacement already exists. Fix again the whole insn if that fails.
213
f7efd730
AP
2142003-12-06 Andrew Pinski <pinskia@physics.uc.edu>
215
216 * config/rs6000/rs6000.c (macho_branch_islands): Use
217 HOST_WIDE_INT_PRINT_UNSIGNED.
218
9be6533a
RS
2192003-12-06 Richard Sandiford <rsandifo@redhat.com>
220
221 * varasm.c (incorporeal_function_p): New.
222 (assemble_external): Use it as a filter.
223 * config/mips/mips.c (mips_output_external): Don't check for builtin
224 functions here.
225
e25c906a
RE
2262003-12-06 Richard Earnshaw <reanrsha@arm.com>
227
228 * arm.md (IOR (COMPARISON) (AND)): New define_splits.
229
439020ec
KC
2302003-12-06 Kelley Cook <kcook@gcc.gnu.org>
231
232 * Makefile.in (program_transform_cross_name): Delete.
233 (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
234 (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
235 (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
236 (install_cpp, install_driver, install-man, uninstall): Likewise.
237
df2ef49b
AM
2382003-12-06 Alan Modra <amodra@bigpond.net.au>
239
240 PR 13169
241 * basic-block.h (PROP_ASM_SCAN): Define.
242 * final.c (regs_asm_clobbered): New array.
243 * regs.h (regs_asm_clobbered): Declare.
244 * flow.c (life_analysis): Init it.
245 (mark_set_regs): Set PROP_ASM_SCAN for asms.
246 (mark_set_1): Set regs_asm_clobbered.
247 * global.c (global_alloc): Don't set eliminable_regset when
248 regs_asm_clobbered.
249
eeb23c11
MM
2502003-12-05 Mark Mitchell <mark@codesourcery.com>
251
3b099d37
MM
252 * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
253
eeb23c11
MM
254 PR c++/13314
255 * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
256
6a40fb21
AP
2572003-12-05 Andrew Pinski <pinskia@physics.uc.edu>
258
259 PR driver/13211
260 * gcc.c (execute) Increment execution_count when returning
261 early because verbose_only_flag is true.
262
b92be669
PB
2632003-12-05 Per Bothner <pbothner@apple.com>
264
265 * cppfiles.c (file_hash_hash): New static function.
266 (hash_string_eq): Renamed static function to file_hash_eq.
267 (_cpp_init_files): Create file_hash table with above callbacks.
268 (cpp_included): Must use htab_find_with_hash insead of htab_find.
269 (_cpp_find_find, make_cpp_dir): Must use htab_find_slot_with_hash.
270
7d40b45f
PB
2712003-12-05 Per Bothner <pbothner@apple.com>
272
273 * line-map.h (source_location): New typedef.
274 (fileline): Redefined as source_location.
275 (struct line_map, linemap_add, linemap_lookup): Replace filefile
276 by source_location.
277 * line-map.c (linemap_add, linemap_lookup): Use source_location.
278
5849d27c
RH
2792003-12-05 Richard Henderson <rth@redhat.com>
280
281 * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
282 field to suppress -Wpadded warnings.
283
5c626c91 2842003-12-05 Stuart Hastings <stuart@apple.com>
5849d27c 285
5c626c91
SH
286 * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
287
5d27ef94
SM
2882003-12-05 Stuart Menefy <stuart.menefy@st.com>
289 J"orn Rennecke <joern.rennecke@superh.com>
290
291 PR target/13302
292 * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
293
2a67ff5e
RS
2942003-12-05 Roger Sayle <roger@eyesopen.com>
295
296 * dojump.c (do_jump): If the expression being compared against
297 zero, is the subreg of a promoted variable, perform the comparison
298 in the promoted mode.
299 * simplify-rtx.c (simplify_unary_operation): Optimize sign and
300 zero-extensions of subregs of promoted variables where the
301 extension is identical to that used to promote the variable.
302
73fb6466
HPN
3032003-12-05 Hans-Peter Nilsson <hp@axis.com>
304
305 PR target/13256
306 * resource.h (enum mark_resource_type): Remove member MARK_DEST.
307 The only user changed as follows:
308 * resource.c (mark_set_resources) <case SET>: Always recurse for
309 SET_SRC (x).
310 <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
311 operands.
312 <case STRICT_LOW_PART>: Delete, deferring to default code.
313
e292dbb0
WH
3142003-12-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
315
316 * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
317 and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
318
01bdc11e
RS
3192003-12-05 Richard Sandiford <rsandifo@redhat.com>
320
321 * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
322 for n32 & n64 abicalls.
323
f24e76eb
RS
3242003-12-05 Richard Sandiford <rsandifo@redhat.com>
325
326 PR bootstrap/13145
327 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
328 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
329 (mips_load_got): Always create a constant MEM.
330 (mips_expand_call): Use load_callsi and load_calldi.
331 * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
332 (load_callsi, load_calldi): New patterns.
333
b00b4b88
PG
3342003-12-05 Peter Gerwinski <peter@gerwinski.de>
335
336 * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
337
7f682641
SB
3382003-12-05 Steven Bosscher <stevenb@suse.de>
339
340 * config/d30v/d30v-protos.h , config/d30v/d30v.c,
341 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
342 config/fr30/fr30-protos.h, config/fr30/fr30.c,
343 config/i370/i370-protos.h, config/i370/i370.c,
344 config/i960/i960-protos.h, config/i960/i960.c,
345 config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
346 config/m32r/m32r-protos.h, config/m32r/m32r.c,
347 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
348 config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
349 Convert to ISO C90 function declarations and definitions.
350
6429bc7c
EB
3512003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
352
353 * doc/extend.texi (Constructing Calls): Add warning about
354 the limitations of the functions.
355
6e3077c6
EB
3562003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
357
358 PR middle-end/11151
359 * function.h (struct function): New field 'x_naked_return_label'.
360 * function.c (free_after_compilation): Set it to NULL.
361 (expand_function_end): Emit 'naked_return_label' if it exists.
362 * rtl.h (expand_naked_return): Declare.
363 * stmt.c (expand_naked_return): New function to generate a
364 jump to 'naked_return_label'.
365 * builtins.c (expand_builtin_return): Call expand_naked_return
366 instead of expand_null_return.
367 * config/sparc/sparc.md (untyped_return): Likewise.
368
34c6bdab
AP
3692003-12-04 Andrew Pinski <pinskia@physics.uc.edu>
370
e3869806
AP
371 PR target/11322
372 * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
373
34c6bdab
AP
374 PR target/12467
375 * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
376
efdba735
SH
3772003-12-04 Stuart Hastings <stuart@apple.com>
378
379 * rs6000.c (output_call, macho_branch_islands,
380 add_compiler_branch_island, no_previous_def, get_previous_label)
381 Revisions of xx_stub functions for branch islands,
382 add -fPIC support for Darwin.
383 * rs6000-protos.h (output_call) Prototype.
384 * rs6000.md Use output_call.
385 * invoke.texi Explain Darwin semantics of -longcall.
386 * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
387
d67e96cf
RH
3882003-12-04 Richard Henderson <rth@redhat.com>
389
390 * config/i386/i386.md (addqi3_carry): Use q not r constraints.
391 (subqi3_carry): Likewise.
392
3db1b434
R
3932003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
394
395 PR optimization/13260
396 * sh-protos.h (sh_expand_t_scc): Declare.
397 * sh.h (PREDICATE_CODES): Add cmpsi_operand.
398 * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
399 * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
400 something that is not a CONST_INT, copy it into a pseudo register.
401 (subc): Fix description of new T value.
402 (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
403 (sltu, sleu, sgeu): Likewise.
404 (seq, sne): Likewise. Use sh_expand_t_scc.
405
6938ec6c
NN
4062003-12-04 Nathanael Nerode <neroden@gcc.gnu.org>
407
f1faaabd
NN
408 * configure.in: Generalize the CONFIG_HEADERS pattern under which
409 we stamp cstamp-h.
410 * configure: Regenerate.
411
6938ec6c
NN
412 * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
413 to avoid trouble when updating to autoconf 2.5x.
414 * configure: Regenerate (with autoconf 2.13 still).
415
40779a72
R
4162003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
417
418 * sh.md (truncdiqi2): Use andi opcode for immediate.
419 (reload_outdf+1,reload_outdf+2): Remove constraints.
420 (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
421 (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
422 (fipr, ftrv): Add .s suffix to opcode.
423
8a89dbd2
RS
4242003-12-04 Richard Sandiford <rsandifo@redhat.com>
425
426 PR target/13186
427
428 Revert all of the following patch, except the addition of
429 hook_bool_machine_mode_true:
430
431 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
432
433 * Makefile.in (targhooks.o, reload.o): Update dependencies.
434 (GTFILES): Add targhooks.c.
435 (gt-targhooks.h): New rule; depend on s-gtype.
436 * target.h (direct_pool_load_p): New hook.
437 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
438 (TARGET_INITIALIZER): Include it.
439 * targhooks.h (default_direct_pool_load_p): Declare.
440 (hook_bool_machine_mode_true): Declare.
441 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
442 gt-targhooks.h.
443 (pool_symbol): New variable.
444 (default_direct_pool_load_p): New function.
445 (hook_bool_machine_mode_true): New function.
446 * reload.c: Include target.h.
447 (find_reloads): If an alternative will force a constant into memory,
448 count an extra reload if constant pool symbols are not valid
449 addresses. If an alternative uses memory to move values between
450 registers, count the move as two reloads rather than one.
451 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
452 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
453
c743369c
MM
4542003-12-03 Mark Mitchell <mark@codesourcery.com>
455
456 * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
457 * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
458 HAVE_AS_TLS is true.
459 * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
460
60c1d0d8
JW
4612003-12-03 James E Wilson <wilson@specifixinc.com>
462
aedec8dd
JW
463 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
464
60c1d0d8
JW
465 * gcc-page.c (extra_order_size_tab): Correct comment.
466
32da7865
KH
4672003-12-03 Kazu Hirata <kazu@cs.umass.edu>
468
469 * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
470 instead of gen_push_h8300hs.
471 (pop): Call gen_pop_h8300hs_advanced instead of
472 gen_pop_h8300hs.
473 * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
474 * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
475 Tighten the predicate.
476 (*tablejump_h8300hs_normal): Tighten the predicate.
477 (push_h8300hs): Change to
478 push_h8300hs_advanced.
479 (pop_h8300hs): Change to pop_h8300hs_advanced.
480
ce6e2d90
EC
4812003-12-03 Eric Christopher <echristo@redhat.com>
482
483 * rtl.c: Fix typo.
484 * config/mips/mips.h: Ditto. Fix formatting.
485
4a423a9f
BE
4862003-12-04 Ben Elliston <bje@wasabisystems.com>
487
488 * future.options: Remove. Move to gnu.org web pages.
489
cfe79ecf
EC
4902003-12-03 Eric Christopher <echristo@redhat.com>
491
492 * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
493 from here...
494 * c-tree.h: to here.
495
a40c2961
JH
4962003-12-03 Jan Hubicka <jh@suse.cz>
497
498 PR optimization/12324
499 * toplev.c (rest_of_decl_compilation): Do not deffer when compiling
500 in unit-at-a-time mode.
501
8ecc63eb
JJ
5022003-12-03 Jakub Jelinek <jakub@redhat.com>
503
504 * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
505 read-only field if cleared is 0.
506
34cf946f
NN
5072003-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
508
509 * config.gcc: Mark obsolete targets for GCC 3.4.
510
eb158727
ZW
5112003-12-03 Zack Weinberg <zack@codesourcery.com>
512
513 * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
514 * config.in, configure.in: Regenerate.
515 * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
516 including iconv.h.
517
1fcc57f1
AM
5182003-12-03 Alan Modra <amodra@bigpond.net.au>
519
520 PR target/11229
521 * cse.c (cse_insn): Set classp using src_const_elt if
522 src_eqv_elt is NULL.
523
01c43039
RE
5242003-12-03 Richard Earnshaw <rearnsha@arm.com>
525
526 * gcse.c (reg_clear_last_set): New function.
527 (reg_set_info): If data is non-null, treat it as an sbitmap of
528 registers, set the bit for the register being set.
529 (compute_store_table): Allocate last_set_in with xcalloc. Do not
530 memset this array on each iteration. Pass reg_set_in_block[bb->index]
531 to note_stores while computing last_set_in instead of scanning
532 last_set_in after the first pass through the insns.
533 Clear last_set_in using reg_clear_last_set instead of explicitly
534 rescanning after each insn. If checking is enabled, assert that
535 last_set_in is completely zeroed after each bb has been processed.
536
85b89471
GK
5372003-12-02 Geoffrey Keating <geoffk@geoffk.org>
538
539 * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
540 never read-write.
541 <REG>: Delete incorrect comment.
542 <SET>: Remove 'use_flags' variable.
543
a0506b54
DE
5442003-12-03 David Edelsohn <edelsohn@gnu.org>
545
546 * function.c (assign_parms): Make sure parm PARALLEL combined
547 in reg is composed of more than one object and the mode really
548 produces a reg.
549
8ef33732
JH
5502003-12-03 Jan Hubicka <jh@suse.cz>
551
552 * i386.c (classify_argument): Make it 64bit clean.
553
7a808674
RS
5542003-12-02 Richard Sandiford <rsandifo@redhat.com>
555
556 * config/mips/mips.c (mips_output_external): Replace checks for
557 specific builtin-in functions with a check for DECL_BUILTIN_IN.
558
7e7c843f
RH
5592003-12-02 Richard Henderson <rth@redhat.com>
560
eb158727
ZW
561 * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
562 * tree.h (TREE_SET_CODE): Likewise.
563 * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
7e7c843f 564
1d3f6c9f
BE
5652003-12-02 Ben Elliston <bje@wasabisystems.com>
566
567 * dbxstclass.h: Rename from this ..
568 * xcoff.h: .. to this.
569 * xcoffout.c: Include xcoff.h.
570
3c987b8e
KG
5712003-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
572
573 * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
574
e3b66120 5752003-12-01 James Lemke <jim@wasabisystems.com>
eb158727 576
e3b66120
JL
577 * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
578
d9e7c8e3
RS
5792003-12-01 Roger Sayle <roger@eyesopen.com>
580
581 PR optimization/11634
582 * recog.c (split_insn): Factor test of INSN_P and handling of
583 set_noop_p out of here into the two callers.
584 (split_all_insns): Add INSN_P test and set_noop_p handling here.
585 If deleting a no-op set after reload that has a REG_UNUSED note,
586 mark the basic block as changed and recalculate life information.
587 (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
588 here.
589
b58b21d5
RS
5902003-12-01 Roger Sayle <roger@eyesopen.com>
591
592 PR optimization/12322
593 * gcse.c (struct ls_expr): Change type of hash_index from int to
594 unsigned int.
595 (hash_expr): Document hash_table_size parameter and wrap long line.
596 (ldst_entry): Calculate expression's hash_index and record in ptr.
597 (trim_ld_motion_mems): Use hash_index to search a single bucket
598 instead of scanning the entire hash_table. Remove the "del" local
599 variable and use the equivalent "expr == 0" instead. Change last
600 to be a pointer to the pointer to the current element, to simplify
601 and speed-up deleting from a linked list.
602
4582b849
JW
6032003-12-01 James E Wilson <wilson@specifixinc.com>
604
b3538cf2
JW
605 * doc/contrib.texi: Update David Mosberger.
606
98376d4a
JW
607 * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
608 of missing fields.
609
4582b849
JW
610 PR target/8407
611 * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
612 gen_rtx_REG to create new reg with argument mode.
613
47aeffac
SB
6142003-12-01 Steven Bosscher <stevenb@suse.de>
615
616 * ggc.h (struct alloc_zone): Move forward declaration up.
617 (new_ggc_zone): New function prototype.
618 (destroy_ggc_zone): Ditto.
619 * ggc-simple.c (new_ggc_zone): New function, does nothing.
620 (destroy_ggc_zone): Ditto.
621 * ggc-page.c (new_ggc_zone): New function, does nothing.
622 (destroy_ggc_zone): Ditto.
623 * ggc-zone.c (struct page_entry): Fix comment.
624 (ggc_alloc_typed): Use a switch statement instead of ifs.
625 (new_ggc_zone): New function to set up a new GC zone.
626 (destroy_ggc_zone): New function to remove a GC zone.
627 init_ggc): Use new_ggc_zone to set up the default zones.
628 (ggc_collect): Walk a list of zones, instead of just the
629 default zones. Report statistics using the zone name.
630
1bcec223
UW
6312003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
632
633 * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
634
28cb2b14
RS
6352003-12-01 Roger Sayle <roger@eyesopen.com>
636
637 PR optimization/12628
638 * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
639 * regclass.c (reg_scan): Include allocate_reg_info time in
640 TV_REG_SCAN. Minor clean-ups.
641 (reg_scan_update): Minor clean-ups.
642
bde5dd25
UW
6432003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
644
645 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
646
93868a8e
JW
6472003-12-01 James E Wilson <wilson@specifixinc.com>
648
649 * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
650 GR_ARG_FIRST.
651
dc170a87
ZW
6522003-12-01 Zack Weinberg <zack@codesourcery.com>
653
654 * common.opt: Remove -fgnu-linker.
655 * flags.h: Remove flag_gnu_linker.
656 * opts.c: Don't handle OPT_fgnu_linker.
657 * toplev.c: Don't initialize flag_gnu_linker.
658 Remove gnu-linker entry from f_options.
659 * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
660 Don't reset flag_gnu_linker.
661 * config/mips/mips.c (override_options): Likewise.
662 * doc/invoke.texi: Remove all mention of -fgnu-linker.
663
7297afa0 6642003-12-01 Daniel Berlin <dberlin@dberlin.org>
dc170a87 665
7297afa0
DB
666 * ggc-zone.c (ggc_pch_write_object): Calculate object size using
667 ggc_get_size (which accounts for large objects properly).
668
fccab17e
JS
6692003-12-01 Jeff Sturm <jsturm@one-point.com>
670
671 PR optimization/13024
672 * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
673 parameter.
674 (rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
675 declaration. Rebuild jump labels following local_alloc if necessary.
676 (rest_of_compilation): Remove rebuild_label_notes_after_reload
677 declaration. Don't pass rebuild_notes parameter to
678 rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
679 Don't rebuild jump labels.
680
095c3bbd
JL
6812003-12-01 Jeff Law <law@redhat.com>
682
683 * flow.c (count_or_remove_death_notes_bb): New. Extracted from
684 count_or_remove_death_notes.
685 (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
686
41439bf6
AK
6872003-12-01 Andreas Krebbel <krebbel1@de.ibm.com>
688
689 * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
690
0422e940
UW
6912003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
692
693 * reload.c (find_reloads_address): Split addresses of type
694 (plus (plus (reg) (reg)) (const_int)) only if one register
695 is either a valid base register or else one of the stack
696 frame related registers (sp/fp/ap).
697
80fcc7bc
SB
6982003-12-01 Steven Bosscher <stevenb@suse.de>
699
700 * function.c (update_epilogue_consts): Don't use PARAMS.
701 * rtl.h (web_main): Ditto.
702 * target.h (is_costly_dependence): Ditto
703
e82407b5
EB
7042003-12-01 Eric Botcazou <ebotcazou@libertysurf.fr>
705
706 PR middle-end/7847
707 * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
708 do not recheck that 'op0' is a MEM. Move comment. When testing for
709 unaligned objects, take also into account the alignment of 'op0' and
710 'mode1' if 'op0' is a MEM.
711
8786882b
GDR
7122003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
713
714 * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
715
53d60c04
KC
7162003-12-01 Kelley Cook <kcook@gcc.gnu.org>
717
718 * doc/install.texi: Note that fastjar is built with automake 1.7.x
719 and autoconf 2.57.
720
c3a77bf9
AM
7212003-12-01 Alan Modra <amodra@bigpond.net.au>
722
723 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
724 target_flags directly rather than using TARGET_* defines.
725
b97366d9
BE
7262003-11-30 Ben Elliston <bje@wasabisystems.com>
727
728 * doschk.c: Remove.
729
936b1317
RS
7302003-11-30 Richard Sandiford <rsandifo@redhat.com>
731
732 PR target/12727
733 * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
734 on 32-bit big-endian targets.
735
85a45cbb
KH
7362003-11-30 Kazu Hirata <kazu@cs.umass.edu>
737
738 * genemit.c (register_constraints): Remove.
739
f19a9af7
AK
7402003-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
741
dc170a87 742 * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
f19a9af7
AK
743 "iordi3"): Insns now use multiple letter constraints.
744 ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
745 covered by "*movdi_64".
746 ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
747 covered by "*movsi_zarch" and "*movsi_esa".
748 ("*movsi_zarch", "*movsi_!zarch"): New insns.
dc170a87 749 ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
f19a9af7
AK
750 by "*andsi3_zarch" and "anddi3".
751 ("*anddi3_ni"): Insn merged with "anddi3".
752 ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
753 ("*andsi3_zarch", "*andsi3_esa"): New insns.
754 ("*iordi3_oi"): Insn merged with "iordi3".
755 ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
756 ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
757
dc170a87 758 * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
f19a9af7
AK
759 merged to s390_single_part.
760 (s390_single_part): New function.
761 NOTE: Semantics have changed a bit. Now the value of the part must
762 be different from the others to get a non-negative return value.
dc170a87 763 (s390_extract_qi, s390_extract_hi): Functions merged to
f19a9af7
AK
764 s390_extract_part.
765 (s390_extract_part, s390_extra_constraint_str,
dc170a87
ZW
766 s390_const_ok_for_constraint_p): New functions. The L constraint got a
767 new meaning and the N constraint was added as a multiple letter
f19a9af7
AK
768 constraint.
769 (s390_extra_constraint): Function deleted.
770 (print_operand): New output modifier 'i' and 'j' added.
dc170a87 771 All uses of CONST_OK_FOR_LETTER_P were replaced by
f19a9af7
AK
772 CONST_OK_FOR_CONSTRAINT_P.
773
774 * config/s390/s390-protos.h: Function prototypes adapted.
775 * doc/md.texi: Documentation for new constraint letters added.
776
6a09dded
AS
7772003-11-30 Andreas Schwab <schwab@suse.de>
778
779 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
780
5583e33d
JW
7812003-11-29 James E Wilson <wilson@specifixinc.com>
782
348d71c7
JW
783 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
784 instead of in shared_name.
785
5583e33d
JW
786 * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
787 * reload1.c (reload): Re-add it here.
788
1ff8f81a
AM
7892003-11-30 Alan Modra <amodra@bigpond.net.au>
790
791 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
792 set SECTION_WRITE on TARGET_RELOCATABLE.
793
a1dce8d1
KH
7942003-11-29 Kazu Hirata <kazu@cs.umass.edu>
795
796 * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
797
f082d7a9
GN
7982003-11-28 Gunther Nikl <gni@gecko.de>
799
800 * config/m68k/m68k.c (MOTOROLA): Move from here...
801 * config/m68k/m68k.h (MOTOROLA): ... to here.
802 (OUTPUT_JUMP): Use do {...} while (0).
803 * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
804
c16202e1
GN
8052003-11-28 Gunther Nikl <gni@gecko.de>
806
807 * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
808 m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
809 MOTOROLA and USE_GAS.
810 * config/m68k/rtemself.h (MOTOROLA): Delete.
811 * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
812 * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
813
3f69c502
KH
8142003-11-29 Kazu Hirata <kazu@cs.umass.edu>
815
816 * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
817
ee312cd0
KC
8182003-11-29 Kelley Cook <kcook@gcc.gnu.org>
819
820 * Makefile.in (install-info): Install gccinstall.info too.
821
fd87a357
UW
8222003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
823
824 * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
825
d71a8c3b
UW
8262003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
827
828 * config/s390/s390.md ("movhi"): Do not emit extender pattern
829 when loading from a (MEM (ADDRESSOF ...)).
830 ("movqi"): Likewise.
831
65f0edec
JM
8322003-11-29 Joseph S. Myers <jsm@polyomino.org.uk>
833
834 PR c/10333
835 * c-parse.in (typespec_reserved_nonattr): Reject typeof on
836 bit-fields.
837
9c858681
RS
8382003-11-29 Richard Sandiford <rsandifo@redhat.com>
839
840 * stmt.c (expand_asm_operands): Check whether force_const_mem
841 succeeded.
842
26b0ad13
KG
8432003-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
844
845 * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
846 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
dc170a87 847
26b0ad13
KG
848 * config/alpha/gnu.h, config/alpha/linux.h,
849 config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
850 config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
851 config/i386/linux-aout.h, config/i386/linux.h,
852 config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
853 config/m68k/uclinux.h, config/mips/linux.h,
854 config/mn10300/linux.h, config/pa/pa-linux.h,
855 config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
856 config/sparc/linux.h, config/sparc/linux64.h,
857 config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
858 HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
859 all necessary assertions are included.
860
2c07f13b
JH
8612003-11-28 Jan Hubicka <jh@suse.cz>
862
863 * emit-rtl.c (set_used_flags): New.
864 (verify_rtx_sharing, verify_rtl_sharing): New.
865 (unshare_all_rtl_1): Rename to....
866 (unshare_all_rtl_in_chain): ... this one; make static.
867 (copy_rtx_if_shared): LABEL_REF chan be shared.
868 * ifcvt.c (unshare_ifcvt_sequence): New.
869 (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
870 noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
871 noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
872 noce_try_abs, noce_process_if_block, find_cond_trap
873 * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
874 Declare.
875
8207738d
KH
8762003-11-28 Kazu Hirata <kazu@cs.umass.edu>
877
878 * config/h8300/h8300.md: Fix a comment typo.
879
de081ebf
KH
8802003-11-28 Kazu Hirata <kazu@cs.umass.edu>
881
882 * config/h8300/h8300.md (*movsf_h8300h): Change to
883 *movsf_h8300hs.
884 (addsi_h8300): Change to *addsi_h8300.
885 (addsi_h8300h): Change to *addsi_h8300hs.
886 (subsi3_h8300): Change to *subsi3_h8300.
887 (subsi3_h8300h): Change to *subsi3_h8300hs.
888 (neghi2_h8300h): Change to *neghi2_h8300hs.
889 (negsi2_h8300h): Change to *negsi2_h8300hs.
890
be52ec1d
KH
8912003-11-28 Kazu Hirata <kazu@cs.umass.edu>
892
893 * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
894 constraint.
895 (*subhi3_h8300hs): Likewise.
896
ffa22984
DE
8972003-11-28 David Edelsohn <edelsohn@gnu.org>
898
899 * config/rs6000/rs6000.h (MASK_MFCRF): New.
900 (TARGET_MFCRF): Test target_flags, not processor type.
901 (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
902 Change Don't to Do not.
903 * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
904 to power4, 970, G5.
905
f3ea0706
R
9062003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
907
908 * cse.c (cse_set_around_loop): When changing a constant load
909 to a register -register copy, add a REG_EQUAL note.
910
a3d4c92f
RC
9112003-11-27 Randolph Chung <tausq@debian.org>
912 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
913
dc170a87 914 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
a3d4c92f
RC
915 insns. Use the regular call expander for the call to the profiler.
916 * pa.md (call_profiler): Delete.
917 (load_offset_label_address): New insn to load the address of the
918 current function for the profiler.
919 (lcla1, lcla2): New insns to output a code label and load its address.
920
a27b9e3c
KH
9212003-11-27 Kazu Hirata <kazu@cs.umass.edu>
922
923 * final.c (final_scan_insn): Remove commented-out code.
924
75043b67
NN
9252003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
926
927 * doc/install.texi: Remove ADAC reference and make accurate.
928
ef3b9941
KH
9292003-11-27 Kazu Hirata <kazu@cs.umass.edu>
930
931 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
932 (FUNCTION_VALUE_REGNO_P): Likewise.
933 * config/h8300/h8300.md: Define R0_REG.
934
80e58519
KH
9352003-11-27 Kazu Hirata <kazu@cs.umass.edu>
936
937 * config/h8300/h8300.c: Fix formatting.
938 * config/h8300/h8300.md: Likewise.
939
7e920754
KH
9402003-11-27 Kazu Hirata <kazu@cs.umass.edu>
941
c9ae693d 942 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
7e920754 943
8dae21e7
KH
9442003-11-27 Kazu Hirata <kazu@cs.umass.edu>
945
946 * config/h8300/h8300.md: Give names to anonymous insns.
947
da7959a8
KH
9482003-11-27 Kazu Hirata <kazu@cs.umass.edu>
949
950 * config/h8300/h8300.md (extendqisi2): Remove constraints.
951
f4314bb6
GN
9522003-11-27 Gunther Nikl <gni@gecko.de>
953
954 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
955
b483cfb7
EB
9562003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
957
958 PR optimization/13041
959 * final.c (frame_pointer_needed): Fix comment.
960 * reload1.c (reload): Decrease alignment of the frame
961 pointer if it was used for register allocation.
962
ecb63641
EB
9632003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
964
965 PR target/12900
966 * reg-stack (move_for_stack_reg): New prototype. Return
967 whether a control flow insn was deleted.
968 (subst_stack_regs_pat): Likewise, using the information provided
969 by move_for_stack_reg.
970 (subst_stack_regs): Likewise, using the information provided
971 by subst_stack_regs_pat.
972 (convert_regs_1): Record whether a control flow insn was deleted,
973 using the information provided by subst_stack_regs. Purge dead
974 edges only if a control flow insn was deleted.
975
316d0b19
EB
9762003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
977
978 PR middle-end/8028
979 PR middle-end/9890
980 PR middle-end/11151
981 PR middle-end/12210
982 PR middle-end/12503
983 PR middle-end/12692
984 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
985 as the base address to copy the memory arguments to.
986
034f2316
DS
9872003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
988
989 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
990 function aliases as functions.
991
f73ccc50
NN
9922003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
993
e0520fa7
NN
994 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
995 of ADAC.
996 * configure: Regenerate.
997
6ad5e585
NN
998 * Makefile.in: Remove references to ADAC.
999
f73ccc50
NN
1000 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
1001 * configure: Regenerate.
1002
6a151f87 10032003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
dc170a87 1004 Olivier Hainque <hainque@act-europe.fr>
6a151f87
EB
1005
1006 PR target/6466
1007 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
1008 (sparc_flat_compute_frame_size): Likewise.
1009 (sparc_flat_save_restore): Move prototype...
1010 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
1011 (save_regs): New prototype.
1012 (build_big_number): Likewise.
1013 (apparent_fsize): Change type to HOST_WIDE_INT.
1014 (actual_fsize): Likewise.
1015 (frame_base_offset): Likewise.
1016 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
1017 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1018 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
1019 to load a 64-bit constant.
1020 (sparc_nonflat_function_prologue): Change string descriptor to
1021 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
1022 (output_restore_regs): Change offset type to HOST_WIDE_INT.
1023 (sparc_nonflat_function_epilogue): Change string descriptor to
1024 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
1025 (output_sibcall): Change size type to HOST_WIDE_INT. Use
1026 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1027 (sparc_frame_info): Change types for several components.
1028 (sparc_flat_compute_frame_size): Update types according to previous
1029 change.
1030 (sparc_flat_function_prologue): Change string descriptor to
1031 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
1032 build_big_number.
1033 (sparc_flat_function_epilogue): Change offset type to int.
1034 Rename 'size1' into 'reg_offset1'. Change string descriptor to
1035 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
1036 limit to 4096 instead of 4095.
1037
1038 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
1039 HOST_WIDE_INT.
1040
dcb5fe8b 10412003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1be4cd1f
WH
1042
1043 * function.c: Make outer_function-chain external.
1044 * function.h: Likewise.
1045
21b807f1
RS
10462003-11-24 Richard Sandiford <rsandifo@redhat.com>
1047
1048 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
1049 using GNU ld.
1050 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
1051 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
1052 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
1053 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1054 (SUBTARGET_EXTRA_SPECS): Define.
1055 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1056 to __gcc_init and -fini function to __gcc_fini.
1057 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1058 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1059 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1060 * config/mips/t-iris6gld,
1061 * config/mips/irix6-crti.asm,
1062 * config/mips/irix6-crtn.asm: New files.
1063
e13e48e7
EC
10642003-11-24 Eric Christopher <echristo@redhat.com>
1065
1066 PR C/13014
1067 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1068 (start_function): Use.
1069 (c_push_function_context): Ditto.
1070 (c-pop_function_context): Ditto.
dc170a87 1071 (language_function): Move...
e13e48e7
EC
1072 * c-tree.h: ... here. Add x_in_iteration_stmt, and
1073 x_in_case_stmt.
1074 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1075 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1076 check for valid break or continue statment here...
1077 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1078 here. Change original errors to abort.
1079
8273c02d
JH
10802003-11-24 Jan Hubicka <jh@suse.cz>
1081
2c07f13b
JH
1082 * fold-const.c (fold): Do not return early when optimizing
1083 COMPONENT_REF and constant.
8273c02d 1084
0980ad79
KH
10852003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1086
1087 * config/h8300/h8300.md (tablejump_h8300): Change to
1088 *tablejump_h8300.
1089 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1090 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1091 (indirect_jump_h8300): Change to *indirect_jump_h8300.
1092 (indirect_jump_h8300h): Change to
1093 *indirect_jump_h8300hs_advanced.
1094 (indirect_jump_normal_mode): Change to
1095 *indirect_jump_h8300hs_normal.
1096
7ed7f009
KH
10972003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1098
1099 * config/h8300/h8300.md: Remove constraints from expanders.
1100
bc02597b
KH
11012003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1102
1103 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1104 stm_h8300s_2_advanced.
1105 (stm_h8300s_2_normal): New.
1106 (stm_h8300s_2): Likewise.
1107 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1108 (stm_h8300s_3_normal): New.
1109 (stm_h8300s_3): Likewise.
1110 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1111 (stm_h8300s_4_normal): New.
1112 (stm_h8300s_4): Likewise.
1113 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1114 (ldm_h8300s_2_normal): New.
1115 (ldm_h8300s_2): Likewise.
1116 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1117 (ldm_h8300s_3_normal): New.
1118 (ldm_h8300s_3): Likewise.
1119 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1120 (ldm_h8300s_4_normal): New.
1121 (ldm_h8300s_4): Likewise.
1122 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1123 (two peephole2's): New.
1124
8653a1ed
ZD
11252003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1126
1127 * genattrtab.c (simplify_cond): Update indices correctly.
1128 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1129 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1130 (check_attr_test, encode_units_mask, compute_alternative_mask,
1131 make_alternative_compare, simplify_and_tree,
1132 attr_rtx_cost, simplify_test_exp, gen_attr,
1133 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1134 * rtl.def (EQ_ATTR_ALT): New.
1135
75669493
ZD
11362003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1137
1138 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1139 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1140 New variables.
1141 (main): Initialize them.
1142 (find_attr): Canonicalize the attribute name string.
1143 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1144 string arguments.
1145 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1146 (check_attr_test, check_attr_value, make_length_attrs,
1147 write_length_unit_log, simplify_by_exploding, gen_attr,
1148 write_test_expr, write_attr_value, write_eligible_delay,
1149 write_complex_function, make_internal_attr,
1150 write_const_num_delay_slots): Changed due to change of type of
1151 find_attr.
1152 (fill_attr, evaluate_eq_attr, simplify_and_tree,
1153 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1154 strcmp_check.
1155
f24f0897
KH
11562003-11-23 Kazu Hirata <kazu@cs.umass.edu>
1157
32ee8548 1158 PR target/13122
f24f0897
KH
1159 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1160 normal mode.
1161 (pop): Call pop_h8300hs_normal in normal mode.
1162 * config/h8300/h8300.md: Likewise.
1163 (pushqi1_h8300hs_normal): New.
1164 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1165 (pushhi1_h8300hs_normal): New.
1166 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1167 (push_h8300hs_normal): New.
1168 (pop_h8300hs_normal): Likewise.
1169
11702003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
a5d8d874
ZD
1171
1172 * genattrtab.c (count_sub_rtxs): Removed.
1173
8c2a5582
RE
11742003-11-23 Richard Earnshaw <rearnsha@arm.com>
1175
1176 * recog.c (preprocess_constraints): Only zero those elements of
1177 recog_op_alt that are needed for this insn.
1178 * arm.c (note_invalid_constants): A function can't contain invalid
1179 constants if it has no constraints.
1180
cf2348cb
JH
11812003-11-22 Jan Hubicka <jh@suse.cz>
1182
1183 * i386.c (classify_argument): Pass __float128 in memory.
1184 (ix86_return_in_memory): Likewise.
1185 (ix86_libcall_value): Likewsie.
1186
dd4c3763
KH
11872003-11-22 Kazu Hirata <kazu@cs.umass.edu>
1188
1189 * config/h8300/h8300.c (dosize): Convert to ISO-C.
1190
24908375
R
11912003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
1192
1193 * flow.c (update_life_info): Amend comment about when a register
1194 can become dead.
1195
6f2aeb72
KC
11962003-11-21 Kelley Cook <kcook@gcc.gnu.org>
1197
1198 * doc/.cvsignore: Delete.
1199
d44c7e36
DB
12002003-11-21 Daniel Berlin <dberlin@dberlin.org>
1201 David Edelsohn <edelsohn@gnu.org>
1202
1203 * dwarf2out.c (add_location_or_const_value_attribute): Add support
1204 for PARALLEL.
1205
af8e5a0e
RO
12062003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1207
1208 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1209 (TARGET_LIBGCC2_CFLAGS): Define.
1210
1211 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1212 (__do_global_ctors): Likewise.
1213
23a44080
MW
12142003-11-21 Mark Wielaard <mark@klomp.org>
1215
1216 * doc/invoke.texi (-O2): Doesn't enable -fweb.
1217
9313cfdd
KH
12182003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1219
1220 * doc/invoke.texi: Mention dV and dZ.
1221
98edbb7a
KH
12222003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1223
1224 * doc/invoke.texi: Update dump file names.
1225 Remove de, dW, and dX.
1226
c862d589
JW
12272003-11-20 James E Wilson <wilson@specifixinc.com>
1228
1229 PR c/13133
1230 * reload1.c (reload): Delete special handling for setjmp.
1231
0eadf440
AT
12322003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
1233
1234 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1235 step too.
1236 * config/t-slibgcc-darwin: Adjust install path.
1237 * config/rs6000/t-darwin: Revert multilib matches since
1238 it is not used on darwin.
1239
c132886e
RH
12402003-11-20 Richard Henderson <rth@redhat.com>
1241
1242 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
1243 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
1244 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
1245 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
1246 * flow.c: Don't include ssa.h.
1247 (set_phi_alternative_reg): Remove.
1248 (calculate_global_regs_live): Don't call it.
1249 (mark_used_regs): Don't handle PHI.
1250 * gengtype.c (open_base_files): Don't reference ssa.h.
1251 * rtl.def (PHI): Remove.
1252 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
1253 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
1254 * opts.c (common_handle_option): Likewise.
1255 * toplev.c (f_options): Likewise.
1256 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
1257 (dump_file): Update to match.
1258 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
1259 (rest_of_handle_ssa): Remove.
1260 (rest_of_compilation): Don't call it.
1261 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
1262 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
1263 * doc/passes.texi (SSA optimizations): Remove.
1264
d116bdf8
BW
12652003-11-20 Bob Wilson <bob.wilson@acm.org>
1266
1267 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
1268 * configure: Regenerate.
1269
e75f9147
KC
12702003-11-20 Kelley Cook <kcook@gcc.gnu.org>
1271
1272 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
1273
3e7869c6
DM
12742003-11-20 David Mosberger <davidm@hpl.hp.com>
1275
18e06e11
JW
1276 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
1277 (SHLIB_LC): Define.
3e7869c6
DM
1278 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
1279 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
1280
531547e9
FJ
12812003-11-20 Fariborz Jahanian <fjahanian@apple.com>
1282 David Edelsohn <edelsohn@gnu.org>
1283
1284 * calls.c (expand_call): Allocate new temp in pass1.
1285 (store_one_arg): If PARALLEL, calculate excess using mode size of
e13e48e7 1286 rtvec elt.
531547e9
FJ
1287 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
1288 mode size of rtvec elt.
1289 * function.c (assign_parms): Use parm in register, if available.
1290
93352ff5
KH
12912003-11-20 Kazu Hirata <kazu@cs.umass.edu>
1292
1293 * config/h8300/lib1funcs.asm (MOVP): Remove.
1294 (ADDP): Likewise.
1295 (CMPP): Likewise.
1296
a72d4945
RE
12972003-11-20 Richard Earnshaw <rearnsha@arm.com>
1298
1299 * arm.c (use_return_insn): New argument, SIBLING. Support returning
1300 with a single instruction if the stack has been decremented by 4
1301 and we have a frame pointer. Update all callers.
1302 (output_return_instruction): Likewise.
1303 (arm_output_epilogue): Change argument to SIBLING. Calculate
1304 really_return from the new argument. Update all callers.
1305 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
1306 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
1307 pass the sibling call.
1308 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
1309 prototypes.
1310
a03ad584
JM
13112003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
1312
1313 * Makefile.in (extraclean): Delete.
1314 * configure.in (target_list): Remove extraclean.
1315 * configure: Regenerate.
1316 * doc/makefile.texi, doc/sourcebuild.texi: Update.
1317 * objc/Make-lang.in (objc.extraclean): Delete.
1318
49a41726
JM
13192003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
1320
1321 * Makefile.in (lang_checks): Add.
1322 (check-c++, check-f77, check-java, check-g++, check-g77,
1323 check-objc): Remove hardcoded targets.
1324 * doc/sourcebuild.texi: Document testsuite hooks.
1325 * objc/Make-lang.in (check-objc, lang_checks): Add.
1326
371e8c4f
SS
13272003-11-19 Scott Snyder <snyder@fnal.gov>
1328
1329 PR target/13131
1330 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
1331 flag, not a constant.
1332
2b49e0aa
KC
13332003-11-19 Kelley Cook <kcook@gcc.gnu.org>
1334
1335 * config/arc/arc-protos.h: Update to C90 prototypes.
1336 * config/arc/arc.c: Likewise.
1337 * config/arc/initfini.c: Likewise.
1338
3d4f0dab
AK
13392003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
1340
1341 * stmt.c (expand_goto): Memory clobbers added.
1342
b04a1b3b
AK
13432003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
1344
1345 * reload.c (find_reloads): Added missing type casts.
1346
f2d89bc9
JW
13472003-11-19 James E Wilson <wilson@specifixinc.com>
1348
1349 * combine.c (sets_function_arg_p): Delete unused function.
1350
b0e667aa
EC
13512003-11-19 Eric Christopher <echristo@redhat.com>
1352
1353 * reload1.c (reload): Revert 2 previous checkins.
1354
dd2cc6dc
NN
13552003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
1356
1357 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
1358 whether directive begins at the beginning of a line.
1359
09c55720
RS
13602003-11-19 Richard Sandiford <rsandifo@redhat.com>
1361
1362 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
1363
4550b19e
GP
13642003-11-19 Gerald Pfeifer <gp@suse.de>
1365
1366 * doc/install.texi (Specific): Remove information on old versions
1367 of glibc versus old versions of GCC.
1368
90db942b
RS
13692003-11-19 Richard SAndiford <rsandifo@redhat.com>
1370
1371 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
1372 the register lowpart is a TRULY_NOOP_TRUNCATION.
1373
d4c32b6f
RH
13742003-11-19 Richard Henderson <rth@redhat.com>
1375
1376 * config/i386/i386.c (print_reg): Handle QI and HI modes for
1377 non Q regs.
1378
f7a75b82
AT
13792003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
1380
1381 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
1382 specification file.
1383 * config/t-slibgcc-darwin: New file, libgcc build specification.
1384 * config/t-darwin: Add libgcc2 flag -fPIC.
1385 * config/rs6000/t-darwin: Multilib matches float.
1386 * libgcc-darwin.ver: New file, contains libgcc symbols.
1387
e2657a67
NN
13882003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
1389
1390 * config/ns32k/ns32k.h: Remove obsolete comment.
1391
b9c53150
RS
13922003-11-18 Roger Sayle <roger@eyesopen.com>
1393
1394 PR middle-end/11821
1395 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
1396 size for calls to libgcc's div & mod subroutines when using -Os.
1397
df964a18
JH
13982003-11-18 Jan Hubicka <jh@suse.cz>
1399
1400 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
1401
457ef797
ME
14022003-11-18 Marc Espie <espie@openbsd.org>
1403
1404 * config/rs6000/sysv4.h: OpenBSD hooks.
1405
beb0c2e0
RH
14062003-11-18 Richard Henderson <rth@redhat.com>
1407
1408 * expr.c (expand_expr): Don't look through constant arrays if
1409 they don't bind locally.
1410
e44846d6
RK
14112003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1412
1413 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
1414 when seeing if truncation or extension.
1415
628b6e8c
EC
14162003-11-17 Eric Christopher <echristo@redhat.com>
1417
1418 * reload1.c (reload): Fix previous change.
1419
47fcfa7b
SS
14202003-11-17 Scott Snyder <snyder@fnal.gov>
1421
1422 PR debug/11325
1423 * dwarf2out.c (struct die_struct): Add die_definition field.
1424 (add_AT_specification): New.
1425 (gen_subprogram_die, gen_variable_die,
1426 gen_struct_or_union_type_die): Use it.
1427 (prune_unused_types_mark): If we're marking a forward declaration,
1428 also mark the full definition, if it exists.
1429
37cd4bca
NC
14302003-11-16 Nick Clifton <nickc@redhat.com>
1431
1432 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
1433 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
1434 Remove prototype.
1435 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
1436 to xstormy16_build_builtin_va_list and make static.
457ef797 1437 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
37cd4bca 1438
c06d5c85
KH
14392003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1440
1441 * config/h8300/h8300-protos.h: Add the prototype for
1442 same_cmp_following_p.
1443 * config/h8300/h8300.c (same_cmp_following_p): New.
1444 * config/h8300/h8300.md (peephole2): Use it.
1445
a62a282b
KH
14462003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1447
1448 * config/h8300/h8300.md: Don't use REGNO when its operand is
1449 not guaranteed to be a REG.
1450
c988af2b
RS
14512003-11-16 Richard Sandiford <rsandifo@redhat.com>
1452
1453 * Makefile.in (expr.o): Depend on $(TARGET_H).
1454 * target.h (return_in_msb): New target hook.
1455 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
1456 (TARGET_CALLS): Include it.
1457 * calls.c (shift_returned_value): New function.
1458 (expand_call): Use it.
1459 * expr.c: Include target.h.
1460 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
1461 deciding what padding is needed. Change the name of the local
1462 padding variable from big_endian_correction to padding_correction.
1463 * stmt.c (shift_return_value): New function.
1464 (expand_return): Use it. Adjust memory->register copy in the same
1465 way as copy_blkmode_from_reg. Only change the return register's
1466 mode if it was originally BLKmode.
1467 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
1468 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
1469 (mips_fpr_return_fields): New, split out from mips_function_value.
1470 (mips_return_in_msb, mips_return_fpr_pair): New functions.
1471 (mips_function_value): Rework to use the functions above.
1472 * config/mips/irix6-libc-compat.c: Delete.
1473 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
1474
e0c99e15
KH
14752003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1476
1477 * doc/install.texi (--enable-checking): Update valgrind's URL.
1478
60731ce5
KH
14792003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1480
1481 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
1482 with -2147483647 - 1.
1483
24726b96
GP
14842003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
1485
1486 Fix links in online manuals.
1487 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
1488 (Precompiled Headers): @pxref to cpp, not cpp.info.
1489
7d60db05
JM
14902003-11-16 Jason Merrill <jason@redhat.com>
1491
1492 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
1493 files in each directory and TAGS files that include them for each
1494 front end.
1495
e40024ff
KH
14962003-11-15 Kazu Hirata <kazu@cs.umass.edu>
1497
1498 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
1499 3 of S2L.
1500 (modnorm): Likewise.
1501 (exitdiv): Look at bit 3 of S2L only.
1502
4cd0866d
KH
15032003-11-15 Kazu Hirata <kazu@cs.umass.edu>
1504
1505 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
1506 (DO_GLOBAL_DTORS_BODY): Likewise.
1507
4f3ce03f
JM
15082003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
1509
1510 * doc/install.texi (Prerequisites): Refine documentation of
1511 autoconf, automake and perl requirements. Document required
1512 gettext version.
1513
628b6e8c 1514<2003-11-14 Jason Merrill <jason@redhat.com>
7f3a6a92
JM
1515
1516 * function.c (assign_parms): Use TREE_TYPE to determine the real
1517 type of the argument object.
1518
584fb00b
KH
15192003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1520
1521 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
1522 iteration.
1523
8fecc9e9
FJ
15242003-11-14 Fariborz Jahanian <fjahanian@apple.com>
1525
1526 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
1527 New routine to save vararg registers on stack. Support for
1528 -mpowerpc64 in mixed mode.
1529
e6d98cb0
BI
15302003-11-14 Bernardo Innocenti <bernie@develer.com>
1531
1532 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
1533 for MOTOROLA versus MIT syntax. Improves readability and provides
1534 better compile-time error checking for both code paths.
1535
f2206911
KC
15362003-11-14 Kelley Cook <kcook@gcc.gnu.org>
1537
1538 * config/frv/frv-protos.h: Update for C90.
1539 * config/frv/frv.h: Likewise.
1540 * config/frv/frvbegin.c: Likewise.
628b6e8c 1541 * config/frv/frv.c: Likewise.
f2206911
KC
1542 (frv_adjust_field_align): Delete unused variable.
1543
e235d8bf
GK
15442003-11-14 Geoffrey Keating <geoffk@apple.com>
1545
39e63627
GK
1546 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
1547 to each place where TARGET_LONG_DOUBLE_128 is used with
1548 DEFAULT_ABI == ABI_AIX.
1549
e235d8bf
GK
1550 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
1551 message comply with GNU standards.
1552
f285d67b
RK
15532003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1554
1555 PR/6552
1556 * function.c (struct epi_info): New field const_equiv.
1557 (update_epilogue_consts): New function.
1558 (keep_stack_depressed): Clear new field and verify scratch register
1559 doesn't have it set.
1560 Call new function via note_stores.
1561 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
1562 Allow PLUS where second operand is register known set to constant.
1563 (emit_equiv_load): Write load using proper mode if source different.
1564 * config/mips/mips.md (return_internal): Put (return) first.
1565
2fea2a10
KH
15662003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1567
1568 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
1569
9fe7f443
KH
15702003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1571
1572 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
1573 registers.
1574 (divsi3): Likewise.
1575 (reti): Don't restore unused registers.
1576
f53100ef
NC
15772003-11-14 Nick Clifton <nickc@redhat.com>
1578
1579 * config/fr30/fr30.c: Include toplev.h
1580
86bdf071
RE
15812003-11-14 Richard Earnshaw <rearnsha@arm.com>
1582
1583 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
1584
6f5f2481
RE
15852003-11-14 Richard Earnshaw <rearnsha@arm.com>
1586
628b6e8c 1587 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
6f5f2481
RE
1588 function definition syntax.
1589
f2b7f367
EC
15902003-11-14 Eric Christopher <echristo@redhat.com>
1591
1592 * reload1.c (reload): Revert previous patch. Make
1593 check for assignment into reg_equiv_address stricter.
1594
15cc172b
AC
15952003-11-14 Arnaud Charlet <charlet@act-europe.fr>
1596
1597 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
1598
68c0ab4f
RS
15992003-11-14 Richard Sandiford <rsandifo@redhat.com>
1600
1601 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
1602 section names.
1603
f027e0a2
JM
16042003-11-14 Jason Merrill <jason@redhat.com>
1605
1606 PR middle-end/12526
1607 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
1608 * calls.c (call_expr_flags): New fn.
1609 * tree.h: Declare it.
1610
0f8db53e
KH
16112003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1612
1613 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
1614 (divmodsi3): Change the name to ___udivsi3.
1615 Update all callers.
1616
b982024e
KG
16172003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1618
1619 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
1620 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
1621 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
1622 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
1623 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
1624 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
1625 Const-ify and/or initialize automatic variables at declaration.
1626
ef1f2e12
KH
16272003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1628
1629 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
1630 of er4 with er3. Adjust all callers.
1631
a25d596a
AP
16322003-11-13 Andrew Pinski <apinski@apple.com>
1633
f2b7f367
EC
1634 * config/darwin.c (machopic_output_possible_stub_label):
1635 Allow stub symbol be not defined when outputting possible
a25d596a
AP
1636 stub label.
1637
ab7c6efd
KH
16382003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1639
1640 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
1641 instead of exitdiv.
1642 (___umodsi3): Likewise.
1643 (exitdiv): Do not restore any register.
1644 (reti): Restore registers.
1645
415294f0
SB
16462003-11-13 Steven Bosscher <stevenb@suse.de>
1647
1648 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
1649
c9b010ea
KH
16502003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1651
1652 * config/h8300/lib1funcs.asm: Fix comment typos.
1653
1a679679
KH
16542003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1655
1656 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
1657 unused registers. Don't jump to exitdiv.
1658 (umodsi3): Likewise.
1659
49012f5c 16602003-11-13 Mark Mitchell <mark@codesourcery.com>
dc170a87 1661 Kean Johnston <jkj@sco.com>
49012f5c
MM
1662
1663 PR c/13029
1664 * toplev.c (check_global_declarations): Do not warn about unused
1665 static consts.
1666
148a82c8
PP
16672003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
1668 Kazu Hirata <kazu@cs.umass.edu>
1669
1670 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
1671 the approximate quotient method.
1672
f9af39d0
RE
16732003-11-13 Richard Earnshaw <rearnsha@arm.com>
1674
1675 * combine.c (distribute_notes): When re-distributing the notes from
1676 an insn we are about to delete, ensure we can't end up with a cyclic
1677 list of notes.
1678
d76bc29c
EB
16792003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1680
1681 PR optimization/12926
1682 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
1683 the UNCHANGING_RTX_P flag on memory references to read-only
1684 components that are not addressable.
1685
239ca41f
KH
16862003-11-12 Kazu Hirata <kazu@cs.umass.edu>
1687
1688 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
1689 DenHighNonZero.
1690
fccc4eb2
JH
16912003-11-13 Jan Hubicka <jh@suse.cz>
1692
1693 PR opt/12275
1694 * c-decl.c (finish_decl): Use change_decl_assembler_name.
1695 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
1696 * varasm.c (make_decl_rtl): Likewise.
1697 * cgraph.c (change_decl_assembler_name): New function.
1698 * tree.h (set_decl_assembler_name): Kill dead declaration.
1699 (change_decl_assembler_name): Declare.
1700
1701 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1702 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1703
0c7c472e
KH
17042003-11-12 Kazu Hirata <kazu@cs.umass.edu>
1705
1706 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
1707 an unused register.
1708
c4740d5d
RS
17092003-11-12 Richard Sandiford <rsandifo@redhat.com>
1710
1711 PR bootstrap/12752
1712 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
1713 (MULTILIB_OSDIRNAMES): Reorder accordingly.
1714
d1d0c603
JJ
17152003-11-12 Janis Johnson <janis187@us.ibm.com>
1716
1717 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
1718 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
1719 (rs6000_emit_eh_reg_restore): Add
1720 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
1721 of vars_size and total_size to HOST_WIDE_INT.
1722 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
1723 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
1724 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
1725 values.
1726 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
1727 (rs6000_initial_elimination_offset): New, with code formerly in
1728 INITIAL_ELIMINATION_OFFSET.
1729 * rs6000.h (rs6000_stack_t): Remove.
1730 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
1731 rs6000_initial_elimination_offset.
1732 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
1733 rs6000_emit_eh_reg_restore.
1734
d5123bae
MS
17352003-11-12 Mike Stump <mrs@apple.com>
1736
1737 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
1738 is the argumnt we are processing so that warnings and errors
1739 will have that information.
1740 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
1741 * lang-hooks-def.h
1742 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
1743 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
1744 * langhooks.h (convert_parm_for_inlining): Likewise.
1745 * tree-inline.c (initialize_inlined_parameters): Compute and
1746 pass argnum down.
1747
3197c4fd
AS
17482003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
1749 Roger Sayle <roger@eyesopen.com>
1750
1751 PR optimization/12953
1752 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
1753 before switch by FUNCTION_CODE.
1754
c9389e79
RE
17552003-11-12 Richard Earnshaw <rearnsha@arm.com>
1756
1757 * arm.md (storehi): Avoid use of explicit subreg.
1758 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
1759
88f08cca
R
17602003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
1761
1762 * config/sh/sh.md (prefetch): New pattern.
1763
bbbbbbe7
EC
17642003-11-11 Eric Christopher <echristo@redhat.com>
1765
1766 * reload1.c (reload): Verify that addresses for
1767 reg_equiv_* are valid for the architecture.
1768
729bf8ab
EC
17692003-11-11 Eric Christopher <echristo@redhat.com>
1770
1771 * function.c (purge_addressof_1): Add libcall check.
1772 Remove test for cached replacements on fallback case.
1773 Simplify mode comparisons. Add libcall test for
1774 paradoxical subregs.
1775
f24f5831
KH
17762003-11-11 Kazu Hirata <kazu@cs.umass.edu>
1777
1778 * config/h8300/t-h8300: Fix an obsolete comment.
1779
0b69c29f
JW
17802003-11-11 James E Wilson <wilson@specifixinc.com>
1781
1782 * expmed.c (store_bit_field, extract_bit_field): Revert last two
1783 changes.
1784
3849e3a6
KH
17852003-11-11 Kazu Hirata <kazu@cs.umass.edu>
1786
1787 * config/h8300/lib1funcs.asm: Replace DenHighZero with
1788 DenHighNonZero.
1789
cc515291
JH
17902003-11-11 Jan Hubicka <jh@suse.cz>
1791
1792 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
1793 really_no_inline.
1794
4d595e43
JDA
17952003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1796
1797 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
1798 generating 64-bit code.
1799
f921c9c9
DE
18002003-11-10 David Edelsohn <edelsohn@gnu.org>
1801
1802 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
1803 accidental commit in previous change.
1804
ceba9fcb 18052003-11-10 Fariborz Jahanian <fjahanian@apple.com>
ceba9fcb 1806
f921c9c9 1807 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
ceba9fcb
FJ
1808 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
1809 address recognition.
1810 (macho_lo_sum_memory_operand): Routine to recognize macho-style
1811 address recognition.
1812
d0585b99
RH
18132003-11-10 Richard Henderson <rth@redhat.com>
1814
1815 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
1816
6ce4806b
MA
18172003-11-10 Matt Austern <austern@apple.com>
1818
1819 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
1820 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
1821 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
1822 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
1823 darwin_assemble_visibility instead of default.
729bf8ab 1824
1ec0c607
WH
18252003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1826
1827 PR target/12865
1828 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
1829 __enable_execute_stack only after writing onto the stack.
1830 (sparc64_initialize_trampoline): Likewise.
1831
ce4191ee
RS
18322003-11-09 Roger Sayle <roger@eyesopen.com>
1833
1834 * loop.c (check_dbra_loop): Try swapping the comparison operands
1835 of the loop condition to identify a suitable induction variable.
1836 * unroll.c (loop_iterations): Likewise.
1837
8b93ca2d
KG
18382003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1839
1840 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
1841 sparc64 #cpu and #machine assertions.
1842
757dc040
RH
18432003-11-09 Richard Henderson <rth@redhat.com>
1844
1845 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
1846
f7a01847
JH
18472003-11-09 Jan Hubicka <jh@suse.cz>
1848
ec89843e
JH
1849 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
1850
f7a01847
JH
1851 * cgraphunit.c (cgraph_expand_function): Use
1852 cgraph_possibly_inlined_p.
1853 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
1854
1855 * opts.c (common_handle_option): Do not set max-inline-insns.
1856 * params.def: Update comments.
1857 (PARAM_MAX_INLINE_INSNS): Kill.
1858 * invoke.texi (max-inline-insns): Kill.
1859
c76f4e8e
JM
18602003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1861
1862 PR c/3190
1863 PR c/8714
1864 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
1865 * invoke.texi: Update.
1866
cdc9103c
JDA
18672003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1868
1869 PR optimization/12630
1870 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
1871 Handle length computation 64-bit moves.
1872 (compute_clrstr_length, output_block_clear): Implement block clear.
1873 (output_block_move): Handle 64-bit moves.
1874 (pa_adjust_insn_length): Use compute_movstr_length and
1875 compute_clrstr_length.
1876 * pa.md (movstrsi): Revise operand order and comments. Don't use
1877 match_scratch.
1878 (movstrsi_internal): Delete.
1879 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
1880 and peephole2 patterns to transform prereload to postreload form.
1881 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
1882 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
1883 clrstrdi_postreload): New patterns for 64-bit block move, and block
1884 clear.
1885 * pa-protos.h (output_block_clear): New prototype.
1886
e139ff5b
AS
18872003-11-08 Andreas Schwab <schwab@suse.de>
1888
1889 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
1890 XCOFF_DEBUGGING_INFO.
1891
a37336cf
KG
18922003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1893
1894 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
1895
3d67ba1e
GK
18962003-11-07 Geoffrey Keating <geoffk@apple.com>
1897
8a1977f3
GK
1898 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
1899 redundant parens.
1900
3d67ba1e
GK
1901 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
1902 (find_file_in_dir): Likewise.
1903 (_cpp_find_file): Print message if no header file is found
1904 but an invalid PCH file was.
1905
30321c39
JM
19062003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1907
1908 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
1909 expressions as lvalues.
1910 (internal_build_compound_expr): Remove special handling for
1911 non-pedantic case.
1912 * doc/extend.texi: Document that all extended lvalues are now
1913 deprecated.
1914
047c6eac
GK
19152003-11-07 Geoffrey Keating <geoffk@apple.com>
1916
1917 PR 11654
1918 * dbxout.c (struct dbx_file): Do not save for PCH.
1919 (current_file): Likewise.
1920 (dbxout_init): Don't allocate struct dbx_file using GC.
1921 (dbxout_start_source_file): Likewise.
1922
1cd93a2a
FH
19232003-11-07 Falk Hueffner <falk@debian.org>
1924
1925 * config/alpha/elf.h, config/alpha/unicosmk.h,
1926 config/alpha/vms.h: Convert to ISO C90.
1927
4241d312
NN
19282003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
1929
1930 * config/arm/pe.h: Convert to ISO C90.
1931
bcc8cc82
R
19322003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
1933
1934 * sh-protos.h (sh_pch_valid_p): Declare.
1935 * sh.c ("intl.h"): Include.
1936 (TARGET_PCH_VALID_P): Override.
1937 (sh_target_switches): New variable.
1938 (target_switches): Define.
1939 (sh_pch_valid_p): New function.
1940
1941 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1942
d7222e38
JH
19432003-11-07 Jan Hubicka <jh@suse.cz>
1944
1945 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
1946 (x86_64_zero_extended_value): likewise.
1947
235d0d66
RS
19482003-11-07 Richard Sandiford <rsandifo@redhat.com>
1949
1950 * config/mips/mips.md (loadgp): Take $25 as a second operand.
1951 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1952
968b41a1
MA
19532003-11-06 Matt Austern <austern@apple.com>
1954
1955 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1956 field instead of hanging an attribute object off the decl.
1957 * tree.h (DECL_VISIBLITY): New accessor macro for
1958 symbol_visibility field in struct tree_decl.
1959 (enum symbol_visibility): Move definition to before tree_decl.
1960 (struct tree_decl): Define new two-bit field, symbol_visibility.
1961 (decl_visibility): Remove declaration.
1962 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1963 instead of decl_visibility.
729bf8ab 1964 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
968b41a1
MA
1965 decl_visibility.
1966 (decl_visibility): Remove.
729bf8ab 1967
63e292b7
UW
19682003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1969
1970 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1971 where register 14 will be saved.
1972
2858f73a
GK
19732003-11-06 Geoffrey Keating <geoffk@apple.com>
1974
1975 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1976 (USE_ALTIVEC_FOR_ARG_P): Likewise.
1977 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1978 Take a pointer as the CUM parameter. Update callers.
1979 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
1980 32-bit ABIs.
1981 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
1982 of vector parameters as named arguments of stdarg function.
1983 (function_arg): Likewise.
1984
1985 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1986 -maltivec is specified, not the non-existent -faltivec.
1987
8c17530e
UW
19882003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1989
1990 * config/s390/s390-protos.h (s390_function_value): Declare.
1991 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1992 (s390_return_in_memory): New function.
1993 (s390_function_value): New function.
1994 (s390_function_arg_float): Return false for all arguments larger
1995 than 8 bytes.
1996 (s390_function_arg_pass_by_reference): Likewise. Return true for
1997 all vector arguments.
1998 (s390_function_arg_integer): New function.
1999 (s390_function_arg_advance): Call it. Add sanity checks.
2000 (s390_function_arg): Likewise.
2001 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
2002 (LIBCALL_VALUE): Likewise.
2003 (RET_REG): Remove.
2004 (RETURN_IN_MEMORY): Remove.
2005
e88fb323
RS
20062003-11-06 Richard Sandiford <rsandifo@redhat.com>
2007
2008 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
2009 return type to HOST_WIDE_INT.
2010 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
2011 Make initialized a bool. Make register masks unsigned ints.
2012 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
2013 where appropriate.
2014 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
2015 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
2016
88d6a75f
RS
20172003-11-06 Richard Sandiford <rsandifo@redhat.com>
2018
2019 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
2020 negation.
2021
def49dc4
RS
20222003-11-06 Richard Sandiford <rsandifo@redhat.com>
2023
2024 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2025
c8e26ef4
MV
20262003-11-06 Momchil Velikov <velco@fadata.bg>
2027
95757874
MV
2028 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
2029 for VR4111 too.
c8e26ef4 2030
668f73d4
JH
20312003-11-06 Jan Hubicka <jh@suse.cz>
2032
2033 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
2034 missing casts.
2035
37783865
ZW
20362003-11-06 Zack Weinberg <zack@codesourcery.com>
2037
2038 * genmodes.c: Change the word "bitsize" to "precision" throughout.
2039 * machmode.def: Likewise.
2040 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
2041 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
2042 (GET_MODE_PRECISION): New macro.
2043 (mode_bitsize): Renamed mode_precision.
2044 * stor-layout.c (mode_for_size, smallest_mode_for_size):
2045 Use GET_MODE_PRECISION; clarify comments.
2046
01e97976
JM
20472003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2048
2049 * doc/install-old.texi: Remove old documentation of building
2050 cross-compilers.
2051 * doc/install.texi: Move some of it to here.
2052
9b49a0aa
PB
20532003-11-05 Per Bothner <pbothner@apple.com>
2054
f6d90f82 2055 PR preprocessor/12891
9b49a0aa
PB
2056 * c-opts.c (finish_options): Set include_cursor to disable premature
2057 calls to push_command_line_include from cpp_scan_nooutput.
2058 Fixes bug reported by DJ Delorie.
2059
2cf520bf
GK
20602003-11-05 Geoffrey Keating <geoffk@apple.com>
2061
f31bf321
GK
2062 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2063 code supporting old-style varargs.
2064
2cf520bf
GK
2065 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2066 an intermediate register for better optimisation.
2067
142d1f57
ZD
20682003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2069
f4dcab14 2070 PR optimization/10080
142d1f57
ZD
2071 * cfgloopanal.c (variable_initial_value, variable_initial_values,
2072 simple_loop_exit_p): Record the fact that initial value is extended
2073 from inner mode.
2074 (count_strange_loop_iterations, count_loop_iterations): Handle
2075 ivs that iterate in a narrower mode. Fix handling of overflows.
2076 Improve handling of NE conditions.
2077 (inverse, fits_in_mode_p): New static functions.
2078 (simple_increment): Detect variables that iterate in a narrower mode.
2079 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2080
af09332e
GK
20812003-11-05 Geoffrey Keating <geoffk@apple.com>
2082
a6cf80f2
GK
2083 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2084 error.
2085
af09332e
GK
2086 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2087 needs VRSAVE.
2088
0a49d02c
JM
20892003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2090
2091 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2092 conditional expressions as lvalues.
2093
488c98d8
KH
20942003-11-05 Kazu Hirata <kazu@cs.umass.edu>
2095
2096 * tsystem.h: Add the prototype of strlen.
2097 * unwind-pe.h (read_encoded_value_with_base): Add an
2098 appropriate cast to handle a case where the pointer size is
2099 smaller than sizeof (int).
2100
108b61d5
RS
21012003-11-04 Richard Sandiford <rsandifo@redhat.com>
2102
2103 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2104 (mips_delegitimize_address): Delete.
2105 (mips_gotoff_global, mips_load_got_page): Declare.
2106 (mips_load_got_global, mips_rewrite_small_data): Declare.
2107
2108 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2109 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2110 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2111 small_data_pattern. Remove CONST from const_arith_operand's entry.
2112
2113 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2114 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2115 (mips_constant_type): Delete.
2116 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2117 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2118 (NUM_SYMBOL_TYPES): New macro.
2119 (mips_address_type): Remove ADDRESS_INVALID.
2120 (machine_function): Add has_gp_insn_p.
2121 (mips_constant_info): Delete.
2122 (mips_address_info): Add the address type as an extra field. Replace
2123 the c field with symbol_type.
2124 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2125 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2126 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2127 (mips_split_const, mips_symbolic_constant_p): New functions.
2128 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2129 (mips_classify_address): Return true if the address is valid, storing
2130 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
2131 to test whether a LO_SUM address is allowed.
2132 (mips_symbol_insns): Return 0 for general mips16 symbols.
2133 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2134 Handle the new SYMBOL_GOTOFF_*s.
2135 (mips_address_insns): Update call to mips_classify_address.
2136 (mips_const_insns): Be more fussy about HIGH constants. Remove use
2137 of mips_classify_constant. Be more accurate about CONSTs.
2138 (mips_global_pic_constant_p): Delete.
2139 (const_arith_operand): Only accept CONST_INTs.
2140 (call_insn_operand): Remove call to mips_classify_constant.
2141 Let mips_symbolic_constant_p check for invalid offsets.
2142 (move_operand): Check for general_operands first. Only accept symbolic
2143 constants if they satisfy mips_symbolic_constant_p and cannot be split.
2144 (symbolic_constant): Use mips_symbolic_constant_p.
2145 (global_got_operand, local_got_operand): New predicates.
2146 (stack_operand): Update call to mips_classify_address.
2147 (mips_legitimate_address_p): Likewise.
2148 (mips_reloc, mips_lui_reloc): Delete.
2149 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2150 Use emit_move_insn.
2151 (mips_split_symbol, mips_unspec_address): New functions.
2152 (mips_unspec_offset_high): New function.
2153 (mips_load_got): Replace reloc argument with a symbol_type.
2154 Use mips_unspec_address to create the address and put it in a
2155 LO_SUM with the base register.
2156 (mips_load_got16, mips_load_got32): Delete.
2157 (mips_emit_high, mips_legitimize_symbol): Delete.
2158 (mips_gotoff_global): New function.
2159 (mips_load_got_page, mips_load_got_global): New functions.
2160 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2161 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
2162 Inline code to handle constants plus invalid offsets. Use
2163 mips_split_symbol to legitimize constant pool addresses.
2164 (mips_delegitimize_address): Delete.
2165 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2166 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
2167 (mips_subword): Pass memrefs through mips_rewrite_small_data.
2168 (mips_output_move): Remove use of mips_classify_constant.
2169 (mips_expand_call): Use mips_unspec_offset_high to calculate the
2170 high part of the GOT address for calls to global functions.
2171 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2172 and mips_hi_relocs[].
2173 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2174 Remove use of mips_classify_constant.
2175 (mips_reloc_string): Delete.
2176 (print_operand_reloc): New function.
2177 (print_operand_address): Update call to mips_classify_address.
2178 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2179 (small_data_pattern): New predicate.
2180 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2181 (mips_function_has_gp_insn): New function.
2182 (mips_global_pointer): Use it.
2183 (mips_gp_insn): Delete.
2184 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2185 single loadgp pattern to initialize $gp. Pass it the offset of _gp
2186 from the start of the current function.
2187 (mips16_gp_pseudo_reg): Revert last patch.
2188
2189 * config/mips/mips.md (RELOC_*): Delete.
2190 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2191 (got): New insn attribute.
2192 (type): Set to "load" if got == load.
2193 (length): Set to 4 if got == load, 8 if got == xgot_high.
2194 (lui[sd]i): Delete.
2195 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2196 (*got_disp[sd]i, *got_page[sd]i): Likewise.
2197 (*low[sd]i): Change constraints to "d". Add a new define_split to
2198 rewrite small data constants into LO_SUMs.
2199 (loadgp): New insns.
2200
bdc960c8
RO
22012003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2202
2203 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2204
15bb534e
DD
22052003-11-04 DJ Delorie <dj@redhat.com>
2206
2207 * config/v850/v850.md (mulhisi3): Expand the const_int case
2208 separately to avoid trying to sign extend the const.
2209
21e9fc47
RS
22102003-11-04 Richard Sandiford <rsandifo@redhat.com>
2211
2212 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2213 addresses to be shared.
2214 (force_const_mem): Return a copy of the pool entry.
2215
7807fcd9
AJ
22162003-11-03 Andreas Jaeger <aj@suse.de>
2217
2218 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2219
63069342
KC
22202003-11-03 Kelley Cook <kcook@gcc.gnu.org>
2221
2222 * Makefile.in (cpp.dvi): New target split from cpp.info.
2223 (gcc.dvi): New target split from gcc.info.
2224 (gccint.dvi): New target split from gccint.info.
2225 (cppinternals.dvi): New target split from cppinternals.info
2226 (gccinstall.info): New specific rule.
2227 (gccinstall.dvi): Likewise.
2228 (dvi): Move targets to $(docobjdir).
2229 ($(docobjdir)/%.dvi): New implicit rule.
2230
aef6a624
RK
22312003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2232
2233 * doc/gty.texi (tag, desc): Say more about role of desc values in
2234 selecting between tags.
2235
930177d9
AK
22362003-11-03 Alexander Kabaev <ak03@gte.com>
2237
2238 * real.c (encode_ieee_single): Ensure proper promotion.
2239
2b2de389
VR
22402003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2241
2242 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
2243 and Andrew Pinski.
2244
49ffe578
SP
22452003-11-03 Syd Polk <spolk@apple.com>
2246
2247 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
2248 marketing names to the list of supported processors.
2249 * config/rs6000/rs6000.h: Ditto.
2250 * doc/invoke.texi: Ditto.
2251 * config.gcc: Ditto.
2252
871a3122
RO
22532003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2254
2255 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
2256 Merge two substitutions.
2257 * fixinc/fixincl.x: Regenerate.
2258 Fixes PR bootstrap/12666.
2259
0968e7fa
JM
22602003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
2261
2262 * doc/install-old.texi: Remove VMS documentation.
2263
73c37dab
JH
22642003-11-03 Jan Hubicka <jh@suse.cz>
2265
2266 * i386.c (override_options): Remove hack enabling 128bit long double
2267 commited by accident.
2268
d8ccee1e
PB
22692003-11-02 Per Bothner <per@bothner.com>
2270
2271 * c-opts.c (needValue): Do cpp_find_main_file before processing
2272 any imacros flags, so pfile->main_file is set for the latter.
2273
ee208a59
AJ
22742003-11-03 Andreas Jaeger <aj@suse.de>
2275 Zack Weinberg <zack@codesourcery.com>
2276
2277 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
2278 (SYSCALLS.c.X-warn): Suppress warnings.
2279
ae2ea719
JDA
22802003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2281
2282 PR optimization/12845
2283 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
2284
9a623a65
ZW
22852003-11-02 Zack Weinberg <zack@codesourcery.com>
2286
2287 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
2288 * config/i386/i386.c (print_reg): Abort on a virtual register
2289 if code != -1; not if file == asm_out_file.
2290 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
2291 (DEBUG_PRINT_REG): Delete, unused.
2292
634879c8
AS
22932003-11-02 Andreas Schwab <schwab@suse.de>
2294
2295 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
2296 empty to avoid conflict with the definition from configure.
2297
31f0f571
RS
22982003-11-02 Roger Sayle <roger@eyesopen.com>
2299
2300 PR optimization/10817
2301 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
2302 (noce_try_move): New function to optimize an if-the-else into an
2303 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
2304 (noce_process_if_block): Attempt simplification with noce_try_move.
2305
2306 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
2307 and improvements to the optimizations of IF_THEN_ELSE expressions.
2308 (simplify_subreg): Silence signed/unsigned comparison warning.
2309
0938c9e8
RS
23102003-11-02 Richard Sandiford <rsandifo@redhat.com>
2311
2312 * Makefile.in (targhooks.o, reload.o): Update dependencies.
2313 (GTFILES): Add targhooks.c.
2314 (gt-targhooks.h): New rule; depend on s-gtype.
2315 * target.h (direct_pool_load_p): New hook.
2316 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
2317 (TARGET_INITIALIZER): Include it.
2318 * targhooks.h (default_direct_pool_load_p): Declare.
2319 (hook_bool_machine_mode_true): Declare.
2320 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
2321 gt-targhooks.h.
2322 (pool_symbol): New variable.
2323 (default_direct_pool_load_p): New function.
2324 (hook_bool_machine_mode_true): New function.
2325 * reload.c: Include target.h.
2326 (find_reloads): If an alternative will force a constant into memory,
2327 count an extra reload if constant pool symbols are not valid
2328 addresses. If an alternative uses memory to move values between
2329 registers, count the move as two reloads rather than one.
2330 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
2331 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
2332
e69cdc12
EB
23332003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
2334
2335 PR optimization/12799
2336 * postreload.c (reload_cse_move2add): Generate the add2
2337 patterns manually.
2338
0a9e65f9
EB
23392003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
2340
2341 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2342 Return 0 for all complex modes whose size is lesser or equal to
2343 a word. Add a ??? comment for the condition used with 16-byte
2344 aligned modes.
2345
d6665c33
KC
23462003-11-01 Kelley Cook <kcook@gcc.gnu.org>
2347
2348 * .cvsignore: Remove c-parse* and tradcif.c.
2349 * objc/.cvsignore: Delete.
2350
d234bf61
RS
23512003-11-01 Roger Sayle <roger@eyesopen.com>
2352
2353 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
2354 of NULL.
2355
0527bc4e
JDA
23562003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2357
f25b1930
JDA
2358 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
2359
4043d9c1
JDA
2360 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
2361
94d54276
JDA
2362 * collect2.c (scan_libraries): Fix typos.
2363
0527bc4e
JDA
2364 PR preprocessor/12847
2365 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
2366 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
2367 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
2368 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
2369 "CPP_".
2370
2f7b62ef
FJ
23712003-11-01 Fariborz Jahanian <fjahanian@apple.com>
2372
2373 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
2374 no_units calculation.
2375
ab08fce5
AJ
23762003-11-01 Andreas Jaeger <aj@suse.de>
2377
2378 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
2379 enumeration list.
2380
63482449
AS
23812003-11-01 Andreas Schwab <schwab@suse.de>
2382
2383 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
2384 prototypes.
2385 (SBSS_SECTION_FUNCTION): Likewise.
2386
7807fcd9 23872003-11-01 Andreas Jaeger <aj@suse.de>
6377248c
AJ
2388
2389 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
2390
97603db3
AT
23912003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
2392
2393 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
2394 prototypes.
2395
f1518966
AJ
23962003-11-01 Andreas Jaeger <aj@suse.de>
2397
2398 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
2399 (uw_frame_state_for): Constify variables.
2400 (extract_cie_info): Constify first argument.
2401
2402 * unwind-dw2-fde-darwin.c: Adjust prototype of
2403 _Unwind_Find_registered_FDE for recent changes.
2404 (examine_objects): Constify return value and local variable result.
2405 (_Unwind_Find_FDE): Constify return value and local variable ret.
2406
8e974c0e
PB
24072003-10-31 Per Bothner <pbothner@apple.com>
2408
2409 * c-opts.c (finish_options): Change to returns boolean - false iff
2410 the call to cpp_find_main_file fails.
2411 (c_common_init): Skip preprocess_file if finish_options failed.
2412 (c_common_parse_file): Break if finish_options failed.
8ecde51f 2413 Fixes PR preprocessor/12545.
8e974c0e 2414
72f03fde
JDA
24152003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2416
e31f8eda
JDA
2417 * aclocal.m4: Blacklist ultrix* for mmap file.
2418 * configure: Rebuilt.
2419
2b256a46
JDA
2420 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
2421 reg_parm_stack_space.
2422 * toplev.c (default_get_pch_validity): Fix warning.
2423
72f03fde
JDA
2424 * vax.c: Include toplev.h.
2425 (vax_init_libfuncs): Fix typo (umod).
2426 * vax.h (ASM_COMMENT_START): Define.
2427 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
2428
41ba7ed7
RS
24292003-10-31 Roger Sayle <roger@eyesopen.com>
2430
2431 PR middle-end/11968
2432 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
2433 confusing comment; distributivity isn't handled in expand_expr.
2434 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
2435 in distributivity, if wrap-around semantics are specified with
2436 -fwrapv.
2437
3d63de24
AM
24382003-11-01 Alan Modra <amodra@bigpond.net.au>
2439
2440 PR 12315
2441 * final.c (profile_function): Allow for NULL svrtx.
2442
24a52160
JDA
24432003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2444
2445 * pa.c (pa_select_section): Use new style declaration.
2446 * som.h (readonly_data): Likewise.
2447
38f391a5
KC
24482003-10-31 Kelley Cook <kcook@gcc.gnu.org>
2449
2450 * config/rs6000/rs6000.c: Update to C90 prototypes.
2451
fb14bc89
RE
24522003-10-31 Richard Earnshaw <rearnsha@arm.com>
2453
4a3a957b 2454 PR target/7513
fb14bc89
RE
2455 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
2456 code.
2457
6377248c 24582003-10-31 Andreas Jaeger <aj@suse.de>,
9a623a65
ZW
2459 Zack Weinberg <zack@codesourcery.com>
2460
2461
2462 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
2463 (__deregister_frame_info, __deregister_frame_info_bases):
2464 Constify void * argument.
2465 * unwind-dw2-fde.h (struct fde_vector):
2466 Constify 'orig_data' and 'array' fields.
2467 (__register_frame_info, __register_frame_info_bases)
2468 (__deregister_frame_info, __deregister_frame_info_bases):
2469 Constify void * argument.
2470 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
2471 return values, and casts of type fde *, struct dwarf_fde *,
2472 and struct dwarf_cie *.
2473 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
2474 (__deregister_frame_info, __deregister_frame_info_bases):
2475 Constify void * argument.
2476 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
2477 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
2478 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
2479 fde_split, SWAP, frame_downheap, frame_heapsort)
2480 (classify_object_over_fdes, add_fdes, linear_search_fdes,
2481 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
2482 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
2483 Constify arguments, local variables, return values, and casts
2484 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
2485 Use const pointer types in sizeof expressions, for clarity.
2486 * unwind-dw2-fde-glibc.c
2487 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
2488 (struct unw_eh_callback_data): Constify 'ret' field.
a30794da 2489
b78d48dd
FJ
24902003-10-31 Fariborz Jahanian <fjahanian@apple.com>
2491 David Edelsohn <edelsohn@gnu.org>
2492
2493 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
2494 (function_arg): Call it.
2495 (rs6000_function_value): Widen integral return value to mode based
2496 on TARGET_32BIT, not word_mode.
2497 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
8159dc20
FJ
2498 (UNITS_PER_ARG): New.
2499 (RS6000_ARG_SIZE): Use it.
b78d48dd 2500
3dc5f34a
GP
25012003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
2502
2503 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
2504 and gengtype-yacc.h.
2505
71c1543c
RE
25062003-10-31 Richard Earnshaw <rearnsha@arm.com>
2507
79b53543 2508 PR optimization/8896
71c1543c
RE
2509 * postreload.c (reload_combine): Check that REGY doesn't die in an
2510 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
2511
9295a326
JZ
25122003-10-31 Josef Zlomek <zlomekj@suse.cz>
2513
2514 PR/10239
2515 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
2516
5d693491
JZ
25172003-10-31 Josef Zlomek <zlomekj@suse.cz>
2518
2519 PR/11640
2520 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
2521 immediatelly before BARRIER.
2522
a2ae4a3d
KC
25232003-10-31 Kelley Cook <kcook@gcc.gnu.org>
2524
2525 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
2526
b1f9e314
RE
25272003-10-31 Richard Earnshaw <rearnsha@arm.com>
2528
2529 PR target/11271
2530 * reload.c (find_reloads_address): Handle any register in
2531 (PLUS (PLUS (REG) (REG)) (CONST_INT).
2532
c5d6d04a
RE
25332003-10-31 Richard Earnshaw <rearnsha@arm.com>
2534
6377248c 2535 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
c5d6d04a
RE
2536 ENABLE_GC_CHECKING not in GGC_POISON.
2537
b2c62c45
NN
25382003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
2539
2c4902b9
NN
2540 PR bootstrap/9863
2541 * configure.in: Bail out if awk is missing.
2542 * configure: Regenerate.
2543
b2c62c45
NN
2544 PR ada/12761
2545 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
2546 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
2547
c157f85c
RH
25482003-10-30 Richard Henderson <rth@redhat.com>
2549
2550 * c-objc-common.c (c_tree_printer): Handle types correctly.
2551 Factor code a bit.
2552
9373164a
KC
25532003-10-30 Kelley Cook <kcook@gcc.gnu.org>
2554
2555 * value-prof.c, web.c: Update to C90.
2556
d796429e 25572003-10-30 Eric Christopher <echristo@redhat.com>
69e4e6e9
EC
2558
2559 * function.c (purge_addressof_1): Add case for REG_RETVAL
9a623a65 2560 notes when modes are unequal.
69e4e6e9 2561
ac3ef3f5
JH
25622003-10-31 Jan Hubicka <jh@suse.cz>
2563
2564 * i386-modes.def: Add XFmode format adjustment.
2565
1199470c
JH
25662003-10-30 Jan Hubicka <jh@suse.cz>
2567
2568 * real.c (encode_ieee_extended): Back out previous patch.
2569
f8a1ebc6
JH
25702003-10-30 Jan Hubicka <jh@suse.cz>
2571
2572 * real.c (encode_ieee_extended): Initialize whole array.
2573 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
2574 * i386-modes.def: Change definitions of TFmode and XFmode.
9373164a
KC
2575 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
2576 code.
f8a1ebc6
JH
2577 (construct_container): Allow constructing of TFmode integer containers.
2578 (ix86_return_in_memory): XFmode is not returned in memory.
2579 (init_ext_80387_constants): Always use XFmode.
2580 (print_operand): Likewise.
2581 (ix86_prepare_fp_compare_regs): Likewise.
2582 (split_to_parts): Deal with TFmode.
2583 (split_long_move): Simplify.
2584 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
2585 (ix86_memory_move_cost): Do not confuse TFmode.
2586 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
2587 (IS_STACK_MODE): TFmode is not stack mode.
2588 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
2589 (VALID_SSE_REG_MODE): Allow TFmode.
2590 (VALID_FP_MODE_P): Disallow TFmode.
2591 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
2592 * i386.md (TFmode patterns): Kill.
2593 (movtf, motf_rex64): New patterns.
2594
00d4a6d4
RS
25952003-10-30 Richard Sandiford <rsandifo@redhat.com>
2596
2597 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
2598
2e1648b8
RS
25992003-10-30 Richard Sandiford <rsandifo@redhat.com>
2600
2601 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
2602 (mov_lwr, mov_swl, mov_swr): Likewise.
2603 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
2604
db964bde
RS
26052003-10-30 Richard Sandiford <rsandifo@redhat.com>
2606
2607 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
2608
4f1cad00
RH
26092003-10-30 Richard Henderson <rth@redhat.com>
2610
2611 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
2612 test for irix6 rather than preprocessor test.
2613
671ca9ec
RH
26142003-10-30 Richard Henderson <rth@redhat.com>
2615
2616 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
2617
545d16ff
UW
26182003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
2619
2620 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
2621 as a general flag that the return address register needs to be saved,
2622 not necessarily because of __builtin_return_addr (0).
2623 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
2624 remove special handling of zSeries machines.
69e4e6e9 2625 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
545d16ff 2626 register as a regular register on zSeries machines.
69e4e6e9 2627 (s390_reorg): Adjust calls to s390_split_branches and
545d16ff
UW
2628 s390_optimize_prolog.
2629 (s390_frame_info): On zSeries machines, do not assume the return
2630 register is always used. Update regs_ever_live with current data
2631 for the special registers.
2632 (s390_emit_epilogue): Use save_return_addr_p to determine whether
2633 the return register was saved.
2634 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
2635 RETURN_REGNUM fixed on zSeries machines.
2636 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
2637 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
2638 via ahi-jgne pair on zSeries machines.
2639 ("*doloop_di"): Likewise.
2640 ("*doloop_di_long"): Remove.
2641
577d6328
RE
26422003-10-30 Richard Earnshaw <rearnsha@arm.com>
2643
2644 * arm.c (arm_override_options): Revert change of arm_constant_limit
2645 when optimizing for size.
2646
e7824b3e
RH
26472003-10-29 Richard Henderson <rth@redhat.com>
2648
2649 * fold-const.c (fold_single_bit_test): Convert the input to the
2650 operational intermediate type.
2651
c35d187f
RH
26522003-10-29 Richard Henderson <rth@redhat.com>
2653
2654 * builtins.c (std_build_builtin_va_list): New.
2655 * expr.h (std_build_builtin_va_list): Declare.
2656 * defaults.h (BUILD_VA_LIST_TYPE): New.
2657 * system.h (BUILD_VA_LIST_TYPE): Poison.
2658 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
2659 * target.h (struct gcc_target): Add build_builtin_va_list.
2660 * tree.c (build_common_tree_nodes_2): Use it.
2661
69e4e6e9 2662 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
c35d187f
RH
2663 config/alpha/alpha.h, config/alpha/unicosmk.h,
2664 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
2665 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
2666 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
2667 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
2668 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
69e4e6e9 2669 config/mips/mips.h, config/rs6000/rs6000-protos.h,
c35d187f
RH
2670 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2671 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
2672 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2673 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
2674 config/xtensa/xtensa.h: Rename foo_build_va_list to
2675 foo_build_builtin_va_list; make it static. Define
2676 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
2677 Update protos.
2678
2679 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
2680 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
2681
3b6c3bb0
JW
26822003-10-29 James E Wilson <wilson@specifixinc.com>
2683
2684 * recog.c (asm_operand_ok): Add missing break after case 'X'.
2685 Change if statements to else if statements in default case.
2686 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
2687 in comment.
2688 (constrain_operands_cached): Likewise.
2689 (constrain_operands): Change if statements to else if statements in
2690 default case.
2691 * reload.c (find_reloads): Likewise.
2692
a126dc3a
RH
26932003-10-29 Richard Henderson <rth@redhat.com>
2694
2695 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
2696 shifts and rotates.
2697
9b731bbb
AM
26982003-10-30 Alan Modra <amodra@bigpond.net.au>
2699
2700 * config/rs6000/rs6000.md: Remove duplicate pattern.
2701
a207b594
HPN
27022003-10-29 Hans-Peter Nilsson <hp@axis.com>
2703
c4361cd7
HPN
2704 * real.c (do_divide): Initialize result with a 0.
2705
a207b594
HPN
2706 * configure.in <enable-checking for valgrind>: Look for
2707 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
2708 if it exists.
2709 * configure, config.in: Regenerate.
2710 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
2711 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
2712 #elif for other alternatives.
2713 * ggc-page.c: Ditto.
2714 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
2715 include structure from ggc-common.c.
2716
cb4d476c
JDA
27172003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2718
2719 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
2720 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
2721 * pa.c (pa_adjust_insn_length): Check for btable branches using
2722 attribute TYPE_BTABLE_BRANCH.
2723 (pa_reorg): Simplify.
2724 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
2725 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
2726 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
2727 * pa.md (btable_branch): New instruction type.
2728 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
2729 btable branches.
2730 (define_delay): Add btable branches to insn types that may have an
2731 insn in the delay position.
2732 (Z2, Z3): Add btable branch to list.
2733 Simplify unamed pattern set copy pic_label_operand to register. Add
2734 PA 2.0 variant.
2735 (short_jump): New jump for use in branch tables.
2736 (casesi, casesi0): Revise for new branch table formats.
2737 (casesi32, casesi32p, casesi64p): New casesi patterns.
2738 (indirect_jump): Move.
2739
c1aa3958
DE
27402003-10-29 David Edelsohn <edelsohn@gnu.org>
2741
2742 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
2743 !TARGET_POWERPC64.
2744 (UNITS_PER_GPR_WORD): Delete.
2745 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
2746 (HARD_REGNO_MODE_OK): Same.
2747 (CLASS_MAX_NREGS): Same.
2748
e08fde98
JDA
27492003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2750
2751 * pa.h (ASM_COMMENT_START): Define.
2752
9fcc6bf6
ZW
27532003-10-29 Zack Weinberg <zack@codesourcery.com>
2754
2755 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
2756 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
2757 component, not zero.
2758
9585b0f7
AS
27592003-10-29 Andreas Schwab <schwab@suse.de>
2760
2761 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
2762
69494148
EB
27632003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2764
2765 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2766 Never return 1 for complex integral modes whose size is lesser or
2767 equal to a word.
2768 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
2769 in the comment.
2770 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
2771 modes.
f2225d74
EB
2772 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
2773 greater than 16 bytes by reference.
69494148 2774
b6a41a62
RK
27752003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2776
2777 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
2778 not TARGET_ILP32.
2779 (ia64_initialize_trampoline): Use globalize_label target call.
2780
e9da8a5a
AS
27812003-10-29 Andreas Schwab <schwab@suse.de>
2782
2783 * doc/install.texi (Building): Add a sentence about building Ada
2784 for a canadian cross.
2785
24ea7948
ZW
27862003-10-28 Zack Weinberg <zack@codesourcery.com>
2787
2788 * config/ia64/ia64.c (cmptf_libfunc): New static.
2789 (ia64_expand_compare): Add logic to open-code calls to
2790 _U_Qfcmp for TFmode comparisons.
2791 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
2792 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
2793 never be generated anymore.
2794 * config/ia64/ia64.md (cmptf): New expander.
2795
b38ba463
ZW
27962003-10-28 Zack Weinberg <zack@codesourcery.com>
2797
2798 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
2799 (*sqrt_approx): New instruction pattern for approximate square roots.
2800 (*setf_exp_xf): New instruction pattern for exponentiation.
2801 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
2802 (sqrtsf2_internal_thr): New define_and_split implementing
2803 throughput-optimized inline calculation of SFmode square root.
2804 (sqrtdf2_internal_thr): Likewise for DFmode.
2805 (sqrtxf2_internal_thr): Likewise for XFmode.
2806 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
2807 latency- and throughput-optimized square root algorithms.
2808 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
2809 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
2810 New macros.
2811 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
2812 -minline-sqrt-max-throughput.
2813 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
2814 and -minline-sqrt-max-throughput are given, notify the user
2815 that both options cannot be used simultaneously.
2816 If -minline-sqrt-min-latency is given, notify the user that
2817 this mode is not yet implemented.
2818 (rtx_needs_barrier): Reformat initial comment to obey
2819 72-character width limit. Support UNSPEC_SETF_EXP and
2820 UNSPEC_FR_SQRT_RECIP_APPROX.
2821
e2d0915c
AM
28222003-10-29 Alan Modra <amodra@bigpond.net.au>
2823
2824 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
2825 moves.
2826
06ba5854
FS
28272003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2828
2829 PR target/11598
2830 PR libgcj/10610
2831 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
2832
699a4925
RE
28332003-10-28 Richard Earnshaw <rearnsha@arm.com>
2834
2835 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
b38ba463 2836 an extra stack adjustment insn if the stack pointer is already
699a4925
RE
2837 pointing at the right place.
2838 (use_return_insn): Allow a return insn to be used when we have a
2839 frame pointer if the stack pointer is in the right place.
2840 (output_return_instruction): Handle it.
2841
578e8170
AJ
28422003-10-28 Andreas Jaeger <aj@suse.de>
2843
2844 * ggc-zone.c (check_cookies): Add missing variable.
2845 Add void to prototypes.
2846
525996eb
KG
28472003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2848
2849 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
2850 * crtstuff.c (__do_global_ctors_1): Move prototype.
2851 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
2852 appropriate.
2853 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
2854 Mark parameter with __attribute__((unused)).
2855
40fe4dd5
ZW
28562003-10-27 Zack Weinberg <zack@codesourcery.com>
2857
2858 * c-decl.c (pushdecl): Clarify comment.
2859
d0a74d7e
AC
28602003-10-27 Arnaud Charlet <charlet@act-europe.fr>
2861
436d7715
AC
2862 * doc/install.texi: Update instructions for Ada cross builds
2863
d0a74d7e
AC
2864 PR ada/5909:
2865 * doc/sourcebuild.texi: Document Ada test suite.
2866
e1ffc70a
SC
28672003-10-27 Stephane Carrez <stcarrez@nerim.fr>
2868
2869 * config/m68hc11/m68hc11.c: Convert to ISO C90.
2870 * config/m68hc11/m68hc11-protos.h: Likewise.
2871
aa888d0f 28722003-10-27 Jan Hubicka <jh@suse.cz>
65b19349 2873 Eric Botcazou <ebotcazou@libertysurf.fr>
aa888d0f 2874
65b19349 2875 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
aa888d0f
JH
2876 webizer pass dump.
2877
b19ee4bd
JJ
28782003-10-27 Jakub Jelinek <jakub@redhat.com>
2879 Jan Hubicka <jh@suse.cz>
2880
2881 * reload1.c (struct elim_table): Change offset, initial_offset and
2882 previous_offset fields to HOST_WIDE_INT.
2883 (offsets_at): Change from int to HOST_WIDE_INT.
2884 (reload): Adjust offsets_at initialization.
2885 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
2886 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
2887 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
2888 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
2889 if TARGET_64BIT.
2890 (pro_epilogue_adjust_stack): New function.
2891 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
2892 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
2893 (pro_epilogue_adjust_stack_1): Remove * in front of name.
2894 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
2895 (pro_epilogue_adjust_stack_rex64_2): New insn.
2896
2897 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
2898
2899 * config/i386/i386.c (ix86_expand_call): Replace 40 with
2900 FIRST_REX_INT_REG + 3 /* R11 */.
2901
501e79ef
RH
29022003-10-26 Richard Henderson <rth@redhat.com>
2903
2904 * config/alpha/alpha.md (attr cannot_copy): New.
2905 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
2906 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
2907 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
2908
b6f61163
DB
29092003-10-26 Daniel Berlin <dberlin@dberlin.org>
2910
2911 * ggc-zone.c: New file, zone allocating collector.
2912 * configure: Accept zone option for --with-gc
2913 * configure.in: Ditto.
2914 * ggc.h (ggc_pch_count_object): Pass bool indicating
2915 stringiness. Update all callers.
2916 (ggc_pch_alloc_object): Ditto.
2917 (ggc_pch_write_object): Ditto.
2918 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2919 type.
2920 (ggc_alloc_rtvec): Ditto.
2921 (ggc_alloc_tree): Use zone allocation, since some things using this macro
2922 aren't a single typecode.
2923 * ggc-none.c (ggc_alloc_typed): New function.
2924 (ggc_alloc_zone): Ditto.
2925 * ggc-page.c: Ditto on both functions.
2926
57047680
GN
29272003-10-26 Gunther Nikl <gni@gecko.de>
2928
2929 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2930 frame information is always valid.
2931 (m68k_output_function_prologue): Remove superfluous TARGET_68881
2932 test; fix formatting.
2933
85802504
GN
29342003-10-26 Gunther Nikl <gni@gecko.de>
2935
2936 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2937 reg_rev_mask computation.
2938 (m68k_output_function_prologue): Fix usage of current_frame (one typo
2939 and one missing); use reg_rev_mask not reg_mask.
2940 (m68k_output_function_epilogue): Fix usage of current_frame;
2941 use fpu_rev_mask not fpu_mask.
2942
a89e3f21
BI
29432003-10-26 Bernardo Innocenti <bernie@develer.com>
2944
2945 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
40fe4dd5 2946 num_saved_regs, use current_frame.reg_no instead.
a89e3f21 2947
24f9c4df
BI
29482003-10-26 Bernardo Innocenti <bernie@develer.com>
2949 Paul Dale <pauli@snapgear.com>
2950
2951 * doc/extend.texi (interrupt_handler): Add m68k to the
2952 list of processors implementing it.
2953 * doc/invoke.texi (-msep-data): Document new m68k option.
2954 (-mno-sep-data): Likewise.
2955 (-mid-shared-library): Likewise.
2956 (-mno-id-shared-library): Likewise.
2957 (-mshared-library-id): Likewise.
2958
36f9cf4a
AJ
29592003-10-26 Andreas Jaeger <aj@suse.de>
2960
2961 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2962 comparison.
2963 (_Unwind_SetGR): Likewise.
2964
88704996
AJ
29652003-10-26 Ottavio Campana <ottavio@campana.vi.it>
2966
9f6e5a8c 2967 PR target/12690
88704996
AJ
2968 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2969
29702003-10-26 Gunther Nikl <gni@gecko.de>
97c55091
GN
2971
2972 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2973 comment from here to...
2974 (m68k_save_reg): ...here. Fix comment formatting.
2975 (m68k_output_function_prologue): Fix comment formatting.
2976 (m68k_output_function_epilogue): Likewise.
2977 (const_method): Likewise.
2978
b36c208a
KH
29792003-10-26 Kazu Hirata <kazu@cs.umass.edu>
2980
2981 * toplev.c (default_get_pch_validity): Guard the use of
2982 target_options with #ifdef TARGET_OPTIONS.
2983 (default_pch_valid_p): Likewise.
2984
38f9cd4c
AJ
29852003-10-26 Andreas Jaeger <aj@suse.de>
2986 Zack Weinberg <zack@codesourcery.com>
2987 Andreas Tobler <toa@pop.agri.ch>
2988
2989 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2990 (output_die): Likewise.
2991 (print_die): Likewise.
2992
d7d4cd78
AJ
29932003-10-26 Andreas Jaeger <aj@suse.de>
2994
0ab5b679
AJ
2995 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2996 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2997 dwarf2out.c change.
2998
d7d4cd78
AJ
2999 * toplev.c (default_pch_valid_p): Fix warning.
3000
077a148b
RS
30012003-10-25 Roger Sayle <roger@eyesopen.com>
3002
3003 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
3004 RTL nodes. If an operator's operands are unchanged, return the
3005 original argument unchanged.
3006
81bfdfbe
GS
30072003-10-26 Graham Stott <graham.stott@btinternet.com>
3008
3009 Fix bootstrap failure.
3010 * expmed.c (store_bit_field): Don't compare bitsize against
3011 modes with zero bit-size.
3012
3013 (extract_bit_field): Likewise
3014
799f628a
JH
30152003-10-25 Jan Hubicka <jh@suse.cz>
3016
3017 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
3018 (cfa_loc): Likewise.
3019 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
3020 HOST_WIDE_INT.
3021 (args_size, old_args_size): change type to HOST_WIDE_INT.
3022 (dwarf2out_def_cfa, dwarf2out_args_size,
3023 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
3024 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
3025 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
3026 AT_offset): Use HOST_WIDE_INT.
3027 (based_loc_descr): offset is HOST_WIDE_INT.
3028 (add_data_member): Likewise.
3029 (add_const_value_attribute): Simplify.
3030
fe9f516f
RH
30312003-10-25 Richard Henderson <rth@redhat.com>
3032
40fe4dd5
ZW
3033 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
3034 (ix86_expand_prologue): Save and restore eax around stack probe
3035 if it's live.
fe9f516f 3036
bd18496b
JH
30372003-10-25 Jan Hubicka <jh@suse.cz>
3038
3039 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
3040
b3cd99cd
EB
30412003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3042
3043 PR target/12712
3044 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
3045 if the block has no predecessors.
3046 (convert_regs_2): Document the problem with successors whose
3047 only predecessor is the block to be processed.
3048 (convert_regs): Don't create the arbitrary input stack here.
3049
02befdf4
ZW
30502003-10-24 Zack Weinberg <zack@codesourcery.com>
3051
3052 * genmodes.c (struct mode_data): Add contained and next_cont
3053 fields.
3054 (complete_mode): Maintain linked list of modes that have a
3055 given component.
3056 (emit_mode_unit_size): Delete.
3057 (emit_mode_nunits): New.
3058 (emit_insn_modes_c): Update to match.
3059 (emit_mode_adjustments): Propagate size and alignment
3060 adjustments from component modes to their containers.
3061 * machmode.h (mode_unit_size): Delete.
3062 (mode_nunits): New.
3063 (GET_MODE_NUNITS): Just return the value in the table.
3064 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3065 GET_MODE_SIZE.
3066 * expmed.c (store_bit_field, extract_bit_field): Can use a
3067 plain move instruction if bitsize >= GET_MODE_BITSIZE of
3068 destination/source mode, respectively.
3069 * varasm.c (assemble_real): Write out the full size of the
3070 constant, not just its bitsize.
3071 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3072
3073 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3074 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3075 alignment of XF and TF modes in compliance with ia64 ABIs.
3076 Can now hardwire the format of both modes.
3077 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3078 (general_tfmode_operand, destination_tfmode_operand)
3079 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3080 general_xfmode_operand, destination_xfmode_operand,
3081 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3082 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3083 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
3084 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3085 __float128.
3086 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3087 Change TFmode to XFmode wherever appropriate. Remove all
3088 references to INTEL_EXTENDED_IEEE_FORMAT.
3089 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3090 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3091 (PREDICATE_CODES): Update to match function renames.
3092 * config/ia64/ia64.md: Change TF to XF throughout; rename all
3093 patterns to match. Remove all references to
3094 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
3095 function renames.
3096 * config/ia64/ia64-protos.c: Update all prototypes to match
3097 renamed functions.
3098 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3099 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3100 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3101 __divtf3; keep old name for backward compatibility.
3102 (L__compat): New section providing forwarding stubs for
3103 __fixtfti, __fixunstfti, __floattitf.
3104 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3105
7bb1ad93
GK
31062003-10-24 Geoffrey Keating <geoffk@apple.com>
3107
3108 PR 10757
3109 * c-pch.c: Include target.h. Improve comments.
3110 (struct c_pch_validity): Add target_data_length.
3111 (pch_init): Add target's validity data.
3112 (c_common_valid_pch): Check target's validity data.
3113 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3114 (TARGET_PCH_VALID_P): New.
3115 (TARGET_INITIALIZER): Add new fields.
3116 * target.h: Include tm.h.
3117 (struct gcc_target): Add get_pch_validity, pch_valid_p.
3118 * toplev.h (default_get_pch_validity): New prototype.
3119 (default_pch_valid_p): New prototype.
3120 * toplev.c (default_get_pch_validity): New routine.
3121 (default_pch_valid_p): New routine.
3122 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
3123 target.h with $(TARGET_H).
3124 (c-pch.o): Add TARGET_H.
3125 * doc/tm.texi (PCH Target): New node.
3126 (TARGET_GET_PCH_VALIDITY): Document.
3127 (TARGET_PCH_VALID_P): Document.
3128
65455962
KC
31292003-10-24 Kelley Cook <kcook@gcc.gnu.org>
3130
3131 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
3132 and $(docdir)/include from any *.texi dependencies.
3133 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3134 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3135 ($(docobjdir)/%.7): Likewise.
3136 (%.pod): New implicit rule.
02befdf4 3137 (cpp.pod): New dependency only rule.
65455962
KC
3138 (gcc.pod): New intermediate rule with dependencies and commands.
3139 (gfdl.pod): Likewise.
3140 (fsf-funding.pod): Likewise.
3141
7a24bb87
NN
31422003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
3143
3144 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3145 related code.
3146 * fixinc/fixinc.ptx: Remove.
3147 * fixinc/fixinc.svr4: Remove.
3148
c19ec8f9
UW
31492003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3150
3151 * config/s390/s390.c (load_multiple_operation): Allow both SImode
3152 and DImode if word_mode is DImode.
3153 (store_multiple_operation): Likewise.
3154 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3155 ("*load_multiple_di"): Allow only if word_mode == DImode.
3156 ("movqi"): Use LLGC whenever TARGET_ZARCH.
3157 ("fix_truncdfsi2"): Fix incorrect temporary size.
3158 ("fix_truncsfsi2"): Likewise.
3159 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3160 string for function return value operand.
3161 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3162
88682ff6
JM
31632003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
3164
3165 * c-parse.in (array_declarator): Use expr_no_commas.
3166 Fixes PR c/11943.
3167
3d39f007
RS
31682003-10-24 Richard Sandiford <rsandifo@redhat.com>
3169
3170 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3171 associated includes in #ifndef inhibit_libc.
3172
f9225794
RS
31732003-10-24 Roger Sayle <roger@eyesopen.com>
3174
3175 * doc/libgcc.texi: Document some more of the libgcc API.
3176
c769a35d
RE
31772003-10-24 Richard Earnshaw <rearnsha@arm.com>
3178
3179 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3180 comparing a constant with small negative numbers and add costing
3181 for constants in conjunction with AND.
3182 (note_invalid_constants): Tidy previous change.
3183 (thumb_cmp_operand): Tidy.
3184 (thumb_cmpneg_operand): New function.
3185 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3186 for size.
3187 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3188 (PREDICATE_CODES): Add thumb_cmpneg_operand.
3189 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
3190 with a negative constant.
3191 (cbranchsi4_insn): Matcher for cbranchsi4.
3192 (cbranchsi4_scratch): Similar, but a scratch is available for
3193 handling negative constants.
3194 (movsi_cbranchsi4): New pattern.
3195 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3196 and use the TST instruction.
3197 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3198 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3199 cannot see high regs or memory alternatives.
3200 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3201
244b1afb
RE
32022003-10-24 Richard Earnshaw <rearnsha@arm.com>
3203
3204 * arm.c (note_invalid_constants): Try to extract the constant
3205 pool value using avoid_constant_pool_reference; only use
3206 get_pool_constant if that returns the original reference.
3207
0f334035
JH
32082003-10-24 Jan Hubicka <jh@suse.cz>
3209
3210 PR c++/12624
3211 * varasm.c (notice_global_symbol): Disqualify global registers.
3212
1b24cd79
RS
32132003-10-23 Roger Sayle <roger@eyesopen.com>
3214
3215 PR middle-end/11414
3216 * loop.c (load_mems): Use redirect_jump to forward jumps from
3217 the original loop end label to the new "loop sink" block's label.
3218
c7d91a94
RS
32192003-10-23 Roger Sayle <roger@eyesopen.com>
3220
3221 PR middle-end/12705
3222 * optabs.c (expand_binop): When expanding complex operations
3223 inline, always calculate result into a new temporary register.
3224 Minor code clean-ups.
3225
7989e4dc
RO
32262003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3227
3228 * objc/lang-specs.h: Handle -print-objc-runtime-info.
3229 * doc/invoke.texi (Objective-C Dialect Options): Document it.
3230
f5c64a69
DS
32312003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
3232
034f2316 3233 * config/i386/cygwin.asm: Add copyright notice. Add comment
f5c64a69
DS
3234 on why this code is needed.
3235
846d57c7 32362003-10-23 Kazu Hirata <kazu@cs.umass.edu>
e11f4e4d
KH
3237
3238 * config/h8300/clzhi2.c: Fix warnings.
3239 * config/h8300/ctzhi2.c: Likewise.
3240 * config/h8300/fixunssfsi.c: Likewise.
3241 * config/h8300/parityhi2.c: Likewise.
3242 * config/h8300/popcounthi2.c: Likewise.
3243
1e529a73
JW
32442003-10-23 James E Wilson <wilson@specifixinc.com>
3245
3246 * gcc.c (option_map): Delete --target and --use-version.
3247
0e67400a
FJ
32482003-10-23 Fariborz Jahanian <fjahanian@apple.com>
3249 David Edelsohn <edelsohn@gnu.org>
3250
3251 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
3252 TARGET_POWREPC64.
3253 (UNITS_PER_GPR_WORD): Define.
3254 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
3255 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3256 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
3257 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
3258 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
3259 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
3260 (rs6000_emit_prologue): Select reg_mode and reg_size using
3261 TARGET_32BIT, not TARGET_POWERPC64.
3262 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
3263 ABI / 64-bit computation mode
3264
00503146
AH
32652003-10-22 Andrew Haley <aph@redhat.com>
3266
3267 * toplev.c (output_file_directive): Allow for null input_name.
3268
448ec26c
WH
32692003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
3270
3271 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
3272
941ba69d
CD
32732003-10-22 Chris Demetriou <cgd@broadcom.com>
3274
3275 * configure.in: In --enable-generated-files-in-srcdir option
3276 handling, fix default case handling.
3277 * configure: Regenerate.
3278
55047c9d
PE
32792003-10-22 Phil Edwards <phil@codesourcery.com>
3280
3281 * config.gcc: Update *-*-vxworks* generic hook and comments.
3282 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
3283 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
3284 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
3285 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
3286 * config/windiss.h: New file.
3287 * config/arm/t-vxworks: New file.
3288 * config/arm/vxworks.h: New file.
3289 * config/i386/t-vxworks: New file.
3290 * config/i386/vxworks.h: New file.
3291 * config/mips/t-vxworks: New file.
3292 * config/mips/vxworks.h: New file.
3293 * config/mips/windiss.h: New file.
3294 * config/sh/t-vxworks: New file.
3295 * config/sh/vxworks.h: New file.
3296
3cfa3702
KH
32972003-10-22 Kazu Hirata <kazu@cs.umass.edu>
3298
3299 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
3300 (h8300_saveall_function_p): New.
3301 (h8300_insert_attributes): Insert the saveall attribute if
3302 #pragma saveall is specified.
3303 (h8300_attribute_table): Add saveall.
3304 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3305 * doc/extend.texi: Mention the saveall attribute.
3306
dc70e81d
JM
33072003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
3308
3309 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
3310 deprecation of casts as lvalues.
3311 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
3312 * fixinc/fixincl.x: Regenerate.
3313 * fixinc/tests/base/obstack.h: New test.
3314
218d5a87
AS
33152003-10-22 Andreas Schwab <schwab@suse.de>
3316
3317 PR target/12676
3318 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
3319 LP64 platforms.
3320
ae0f3477
JH
33212003-10-22 Jan Hubicka <jh@suse.cz>
3322
c769a35d
RE
3323 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
3324 presence of DW_AT_inline.
3325 (gen_subprogram_die): Likewise; do not abort instead of emitting
3326 DW_AT_not_inline.
ae0f3477 3327
190f08bd
JH
33282003-10-22 Jan Hubicka <jh@suse.cz>
3329
3330 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
3331 global info is not ready.
3332
dbacaa98
KH
33332003-10-22 Kazu Hirata <kazu@cs.umass.edu>
3334
3335 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
3336
b9404c99
UW
33372003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
3338
3339 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
3340 ("*movstr_short"): ... into this insn pattern.
3341 ("movstr_short"): New expander.
3342 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
3343 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
3344 ("movstr_long"): New expander.
3345 ("clrstr_short_64", "clrstr_short_31"): Merge ...
3346 ("*clrstr_short"): ... into this insn pattern.
3347 ("clrstr_short"): New expander.
3348 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
3349 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
3350 ("clrstr_long"): New expander.
3351 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
3352 ("*cmpmem_short"): ... into this insn pattern.
3353 ("cmpmem_short"): New expander.
3354 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
3355 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
3356 ("cmpmem_long"): New expander.
3357 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
3358 (s390_expand_clrstr): Likewise.
3359 (s390_expand_cmpmem): Likewise.
3360
926a822f
MM
33612003-10-22 Mark Mitchell <mark@codesourcery.com>
3362
3363 * c-pch.c (struct c_pch_validity): Add pch_init field.
3364 (pch_init): Set it.
3365 (c_common_valid_pch): Check it.
926a822f 3366
a354c7d6
DT
33672003-10-22 David Taylor <dtaylor@emc.com>
3368
3369 PR debug/12500
3370 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
3371
77c018b7
RK
33722003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3373
3374 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
3375 alpha_return_in_memory if no VALTYPE specified.
3376
1bb17c21
JH
33772003-10-22 Jan Hubicka <jh@suse.cz>
3378
3379 PR debug/12389
3380 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
3381 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
3382 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
3383 (cgraph_global_info): Add flag inlined
3384 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
3385 cgraph_function_possibly_inded_p
3386 * cgraphunit.c (mark_inline): Set inlined flag.
3387 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
3388 only for possibly inlined functions.
3389 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
3390 body of function.
3391
907393db
AH
33922003-10-22 Andrew Haley <aph@redhat.com>
3393
3394 * varasm.c (output_constructor): Make constructor annotation
3395 conditional on ASM_COMMENT_START.
3396
40aae178
JM
33972003-10-21 Jason Merrill <jason@redhat.com>
3398
e64a6f2c
JM
3399 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
3400 (get_narrower): Likewise.
3401
40aae178
JM
3402 * stor-layout.c (layout_decl): Do packed field alignment for
3403 bit-fields, too.
3404
450b1728
EC
34052003-10-21 Eric Christopher <echristo@redhat.com>
3406
3407 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
3408
7451756f
GK
34092003-10-21 Geoffrey Keating <geoffk@apple.com>
3410
3411 * c-pch.c: Add comments in various places.
3412 (struct c_pch_validity): Add the lengths of various strings.
3413 (host_machine): New static.
3414 (target_machine): New static.
3415 (get_ident): Bump version number.
3416 (pch_init): Write out version, host, target validity data.
3417 (c_common_valid_pch): Check version, host, target.
3418 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
3419 TARGET_MACHINE.
3420
c25d44dd
JM
34212003-10-21 Jason Merrill <jason@redhat.com>
3422
3423 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
3424 (EXPR_P): New macro.
3425
5634cf72
ZW
34262003-10-21 Zack Weinberg <zack@codesourcery.com>
3427
3428 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
3429 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
3430 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
3431 DImode. Use convert_move to load ar.ccv.
3432 (ia64_expand_compare_and_swap): Likewise.
3433 If expand_expr doesn't put 'old' and 'new' in the proper
3434 modes, run them through convert_to_mode.
3435
25f93e18
EC
34362003-10-21 Eric Christopher <echristo@redhat.com>
3437
3438 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
3439 for too large bitfields.
3440
c3220510
MM
34412003-10-21 Mark Mitchell <mark@codesourcery.com>
3442
3443 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
3444
bce988a2
AH
34452003-10-21 Andrew Haley <aph@redhat.com>
3446
3447 * varasm.c (output_constructor): Annotate constructor.
3448
3d56d025
MM
34492003-10-21 Mark Mitchell <mark@codesourcery.com>
3450
3451 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
3452 on existence of destination file.
3453
43997658
JH
34542003-10-21 Jan Hubicka <jh@suse.cz>
3455
3456 * haifa-sched.c (choose_ready): Initialize index.
3457
064ee155
JM
34582003-10-21 Jason Merrill <jason@redhat.com>
3459
3460 * tree.c (build1): Fix off-by-one error.
3461
448ec26c 34622003-10-21 Robert Millan <robertmh@gnu.org>
e2befd7d
RM
3463
3464 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
3465 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
3466 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
3467 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
3468
2426d8dd
EB
34692003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
3470
3471 * web.c: Fix various comments.
3472
be03ccc9
NP
34732003-10-20 Nicolas Pitre <nico@cam.org>
3474
3475 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
3476 to 2 instead of 1 when optimize_size is true. Gather code based on
3477 optimize_size together. Add comment about XScale load latency.
3478
802f1b93
GN
34792003-10-21 Gunther Nikl <gni@gecko.de>
3480
3481 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
3482 obsolete comments.
3483
51b9ff45
KC
34842003-10-20 Kelley Cook <kcook@gcc.gnu.org>
3485
3486 * Makefile.in: Get parsedir and docobjdir from configure.
3487 * configure.in: Recogonize --enable-generated-files-in-srcdir.
3488 Pass along parsedir and docobjdir.
3489 * configure: Regenerate.
3490 * doc/install.texi: Document --enable-generated-files-in-srcdir.
3491
d790dd9f
KC
34922003-10-20 Kelley Cook <kcook@gcc.gnu.org>
3493
3494 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
3495 included.
3496
ac054e28
JM
34972003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
3498
3499 * c-common.c (expand_tree_builtin): Ensure creal and cimag
3500 functions do not return lvalues.
3501
2038bd69
JM
35022003-10-20 Jason Merrill <jason@redhat.com>
3503
3504 PR c/12553
3505 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
3506 appropriately.
3507
3508 PR c/11446
3509 * stor-layout.c (layout_decl): Fix alignment handling.
3510
02601a5c
JM
35112003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
3512
3513 * doc/extend.texi: Deprecate casts as lvalues.
3514
d4d1ebc1
JH
35152003-10-20 Jan Hubicka <jh@suse.cz>
3516
3517 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
3518
3519 * cgraphunit.c (decide_is_function_needed): Fix test dealing
3520 with functions implicitly made inline.
3521
3522 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
3523 (cgraph_finalize_function): Use it.
3524 (cgraph_mark_inline): Allow incrmental decisions
3525 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
3526 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
3527 * tree-inline.c (limits_allow_inlining): Kill.
3528 (expand_call_inline): Always use unit-at-a-time path.
3529
ce01559b
ZW
35302003-10-20 Zack Weinberg <zack@codesourcery.com>
3531
3532 * fixinc/inclhack.def (hpux11_snprintf): New edit.
3533 * fixinc/fixincl.x: Regenerate.
3534 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
3535
97ae108d
MM
35362003-10-20 Mark Mitchell <mark@codesourcery.com>
3537
3538 * Makefile.in (install-info): Simplify.
3539 ($(DESTDIR)$(infodir)/%.info): New rule.
3540 * configure.in (target_list): Remove install-info.
3541 * doc/.cvsignore (gcc.info*): Remove.
3542 (gccint.info*): Likewise.
3543 (gccinstall.info*): Likewise.
3544 (cpp.info*): Likewise.
3545 (cppinternals.info*): Likewise.
3546 (*.info*): Add it.
3547 * doc/sourcebuild.texi: Update description of install-info.
3548 * objc/Make-lang.in (objc.install-info): Remove.
3549
27d54b2a
RO
35502003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3551
3552 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
3553 Use it in _MIPS_SIM definition.
3554 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3555
480feac0
ZW
35562003-10-20 Zack Weinberg <zack@codesourcery.com>
3557
3558 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
3559 virtual register, but only if file == asm_out_file.
3560 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
3561 for ARG_POINTER_REGNUM.
3562
d1d3865f
ZW
35632003-10-20 Zack Weinberg <zack@codesourcery.com>
3564
3565 * c-common.c (registered_builtin_types): New static.
3566 (c_common_type_for_mode): Consult registered_builtin_types.
3567 (c_register_builtin_type): Add type to registered_builtin_types.
3568 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
3569 all MODE_FLOAT modes, not just the ones corresponding to
3570 float_type_node, double_type_node, and long_double_type_node.
3571
df2ddbb3
RH
35722003-10-20 Richard Henderson <rth@redhat.com>
3573
3574 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
3575 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
3576
cbe26ab8
DN
35772003-10-20 Dorit Naishlos <dorit@il.ibm.com>
3578
d1d3865f 3579 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
cbe26ab8
DN
3580 support new flag -minsert-sched-nops.
3581 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
d1d3865f
ZW
3582 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
3583 support new flag -minsert-sched-nops.
cbe26ab8
DN
3584 (is_cracked_insn, is_microcoded_insn): New functions.
3585 (rs6000_sched_finish): New function.
3586 (rs6000_issue_rate): Return 5 for power4.
d1d3865f 3587 (get_next_active_insn, insn_terminates_group_p): New
cbe26ab8
DN
3588 functions.
3589 (is_costly_group, force_new_group): New functions.
3590 (redefine_groups, pad_groups): New functions.
3591 (rs6000_variable_issue): Use new functions.
3592 * doc/invoke.texi (-minsert-sched-nops): Document new
3593 option.
3594
59823ba4
DM
35952003-10-20 David S. Miller <davem@redhat.com>
3596
3597 * config/sparc/sparc.md (type attribute): Add new insn types
3598 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
3599 (patterns emitting VIS insns): Use them.
3600 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
3601 * config/sparc/ultra3.md: Likewise.
3602
e006ced2
FH
36032003-10-20 Falk Hueffner <falk@debian.org>
3604
3605 PR target/12654
3606 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
3607 comparison against constant by adjusting the argument except for
3608 EQ and NE.
3609
81f9037c
MM
36102003-10-19 Mark Mitchell <mark@codesourcery.com>
3611
3612 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
3613 arm1136jfs, and armv6j.
3614 * config/arm/arm.c (FL_ARCH6J): New macro.
3615 (FL_VFPV2): Likewise.
3616 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
3617 and arm1136jfs.
3618 (all_architectures): Add entry for armv6j.
3619 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
3620 arm1136js, and arm1136jfs.
3621 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
3622 (TARGET_CPU_arm1026ej_s): Likewise.
3623 (TARGET_CPU_arm1136j_s): Likewise.
3624 (TARGET_CPU_arm1136jf_s): Likewise.
3625 * doc/invoke.texi: Document new ARM cores and architecture
3626 variants.
d1d3865f 3627
fca9dc00
ZD
36282003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3629
3630 * Makefile.in (toplev.o): Add value-prof.h dependency.
3631 (value-prof.o): Add REGS_H dependency.
3632 * common.opt (fprofile-values, fvpt): New.
3633 * flags.h (flag_value_profile_transformations): Declare.
3634 * opts.c (common_handle_option): Handle -fprofile_values and
3635 -fvpt.
3636 * profile.c (branch_prob): Don't remove death notes here.
3637 * timevar.def (TV_VPT): New.
3638 * value-prof.c: Include regs.h.
3639 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
3640 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
3641 mod_subtract_transform, value_profile_transformations): New.
3642 (insn_values_to_profile): Call insn_divmod_values_to_profile.
3643 (find_values_to_profile): Add dumps.
3644 * value-prof.h (value_profile_transformations): Declare.
3645 * toplev.c: Include value-prof.h.
3646 (rest_of_handle_value_profile_transformations): New.
3647 (enum dump_file_index): Add DFI_vpt.
3648 (dump_file): Add vpt dump.
3649 (flag_value_profile_transformations): New.
3650 (lang_independent_options): Add flag_profile_values and
3651 flag_value_profile_transformations.
3652 (rest_of_compilation): Call
3653 rest_of_handle_value_profile_transformations.
3654 (process_options): Let -fvpt imply -fprofile-values.
3655 * doc/invoke.texi (-fvpt): Document.
3656
cb0bc263
JH
36572003-10-19 Jan Hubicka <jh@suse.cz>
3658
3659 * i386.c (print_reg): Do not abort on certain registers.
3660
3661 PR optimization/12612
3662 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
3663 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
3664 match_scratch; avoid bogus paralles.
3665
3666 PR target/12674
3667 * i386.c (ix86_function_regparm): Disable implicit register passing
3668 conventions when profiling.
3669
707e58b1 36702003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
d1d3865f 3671 Richard Henderson <rth@redhat.com>
707e58b1
EB
3672
3673 PR optimization/8178
3674 * config/i386/i386.md (*movsi_zero): Delete.
3675 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
3676
64bb2e1d
RH
36772003-10-19 Richard Henderson <rth@redhat.com>
3678
3679 * config/alpha/alpha.c (fix_operator): New.
3680 (divmod_operator): Tidy.
3681 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
3682 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
3683 (PREDICATE_CODES): Update.
3684 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
3685 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
3686 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
3687 (fix_truncsfdi_ieee): Likewise.
3688 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
3689 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
3690 * config/alpha/alpha-protos.h: Update.
3691
91999e1d
RS
36922003-10-19 Richard Sandiford <rsandifo@redhat.com>
3693
3694 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
3695 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
3696 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
f74c81d5 3697 constant operands.
91999e1d 3698
9c2d4260
KH
36992003-10-18 Kazu Hirata <kazu@cs.umass.edu>
3700
3701 * doc/extend.texi: Fix typos.
3702 * doc/invoke.texi: Likewise.
3703
591af218
NP
37042003-10-18 Nicolas Pitre <nico@cam.org>
3705
3706 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
3707 XScale optimizations not arm_arch_xscale.
3708 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
3709
ac32b25e
UW
37102003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
3711
3712 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
3713 * config/s390/s390.c (shift_count_operand): New function.
3714 (s390_extra_constraint): Use it to implement 'Y' constraint.
3715 (print_shift_count_operand): New function.
3716 (print_operand): Use it to implement '%Y'.
3717 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
3718 (PREDICATE_CODES): Add shift_count_operand.
d1d3865f 3719 * config/s390/s390.md ("rotldi3"): Merge alternatives,
ac32b25e
UW
3720 using "shift_count_operand" predicate and "Y" constraint,
3721 and "%Y" to output the combined shift count.
3722 ("rotlsi3"): Likewise.
3723 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
d1d3865f 3724 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
ac32b25e
UW
3725 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
3726 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
3727 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
3728 ("lshrsi3"): Likewise.
3729
3f12a2e0
GN
37302003-10-18 Gunther Nikl <gni@gecko.de>
3731
3732 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
3733 argument to asm_fprintf statement.
3734
6074164e
FJ
37352003-10-18 Fariborz Jahanian <fjahanian@apple.com>
3736
d1d3865f
ZW
3737 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
3738 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
3739 a "long long" argument.
6074164e 3740
ad7e39ca
AO
37412003-10-18 Alexandre Oliva <aoliva@redhat.com>
3742
3743 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
3744 as well.
3745
e1de1560
RS
37462003-10-18 Richard Sandiford <rsandifo@redhat.com>
3747
3748 * rtl.h (rtl_size): Declare.
3749 (rtunion): Remove rtwint.
3750 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
3751 (RTX_HDR_SIZE, RTX_SIZE): New macros.
3752 (RTL_CHECK1): Adjust for new rtx_def layout.
3753 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
3754 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
3755 (X0WINT): Remove.
3756 (X0ANY): New macro.
3757 * rtl.def: Adjust comments for new rtx_def layout.
3758 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
3759 number of slots.
3760 * rtl.c (rtx_size): New array.
3761 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
3762 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
3763 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
3764 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
3765 * emit-rtl.c (copy_most_rtx): Likewise.
3766 (copy_rtx_if_shared): Use RTX_SIZE.
3767 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
3768 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
3769 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
3770 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
3771 an array. Adjust output for new rtx_def layout.
3772 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
3773 * reload1.c (eliminate_regs): Use RTX_SIZE.
3774 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
3775 * gdbinit.in (pi): Likewise.
3776
99ceae26
JH
37772003-10-18 Jan Hubicka <jh@suse.cz>
3778
3779 * integrate.c (copy_decl_for_inlining): Revert previous patch.
3780
8a2b3848
JH
37812003-10-18 Jan Hubicka <jh@suse.cz>
3782
3783 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
3784
dafee8e3
RS
37852003-10-18 Roger Sayle <roger@eyesopen.com>
3786
3787 * libgcc.texi: Group multi-word types, such as "long double" and
3788 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
3789 Document __unord?f2 as returning a non-zero value, not just one.
3790
3a198a72
HPN
37912003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
3792
3793 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
3794 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
3795
a74f2487
EB
37962003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3797
3798 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
3799 match_operand.
3800
cde85594
EB
38012003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3802
3803 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
3804 parameter packed_p. Search for a DECL_PACKED field only if
3805 packed_p is false. Pass packed_p recursively.
3806 (function_arg_record_value_2): Likewise.
3807 (function_arg_record_value): Update calls to
3808 function_arg_record_value_1 and function_arg_record_value_2.
3809
9d8de1de
EB
38102003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3811
3812 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
3813 was successfully forced to memory before using the result.
3814
67e53009
EB
38152003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3816
3817 PR optimization/8178
3818 * config/i386/i386.md (*movsi_zero): New insn to set
3819 a register to zero on TARGET_USE_MOV0 targets.
3820
fca086c1
KC
38212003-10-18 Kelley Cook <kcook@gcc.gnu.org>
3822
3823 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
3824 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
3825
2206e783
DE
38262003-10-17 David Edelsohn <edelsohn@gnu.org>
3827
3828 * doc/invoke.texi (gcse-las): Fix typo.
3829
1b49d06f
AP
38302003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3831
a755e3c5
AP
3832 * doc/install.texi: Remove first part of the sentence for
3833 zsh not working. Change gcc to GCC.
3834
1b49d06f 3835 PR bootstrap/12546
d1d3865f 3836 * doc/install.texi: Document that zsh does not work when
1b49d06f
AP
3837 configuring gcc.
3838
8a765788
NN
38392003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
3840
3841 * config/ptx4.h: Switch to DWARF 2; update comments.
3842
b4a62fa0
SB
38432003-10-17 Segher Boessenkool <boessen@de.ibm.com>
3844 Hartmut Penner <hpenner@de.ibm.com>
3845
eb0c90bd 3846 PR 10404, partial 11591, partial 11601
b4a62fa0
SB
3847 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
3848 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
3849 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
3850 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
3851 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
3852 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
3853 (altivec_expand_stv_builtin): Adjust for the memory_operand.
3854 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
3855 (altivec_init_builtins): Use `long int' for memory offsets.
3856
7260e9a0
JH
38572003-10-17 Jan Hubicka <jh@suse.cz>
3858
3859 * opts.c (common_handle_option): Handle OPT_fweb
3860 * invoke.texi (-fweb): Add missing parts of documentation.
3861
b8557e37
RO
38622003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3863
3864 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
3865 before redefinition.
3866
f5f2e3cd
MH
38672003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
3868
3869 * common.opt: Add description of the new -fgcse-las flag.
3870 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
3871 * gcse.c (hash_scan_set): Handle the case of store expression and
3872 insert the memory expression to the hash table, this way we make it
3873 possible to discover redundant loads after stores and remove them.
3874 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
3875 to pre_insert_copies, it is not the correct place to call it after
3876 adding stores to be in the available expression hash table.
3877 (pre_insert_copies): Added the call to update_ld_motion_stores when
3878 one or more copies were inserted.
3879 * opts.c (common_handle_option): Handle the -fgcse-las flag.
3880 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
3881
3882 * doc/invoke.tex: Document new -fgcse-las flag.
3883
1b2d6edd
AM
38842003-10-18 Alan Modra <amodra@bigpond.net.au>
3885
5511bc2e
AM
3886 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
3887 for posterity, then remove it.
1b2d6edd 3888
efc2515b
RE
38892003-10-17 Richard Earnshaw <rearnsha@arm.com>
3890 Nathan Sidwell <nathan@codesourcery.com>
3891
3892 * config/arm/arm.c (use_return_insn): Not a single instruction, if
3893 there's a frame pointer.
3894 (arm_output_epilogue): Protect stack pointer from being corrupted
3895 on interrupt.
3896
51a785a0
UW
38972003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
3898
3899 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
3900
2051c897
UW
39012003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
3902
3903 * combine.c (simplify_set): Do not clear out undobuf.other_insn
3904 already set elsewhere.
3905
b1177d69
KC
39062003-10-17 Kelley Cook <kcook@gcc.gnu.org>
3907
3908 * config/i386/i386.c (ix86_expand_prologue): Use
3909 gen_allocate_stack_worker.
3910
3c7404d3
RO
39112003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3912
3913 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
3914 without gas.
3915 (mips-sgi-irix6*): Likewise.
3916
3917 * config/mips/iris6gas.h: New file.
3918 * gcc/config.gcc (mips-sgi-irix6*): Use it.
3919
3920 * config/mips/mips.h (TARGET_IRIX): Provide default.
3921 (TARGET_IRIX5): Likewise.
3922 (TARGET_SGI_O32_AS): Likewise.
3923 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
3924 (TARGET_IRIX5): Likewise.
3925 * config/mips/iris6.h (TARGET_IRIX6): Remove.
3926 (TARGET_IRIX5): Redefine as 0.
3927
3928 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3929 linker workaround with TARGET_IRIX and mips_abi instead of
3930 ASM_OUTPUT_UNDEF_FUNCTION.
3931 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3932 testing TARGET_IRIX and mips_abi explicitly.
3933 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3934 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3935
3936 * config/mips/mips.c (irix_output_external_libcall): Renamed from
3937 mips_output_external_libcall.
3938 Use new TARGET_IRIX in guard.
3939 * config/mips/mips-protos.h (irix_output_external_libcall): Match
3940 this.
3941 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3942
3943 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3944 Define as 0.
3945
3946 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
d1d3865f 3947 depending on mips_abi.
3c7404d3
RO
3948 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3949 * config/mips/mips.c (mips_output_function_prologue): Test
3950 FUNCTION_NAME_ALREADY_DECLARED at runtime.
3951 (mips_output_function_epilogue): Likewise.
3952 (build_mips16_function_stub): Likewise.
3953 (build_mips16_call_stub): Likewise.
3954 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3955 default.
d1d3865f 3956
3c7404d3
RO
3957 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3958 IRIX 6 O32 assembler.
3959 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3960 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3961 _MIPS_SIM for O32 ABI.
3962 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3963 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3964 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3965 Integrate O32 version.
3966 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3967 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3968 O32 ABI.
3969 (BSS_SECTION_ASM_OP_32): Define.
3970 (BSS_SECTION_ASM_OP_64): Likewise.
3971 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3972 using them.
3973 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3974 Move up to allow override for O32 ABI without GNU as.
3975 (EH_FRAME_SECTION_NAME): Define explicitly.
3976 (MUST_USE_SJLJ_EXCEPTIONS): Define.
3977 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
3978 DTORS_SECTION_ASM_OP): Dummy definitions.
d1d3865f 3979 (TARGET_ASM_NAMED_SECTION): Undef statically.
3c7404d3
RO
3980 (EH_FRAME_SECTION_NAME): Likewise.
3981 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
3982 (LINK_SPEC): Only use default options -call_shared -no_unresolved
3983 without -r.
3984 Don't pass -init, -fini with -mabi=32.
3985 (COLLECT_PARSE_FLAG): Define.
3986
3987 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
3988 TARGET_IRIX.
3989 Renamed to use irix_ prefix.
3990 (iris6_asm_named_section): Likewise.
3991 (iris_section_align_entry_eq): Likewise.
3992 (iris_section_align_entry_hash): Likewise.
3993 (iris6_file_start): Likewise.
3994 (iris6_section_align_1): Likewise.
3995 (iris6_file_end): Likewise.
3996 (iris6_section_type_flags): Likewise.
3997 (iris_section_align_htab): Likewise.
3998 (iris_orig_asm_out_file): Likewise.
3999 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
4000 (TARGET_ASM_FILE_END): Likewise.
4001 (TARGET_SECTION_TYPE_FLAGS): Likewise.
4002
4003 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
4004 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
4005 override_options instead.
4006 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
4007 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
4008 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
4009 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
4010 assemblers.
4011 Likewise for constructor/destructor handling.
4012 (override_options): Handle IRIX O32 assembler quirks.
4013 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
4014 without gas.
4015 (mips_file_start): Use new TARGET_IRIX.
4016 (mips_declare_object_name): No special processing for IRIX O32
4017 assembler.
4018 (mips_finish_declare_object): Likewise.
4019 (irix_asm_output_align): Renamed from iris6_asm_output_align.
4020 Don't record alignment for O32 ABI.
4021 (irix_file_start): Renamed from iris6_file_start.
4022 Return early for O32 ABI.
4023 (irix_file_end): Renamed from iris6_file_end.
4024 Don't emit .section directives for O32 ABI.
4025 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
4026 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
4027
4028 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
4029 (MULTILIB_OSDIRNAMES): Likewise.
4030
5f31e9bc
RO
40312003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4032
4033 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
4034 (main): Use it.
4035 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
4036
defc0463
RE
40372003-10-17 Richard Earnshaw <rearnsha@arm.com>
4038
4039 * arm-modes.def (CC_Nmode): New condition code mode.
4040 * arm.c (thumb_condition_code): Delete.
4041 (arm_select_cc_mode): Handle single-bit test for Thumb.
d1d3865f 4042 (arm_print_operand, cases 'd' and 'D'): Don't special case the
defc0463
RE
4043 condition code logic for Thumb.
4044 (get_arm_condition_code): Handle CC_Nmode.
4045 (thumb_cbrch_target_operand): New function.
4046 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
4047 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
4048 * arm.md: Add Thumb split patterns for zero_extract and
4049 sign_extract.
4050 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
4051 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
4052 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
4053 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4054 (cbranchne_decr1): Re-work to use CC_Nmode.
4055
d1d3865f 4056 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
defc0463
RE
4057 by the return instruction. Add a use of the link register if it
4058 wasn't stored.
4059
38b2a605
RE
40602003-10-17 Richard Earnshaw <rearnsha@arm.com>
4061
4062 * flow.c (init_propagate_block_info): Don't abort if a conditional
4063 jump is not a comparison of a register. Instead, just don't record
4064 conditional life information.
4065
8f00386e
JH
40662003-10-16 Jan Hubicka <jh@suse.cz>
4067
4068 PR optimization/12630
4069 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4070 for operands 7 and 8.
4071
dc17fe76
KC
40722003-10-16 Kelley Cook <kcook@gcc.gnu.org>
4073
4074 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4075
1e8a5248
DS
40762003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
4077
4078 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4079
4080 * config/i386/winnt.c (gen_stdcall_suffix): Make static
4081 (gen_fastcall_suffix): Likewise.
4082 (i386_pe_dllexport_p): Likewise.
4083 (i386_pe_dllimport_p): Likewise.
4084 (i386_pe_mark_dllexport): Likewise.
4085 (i386_pe_mark_dllimport): Likewise.
4086 (i386_pe_asm_named_section): Fix formatting.
4087
236ce4b2
ZW
40882003-10-16 Zack Weinberg <zack@codesourcery.com>
4089
4090 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4091 * system.h: Declare snprintf if necessary.
4092 * configure, config.in: Regenerate.
4093
10f30fa8
DE
40942003-10-15 David Edelsohn <edelsohn@gnu.org>
4095
4096 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4aa4bf39 4097 arguments if TARGET_ALTIVEC_ABI.
10f30fa8 4098
5bb650ec
RS
40992003-10-15 Roger Sayle <roger@eyesopen.com>
4100
4101 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4102 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4103 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4104 New functions.
4105 (expand_builtin_memcpy): Use integer_zerop instead of testing
4106 host_integerp and tree_low_cst directly. Move misapplied hunk
4107 for optimization wher SRC and DEST point to the same location.
4108 (expand_builtin_mempcpy): From here.
4109 (expand_builtin_memmove): Use integer_zerop instead of testing
4110 host_integerp and tree_low_cst_directly.
4111 (expand_builtin_memset): Likewise.
4112 (expand_builtin_memcmp): Likewise (and for integer_onep).
4113 (expand_builtin_strncmp): Likewise.
4114 (fold_builtin): Call the appropriate fold_builtin_foo functions
4115 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4116 strcmp and strncmp.
4117
6f94a68e
GK
41182003-10-15 Geoffrey Keating <geoffk@apple.com>
4119
4120 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4121 prototype. Clean up some whitespace.
236ce4b2
ZW
4122 * config/darwin.c: Use gen_rtx_FOO (...) rather than
4123 gen_rtx (FOO, ...).
6f94a68e
GK
4124 (machopic_non_lazy_ptr_name): Make static.
4125 (name_needs_quotes): Allow '.' and '$' unquoted.
4126 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4127 case.
236ce4b2 4128
a352244f
GL
4129