re PR c/13382 (Type information for const pointer disappears during optimisation.)
[gcc.git] / gcc / ChangeLog
1 2003-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2
3 PR c/13382
4 * c-typeck.c (convert_for_assignment): When converting from
5 integral type to pointer type, always call convert.
6
7 2003-12-22 Mark Mitchell <mark@codesourcery.com>
8
9 * doc/invoke.texi: Deprecate -fwritable-strings.
10
11 * c-common.c (flag_external_templates): Remove.
12 (flag_alt_external_templates): Likewise.
13 * c-common.h (flag_external_templates): Remove.
14 (flag_alt_external_templates): Likewise.
15 * c-opts.c (c_common_handle_option): Unsupport
16 -falt-external-templates and -ftemplates.
17 * doc/invoke.texi: Remove mention of -fexternal-templates and
18 -falt-external-templates.
19
20 2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
21
22 PR target/13466
23 * config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.
24
25 * emit-rtl.c (copy_rtx_if_shared): Add comment about its use of
26 copy_rtx_if_shared_1.
27 (copy_rtx_if_shared_1): Add comment about what the function does.
28
29 * c-decl.c (finish_function): Change order of checks.
30 (c_expand_body): Likewise.
31
32 2003-12-22 Fariborz Jahanian <fjahanian@apple.com>
33
34 * config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
35 check for the legitimate offset when memory of
36 DImode/DFmode/TFmode/TImode mode is being referenced and target
37 is TARGET_POWERPC64.
38
39 2003-12-22 Dale Johannesen <dalej@apple.com>
40
41 * reload1.c: Add reg_reloaded_call_part_clobbered.
42 (reload_as_needed): Use it.
43 (forget_old_reloads_1): Ditto.
44 (emit_reload_insns): Ditto.
45
46 2003-12-22 Dale Johannesen <dalej@apple.com>
47
48 PR optimization/12828
49 * loop.c: Add find_regs_nested to look inside CLOBBER(MEM).
50 (scan_loop): Call it.
51 * regclass.c (reg_scan_mark_regs): Look inside CLOBBER(MEM).
52
53 2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
54
55 PR c/9163
56 * c-decl.c (poplevel): Only set DECL_INITIAL of a current function
57 if it is non-null.
58 (finish_function): Check for error_mark_node or null on DECL_RESULT and
59 DECL_RESULT of fndecl.
60 (c_expand_body): Only expand when DECL_INITIAL of fndecl is not
61 error_mark_node and not null.
62
63 2003-12-21 Dan Nicolaescu <dann@ics.uci.edu>
64
65 * rtl.h (dump_rtx_statistics): Declare it.
66 * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
67 rtx_alloc_sizes): New static vars.
68 (rtx_alloc, rtvec_alloc): Update them.
69 (dump_rtx_statistics): New function.
70 * toplev.c (finalize): Call it.
71 * ggc-page.c (struct globals): Fix comments. Add new member
72 total_allocated_per_order.
73 (ggc_alloc): Keep track of the total allocated memory.
74 (ggc_print_statistics): Clarify message. Print total allocated
75 memory stats.
76 * configure.in (gather-detailed-mem-stats): New flag.
77 * configure: Regenerate.
78 * config.in: Regenerate.
79 * doc/install.texi (Configuration): Document
80 --enable-gather-detailed-mem-stats.
81
82 2003-12-22 Kazu Hirata <kazu@cs.umass.edu>
83
84 * system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
85 * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
86
87 2003-12-21 Roger Sayle <roger@eyesopen.com>
88
89 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
90 when compiling in ILP32 mode.
91
92 2003-12-21 Andrew Pinski <pinskia@physics.uc.edu>
93
94 * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
95 TARGET_HAVE_TLS is false.
96
97 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
98
99 * config/ip2k/ip2k-protos.h: Remove the prototype for
100 asm_output_section_name.
101 * config/ip2k/ip2k.c (asm_output_section_name): Remove.
102
103 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
104
105 * alias.c: Fix comment formatting.
106 * alloc-pool.c: Likewise.
107 * bitmap.c: Likewise.
108 * bitmap.h: Likewise.
109 * bt-load.c: Likewise.
110 * c-common.c: Likewise.
111 * c-common.h: Likewise.
112 * c-decl.c: Likewise.
113 * c-opts.c: Likewise.
114 * c-pretty-print.c: Likewise.
115 * caller-save.c: Likewise.
116 * cfghooks.h: Likewise.
117 * cgraph.c: Likewise.
118 * collect2.c: Likewise.
119 * cppfiles.c: Likewise.
120 * cpplib.h: Likewise.
121 * dwarf2out.c: Likewise.
122 * dwarfout.c: Likewise.
123 * emit-rtl.c: Likewise.
124 * final.c: Likewise.
125 * function.c: Likewise.
126 * gcov.c: Likewise.
127 * gcse.c: Likewise.
128 * genemit.c: Likewise.
129 * ggc.h: Likewise.
130 * haifa-sched.c: Likewise.
131 * ifcvt.c: Likewise.
132 * libgcc2.h: Likewise.
133 * loop.c: Likewise.
134 * predict.h: Likewise.
135 * unwind-libunwind.c: Likewise.
136 * varasm.c: Likewise.
137
138 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
139
140 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
141 a warning.
142
143 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
144
145 * config/arm/arm.c: Convert to ISO-C.
146 * config/avr/avr.h: Likewise.
147 * config/fr30/fr30.c: Likewise.
148 * config/ip2k/ip2k.c: Likewise.
149 * config/mn10300/mn10300.c: Likewise.
150
151 2003-12-20 Andrew Pinski <pinskia@gcc.gnu.org>
152 Matt Thomas <matt@3am-software.com>
153
154 PR target/12749
155 * config/i386/i386.c (print_operand): Print only the first
156 8 characters of the float in hex.
157
158 2003-12-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
159
160 * pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
161 2.0 code.
162 (TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
163 (INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
164 and end addresses to I and D cache instruction patterns.
165 * pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
166 and_operand and ior_operand, respectively. When generating 64-bit
167 code, only one operand needs to be a register operand.
168 (xordi3): Change predicates of operands 1 and 2 to register_operand.
169 (one_cmpldi2): Change predicate of operand 1 to register_operand.
170 (dcacheflush, icacheflush): Revise to flush an arbitrary number of
171 cache lines.
172
173 2003-12-20 Josef Zlomek <zlomekj@suse.cz>
174
175 PR optimization/13430, PR optimization/12322
176 * bb-reorder.c (copy_bb_p): Do not allow block with many successors to
177 be copied.
178 (find_traces_1_round): Surround check for fake edges by
179 #ifdef ENABLE_CHECKING #endif.
180
181 2003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
182
183 PR other/7956
184 * genmultilib: New variable disable_multilib. Set it to 'yes'
185 if enable_multilib was set to 'no'. Emit DISABLE_MULTILIB
186 if disable_multilib was set to 'yes'.
187 * gcc.c: Include multilib.h before tm.h.
188 * config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
189 message for multiarch options if DISABLE_MULTILIB is set.
190 * config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
191
192 2003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
193
194 PR c/12085
195 * c-typeck.c (build_function_call): Issue a warning if a
196 function is called through an incompatible prototype and
197 replace the call by a trap in this case.
198
199 2003-12-19 James E Wilson <wilson@specifixinc.com>
200
201 * install.texi (ia64-*-linux): Document minimum libunwind version
202 number.
203
204 2003-12-19 Per Bothner <per@bothner.com>
205
206 * langhooks.c (lhd_print_error_function): Fix for PR c/13110.
207 Don't do pp_newline; it causes an extra blank line.
208 * pretty-print.c (pp_base_flush): Clear pp_needs_newline.
209
210 2003-12-19 Jason Merrill <jason@redhat.com>
211
212 * tree.c (get_unwidened): Decide whether to narrow a bitfield
213 reference based on TYPE_SIZE, not TYPE_PRECISION.
214
215 * stmt.c (parse_output_constraint): Warn about in-out constraint
216 that doesn't allow a register.
217 (parse_input_constraint): Warn about matching constraint that
218 doesn't allow a register.
219
220 2003-12-19 James E Wilson <wilson@specifixinc.com>
221
222 * flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
223 Add case for ASM_OPERANDS.
224 * global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
225 registers.
226
227 2003-12-19 Kazu Hirata <kazu@cs.umass.edu>
228
229 * expr.c (check_max_integer_computation_mode): Remove.
230 * dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
231 * fold-const.c (fold): Likewise.
232 * system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
233 * doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
234
235 2003-12-19 James E Wilson <wilson@specifixinc.com>
236
237 * configure.in: Delete libunwind_has_eh_support test.
238 * configure: Regenerate.
239 * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
240 and libunwind_has_eh_support check.
241 * config/t-libunwind-no-eh: Delete.
242
243 2003-12-19 Joseph S. Myers <jsm@polyomino.org.uk>
244
245 * c-format.c (print_char_table): Allow 'I' flag on floating point
246 decimal formats.
247
248 2003-12-19 Stuart Hastings <stuart@apple.com>
249
250 * gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
251 Trivial fixes for i386.c on Darwin/x86.
252
253 2003-12-19 Fariborz Jahanian <fjahanian@apple.com>
254
255 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
256 recognize macho-style lo_sum adrress patterns.
257
258 2003-12-19 Kazu Hirata <kazu@cs.umass.edu>
259
260 * dwarfout.c: Remove uses of "register" specifier in
261 declarations of arguments and local variables.
262 * gensupport.c: Likewise.
263 * local-alloc.c: Likewise.
264 * regclass.c: Likewise.
265
266 2003-12-19 Kelley Cook <kelleycook@wideopenwest.com>
267
268 * config.guess: Remove.
269
270 2003-12-19 Jakub Jelinek <jakub@redhat.com>
271
272 * config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
273 (unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
274 regstk_top.
275 (uw_frame_state_for): Handle locations inside bundles.
276 (uw_init_context_1): Initialize context->rnat.
277 Set context->regstk_top to lowest rbs address which has nat collection
278 in context->rnat.
279 (uw_install_context): Fix rnat restoring.
280 Restore ar.rsc to previous state.
281 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
282 MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
283
284 2003-12-19 Jakub Jelinek <jakub@redhat.com>
285
286 PR c++/13239
287 * builtins.c (expand_builtin_expect_jump): Update
288 TREE_VALUE (arglist) if unsave_expr_now langhook
289 created a new tree.
290
291 2003-12-19 Richard Earnshaw <rearnsha@arm.com>
292
293 * arm.c (thumb_base_register_rtx_p): Use regno in comparison against
294 FIRST_PSEUDO_REGISTER.
295
296 2003-12-18 Hartmut Penner <hpenner@de.ibm.com>
297
298 * gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
299 for SVR4 ABI.
300
301 2003-12-18 Geoffrey Keating <geoffk@apple.com>
302
303 * config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
304 (OS_MISSING_ALTIVEC): Define.
305 * config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
306 -force_cpusubtype_ALL.
307 * config/rs6000/rs6000.c (rs6000_override_options): Rearrange
308 CPU information table; now always set all CPU-specific values.
309 Also, use Altivec and powerpc64 when chip and OS supports them.
310
311 2003-12-18 Geoffrey Keating <geoffk@apple.com>
312
313 * fixinc/inclhack.def (darwin_macho_dyldh): New.
314 * fixinc/fixincl.x: Regenerate.
315
316 2003-12-18 Dara Hazeghi <dhazeghi@yahoo.com>
317
318 * version.c (version_string): Renumber as 3.4.0
319 * doc/include/gcc-common.texi: Likewise
320
321 2003-12-18 Richard Henderson <rth@redhat.com>
322
323 * genrecog.c (print_host_wide_int): New.
324 (write_switch, write_cond): Use it.
325
326 2003-12-18 Richard Henderson <rth@redhat.com>
327
328 * c-decl.c (check_bitfield_type_and_width): Remove enum special
329 case suppression of pedwarn.
330 * system.h (ENUM_BITFIELD): Use __extension__.
331 (CHAR_BITFIELD): Likewise.
332
333 2003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
334 Mark Dettinger <dettinge@de.ibm.com>
335
336 * config/s390/s390.md (UNSPEC_SRST): New constant.
337 ("strlendi", "strlensi"): New expanders.
338 ("*strlendi", "*strlensi"): New insns.
339
340 2003-12-18 Mark Mitchell <mark@codesourcery.com>
341
342 * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
343 (LINK_ARCH32_SPEC_BASE): ... this new macro.
344 * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
345 ...
346 (LINK_ARCH64_SPEC_BASE): ... this new macro.
347 * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
348 (LINK_ARCH64_SPEC): Likewise.
349
350 2003-12-18 Jason Merrill <jason@redhat.com>
351
352 PR middle-end/13234
353 * tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
354 classes.
355
356 2003-12-18 Steven Bosscher <stevenb@suse.de>
357
358 * Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
359 * toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
360 Don't push and pop TV_REORDER_BLOCKS timevars, do it...
361 * bb-reorder.c (reorder_basic_blocks): ...here, and...
362 * tracer.c (tracer): here.
363
364 2003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
365
366 * loop.c (move_movables): Handle combination of m->consec,
367 m->move_insn_first, and m->insert_temp all nonzero correctly.
368
369 2003-12-18 Kazu Hirata <kazu@cs.umass.edu>
370
371 * calls.c (load_register_parameters): Don't use
372 LOAD_ARGS_REVERSED.
373 * system.h (LOAD_ARGS_REVERSED): Poison.
374 * doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
375
376 2003-12-17 Per Bothner <per@bothner.com>
377
378 * emit-rtl.c (set_new_first_and_last_label_num): Remove function.
379 * rtl.h (set_new_first_and_last_label_num): Remove declaration.
380
381 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
382
383 * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
384 scratch insns of the then branch that clobber regs needed by the
385 else branch.
386
387 2003-12-17 Kazu Hirata <kazu@cs.umass.edu>
388
389 * calls.c (expand_call): Update comments.
390 * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
391 * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
392
393 2003-12-17 James E Wilson <wilson@specifixinc.com>
394 Roger Sayle <roger@eyesopen.com>
395
396 * Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
397 * gcse.c: Include tree.h.
398 (implicit_set_cond_p): New.
399 (find_implicit_sets): Call it.
400
401 2003-12-17 Santiago Vila <sanvila@unex.es>
402
403 * config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
404 TARET_OS_CPP_BUILTINS.
405
406 2003-12-16 Kazu Hirata <kazu@cs.umass.edu>
407
408 * emit-rtl.c: Fix signed/unsigned comparison warnings.
409
410 2003-12-17 Joseph S. Myers <jsm@polyomino.org.uk>
411
412 * predict.c (struct block_info_def, struct edge_info_def): Change
413 bit-fields of width 1 to unsigned int.
414
415 2003-12-16 Geoffrey Keating <geoffk@apple.com>
416
417 PR 12480
418 * c-pch.c (pch_init): Improve error message when precompiled
419 header can't be written.
420
421 PR 12606
422 * c-pch.c (pch_init): Make a PCH file appear invalid while it's
423 being written.
424 (c_common_write_pch): Make it valid once it's done.
425
426 2003-12-17 Ulrich Weigand <uweigand@de.ibm.com>
427
428 PR target/11992
429 * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
430 instead of CLCL.
431 ("*cmpmem_long_31"): Likewise.
432
433 2003-12-17 Vladimir Makarov <vmakarov@redhat.com>
434
435 * config/ia64/ia64.c: Add more comments about insn bundling.
436
437 2003-12-17 Richard Earnshaw <rearnsha@arm.com>
438
439 PR optimization/10592
440 * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
441 or subreg in SET_DEST if it isn't a hard register.
442
443 2003-12-17 David Edelsohn <edelsohn@gnu.org>
444
445 * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
446 -fno-branch-probabilities to arguments when compiling ctors and
447 dtors.
448
449 2003-12-17 Eric Botcazou <ebotcazou@libertysurf.fr>
450
451 * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
452 * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
453
454 2003-12-17 Richard Earnshaw <rearnsha@arm.com>
455
456 * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
457 as base registers for sub-word operations.
458 (thumb_legitimate_address_p): Simplify REG+REG test.
459
460 2003-12-17 Segher Boessenkool <boessen@de.ibm.com>
461
462 * opts.c (wrap_help): Fix overflow.
463
464 2003-12-17 Fred Fish <fnf@redhat.com>
465
466 * configure.in: Remove code to examine linker scripts and set
467 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
468 * configure, config.in: Regenerate.
469
470 2003-12-16 Mark Mitchell <mark@codesourcery.com>
471
472 PR c++/12218
473 * varasm.c (initializer_constant_valid_p): Allow a conversion from
474 an integral constant to an OFFSET_TYPE.
475
476 2003-12-16 Kazu Hirata <kazu@cs.umass.edu>
477
478 PR target/11012
479 * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
480 gen_cmp_ne_small_const_insn.
481 * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
482
483 2003-12-17 Neil Booth <neil@daikokuya.co.uk>
484 Joseph S. Myers <jsm@polyomino.org.uk>
485
486 PR c/3347
487 * c-decl.c (enum_decl_context): Remove BITFIELD.
488 (grokdeclarator): Take bit-field width as an input.
489 Perform bit-field width validation with
490 check_bitfield_type_and_width rather than waiting for
491 finish_struct.
492 (groktypename, groktypename_in_parm_context, start_decl,
493 push_parm_decl, grokfield, start_function): Update calls to
494 grokdeclarator.
495 (check_bitfield_type_and_width): New function.
496 (finish_struct): Move bit-field validation to grokdeclarator
497 and check_bitfield_type_and_width.
498
499 2003-12-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
500
501 PR bootstrap/13386
502 * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
503 using HP native linker.
504 * configure: Rebuilt.
505
506 2003-12-16 Mark Mitchell <mark@codesourcery.com>
507
508 PR c++/13275
509 * c-common.h (enum rid): Add RID_OFFSETOF.
510 * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
511 * ginclude/stddef.h (offsetof): Reimplement for C++, using
512 __offsetof__.
513 * doc/extend.texi: Document __offsetof__.
514
515 2003-12-16 Stan Cox <scox@redhat.com>
516
517 * config/iq2000/iq2000.h: Formatting.
518 (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
519 (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
520 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
521 * config/iq2000/iq2000.c: Formatting.
522 (iq2000_rtx_costs): New.
523
524 2003-12-16 Richard Earnshaw <rearnsha@arm.com>
525
526 * arm.md (addsi3_carryin_shift): Add missing register constraints.
527
528 2003-12-16 Loren James Rittle <ljrittle@acm.org>
529
530 * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
531 pass with -pthread on FreeBSD systems.
532
533 2003-12-16 Richard Sandiford <rsandifo@redhat.com>
534
535 * config/mips/mips.c (mips_file_end): Only write symbols that have
536 been referenced at some point.
537
538 2003-12-16 Richard Sandiford <rsandifo@redhat.com>
539
540 * config/mips/mips.c: Include langhooks.h
541 (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
542
543 2003-12-16 Eric Botcazou <ebotcazou@libertysurf.fr>
544
545 PR optimization/13313
546 * combine.c (make_extraction) [REG]: Do not use
547 gen_lowpart_for_combine when POS is non-zero.
548
549 2003-12-16 Hartmut Penner <hpenner@de.ibm.com>
550
551 * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
552 * testsuite/gcc.dg/altivec-10.c: Test for above.
553
554 2003-12-15 David O'Brien <obrien@FreeBSD.org>
555
556 * Makefile.in (CPPFLAGS): Initialize from configure.
557
558 2003-12-15 Roger Sayle <roger@eyesopen.com>
559
560 PR middle-end/13400
561 * ifcvt.c (noce_process_if_block): Disable unconditional write
562 optimizations if we could introduce a store to trapping memory
563 that wasn't present previously.
564
565 2003-12-15 Kazu Hirata <kazu@cs.umass.edu>
566
567 * system.h (DEFAULT_CALLER_SAVES): Poison.
568 * toplev.c (flag_caller_saves): Always initialize with 0.
569 * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
570
571 2003-12-15 Kazu Hirata <kazu@cs.umass.edu>
572
573 * flow.c (EXIT_IGNORE_STACK): Move to ...
574 * defaults.h (EXIT_IGNORE_STACK): ... here.
575 * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
576 EXIT_IGNORE_STACK.
577 * function.c (expand_function_end): Likewise.
578 * global.c (global_alloc): Likewise.
579 * ra.c (init_ra): Likewise.
580 * reload1.c (init_elim_table): Likewise.
581 * reorg.c (fill_simple_delay_slots): Likewise.
582 * resource.c (init_resource_info): Likewise.
583 * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
584 is 0.
585
586 2003-12-15 J"orn Rennecke <joern.rennecke@superh.com>
587
588 * reload.c (reg_overlap_mentioned_for_reload_p):
589 When looking at a PLUS in X, avoid spuriously returning nonzero
590 when IN is a REG or another simple PLUS, or a MEM containing one.
591
592 * loop.c (loop_invariant_p): Amend comment about where new registers
593 might come from.
594
595 2003-12-15 Andreas Jaeger <aj@suse.de>
596
597 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
598 handling of obsolete language CHILL.
599
600 2003-12-15 Waldek Hebisch <hebisch@math.uni.wroc.pl>
601
602 * tree.c (initializer_zerop): Add test for empty set.
603 * integrate.c (function_cannot_inline_p): Forbid inlining
604 functions calling `longjmp'.
605
606 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
607
608 PR c++/11773
609 * doc/gcov.texi (Gcov and Optimization): Document inline function
610 behaviour. Fix some file suffixes.
611
612 2003-12-14 David O'Brien <obrien@FreeBSD.org>
613
614 * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
615
616 2003-12-14 Mark Mitchell <mark@codesourcery.com>
617
618 * c-common.h (c_parse_error): Declare it.
619 * c-common.c (c_parse_error): New function.
620 * c-parse.y (yyerror): Use it.
621
622 2003-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
623
624 PR target/13054
625 * pa-protos.h (indexed_memory_operand, borx_reg_operand,
626 move_dest_operand, move_src_operand): New protypes.
627 (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
628 * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
629 move_src_operand): New functions.
630 (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
631 (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
632 address until cse is not expected on targets with non-equivalent
633 space registers.
634 (hppa_legitimize_address): Canonicalize unscaled indexed addresses
635 on targets non-equivalent space registers.
636 (emit_move_sequence): Break out indexed addresses from destination
637 operand. Similarly, break out unscaled indexed addresses from
638 source operand on targets with non-equivalent space registers. Fix
639 REG_POINTER flag when possible. Mark register pointer when creating
640 new pointers.
641 (print_operand): Handle unscaled index addresses.
642 * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
643 for EXTRA_CONSTRAINT.
644 (EXTRA_CONSTRAINT): Rework to make more readable.
645 (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
646 subroutines for GO_IF_LEGITIMATE_ADDRESS.
647 (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines. Allow scaled
648 and unscaled addresses. Canonicalize unscaled indexed addresses on
649 targets with non-equivalent space registers. Document issues in
650 handling indexed address modes on PA-RISC.
651 (PREDICATE_CODES): Update for new and deleted predicates.
652 * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
653 Use new predicates in move patterns.
654 Add peephole2 patterns to optimize floating point stores. Fix
655 constrain preferencing in move patterns. Delete patterns for handling
656 unscaled indexed memory loads. Add missing load and store with
657 base-register modification patterns. Correct SFmode floating point
658 store pattern. Add missing zero extension loads.
659
660 2003-12-13 Steven Bosscher <stevenb@suse.de>
661
662 * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
663 comes in with ggc.h. Add a new bool field `dead'.
664 (destroy_ggc_zone): Don't destroy a zone at once. Instead, only
665 set the `dead' flag for the dead zone. Wrap a sanity check in
666 ENABLE_CHECKING.
667 (ggc_collect_1): Always mark and sweep if a zone has the `dead'
668 flag set.
669 (ggc_collect): Free dead zones after collecting.
670
671 2003-12-13 Jan Hubicka <jh@suse.cz>
672
673 * coverage.c (get_coverage_counts): Use inform instead of warning
674 about missing profile.
675
676 2003-12-12 Steven Bosscher <stevenb@suse.de>
677
678 * Makefile.in (opts.o, explow.o): Depend on langhooks.h
679
680 2003-12-12 Geoffrey Keating <geoffk@apple.com>
681
682 * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
683 <powerpc-*-darwin*>: Likewise.
684
685 2003-12-12 Jakub Jelinek <jakub@redhat.com>
686
687 * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
688 (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
689 br_loc[7]. Update comment.
690 (MD_HANDLE_UNWABI): Define.
691 * config/ia64/unwind-ia64.c (struct unw_state_record): Add
692 unwabi field.
693 (struct _Unwind_Context): Increase br_loc array size to 8 entries.
694 (desc_abi): Set unwabi.
695 (uw_update_reg_address): Allow br up to 7.
696 (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
697 (uw_install_context): Load b1..b5 from correct locations.
698 Fix insn loading ar.fpsr.
699 * doc/tm.texi: Document MD_HANDLE_UNWABI.
700
701 2003-12-12 Roger Sayle <roger@eyesopen.com>
702
703 PR optimization/13037
704 * loop.c (update_giv_derive): Ignore redundant sets of a biv when
705 calculating how to derive a giv from a biv.
706
707 2003-12-12 Neil Booth <neil@daikokuya.co.uk>
708
709 PR preprocessor/12935 preprocessor/12952 preprocessor/13046
710 * cpplib.c (prepare_directive_trad): Clear skipping only in
711 #if and #elif directives.
712 (do_undef): Call the handler even if the identifier is not a macro.
713 * cpptrad.c (scan_parameters): Emit an error message.
714 (_cpp_create_trad_definition): Remember the params list even on
715 failure.
716
717 2003-12-11 Zack Weinberg <zack@codesourcery.com>
718
719 * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
720 to inline functions: arm_arm_address_cost, arm_thumb_address_cost
721 respectively.
722 (arm_address_cost): Use 'em.
723
724 2003-12-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
725
726 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
727 __STDC_VERSION__ to ISO C94 for C++.
728
729 * fixinc/inclhack.def (alpha_wchar): New fix.
730 * fixinc/fixincl.x: Regenerate.
731 * fixinc/tests/base/wchar.h: New file.
732
733 2003-12-11 David Mosberger <davidm@hpl.hp.com>
734
735 * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
736 required by C++ ABI for Itanium.
737 * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
738 * config/t-libunwind-no-eh: New file.
739 * configure.in: Check libunwind for _Unwind_Resume() and if it's
740 present, set libunwind_has_eh_support to "yes".
741 * configure: Regenerate.
742 * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
743 set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
744
745 2003-12-11 Richard Sandiford <rsandifo@redhat.com>
746
747 * config/mips/mips.c (mips_global_pointer): Force functions with
748 a nonlocal goto to set up $gp.
749
750 2003-12-11 James E Wilson <wilson@specifixinc.com>
751
752 PR target/13132
753 * function.c (gen_mem_addressof): When no decl, explicitly clear flag
754 bits.
755
756 2003-12-12 Nick Clifton <nickc@redhat.com>
757
758 * config/m32r/m32r.c: Convert to ISO-C
759
760 2003-12-12 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
761
762 * doc/invoke.texi: Replace Mitsubishi with Renesas.
763 * config/m32r/m32r.h: Ditto.
764 * config/m32r/m32r.c: Ditto.
765 * config/m32r/m32r.md: Ditto.
766
767 2003-12-11 Steven Bosscher <steven@gcc.gnu.org>
768
769 * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
770 (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
771 (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
772 (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
773 fields of a basic block.
774 * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
775 cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
776 cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
777 final.c, flow.c, function.c, gcse.c, global.c, graph.c,
778 haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
779 loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
780 ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
781 regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
782 sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
783 config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
784 accessing the `head' and `end' fields of a basic block directly.
785
786 * gengtype.c: Teach about "void**" pointers and "void *" function
787 types. Fixes earlier commit.
788
789 2003-12-10 Geoffrey Keating <geoffk@apple.com>
790
791 * doc/extend.texi (Vector Extensions): Document that bitwise
792 operations also work on vectors.
793
794 2003-12-10 Richard Earnshaw <rearnsha@arm.com>
795
796 * arm.md: New split patterns for optimizing bitfield accesses.
797
798 2003-12-10 Steven Bosscher <stevenb@suse.de>
799
800 * README.Portability: Remove K+R section.
801
802 * gengtype-lex.l: Teach about "void**" pointers and
803 "void*" function types.
804
805 2003-12-10 Eric Botcazou <ebotcazou@libertysurf.fr>
806
807 PR target/13354
808 * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
809 manually if one can do that with only one instruction.
810
811 2003-12-10 Nick Clifton <nickc@redhat.com>
812
813 * config.gcc (arm-linux): Include linux.h in tm_file so that
814 LINUX_TARGET_OS_CPP_BUILTINS is defined.
815 * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
816
817 2003-12-09 James E Wilson <wilson@specifixinc.com>
818
819 * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
820
821 2003-12-09 Matt Austern <austern@apple.com>
822
823 PR c/13134
824 * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
825
826 2003-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
827
828 * config/m32r/m32r.h: Add support for m32r2 processor. Including
829 a new command line option -m32r2 to select it.
830 * config/m32r/m32r.c: Add support for the new processor variant.
831 * config/m32r/m32r.md: Likewise.
832 * config/m32r/t-m32r: Add m32r2 multilibs.
833 * doc/invoke.texi: Document the new command line switch.
834
835 2003-12-08 Kazu Hirata <kazu@cs.umass.edu>
836
837 * defaults.h (LOCAL_REGNO): Give the default definition.
838 * flow.c (LOCAL_REGNO): Remove.
839 * reload1.c (LOCAL_REGNO): Likewise.
840
841 2003-12-08 Geoffrey Keating <geoffk@apple.com>
842
843 PR target/11848
844 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
845 in floating-point registers between TFmode and DImode.
846 * rs6000.c (rs6000_emit_move): Split moves early.
847 (secondary_reload_class): Random Whitespace Change.
848 (rs6000_split_multireg_move): Support moves involving FP registers.
849 Emit instructions directly.
850 * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
851 * altivec.md: Update for changes to rs6000_split_multireg_move.
852 * rs6000.md: Update for changes to rs6000_split_multireg_move.
853 (movtf_internal): Support moves to/from GPRs.
854
855 2003-12-08 Stuart Hastings <stuart@apple.com>
856
857 * config/i386/i386.md: Typo in split of fp-valued if_then_else.
858
859 2003-12-08 James E Wilson <wilson@specifixinc.com>
860
861 PR target/13132
862 * expmed.c (extract_bit_field): Only call mode_for_size for scalar
863 integer modes.
864
865 2003-12-08 Nathanael Nerode <neroden@gcc.gnu.org>
866
867 * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
868 directory.
869
870 2003-12-08 Alexandre Oliva <aoliva@redhat.com>
871
872 * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
873 by using match_scratch.
874 (negdi2): New.
875
876 2003-12-08 Jason Merrill <jason@redhat.com>
877 Daniel Berlin <dberlin@dberlin.org>
878
879 PR debug/11114
880 Support namespaces in DWARF 2 output.
881 * dwarf2out.c (gen_namespace_die): New function.
882 (force_namespace_die, setup_namespace_context): New fns.
883 (declare_in_namespace): New fn.
884 (gen_decl_die): Call declare_in_namespace. Handle namespaces.
885 (dwarf2out_decl): Handle namespaces.
886 (scope_die_for): Pass through a namespace scope.
887 (class_scope_p): Rename to class_or_namespace_scope_p.
888 (gen_subprogram_die, gen_variable_die): Adjust.
889 (gen_struct_or_union_die): Always emit a declaration
890 if context_die is a namespace.
891
892 2003-12-08 Jan Hubicka <jh@suse.cz>
893
894 * unwind-pe.h (read_uleb128): Fix handling of large values
895 (read_sleb128): Fix handling of large values
896
897 2003-12-08 Andrew Pinski <pinskia@physics.uc.edu>
898
899 PR middle-end/10060
900 * emit-rtl.c (copy_rtx_if_shared): Split out into ...
901 (copy_rtx_if_shared_1): here and optimize the last one
902 in the sequence into tail-recursion.
903 (reset_used_flags): Optimize the last one
904 in the sequence into tail-recursion.
905
906 2003-12-08 Richard Earnshaw <rearnsha@arm.com>
907
908 * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
909 for constant X.
910
911 2003-12-08 Richard Sandiford <rsandifo@redhat.com>
912
913 * calls.c (expand_call): Don't try using tail or recursive calls
914 after the function body has been expanded.
915
916 2003-12-08 Jan Hubicka <jh@suse.cz>
917
918 * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
919
920 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
921
922 PR ada/13324, PR ada/12614
923 * doc/install.texi: Update requirements for building Ada.
924
925 2003-12-07 David Edelsohn <edelsohn@gnu.org>
926 Graham Reed <greed@pobox.com>
927
928 * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
929 (GCC_UNDEF_SYMBOL): Same.
930
931 2003-12-07 Kazu Hirata <kazu@cs.umass.edu>
932
933 * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
934 * system.h (FINAL_PRESCAN_LABEL): Poison.
935 * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
936
937 2003-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
938
939 * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
940
941 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
942
943 * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
944 * configure: Regenerate with autoconf 2.13.
945
946 * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
947 with modern equivalents.
948 * configure: Regenerate.
949
950 * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
951 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
952 * configure: Regenerate.
953
954 * configure: Regenerate with (preferred) autoconf 2.57.
955 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
956
957 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
958
959 PR optimization/12965
960 * caller-save.c (save_call_clobbered_regs): Do not save/restore
961 registers around no-return calls.
962
963 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
964
965 * configure.in: Make minimum necessary changes for autoconf 2.5x.
966 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
967 * configure: Regenerate with autoconf 2.58.
968
969 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
970
971 PR optimization/13318
972 * loop.c (express_from): Protect integer division from overflow.
973
974 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
975
976 PR optimization/13060
977 * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
978 replacement already exists. Fix again the whole insn if that fails.
979
980 2003-12-06 Andrew Pinski <pinskia@physics.uc.edu>
981
982 * config/rs6000/rs6000.c (macho_branch_islands): Use
983 HOST_WIDE_INT_PRINT_UNSIGNED.
984
985 2003-12-06 Richard Sandiford <rsandifo@redhat.com>
986
987 * varasm.c (incorporeal_function_p): New.
988 (assemble_external): Use it as a filter.
989 * config/mips/mips.c (mips_output_external): Don't check for builtin
990 functions here.
991
992 2003-12-06 Richard Earnshaw <reanrsha@arm.com>
993
994 * arm.md (IOR (COMPARISON) (AND)): New define_splits.
995
996 2003-12-06 Kelley Cook <kcook@gcc.gnu.org>
997
998 * Makefile.in (program_transform_cross_name): Delete.
999 (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
1000 (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
1001 (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
1002 (install_cpp, install_driver, install-man, uninstall): Likewise.
1003
1004 2003-12-06 Alan Modra <amodra@bigpond.net.au>
1005
1006 PR 13169
1007 * basic-block.h (PROP_ASM_SCAN): Define.
1008 * final.c (regs_asm_clobbered): New array.
1009 * regs.h (regs_asm_clobbered): Declare.
1010 * flow.c (life_analysis): Init it.
1011 (mark_set_regs): Set PROP_ASM_SCAN for asms.
1012 (mark_set_1): Set regs_asm_clobbered.
1013 * global.c (global_alloc): Don't set eliminable_regset when
1014 regs_asm_clobbered.
1015
1016 2003-12-05 Mark Mitchell <mark@codesourcery.com>
1017
1018 * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
1019
1020 PR c++/13314
1021 * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
1022
1023 2003-12-05 Andrew Pinski <pinskia@physics.uc.edu>
1024
1025 PR driver/13211
1026 * gcc.c (execute) Increment execution_count when returning
1027 early because verbose_only_flag is true.
1028
1029 2003-12-05 Per Bothner <pbothner@apple.com>
1030
1031 * cppfiles.c (file_hash_hash): New static function.
1032 (hash_string_eq): Renamed static function to file_hash_eq.
1033 (_cpp_init_files): Create file_hash table with above callbacks.
1034 (cpp_included): Must use htab_find_with_hash insead of htab_find.
1035 (_cpp_find_find, make_cpp_dir): Must use htab_find_slot_with_hash.
1036
1037 2003-12-05 Per Bothner <pbothner@apple.com>
1038
1039 * line-map.h (source_location): New typedef.
1040 (fileline): Redefined as source_location.
1041 (struct line_map, linemap_add, linemap_lookup): Replace filefile
1042 by source_location.
1043 * line-map.c (linemap_add, linemap_lookup): Use source_location.
1044
1045 2003-12-05 Richard Henderson <rth@redhat.com>
1046
1047 * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
1048 field to suppress -Wpadded warnings.
1049
1050 2003-12-05 Stuart Hastings <stuart@apple.com>
1051
1052 * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
1053
1054 2003-12-05 Stuart Menefy <stuart.menefy@st.com>
1055 J"orn Rennecke <joern.rennecke@superh.com>
1056
1057 PR target/13302
1058 * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
1059
1060 2003-12-05 Roger Sayle <roger@eyesopen.com>
1061
1062 * dojump.c (do_jump): If the expression being compared against
1063 zero, is the subreg of a promoted variable, perform the comparison
1064 in the promoted mode.
1065 * simplify-rtx.c (simplify_unary_operation): Optimize sign and
1066 zero-extensions of subregs of promoted variables where the
1067 extension is identical to that used to promote the variable.
1068
1069 2003-12-05 Hans-Peter Nilsson <hp@axis.com>
1070
1071 PR target/13256
1072 * resource.h (enum mark_resource_type): Remove member MARK_DEST.
1073 The only user changed as follows:
1074 * resource.c (mark_set_resources) <case SET>: Always recurse for
1075 SET_SRC (x).
1076 <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
1077 operands.
1078 <case STRICT_LOW_PART>: Delete, deferring to default code.
1079
1080 2003-12-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1081
1082 * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
1083 and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
1084
1085 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
1086
1087 * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
1088 for n32 & n64 abicalls.
1089
1090 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
1091
1092 PR bootstrap/13145
1093 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
1094 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
1095 (mips_load_got): Always create a constant MEM.
1096 (mips_expand_call): Use load_callsi and load_calldi.
1097 * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
1098 (load_callsi, load_calldi): New patterns.
1099
1100 2003-12-05 Peter Gerwinski <peter@gerwinski.de>
1101
1102 * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
1103
1104 2003-12-05 Steven Bosscher <stevenb@suse.de>
1105
1106 * config/d30v/d30v-protos.h , config/d30v/d30v.c,
1107 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1108 config/fr30/fr30-protos.h, config/fr30/fr30.c,
1109 config/i370/i370-protos.h, config/i370/i370.c,
1110 config/i960/i960-protos.h, config/i960/i960.c,
1111 config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
1112 config/m32r/m32r-protos.h, config/m32r/m32r.c,
1113 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
1114 config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
1115 Convert to ISO C90 function declarations and definitions.
1116
1117 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1118
1119 * doc/extend.texi (Constructing Calls): Add warning about
1120 the limitations of the functions.
1121
1122 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1123
1124 PR middle-end/11151
1125 * function.h (struct function): New field 'x_naked_return_label'.
1126 * function.c (free_after_compilation): Set it to NULL.
1127 (expand_function_end): Emit 'naked_return_label' if it exists.
1128 * rtl.h (expand_naked_return): Declare.
1129 * stmt.c (expand_naked_return): New function to generate a
1130 jump to 'naked_return_label'.
1131 * builtins.c (expand_builtin_return): Call expand_naked_return
1132 instead of expand_null_return.
1133 * config/sparc/sparc.md (untyped_return): Likewise.
1134
1135 2003-12-04 Andrew Pinski <pinskia@physics.uc.edu>
1136
1137 PR target/11322
1138 * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
1139
1140 PR target/12467
1141 * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
1142
1143 2003-12-04 Stuart Hastings <stuart@apple.com>
1144
1145 * rs6000.c (output_call, macho_branch_islands,
1146 add_compiler_branch_island, no_previous_def, get_previous_label)
1147 Revisions of xx_stub functions for branch islands,
1148 add -fPIC support for Darwin.
1149 * rs6000-protos.h (output_call) Prototype.
1150 * rs6000.md Use output_call.
1151 * invoke.texi Explain Darwin semantics of -longcall.
1152 * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
1153
1154 2003-12-04 Richard Henderson <rth@redhat.com>
1155
1156 * config/i386/i386.md (addqi3_carry): Use q not r constraints.
1157 (subqi3_carry): Likewise.
1158
1159 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1160
1161 PR optimization/13260
1162 * sh-protos.h (sh_expand_t_scc): Declare.
1163 * sh.h (PREDICATE_CODES): Add cmpsi_operand.
1164 * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
1165 * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
1166 something that is not a CONST_INT, copy it into a pseudo register.
1167 (subc): Fix description of new T value.
1168 (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
1169 (sltu, sleu, sgeu): Likewise.
1170 (seq, sne): Likewise. Use sh_expand_t_scc.
1171
1172 2003-12-04 Nathanael Nerode <neroden@gcc.gnu.org>
1173
1174 * configure.in: Generalize the CONFIG_HEADERS pattern under which
1175 we stamp cstamp-h.
1176 * configure: Regenerate.
1177
1178 * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
1179 to avoid trouble when updating to autoconf 2.5x.
1180 * configure: Regenerate (with autoconf 2.13 still).
1181
1182 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1183
1184 * sh.md (truncdiqi2): Use andi opcode for immediate.
1185 (reload_outdf+1,reload_outdf+2): Remove constraints.
1186 (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
1187 (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
1188 (fipr, ftrv): Add .s suffix to opcode.
1189
1190 2003-12-04 Richard Sandiford <rsandifo@redhat.com>
1191
1192 PR target/13186
1193
1194 Revert all of the following patch, except the addition of
1195 hook_bool_machine_mode_true:
1196
1197 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
1198
1199 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1200 (GTFILES): Add targhooks.c.
1201 (gt-targhooks.h): New rule; depend on s-gtype.
1202 * target.h (direct_pool_load_p): New hook.
1203 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1204 (TARGET_INITIALIZER): Include it.
1205 * targhooks.h (default_direct_pool_load_p): Declare.
1206 (hook_bool_machine_mode_true): Declare.
1207 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1208 gt-targhooks.h.
1209 (pool_symbol): New variable.
1210 (default_direct_pool_load_p): New function.
1211 (hook_bool_machine_mode_true): New function.
1212 * reload.c: Include target.h.
1213 (find_reloads): If an alternative will force a constant into memory,
1214 count an extra reload if constant pool symbols are not valid
1215 addresses. If an alternative uses memory to move values between
1216 registers, count the move as two reloads rather than one.
1217 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1218 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1219
1220 2003-12-03 Mark Mitchell <mark@codesourcery.com>
1221
1222 * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
1223 * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
1224 HAVE_AS_TLS is true.
1225 * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
1226
1227 2003-12-03 James E Wilson <wilson@specifixinc.com>
1228
1229 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
1230
1231 * gcc-page.c (extra_order_size_tab): Correct comment.
1232
1233 2003-12-03 Kazu Hirata <kazu@cs.umass.edu>
1234
1235 * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
1236 instead of gen_push_h8300hs.
1237 (pop): Call gen_pop_h8300hs_advanced instead of
1238 gen_pop_h8300hs.
1239 * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
1240 * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
1241 Tighten the predicate.
1242 (*tablejump_h8300hs_normal): Tighten the predicate.
1243 (push_h8300hs): Change to
1244 push_h8300hs_advanced.
1245 (pop_h8300hs): Change to pop_h8300hs_advanced.
1246
1247 2003-12-03 Eric Christopher <echristo@redhat.com>
1248
1249 * rtl.c: Fix typo.
1250 * config/mips/mips.h: Ditto. Fix formatting.
1251
1252 2003-12-04 Ben Elliston <bje@wasabisystems.com>
1253
1254 * future.options: Remove. Move to gnu.org web pages.
1255
1256 2003-12-03 Eric Christopher <echristo@redhat.com>
1257
1258 * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
1259 from here...
1260 * c-tree.h: to here.
1261
1262 2003-12-03 Jan Hubicka <jh@suse.cz>
1263
1264 PR optimization/12324
1265 * toplev.c (rest_of_decl_compilation): Do not deffer when compiling
1266 in unit-at-a-time mode.
1267
1268 2003-12-03 Jakub Jelinek <jakub@redhat.com>
1269
1270 * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
1271 read-only field if cleared is 0.
1272
1273 2003-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
1274
1275 * config.gcc: Mark obsolete targets for GCC 3.4.
1276
1277 2003-12-03 Zack Weinberg <zack@codesourcery.com>
1278
1279 * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
1280 * config.in, configure.in: Regenerate.
1281 * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
1282 including iconv.h.
1283
1284 2003-12-03 Alan Modra <amodra@bigpond.net.au>
1285
1286 PR target/11229
1287 * cse.c (cse_insn): Set classp using src_const_elt if
1288 src_eqv_elt is NULL.
1289
1290 2003-12-03 Richard Earnshaw <rearnsha@arm.com>
1291
1292 * gcse.c (reg_clear_last_set): New function.
1293 (reg_set_info): If data is non-null, treat it as an sbitmap of
1294 registers, set the bit for the register being set.
1295 (compute_store_table): Allocate last_set_in with xcalloc. Do not
1296 memset this array on each iteration. Pass reg_set_in_block[bb->index]
1297 to note_stores while computing last_set_in instead of scanning
1298 last_set_in after the first pass through the insns.
1299 Clear last_set_in using reg_clear_last_set instead of explicitly
1300 rescanning after each insn. If checking is enabled, assert that
1301 last_set_in is completely zeroed after each bb has been processed.
1302
1303 2003-12-02 Geoffrey Keating <geoffk@geoffk.org>
1304
1305 * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
1306 never read-write.
1307 <REG>: Delete incorrect comment.
1308 <SET>: Remove 'use_flags' variable.
1309
1310 2003-12-03 David Edelsohn <edelsohn@gnu.org>
1311
1312 * function.c (assign_parms): Make sure parm PARALLEL combined
1313 in reg is composed of more than one object and the mode really
1314 produces a reg.
1315
1316 2003-12-03 Jan Hubicka <jh@suse.cz>
1317
1318 * i386.c (classify_argument): Make it 64bit clean.
1319
1320 2003-12-02 Richard Sandiford <rsandifo@redhat.com>
1321
1322 * config/mips/mips.c (mips_output_external): Replace checks for
1323 specific builtin-in functions with a check for DECL_BUILTIN_IN.
1324
1325 2003-12-02 Richard Henderson <rth@redhat.com>
1326
1327 * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
1328 * tree.h (TREE_SET_CODE): Likewise.
1329 * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
1330
1331 2003-12-02 Ben Elliston <bje@wasabisystems.com>
1332
1333 * dbxstclass.h: Rename from this ..
1334 * xcoff.h: .. to this.
1335 * xcoffout.c: Include xcoff.h.
1336
1337 2003-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1338
1339 * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
1340
1341 2003-12-01 James Lemke <jim@wasabisystems.com>
1342
1343 * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
1344
1345 2003-12-01 Roger Sayle <roger@eyesopen.com>
1346
1347 PR optimization/11634
1348 * recog.c (split_insn): Factor test of INSN_P and handling of
1349 set_noop_p out of here into the two callers.
1350 (split_all_insns): Add INSN_P test and set_noop_p handling here.
1351 If deleting a no-op set after reload that has a REG_UNUSED note,
1352 mark the basic block as changed and recalculate life information.
1353 (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
1354 here.
1355
1356 2003-12-01 Roger Sayle <roger@eyesopen.com>
1357
1358 PR optimization/12322
1359 * gcse.c (struct ls_expr): Change type of hash_index from int to
1360 unsigned int.
1361 (hash_expr): Document hash_table_size parameter and wrap long line.
1362 (ldst_entry): Calculate expression's hash_index and record in ptr.
1363 (trim_ld_motion_mems): Use hash_index to search a single bucket
1364 instead of scanning the entire hash_table. Remove the "del" local
1365 variable and use the equivalent "expr == 0" instead. Change last
1366 to be a pointer to the pointer to the current element, to simplify
1367 and speed-up deleting from a linked list.
1368
1369 2003-12-01 James E Wilson <wilson@specifixinc.com>
1370
1371 * doc/contrib.texi: Update David Mosberger.
1372
1373 * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
1374 of missing fields.
1375
1376 PR target/8407
1377 * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
1378 gen_rtx_REG to create new reg with argument mode.
1379
1380 2003-12-01 Steven Bosscher <stevenb@suse.de>
1381
1382 * ggc.h (struct alloc_zone): Move forward declaration up.
1383 (new_ggc_zone): New function prototype.
1384 (destroy_ggc_zone): Ditto.
1385 * ggc-simple.c (new_ggc_zone): New function, does nothing.
1386 (destroy_ggc_zone): Ditto.
1387 * ggc-page.c (new_ggc_zone): New function, does nothing.
1388 (destroy_ggc_zone): Ditto.
1389 * ggc-zone.c (struct page_entry): Fix comment.
1390 (ggc_alloc_typed): Use a switch statement instead of ifs.
1391 (new_ggc_zone): New function to set up a new GC zone.
1392 (destroy_ggc_zone): New function to remove a GC zone.
1393 init_ggc): Use new_ggc_zone to set up the default zones.
1394 (ggc_collect): Walk a list of zones, instead of just the
1395 default zones. Report statistics using the zone name.
1396
1397 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1398
1399 * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
1400
1401 2003-12-01 Roger Sayle <roger@eyesopen.com>
1402
1403 PR optimization/12628
1404 * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
1405 * regclass.c (reg_scan): Include allocate_reg_info time in
1406 TV_REG_SCAN. Minor clean-ups.
1407 (reg_scan_update): Minor clean-ups.
1408
1409 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1410
1411 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
1412
1413 2003-12-01 James E Wilson <wilson@specifixinc.com>
1414
1415 * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
1416 GR_ARG_FIRST.
1417
1418 2003-12-01 Zack Weinberg <zack@codesourcery.com>
1419
1420 * common.opt: Remove -fgnu-linker.
1421 * flags.h: Remove flag_gnu_linker.
1422 * opts.c: Don't handle OPT_fgnu_linker.
1423 * toplev.c: Don't initialize flag_gnu_linker.
1424 Remove gnu-linker entry from f_options.
1425 * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
1426 Don't reset flag_gnu_linker.
1427 * config/mips/mips.c (override_options): Likewise.
1428 * doc/invoke.texi: Remove all mention of -fgnu-linker.
1429
1430 2003-12-01 Daniel Berlin <dberlin@dberlin.org>
1431
1432 * ggc-zone.c (ggc_pch_write_object): Calculate object size using
1433 ggc_get_size (which accounts for large objects properly).
1434
1435 2003-12-01 Jeff Sturm <jsturm@one-point.com>
1436
1437 PR optimization/13024
1438 * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
1439 parameter.
1440 (rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
1441 declaration. Rebuild jump labels following local_alloc if necessary.
1442 (rest_of_compilation): Remove rebuild_label_notes_after_reload
1443 declaration. Don't pass rebuild_notes parameter to
1444 rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
1445 Don't rebuild jump labels.
1446
1447 2003-12-01 Jeff Law <law@redhat.com>
1448
1449 * flow.c (count_or_remove_death_notes_bb): New. Extracted from
1450 count_or_remove_death_notes.
1451 (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
1452
1453 2003-12-01 Andreas Krebbel <krebbel1@de.ibm.com>
1454
1455 * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
1456
1457 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1458
1459 * reload.c (find_reloads_address): Split addresses of type
1460 (plus (plus (reg) (reg)) (const_int)) only if one register
1461 is either a valid base register or else one of the stack
1462 frame related registers (sp/fp/ap).
1463
1464 2003-12-01 Steven Bosscher <stevenb@suse.de>
1465
1466 * function.c (update_epilogue_consts): Don't use PARAMS.
1467 * rtl.h (web_main): Ditto.
1468 * target.h (is_costly_dependence): Ditto
1469
1470 2003-12-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1471
1472 PR middle-end/7847
1473 * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
1474 do not recheck that 'op0' is a MEM. Move comment. When testing for
1475 unaligned objects, take also into account the alignment of 'op0' and
1476 'mode1' if 'op0' is a MEM.
1477
1478 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1479
1480 * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
1481
1482 2003-12-01 Kelley Cook <kcook@gcc.gnu.org>
1483
1484 * doc/install.texi: Note that fastjar is built with automake 1.7.x
1485 and autoconf 2.57.
1486
1487 2003-12-01 Alan Modra <amodra@bigpond.net.au>
1488
1489 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
1490 target_flags directly rather than using TARGET_* defines.
1491
1492 2003-11-30 Ben Elliston <bje@wasabisystems.com>
1493
1494 * doschk.c: Remove.
1495
1496 2003-11-30 Richard Sandiford <rsandifo@redhat.com>
1497
1498 PR target/12727
1499 * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
1500 on 32-bit big-endian targets.
1501
1502 2003-11-30 Kazu Hirata <kazu@cs.umass.edu>
1503
1504 * genemit.c (register_constraints): Remove.
1505
1506 2003-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
1507
1508 * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
1509 "iordi3"): Insns now use multiple letter constraints.
1510 ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
1511 covered by "*movdi_64".
1512 ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
1513 covered by "*movsi_zarch" and "*movsi_esa".
1514 ("*movsi_zarch", "*movsi_!zarch"): New insns.
1515 ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
1516 by "*andsi3_zarch" and "anddi3".
1517 ("*anddi3_ni"): Insn merged with "anddi3".
1518 ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
1519 ("*andsi3_zarch", "*andsi3_esa"): New insns.
1520 ("*iordi3_oi"): Insn merged with "iordi3".
1521 ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
1522 ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
1523
1524 * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
1525 merged to s390_single_part.
1526 (s390_single_part): New function.
1527 NOTE: Semantics have changed a bit. Now the value of the part must
1528 be different from the others to get a non-negative return value.
1529 (s390_extract_qi, s390_extract_hi): Functions merged to
1530 s390_extract_part.
1531 (s390_extract_part, s390_extra_constraint_str,
1532 s390_const_ok_for_constraint_p): New functions. The L constraint got a
1533 new meaning and the N constraint was added as a multiple letter
1534 constraint.
1535 (s390_extra_constraint): Function deleted.
1536 (print_operand): New output modifier 'i' and 'j' added.
1537 All uses of CONST_OK_FOR_LETTER_P were replaced by
1538 CONST_OK_FOR_CONSTRAINT_P.
1539
1540 * config/s390/s390-protos.h: Function prototypes adapted.
1541 * doc/md.texi: Documentation for new constraint letters added.
1542
1543 2003-11-30 Andreas Schwab <schwab@suse.de>
1544
1545 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
1546
1547 2003-11-29 James E Wilson <wilson@specifixinc.com>
1548
1549 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
1550 instead of in shared_name.
1551
1552 * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
1553 * reload1.c (reload): Re-add it here.
1554
1555 2003-11-30 Alan Modra <amodra@bigpond.net.au>
1556
1557 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
1558 set SECTION_WRITE on TARGET_RELOCATABLE.
1559
1560 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
1561
1562 * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
1563
1564 2003-11-28 Gunther Nikl <gni@gecko.de>
1565
1566 * config/m68k/m68k.c (MOTOROLA): Move from here...
1567 * config/m68k/m68k.h (MOTOROLA): ... to here.
1568 (OUTPUT_JUMP): Use do {...} while (0).
1569 * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
1570
1571 2003-11-28 Gunther Nikl <gni@gecko.de>
1572
1573 * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
1574 m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
1575 MOTOROLA and USE_GAS.
1576 * config/m68k/rtemself.h (MOTOROLA): Delete.
1577 * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
1578 * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
1579
1580 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
1581
1582 * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
1583
1584 2003-11-29 Kelley Cook <kcook@gcc.gnu.org>
1585
1586 * Makefile.in (install-info): Install gccinstall.info too.
1587
1588 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
1589
1590 * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
1591
1592 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
1593
1594 * config/s390/s390.md ("movhi"): Do not emit extender pattern
1595 when loading from a (MEM (ADDRESSOF ...)).
1596 ("movqi"): Likewise.
1597
1598 2003-11-29 Joseph S. Myers <jsm@polyomino.org.uk>
1599
1600 PR c/10333
1601 * c-parse.in (typespec_reserved_nonattr): Reject typeof on
1602 bit-fields.
1603
1604 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
1605
1606 * stmt.c (expand_asm_operands): Check whether force_const_mem
1607 succeeded.
1608
1609 2003-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1610
1611 * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
1612 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
1613
1614 * config/alpha/gnu.h, config/alpha/linux.h,
1615 config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
1616 config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
1617 config/i386/linux-aout.h, config/i386/linux.h,
1618 config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
1619 config/m68k/uclinux.h, config/mips/linux.h,
1620 config/mn10300/linux.h, config/pa/pa-linux.h,
1621 config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
1622 config/sparc/linux.h, config/sparc/linux64.h,
1623 config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
1624 HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
1625 all necessary assertions are included.
1626
1627 2003-11-28 Jan Hubicka <jh@suse.cz>
1628
1629 * emit-rtl.c (set_used_flags): New.
1630 (verify_rtx_sharing, verify_rtl_sharing): New.
1631 (unshare_all_rtl_1): Rename to....
1632 (unshare_all_rtl_in_chain): ... this one; make static.
1633 (copy_rtx_if_shared): LABEL_REF chan be shared.
1634 * ifcvt.c (unshare_ifcvt_sequence): New.
1635 (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
1636 noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
1637 noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
1638 noce_try_abs, noce_process_if_block, find_cond_trap
1639 * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
1640 Declare.
1641
1642 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1643
1644 * config/h8300/h8300.md: Fix a comment typo.
1645
1646 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1647
1648 * config/h8300/h8300.md (*movsf_h8300h): Change to
1649 *movsf_h8300hs.
1650 (addsi_h8300): Change to *addsi_h8300.
1651 (addsi_h8300h): Change to *addsi_h8300hs.
1652 (subsi3_h8300): Change to *subsi3_h8300.
1653 (subsi3_h8300h): Change to *subsi3_h8300hs.
1654 (neghi2_h8300h): Change to *neghi2_h8300hs.
1655 (negsi2_h8300h): Change to *negsi2_h8300hs.
1656
1657 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1658
1659 * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
1660 constraint.
1661 (*subhi3_h8300hs): Likewise.
1662
1663 2003-11-28 David Edelsohn <edelsohn@gnu.org>
1664
1665 * config/rs6000/rs6000.h (MASK_MFCRF): New.
1666 (TARGET_MFCRF): Test target_flags, not processor type.
1667 (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
1668 Change Don't to Do not.
1669 * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
1670 to power4, 970, G5.
1671
1672 2003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
1673
1674 * cse.c (cse_set_around_loop): When changing a constant load
1675 to a register -register copy, add a REG_EQUAL note.
1676
1677 2003-11-27 Randolph Chung <tausq@debian.org>
1678 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1679
1680 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
1681 insns. Use the regular call expander for the call to the profiler.
1682 * pa.md (call_profiler): Delete.
1683 (load_offset_label_address): New insn to load the address of the
1684 current function for the profiler.
1685 (lcla1, lcla2): New insns to output a code label and load its address.
1686
1687 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1688
1689 * final.c (final_scan_insn): Remove commented-out code.
1690
1691 2003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
1692
1693 * doc/install.texi: Remove ADAC reference and make accurate.
1694
1695 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1696
1697 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
1698 (FUNCTION_VALUE_REGNO_P): Likewise.
1699 * config/h8300/h8300.md: Define R0_REG.
1700
1701 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1702
1703 * config/h8300/h8300.c: Fix formatting.
1704 * config/h8300/h8300.md: Likewise.
1705
1706 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1707
1708 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
1709
1710 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1711
1712 * config/h8300/h8300.md: Give names to anonymous insns.
1713
1714 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1715
1716 * config/h8300/h8300.md (extendqisi2): Remove constraints.
1717
1718 2003-11-27 Gunther Nikl <gni@gecko.de>
1719
1720 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
1721
1722 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1723
1724 PR optimization/13041
1725 * final.c (frame_pointer_needed): Fix comment.
1726 * reload1.c (reload): Decrease alignment of the frame
1727 pointer if it was used for register allocation.
1728
1729 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1730
1731 PR target/12900
1732 * reg-stack (move_for_stack_reg): New prototype. Return
1733 whether a control flow insn was deleted.
1734 (subst_stack_regs_pat): Likewise, using the information provided
1735 by move_for_stack_reg.
1736 (subst_stack_regs): Likewise, using the information provided
1737 by subst_stack_regs_pat.
1738 (convert_regs_1): Record whether a control flow insn was deleted,
1739 using the information provided by subst_stack_regs. Purge dead
1740 edges only if a control flow insn was deleted.
1741
1742 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1743
1744 PR middle-end/8028
1745 PR middle-end/9890
1746 PR middle-end/11151
1747 PR middle-end/12210
1748 PR middle-end/12503
1749 PR middle-end/12692
1750 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
1751 as the base address to copy the memory arguments to.
1752
1753 2003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
1754
1755 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
1756 function aliases as functions.
1757
1758 2003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
1759
1760 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
1761 of ADAC.
1762 * configure: Regenerate.
1763
1764 * Makefile.in: Remove references to ADAC.
1765
1766 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
1767 * configure: Regenerate.
1768
1769 2003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
1770 Olivier Hainque <hainque@act-europe.fr>
1771
1772 PR target/6466
1773 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
1774 (sparc_flat_compute_frame_size): Likewise.
1775 (sparc_flat_save_restore): Move prototype...
1776 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
1777 (save_regs): New prototype.
1778 (build_big_number): Likewise.
1779 (apparent_fsize): Change type to HOST_WIDE_INT.
1780 (actual_fsize): Likewise.
1781 (frame_base_offset): Likewise.
1782 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
1783 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1784 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
1785 to load a 64-bit constant.
1786 (sparc_nonflat_function_prologue): Change string descriptor to
1787 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
1788 (output_restore_regs): Change offset type to HOST_WIDE_INT.
1789 (sparc_nonflat_function_epilogue): Change string descriptor to
1790 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
1791 (output_sibcall): Change size type to HOST_WIDE_INT. Use
1792 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1793 (sparc_frame_info): Change types for several components.
1794 (sparc_flat_compute_frame_size): Update types according to previous
1795 change.
1796 (sparc_flat_function_prologue): Change string descriptor to
1797 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
1798 build_big_number.
1799 (sparc_flat_function_epilogue): Change offset type to int.
1800 Rename 'size1' into 'reg_offset1'. Change string descriptor to
1801 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
1802 limit to 4096 instead of 4095.
1803
1804 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
1805 HOST_WIDE_INT.
1806
1807 2003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1808
1809 * function.c: Make outer_function-chain external.
1810 * function.h: Likewise.
1811
1812 2003-11-24 Richard Sandiford <rsandifo@redhat.com>
1813
1814 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
1815 using GNU ld.
1816 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
1817 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
1818 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
1819 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1820 (SUBTARGET_EXTRA_SPECS): Define.
1821 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1822 to __gcc_init and -fini function to __gcc_fini.
1823 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1824 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1825 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1826 * config/mips/t-iris6gld,
1827 * config/mips/irix6-crti.asm,
1828 * config/mips/irix6-crtn.asm: New files.
1829
1830 2003-11-24 Eric Christopher <echristo@redhat.com>
1831
1832 PR C/13014
1833 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1834 (start_function): Use.
1835 (c_push_function_context): Ditto.
1836 (c-pop_function_context): Ditto.
1837 (language_function): Move...
1838 * c-tree.h: ... here. Add x_in_iteration_stmt, and
1839 x_in_case_stmt.
1840 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1841 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1842 check for valid break or continue statment here...
1843 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1844 here. Change original errors to abort.
1845
1846 2003-11-24 Jan Hubicka <jh@suse.cz>
1847
1848 * fold-const.c (fold): Do not return early when optimizing
1849 COMPONENT_REF and constant.
1850
1851 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1852
1853 * config/h8300/h8300.md (tablejump_h8300): Change to
1854 *tablejump_h8300.
1855 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1856 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1857 (indirect_jump_h8300): Change to *indirect_jump_h8300.
1858 (indirect_jump_h8300h): Change to
1859 *indirect_jump_h8300hs_advanced.
1860 (indirect_jump_normal_mode): Change to
1861 *indirect_jump_h8300hs_normal.
1862
1863 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1864
1865 * config/h8300/h8300.md: Remove constraints from expanders.
1866
1867 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1868
1869 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1870 stm_h8300s_2_advanced.
1871 (stm_h8300s_2_normal): New.
1872 (stm_h8300s_2): Likewise.
1873 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1874 (stm_h8300s_3_normal): New.
1875 (stm_h8300s_3): Likewise.
1876 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1877 (stm_h8300s_4_normal): New.
1878 (stm_h8300s_4): Likewise.
1879 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1880 (ldm_h8300s_2_normal): New.
1881 (ldm_h8300s_2): Likewise.
1882 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1883 (ldm_h8300s_3_normal): New.
1884 (ldm_h8300s_3): Likewise.
1885 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1886 (ldm_h8300s_4_normal): New.
1887 (ldm_h8300s_4): Likewise.
1888 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1889 (two peephole2's): New.
1890
1891 2003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1892
1893 * genattrtab.c (simplify_cond): Update indices correctly.
1894 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1895 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1896 (check_attr_test, encode_units_mask, compute_alternative_mask,
1897 make_alternative_compare, simplify_and_tree,
1898 attr_rtx_cost, simplify_test_exp, gen_attr,
1899 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1900 * rtl.def (EQ_ATTR_ALT): New.
1901
1902 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1903
1904 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1905 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1906 New variables.
1907 (main): Initialize them.
1908 (find_attr): Canonicalize the attribute name string.
1909 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1910 string arguments.
1911 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1912 (check_attr_test, check_attr_value, make_length_attrs,
1913 write_length_unit_log, simplify_by_exploding, gen_attr,
1914 write_test_expr, write_attr_value, write_eligible_delay,
1915 write_complex_function, make_internal_attr,
1916 write_const_num_delay_slots): Changed due to change of type of
1917 find_attr.
1918 (fill_attr, evaluate_eq_attr, simplify_and_tree,
1919 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1920 strcmp_check.
1921
1922 2003-11-23 Kazu Hirata <kazu@cs.umass.edu>
1923
1924 PR target/13122
1925 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1926 normal mode.
1927 (pop): Call pop_h8300hs_normal in normal mode.
1928 * config/h8300/h8300.md: Likewise.
1929 (pushqi1_h8300hs_normal): New.
1930 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1931 (pushhi1_h8300hs_normal): New.
1932 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1933 (push_h8300hs_normal): New.
1934 (pop_h8300hs_normal): Likewise.
1935
1936 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1937
1938 * genattrtab.c (count_sub_rtxs): Removed.
1939
1940 2003-11-23 Richard Earnshaw <rearnsha@arm.com>
1941
1942 * recog.c (preprocess_constraints): Only zero those elements of
1943 recog_op_alt that are needed for this insn.
1944 * arm.c (note_invalid_constants): A function can't contain invalid
1945 constants if it has no constraints.
1946
1947 2003-11-22 Jan Hubicka <jh@suse.cz>
1948
1949 * i386.c (classify_argument): Pass __float128 in memory.
1950 (ix86_return_in_memory): Likewise.
1951 (ix86_libcall_value): Likewsie.
1952
1953 2003-11-22 Kazu Hirata <kazu@cs.umass.edu>
1954
1955 * config/h8300/h8300.c (dosize): Convert to ISO-C.
1956
1957 2003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
1958
1959 * flow.c (update_life_info): Amend comment about when a register
1960 can become dead.
1961
1962 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
1963
1964 * doc/.cvsignore: Delete.
1965
1966 2003-11-21 Daniel Berlin <dberlin@dberlin.org>
1967 David Edelsohn <edelsohn@gnu.org>
1968
1969 * dwarf2out.c (add_location_or_const_value_attribute): Add support
1970 for PARALLEL.
1971
1972 2003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1973
1974 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1975 (TARGET_LIBGCC2_CFLAGS): Define.
1976
1977 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1978 (__do_global_ctors): Likewise.
1979
1980 2003-11-21 Mark Wielaard <mark@klomp.org>
1981
1982 * doc/invoke.texi (-O2): Doesn't enable -fweb.
1983
1984 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1985
1986 * doc/invoke.texi: Mention dV and dZ.
1987
1988 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1989
1990 * doc/invoke.texi: Update dump file names.
1991 Remove de, dW, and dX.
1992
1993 2003-11-20 James E Wilson <wilson@specifixinc.com>
1994
1995 PR c/13133
1996 * reload1.c (reload): Delete special handling for setjmp.
1997
1998 2003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
1999
2000 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
2001 step too.
2002 * config/t-slibgcc-darwin: Adjust install path.
2003 * config/rs6000/t-darwin: Revert multilib matches since
2004 it is not used on darwin.
2005
2006 2003-11-20 Richard Henderson <rth@redhat.com>
2007
2008 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
2009 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
2010 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
2011 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
2012 * flow.c: Don't include ssa.h.
2013 (set_phi_alternative_reg): Remove.
2014 (calculate_global_regs_live): Don't call it.
2015 (mark_used_regs): Don't handle PHI.
2016 * gengtype.c (open_base_files): Don't reference ssa.h.
2017 * rtl.def (PHI): Remove.
2018 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
2019 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
2020 * opts.c (common_handle_option): Likewise.
2021 * toplev.c (f_options): Likewise.
2022 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
2023 (dump_file): Update to match.
2024 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
2025 (rest_of_handle_ssa): Remove.
2026 (rest_of_compilation): Don't call it.
2027 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
2028 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
2029 * doc/passes.texi (SSA optimizations): Remove.
2030
2031 2003-11-20 Bob Wilson <bob.wilson@acm.org>
2032
2033 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
2034 * configure: Regenerate.
2035
2036 2003-11-20 Kelley Cook <kcook@gcc.gnu.org>
2037
2038 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
2039
2040 2003-11-20 David Mosberger <davidm@hpl.hp.com>
2041
2042 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
2043 (SHLIB_LC): Define.
2044 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
2045 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
2046
2047 2003-11-20 Fariborz Jahanian <fjahanian@apple.com>
2048 David Edelsohn <edelsohn@gnu.org>
2049
2050 * calls.c (expand_call): Allocate new temp in pass1.
2051 (store_one_arg): If PARALLEL, calculate excess using mode size of
2052 rtvec elt.
2053 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
2054 mode size of rtvec elt.
2055 * function.c (assign_parms): Use parm in register, if available.
2056
2057 2003-11-20 Kazu Hirata <kazu@cs.umass.edu>
2058
2059 * config/h8300/lib1funcs.asm (MOVP): Remove.
2060 (ADDP): Likewise.
2061 (CMPP): Likewise.
2062
2063 2003-11-20 Richard Earnshaw <rearnsha@arm.com>
2064
2065 * arm.c (use_return_insn): New argument, SIBLING. Support returning
2066 with a single instruction if the stack has been decremented by 4
2067 and we have a frame pointer. Update all callers.
2068 (output_return_instruction): Likewise.
2069 (arm_output_epilogue): Change argument to SIBLING. Calculate
2070 really_return from the new argument. Update all callers.
2071 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
2072 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
2073 pass the sibling call.
2074 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
2075 prototypes.
2076
2077 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2078
2079 * Makefile.in (extraclean): Delete.
2080 * configure.in (target_list): Remove extraclean.
2081 * configure: Regenerate.
2082 * doc/makefile.texi, doc/sourcebuild.texi: Update.
2083 * objc/Make-lang.in (objc.extraclean): Delete.
2084
2085 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2086
2087 * Makefile.in (lang_checks): Add.
2088 (check-c++, check-f77, check-java, check-g++, check-g77,
2089 check-objc): Remove hardcoded targets.
2090 * doc/sourcebuild.texi: Document testsuite hooks.
2091 * objc/Make-lang.in (check-objc, lang_checks): Add.
2092
2093 2003-11-19 Scott Snyder <snyder@fnal.gov>
2094
2095 PR target/13131
2096 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
2097 flag, not a constant.
2098
2099 2003-11-19 Kelley Cook <kcook@gcc.gnu.org>
2100
2101 * config/arc/arc-protos.h: Update to C90 prototypes.
2102 * config/arc/arc.c: Likewise.
2103 * config/arc/initfini.c: Likewise.
2104
2105 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
2106
2107 * stmt.c (expand_goto): Memory clobbers added.
2108
2109 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
2110
2111 * reload.c (find_reloads): Added missing type casts.
2112
2113 2003-11-19 James E Wilson <wilson@specifixinc.com>
2114
2115 * combine.c (sets_function_arg_p): Delete unused function.
2116
2117 2003-11-19 Eric Christopher <echristo@redhat.com>
2118
2119 * reload1.c (reload): Revert 2 previous checkins.
2120
2121 2003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
2122
2123 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
2124 whether directive begins at the beginning of a line.
2125
2126 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
2127
2128 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
2129
2130 2003-11-19 Gerald Pfeifer <gp@suse.de>
2131
2132 * doc/install.texi (Specific): Remove information on old versions
2133 of glibc versus old versions of GCC.
2134
2135 2003-11-19 Richard SAndiford <rsandifo@redhat.com>
2136
2137 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
2138 the register lowpart is a TRULY_NOOP_TRUNCATION.
2139
2140 2003-11-19 Richard Henderson <rth@redhat.com>
2141
2142 * config/i386/i386.c (print_reg): Handle QI and HI modes for
2143 non Q regs.
2144
2145 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
2146
2147 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
2148 specification file.
2149 * config/t-slibgcc-darwin: New file, libgcc build specification.
2150 * config/t-darwin: Add libgcc2 flag -fPIC.
2151 * config/rs6000/t-darwin: Multilib matches float.
2152 * libgcc-darwin.ver: New file, contains libgcc symbols.
2153
2154 2003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
2155
2156 * config/ns32k/ns32k.h: Remove obsolete comment.
2157
2158 2003-11-18 Roger Sayle <roger@eyesopen.com>
2159
2160 PR middle-end/11821
2161 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
2162 size for calls to libgcc's div & mod subroutines when using -Os.
2163
2164 2003-11-18 Jan Hubicka <jh@suse.cz>
2165
2166 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
2167
2168 2003-11-18 Marc Espie <espie@openbsd.org>
2169
2170 * config/rs6000/sysv4.h: OpenBSD hooks.
2171
2172 2003-11-18 Richard Henderson <rth@redhat.com>
2173
2174 * expr.c (expand_expr): Don't look through constant arrays if
2175 they don't bind locally.
2176
2177 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2178
2179 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
2180 when seeing if truncation or extension.
2181
2182 2003-11-17 Eric Christopher <echristo@redhat.com>
2183
2184 * reload1.c (reload): Fix previous change.
2185
2186 2003-11-17 Scott Snyder <snyder@fnal.gov>
2187
2188 PR debug/11325
2189 * dwarf2out.c (struct die_struct): Add die_definition field.
2190 (add_AT_specification): New.
2191 (gen_subprogram_die, gen_variable_die,
2192 gen_struct_or_union_type_die): Use it.
2193 (prune_unused_types_mark): If we're marking a forward declaration,
2194 also mark the full definition, if it exists.
2195
2196 2003-11-16 Nick Clifton <nickc@redhat.com>
2197
2198 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
2199 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
2200 Remove prototype.
2201 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
2202 to xstormy16_build_builtin_va_list and make static.
2203 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
2204
2205 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2206
2207 * config/h8300/h8300-protos.h: Add the prototype for
2208 same_cmp_following_p.
2209 * config/h8300/h8300.c (same_cmp_following_p): New.
2210 * config/h8300/h8300.md (peephole2): Use it.
2211
2212 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2213
2214 * config/h8300/h8300.md: Don't use REGNO when its operand is
2215 not guaranteed to be a REG.
2216
2217 2003-11-16 Richard Sandiford <rsandifo@redhat.com>
2218
2219 * Makefile.in (expr.o): Depend on $(TARGET_H).
2220 * target.h (return_in_msb): New target hook.
2221 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
2222 (TARGET_CALLS): Include it.
2223 * calls.c (shift_returned_value): New function.
2224 (expand_call): Use it.
2225 * expr.c: Include target.h.
2226 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
2227 deciding what padding is needed. Change the name of the local
2228 padding variable from big_endian_correction to padding_correction.
2229 * stmt.c (shift_return_value): New function.
2230 (expand_return): Use it. Adjust memory->register copy in the same
2231 way as copy_blkmode_from_reg. Only change the return register's
2232 mode if it was originally BLKmode.
2233 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
2234 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
2235 (mips_fpr_return_fields): New, split out from mips_function_value.
2236 (mips_return_in_msb, mips_return_fpr_pair): New functions.
2237 (mips_function_value): Rework to use the functions above.
2238 * config/mips/irix6-libc-compat.c: Delete.
2239 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
2240
2241 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2242
2243 * doc/install.texi (--enable-checking): Update valgrind's URL.
2244
2245 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2246
2247 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
2248 with -2147483647 - 1.
2249
2250 2003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
2251
2252 Fix links in online manuals.
2253 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
2254 (Precompiled Headers): @pxref to cpp, not cpp.info.
2255
2256 2003-11-16 Jason Merrill <jason@redhat.com>
2257
2258 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
2259 files in each directory and TAGS files that include them for each
2260 front end.
2261
2262 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
2263
2264 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
2265 3 of S2L.
2266 (modnorm): Likewise.
2267 (exitdiv): Look at bit 3 of S2L only.
2268
2269 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
2270
2271 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
2272 (DO_GLOBAL_DTORS_BODY): Likewise.
2273
2274 2003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
2275
2276 * doc/install.texi (Prerequisites): Refine documentation of
2277 autoconf, automake and perl requirements. Document required
2278 gettext version.
2279
2280 <2003-11-14 Jason Merrill <jason@redhat.com>
2281
2282 * function.c (assign_parms): Use TREE_TYPE to determine the real
2283 type of the argument object.
2284
2285 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2286
2287 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
2288 iteration.
2289
2290 2003-11-14 Fariborz Jahanian <fjahanian@apple.com>
2291
2292 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
2293 New routine to save vararg registers on stack. Support for
2294 -mpowerpc64 in mixed mode.
2295
2296 2003-11-14 Bernardo Innocenti <bernie@develer.com>
2297
2298 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
2299 for MOTOROLA versus MIT syntax. Improves readability and provides
2300 better compile-time error checking for both code paths.
2301
2302 2003-11-14 Kelley Cook <kcook@gcc.gnu.org>
2303
2304 * config/frv/frv-protos.h: Update for C90.
2305 * config/frv/frv.h: Likewise.
2306 * config/frv/frvbegin.c: Likewise.
2307 * config/frv/frv.c: Likewise.
2308 (frv_adjust_field_align): Delete unused variable.
2309
2310 2003-11-14 Geoffrey Keating <geoffk@apple.com>
2311
2312 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
2313 to each place where TARGET_LONG_DOUBLE_128 is used with
2314 DEFAULT_ABI == ABI_AIX.
2315
2316 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
2317 message comply with GNU standards.
2318
2319 2003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2320
2321 PR/6552
2322 * function.c (struct epi_info): New field const_equiv.
2323 (update_epilogue_consts): New function.
2324 (keep_stack_depressed): Clear new field and verify scratch register
2325 doesn't have it set.
2326 Call new function via note_stores.
2327 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
2328 Allow PLUS where second operand is register known set to constant.
2329 (emit_equiv_load): Write load using proper mode if source different.
2330 * config/mips/mips.md (return_internal): Put (return) first.
2331
2332 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2333
2334 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
2335
2336 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2337
2338 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
2339 registers.
2340 (divsi3): Likewise.
2341 (reti): Don't restore unused registers.
2342
2343 2003-11-14 Nick Clifton <nickc@redhat.com>
2344
2345 * config/fr30/fr30.c: Include toplev.h
2346
2347 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
2348
2349 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
2350
2351 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
2352
2353 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
2354 function definition syntax.
2355
2356 2003-11-14 Eric Christopher <echristo@redhat.com>
2357
2358 * reload1.c (reload): Revert previous patch. Make
2359 check for assignment into reg_equiv_address stricter.
2360
2361 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
2362
2363 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
2364
2365 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
2366
2367 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
2368 section names.
2369
2370 2003-11-14 Jason Merrill <jason@redhat.com>
2371
2372 PR middle-end/12526
2373 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
2374 * calls.c (call_expr_flags): New fn.
2375 * tree.h: Declare it.
2376
2377 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2378
2379 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
2380 (divmodsi3): Change the name to ___udivsi3.
2381 Update all callers.
2382
2383 2003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2384
2385 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
2386 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
2387 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
2388 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
2389 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
2390 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
2391 Const-ify and/or initialize automatic variables at declaration.
2392
2393 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2394
2395 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
2396 of er4 with er3. Adjust all callers.
2397
2398 2003-11-13 Andrew Pinski <apinski@apple.com>
2399
2400 * config/darwin.c (machopic_output_possible_stub_label):
2401 Allow stub symbol be not defined when outputting possible
2402 stub label.
2403
2404 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2405
2406 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
2407 instead of exitdiv.
2408 (___umodsi3): Likewise.
2409 (exitdiv): Do not restore any register.
2410 (reti): Restore registers.
2411
2412 2003-11-13 Steven Bosscher <stevenb@suse.de>
2413
2414 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
2415
2416 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2417
2418 * config/h8300/lib1funcs.asm: Fix comment typos.
2419
2420 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2421
2422 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
2423 unused registers. Don't jump to exitdiv.
2424 (umodsi3): Likewise.
2425
2426 2003-11-13 Mark Mitchell <mark@codesourcery.com>
2427 Kean Johnston <jkj@sco.com>
2428
2429 PR c/13029
2430 * toplev.c (check_global_declarations): Do not warn about unused
2431 static consts.
2432
2433 2003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
2434 Kazu Hirata <kazu@cs.umass.edu>
2435
2436 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
2437 the approximate quotient method.
2438
2439 2003-11-13 Richard Earnshaw <rearnsha@arm.com>
2440
2441 * combine.c (distribute_notes): When re-distributing the notes from
2442 an insn we are about to delete, ensure we can't end up with a cyclic
2443 list of notes.
2444
2445 2003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2446
2447 PR optimization/12926
2448 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
2449 the UNCHANGING_RTX_P flag on memory references to read-only
2450 components that are not addressable.
2451
2452 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
2453
2454 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
2455 DenHighNonZero.
2456
2457 2003-11-13 Jan Hubicka <jh@suse.cz>
2458
2459 PR opt/12275
2460 * c-decl.c (finish_decl): Use change_decl_assembler_name.
2461 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
2462 * varasm.c (make_decl_rtl): Likewise.
2463 * cgraph.c (change_decl_assembler_name): New function.
2464 * tree.h (set_decl_assembler_name): Kill dead declaration.
2465 (change_decl_assembler_name): Declare.
2466
2467 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2468 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2469
2470 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
2471
2472 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
2473 an unused register.
2474
2475 2003-11-12 Richard Sandiford <rsandifo@redhat.com>
2476
2477 PR bootstrap/12752
2478 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
2479 (MULTILIB_OSDIRNAMES): Reorder accordingly.
2480
2481 2003-11-12 Janis Johnson <janis187@us.ibm.com>
2482
2483 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
2484 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
2485 (rs6000_emit_eh_reg_restore): Add
2486 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
2487 of vars_size and total_size to HOST_WIDE_INT.
2488 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
2489 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
2490 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
2491 values.
2492 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
2493 (rs6000_initial_elimination_offset): New, with code formerly in
2494 INITIAL_ELIMINATION_OFFSET.
2495 * rs6000.h (rs6000_stack_t): Remove.
2496 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
2497 rs6000_initial_elimination_offset.
2498 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
2499 rs6000_emit_eh_reg_restore.
2500
2501 2003-11-12 Mike Stump <mrs@apple.com>
2502
2503 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
2504 is the argumnt we are processing so that warnings and errors
2505 will have that information.
2506 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
2507 * lang-hooks-def.h
2508 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
2509 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
2510 * langhooks.h (convert_parm_for_inlining): Likewise.
2511 * tree-inline.c (initialize_inlined_parameters): Compute and
2512 pass argnum down.
2513
2514 2003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
2515 Roger Sayle <roger@eyesopen.com>
2516
2517 PR optimization/12953
2518 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
2519 before switch by FUNCTION_CODE.
2520
2521 2003-11-12 Richard Earnshaw <rearnsha@arm.com>
2522
2523 * arm.md (storehi): Avoid use of explicit subreg.
2524 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
2525
2526 2003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
2527
2528 * config/sh/sh.md (prefetch): New pattern.
2529
2530 2003-11-11 Eric Christopher <echristo@redhat.com>
2531
2532 * reload1.c (reload): Verify that addresses for
2533 reg_equiv_* are valid for the architecture.
2534
2535 2003-11-11 Eric Christopher <echristo@redhat.com>
2536
2537 * function.c (purge_addressof_1): Add libcall check.
2538 Remove test for cached replacements on fallback case.
2539 Simplify mode comparisons. Add libcall test for
2540 paradoxical subregs.
2541
2542 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
2543
2544 * config/h8300/t-h8300: Fix an obsolete comment.
2545
2546 2003-11-11 James E Wilson <wilson@specifixinc.com>
2547
2548 * expmed.c (store_bit_field, extract_bit_field): Revert last two
2549 changes.
2550
2551 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
2552
2553 * config/h8300/lib1funcs.asm: Replace DenHighZero with
2554 DenHighNonZero.
2555
2556 2003-11-11 Jan Hubicka <jh@suse.cz>
2557
2558 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
2559 really_no_inline.
2560
2561 2003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2562
2563 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
2564 generating 64-bit code.
2565
2566 2003-11-10 David Edelsohn <edelsohn@gnu.org>
2567
2568 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
2569 accidental commit in previous change.
2570
2571 2003-11-10 Fariborz Jahanian <fjahanian@apple.com>
2572
2573 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
2574 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
2575 address recognition.
2576 (macho_lo_sum_memory_operand): Routine to recognize macho-style
2577 address recognition.
2578
2579 2003-11-10 Richard Henderson <rth@redhat.com>
2580
2581 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
2582
2583 2003-11-10 Matt Austern <austern@apple.com>
2584
2585 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
2586 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
2587 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
2588 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
2589 darwin_assemble_visibility instead of default.
2590
2591 2003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
2592
2593 PR target/12865
2594 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
2595 __enable_execute_stack only after writing onto the stack.
2596 (sparc64_initialize_trampoline): Likewise.
2597
2598 2003-11-09 Roger Sayle <roger@eyesopen.com>
2599
2600 * loop.c (check_dbra_loop): Try swapping the comparison operands
2601 of the loop condition to identify a suitable induction variable.
2602 * unroll.c (loop_iterations): Likewise.
2603
2604 2003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2605
2606 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
2607 sparc64 #cpu and #machine assertions.
2608
2609 2003-11-09 Richard Henderson <rth@redhat.com>
2610
2611 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
2612
2613 2003-11-09 Jan Hubicka <jh@suse.cz>
2614
2615 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
2616
2617 * cgraphunit.c (cgraph_expand_function): Use
2618 cgraph_possibly_inlined_p.
2619 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
2620
2621 * opts.c (common_handle_option): Do not set max-inline-insns.
2622 * params.def: Update comments.
2623 (PARAM_MAX_INLINE_INSNS): Kill.
2624 * invoke.texi (max-inline-insns): Kill.
2625
2626 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
2627
2628 PR c/3190
2629 PR c/8714
2630 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
2631 * invoke.texi: Update.
2632
2633 2003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2634
2635 PR optimization/12630
2636 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
2637 Handle length computation 64-bit moves.
2638 (compute_clrstr_length, output_block_clear): Implement block clear.
2639 (output_block_move): Handle 64-bit moves.
2640 (pa_adjust_insn_length): Use compute_movstr_length and
2641 compute_clrstr_length.
2642 * pa.md (movstrsi): Revise operand order and comments. Don't use
2643 match_scratch.
2644 (movstrsi_internal): Delete.
2645 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
2646 and peephole2 patterns to transform prereload to postreload form.
2647 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
2648 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
2649 clrstrdi_postreload): New patterns for 64-bit block move, and block
2650 clear.
2651 * pa-protos.h (output_block_clear): New prototype.
2652
2653 2003-11-08 Andreas Schwab <schwab@suse.de>
2654
2655 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
2656 XCOFF_DEBUGGING_INFO.
2657
2658 2003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2659
2660 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
2661
2662 2003-11-07 Geoffrey Keating <geoffk@apple.com>
2663
2664 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
2665 redundant parens.
2666
2667 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
2668 (find_file_in_dir): Likewise.
2669 (_cpp_find_file): Print message if no header file is found
2670 but an invalid PCH file was.
2671
2672 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
2673
2674 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
2675 expressions as lvalues.
2676 (internal_build_compound_expr): Remove special handling for
2677 non-pedantic case.
2678 * doc/extend.texi: Document that all extended lvalues are now
2679 deprecated.
2680
2681 2003-11-07 Geoffrey Keating <geoffk@apple.com>
2682
2683 PR 11654
2684 * dbxout.c (struct dbx_file): Do not save for PCH.
2685 (current_file): Likewise.
2686 (dbxout_init): Don't allocate struct dbx_file using GC.
2687 (dbxout_start_source_file): Likewise.
2688
2689 2003-11-07 Falk Hueffner <falk@debian.org>
2690
2691 * config/alpha/elf.h, config/alpha/unicosmk.h,
2692 config/alpha/vms.h: Convert to ISO C90.
2693
2694 2003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
2695
2696 * config/arm/pe.h: Convert to ISO C90.
2697
2698 2003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
2699
2700 * sh-protos.h (sh_pch_valid_p): Declare.
2701 * sh.c ("intl.h"): Include.
2702 (TARGET_PCH_VALID_P): Override.
2703 (sh_target_switches): New variable.
2704 (target_switches): Define.
2705 (sh_pch_valid_p): New function.
2706
2707 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
2708
2709 2003-11-07 Jan Hubicka <jh@suse.cz>
2710
2711 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
2712 (x86_64_zero_extended_value): likewise.
2713
2714 2003-11-07 Richard Sandiford <rsandifo@redhat.com>
2715
2716 * config/mips/mips.md (loadgp): Take $25 as a second operand.
2717 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
2718
2719 2003-11-06 Matt Austern <austern@apple.com>
2720
2721 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
2722 field instead of hanging an attribute object off the decl.
2723 * tree.h (DECL_VISIBLITY): New accessor macro for
2724 symbol_visibility field in struct tree_decl.
2725 (enum symbol_visibility): Move definition to before tree_decl.
2726 (struct tree_decl): Define new two-bit field, symbol_visibility.
2727 (decl_visibility): Remove declaration.
2728 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
2729 instead of decl_visibility.
2730 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
2731 decl_visibility.
2732 (decl_visibility): Remove.
2733
2734 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
2735
2736 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
2737 where register 14 will be saved.
2738
2739 2003-11-06 Geoffrey Keating <geoffk@apple.com>
2740
2741 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
2742 (USE_ALTIVEC_FOR_ARG_P): Likewise.
2743 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
2744 Take a pointer as the CUM parameter. Update callers.
2745 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
2746 32-bit ABIs.
2747 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
2748 of vector parameters as named arguments of stdarg function.
2749 (function_arg): Likewise.
2750
2751 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
2752 -maltivec is specified, not the non-existent -faltivec.
2753
2754 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
2755
2756 * config/s390/s390-protos.h (s390_function_value): Declare.
2757 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
2758 (s390_return_in_memory): New function.
2759 (s390_function_value): New function.
2760 (s390_function_arg_float): Return false for all arguments larger
2761 than 8 bytes.
2762 (s390_function_arg_pass_by_reference): Likewise. Return true for
2763 all vector arguments.
2764 (s390_function_arg_integer): New function.
2765 (s390_function_arg_advance): Call it. Add sanity checks.
2766 (s390_function_arg): Likewise.
2767 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
2768 (LIBCALL_VALUE): Likewise.
2769 (RET_REG): Remove.
2770 (RETURN_IN_MEMORY): Remove.
2771
2772 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2773
2774 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
2775 return type to HOST_WIDE_INT.
2776 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
2777 Make initialized a bool. Make register masks unsigned ints.
2778 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
2779 where appropriate.
2780 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
2781 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
2782
2783 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2784
2785 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
2786 negation.
2787
2788 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2789
2790 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2791
2792 2003-11-06 Momchil Velikov <velco@fadata.bg>
2793
2794 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
2795 for VR4111 too.
2796
2797 2003-11-06 Jan Hubicka <jh@suse.cz>
2798
2799 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
2800 missing casts.
2801
2802 2003-11-06 Zack Weinberg <zack@codesourcery.com>
2803
2804 * genmodes.c: Change the word "bitsize" to "precision" throughout.
2805 * machmode.def: Likewise.
2806 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
2807 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
2808 (GET_MODE_PRECISION): New macro.
2809 (mode_bitsize): Renamed mode_precision.
2810 * stor-layout.c (mode_for_size, smallest_mode_for_size):
2811 Use GET_MODE_PRECISION; clarify comments.
2812
2813 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2814
2815 * doc/install-old.texi: Remove old documentation of building
2816 cross-compilers.
2817 * doc/install.texi: Move some of it to here.
2818
2819 2003-11-05 Per Bothner <pbothner@apple.com>
2820
2821 PR preprocessor/12891
2822 * c-opts.c (finish_options): Set include_cursor to disable premature
2823 calls to push_command_line_include from cpp_scan_nooutput.
2824 Fixes bug reported by DJ Delorie.
2825
2826 2003-11-05 Geoffrey Keating <geoffk@apple.com>
2827
2828 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2829 code supporting old-style varargs.
2830
2831 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2832 an intermediate register for better optimisation.
2833
2834 2003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2835
2836 PR optimization/10080
2837 * cfgloopanal.c (variable_initial_value, variable_initial_values,
2838 simple_loop_exit_p): Record the fact that initial value is extended
2839 from inner mode.
2840 (count_strange_loop_iterations, count_loop_iterations): Handle
2841 ivs that iterate in a narrower mode. Fix handling of overflows.
2842 Improve handling of NE conditions.
2843 (inverse, fits_in_mode_p): New static functions.
2844 (simple_increment): Detect variables that iterate in a narrower mode.
2845 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2846
2847 2003-11-05 Geoffrey Keating <geoffk@apple.com>
2848
2849 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2850 error.
2851
2852 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2853 needs VRSAVE.
2854
2855 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2856
2857 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2858 conditional expressions as lvalues.
2859
2860 2003-11-05 Kazu Hirata <kazu@cs.umass.edu>
2861
2862 * tsystem.h: Add the prototype of strlen.
2863 * unwind-pe.h (read_encoded_value_with_base): Add an
2864 appropriate cast to handle a case where the pointer size is
2865 smaller than sizeof (int).
2866
2867 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
2868
2869 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2870 (mips_delegitimize_address): Delete.
2871 (mips_gotoff_global, mips_load_got_page): Declare.
2872 (mips_load_got_global, mips_rewrite_small_data): Declare.
2873
2874 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2875 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2876 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2877 small_data_pattern. Remove CONST from const_arith_operand's entry.
2878
2879 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2880 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2881 (mips_constant_type): Delete.
2882 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2883 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2884 (NUM_SYMBOL_TYPES): New macro.
2885 (mips_address_type): Remove ADDRESS_INVALID.
2886 (machine_function): Add has_gp_insn_p.
2887 (mips_constant_info): Delete.
2888 (mips_address_info): Add the address type as an extra field. Replace
2889 the c field with symbol_type.
2890 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2891 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2892 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2893 (mips_split_const, mips_symbolic_constant_p): New functions.
2894 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2895 (mips_classify_address): Return true if the address is valid, storing
2896 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
2897 to test whether a LO_SUM address is allowed.
2898 (mips_symbol_insns): Return 0 for general mips16 symbols.
2899 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2900 Handle the new SYMBOL_GOTOFF_*s.
2901 (mips_address_insns): Update call to mips_classify_address.
2902 (mips_const_insns): Be more fussy about HIGH constants. Remove use
2903 of mips_classify_constant. Be more accurate about CONSTs.
2904 (mips_global_pic_constant_p): Delete.
2905 (const_arith_operand): Only accept CONST_INTs.
2906 (call_insn_operand): Remove call to mips_classify_constant.
2907 Let mips_symbolic_constant_p check for invalid offsets.
2908 (move_operand): Check for general_operands first. Only accept symbolic
2909 constants if they satisfy mips_symbolic_constant_p and cannot be split.
2910 (symbolic_constant): Use mips_symbolic_constant_p.
2911 (global_got_operand, local_got_operand): New predicates.
2912 (stack_operand): Update call to mips_classify_address.
2913 (mips_legitimate_address_p): Likewise.
2914 (mips_reloc, mips_lui_reloc): Delete.
2915 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2916 Use emit_move_insn.
2917 (mips_split_symbol, mips_unspec_address): New functions.
2918 (mips_unspec_offset_high): New function.
2919 (mips_load_got): Replace reloc argument with a symbol_type.
2920 Use mips_unspec_address to create the address and put it in a
2921 LO_SUM with the base register.
2922 (mips_load_got16, mips_load_got32): Delete.
2923 (mips_emit_high, mips_legitimize_symbol): Delete.
2924 (mips_gotoff_global): New function.
2925 (mips_load_got_page, mips_load_got_global): New functions.
2926 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2927 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
2928 Inline code to handle constants plus invalid offsets. Use
2929 mips_split_symbol to legitimize constant pool addresses.
2930 (mips_delegitimize_address): Delete.
2931 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2932 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
2933 (mips_subword): Pass memrefs through mips_rewrite_small_data.
2934 (mips_output_move): Remove use of mips_classify_constant.
2935 (mips_expand_call): Use mips_unspec_offset_high to calculate the
2936 high part of the GOT address for calls to global functions.
2937 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2938 and mips_hi_relocs[].
2939 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2940 Remove use of mips_classify_constant.
2941 (mips_reloc_string): Delete.
2942 (print_operand_reloc): New function.
2943 (print_operand_address): Update call to mips_classify_address.
2944 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2945 (small_data_pattern): New predicate.
2946 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2947 (mips_function_has_gp_insn): New function.
2948 (mips_global_pointer): Use it.
2949 (mips_gp_insn): Delete.
2950 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2951 single loadgp pattern to initialize $gp. Pass it the offset of _gp
2952 from the start of the current function.
2953 (mips16_gp_pseudo_reg): Revert last patch.
2954
2955 * config/mips/mips.md (RELOC_*): Delete.
2956 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2957 (got): New insn attribute.
2958 (type): Set to "load" if got == load.
2959 (length): Set to 4 if got == load, 8 if got == xgot_high.
2960 (lui[sd]i): Delete.
2961 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2962 (*got_disp[sd]i, *got_page[sd]i): Likewise.
2963 (*low[sd]i): Change constraints to "d". Add a new define_split to
2964 rewrite small data constants into LO_SUMs.
2965 (loadgp): New insns.
2966
2967 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2968
2969 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2970
2971 2003-11-04 DJ Delorie <dj@redhat.com>
2972
2973 * config/v850/v850.md (mulhisi3): Expand the const_int case
2974 separately to avoid trying to sign extend the const.
2975
2976 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
2977
2978 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2979 addresses to be shared.
2980 (force_const_mem): Return a copy of the pool entry.
2981
2982 2003-11-03 Andreas Jaeger <aj@suse.de>
2983
2984 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2985
2986 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
2987
2988 * Makefile.in (cpp.dvi): New target split from cpp.info.
2989 (gcc.dvi): New target split from gcc.info.
2990 (gccint.dvi): New target split from gccint.info.
2991 (cppinternals.dvi): New target split from cppinternals.info
2992 (gccinstall.info): New specific rule.
2993 (gccinstall.dvi): Likewise.
2994 (dvi): Move targets to $(docobjdir).
2995 ($(docobjdir)/%.dvi): New implicit rule.
2996
2997 2003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2998
2999 * doc/gty.texi (tag, desc): Say more about role of desc values in
3000 selecting between tags.
3001
3002 2003-11-03 Alexander Kabaev <ak03@gte.com>
3003
3004 * real.c (encode_ieee_single): Ensure proper promotion.
3005
3006 2003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3007
3008 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
3009 and Andrew Pinski.
3010
3011 2003-11-03 Syd Polk <spolk@apple.com>
3012
3013 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
3014 marketing names to the list of supported processors.
3015 * config/rs6000/rs6000.h: Ditto.
3016 * doc/invoke.texi: Ditto.
3017 * config.gcc: Ditto.
3018
3019 2003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3020
3021 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
3022 Merge two substitutions.
3023 * fixinc/fixincl.x: Regenerate.
3024 Fixes PR bootstrap/12666.
3025
3026 2003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
3027
3028 * doc/install-old.texi: Remove VMS documentation.
3029
3030 2003-11-03 Jan Hubicka <jh@suse.cz>
3031
3032 * i386.c (override_options): Remove hack enabling 128bit long double
3033 commited by accident.
3034
3035 2003-11-02 Per Bothner <per@bothner.com>
3036
3037 * c-opts.c (needValue): Do cpp_find_main_file before processing
3038 any imacros flags, so pfile->main_file is set for the latter.
3039
3040 2003-11-03 Andreas Jaeger <aj@suse.de>
3041 Zack Weinberg <zack@codesourcery.com>
3042
3043 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
3044 (SYSCALLS.c.X-warn): Suppress warnings.
3045
3046 2003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3047
3048 PR optimization/12845
3049 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
3050
3051 2003-11-02 Zack Weinberg <zack@codesourcery.com>
3052
3053 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
3054 * config/i386/i386.c (print_reg): Abort on a virtual register
3055 if code != -1; not if file == asm_out_file.
3056 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
3057 (DEBUG_PRINT_REG): Delete, unused.
3058
3059 2003-11-02 Andreas Schwab <schwab@suse.de>
3060
3061 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
3062 empty to avoid conflict with the definition from configure.
3063
3064 2003-11-02 Roger Sayle <roger@eyesopen.com>
3065
3066 PR optimization/10817
3067 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
3068 (noce_try_move): New function to optimize an if-the-else into an
3069 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
3070 (noce_process_if_block): Attempt simplification with noce_try_move.
3071
3072 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
3073 and improvements to the optimizations of IF_THEN_ELSE expressions.
3074 (simplify_subreg): Silence signed/unsigned comparison warning.
3075
3076 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
3077
3078 * Makefile.in (targhooks.o, reload.o): Update dependencies.
3079 (GTFILES): Add targhooks.c.
3080 (gt-targhooks.h): New rule; depend on s-gtype.
3081 * target.h (direct_pool_load_p): New hook.
3082 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
3083 (TARGET_INITIALIZER): Include it.
3084 * targhooks.h (default_direct_pool_load_p): Declare.
3085 (hook_bool_machine_mode_true): Declare.
3086 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
3087 gt-targhooks.h.
3088 (pool_symbol): New variable.
3089 (default_direct_pool_load_p): New function.
3090 (hook_bool_machine_mode_true): New function.
3091 * reload.c: Include target.h.
3092 (find_reloads): If an alternative will force a constant into memory,
3093 count an extra reload if constant pool symbols are not valid
3094 addresses. If an alternative uses memory to move values between
3095 registers, count the move as two reloads rather than one.
3096 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
3097 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
3098
3099 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3100
3101 PR optimization/12799
3102 * postreload.c (reload_cse_move2add): Generate the add2
3103 patterns manually.
3104
3105 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3106
3107 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3108 Return 0 for all complex modes whose size is lesser or equal to
3109 a word. Add a ??? comment for the condition used with 16-byte
3110 aligned modes.
3111
3112 2003-11-01 Kelley Cook <kcook@gcc.gnu.org>
3113
3114 * .cvsignore: Remove c-parse* and tradcif.c.
3115 * objc/.cvsignore: Delete.
3116
3117 2003-11-01 Roger Sayle <roger@eyesopen.com>
3118
3119 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
3120 of NULL.
3121
3122 2003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3123
3124 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
3125
3126 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
3127
3128 * collect2.c (scan_libraries): Fix typos.
3129
3130 PR preprocessor/12847
3131 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
3132 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
3133 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
3134 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
3135 "CPP_".
3136
3137 2003-11-01 Fariborz Jahanian <fjahanian@apple.com>
3138
3139 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
3140 no_units calculation.
3141
3142 2003-11-01 Andreas Jaeger <aj@suse.de>
3143
3144 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
3145 enumeration list.
3146
3147 2003-11-01 Andreas Schwab <schwab@suse.de>
3148
3149 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
3150 prototypes.
3151 (SBSS_SECTION_FUNCTION): Likewise.
3152
3153 2003-11-01 Andreas Jaeger <aj@suse.de>
3154
3155 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
3156
3157 2003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
3158
3159 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
3160 prototypes.
3161
3162 2003-11-01 Andreas Jaeger <aj@suse.de>
3163
3164 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
3165 (uw_frame_state_for): Constify variables.
3166 (extract_cie_info): Constify first argument.
3167
3168 * unwind-dw2-fde-darwin.c: Adjust prototype of
3169 _Unwind_Find_registered_FDE for recent changes.
3170 (examine_objects): Constify return value and local variable result.
3171 (_Unwind_Find_FDE): Constify return value and local variable ret.
3172
3173 2003-10-31 Per Bothner <pbothner@apple.com>
3174
3175 * c-opts.c (finish_options): Change to returns boolean - false iff
3176 the call to cpp_find_main_file fails.
3177 (c_common_init): Skip preprocess_file if finish_options failed.
3178 (c_common_parse_file): Break if finish_options failed.
3179 Fixes PR preprocessor/12545.
3180
3181 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3182
3183 * aclocal.m4: Blacklist ultrix* for mmap file.
3184 * configure: Rebuilt.
3185
3186 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
3187 reg_parm_stack_space.
3188 * toplev.c (default_get_pch_validity): Fix warning.
3189
3190 * vax.c: Include toplev.h.
3191 (vax_init_libfuncs): Fix typo (umod).
3192 * vax.h (ASM_COMMENT_START): Define.
3193 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
3194
3195 2003-10-31 Roger Sayle <roger@eyesopen.com>
3196
3197 PR middle-end/11968
3198 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
3199 confusing comment; distributivity isn't handled in expand_expr.
3200 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
3201 in distributivity, if wrap-around semantics are specified with
3202 -fwrapv.
3203
3204 2003-11-01 Alan Modra <amodra@bigpond.net.au>
3205
3206 PR 12315
3207 * final.c (profile_function): Allow for NULL svrtx.
3208
3209 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3210
3211 * pa.c (pa_select_section): Use new style declaration.
3212 * som.h (readonly_data): Likewise.
3213
3214 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
3215
3216 * config/rs6000/rs6000.c: Update to C90 prototypes.
3217
3218 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
3219
3220 PR target/7513
3221 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
3222 code.
3223
3224 2003-10-31 Andreas Jaeger <aj@suse.de>,
3225 Zack Weinberg <zack@codesourcery.com>
3226
3227
3228 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
3229 (__deregister_frame_info, __deregister_frame_info_bases):
3230 Constify void * argument.
3231 * unwind-dw2-fde.h (struct fde_vector):
3232 Constify 'orig_data' and 'array' fields.
3233 (__register_frame_info, __register_frame_info_bases)
3234 (__deregister_frame_info, __deregister_frame_info_bases):
3235 Constify void * argument.
3236 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
3237 return values, and casts of type fde *, struct dwarf_fde *,
3238 and struct dwarf_cie *.
3239 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
3240 (__deregister_frame_info, __deregister_frame_info_bases):
3241 Constify void * argument.
3242 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
3243 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
3244 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
3245 fde_split, SWAP, frame_downheap, frame_heapsort)
3246 (classify_object_over_fdes, add_fdes, linear_search_fdes,
3247 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
3248 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
3249 Constify arguments, local variables, return values, and casts
3250 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
3251 Use const pointer types in sizeof expressions, for clarity.
3252 * unwind-dw2-fde-glibc.c
3253 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
3254 (struct unw_eh_callback_data): Constify 'ret' field.
3255
3256 2003-10-31 Fariborz Jahanian <fjahanian@apple.com>
3257 David Edelsohn <edelsohn@gnu.org>
3258
3259 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
3260 (function_arg): Call it.
3261 (rs6000_function_value): Widen integral return value to mode based
3262 on TARGET_32BIT, not word_mode.
3263 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
3264 (UNITS_PER_ARG): New.
3265 (RS6000_ARG_SIZE): Use it.
3266
3267 2003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
3268
3269 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
3270 and gengtype-yacc.h.
3271
3272 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
3273
3274 PR optimization/8896
3275 * postreload.c (reload_combine): Check that REGY doesn't die in an
3276 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
3277
3278 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
3279
3280 PR/10239
3281 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
3282
3283 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
3284
3285 PR/11640
3286 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
3287 immediatelly before BARRIER.
3288
3289 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
3290
3291 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
3292
3293 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
3294
3295 PR target/11271
3296 * reload.c (find_reloads_address): Handle any register in
3297 (PLUS (PLUS (REG) (REG)) (CONST_INT).
3298
3299 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
3300
3301 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
3302 ENABLE_GC_CHECKING not in GGC_POISON.
3303
3304 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
3305
3306 PR bootstrap/9863
3307 * configure.in: Bail out if awk is missing.
3308 * configure: Regenerate.
3309
3310 PR ada/12761
3311 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
3312 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
3313
3314 2003-10-30 Richard Henderson <rth@redhat.com>
3315
3316 * c-objc-common.c (c_tree_printer): Handle types correctly.
3317 Factor code a bit.
3318
3319 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
3320
3321 * value-prof.c, web.c: Update to C90.
3322
3323 2003-10-30 Eric Christopher <echristo@redhat.com>
3324
3325 * function.c (purge_addressof_1): Add case for REG_RETVAL
3326 notes when modes are unequal.
3327
3328 2003-10-31 Jan Hubicka <jh@suse.cz>
3329
3330 * i386-modes.def: Add XFmode format adjustment.
3331
3332 2003-10-30 Jan Hubicka <jh@suse.cz>
3333
3334 * real.c (encode_ieee_extended): Back out previous patch.
3335
3336 2003-10-30 Jan Hubicka <jh@suse.cz>
3337
3338 * real.c (encode_ieee_extended): Initialize whole array.
3339 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
3340 * i386-modes.def: Change definitions of TFmode and XFmode.
3341 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
3342 code.
3343 (construct_container): Allow constructing of TFmode integer containers.
3344 (ix86_return_in_memory): XFmode is not returned in memory.
3345 (init_ext_80387_constants): Always use XFmode.
3346 (print_operand): Likewise.
3347 (ix86_prepare_fp_compare_regs): Likewise.
3348 (split_to_parts): Deal with TFmode.
3349 (split_long_move): Simplify.
3350 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
3351 (ix86_memory_move_cost): Do not confuse TFmode.
3352 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
3353 (IS_STACK_MODE): TFmode is not stack mode.
3354 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
3355 (VALID_SSE_REG_MODE): Allow TFmode.
3356 (VALID_FP_MODE_P): Disallow TFmode.
3357 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
3358 * i386.md (TFmode patterns): Kill.
3359 (movtf, motf_rex64): New patterns.
3360
3361 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
3362
3363 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
3364
3365 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
3366
3367 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
3368 (mov_lwr, mov_swl, mov_swr): Likewise.
3369 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
3370
3371 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
3372
3373 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
3374
3375 2003-10-30 Richard Henderson <rth@redhat.com>
3376
3377 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
3378 test for irix6 rather than preprocessor test.
3379
3380 2003-10-30 Richard Henderson <rth@redhat.com>
3381
3382 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
3383
3384 2003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
3385
3386 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
3387 as a general flag that the return address register needs to be saved,
3388 not necessarily because of __builtin_return_addr (0).
3389 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
3390 remove special handling of zSeries machines.
3391 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
3392 register as a regular register on zSeries machines.
3393 (s390_reorg): Adjust calls to s390_split_branches and
3394 s390_optimize_prolog.
3395 (s390_frame_info): On zSeries machines, do not assume the return
3396 register is always used. Update regs_ever_live with current data
3397 for the special registers.
3398 (s390_emit_epilogue): Use save_return_addr_p to determine whether
3399 the return register was saved.
3400 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
3401 RETURN_REGNUM fixed on zSeries machines.
3402 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
3403 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
3404 via ahi-jgne pair on zSeries machines.
3405 ("*doloop_di"): Likewise.
3406 ("*doloop_di_long"): Remove.
3407
3408 2003-10-30 Richard Earnshaw <rearnsha@arm.com>
3409
3410 * arm.c (arm_override_options): Revert change of arm_constant_limit
3411 when optimizing for size.
3412
3413 2003-10-29 Richard Henderson <rth@redhat.com>
3414
3415 * fold-const.c (fold_single_bit_test): Convert the input to the
3416 operational intermediate type.
3417
3418 2003-10-29 Richard Henderson <rth@redhat.com>
3419
3420 * builtins.c (std_build_builtin_va_list): New.
3421 * expr.h (std_build_builtin_va_list): Declare.
3422 * defaults.h (BUILD_VA_LIST_TYPE): New.
3423 * system.h (BUILD_VA_LIST_TYPE): Poison.
3424 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
3425 * target.h (struct gcc_target): Add build_builtin_va_list.
3426 * tree.c (build_common_tree_nodes_2): Use it.
3427
3428 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
3429 config/alpha/alpha.h, config/alpha/unicosmk.h,
3430 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
3431 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
3432 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
3433 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
3434 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
3435 config/mips/mips.h, config/rs6000/rs6000-protos.h,
3436 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3437 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3438 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3439 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
3440 config/xtensa/xtensa.h: Rename foo_build_va_list to
3441 foo_build_builtin_va_list; make it static. Define
3442 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
3443 Update protos.
3444
3445 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
3446 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
3447
3448 2003-10-29 James E Wilson <wilson@specifixinc.com>
3449
3450 * recog.c (asm_operand_ok): Add missing break after case 'X'.
3451 Change if statements to else if statements in default case.
3452 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
3453 in comment.
3454 (constrain_operands_cached): Likewise.
3455 (constrain_operands): Change if statements to else if statements in
3456 default case.
3457 * reload.c (find_reloads): Likewise.
3458
3459 2003-10-29 Richard Henderson <rth@redhat.com>
3460
3461 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
3462 shifts and rotates.
3463
3464 2003-10-30 Alan Modra <amodra@bigpond.net.au>
3465
3466 * config/rs6000/rs6000.md: Remove duplicate pattern.
3467
3468 2003-10-29 Hans-Peter Nilsson <hp@axis.com>
3469
3470 * real.c (do_divide): Initialize result with a 0.
3471
3472 * configure.in <enable-checking for valgrind>: Look for
3473 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
3474 if it exists.
3475 * configure, config.in: Regenerate.
3476 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
3477 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
3478 #elif for other alternatives.
3479 * ggc-page.c: Ditto.
3480 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
3481 include structure from ggc-common.c.
3482
3483 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3484
3485 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
3486 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
3487 * pa.c (pa_adjust_insn_length): Check for btable branches using
3488 attribute TYPE_BTABLE_BRANCH.
3489 (pa_reorg): Simplify.
3490 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
3491 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
3492 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
3493 * pa.md (btable_branch): New instruction type.
3494 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
3495 btable branches.
3496 (define_delay): Add btable branches to insn types that may have an
3497 insn in the delay position.
3498 (Z2, Z3): Add btable branch to list.
3499 Simplify unamed pattern set copy pic_label_operand to register. Add
3500 PA 2.0 variant.
3501 (short_jump): New jump for use in branch tables.
3502 (casesi, casesi0): Revise for new branch table formats.
3503 (casesi32, casesi32p, casesi64p): New casesi patterns.
3504 (indirect_jump): Move.
3505
3506 2003-10-29 David Edelsohn <edelsohn@gnu.org>
3507
3508 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
3509 !TARGET_POWERPC64.
3510 (UNITS_PER_GPR_WORD): Delete.
3511 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
3512 (HARD_REGNO_MODE_OK): Same.
3513 (CLASS_MAX_NREGS): Same.
3514
3515 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3516
3517 * pa.h (ASM_COMMENT_START): Define.
3518
3519 2003-10-29 Zack Weinberg <zack@codesourcery.com>
3520
3521 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
3522 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
3523 component, not zero.
3524
3525 2003-10-29 Andreas Schwab <schwab@suse.de>
3526
3527 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
3528
3529 2003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
3530
3531 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3532 Never return 1 for complex integral modes whose size is lesser or
3533 equal to a word.
3534 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
3535 in the comment.
3536 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
3537 modes.
3538 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
3539 greater than 16 bytes by reference.
3540
3541 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3542
3543 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
3544 not TARGET_ILP32.
3545 (ia64_initialize_trampoline): Use globalize_label target call.
3546
3547 2003-10-29 Andreas Schwab <schwab@suse.de>
3548
3549 * doc/install.texi (Building): Add a sentence about building Ada
3550 for a canadian cross.
3551
3552 2003-10-28 Zack Weinberg <zack@codesourcery.com>
3553
3554 * config/ia64/ia64.c (cmptf_libfunc): New static.
3555 (ia64_expand_compare): Add logic to open-code calls to
3556 _U_Qfcmp for TFmode comparisons.
3557 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
3558 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
3559 never be generated anymore.
3560 * config/ia64/ia64.md (cmptf): New expander.
3561
3562 2003-10-28 Zack Weinberg <zack@codesourcery.com>
3563
3564 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
3565 (*sqrt_approx): New instruction pattern for approximate square roots.
3566 (*setf_exp_xf): New instruction pattern for exponentiation.
3567 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
3568 (sqrtsf2_internal_thr): New define_and_split implementing
3569 throughput-optimized inline calculation of SFmode square root.
3570 (sqrtdf2_internal_thr): Likewise for DFmode.
3571 (sqrtxf2_internal_thr): Likewise for XFmode.
3572 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
3573 latency- and throughput-optimized square root algorithms.
3574 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
3575 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
3576 New macros.
3577 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
3578 -minline-sqrt-max-throughput.
3579 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
3580 and -minline-sqrt-max-throughput are given, notify the user
3581 that both options cannot be used simultaneously.
3582 If -minline-sqrt-min-latency is given, notify the user that
3583 this mode is not yet implemented.
3584 (rtx_needs_barrier): Reformat initial comment to obey
3585 72-character width limit. Support UNSPEC_SETF_EXP and
3586 UNSPEC_FR_SQRT_RECIP_APPROX.
3587
3588 2003-10-29 Alan Modra <amodra@bigpond.net.au>
3589
3590 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
3591 moves.
3592
3593 2003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3594
3595 PR target/11598
3596 PR libgcj/10610
3597 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
3598
3599 2003-10-28 Richard Earnshaw <rearnsha@arm.com>
3600
3601 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
3602 an extra stack adjustment insn if the stack pointer is already
3603 pointing at the right place.
3604 (use_return_insn): Allow a return insn to be used when we have a
3605 frame pointer if the stack pointer is in the right place.
3606 (output_return_instruction): Handle it.
3607
3608 2003-10-28 Andreas Jaeger <aj@suse.de>
3609
3610 * ggc-zone.c (check_cookies): Add missing variable.
3611 Add void to prototypes.
3612
3613 2003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3614
3615 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
3616 * crtstuff.c (__do_global_ctors_1): Move prototype.
3617 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
3618 appropriate.
3619 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
3620 Mark parameter with __attribute__((unused)).
3621
3622 2003-10-27 Zack Weinberg <zack@codesourcery.com>
3623
3624 * c-decl.c (pushdecl): Clarify comment.
3625
3626 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
3627
3628 * doc/install.texi: Update instructions for Ada cross builds
3629
3630 PR ada/5909:
3631 * doc/sourcebuild.texi: Document Ada test suite.
3632
3633 2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
3634
3635 * config/m68hc11/m68hc11.c: Convert to ISO C90.
3636 * config/m68hc11/m68hc11-protos.h: Likewise.
3637
3638 2003-10-27 Jan Hubicka <jh@suse.cz>
3639 Eric Botcazou <ebotcazou@libertysurf.fr>
3640
3641 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
3642 webizer pass dump.
3643
3644 2003-10-27 Jakub Jelinek <jakub@redhat.com>
3645 Jan Hubicka <jh@suse.cz>
3646
3647 * reload1.c (struct elim_table): Change offset, initial_offset and
3648 previous_offset fields to HOST_WIDE_INT.
3649 (offsets_at): Change from int to HOST_WIDE_INT.
3650 (reload): Adjust offsets_at initialization.
3651 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
3652 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
3653 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
3654 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
3655 if TARGET_64BIT.
3656 (pro_epilogue_adjust_stack): New function.
3657 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
3658 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
3659 (pro_epilogue_adjust_stack_1): Remove * in front of name.
3660 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
3661 (pro_epilogue_adjust_stack_rex64_2): New insn.
3662
3663 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
3664
3665 * config/i386/i386.c (ix86_expand_call): Replace 40 with
3666 FIRST_REX_INT_REG + 3 /* R11 */.
3667
3668 2003-10-26 Richard Henderson <rth@redhat.com>
3669
3670 * config/alpha/alpha.md (attr cannot_copy): New.
3671 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
3672 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
3673 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
3674
3675 2003-10-26 Daniel Berlin <dberlin@dberlin.org>
3676
3677 * ggc-zone.c: New file, zone allocating collector.
3678 * configure: Accept zone option for --with-gc
3679 * configure.in: Ditto.
3680 * ggc.h (ggc_pch_count_object): Pass bool indicating
3681 stringiness. Update all callers.
3682 (ggc_pch_alloc_object): Ditto.
3683 (ggc_pch_write_object): Ditto.
3684 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
3685 type.
3686 (ggc_alloc_rtvec): Ditto.
3687 (ggc_alloc_tree): Use zone allocation, since some things using this macro
3688 aren't a single typecode.
3689 * ggc-none.c (ggc_alloc_typed): New function.
3690 (ggc_alloc_zone): Ditto.
3691 * ggc-page.c: Ditto on both functions.
3692
3693 2003-10-26 Gunther Nikl <gni@gecko.de>
3694
3695 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
3696 frame information is always valid.
3697 (m68k_output_function_prologue): Remove superfluous TARGET_68881
3698 test; fix formatting.
3699
3700 2003-10-26 Gunther Nikl <gni@gecko.de>
3701
3702 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
3703 reg_rev_mask computation.
3704 (m68k_output_function_prologue): Fix usage of current_frame (one typo
3705 and one missing); use reg_rev_mask not reg_mask.
3706 (m68k_output_function_epilogue): Fix usage of current_frame;
3707 use fpu_rev_mask not fpu_mask.
3708
3709 2003-10-26 Bernardo Innocenti <bernie@develer.com>
3710
3711 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
3712 num_saved_regs, use current_frame.reg_no instead.
3713
3714 2003-10-26 Bernardo Innocenti <bernie@develer.com>
3715 Paul Dale <pauli@snapgear.com>
3716
3717 * doc/extend.texi (interrupt_handler): Add m68k to the
3718 list of processors implementing it.
3719 * doc/invoke.texi (-msep-data): Document new m68k option.
3720 (-mno-sep-data): Likewise.
3721 (-mid-shared-library): Likewise.
3722 (-mno-id-shared-library): Likewise.
3723 (-mshared-library-id): Likewise.
3724
3725 2003-10-26 Andreas Jaeger <aj@suse.de>
3726
3727 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
3728 comparison.
3729 (_Unwind_SetGR): Likewise.
3730
3731 2003-10-26 Ottavio Campana <ottavio@campana.vi.it>
3732
3733 PR target/12690
3734 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
3735
3736 2003-10-26 Gunther Nikl <gni@gecko.de>
3737
3738 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
3739 comment from here to...
3740 (m68k_save_reg): ...here. Fix comment formatting.
3741 (m68k_output_function_prologue): Fix comment formatting.
3742 (m68k_output_function_epilogue): Likewise.
3743 (const_method): Likewise.
3744
3745 2003-10-26 Kazu Hirata <kazu@cs.umass.edu>
3746
3747 * toplev.c (default_get_pch_validity): Guard the use of
3748 target_options with #ifdef TARGET_OPTIONS.
3749 (default_pch_valid_p): Likewise.
3750
3751 2003-10-26 Andreas Jaeger <aj@suse.de>
3752 Zack Weinberg <zack@codesourcery.com>
3753 Andreas Tobler <toa@pop.agri.ch>
3754
3755 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
3756 (output_die): Likewise.
3757 (print_die): Likewise.
3758
3759 2003-10-26 Andreas Jaeger <aj@suse.de>
3760
3761 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
3762 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
3763 dwarf2out.c change.
3764
3765 * toplev.c (default_pch_valid_p): Fix warning.
3766
3767 2003-10-25 Roger Sayle <roger@eyesopen.com>
3768
3769 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
3770 RTL nodes. If an operator's operands are unchanged, return the
3771 original argument unchanged.
3772
3773 2003-10-26 Graham Stott <graham.stott@btinternet.com>
3774
3775 Fix bootstrap failure.
3776 * expmed.c (store_bit_field): Don't compare bitsize against
3777 modes with zero bit-size.
3778
3779 (extract_bit_field): Likewise
3780
3781 2003-10-25 Jan Hubicka <jh@suse.cz>
3782
3783 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
3784 (cfa_loc): Likewise.
3785 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
3786 HOST_WIDE_INT.
3787 (args_size, old_args_size): change type to HOST_WIDE_INT.
3788 (dwarf2out_def_cfa, dwarf2out_args_size,
3789 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
3790 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
3791 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
3792 AT_offset): Use HOST_WIDE_INT.
3793 (based_loc_descr): offset is HOST_WIDE_INT.
3794 (add_data_member): Likewise.
3795 (add_const_value_attribute): Simplify.
3796
3797 2003-10-25 Richard Henderson <rth@redhat.com>
3798
3799 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
3800 (ix86_expand_prologue): Save and restore eax around stack probe
3801 if it's live.
3802
3803 2003-10-25 Jan Hubicka <jh@suse.cz>
3804
3805 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
3806
3807 2003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3808
3809 PR target/12712
3810 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
3811 if the block has no predecessors.
3812 (convert_regs_2): Document the problem with successors whose
3813 only predecessor is the block to be processed.
3814 (convert_regs): Don't create the arbitrary input stack here.
3815
3816 2003-10-24 Zack Weinberg <zack@codesourcery.com>
3817
3818 * genmodes.c (struct mode_data): Add contained and next_cont
3819 fields.
3820 (complete_mode): Maintain linked list of modes that have a
3821 given component.
3822 (emit_mode_unit_size): Delete.
3823 (emit_mode_nunits): New.
3824 (emit_insn_modes_c): Update to match.
3825 (emit_mode_adjustments): Propagate size and alignment
3826 adjustments from component modes to their containers.
3827 * machmode.h (mode_unit_size): Delete.
3828 (mode_nunits): New.
3829 (GET_MODE_NUNITS): Just return the value in the table.
3830 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3831 GET_MODE_SIZE.
3832 * expmed.c (store_bit_field, extract_bit_field): Can use a
3833 plain move instruction if bitsize >= GET_MODE_BITSIZE of
3834 destination/source mode, respectively.
3835 * varasm.c (assemble_real): Write out the full size of the
3836 constant, not just its bitsize.
3837 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3838
3839 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3840 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3841 alignment of XF and TF modes in compliance with ia64 ABIs.
3842 Can now hardwire the format of both modes.
3843 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3844 (general_tfmode_operand, destination_tfmode_operand)
3845 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3846 general_xfmode_operand, destination_xfmode_operand,
3847 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3848 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3849 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
3850 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3851 __float128.
3852 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3853 Change TFmode to XFmode wherever appropriate. Remove all
3854 references to INTEL_EXTENDED_IEEE_FORMAT.
3855 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3856 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3857 (PREDICATE_CODES): Update to match function renames.
3858 * config/ia64/ia64.md: Change TF to XF throughout; rename all
3859 patterns to match. Remove all references to
3860 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
3861 function renames.
3862 * config/ia64/ia64-protos.c: Update all prototypes to match
3863 renamed functions.
3864 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3865 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3866 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3867 __divtf3; keep old name for backward compatibility.
3868 (L__compat): New section providing forwarding stubs for
3869 __fixtfti, __fixunstfti, __floattitf.
3870 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3871
3872 2003-10-24 Geoffrey Keating <geoffk@apple.com>
3873
3874 PR 10757
3875 * c-pch.c: Include target.h. Improve comments.
3876 (struct c_pch_validity): Add target_data_length.
3877 (pch_init): Add target's validity data.
3878 (c_common_valid_pch): Check target's validity data.
3879 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3880 (TARGET_PCH_VALID_P): New.
3881 (TARGET_INITIALIZER): Add new fields.
3882 * target.h: Include tm.h.
3883 (struct gcc_target): Add get_pch_validity, pch_valid_p.
3884 * toplev.h (default_get_pch_validity): New prototype.
3885 (default_pch_valid_p): New prototype.
3886 * toplev.c (default_get_pch_validity): New routine.
3887 (default_pch_valid_p): New routine.
3888 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
3889 target.h with $(TARGET_H).
3890 (c-pch.o): Add TARGET_H.
3891 * doc/tm.texi (PCH Target): New node.
3892 (TARGET_GET_PCH_VALIDITY): Document.
3893 (TARGET_PCH_VALID_P): Document.
3894
3895 2003-10-24 Kelley Cook <kcook@gcc.gnu.org>
3896
3897 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
3898 and $(docdir)/include from any *.texi dependencies.
3899 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3900 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3901 ($(docobjdir)/%.7): Likewise.
3902 (%.pod): New implicit rule.
3903 (cpp.pod): New dependency only rule.
3904 (gcc.pod): New intermediate rule with dependencies and commands.
3905 (gfdl.pod): Likewise.
3906 (fsf-funding.pod): Likewise.
3907
3908 2003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
3909
3910 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3911 related code.
3912 * fixinc/fixinc.ptx: Remove.
3913 * fixinc/fixinc.svr4: Remove.
3914
3915 2003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3916
3917 * config/s390/s390.c (load_multiple_operation): Allow both SImode
3918 and DImode if word_mode is DImode.
3919 (store_multiple_operation): Likewise.
3920 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3921 ("*load_multiple_di"): Allow only if word_mode == DImode.
3922 ("movqi"): Use LLGC whenever TARGET_ZARCH.
3923 ("fix_truncdfsi2"): Fix incorrect temporary size.
3924 ("fix_truncsfsi2"): Likewise.
3925 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3926 string for function return value operand.
3927 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3928
3929 2003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
3930
3931 * c-parse.in (array_declarator): Use expr_no_commas.
3932 Fixes PR c/11943.
3933
3934 2003-10-24 Richard Sandiford <rsandifo@redhat.com>
3935
3936 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3937 associated includes in #ifndef inhibit_libc.
3938
3939 2003-10-24 Roger Sayle <roger@eyesopen.com>
3940
3941 * doc/libgcc.texi: Document some more of the libgcc API.
3942
3943 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
3944
3945 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3946 comparing a constant with small negative numbers and add costing
3947 for constants in conjunction with AND.
3948 (note_invalid_constants): Tidy previous change.
3949 (thumb_cmp_operand): Tidy.
3950 (thumb_cmpneg_operand): New function.
3951 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3952 for size.
3953 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3954 (PREDICATE_CODES): Add thumb_cmpneg_operand.
3955 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
3956 with a negative constant.
3957 (cbranchsi4_insn): Matcher for cbranchsi4.
3958 (cbranchsi4_scratch): Similar, but a scratch is available for
3959 handling negative constants.
3960 (movsi_cbranchsi4): New pattern.
3961 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3962 and use the TST instruction.
3963 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3964 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3965 cannot see high regs or memory alternatives.
3966 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3967
3968 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
3969
3970 * arm.c (note_invalid_constants): Try to extract the constant
3971 pool value using avoid_constant_pool_reference; only use
3972 get_pool_constant if that returns the original reference.
3973
3974 2003-10-24 Jan Hubicka <jh@suse.cz>
3975
3976 PR c++/12624
3977 * varasm.c (notice_global_symbol): Disqualify global registers.
3978
3979 2003-10-23 Roger Sayle <roger@eyesopen.com>
3980
3981 PR middle-end/11414
3982 * loop.c (load_mems): Use redirect_jump to forward jumps from
3983 the original loop end label to the new "loop sink" block's label.
3984
3985 2003-10-23 Roger Sayle <roger@eyesopen.com>
3986
3987 PR middle-end/12705
3988 * optabs.c (expand_binop): When expanding complex operations
3989 inline, always calculate result into a new temporary register.
3990 Minor code clean-ups.
3991
3992 2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3993
3994 * objc/lang-specs.h: Handle -print-objc-runtime-info.
3995 * doc/invoke.texi (Objective-C Dialect Options): Document it.
3996
3997 2003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
3998
3999 * config/i386/cygwin.asm: Add copyright notice. Add comment
4000 on why this code is needed.
4001
4002 2003-10-23 Kazu Hirata <kazu@cs.umass.edu>
4003
4004 * config/h8300/clzhi2.c: Fix warnings.
4005 * config/h8300/ctzhi2.c: Likewise.
4006 * config/h8300/fixunssfsi.c: Likewise.
4007 * config/h8300/parityhi2.c: Likewise.
4008 * config/h8300/popcounthi2.c: Likewise.
4009
4010 2003-10-23 James E Wilson <wilson@specifixinc.com>
4011
4012 * gcc.c (option_map): Delete --target and --use-version.
4013
4014 2003-10-23 Fariborz Jahanian <fjahanian@apple.com>
4015 David Edelsohn <edelsohn@gnu.org>
4016
4017 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
4018 TARGET_POWREPC64.
4019 (UNITS_PER_GPR_WORD): Define.
4020 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
4021 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
4022 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
4023 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
4024 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
4025 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
4026 (rs6000_emit_prologue): Select reg_mode and reg_size using
4027 TARGET_32BIT, not TARGET_POWERPC64.
4028 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
4029 ABI / 64-bit computation mode
4030
4031 2003-10-22 Andrew Haley <aph@redhat.com>
4032
4033 * toplev.c (output_file_directive): Allow for null input_name.
4034
4035 2003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
4036
4037 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
4038
4039 2003-10-22 Chris Demetriou <cgd@broadcom.com>
4040
4041 * configure.in: In --enable-generated-files-in-srcdir option
4042 handling, fix default case handling.
4043 * configure: Regenerate.
4044
4045 2003-10-22 Phil Edwards <phil@codesourcery.com>
4046
4047 * config.gcc: Update *-*-vxworks* generic hook and comments.
4048 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
4049 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
4050 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
4051 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
4052 * config/windiss.h: New file.
4053 * config/arm/t-vxworks: New file.
4054 * config/arm/vxworks.h: New file.
4055 * config/i386/t-vxworks: New file.
4056 * config/i386/vxworks.h: New file.
4057 * config/mips/t-vxworks: New file.
4058 * config/mips/vxworks.h: New file.
4059 * config/mips/windiss.h: New file.
4060 * config/sh/t-vxworks: New file.
4061 * config/sh/vxworks.h: New file.
4062
4063 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
4064
4065 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
4066 (h8300_saveall_function_p): New.
4067 (h8300_insert_attributes): Insert the saveall attribute if
4068 #pragma saveall is specified.
4069 (h8300_attribute_table): Add saveall.
4070 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
4071 * doc/extend.texi: Mention the saveall attribute.
4072
4073 2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
4074
4075 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
4076 deprecation of casts as lvalues.
4077 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
4078 * fixinc/fixincl.x: Regenerate.
4079 * fixinc/tests/base/obstack.h: New test.
4080
4081 2003-10-22 Andreas Schwab <schwab@suse.de>
4082
4083 PR target/12676
4084 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
4085 LP64 platforms.
4086
4087 2003-10-22 Jan Hubicka <jh@suse.cz>
4088
4089 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
4090 presence of DW_AT_inline.
4091 (gen_subprogram_die): Likewise; do not abort instead of emitting
4092 DW_AT_not_inline.
4093
4094 2003-10-22 Jan Hubicka <jh@suse.cz>
4095
4096 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
4097 global info is not ready.
4098
4099 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
4100
4101 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
4102
4103 2003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
4104
4105 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
4106 ("*movstr_short"): ... into this insn pattern.
4107 ("movstr_short"): New expander.
4108 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
4109 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
4110 ("movstr_long"): New expander.
4111 ("clrstr_short_64", "clrstr_short_31"): Merge ...
4112 ("*clrstr_short"): ... into this insn pattern.
4113 ("clrstr_short"): New expander.
4114 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
4115 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
4116 ("clrstr_long"): New expander.
4117 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
4118 ("*cmpmem_short"): ... into this insn pattern.
4119 ("cmpmem_short"): New expander.
4120 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
4121 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
4122 ("cmpmem_long"): New expander.
4123 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
4124 (s390_expand_clrstr): Likewise.
4125 (s390_expand_cmpmem): Likewise.
4126
4127 2003-10-22 Mark Mitchell <mark@codesourcery.com>
4128
4129 * c-pch.c (struct c_pch_validity): Add pch_init field.
4130 (pch_init): Set it.
4131 (c_common_valid_pch): Check it.
4132
4133 2003-10-22 David Taylor <dtaylor@emc.com>
4134
4135 PR debug/12500
4136 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
4137
4138 2003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4139
4140 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
4141 alpha_return_in_memory if no VALTYPE specified.
4142
4143 2003-10-22 Jan Hubicka <jh@suse.cz>
4144
4145 PR debug/12389
4146 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
4147 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
4148 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
4149 (cgraph_global_info): Add flag inlined
4150 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
4151 cgraph_function_possibly_inded_p
4152 * cgraphunit.c (mark_inline): Set inlined flag.
4153 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
4154 only for possibly inlined functions.
4155 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
4156 body of function.
4157
4158 2003-10-22 Andrew Haley <aph@redhat.com>
4159
4160 * varasm.c (output_constructor): Make constructor annotation
4161 conditional on ASM_COMMENT_START.
4162
4163 2003-10-21 Jason Merrill <jason@redhat.com>
4164
4165 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
4166 (get_narrower): Likewise.
4167
4168 * stor-layout.c (layout_decl): Do packed field alignment for
4169 bit-fields, too.
4170
4171 2003-10-21 Eric Christopher <echristo@redhat.com>
4172
4173 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
4174
4175 2003-10-21 Geoffrey Keating <geoffk@apple.com>
4176
4177 * c-pch.c: Add comments in various places.
4178 (struct c_pch_validity): Add the lengths of various strings.
4179 (host_machine): New static.
4180 (target_machine): New static.
4181 (get_ident): Bump version number.
4182 (pch_init): Write out version, host, target validity data.
4183 (c_common_valid_pch): Check version, host, target.
4184 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
4185 TARGET_MACHINE.
4186
4187 2003-10-21 Jason Merrill <jason@redhat.com>
4188
4189 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
4190 (EXPR_P): New macro.
4191
4192 2003-10-21 Zack Weinberg <zack@codesourcery.com>
4193
4194 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
4195 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
4196 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
4197 DImode. Use convert_move to load ar.ccv.
4198 (ia64_expand_compare_and_swap): Likewise.
4199 If expand_expr doesn't put 'old' and 'new' in the proper
4200 modes, run them through convert_to_mode.
4201
4202 2003-10-21 Eric Christopher <echristo@redhat.com>
4203
4204 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
4205 for too large bitfields.
4206
4207 2003-10-21 Mark Mitchell <mark@codesourcery.com>
4208
4209 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
4210
4211 2003-10-21 Andrew Haley <aph@redhat.com>
4212
4213 * varasm.c (output_constructor): Annotate constructor.
4214
4215 2003-10-21 Mark Mitchell <mark@codesourcery.com>
4216
4217 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
4218 on existence of destination file.
4219
4220 2003-10-21 Jan Hubicka <jh@suse.cz>
4221
4222 * haifa-sched.c (choose_ready): Initialize index.
4223
4224 2003-10-21 Jason Merrill <jason@redhat.com>
4225
4226 * tree.c (build1): Fix off-by-one error.
4227
4228 2003-10-21 Robert Millan <robertmh@gnu.org>
4229
4230 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
4231 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
4232 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
4233 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
4234
4235 2003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
4236
4237 * web.c: Fix various comments.
4238
4239 2003-10-20 Nicolas Pitre <nico@cam.org>
4240
4241 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
4242 to 2 instead of 1 when optimize_size is true. Gather code based on
4243 optimize_size together. Add comment about XScale load latency.
4244
4245 2003-10-21 Gunther Nikl <gni@gecko.de>
4246
4247 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
4248 obsolete comments.
4249
4250 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
4251
4252 * Makefile.in: Get parsedir and docobjdir from configure.
4253 * configure.in: Recogonize --enable-generated-files-in-srcdir.
4254 Pass along parsedir and docobjdir.
4255 * configure: Regenerate.
4256 * doc/install.texi: Document --enable-generated-files-in-srcdir.
4257
4258 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
4259
4260 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
4261 included.
4262
4263 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
4264
4265 * c-common.c (expand_tree_builtin): Ensure creal and cimag
4266 functions do not return lvalues.
4267
4268 2003-10-20 Jason Merrill <jason@redhat.com>
4269
4270 PR c/12553
4271 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
4272 appropriately.
4273
4274 PR c/11446
4275 * stor-layout.c (layout_decl): Fix alignment handling.
4276
4277 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
4278
4279 * doc/extend.texi: Deprecate casts as lvalues.
4280
4281 2003-10-20 Jan Hubicka <jh@suse.cz>
4282
4283 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
4284
4285 * cgraphunit.c (decide_is_function_needed): Fix test dealing
4286 with functions implicitly made inline.
4287
4288 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
4289 (cgraph_finalize_function): Use it.
4290 (cgraph_mark_inline): Allow incrmental decisions
4291 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
4292 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
4293 * tree-inline.c (limits_allow_inlining): Kill.
4294 (expand_call_inline): Always use unit-at-a-time path.
4295
4296 2003-10-20 Zack Weinberg <zack@codesourcery.com>
4297
4298 * fixinc/inclhack.def (hpux11_snprintf): New edit.
4299 * fixinc/fixincl.x: Regenerate.
4300 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
4301
4302 2003-10-20 Mark Mitchell <mark@codesourcery.com>
4303
4304 * Makefile.in (install-info): Simplify.
4305 ($(DESTDIR)$(infodir)/%.info): New rule.
4306 * configure.in (target_list): Remove install-info.
4307 * doc/.cvsignore (gcc.info*): Remove.
4308 (gccint.info*): Likewise.
4309 (gccinstall.info*): Likewise.
4310 (cpp.info*): Likewise.
4311 (cppinternals.info*): Likewise.
4312 (*.info*): Add it.
4313 * doc/sourcebuild.texi: Update description of install-info.
4314 * objc/Make-lang.in (objc.install-info): Remove.
4315
4316 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4317
4318 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
4319 Use it in _MIPS_SIM definition.
4320 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
4321
4322 2003-10-20 Zack Weinberg <zack@codesourcery.com>
4323
4324 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
4325 virtual register, but only if file == asm_out_file.
4326 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
4327 for ARG_POINTER_REGNUM.
4328
4329 2003-10-20 Zack Weinberg <zack@codesourcery.com>
4330
4331 * c-common.c (registered_builtin_types): New static.
4332 (c_common_type_for_mode): Consult registered_builtin_types.
4333 (c_register_builtin_type): Add type to registered_builtin_types.
4334 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
4335 all MODE_FLOAT modes, not just the ones corresponding to
4336 float_type_node, double_type_node, and long_double_type_node.
4337
4338 2003-10-20 Richard Henderson <rth@redhat.com>
4339
4340 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
4341 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
4342
4343 2003-10-20 Dorit Naishlos <dorit@il.ibm.com>
4344
4345 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
4346 support new flag -minsert-sched-nops.
4347 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
4348 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
4349 support new flag -minsert-sched-nops.
4350 (is_cracked_insn, is_microcoded_insn): New functions.
4351 (rs6000_sched_finish): New function.
4352 (rs6000_issue_rate): Return 5 for power4.
4353 (get_next_active_insn, insn_terminates_group_p): New
4354 functions.
4355 (is_costly_group, force_new_group): New functions.
4356 (redefine_groups, pad_groups): New functions.
4357 (rs6000_variable_issue): Use new functions.
4358 * doc/invoke.texi (-minsert-sched-nops): Document new
4359 option.
4360
4361 2003-10-20 David S. Miller <davem@redhat.com>
4362
4363 * config/sparc/sparc.md (type attribute): Add new insn types
4364 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
4365 (patterns emitting VIS insns): Use them.
4366 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
4367 * config/sparc/ultra3.md: Likewise.
4368
4369 2003-10-20 Falk Hueffner <falk@debian.org>
4370
4371 PR target/12654
4372 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
4373 comparison against constant by adjusting the argument except for
4374 EQ and NE.
4375
4376 2003-10-19 Mark Mitchell <mark@codesourcery.com>
4377
4378 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
4379 arm1136jfs, and armv6j.
4380 * config/arm/arm.c (FL_ARCH6J): New macro.
4381 (FL_VFPV2): Likewise.
4382 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
4383 and arm1136jfs.
4384 (all_architectures): Add entry for armv6j.
4385 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
4386 arm1136js, and arm1136jfs.
4387 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
4388 (TARGET_CPU_arm1026ej_s): Likewise.
4389 (TARGET_CPU_arm1136j_s): Likewise.
4390 (TARGET_CPU_arm1136jf_s): Likewise.
4391 * doc/invoke.texi: Document new ARM cores and architecture
4392 variants.
4393
4394 2003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4395
4396 * Makefile.in (toplev.o): Add value-prof.h dependency.
4397 (value-prof.o): Add REGS_H dependency.
4398 * common.opt (fprofile-values, fvpt): New.
4399 * flags.h (flag_value_profile_transformations): Declare.
4400 * opts.c (common_handle_option): Handle -fprofile_values and
4401 -fvpt.
4402 * profile.c (branch_prob): Don't remove death notes here.
4403 * timevar.def (TV_VPT): New.
4404 * value-prof.c: Include regs.h.
4405 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
4406 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
4407 mod_subtract_transform, value_profile_transformations): New.
4408 (insn_values_to_profile): Call insn_divmod_values_to_profile.
4409 (find_values_to_profile): Add dumps.
4410 * value-prof.h (value_profile_transformations): Declare.
4411 * toplev.c: Include value-prof.h.
4412 (rest_of_handle_value_profile_transformations): New.
4413 (enum dump_file_index): Add DFI_vpt.
4414 (dump_file): Add vpt dump.
4415 (flag_value_profile_transformations): New.
4416 (lang_independent_options): Add flag_profile_values and
4417 flag_value_profile_transformations.
4418 (rest_of_compilation): Call
4419 rest_of_handle_value_profile_transformations.
4420 (process_options): Let -fvpt imply -fprofile-values.
4421 * doc/invoke.texi (-fvpt): Document.
4422
4423 2003-10-19 Jan Hubicka <jh@suse.cz>
4424
4425 * i386.c (print_reg): Do not abort on certain registers.
4426
4427 PR optimization/12612
4428 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
4429 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
4430 match_scratch; avoid bogus paralles.
4431
4432 PR target/12674
4433 * i386.c (ix86_function_regparm): Disable implicit register passing
4434 conventions when profiling.
4435
4436 2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4437 Richard Henderson <rth@redhat.com>
4438
4439 PR optimization/8178
4440 * config/i386/i386.md (*movsi_zero): Delete.
4441 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
4442
4443 2003-10-19 Richard Henderson <rth@redhat.com>
4444
4445 * config/alpha/alpha.c (fix_operator): New.
4446 (divmod_operator): Tidy.
4447 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
4448 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
4449 (PREDICATE_CODES): Update.
4450 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
4451 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
4452 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
4453 (fix_truncsfdi_ieee): Likewise.
4454 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
4455 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
4456 * config/alpha/alpha-protos.h: Update.
4457
4458 2003-10-19 Richard Sandiford <rsandifo@redhat.com>
4459
4460 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
4461 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
4462 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
4463 constant operands.
4464
4465 2003-10-18 Kazu Hirata <kazu@cs.umass.edu>
4466
4467 * doc/extend.texi: Fix typos.
4468 * doc/invoke.texi: Likewise.
4469
4470 2003-10-18 Nicolas Pitre <nico@cam.org>
4471
4472 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
4473 XScale optimizations not arm_arch_xscale.
4474 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
4475
4476 2003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
4477
4478 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
4479 * config/s390/s390.c (shift_count_operand): New function.
4480 (s390_extra_constraint): Use it to implement 'Y' constraint.
4481 (print_shift_count_operand): New function.
4482 (print_operand): Use it to implement '%Y'.
4483 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
4484 (PREDICATE_CODES): Add shift_count_operand.
4485 * config/s390/s390.md ("rotldi3"): Merge alternatives,
4486 using "shift_count_operand" predicate and "Y" constraint,
4487 and "%Y" to output the combined shift count.
4488 ("rotlsi3"): Likewise.
4489 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
4490 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
4491 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
4492 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
4493 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
4494 ("lshrsi3"): Likewise.
4495
4496 2003-10-18 Gunther Nikl <gni@gecko.de>
4497
4498 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
4499 argument to asm_fprintf statement.
4500
4501 2003-10-18 Fariborz Jahanian <fjahanian@apple.com>
4502
4503 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
4504 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
4505 a "long long" argument.
4506
4507 2003-10-18 Alexandre Oliva <aoliva@redhat.com>
4508
4509 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
4510 as well.
4511
4512 2003-10-18 Richard Sandiford <rsandifo@redhat.com>
4513
4514 * rtl.h (rtl_size): Declare.
4515 (rtunion): Remove rtwint.
4516 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
4517 (RTX_HDR_SIZE, RTX_SIZE): New macros.
4518 (RTL_CHECK1): Adjust for new rtx_def layout.
4519 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
4520 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
4521 (X0WINT): Remove.
4522 (X0ANY): New macro.
4523 * rtl.def: Adjust comments for new rtx_def layout.
4524 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
4525 number of slots.
4526 * rtl.c (rtx_size): New array.
4527 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
4528 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
4529 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
4530 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
4531 * emit-rtl.c (copy_most_rtx): Likewise.
4532 (copy_rtx_if_shared): Use RTX_SIZE.
4533 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
4534 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
4535 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
4536 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
4537 an array. Adjust output for new rtx_def layout.
4538 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
4539 * reload1.c (eliminate_regs): Use RTX_SIZE.
4540 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
4541 * gdbinit.in (pi): Likewise.
4542
4543 2003-10-18 Jan Hubicka <jh@suse.cz>
4544
4545 * integrate.c (copy_decl_for_inlining): Revert previous patch.
4546
4547 2003-10-18 Jan Hubicka <jh@suse.cz>
4548
4549 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
4550
4551 2003-10-18 Roger Sayle <roger@eyesopen.com>
4552
4553 * libgcc.texi: Group multi-word types, such as "long double" and
4554 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
4555 Document __unord?f2 as returning a non-zero value, not just one.
4556
4557 2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
4558
4559 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
4560 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
4561
4562 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4563
4564 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
4565 match_operand.
4566
4567 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4568
4569 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
4570 parameter packed_p. Search for a DECL_PACKED field only if
4571 packed_p is false. Pass packed_p recursively.
4572 (function_arg_record_value_2): Likewise.
4573 (function_arg_record_value): Update calls to
4574 function_arg_record_value_1 and function_arg_record_value_2.
4575
4576 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4577
4578 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
4579 was successfully forced to memory before using the result.
4580
4581 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4582
4583 PR optimization/8178
4584 * config/i386/i386.md (*movsi_zero): New insn to set
4585 a register to zero on TARGET_USE_MOV0 targets.
4586
4587 2003-10-18 Kelley Cook <kcook@gcc.gnu.org>
4588
4589 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
4590 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
4591
4592 2003-10-17 David Edelsohn <edelsohn@gnu.org>
4593
4594 * doc/invoke.texi (gcse-las): Fix typo.
4595
4596 2003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
4597
4598 * doc/install.texi: Remove first part of the sentence for
4599 zsh not working. Change gcc to GCC.
4600
4601 PR bootstrap/12546
4602 * doc/install.texi: Document that zsh does not work when
4603 configuring gcc.
4604
4605 2003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
4606
4607 * config/ptx4.h: Switch to DWARF 2; update comments.
4608
4609 2003-10-17 Segher Boessenkool <boessen@de.ibm.com>
4610 Hartmut Penner <hpenner@de.ibm.com>
4611
4612 PR 10404, partial 11591, partial 11601
4613 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
4614 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
4615 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
4616 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
4617 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
4618 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
4619 (altivec_expand_stv_builtin): Adjust for the memory_operand.
4620 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
4621 (altivec_init_builtins): Use `long int' for memory offsets.
4622
4623 2003-10-17 Jan Hubicka <jh@suse.cz>
4624
4625 * opts.c (common_handle_option): Handle OPT_fweb
4626 * invoke.texi (-fweb): Add missing parts of documentation.
4627
4628 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4629
4630 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
4631 before redefinition.
4632
4633 2003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
4634
4635 * common.opt: Add description of the new -fgcse-las flag.
4636 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
4637 * gcse.c (hash_scan_set): Handle the case of store expression and
4638 insert the memory expression to the hash table, this way we make it
4639 possible to discover redundant loads after stores and remove them.
4640 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
4641 to pre_insert_copies, it is not the correct place to call it after
4642 adding stores to be in the available expression hash table.
4643 (pre_insert_copies): Added the call to update_ld_motion_stores when
4644 one or more copies were inserted.
4645 * opts.c (common_handle_option): Handle the -fgcse-las flag.
4646 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
4647
4648 * doc/invoke.tex: Document new -fgcse-las flag.
4649
4650 2003-10-18 Alan Modra <amodra@bigpond.net.au>
4651
4652 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
4653 for posterity, then remove it.
4654
4655 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4656 Nathan Sidwell <nathan@codesourcery.com>
4657
4658 * config/arm/arm.c (use_return_insn): Not a single instruction, if
4659 there's a frame pointer.
4660 (arm_output_epilogue): Protect stack pointer from being corrupted
4661 on interrupt.
4662
4663 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
4664
4665 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
4666
4667 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
4668
4669 * combine.c (simplify_set): Do not clear out undobuf.other_insn
4670 already set elsewhere.
4671
4672 2003-10-17 Kelley Cook <kcook@gcc.gnu.org>
4673
4674 * config/i386/i386.c (ix86_expand_prologue): Use
4675 gen_allocate_stack_worker.
4676
4677 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4678
4679 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
4680 without gas.
4681 (mips-sgi-irix6*): Likewise.
4682
4683 * config/mips/iris6gas.h: New file.
4684 * gcc/config.gcc (mips-sgi-irix6*): Use it.
4685
4686 * config/mips/mips.h (TARGET_IRIX): Provide default.
4687 (TARGET_IRIX5): Likewise.
4688 (TARGET_SGI_O32_AS): Likewise.
4689 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
4690 (TARGET_IRIX5): Likewise.
4691 * config/mips/iris6.h (TARGET_IRIX6): Remove.
4692 (TARGET_IRIX5): Redefine as 0.
4693
4694 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
4695 linker workaround with TARGET_IRIX and mips_abi instead of
4696 ASM_OUTPUT_UNDEF_FUNCTION.
4697 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
4698 testing TARGET_IRIX and mips_abi explicitly.
4699 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
4700 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
4701
4702 * config/mips/mips.c (irix_output_external_libcall): Renamed from
4703 mips_output_external_libcall.
4704 Use new TARGET_IRIX in guard.
4705 * config/mips/mips-protos.h (irix_output_external_libcall): Match
4706 this.
4707 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
4708
4709 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
4710 Define as 0.
4711
4712 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
4713 depending on mips_abi.
4714 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
4715 * config/mips/mips.c (mips_output_function_prologue): Test
4716 FUNCTION_NAME_ALREADY_DECLARED at runtime.
4717 (mips_output_function_epilogue): Likewise.
4718 (build_mips16_function_stub): Likewise.
4719 (build_mips16_call_stub): Likewise.
4720 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
4721 default.
4722
4723 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
4724 IRIX 6 O32 assembler.
4725 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
4726 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
4727 _MIPS_SIM for O32 ABI.
4728 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
4729 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
4730 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
4731 Integrate O32 version.
4732 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
4733 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
4734 O32 ABI.
4735 (BSS_SECTION_ASM_OP_32): Define.
4736 (BSS_SECTION_ASM_OP_64): Likewise.
4737 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
4738 using them.
4739 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
4740 Move up to allow override for O32 ABI without GNU as.
4741 (EH_FRAME_SECTION_NAME): Define explicitly.
4742 (MUST_USE_SJLJ_EXCEPTIONS): Define.
4743 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
4744 DTORS_SECTION_ASM_OP): Dummy definitions.
4745 (TARGET_ASM_NAMED_SECTION): Undef statically.
4746 (EH_FRAME_SECTION_NAME): Likewise.
4747 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
4748 (LINK_SPEC): Only use default options -call_shared -no_unresolved
4749 without -r.
4750 Don't pass -init, -fini with -mabi=32.
4751 (COLLECT_PARSE_FLAG): Define.
4752
4753 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
4754 TARGET_IRIX.
4755 Renamed to use irix_ prefix.
4756 (iris6_asm_named_section): Likewise.
4757 (iris_section_align_entry_eq): Likewise.
4758 (iris_section_align_entry_hash): Likewise.
4759 (iris6_file_start): Likewise.
4760 (iris6_section_align_1): Likewise.
4761 (iris6_file_end): Likewise.
4762 (iris6_section_type_flags): Likewise.
4763 (iris_section_align_htab): Likewise.
4764 (iris_orig_asm_out_file): Likewise.
4765 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
4766 (TARGET_ASM_FILE_END): Likewise.
4767 (TARGET_SECTION_TYPE_FLAGS): Likewise.
4768
4769 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
4770 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
4771 override_options instead.
4772 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
4773 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
4774 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
4775 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
4776 assemblers.
4777 Likewise for constructor/destructor handling.
4778 (override_options): Handle IRIX O32 assembler quirks.
4779 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
4780 without gas.
4781 (mips_file_start): Use new TARGET_IRIX.
4782 (mips_declare_object_name): No special processing for IRIX O32
4783 assembler.
4784 (mips_finish_declare_object): Likewise.
4785 (irix_asm_output_align): Renamed from iris6_asm_output_align.
4786 Don't record alignment for O32 ABI.
4787 (irix_file_start): Renamed from iris6_file_start.
4788 Return early for O32 ABI.
4789 (irix_file_end): Renamed from iris6_file_end.
4790 Don't emit .section directives for O32 ABI.
4791 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
4792 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
4793
4794 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
4795 (MULTILIB_OSDIRNAMES): Likewise.
4796
4797 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4798
4799 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
4800 (main): Use it.
4801 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
4802
4803 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4804
4805 * arm-modes.def (CC_Nmode): New condition code mode.
4806 * arm.c (thumb_condition_code): Delete.
4807 (arm_select_cc_mode): Handle single-bit test for Thumb.
4808 (arm_print_operand, cases 'd' and 'D'): Don't special case the
4809 condition code logic for Thumb.
4810 (get_arm_condition_code): Handle CC_Nmode.
4811 (thumb_cbrch_target_operand): New function.
4812 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
4813 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
4814 * arm.md: Add Thumb split patterns for zero_extract and
4815 sign_extract.
4816 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
4817 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
4818 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
4819 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4820 (cbranchne_decr1): Re-work to use CC_Nmode.
4821
4822 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
4823 by the return instruction. Add a use of the link register if it
4824 wasn't stored.
4825
4826 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4827
4828 * flow.c (init_propagate_block_info): Don't abort if a conditional
4829 jump is not a comparison of a register. Instead, just don't record
4830 conditional life information.
4831
4832 2003-10-16 Jan Hubicka <jh@suse.cz>
4833
4834 PR optimization/12630
4835 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4836 for operands 7 and 8.
4837
4838 2003-10-16 Kelley Cook <kcook@gcc.gnu.org>
4839
4840 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4841
4842 2003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
4843
4844 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4845
4846 * config/i386/winnt.c (gen_stdcall_suffix): Make static
4847 (gen_fastcall_suffix): Likewise.
4848 (i386_pe_dllexport_p): Likewise.
4849 (i386_pe_dllimport_p): Likewise.
4850 (i386_pe_mark_dllexport): Likewise.
4851 (i386_pe_mark_dllimport): Likewise.
4852 (i386_pe_asm_named_section): Fix formatting.
4853
4854 2003-10-16 Zack Weinberg <zack@codesourcery.com>
4855
4856 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4857 * system.h: Declare snprintf if necessary.
4858 * configure, config.in: Regenerate.
4859
4860 2003-10-15 David Edelsohn <edelsohn@gnu.org>
4861
4862 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4863 arguments if TARGET_ALTIVEC_ABI.
4864
4865 2003-10-15 Roger Sayle <roger@eyesopen.com>
4866
4867 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4868 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4869 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4870 New functions.
4871 (expand_builtin_memcpy): Use integer_zerop instead of testing
4872 host_integerp and tree_low_cst directly. Move misapplied hunk
4873 for optimization wher SRC and DEST point to the same location.
4874 (expand_builtin_mempcpy): From here.
4875 (expand_builtin_memmove): Use integer_zerop instead of testing
4876 host_integerp and tree_low_cst_directly.
4877 (expand_builtin_memset): Likewise.
4878 (expand_builtin_memcmp): Likewise (and for integer_onep).
4879 (expand_builtin_strncmp): Likewise.
4880 (fold_builtin): Call the appropriate fold_builtin_foo functions
4881 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4882 strcmp and strncmp.
4883
4884 2003-10-15 Geoffrey Keating <geoffk@apple.com>
4885
4886 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4887 prototype. Clean up some whitespace.
4888 * config/darwin.c: Use gen_rtx_FOO (...) rather than
4889 gen_rtx (FOO, ...).
4890 (machopic_non_lazy_ptr_name): Make static.
4891 (name_needs_quotes): Allow '.' and '$' unquoted.
4892 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4893 case.
4894
4895 2003-10-15 Gábor Lóki <alga@rgai.hu>
4896
4897 * fold-const.c (tree_swap_operands_p): Disable some features
4898 when optimizing for size.
4899
4900 2003-10-15 David Daney <ddaney@avtrex.com>
4901
4902 * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
4903 * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
4904 from leaf functions.
4905 (DWARF_FRAME_RETURN_COLUMN): Ditto.
4906 (SIGNAL_UNWIND_RETURN_COLUMN): New, used
4907 by MD_FALLBACK_FRAME_STATE_FOR.
4908 * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
4909
4910 2003-10-15 Zack Weinberg <zack@codesourcery.com>
4911
4912 * genmodes.c: Include hashtab.h.
4913 (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
4914 (adj_bytesize, adj_alignment, adj_format, new_adjust)
4915 (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
4916 (print_maybe_const_decl, emit_mode_adjustments): New.
4917 (known_modes): Rename to modes.
4918 (find_mode): Kill class argument; look up in hash table.
4919 (new_mode): Insert into hash table also.
4920 (new_adjust): New.
4921 (reset_float_format, make_partial_integer_mode)
4922 (make_vector_mode): Tweak error reporting.
4923 (reset_float_format): Correct type of fourth argument.
4924 (emit_insn_modes_h): Add #defines to help make mode_size,
4925 mode_base_align, and real_format_for_mode conditionally const.
4926 (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
4927 (emit_real_format_for_mode): Likewise, but temporarily disabled.
4928 (emit_insn_modes_c): Call emit_mode_adjustments.
4929 (main): Initialize modes_by_name.
4930 * Makefile.in: Update dependencies.
4931 * machmode.def: Document EXPR arguments and new ADJUST_* statements.
4932 * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
4933 declarations of mode_size and mode_base_align. Declare
4934 init_adjust_machine_modes.
4935 * toplev.c (backend_init): Call init_adjust_machine_modes.
4936
4937 2003-10-15 Olivier Hainque <hainque@act-europe.fr>
4938
4939 * genmodes.c (calc_wider_mode): Allocate enough room for all the
4940 entries we'll possibly assign in the sort buffer.
4941
4942 2003-10-15 Ulrich Weigand <uweigand@de.ibm.com>
4943
4944 * config.gcc (s390x-ibm-tpf*): New target.
4945 * doc/install.texi: Document it.
4946 * config/s390/t-tpf: New file.
4947 * config/s390/tpf.h: New file.
4948
4949 2003-10-15 Hans-Peter Nilsson <hp@axis.com>
4950
4951 PR target/12598
4952 * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
4953 (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
4954 Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
4955 ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
4956 (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
4957 (define_split "*mov_sidesi_mem"+28, +29, +30): Use
4958 replace_equiv_address, not gen_rtx_MEM.
4959 * config/cris/cris.c (cris_mem_op): New match_operator function.
4960 (cris_notice_update_cc): Use replace_equiv_address, not
4961 gen_rtx_MEM.
4962 * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
4963
4964 2003-10-15 Bernardo Innocenti <bernie@develer.com>
4965
4966 * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
4967 MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
4968 definitions after the other flags.
4969
4970 2003-10-14 Ziemowit Laski <zlaski@apple.com>
4971
4972 * c-parse.in (methoddef, methodproto): Call objc_add_method()
4973 instead of add_method().
4974 * objc/objc-act.c (objc_check_decl): Do not check for
4975 constant_string_type.
4976 (add_method): Rename to objc_add_method().
4977 (really_start_method): Call objc_add_method() instead of
4978 add_method().
4979 * objc/objc-act.h (add_method): Rename to objc_add_method().
4980
4981 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
4982
4983 * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
4984 (s390_slb_comparison): Likewise.
4985 * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
4986 New functions.
4987 * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
4988 and s390_slb_comparison.
4989 * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
4990 zSeries machines.
4991 ("*adddi3_31z", "*subdi3_31z"): New insns.
4992 ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
4993 "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
4994 New insns.
4995
4996 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
4997
4998 * configure.in: Clean up some feedback echoes.
4999 * configure: Regenerate.
5000
5001 * aclocal.m4: Properly quote names of macros being defined.
5002
5003 * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
5004
5005 2003-10-14 Steve Ellcey <sje@cup.hp.com>
5006
5007 * config/ia64/ia64.c (ia64_expand_call): Force function address
5008 to DImode.
5009 * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
5010
5011 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
5012
5013 * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
5014 "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
5015 ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
5016 "*divsf3_ibm"): Likewise.
5017
5018 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
5019
5020 * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
5021 target_alias with target_noncanonical.
5022
5023 2003-10-14 Geoffrey Keating <geoffk@apple.com>
5024
5025 * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
5026 and add case for machines where outgoing register parameters
5027 get stack space.
5028
5029 * config/darwin.c (machopic_indirect_data_reference): Use a scratch
5030 register when generating indirect address.
5031
5032 2003-10-14 Richard Earnshaw <rearnsha@arm.com>
5033
5034 * arm.c (arm_addimm_operand): MODE arguemnt is unused.
5035 * arm.md (cbranchne_decr1): Fix bootstrap warning.
5036
5037 2003-10-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5038
5039 * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
5040 * fixinc/fixincl.x: Regenerate.
5041 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
5042 testcase.
5043 Fixes PR bootstrap/9330.
5044
5045 2003-10-13 Eric Christopher <echristo@redhat.com>
5046
5047 * config/frv/frv.c (frv_adjust_field_align): Redo check for
5048 too wide bitfields.
5049 (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
5050 * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
5051 (SBSS_SECTION_ASM_OP): Remove.
5052 (EXTRA_SECTIONS): Remove in_sbss.
5053 (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
5054 (SBSS_SECTION_FUNCTION, sbss_section): Remove.
5055 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
5056 named_section.
5057
5058 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
5059
5060 * Makefile.in, configure.in, config.host, mkheaders.in: Replace
5061 uses of ${target_alias} for directory names (and other places which
5062 won't like the empty string) with ${target_noncanonical}. Introduce
5063 call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
5064 available.
5065 * configure: Regenerate.
5066
5067 2003-10-13 Ian Lance Taylor <ian@wasabisystems.com>
5068
5069 * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
5070 * config/arm/arm.md: For splits which rely on conditional moves,
5071 remove ! TARGET_IWMMXT condition.
5072
5073 2003-10-13 David S. Miller <davem@redhat.com>
5074
5075 * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
5076 (find_cond_trap): Always increment if we emit a conditional
5077 trap insn.
5078
5079 2003-10-13 Zack Weinberg <zack@codesourcery.com>
5080
5081 * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
5082 with min-insn-modes.o.
5083 (STAGESTUFF): Add min-insn-modes.c.
5084 (genobjs): Add genmodes.o.
5085 (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
5086 (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
5087 (min-insn-modes.c, min-insn-modes.o): New rules.
5088 (s-modes): Also generate min-insn-modes.c.
5089 ($(BUILD_PREFIX_1)insn-modes.o): Kill.
5090 * genmodes.c (struct mode_data): Add format field.
5091 (blank_mode, validate_mode, complete_mode): Update to match.
5092 (make_scalar_mode): Separate into make_int_mode and make_float_mode.
5093 (_SCALAR_MODE): Kill.
5094 (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
5095 (emit_insn_modes_c_header): Adjust.
5096 (emit_min_insn_modes_c_header, emit_real_format_for_mode)
5097 (emit_min_insn_modes_c): New functions.
5098 (emit_insn_modes_c): Call emit_real_format_for_mode.
5099 (main): Add -m option to generate min-insn-modes.c.
5100 * machmode.h: Update documentation. Add format argument to
5101 all uses of FLOAT_MODE.
5102 * real.c: Don't define real_format_for_mode here.
5103
5104 * dwarfout.c: Move default definition of PRINT_REG...
5105 * defaults.h: ...here.
5106 * print-rtl.c: Include tm_p.h.
5107 (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
5108 Kill.
5109 (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG. But surround
5110 this entire block with #ifndef GENERATOR_FILE.
5111 * regclass.c: Unconditionally define reg_names.
5112 * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
5113 Don't define DEBUG_REGISTER_NAMES.
5114 * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
5115 redefinition of REGISTER_NAMES.
5116 * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
5117
5118 * combine.c: Change all preprocessor conditionals on
5119 EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
5120 for clarity.
5121 * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
5122 * configure.in: Don't define EXTRA_CC_MODES.
5123 * configure, config.in: Regenerate.
5124 * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
5125
5126 * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
5127 May assume that GET_MODE_CLASS is accurate for extra CC modes
5128 at all times.
5129
5130 * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
5131 number of arguments to aggregate_value_p.
5132
5133 * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
5134 * machmode.def: Explain ARCH-modes.def. Document
5135 RESET_FLOAT_FORMAT. Improve commentary on various mode
5136 clusters. Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
5137 XF, or TF modes here. Remove backward-compatibility
5138 definition of CC.
5139
5140 * config/alpha/alpha-modes.def: New file; define TF mode.
5141 * config/arc/arm-modes.def: Define XF mode.
5142 * config/c4x/c4x-modes.def: Define QF and HF modes. Unset
5143 float format for SF and DF modes.
5144 * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
5145 * config/i386/i386-modes.def: Define XF and TF modes.
5146 * config/i960/i960-modes.def: Define TF mode.
5147 * config/ia64/ia64-modes.def: Define TF and OI modes.
5148 * config/m68k/m68k-modes.def: New file; define XF mode.
5149 * config/mips/mips-modes.def: New file; define TF mode, reset
5150 formats for SF and DF modes.
5151 * config/pa/pa-modes.def: Define TF mode.
5152 * config/rs6000/rs6000.c: Define TF and PSI modes.
5153 * config/s390/s390-modes.def: Define OI mode.
5154 * config/sh/sh-modes.def: New file; define PSI mode.
5155 * config/sparc/sparc-modes.def: Define TF mode.
5156 * config/vax/vax-modes.def: New file; reset formats for SF and
5157 DF modes.
5158
5159 * config/c4x/c4x.c (c4x_override_options): No need to mess
5160 with real_format_for_mode or set REAL_MODE_FORMATs.
5161 (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
5162 variable.
5163 * config/i386/i386.c (override_options): No need to set
5164 REAL_MODE_FORMATs here.
5165 * config/i960/i960.c (i960_initialize): Likewise.
5166 * config/m68k/m68k.c (m68k_override_options): Likewise.
5167 * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
5168 for TFmode only if not the default.
5169 * config/mips/mips.c (override_options): Likewise.
5170 * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
5171 DFmode only if not the default.
5172
5173 * config/i370/i370.h (RET_REG): Don't consider TFmode.
5174 * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
5175 * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
5176 of modes that don't appear anywhere in the machine description.
5177
5178 * config/arc/arc-modes.def, config/arm/arm-modes.def
5179 * config/c4x/c4x-modes.def, config/frv/frv-modes.def
5180 * config/i386/i386-modes.def, config/i960/i960-modes.def
5181 * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
5182 * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
5183 * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
5184 * config/sparc/sparc-modes.def: Convert to new style for
5185 declaring extra CC modes.
5186
5187 2003-10-13 Zack Weinberg <zack@codesourcery.com>
5188
5189 * cpplex.c (_cpp_clean_line): In the common case of a line
5190 with no trigraphs and no \-newline, avoid writing to memory.
5191 (_cpp_skip_block_comment): Use a local 'cur' pointer instead
5192 of the buffer member. Make c an uchar to avoid unnecessary
5193 sign extensions.
5194
5195 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
5196
5197 * configure.in: Remove unnecessary test.
5198 * configure: Regenerate.
5199
5200 * configure.in: Fix grammatical error. Move UWIN host error to...
5201 * config.host: Here.
5202 * configure: Regenerate.
5203
5204 2003-10-13 Andreas Krebbel <krebbel1@de.ibm.com>
5205
5206 * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
5207 "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
5208 of flag_unsafe_math_optimizations.
5209 * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
5210 "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
5211 fused-madd and no-fused-madd.
5212 * doc/invoke.texi: Documented the new options fused-madd and
5213 no-fused-madd for S/390.
5214
5215 2003-10-14 Alan Modra <amodra@bigpond.net.au>
5216
5217 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
5218 MASK_ALIGN_NATURAL if rs6000_alignment_string not given. Don't
5219 assign DEFAULT_ABI.
5220 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
5221 * config/rs6000/rs6000.c: Formatting.
5222 (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
5223 when rs6000_alignment_string given.
5224
5225 2003-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
5226
5227 PR target/12538
5228 * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
5229 (sparc_flat_must_save_register_p): New function to decide whether
5230 a register must be saved/restored in the function prologue/epilogue.
5231 (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
5232
5233 2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
5234
5235 * config/avr/avr.c, config/avr/avr-protos.h: Convert to
5236 ISO C90 function declarations and definitions.
5237 * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
5238
5239 2003-10-12 Nathanael Nerode <neroden@gcc.gnu.org>
5240
5241 * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
5242 config files which do the same thing.
5243 * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
5244 config/freebsd6.h: Remove now unnecessary files.
5245
5246 2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
5247
5248 * c-common.c (c_common_truthvalue_conversion): Warn if the
5249 address of a non-weak function is used as a truth value.
5250
5251 2003-10-12 Kazu Hirata <kazu@cs.umass.edu>
5252
5253 * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
5254 a literal.
5255 * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
5256 instead of a literal.
5257
5258 2003-10-12 Hans-Peter Nilsson <hp@bitrange.com>
5259
5260 * doc/extend.texi (Function Attributes): Mention the exceptional
5261 path for noreturn-marked functions.
5262
5263 2003-10-12 Jan Hubicka <jh@suse.cz>
5264
5265 * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
5266 warning.
5267
5268 2003-10-12 Danny Smith <dannysmith@users.sourceforge.net>
5269
5270 * config/i386/i386.c (x86_this_parameter): Fix typo.
5271
5272 203-10-11 Jan Hubicka <jh@suse.cz>
5273
5274 * Makefile.in (web.o): New.
5275 * web.c: New file.
5276 * rtl.h (web_main): Declare.
5277 * timervar.def (TV_WEB): New.
5278 * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
5279 (rest_of_hanle_web): New.
5280 (flag_web): New static variable.
5281 (lang_independent_options): Add "web".
5282 (rest_of_compilation): Call rest_of_handle_web.
5283 * invoke.texi (-fweb): Document.
5284 * common.opt (fweb): New.
5285 * flags.h (flag_web): New.
5286 * opts.c (decode_options): Set flag_web at -O3.
5287
5288 * passes.texi (web construction): Document.
5289 * invoke.texi (-O3): Document that -fweb is enabled.
5290
5291 * regrename.c (regrename_optimize): Deal better with situation when
5292 replacement failed.
5293
5294 * sched-ebb.c: Include params.h and profile.h
5295 (schedule_ebbs): Use tracer parameters to discover superblocks
5296 * Makefile.in (sched-ebb.o): Add dependencies.
5297
5298 2003-10-11 Roger Sayle <roger@eyesopen.com>
5299
5300 * fold-const.c (negate_mathfn_p): New function to determine whether
5301 a built-in mathematical function is sign preserving, f(-x) == -f(x).
5302 Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
5303 (tree_swap_operands_p): Change API to take an additional argument
5304 indicating that the swapped operands evaluate in reverse order.
5305 Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
5306 operand side-effects or we don't care about flag_evaluation_order.
5307 (reorder_operands_p): New function to check whether its safe to
5308 evaluate the given operands in reverse order.
5309 (negate_expr_p): We can always negate integer constants unless
5310 we honor -ftrapv and the signed type would overflow. Only allow
5311 -(A-B) into B-A if reorder_operands_p says that its OK. Allow
5312 negation of COMPLEX_CST if both real and imaginary parts can be
5313 negated. Allow negation through floating point extensions and
5314 sign-preserving built-in functions.
5315 (negate_expr): Move the code to negate integers from "fold" to
5316 here. Always negate integer constants unless we honor -ftrapv
5317 and the signed type would overflow. Always negate real constants
5318 unless we honor -ftrapping-math. Only convert -(A-B) into B-A
5319 if allowed by reorder_operands_p. Add support for COMPLEX_CST.
5320 Optimize negation through floating point extensions and
5321 sign-preserving built-in functions (as defined by negate_mathfn_p).
5322 (fold): Adjust calls to tree_swap_operands_p.
5323 (fold <NEGATE_EXPR>): Move the remaining negation optimizations
5324 to negate_expr_p/negate_expr.
5325 (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
5326 allowed to convert (-A) - B into (-B) - A.
5327
5328 2003-10-11 Roger Sayle <roger@eyesopen.com>
5329
5330 * builtins.c (expand_builtin_strcmp): Defend against the possibility
5331 that gen_cmpstrsi may fail: Stabilize the argument list against
5332 re-evaluation and expand the library call directly using this saved
5333 argument list if a cmpstrsi sequence can't be generated.
5334 (expand_builtin_strncmp): Likewise.
5335
5336 * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
5337
5338 2003-10-11 Roger Sayle <roger@eyesopen.com>
5339
5340 PR optimization/12260
5341 * simplify-rtx.c (simplify_unary_operation): Simplify all unary
5342 operations through CONST nodes. Optimize (neg (plus X C)) as
5343 (minus -C X) for constant values C.
5344 (simplify_binary_operation): Optimize (minus (neg X) C) as
5345 (minus -C X) for constant values C.
5346 (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
5347 instead create (minus -C X).
5348
5349 2003-10-11 Roger Sayle <roger@eyesopen.com>
5350
5351 * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
5352 safe_from_p for us, once it chooses an evaluation order.
5353 (expand_expr <MULT_EXPR>): Likewise.
5354 (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise. If expand_operands
5355 places the second operand in "target", swap the operands.
5356 (do_store_flag): Let expand_operands call safe_from_p for us.
5357
5358 2003-10-11 Eric Botcazou <ebotcazou@libertysurf.fr>
5359
5360 PR optimization/12544
5361 * function.c (put_var_into_stack): Don't generate ADDRESSOFs
5362 for DECL_NONLOCAL decls.
5363
5364 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
5365
5366 * expr.c: Follow spelling conventions.
5367 * final.c: Likewise.
5368 * optabs.c: Likewise.
5369 * sched-deps.c: Likewise.
5370 * sdbout.c: Likewise.
5371
5372 Sat Oct 11 12:24:23 CEST 2003 Jan Hubicka <jh@suse.cz>
5373
5374 * varasm.c (notice_global_symbol): Fix handling of variables; avoid
5375 re-computing of variable.
5376
5377 2003-10-11 Richard Henderson <rth@redhat.com>
5378
5379 * config/alpha/alpha.c (alpha_return_in_memory): Rename from
5380 return_in_memory, make static, change signature to match target hook.
5381 (alpha_setup_incoming_varargs): Make static, change signature to
5382 match target hook, add code for vms and unicos.
5383 (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
5384 TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
5385 TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
5386 TARGET_STRICT_ARGUMENT_NAMING,
5387 TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
5388 * config/alpha/alpha-protos.h: Update.
5389 * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
5390 PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
5391 SETUP_INCOMING_VARARGS): Remove.
5392 * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
5393 * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
5394
5395 2003-10-11 Ian Lance Taylor <ian@wasabisystems.com>
5396
5397 * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
5398
5399 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
5400
5401 * config/m68k/lb1sf68.asm: Follow spelling conventions.
5402 * config/m68k/m68k.c: Likewise.
5403 * config/m68k/m68k.h: Likewise.
5404 * config/m68k/m68k.md: Likewise.
5405
5406 2003-10-11 Roger Sayle <roger@eyesopen.com>
5407
5408 * builtins.c (expand_builtin_memcpy): Optimize case when the two
5409 pointer arguments are the equal, non-volatile and side-effect free.
5410 (expand_builtin_mempcpy): Likewise.
5411 (expand_builtin_memmove): Likewise.
5412 (expand_builtin_strcpy): Likewise.
5413 (expand_builtin_memcmp): Likewise.
5414 (expand_builtin_strcmp): Likewise.
5415 (expand_builtin_strncmp): Likewise.
5416
5417 2003-10-11 Roger Sayle <roger@eyesopen.com>
5418
5419 * combine.c (apply_distributive_law): Enable "distributive" floating
5420 point optimizations with -funsafe-math-optimizations.
5421
5422 2003-10-11 Andrew Pinski <pinskia@physics.uc.edu>
5423
5424 * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
5425
5426 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
5427
5428 * config/m68k/m68k-protos.h: Remove the prototype for
5429 finalize_pic.
5430
5431 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
5432
5433 * config/m68k/m68k.c: Fix comment typos.
5434
5435 2003-10-11 Bernardo Innocenti <bernie@develer.com>
5436
5437 * config/m68k/m68k-protos.h (use_return_insn): Change return type from
5438 int to bool.
5439 * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
5440 (current_frame): New global var.
5441 (m68k_compute_frame_layout): Cache computations in current_frame.
5442 (m68k_initial_elimination_offset): Use values from current_frame
5443 instead of recomputing them.
5444 (use_return_insn): Likewise.
5445 (m68k_output_function_prologue): Likewise.
5446 (m68k_output_function_epilogue): Likewise.
5447 * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
5448 inside the block for __pic__.
5449
5450 2003-10-11 Peter Barada <peter@baradas.org>
5451 Bernardo Innocenti <bernie@develer.com>
5452
5453 * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
5454 (m68k_save_reg): Add boolean parameter `interrupt_handler'.
5455 (m68k_interrupt_function_p): New function.
5456 (m68k_handle_fndecl_attribute): Ditto.
5457 (m68k_compute_frame_layout): Ditto.
5458 (m68k_attribute_table): Define back-end specific attributes.
5459 (m68k_output_function_epilogue): Emit RTE instruction for interrupt
5460 functions.
5461
5462 2003-10-11 Bernardo Innocenti <bernie@develer.com>
5463
5464 * config/m68k/t-uclinux: New target Makefile fragment.
5465 * config/m68k/uclinux.h: New target macro file.
5466 * config.gcc (m68k-*-uclinux): New target definition.
5467
5468 2003-10-10 Roger Sayle <roger@eyesopen.com>
5469
5470 * builtins.c (builtin_mathfn_code): Generalize to check whether
5471 the call is to any built-in function by comparing the call's
5472 argument list against the builtin decl's function type.
5473
5474 2003-10-10 Roger Sayle <roger@eyesopen.com>
5475
5476 * cse.c (constant_pool_entries_regcost): New global variable to
5477 hold the register cost component of constant_pool_entries_cost.
5478 (fold_rtx): Calculate constant_pool_entries_regcost at the same
5479 time as constant_pool_entries_cost.
5480 (cse_insn): Set both src_folded_cost and src_folded_regcost from
5481 constant_pool_entries_cost and constant_pool_entries_regcost.
5482 (cse_main): Initialize constant_pool_entries_regcost to zero.
5483
5484 * optabs.c (expand_unop): Attach a REG_EQUAL note describing
5485 the semantics of the sequence of bit operations used to negate
5486 a floating-point value.
5487 (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
5488 the semantics of the bit operations used to abs a floating point
5489 value.
5490
5491 2003-10-11 Bernardo Innocenti <bernie@develer.com>
5492 Paul Dale <pauli@snapgear.com>
5493
5494 * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
5495 support.
5496 * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
5497 -fpic, -fPIC, -msep-data and -mid-shared-library.
5498 * config/m68k/m68k.c (m68k_library_id_string): New global variable.
5499 (override_options): Add -msep-data and -mshared-library-id support.
5500 (m68k_output_function_prologue): Generate code to load A5 for
5501 TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
5502 (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
5503 (m68k_output_pic_call): New function.
5504 * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
5505 (TARGET_ID_SHARED_LIBRARY): Ditto.
5506 (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
5507 * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
5508 (call_value): Likewise.
5509
5510 2003-10-10 Zack Weinberg <zack@codesourcery.com>
5511
5512 * gengenrtl.c (find_formats, genheader): Make i an unsigned
5513 int, remove cast of NUM_RTX_CODE.
5514 * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
5515 entire file. Remove the #ifs on GET_MODE_MASK etc and
5516 GET_MODE_WIDER_MODE etc.
5517
5518 2003-10-10 Eric Christopher <echristo@redhat.com>
5519
5520 * lcm.c (optimize_mode_switching): Change NORMAL_MODE
5521 to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
5522 that set mode.
5523 * config/sh/sh.h (MODE_ENTRY): New macro.
5524 (MODE_EXIT): Ditto.
5525 (MODE_AFTER): Ditto.
5526 * config/sh/sh.md: Change for MODE_AFTER. Add
5527 fp_set attribute.
5528 * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
5529
5530 2003-10-10 Zack Weinberg <zack@codesourcery.com>
5531
5532 * genmodes.c, mode-classes.def: New files.
5533 * machmode.def: Rewritten to genmodes.c interface.
5534 * Makefile.in (extra_modes_file): New substitution variable.
5535 (MACHMODE_H): No longer includes machmode.def or
5536 @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
5537 (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
5538 (OBJS-common): Add insn-modes.o.
5539 (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
5540 genmodes$(build_exeext).
5541 (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
5542 genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
5543 (s-genrtl): Don't depend on $(RTL_BASE_H).
5544 (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
5545 or $(RTL_BASE_H); just rtl.def.
5546 * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
5547 real.h. Give fake definition of CONST_DOUBLE_FORMAT and
5548 substitute definition of NUM_RTX_CODE. Add casts to avoid
5549 warnings.
5550 * machmode.h: Include insn-modes.h, not machmode.def. Include
5551 mode-classes.def to define enum mode_class. Tweak definitions
5552 of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
5553 GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
5554 (inner_mode_array): Renamed mode_inner.
5555 (mode_base_align): New.
5556 * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
5557 mode_unit_size, mode_wider_mode, mode_mask_array,
5558 inner_mode_array, class_narrowest_mode): Delete definitions.
5559 * stor-layout.c (get_mode_alignment): Use mode_base_align.
5560 * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
5561 and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
5562
5563 * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
5564 No need to define BITS_PER_UNIT.
5565
5566 2003-10-10 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5567
5568 * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
5569 (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
5570 (ia64_initialize_trampoline): If not using GAS, declare trampoline
5571 as global.
5572 * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
5573 (ASM_OUTPUT_DEBUG_LABEL): Likewise.
5574
5575 * stor-layout.c (compute_record_mode): Don't force BLKmode if
5576 field is zero-length BLKmode.
5577 * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
5578 zero-size references.
5579
5580 * combine.c (distribute_links): Properly test for REG being set.
5581
5582 * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
5583 gen_lowpart and company except for REG.
5584
5585 2003-10-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5586
5587 * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
5588
5589 2003-10-10 Nathanael Nerode <neroden@gcc.gnu.org>
5590
5591 * config.gcc (mips*-*-netbsd*): Remove content-free line.
5592
5593 2003-10-10 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5594
5595 * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
5596 gcov_position_t and gcov_type.
5597
5598 2003-10-09 Kaz Kojima <kkojima@gcc.gnu.org>
5599
5600 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
5601 * configure: Regenerate.
5602
5603 2003-10-09 Kazu Hirata <kazu@cs.umass.edu>
5604
5605 * config/h8300/h8300.md (define_asm_attributes): Specify
5606 the length of an asm insn more precisely.
5607
5608 2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5609
5610 * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
5611
5612 2003-10-09 Bob Wilson <bob.wilson@acm.org>
5613
5614 * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
5615 FP register number to 48 and MAC16 accumulator to 0x210.
5616
5617 2003-10-09 Nathanael Nerode <neroden@gcc.gnu.org>
5618
5619 * config.gcc: Remove redundant thread_file setting clauses for
5620 various *-*-linux* targets.
5621
5622 2003-10-09 Kazu Hirata <kazu@cs.umass.edu>
5623
5624 * config/h8300/h8300.md (define_asm_attributes): New.
5625
5626 2003-10-09 Roger Sayle <roger@eyesopen.com>
5627
5628 * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
5629 to the comparison, as emit_libcall_block calls copy_rtx on equiv.
5630
5631 2003-10-09 Dorit Naishlos <dorit@il.ibm.com>
5632
5633 * haifa-sched.c (ok_for_early_schedule): New function.
5634 (early_queue_to_ready): New function.
5635 (schedule_block): Allow early removal of insns from Q.
5636 (schedule_insn): Update INSN_TICK in case of premature
5637 issue.
5638 * common.opt (sched_stalled_insns): New flag.
5639 (sched_stalled_insns_dep): New flag.
5640 * flags.h: Same above flags.
5641 * opts.c: Same as above.
5642 * toplev.c: Same as above.
5643 * target.h (targetm.sched.is_costly_dependence): New
5644 hook.
5645 * target-def.h: Same as above.
5646 * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
5647 Support new flag -msched-costly-dep.
5648 (DEFAULT_SCHED_COSTLY_DEP): Define.
5649 * config/rs6000/rs6000.c:
5650 (rs6000_is_costly_dependence): New function.
5651 (is_load_insn, is_store_insn): New functions.
5652 (is_load_insn1, is_store_insn1, is_mem_ref): New
5653 functions.
5654 * doc/invoke.texi (-fsched-stalled-insns-dep)
5655 (-fsched-stalled-insns, -msched-costly-dep): Document
5656 options.
5657 * doc/tm.texi (is_costly_dependence): Define new
5658 scheduler target hook.
5659
5660 2003-10-09 Jason Merrill <jason@redhat.com>
5661
5662 PR c++/6392
5663 * c-common.c (c_build_qualified_type): Look through arrays first.
5664 (c_apply_type_quals_to_decl): Look through arrays.
5665
5666 * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
5667 types with constructors.
5668
5669 * coverage.c (build_ctr_info_value): Use build_decl to make a
5670 VAR_DECL.
5671 (create_coverage): Likewise.
5672
5673 * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
5674 here.
5675 (expand_asm_operands): Not here.
5676 (parse_input_constraint): No longer static.
5677 * tree.h: Declare it.
5678
5679 2003-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
5680
5681 * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
5682 libgcc_s.so.
5683 (SHLIB_INSTALL): Likewise.
5684
5685 2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
5686
5687 * doc/install.texi: Remove reference to removed 'pthreads' thread
5688 option.
5689
5690 2003-10-08 Aldy Hernandez <aldyh@redhat.com>
5691
5692 * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
5693 operand 2.
5694
5695 2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
5696
5697 * config.gcc: Don't accept --enable-threads=pthreads. Clean
5698 up related case statements.
5699 * configure.in: Don't accept --enable-threads=pthreads,
5700 decosf1, mach, or os2 (none of which work anyway). Alphabetize
5701 supported thread files in case clause.
5702 * configure: Regenerate.
5703
5704 2003-10-08 Geoffrey Keating <geoffk@apple.com>
5705
5706 * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
5707 definition to above SPARC_STACK_BOUNDARY_HACK.
5708
5709 2003-10-08 Jason Merrill <jason@redhat.com>
5710
5711 * c-pretty-print.c (pp_c_postfix_expression)
5712 <COMPOUND_LITERAL_EXPR>: Fix thinko.
5713
5714 2003-10-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5715
5716 * mklibgcc.in: Don't hide undefined or typeless symbols.
5717
5718 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5719
5720 PR optimization/12142
5721 * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
5722 uses of the register in the SET_SRC. Remove unnecessary argument.
5723 * pa.c (legitimize_pic_address): Before reload, use a scratch register
5724 for the intermediate result in loading the address of a SYMBOL_REF.
5725 Set the MEM_NOTRAP_P flag for the MEM. Add a REG_EQUAL to the insn
5726 which loads the SYMBOL_REF address.
5727
5728 2003-10-08 Timo Kokkonen <tjko@iki.fi>
5729 Eric Botcazou <ebotcazou@libertysurf.fr>
5730
5731 PR bootstrap/12490
5732 * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
5733 to define the size of the extern_C_braces array. Set it to 200.
5734 (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
5735
5736 2003-10-08 Carlo Wood <carlo@alinoe.com>
5737
5738 * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
5739 a space after the -o option. flex 2.5.31 understands both, with
5740 and without the space. Removed that space.
5741
5742 2003-10-08 Richard Sandiford <rsandifo@redhat.com>
5743
5744 * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
5745 (compute_frame_size): Initialize it. Remove the .cprestore slot
5746 from args_size.
5747 (mips_output_function_prologue): Simplify accordingly.
5748 (mips_debugger_offset): Change the mips16 frame pointer offset from
5749 current_function_outgoing_args to cfun->machine->frame.args_size.
5750 (mips_initial_elimination_offset): Likewise.
5751 (mips_expand_prologue): Likewise.
5752 (mips_expand_epilogue): Likewise.
5753
5754 2003-10-08 Richard Sandiford <rsandifo@redhat.com>
5755
5756 * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
5757 (EXTRA_MEMORY_CONSTRAINT): Define.
5758 (CAN_ELIMINATE): Remove lwu workaround.
5759 * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
5760 Use a 'W' constraint for the source operand.
5761
5762 2003-10-08 Kazu Hirata <kazu@cs.umass.edu>
5763
5764 * genopinit.c (main): Output code to declare undefined
5765 variables.
5766
5767 2003-10-07 Kelley Cook <kcook@gcc.gnu.org>
5768
5769 * gengtype-lex.l: Remove -Wtraditional cruft.
5770 * Makefile.in (gengtype-lex.c): Likewise.
5771
5772 2003-10-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5773
5774 * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
5775
5776 2003-10-07 Jason Merrill <jason@redhat.com>
5777
5778 PR c++/12519
5779 * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
5780 it isn't a decl.
5781
5782 2003-10-07 Alexandre Oliva <aoliva@redhat.com>
5783
5784 * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
5785 not overridden.
5786 Fixes PR bootstrap/12173.
5787
5788 2003-10-07 Zack Weinberg <zack@codesourcery.com>
5789
5790 * errors.c: Don't include coretypes.h or tm.h.
5791 (trim_filename): Use IS_DIR_SEPARATOR.
5792 * Makefile.in: Update dependencies of errors.o and
5793 $(BUILD_PREFIX_1)errors.o.
5794
5795 2003-10-07 Geoffrey Keating <geoffk@apple.com>
5796
5797 * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
5798 account when aligning arguments.
5799 * calls.c (STACK_POINTER_OFFSET): Move default from here ...
5800 * defaults.h (STACK_POINTER_OFFSET): ... to here.
5801 * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
5802 it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
5803 (SPARC_STACK_BOUNDARY_HACK): Define.
5804 * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
5805 arrange for vector parameters to varargs functions to be passed
5806 in both memory and GPRs when appropriate.
5807 (rs6000_va_arg): Vector arguments passed in memory are 16-byte
5808 aligned.
5809
5810 * hooks.c (hook_bool_tree_true): New.
5811 (hook_rtx_tree_int_null): New.
5812 (hook_rtx_rtx_null): Use NULL, not 0.
5813 * hooks.h: Add 'extern' to everything.
5814 (hook_bool_tree_true): New.
5815 (hook_rtx_tree_int_null): New.
5816 * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
5817 * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
5818 * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
5819 prototype.
5820 * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
5821 (setup_incoming_varargs): Prototype.
5822 (TARGET_PROMOTE_FUNCTION_ARGS): Define.
5823 (TARGET_PROMOTE_FUNCTION_RETURN): Define.
5824 (TARGET_STRUCT_VALUE_RTX): Define.
5825 (TARGET_RETURN_IN_MEMORY): Define.
5826 (TARGET_SETUP_INCOMING_VARARGS): Define.
5827 (TARGET_STRICT_ARGUMENT_NAMING): Define.
5828 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
5829 (init_cumulative_args): Use rs6000_return_in_memory.
5830 (setup_incoming_varargs): Make 'static'.
5831 * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
5832 (PROMOTE_FUNCTION_RETURN): Delete.
5833 (STRUCT_VALUE): Delete.
5834 (RETURN_IN_MEMORY): Delete.
5835 (SETUP_INCOMING_VARARGS): Delete.
5836
5837 2003-10-07 Gerald Pfeifer <gerald@pfeifer.com>
5838
5839 * doc/invoke.texi (Warning Options): Simplify and clarify the
5840 descriptions of -Wnonnull and -Winit-self.
5841
5842 2003-10-07 Richard Earnshaw <rearnsha@arm.com>
5843
5844 * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
5845 indicees for floating-point conversersion libcalls.
5846
5847 2003-10-07 Nathanael Nerode <neroden@gcc.gnu.org>
5848
5849 * Makefile.in: Add more comments separating large conceptually
5850 separate sections.
5851
5852 * configure.in: Clean up thread file logic.
5853 * configure: Regenerate.
5854
5855 2003-10-07 Danny Smith <dannysmith@users.sourceforge.net>
5856
5857 * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
5858 (switch_to_section): Handle in_readonly_data.
5859 * config/i386/winnt.c (i386_pe_asm_named_section): Handle
5860 readonly data.
5861
5862 2003-10-07 Richard Earnshaw <rearnsha@arm.com>
5863
5864 * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
5865 it.
5866 (cbranchne_decr1): New Thumb pattern.
5867 * arm.c (arm_addimm_operand): New insn predicate.
5868 * arm-protos.h: Add a prototype for it.
5869 * arm.h (PREDICATE_CODES): Add it.
5870
5871 2003-10-07 Dorit Naishlos <dorit@il.ibm.com>
5872
5873 * sched-int.h (sched_info): New field
5874 sched_max_insns_priority.
5875 * sched-rgn.c (init_ready_list): Add invocations to
5876 targetm.sched.adjust_priority.
5877 (sched_max_insns_priority): Init new field.
5878 * sched-ebb.c (sched_max_insns_priority): Init new field.
5879 * haifa-sched.c (set_priorities): Set
5880 sched_info->sched_max_insns_priority.
5881 * config/rs6000/rs6000.h:
5882 (rs6000_sched_restricted_insns_priority_str): Support new
5883 flag -mprioritize-restricted-insns.
5884 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
5885 * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
5886 function.
5887 (rs6000_adjust_priority): Change priority of restricted
5888 insns, using above new function and new flag.
5889 * doc/invoke.texi (-mprioritize-restricted-insns): Document
5890 new option.
5891
5892 2003-10-07 Zack Weinberg <zack@codesourcery.com>
5893
5894 * expr.c (cmpstr_optab, cmpmem_optab): New.
5895 * genopinit.c: Initialize them.
5896 * optabs.h: Declare them.
5897 * optabs.c (init_optabs): Clear them.
5898 (prepare_cmp_insn): Use cmpstr_optab and cmpmem_optab to find
5899 block memory compare insns, not conditional chains. Restructure
5900 the fallback generation of a call to memcmp/bcmp for better
5901 readability.
5902
5903 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5904
5905 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
5906 (mips_save_restore_fn): New typedef.
5907 (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
5908 (mips_set_frame_expr, mips_frame_set): Move above prologue code.
5909 (save_restore_insns): Remove, replacing with...
5910 (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
5911 (mips_save_reg, mips_restore_reg): New function.
5912 (mips_expand_prologue, mips_expand_epilogue): Rework.
5913 * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
5914 (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
5915 (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
5916
5917 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5918
5919 * config/mips/mips.c (mips_expand_prologue): Remove unused
5920 traversal of function arguments.
5921
5922 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5923
5924 * doc/invoke.texi: Remove documentation of -mentry.
5925 * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
5926 (override_options, mips_save_reg_p): Remove handling.
5927 (compute_frame_size, mips_output_function_prologue): Likewise.
5928 (mips_expand_prologue, mips_expand_epilogue): Likewise.
5929 * config/mips/mips.h (mips_entry_string): Remove declaration.
5930 (TARGET_OPTIONS): Remove -mentry.
5931 * config/mips/mips16.S: Remove mention of -mentry.
5932
5933 2003-10-06 Zack Weinberg <zack@codesourcery.com>
5934
5935 * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
5936 (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
5937 (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
5938 (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
5939 (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
5940 (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
5941 (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
5942 (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
5943 (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
5944 (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
5945 (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
5946 (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
5947 (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
5948 (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
5949 (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
5950 (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
5951 (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
5952 (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
5953 (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
5954 (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
5955 (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
5956 (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
5957 (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
5958 (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
5959 (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
5960 (fixunstfti_libfunc): Delete.
5961 * optabs.h (struct optab_handlers): Break out of struct optab.
5962 (struct convert_optab, convert_optab, enum convert_optab_index,
5963 convert_optab_table, sext_optab, zext_optab, trunc_optab,
5964 sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
5965 sfloat_optab, ufloat_optab): New.
5966 (set_conv_libfunc): Prototype.
5967 (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
5968 (trunc_optab): Renamed btrunc_optab.
5969 * builtins.c (expand_builtin_mathfn): Update to match.
5970 * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
5971 (convert_optab_table, new_convert_optab, init_convert_optab)
5972 (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
5973 (set_conv_libfunc): New.
5974 (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
5975 (expand_float, expand_fix): Use new conversion optabs,
5976 not old insn code tables or long chains of ifs.
5977 (init_optabs): No need to clear old insn code tables.
5978 Initialize the new optabs, not the old libfunc array entries.
5979 Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5980 * genopinit.c: Initialize conversion optabs, not the
5981 former insn code tables. Remove unnecessary casts.
5982 Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5983 * expr.c (convert_move): Remove redundant check that
5984 to_real==from_real. Use the conversion optabs instead
5985 of long chains of tests of modes. Move partial-integer-mode
5986 interconversion above all integer conversion. Do not recurse
5987 on a value forced into a register in the original mode.
5988
5989 * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
5990 * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
5991 * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
5992 in new conversion optabs; do not reference the old libfunc
5993 array entries. No need to include libfuncs.h.
5994
5995 2003-10-06 Roger Sayle <roger@eyesopen.com>
5996
5997 * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
5998 point comparison sequence with a REG_EQUAL note that describes
5999 the comparison's semantics.
6000
6001 2003-10-06 Roger Sayle <roger@eyesopen.com>
6002
6003 * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
6004 of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
6005
6006 2003-10-06 Roger Sayle <roger@eyesopen.com>
6007 Zack Weinberg <zack@codesourcery.com>
6008
6009 * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
6010 instruction by using LCT_CONST and then calling emit_libcall_block
6011 ourselves.
6012
6013 2003-10-06 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
6014
6015 PR optimization/11974
6016 * optabs.c (expand_unop): Promote libcall outmode according to
6017 hard_libcall_value.
6018
6019 2003-10-06 Zack Weinberg <zack@codesourcery.com>
6020
6021 * real.h (REAL_MODE_FORMAT): New macro.
6022 * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
6023 * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
6024 * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
6025 * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
6026 * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
6027 directly to real_format_for_mode array, wherever possible.
6028
6029 2003-10-06 Devang Patel <dpatel@apple.com>
6030
6031 * dwarf2out.c (is_main_source): Remove variable.
6032 (dwarf2out_start_source_file): Do not check is_main_source.
6033 Do not reset is_main_source.
6034 (dwarf2out_init): Do not initialize is_main_source.
6035
6036 2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6037
6038 * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
6039 (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
6040 introduced some multi-line prototypes.
6041 * fixinc/fixincl.x: Regenerate.
6042
6043 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6044
6045 * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
6046 * config/mips/mips.c (stack_operand): New predicate.
6047 * config/mips/mips.md: Use it for the destination of mips16 insns
6048 that store $31.
6049
6050 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6051
6052 * config/mips/mips.md (*lowsi): Renamed from lowsi.
6053 (*lowdi): Likewise lowdi.
6054 (*lowsi_mips16, *lowdi_mips16): New patterns.
6055 * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
6056 mips16 CONSTANT_RELOC handling.
6057 (mips_delegitimize_address): Adjust for new sdata representation.
6058
6059 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6060
6061 * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
6062 skip any remaining register arguments.
6063
6064 2003-10-06 Ulrich Weigand <uweigand@de.ibm.com>
6065
6066 * reload.c (find_reloads_subreg_address): Use correct offset for
6067 paradoxical MEM subregs on big-endian targets.
6068
6069 2003-10-06 Andrew Haley <aph@redhat.com>
6070
6071 * tree.c (get_callee_fndecl): Call
6072 lang_hooks.lang_get_callee_fndecl.
6073 * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
6074 (lhd_get_callee_fndecl): New.
6075
6076 2003-10-06 Andrew Pinski <apinski@apple.com>
6077
6078 * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
6079 error in calculating the length of the string.
6080 (machopic_stub_name): Likewise.
6081
6082 2003-10-06 Roger Sayle <roger@eyesopen.com>
6083
6084 * optabs.c (prepare_float_lib_cmp): Attach a REG_EQUAL note
6085 describing the return value of the comparison libcall to the
6086 REG_RETVAL instruction of the emitted sequence.
6087
6088 2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
6089
6090 PR optimization/12215
6091 * cse.c (cse_set_around_loop): Emit the move at the beginning
6092 of the next basic block for trapping sets.
6093
6094 2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
6095
6096 PR optimization/11637
6097 * combine.c (adjust_for_new_dest): New function to adjust the
6098 notes and LOG_LINKS when the dest of an insn has changed.
6099 (try_combine): Use it when deleting the first insn of a two-insn
6100 parallel or splitting a two-load parallel.
6101
6102 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6103
6104 * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
6105 if TARGET_EXPLICIT_RELOCS.
6106
6107 2003-10-06 Mark Mitchell <mark@codesourcery.com>
6108
6109 PR bootstrap/12512
6110 * Makefile.in (info): Use double-colon rules.
6111 (dvi): Likewise.
6112 (generated-manpages): Likewise.
6113 * configure.in: Do not create lang.info, lang.dvi, or
6114 lang.generated-manpages hooks.
6115 * configure: Regenerated.
6116 * objc/Make-lang.in (objc.info): Remove.
6117 (objc.dvi): Remove.
6118 (objc.generated-manpages): Remove.
6119 * doc/sourcebuild.texi: Update description of info, dvi, and
6120 generated-manpages hooks.
6121
6122 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6123
6124 * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
6125
6126 2003-10-05 Andrew Pinski <apinski@apple.com>
6127
6128 * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
6129 errors in memcpy destinations.
6130 (machopic_stub_name): Likewise.
6131
6132 2003-10-05 Andrew Pinski <apinski@apple.com>
6133
6134 * config/darwin.c (machopic_non_lazy_ptr_name):
6135 Change strcat to memcpy and add length together.
6136 (machopic_stub_name): Likewise.
6137
6138 2003-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
6139
6140 * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
6141 signal trampoline codes.
6142
6143 2003-10-05 Chris Demetriou <cgd@broadcom.com>
6144
6145 * config/mips/mips.md (*divsf3): Move description of
6146 SB-1 F2 erratum from here to...
6147 (divsf3): Here. Disable if TARGET_FIX_SB1 is set and
6148 flag_unsafe_math_optimizations is not.
6149
6150 2003-10-05 Aldy Hernandez <aldyh@redhat.com>
6151
6152 * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
6153 TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
6154
6155 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
6156
6157 * c-pretty-print.c: Fix comment typos.
6158 * c-pretty-print.h: Likewise.
6159 * calls.c: Likewise.
6160 * cfgloopmanip.c: Likewise.
6161 * cgraphunit.c: Likewise.
6162 * cppfiles.c: Likewise.
6163 * final.c: Likewise.
6164 * function.c: Likewise.
6165 * gcov-io.h: Likewise.
6166 * gcse.c: Likewise.
6167 * genoutput.c: Likewise.
6168 * loop.c: Likewise.
6169 * postreload.c: Likewise.
6170 * reg-stack.c: Likewise.
6171 * regmove.c: Likewise.
6172 * sched-int.h: Likewise.
6173 * sched-rgn.c: Likewise.
6174 * simplify-rtx.c: Likewise.
6175 * tree-inline.c: Likewise.
6176 * config/m68hc11/m68hc11.h: Likewise.
6177 * config/mmix/mmix.c: Likewise.
6178 * config/mn10300/mn10300.md: Likewise.
6179 * config/sh/sh.h: Likewise.
6180
6181 2003-10-05 Richard Henderson <rth@redhat.com>
6182
6183 * tree-inline.c (remap_type): New.
6184 (remap_decl): Use it. Remap DECL_SIZE*.
6185 (copy_body_r): Use it.
6186 (walk_tree): Walk TREE_TYPE too.
6187 (copy_tree_r): Don't walk subtrees of types.
6188 * tree.c (variably_modified_type_p): Restructure. Consider integer
6189 types with non-const bounds variably modified.
6190
6191 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
6192
6193 * doc/invoke.texi: Fix typos.
6194
6195 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
6196
6197 * fold-const.c: Follow spelling conventions.
6198 * function.c: Likewise.
6199 * config/c4x/c4x.h: Likewise.
6200 * config/c4x/c4x.md: Likewise.
6201 * config/frv/frv.md: Likewise.
6202 * config/rs6000/aix.h: Likewise.
6203 * config/rs6000/linux64.h: Likewise.
6204 * config/xtensa/xtensa.c: Likewise.
6205
6206 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
6207
6208 * c-pretty-print.c: Fix comment formatting.
6209 * cfglayout.c: Likewise.
6210 * cfgloopanal.c: Likewise.
6211 * cppcharset.c: Likewise.
6212 * dbxout.c: Likewise.
6213 * ggc-page.c: Likewise.
6214 * ggc.h: Likewise.
6215 * target.h: Likewise.
6216
6217 2003-10-04 Kelley Cook <kelleycook@wideopenwest.com>
6218
6219 * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
6220
6221 2003-10-04 Nathanael Nerode <neroden@gcc.gnu.org>
6222
6223 * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
6224 Convert to ISO C90 function declarations and definitions.
6225
6226 2003-10-04 Zack Weinberg <zack@codesourcery.com>
6227
6228 * libfuncs.h
6229 (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
6230 (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
6231 (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
6232 (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
6233 (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
6234 (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
6235 (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
6236 (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
6237 (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
6238 (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
6239 (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
6240 (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
6241 (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
6242 (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
6243 (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
6244 (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
6245 Delete.
6246 * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
6247 (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
6248 (le_optab, unord_optab): New.
6249
6250 * optabs.c (prepare_float_lib_cmp): Rewrite. Get the libfuncs
6251 from the code_to_optab table, not a giant switch; use
6252 swap_condition; do widening only if a comparison function that
6253 we can call exists in a wider mode, not if a cmp_optab insn or
6254 libfunc exists in a wider mode; call protect_from_queue
6255 exactly once on each operand.
6256 (init_optabs): Initialize the new optabs, not the deleted libfuncs.
6257
6258 * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
6259 * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
6260 Set floating point comparison libfuncs using set_optab_libfunc
6261 on the appropriate optab.
6262
6263 * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
6264 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
6265 selector conditionals.
6266
6267 2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
6268
6269 * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
6270 identical to m68hc12 as far as libraries are concerned.
6271
6272 2003-10-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6273
6274 PR c/12446
6275 * c-typeck.c (convert_for_assignment): Issue an error for
6276 array to pointer assignment after default conversion.
6277 (digest_init): Likewise.
6278
6279 2003-10-04 Fariborz Jahanian <fjahanian@apple.com>
6280
6281 * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
6282
6283 2003-10-03 Gerald Pfeifer <gerald@pfeifer.com>
6284
6285 * doc/extend.texi (Function Attributes): Fix title of GNU C
6286 Preprocessor manual.
6287 (C++ Extensions): Fix reference to "Predefined Macros" in the
6288 GNU C Preprocessor manual.
6289
6290 2003-10-04 Richard Earnshaw <reanrsha@arm.com>
6291
6292 * doc/extend.texi: Document how GCC estimates and relies on the size
6293 of an asm.
6294
6295 2003-10-04 Richard Sandiford <rsandifo@redhat.com>
6296
6297 * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
6298 arguments downward for big-endian o64.
6299
6300 2003-10-03 Robert Bowdidge <bowdidge@apple.com>
6301
6302 * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
6303 PCH generation, avoiding too-frequent flushes when writing to NFS
6304 file system.
6305
6306 2003-10-03 Ziemowit Laski <zlaski@apple.com>
6307
6308 * objc/objc-act.c (lookup_category): Mark as 'inline'.
6309
6310 2003-10-03 Alexander Malmberg <alexander@malmberg.org>
6311 Ziemowit Laski <zlaski@apple.com>
6312
6313 * objc/objc-act.c (add_method_to_hash_list, lookup_category):
6314 New functions.
6315 (lookup_method_in_hash_lists): New parameter indicating whether
6316 we are messaging 'Class' or 'id'.
6317 (check_duplicates): Likewise; do not assume all methods will
6318 be either class or instance methods.
6319 (generate_category, finish_class): Use lookup_category().
6320 (add_method): Use add_method_to_hash_list(); insert instance
6321 methods of root classes into the global class method hash table.
6322 (add_category): Use lookup_category(); avoid constructing
6323 duplicate categories.
6324 (really_start_method): Add method to corresponding @interface,
6325 if not already there (and if the @interface exists).
6326 (finish_message_expr, finish_objc): Adjust calls to
6327 check_duplicates().
6328
6329 2003-10-03 Roger Sayle <roger@eyesopen.com>
6330
6331 PR optimization/9325, PR java/6391
6332 * fold-const.c (fold_convert): For floating point to integer
6333 conversions, return the maximum/minimum representable integer
6334 value if the real constant overflows the destination type.
6335 * tree.c (real_value_from_int_cst): Allow the type to be NULL,
6336 meaning don't truncate the result to a floating point mode.
6337 Simplify the logic by calling real_from_integer directly.
6338 * simplify-rtx.c (simplify_unary_operation): Implement the
6339 same semantics for folding floating point to integer conversions
6340 in RTL.
6341
6342 2003-10-03 Chris Demetriou <cgd@broadcom.com>
6343
6344 * config/mips/mips.c (mips_emit_prefetch): Restructure
6345 to avoid use of arrays, handle indexed prefetch.
6346 * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
6347 (ISA_HAS_PREFETCHX): New deffine.
6348 * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
6349 update comments.
6350 (prefetch_indexed_di, prefetch_indexed_si): New insns.
6351
6352 2003-10-03 Jeff Sturm <jsturm@one-point.com>
6353 Roger Sayle <roger@eyesopen.com>
6354
6355 PR optimization/12289
6356 * calls.c (emit_call_1): Pretend to have popped the arguments
6357 to noreturn and longjmp functions instead of ignoring them.
6358 (expand_call): Don't adjust stack_pointer_dela while
6359 inhibit_defer_pop is set.
6360
6361 2003-10-03 Andreas Schwab <schwab@suse.de>
6362
6363 PR bootstrap/12276
6364 * configure.in: Check for libunwind on the host only if building
6365 a native compiler.
6366 * configure: Regenerated.
6367
6368 2003-10-03 Paolo Carlini <pcarlini@unitus.it>
6369
6370 * unwind-pe.h (read_encoded_value_with_base): Constify u and
6371 its inizialization cast.
6372
6373 2003-10-03 Richard Sandiford <rsandifo@redhat.com>
6374
6375 PR target/12485
6376 * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
6377
6378 2003-10-02 Mark Mitchell <mark@codesourcery.com>
6379
6380 PR optimization/12180
6381 * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
6382 functions containing calls to __builtin_next_arg.
6383
6384 2003-10-02 Chris Demetriou <cgd@broadcom.com>
6385
6386 * config/mips/mips.c (mips_emit_prefetch): Use operand 3
6387 in instructions being output.
6388 * config/mips/mips.md (prefetch_si_address): Change third
6389 operand's constraint letter to 'I'.
6390 (prefetch_di_address): Likewise.
6391 (prefetch_si, prefetch_di): Set third operand to const0_rtx.
6392
6393 2003-10-02 Zack Weinberg <zack@codesourcery.com>
6394
6395 * system.h: Poison macros obsoleted by earlier patch.
6396 * config/cris/cris.c: C90-ify a function definition.
6397
6398 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
6399
6400 PR/12292
6401 * combine.c (make_field_assignment): Check whether rtx's code
6402 is CONST_INT before using INTVAL.
6403
6404 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
6405
6406 * cgraph.c (cgraph_node): Use INSERT instead of 1 in
6407 htab_find_slot_with_hash.
6408 (cgraph_node_for_identifier): Use NO_INSERT.
6409 (cgraph_remove_node): Use NO_INSERT.
6410 (cgraph_varpool_node): Use INSERT.
6411 (cgraph_varpool_node_for_identifier): Use NO_INSERT.
6412
6413 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
6414
6415 Waldek Hebisch <hebisch@math.uni.wroc.pl>
6416 PR/12072
6417 * varasm.c (compare_constant): Fix thinko.
6418
6419 2003-10-02 Richard Sandiford <rsandifo@redhat.com>
6420
6421 * config/frv/frv.c (frv_issue_rate): New function.
6422 (frv_pack_insns): Use it.
6423 (TARGET_SCHED_ISSUE_RATE): Define.
6424
6425 2003-10-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
6426
6427 * config/mcore/mcore.c: Convert to ISO C90 function declarations
6428 and definitions.
6429 * config/mcore/mcore.h: Likewise.
6430 * config/mcore/mcore-protos.h: Likewise.
6431
6432 2003-10-02 Richard Sandiford <rsandifo@redhat.com>
6433
6434 * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
6435 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
6436
6437 2003-10-01 Per Bothner <pbothner@apple.com>
6438
6439 * c-lex.c (src_line): Remove unneeded static variable.
6440 (cb_line_change): Set input_line directly, instead of src_line.
6441 (get_non_padding_token): We no longer need to compensate for the
6442 "horrible things" the C++ front-end does with the current line number,
6443
6444 * cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change
6445 callback even when popping the main file.
6446 * c-lex.c (fe_file_change): Handle a NULL new_map.
6447 * fix-header.c (cb_file_change): Likewise.
6448 * c-ppoutput.c (pp_file_change): Likewise.
6449
6450 * cppinit.c (cpp_read_main_file): Split into two functions:
6451 Distribute _cpp_stack_file call over the two functions.
6452 (cpp_find_main_file): New function.
6453 Don't call _cpp_do_file_change even if working_directory flag set.
6454 (cpp_push_main_file): New function.
6455 * cppfiles.c (_cpp_find_failed): New helper function.
6456 (find_file): Made non-static and renamed to _cpp_find_file.
6457 (_cpp_stack_file): No longer needed. But note the following.
6458 (stack_file): Made non-static and renamed to _cpp_stack_file.
6459 * fix-header.c (cpp_read_main_file): Replace cpp_read_main_file
6460 call with calls to cpp_find_main_file and cpp_push_main_file.
6461 (search_path_head): If there is no current buffer, use main_file.
6462 * cpphash.h: Update function declarations.
6463 * cpplib.h: Update function declarations.
6464
6465 * c-opts.c (c_common_post_options): Don't call cpp_find_main_file yet.
6466 (c_common_parse_file): No longer need to call cpp_read_main_file
6467 when file_index > 0 (as in multi-file or server compiation).
6468 (finish_options): Change to <built-in> is an LC_ENTER, not LC_RENAME
6469 as this now happens before cpp_push_main_file.
6470 (push_command_line_include): When done with options, pass LC_LEAVE
6471 instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
6472 (fe_file_change): Handle NULL new_map, and simplify.
6473 * cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed
6474 08-28 change, since we're never called with a NULL buffer.
6475 (_cpp_lex_direct): Likewise.
6476 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
6477 Return false if buffer is NULL at end.
6478
6479 * cpplex.c (_cpp_get_fresh_line): Return value now just depends on
6480 whether pfile->buffer is NULL after pop, ignoring return_at_eof.
6481 * cpphash.h (struct cpp_buffer): Remove unused return_at_eof field.
6482 * cpplib.c (cpp_push_buffer): Since we no longer set return_at_eof,
6483 remove the unused return_at_eof parameter.
6484 * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
6485 Update callers of cpp_push_buffer.
6486
6487 2003-10-01 Zack Weinberg <zack@codesourcery.com>
6488
6489 * target.h (init_libfuncs): New hook.
6490 * target-def.h: Default TARGET_INIT_BUILTINS and
6491 TARGET_INIT_LIBFUNCS to hook_void_void. Add
6492 TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
6493 * builtins.c (default_init_builtins): Delete.
6494 * expr.h (default_init_builtins): Delete prototype.
6495 * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
6496 Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
6497 Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
6498 DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
6499 MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
6500 and UMODDI3_LIBCALL,
6501
6502 * Makefile.in (optabs.o): Depends on target.h.
6503 * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
6504 * optabs.c: Include target.h.
6505 (prepare_float_lib_cmp): No need for #ifdef around use of
6506 FLOAT_LIB_COMPARE_RETURNS_BOOL.
6507 (set_optab_libfunc): New function.
6508 (init_optabs): Delete use of all *_LIBCALL defines.
6509 Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
6510 * optabs.h: Prototype set_optab_libfunc.
6511
6512 * config.gcc: Remove all references to pa/long_double.h,
6513 ia64/hpux_longdouble.h, and gofast.h.
6514 (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
6515 to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
6516
6517 * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
6518 * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
6519 * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
6520 * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
6521 * config/sparc/sparc.c, config/vax/vax.c:
6522 Provide a definition for TARGET_INIT_LIBFUNCS. Where
6523 necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
6524
6525 * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
6526 * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
6527 * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
6528 * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
6529 * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
6530 * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
6531 * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
6532 * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
6533 INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
6534
6535 * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
6536 Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6537 * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
6538 HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6539 * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
6540
6541 * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
6542 * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
6543 SUN_INTEGER_MULTIPLY_64 to 0.
6544 * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
6545 SUN_INTEGER_MULTIPLY_64 to 1.
6546 * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
6547 SUN_INTEGER_MULTIPLY_64 to 0.
6548 * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
6549 Define US_SOFTWARE_GOFAST.
6550 * config/vax/vax.h: Default TARGET_ELF to 0.
6551 * config/vax/elf.h: Redefine TARGET_ELF to 1.
6552
6553 * config/gofast.h: Don't define any macros here. Provide one
6554 static function, gofast_maybe_init_libfuncs, which does what
6555 INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
6556 is already defined. Do not clear negation libfuncs. Do
6557 not mess with HFmode, XFmode, or TFmode libfuncs.
6558
6559 * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
6560
6561 2003-10-01 Kelley Cook <kelleycook@wideopenwest.com>
6562
6563 PR C/12466
6564 * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
6565
6566 2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6567
6568 * config/mips/xm-iris5.h: Remove, unnecessary.
6569 * config.build (mips-sgi-irix5*): Remove.
6570 (mips-sgi-irix6*o32): Likewise.
6571 * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
6572 (mips-sgi-irix5cross64): Likewise.
6573 (mips-sgi-irix5*): Likewise.
6574 * config.host (mips-sgi-irix5*): Remove.
6575 (mips-sgi-irix6*o32): Likewise.
6576
6577 2003-10-01 Zack Weinberg <zack@codesourcery.com>
6578
6579 * dbxout.c (dbxout_fptype_value): Delete.
6580 (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
6581
6582 2003-10-01 Alexandre Oliva <aoliva@redhat.com>
6583
6584 * output.h (compute_reloc_for_constant): Declare.
6585 * varasm.c (compute_reloc_for_constant): Extract from...
6586 (output_addressed_constants): ... here. Adjust all callers.
6587
6588 2003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6589
6590 * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
6591 * configure: Rebuilt.
6592
6593 2003-10-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6594
6595 * fold-const.c (make_range): When handling unsigned, don't reverse
6596 range if high bound is zero.
6597
6598 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
6599
6600 * config/frv/frv.h (PREDICATE_CODES): Added
6601 condexec_si_media_operator, condexec_sf_add_operator and
6602 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
6603 and condexec_sf_unary_operator.
6604
6605 2003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6606
6607 * aclocal.m4: Add ultrix* to /dev/zero blacklist.
6608 * configure: Rebuilt.
6609
6610 2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6611
6612 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
6613 Allow override.
6614 * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
6615
6616 2003-09-23 David S. Miller <davem@redhat.com>
6617
6618 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
6619 before redefining.
6620 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
6621
6622 2003-10-01 Steven Bosscher <steven@gcc.gnu.org>
6623
6624 * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
6625 C90 function declarations and definitions.
6626
6627 2003-10-01 Nathanael Nerode <neroden@gcc.gnu.org>
6628
6629 * config.gcc (cris-*-linux*): Revert mistaken commit.
6630
6631 2003-10-01 Eric Botcazou <ebotcazou@libertysurf.fr>
6632
6633 PR optimization/11753
6634 * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
6635 the length in the non-V9 case.
6636
6637 2003-09-30 Richard Henderson <rth@redhat.com>
6638
6639 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
6640 DWARF_ALT_FRAME_RETURN_COLUMN.
6641 * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
6642 (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
6643 (uw_frame_state_for): Return end-of-stack for null return address.
6644 * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
6645
6646 * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
6647 (alpha_expand_prologue): Store a zero for it.
6648 (alpha_expand_epilogue): Don't reload it.
6649 * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
6650 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
6651 for the sigframe return address.
6652
6653 2003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>
6654
6655 * sdbout.c: Convert to ISO C90 prototypes.
6656 * objc/objc-act.c: Likewise.
6657
6658 2003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>
6659
6660 * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
6661 * config/i386/winnt.c: Likewise.
6662 * config/i386/cygming.h: Likewise.
6663
6664 2003-09-30 Kazu Hirata <kazu@cs.umass.edu>
6665
6666 * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6667 (A ^ B) - B for any B.
6668
6669 2003-09-30 Nathanael Nerode <neroden@gcc.gnu.org>
6670
6671 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
6672 powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
6673
6674 2003-09-30 Richard Earnshaw <rearnsha@arm.com>
6675
6676 * arm/ieee754-sf.S: Tidy formatting.
6677
6678 2003-09-30 Nicolas Pitre <nico@cam.org>
6679
6680 * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
6681 and ARM_MOD_BODY.
6682 (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
6683 (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
6684 added better divisor alignment in the other case.
6685 (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
6686 (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
6687 macros above, add fast exits for divisor >= dividend, etc.
6688
6689 2003-09-30 Nicolas Pitre <nico@cam.org>
6690
6691 * arm/ieee754-df.S: Split compilation of fixunsdfsi from
6692 L_fixdfsi target.
6693 * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
6694
6695 2003-09-30 Nathanael Nerode <neroden@gcc.gnu.org>
6696
6697 * config.gcc: Default use_fixproto to 'no'.
6698
6699 2003-09-30 Richard Sandiford <rsandifo@redhat.com>
6700
6701 PR optimization/12345
6702 * config/mips/mips-protos.h (mips_restore_gp): Remove.
6703 (mips_gp_save_slot): Declare.
6704 * config/mips/mips.c (mips_restore_gp): Remove in favor of...
6705 (mips_gp_save_slot): ...this new function.
6706 * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
6707 and mips_output_move to generate the output template.
6708 (call_internal): Force splitting if TARGET_SPLIT_CALLS. Don't emit
6709 a gp load after a noreturn call. Load the gp using a move rather
6710 than an exception_receiver pattern.
6711 (call_value_internal, call_value_multiple_internal): Likewise.
6712 (call_split, call_value_split, call_value_multiple_split): Clobber $28.
6713
6714 2003-09-30 Carlo Wood <carlo@alinoe.com>
6715
6716 PR debug/12319
6717 * cfglayout.c (insn_scope): Use prologue_locator and
6718 epilogue_locator; return the outer function scope for
6719 pro- and epilogue insns.
6720
6721 2003-09-29 Zack Weinberg <zack@codesourcery.com>
6722
6723 * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
6724 REAL_TYPEs based on the bitsize of the type's mode, not the
6725 mode directly.
6726
6727 2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6728
6729 * dwarf2out.c (default_eh_frame_section): Split into ...
6730 (named_section_eh_frame_section, collect2_eh_frame_section): ... new
6731 functions.
6732 * output.h (named_section_eh_frame_section): Declare.
6733 (collect2_eh_frame_section): Likewise.
6734
6735 2003-09-29 Zack Weinberg <zack@codesourcery.com>
6736
6737 * real.c (real_sqrt): Use get_canonical_qnan directly.
6738
6739 * dwarf2out.c (add_const_value_attribute): Use real_to_target.
6740
6741 * varasm.c (assemble_real): Use real_to_target directly,
6742 calculate the number of significant elements of the result
6743 array and write them out in a loop, instead of using a giant
6744 switch statement to pick the correct REAL_VALUE_TO_TARGET_*
6745 macro.
6746
6747 2003-09-29 Jan Hubicka <jh@suse.cz>
6748
6749 PR c++/12175
6750 * varasm.c (notice_global_symbol): Discard external symbols.
6751
6752 PR optimization/12286
6753 * gcov-io.c (gcov_read_words): Fix memmove call.
6754 * profile.c (compute_branch_probabilities): Add extra sanity checks.
6755
6756 2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6757
6758 * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
6759 Solaris 7-9.
6760
6761 * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
6762 wildcards which explicitly match micro versions.
6763 * fixinc/fixincl.x: Regenerate.
6764
6765 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6766
6767 * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6768 (A ^ B) - B, where B is any power of 2 minus 1.
6769
6770 2003-09-29 Jan Hubicka <jh@suse.cz>
6771
6772 * libgcov.c (gcov_exit): Fix two pastos.
6773
6774 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6775
6776 * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
6777 define_split immediately below to form define_insn_and_split.
6778
6779 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6780
6781 * config/h8300/h8300.md (*tstsi_variable_bit): New.
6782 (*tstsi_variable_bit_qi): Likewise.
6783
6784 2003-09-28 Phil Edwards <phil@codesourcery.com>
6785
6786 * doc/cppopts.texi: Use 'dashMP' instead of '-MP' as a cross-
6787 reference name.
6788
6789 2003-09-28 Richard Henderson <rth@redhat.com>
6790
6791 * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
6792 file and line separately.
6793
6794 2003-09-28 Ulrich Weigand <uweigand@de.ibm.com>
6795
6796 * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
6797 "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
6798 "*subdi3_borrow_cconly"): New insns.
6799 ("*addsi3_sub", "*subsi3_sub"): Remove.
6800 ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
6801 ("*subsi3_cc"): Fix op_type attribute.
6802
6803 2003-09-28 Richard Henderson <rth@redhat.com>
6804
6805 * stmt.c (expand_asm_operands): Take a location_t, instead of
6806 individual file and line.
6807 * c-typeck.c (c_expand_asm_operands): Likewise.
6808 * tree.h (expand_asm_operands): Update decl.
6809 * c-common.h (c_expand_asm_operands): Likewise.
6810 * c-semantics (genrtl_asm_stmt): Update call.
6811
6812 2003-09-28 Philip Blundell <philb@gnu.org>
6813
6814 * config/arm/arm.c (legitimize_pic_address): Check
6815 SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
6816 (arm_assemble_integer): Likewise.
6817
6818 2003-09-28 Steven Bosscher <steven@gcc.gnu.org>
6819
6820 * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6821 config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
6822 config/c4x/c4x.h:
6823 Convert to ISO C90 function declarations and definitions.
6824
6825 2003-09-28 Steven Bosscher <steven@gcc.gnu.org>
6826
6827 * config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
6828 Convert to ISO C90 function declarations and definitions.
6829
6830 2003-09-28 Richard Sandiford <rsandifo@redhat.com>
6831
6832 * config/mips/mips.c (mips_constant_info): Add reloc field.
6833 (mips_classify_constant): Initialize it. Always set SYMBOL to the
6834 underlying symbol, not to an unspec.
6835 (mips_delegitimize_address, print_operand): Clean up accordingly.
6836
6837 2003-09-28 Richard Sandiford <rsandifo@redhat.com>
6838
6839 * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
6840 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
6841 * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
6842 (mips_classify_constant): Use it.
6843 (mips_splittable_symbol_p): Add an offset argument.
6844 (mips_classify_address): Adjust call accordingly.
6845 (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
6846 than a relocation unspec. Update call to mips_splittable_symbol_p.
6847 Generalize the code that copes with symbols + invalid offsets.
6848 (print_operand): Allow '%R' to be applied to small data addresses.
6849 (mips_reloc_string): Remove RELOC_GPREL16.
6850 (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg. Return $gp
6851 for TARGET_EXPLICIT_RELOCS. Return null if we can't use gp-relative
6852 relocation operators.
6853 * config/mips/mips.md (RELOC_GPREL16): Remove. Shuffle other reloc
6854 constants accordingly.
6855
6856 2003-09-27 Roger Sayle <roger@eyesopen.com>
6857
6858 * toplev.c (flag_evaluation_order): New global variable.
6859 * flags.h (flag_evaluation_order): Prototype here.
6860 * expr.c (expand_operands): If we need to preserve observable
6861 evaluation order, protect exp1 from clobbering exp0's result.
6862
6863 2003-09-28 Andreas Jaeger <aj@suse.de>
6864
6865 * c-decl.c (finish_function): Convert definition to ISO C90.
6866 * ifcvt.c (mark_loop_exit_edges): Likewise.
6867 * ra-rewrite.c (emit_colors): Likewise.
6868
6869 2003-09-27 Nathanael Nerode <neroden@gcc.gnu.org>
6870
6871 * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
6872 * config.gcc (arm*-*-uclinux*): Disable fixproto.
6873 * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
6874 powerpc-*-eabialtivec*): Disable fixproto.
6875
6876 2003-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
6877
6878 PR optimization/12340
6879 * loop.h (struct induction): Document the new semantics
6880 of the 'same' field for bivs.
6881 * unroll.c (biv_total_increment): Don't count the same
6882 biv increment several times.
6883 (loop_iterations) [GENERAL_INDUCT]: Likewise.
6884
6885 2003-09-27 Graham Stott <graham.stott@btinternet.com>
6886
6887 * unroll.c (loop_interations)[GT]: Add missing break.
6888
6889 2003-09-27 Kelley Cook <kcook@gcc.gnu.org>
6890
6891 * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
6892 config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
6893 config/dbxelf.h, config/elfos.h, config/fp-bit.h,
6894 config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
6895 config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
6896 config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
6897 config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
6898 config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
6899 config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
6900 config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
6901 config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
6902 config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
6903 config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
6904 config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
6905 config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
6906 config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
6907 config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
6908 config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
6909 config/alpha/xm-vms.h, config/arc/arc-modes.def,
6910 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
6911 config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
6912 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
6913 config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
6914 config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
6915 config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
6916 config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
6917 config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
6918 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6919 config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
6920 config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
6921 config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
6922 config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
6923 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
6924 config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
6925 config/i960/i960-c.c, config/i960/i960-coff.h,
6926 config/i960/i960-modes.def, config/i960/i960-protos.h,
6927 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
6928 config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
6929 config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
6930 config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
6931 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
6932 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
6933 config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
6934 config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
6935 config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
6936 config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
6937 config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
6938 config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
6939 config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6940 config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
6941 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
6942 config/mcore/mcore-protos.h, config/mcore/mcore.c,
6943 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
6944 config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
6945 config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
6946 config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
6947 config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
6948 config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
6949 config/mips/vr.h, config/mn10300/linux.h,
6950 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
6951 config/mn10300/mn10300.h, config/mn10300/mn10300.md,
6952 config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
6953 config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
6954 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
6955 config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
6956 config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6957 config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
6958 config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
6959 config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
6960 config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
6961 config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
6962 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
6963 config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
6964 config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
6965 config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
6966 fixinc/fixinc.svr4: GNU CC -> GCC.
6967
6968 2003-09-26 Loren James Rittle <ljrittle@acm.org>
6969
6970 * objc/objc-act.c (tm_p.h): Tweak order.
6971 * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
6972
6973 2003-09-26 Nathanael Nerode <neroden@gcc.gnu.org>
6974
6975 * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
6976 Include t-slibgcc-elf-ver and t-linux in tmake_file.
6977 * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
6978 Disable fixproto.
6979 * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
6980 Disable fixproto.
6981 * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
6982 sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
6983
6984 * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
6985
6986 2003-09-26 Loren James Rittle <ljrittle@acm.org>
6987
6988 * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
6989 * objc/objc-act.c (tm_p.h): Include.
6990
6991 2003-09-26 Per Bothner <pbothner@apple.com>
6992
6993 * dbxout.c (dbxout_typedefs): Output typedefs in forward order.
6994 No longer any need to reverse by recursion.
6995
6996 2003-09-26 Roger Sayle <roger@eyesopen.com>
6997 Richard Henderson <rth@redhat.com>
6998
6999 PR optimization/11741
7000 * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
7001 appropriate set to match that in hash_scan_insn. Fall back to
7002 the original copy method, if we can't validate changing insn.
7003 (pre_delete): Only delete instructions that have a single_set,
7004 instead of aborting when we encounter an PARALLEL insn with more
7005 then one SET.
7006
7007 2003-09-26 Andreas Krebbel <krebbel1@de.ibm.com>
7008
7009 * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
7010 ("builtin_longjmp"): Insn deleted.
7011 ("save_stack_nonlocal"): Save literal pool base pointer behind
7012 backchain and stack pointer.
7013 ("restore_stack_nonlocal"): Restore literal pool base pointer.
7014 * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
7015 the stack save area for the nonlocal goto case.
7016
7017 2003-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7018
7019 PR bootstrap/12358
7020 * pa.c (output_bvb): Fix typo.
7021
7022 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
7023
7024 * expmed.c (store_bit_field): Don't search for an integer mode
7025 unless we need the result.
7026
7027 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
7028
7029 * expr.c (emit_move_insn_1): If there is no move pattern for the
7030 original mode, try using a pattern for the corresponding integer mode.
7031
7032 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
7033
7034 PR middle-end/9200
7035 * combine.c (if_then_else_cond): Tighten mode check.
7036
7037 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
7038
7039 * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
7040 'struct _cpp_strbuf'.
7041
7042 * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
7043 config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
7044 config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
7045 config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
7046 config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
7047 config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
7048 config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
7049 config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
7050 config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
7051 "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
7052 * config/i386/i386-aout.h, config/i386/i386-coff.h,
7053 config/i386/i386-interix.h, config/i386/i386-interix3.h,
7054 config/i386/i386-modes.def, config/i386/i386-protos.h,
7055 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
7056 config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
7057 config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
7058 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
7059 config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
7060 "GNU compiler" -> GCC.
7061 * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
7062 config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
7063 config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
7064 config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
7065 config/i386/freebsd-aout.h, config/i386/freebsd.h,
7066 config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
7067
7068 2003-09-25 Kelley Cook <kelleycook@wideopenwest.com>
7069
7070 * cgraph.c (dump_cgraph): Don't output newline before dump. Add in
7071 "local" to the callgraph dump. Output "after inlining" earlier.
7072 * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
7073 callgraph dumps. Correct misspellings.
7074 (cgraph_decide_inlining): Output number of insns before inlining.
7075 Output the calling function into which a function is inlined.
7076 (cgraph_decide_small_functions): Format dump file like always_inline.
7077
7078 2003-09-25 Loren James Rittle <ljrittle@acm.org>
7079
7080 * config/i386/i386.h (ix86_return_in_memory): Add prototype.
7081
7082 2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
7083
7084 * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
7085 FPR slots in the save area.
7086 (s390_emit_epilogue): Likewise.
7087
7088 2003-09-25 Richard Sandiford <rsandifo@redhat.com>
7089
7090 * cgraph.h (cgraph_remove_edge): Declare.
7091 * cgraph.c (cgraph_remove_edge): Make extern.
7092 * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
7093 instead of cgraph_remove_call.
7094
7095 2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
7096
7097 * objc/objc-act.c (gen_declaration_1): Fix printf format.
7098
7099 2003-09-25 Richard Earnshaw <rearnsha@arm.com>
7100
7101 * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
7102 arm7tdmi core.
7103
7104 2003-09-25 Ziemowit Laski <zlaski@apple.com>
7105
7106 * config/darwin-protos.h (objc_image_info_section):
7107 New prototype.
7108
7109 2003-09-25 Ziemowit Laski <zlaski@apple.com>
7110
7111 * Makefile.in (stub-objc.o): Depend on $(GGC_H).
7112
7113 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
7114
7115 * config.gcc: Get rid of more gratuitious 'x'es. Actually allow
7116 tsc701 as a --with-cpu, --with-tune setting for sparc.
7117
7118 2003-09-25 Ziemowit Laski <zlaski@apple.com>
7119
7120 * c-parse.in (objc_try_stmt): Do not specify a %type.
7121
7122 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
7123
7124 * config.gcc: New 'widely ported system' clause for rtems.
7125 Set thread file there, not in individual clauses.
7126
7127 2003-09-25 Richard Sandiford <rsandifo@redhat.com>
7128
7129 PR target/6222
7130 * config/mips/mips.c (mips_va_arg): Handle arguments that must be
7131 passed on the stack.
7132
7133 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
7134
7135 * config.gcc (widely ported systems section): Mostly alphabetize
7136 by system. Comment the case where we can't.
7137 * config.gcc (widely ported systems section): Reindent and clean up.
7138
7139 * config.gcc: Remove some unnecessary uses of 'x' in case statements.
7140 Actually allow ep9312 as an arm --with-arch setting.
7141
7142 * config.gcc (*-hpux11): Disable fixproto.
7143
7144 2003-09-24 Phil Edwards <phil@codesourcery.com>
7145
7146 PR pch/12112
7147 * gcc/cppfiles.c (pch_open_file): Return based on combined
7148 result of all files.
7149 (validate_pch): Return validate flag for current file.
7150
7151 2003-09-24 Roger Sayle <roger@eyesopen.com>
7152
7153 PR bootstrap/12358
7154 * fold-const.c (tree_swap_operands_p): Only reorder operands when
7155 one of the operands is constant.
7156
7157 2003-09-24 Ziemowit Laski <zlaski@apple.com>
7158
7159 MERGE OF objc-improvements-branch into MAINLINE:
7160 * Makefile.in (C_OBJS): Add in stub-objc.o.
7161 (c-parse.y): Change sed demarcations to begin with '@@'.
7162 (stub-objc.o): New rule.
7163 * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7164 flag_replace_objc_classes): New flags.
7165 * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
7166 RID_AT_SYNCHRONIZED): New keywords.
7167 (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7168 flag_replace_objc_classes): New flags.
7169 (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
7170 objc_comptypes, objc_message_selector, lookup_objc_ivar,
7171 get_current_scope, objc_mark_locals_volatile): New prototypes,
7172 some moved from c-tree.h.
7173 * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
7174 (finish_decl): Adjust where objc_check_decl() gets called.
7175 * c-lang.c (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
7176 objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
7177 * c-opts.c (c_common_handle_option): Add handling for flag_nil_receivers,
7178 flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
7179 * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
7180 '@@end_ifc', respectively.
7181 (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
7182 (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
7183 objc_finally_block): New rules.
7184 (component_decl_list2): Clean up semantic action for @defs construct.
7185 (component_decl, c99_block_start): Remove call to add_objc_decls().
7186 (poplevel): Add call to objc_clear_super_receiver().
7187 (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
7188 constructs.
7189 (classdef, methodprotolist): Clean up/simplify.
7190 (methodprotolist2): Eliminate.
7191 (methodproto): Call add_method() instead of add_class_method() and
7192 add_instance_method().
7193 (receiver): Add TYPENAME production.
7194 (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
7195 (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
7196 AT_SYNCHRONIZED.
7197 * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
7198 objc_comptypes, objc_message_selector)
7199 * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
7200 struct and pointer types.
7201 (build_c_cast): Do not discard ObjC protocol qualifiers.
7202 (convert_for_assignment): Cache result of comp_target_types() instead
7203 of calling it more than once.
7204 * c.opt (fnext-runtime): Update description string.
7205 (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
7206 New ObjC/ObjC++-specific flags.
7207 * function.h (GCC_FUNCTION_H): Header guard.
7208 * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
7209 * stub-objc.c: New file, to be used to satisfy references to ObjC
7210 functions by the C and C++ front-ends.
7211 * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
7212 * config/darwin.h (FUNCTION): Add in_objc_image_info.
7213 (SECTION_FUNCTION): Add objc_image_info_section.
7214 * doc/invoke.texi: Link to GCC web site for Objective-C information.
7215 (-fconstant-string-class): Update documentation.
7216 (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
7217 -fzero-link): New documentation.
7218 * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
7219 with '@@'.
7220 * objc/lang-specs.h (@objective-c-header): Fix -E spec.
7221 * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
7222 throughout; provide casts for return values from memory allocation
7223 functions (xmalloc, alloca, ggc_alloc, etc.).
7224 (OBJC_VOID_AT_END): New macro.
7225 (rtl.h): Do not #include any more.
7226 (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
7227 (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
7228 TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
7229 TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
7230 TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
7231 (struct val_stack, catch_count_stack, exc_binding_stack, val_stack_push,
7232 val_stack_pop): New.
7233 (objc_check_decl): Fix precondition for error message, along with
7234 the message itself.
7235 (lookup_and_install_protocols): Remove nonexistent protocols from
7236 protocol list instead of returning error_mark_node.
7237 (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
7238 (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
7239 (synth_module_prologue): General clean-up; construct NeXT-specific
7240 runtime API prototypes if needed.
7241 (build_string_class_template): Remove.
7242 (check_string_class_template, string_layout_checked): New.
7243 (build_objc_string_object): Generalize to work with
7244 -fconstant-string-class.
7245 (build_objc_symtab_template): Fix layout for the NeXT runtime.
7246 (build_metadata_decl): New.
7247 (forward_declare_categories): Call build_metadata_decl() instead of
7248 create_builtin_decl() et al.
7249 (build_module_descriptor): Use OBJC_VOID_AT_END instead of
7250 void_list_node_1.
7251 (build_selector_reference_decl, build_class_reference_decl,
7252 build_objc_string_decl): Do not set TREE_READONLY.
7253 (get_proto_encoding): Do not call hack_method_prototype().
7254 (get_class_reference): Add failure mode for invalid class names;
7255 support -fzero-link; defer if in an ObjC++ template declaration.
7256 (objc_declare_alias, objc_declare_class): Fix up duplicate name
7257 lookup; check for global scope if in ObjC++.
7258 (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
7259 RECORD_TYPE, IDENTIFIER_NODE, etc.)
7260 (objc_is_id): Removed.
7261 (objc_is_object_ptr): New function.
7262 (get_class_ivars_from_name): New function, used for @defs construct.
7263 (get_class_ivars): Add option to return raw ivars; create a
7264 ClASS_OWN_IVARS list for each class as needed.
7265 (objc_enter_block, objc_exit_block, objc_declare_variable,
7266 objc_build_throw_stmt, val_stack_push, val_stack_pop,
7267 objc_build_try_enter_fragment, objc_build_extract_expr,
7268 objc_build_try_exit_fragment, objc_build_extract_fragment,
7269 objc_build_try_prologue, objc_build_try_epilogue,
7270 objc_build_catch_stmt, objc_build_catch_epilogue,
7271 objc_build_finally_prologue, objc_build_finally_epilogue,
7272 objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
7273 objc_build_synchronized_epilogue, build_objc_exception_stuff):
7274 New functions.
7275 (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
7276 the future).
7277 (build_private_template): Fix up calls to get_class_ivars().
7278 (offset_is_register, forwarding_offset): Remove.
7279 (objc_method_parm_type, objc_encoded_type_size): New functions.
7280 (encode_method_prototype): Simplify to no longer depend on
7281 back-end information.
7282 (build_tmp_function_decl_xxx, build_tmp_function_decl,
7283 hack_method_prototype): Removed.
7284 (generate_protocol_references): Remove calls to
7285 build_tmp_function_decl().
7286 (generate_protocols): Adjust calls to encode_method_prototype().
7287 (build_class_template): Generate sel_id' and 'gc_object_type' fields
7288 for the NeXT runtime.
7289 (synth_forward_declarations): Call build_metadata_decl().
7290 (check_ivars): Check that the number of ivars matches also.
7291 (build_super_template): Modify super_type directly; disable debugging
7292 output while generating decl.
7293 (build_ivar_list_initializer): Skip list elements that are not
7294 FIELD_DECLs.
7295 (ivar_list_length): New function.
7296 (generate_ivar_lists): Call ivar_list_length() instead of list_length()
7297 and encode_method_prototype() instead of encode_method_def().
7298 (build_shared_structure_initializer): Generate 'sel_id' field for
7299 the NeXT runtime.
7300 (generate_category): Do not set TREE_USED.
7301 (build_keyword_selector): Ditto; transform into a function argument
7302 chain.
7303 (get_arg_type_list): If there are no user-specified arguments, use
7304 '...'; use OBJC_VOID_AT_END.
7305 (check_duplicates): Add a parameter indicating whether methods or
7306 selectors are being checked.
7307 (receiver_is_class_object): Add parameters indicating whether
7308 receiver is 'self' or 'super'; robustify.
7309 (build_message_expr): Defer call to finish_message_expr() if
7310 inside an ObjC++ template.
7311 (lookup_method_in_hash_lists): New function.
7312 (finish_message_expr): Complete rewrite/fix.
7313 (build_objc_method_call): Ditto; factor out commonalities between
7314 the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
7315 messenger variants on the NeXT.
7316 (lookup_instance_method_static, lookup_class_method_static):
7317 Fold into a single lookup_method_static() function with an
7318 additional parameter.
7319 (add_class_method, add_instance_method): Fold into a single
7320 add_method() function with an additional parameter.
7321 (add_category): Make duplicate categories a hard error in ObjC++.
7322 (add_instance_variable): Properly handle unnamed ivars, arrays of
7323 zero or no size and bitfields. In ObjC++, check for nontrivial
7324 C++ class instances.
7325 (is_public): Allow C functions to access non-@public ivars, with
7326 a warning.
7327 (start_class): Move common initializations to
7328 synth_module_prologue(); check for global scope if in ObjC++.
7329 (continue_class): Fix calls to finish_struct().
7330 (objc_declare_protocols, start_protocol): Check for global scope
7331 if in ObjC++.
7332 (encode_pointer): Encode 'BOOL *' specially on the NeXT.
7333 (encode_aggregate_within): Rewrite to properly distinguish
7334 struct tags from typedefs in both ObjC and ObjC++.
7335 (encode_bitfield, encode_complete_bitfield): Remove.
7336 (encode_next_bitfield, encode_gnu_bitfield): New functions.
7337 (encode_field_decl): Call encode_next_bitfield() or
7338 encode_gnu_bitfield() as needed.
7339 (synth_self_and_ucmd_args): New function.
7340 (start_method_def): Use it.
7341 (objc_types_are_equivalent): New function.
7342 (comp_proto_with_proto): Use it instead of comptypes(), since
7343 we need symmetry.
7344 (really_start_method): Use lookup_method_static() instead of
7345 lookup_class_method_static() and lookup_instance_method_static();
7346 Emit 'extern "C"' if in ObjC++ mode.
7347 (add_objc_decls): Removed.
7348 (UOBJC_SUPER_scope): New variable.
7349 (get_super_receiver): Move construction of 'super' from
7350 add_objc_decls(); remove dependency on struct objc_class.
7351 (encode_method_def): Removed; encode_method_prototype() is
7352 used instead.
7353 (objc_clear_super_receiver): New function.
7354 (objc_expand_function_end): Do not do anything for ordinary
7355 C functions.
7356 (finish_method_def): Mark ObjC methods as un-inlinable.
7357 (gen_declaration_1): Emit widths of bitfields.
7358 (finish_objc): Call generate_objc_image_info() if needed;
7359 use check_duplicates() when checking for selector duplicates.
7360 (generate_objc_image_info): New function.
7361 * objc/objc-act.h (add_instance_method, add_class_method,
7362 get_class_ivars): Remove prototypes.
7363 (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
7364 objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
7365 objc_build_catch_stmt, objc_build_catch_epilogue,
7366 objc_build_finally_prologue, objc_build_finally_epilogue,
7367 add_method, get_class_ivars_from_name): New prototypes.
7368 (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
7369 (TYPE_PROTOCOL_LIST): Robustify to distinguish from
7370 TRANSLATION_UNIT_DECLs.
7371 (OBJC_TYPE_NAME): New.
7372 (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
7373 got included.
7374 (IS_SUPER): Robustify.
7375 (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
7376 umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
7377 objc_exception_try_enter_decl, objc_exception_try_exit_decl,
7378 objc_exception_match_decl, objc_exception_throw_decl,
7379 objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
7380 objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
7381 objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
7382 objc_catch_type): New ObjC/ObjC++ roots.
7383 * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
7384 ObjC/ObjC++ tree node codes.
7385
7386 2003-09-24 Alexandre Oliva <aoliva@redhat.com>
7387
7388 * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
7389 code path that calls a handler.
7390
7391 2003-09-24 Nathanael Nerode <neroden@gcc.gnu.org>
7392
7393 * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
7394 Disable fixproto.
7395
7396 * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
7397 the section giving $with_cpu defaults by target.
7398
7399 * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
7400 arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
7401 rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
7402 rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
7403 rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
7404 i[34567]86-pc-msdosdjgpp*): Disable fixproto.
7405
7406 2003-09-24 David Edelsohn <edelsohn@gnu.org>
7407
7408 * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
7409 together. Protect load string instruction with TARGET_STRING.
7410 (movti_string): Collapse case 1 and 2 together.
7411
7412 2003-09-24 Nathan Sidwell <nathan@codesourcery.com>
7413
7414 * c-common.c (c_common_type_for_mode): Check for VOIDmode.
7415
7416 2003-09-24 Richard Earnshaw <rearnsha@arm.com>
7417
7418 * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
7419 do...while(0)
7420
7421 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7422
7423 * config.gcc: Move use_fixproto=no from generic vxworks clause to
7424 specific one.
7425
7426 * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
7427 (accidentally missed in last pass).
7428
7429 2003-09-23 Andrew Pinski <apinski@apple.com>
7430
7431 PR bootstrap/12383
7432 * configure: Regenerate.
7433
7434 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7435
7436 * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
7437 missed in last pass).
7438
7439 2003-09-23 Alexandre Oliva <aoliva@redhat.com>
7440
7441 * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
7442 constant.
7443
7444 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7445
7446 * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
7447
7448 * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
7449 powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
7450 powerpcle-*-eabi*): Disable fixproto.
7451
7452 * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
7453 specific FreeBSD clauses.
7454 * config.gcc: Move use_fixproto=no from generic NetBSD clause to
7455 specific NetBSD clauses.
7456 * config.gcc: Move use_fixproto=no from generic OpenBSD clause
7457 to specific OpenBSD clauses.
7458
7459 2003-09-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7460
7461 * pa.c (hppa_expand_prologue): Do pic register save in frame marker
7462 without adding a frame note.
7463 * pa.md (allocate_stack): Save pic register in new frame marker when
7464 generating pic code.
7465
7466 2003-09-23 Kelley Cook <kelleycook@wideopenwest.com>
7467
7468 * cgraphunit.c (cgraph_expand_all_functions): Renamed from
7469 cgraph_expand_functions.
7470
7471 2003-09-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7472
7473 * Makefile.in (gnucompare*): Merge into ...
7474 (slowcompare*): ... here.
7475 (fastcompare*): New targets.
7476 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
7477 other "fast" cmp programs.
7478 * configure: Regenerate.
7479
7480 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7481
7482 * targhooks.c: Include output.h.
7483 * Makefile.in (targhooks.o): Add output.h to dependency list.
7484
7485 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7486
7487 * config.host: Removed superfluous newline.
7488
7489 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7490
7491 * config.gcc: Use ${target}, not $machine.
7492 * configure.in: Don't set $machine.
7493 * configure: Regenerate.
7494
7495 2003-09-23 Geoffrey Keating <geoffk@apple.com>
7496
7497 * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
7498
7499 * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
7500 pass zero-size arrays by reference.
7501 (rs6000_va_arg): Likewise.
7502
7503 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7504
7505 * config.gcc: Set use_fixproto=no in each specific *-gnu*
7506 configuration, rather than the generic one.
7507
7508 2003-09-23 Richard Henderson <rth@redhat.com>
7509
7510 * tree-inline.c (remap_save_expr): Map new save_expr to identity
7511 rather than to error_mark_node.
7512
7513 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7514
7515 * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
7516 Update description.
7517 * configure: Regenerate.
7518 * config.in: Likewise.
7519 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
7520 HAVE_GAS_SHF_MERGE value.
7521 * varasm.c (mergeable_string_section): Likewise.
7522 (mergeable_constant_section): Likewise.
7523
7524 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7525
7526 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
7527 value.
7528
7529 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7530
7531 * target.h (struct gcc_target): New member external_libcall.
7532 * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
7533 (TARGET_ASM_OUT): Use it.
7534 * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
7535 * targhooks.c: Convert to ISO C 90.
7536 (default_external_libcall): New function.
7537 * targhooks.h (default_external_libcall): Declare.
7538 * varasm.c (assemble_external_libcall): Use
7539 targetm.asm_out.external_libcall instead of
7540 ASM_OUTPUT_EXTERNAL_LIBCALL.
7541 * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
7542 (mips_output_external_libcall): Declare.
7543 * config/mips/mips.c (mips_output_external_libcall): Change
7544 definition guard.
7545 Change to match TARGET_ASM_EXTERNAL_LIBCALL.
7546 Only operate for O32 ABI.
7547 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
7548 instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
7549 * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
7550 superceded by TARGET_ASM_EXTERNAL_LIBCALL.
7551
7552 2003-09-22 Nathnael Nerode <neroden@gcc.gnu.org>
7553
7554 * config.gcc: Do per-target disabling of fixproto here in clauses,
7555 not in t- fragments.
7556 * configure.in: Adjust to set STMP_FIXPROTO correctly.
7557 * configure: Regenerate.
7558 * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
7559 config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
7560 t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
7561 xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
7562 * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
7563 t-interix, t-linux-aout: Delete files consisting only of
7564 setting of STMP_FIXPROTO.
7565
7566 * config.host: Allow unknown hosts (not targets). Allow
7567 ns32k-*-netbsdelf* as a host (not a target). Remove redundant
7568 empty clauses. Remove useless obsolete-configuration clause.
7569 Prune unsupported configuration list. Collapse identical
7570 clauses for closely related systems. Rewrite comment for
7571 unsupported hosts list. Reorganize a little.
7572
7573 2003-09-22 Richard Henderson <rth@redhat.com>
7574
7575 * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
7576 not precision.
7577
7578 2003-09-22 David Edelsohn <edelsohn@gnu.org>
7579 Hartmut Penner <hpenner@de.ibm.com>
7580 Segher Boessenkool <boessen@de.ibm.com>
7581
7582 * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
7583 (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
7584 (rs6000_split_altivec_in_gprs): Rename to ...
7585 (rs6000_split_multireg_move): Add support for update addressing.
7586 * config/rs6000/rs6000-protos.h: Same.
7587 * config/rs6000/altivec.md: Same.
7588 * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
7589 multiple GPRs.
7590 (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
7591 (movti_power): Use new splitter for multiple GPRs.
7592 (movti_string): Same.
7593 (movti_ppc64): Same.
7594
7595 2003-09-22 Bob Wilson <bob.wilson@acm.org>
7596
7597 * config/xtensa/xtensa-protos.h: Convert to ISO C90.
7598 * config/xtensa/xtensa.c: Convert to ISO C90. Minor formatting fixes.
7599
7600 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
7601
7602 * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
7603 (andsi3): Set attr cc to set_zn when using shifts or adds.
7604
7605 2003-09-22 Bernardo Innocenti <bernie@develer.com>
7606
7607 * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
7608
7609 2003-09-22 Bernardo Innocenti <bernie@develer.com>
7610
7611 * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
7612 Resurrect -mrtd option.
7613
7614 2003-09-21 Andrew Pinski <pinskia@physics.uc.edu>
7615
7616 PR target/12281
7617 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
7618 mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
7619
7620 2003-09-22 Olivier Hainque <hainque@act-europe.fr>
7621
7622 PR target/9786
7623 * reg-stack.c (convert_regs_1): Purge possible dead eh edges
7624 after potential deletion of trapping insn. Avoids later ICE
7625 from call to fixup_abnormal_edges.
7626 (convert_regs_2): Stack the current block successors before
7627 processing this block, that is, before the potential deletion of
7628 dead edges by convert_regs_1, because these edges have been used
7629 to initialize the predecessors count.
7630
7631 2003-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
7632
7633 * real.c: Fix several nits in the head comment.
7634
7635 2003-09-21 Richard Henderson <rth@redhat.com>
7636
7637 * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7638 diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7639 print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7640 tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7641 config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
7642
7643 2003-09-21 Richard Henderson <rth@redhat.com>
7644
7645 * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
7646 (TREE_FILENAME, TREE_LINENO): Likewise.
7647 (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
7648 (TREE_LOCUS_SET_P): New.
7649 * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7650 diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7651 print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7652 tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7653 config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
7654
7655 2003-09-21 Nathanael Nerode <neroden@gcc.gnu.org>
7656
7657 * config/vax/vax-protos.h: Convert to ISO C90.
7658 * config/vax/vax.c: Convert to ISO C90.
7659
7660 2003-09-21 Graham Stott <grahams@btinternet.com>
7661
7662 PR target/12353
7663 * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
7664
7665 2003-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
7666
7667 PR target/12301
7668 * reorg.c (stop_search_p): Return 1 for insns that can
7669 throw internally.
7670
7671 2003-09-20 Richard Henderson <rth@redhat.com>
7672
7673 * c-format.c (gcc_diag_char_table): Add %J.
7674 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
7675 (check_format_types): Fix wanted_type name lookup.
7676 (init_dynamic_diag_info): Setup %J.
7677 * diagnostic.c (text_specifies_location): Implement %J.
7678 * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
7679 dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
7680 tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
7681 config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
7682 config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
7683
7684 * tree-inline.c: Include intl.h
7685 (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
7686 * Makefile.in (tree-inline.o): Update.
7687
7688 2003-09-20 Roger Sayle <roger@eyesopen.com>
7689
7690 * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
7691 transformation of a>=0 into (unsigned)a<0x80000000.
7692
7693 2003-09-20 Andrew Pinski <apinski@apple.com>
7694
7695 * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
7696
7697 2003-09-20 Nathanael Nerode <neroden@gcc.gnu.org>
7698
7699 * Makefile.in: Don't set (unused) DLLTOOL.
7700
7701 * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
7702 Remove obsolete references to ENQUIRE.
7703
7704 2003-09-19 Nathanael Nerode <neroden@gcc.gnu.org>
7705
7706 * configure.in: Remove --with-elf, which doesn't work.
7707 * configure: Regenerate.
7708 * config.gcc: Remove references to $elf, which does nothing.
7709
7710 * config/i386/xm-vsta.h: Remove xm-file believed useless.
7711 * config.build (i386-vsta): Remove reference to it.
7712 * config.host (i386-vsta): Remove reference to it.
7713
7714 2003-09-19 Phil Edwards <phil@codesourcery.com>
7715
7716 * doc/install.texi: Document the multiple testsuite options.
7717
7718 2003-09-19 Gerald Pfeifer <gerald@pfeifer.com>
7719
7720 * doc/install.texi (Specific): Add the specific versions of GCC
7721 where support for FreeBSD 1, HP-UX version 9 and older, and AIX
7722 version 3 and older was discontinued.
7723
7724 2003-09-19 Joel Sherrill <joel@oarcorp.com>
7725
7726 * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
7727 68881.
7728
7729 2003-09-19 Bernardo Innocenti <bernie@develer.com>
7730
7731 * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
7732 for -m68030, -m68020-60 and -m68020-40.
7733 * config/m68k/m68k.h (TARGET_68030): New target flag.
7734 * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
7735 TARGET_REGPARM): Remove.
7736 * config/m68k/m68k.h: Regroup and renumber target flags.
7737 * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
7738 * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
7739 * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
7740 * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
7741 * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
7742
7743 2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7744
7745 * config/m68k/t-rtems (m68k-*-rtems*): New.
7746 * config.gcc: Use config/m68k/t-rtems.
7747
7748 2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7749
7750 * config/mips/t-rtems: New.
7751 * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
7752
7753 2003-09-19 Kelley Cook <kelleycook@wideopenwest.com>
7754
7755 * cgraph.c: Fix typo in debugging output.
7756
7757 2003-09-19 T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7758 Eric Botcazou <ebotcazou@libertysurf.fr>
7759
7760 PR target/12166
7761 * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
7762
7763 2003-09-18 Mike Stump <mrs@apple.com>
7764
7765 * c-ppoutput.c (print): Use fileline typedef for field 'line'.
7766 (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
7767 cb_ident, cb_def_pragma): Use fileline typedef.
7768 * cpphash.h (struct cpp_reader): Likewise for field out.first_line.
7769
7770 2003-09-18 Danny Smith <dannysmith@users.sourceforge.net>
7771
7772 * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
7773 total parm size if a parm has incomplete type.
7774 (gen_fastcall_suffix): Likewise.
7775
7776 2003-09-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7777
7778 * except.c (output_function_exception_table): Adjust last change
7779 to handle TYPE of INTEGER_CST.
7780
7781 2003-09-18 Mark Mitchell <mark@codesourcery.com>
7782
7783 PR target/11184
7784 * builtins.c (expand_builtin_apply): Use convert_memory_address
7785 before returning the value.
7786
7787 * alias.c (find_base_value): Simplify use of
7788 convert_memory_address.
7789 (find_base_term): Likewise.
7790 * builtins.c (expand_builtin_stejmp_setup): Likewise.
7791 (expand_builtin_longjmp): Likewise.
7792 (expand_builtin_prefetch): Likewise.
7793 (get_memory_rtx): Likewise.
7794 (expand_builtin_return): Likewise.
7795 (expand_builtin_memcpy): Likewise.
7796 (expand_builtin_strncpy): Likewise.
7797 (expand_builtin_memset): Likewise.
7798 (expand_builtin_va_arg): Likewise.
7799 (expand_builtin_va_copy): Likewise.
7800 (expand_builtin_alloca): Likewise.
7801 * calls.c (expand_call): Likewise.
7802 * except.c (expand_builtin_extract_return_addr): Likewise.
7803 (expand_builtin_eh_return): Likewise.
7804 * explow.c (convert_memory_address): Define even when
7805 POINTER_EXTEND_UNSIGNED is not defined. Do nothing if the address
7806 is already in the right mode.
7807 * explow.c (memory_address): Simplify use of convert_memory_address.
7808 (probe_stack_range): Likewise.
7809 * expmed.c (make_tree): Likewise.
7810 * expr.c (emit_block_move_in_libcall): Likewise.
7811 (expand_assignment): Likewise.
7812 (expand_expr): Likewise.
7813 * function.c (assign_parms): Likewise.
7814 (expand_function_end): Likewise.
7815 * integrate.c (copy_rtx_and_substitute): Likewise.
7816 * stmt.c (expand_computed_goto): Likewise.
7817
7818 2003-09-18 Roger Sayle <roger@eyesopen.com>
7819
7820 * simplify-rtx.c (simplify_unary_operation): Only transform
7821 (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
7822 is -1. RTL "not" is a bit-wise not, "~", not a logical not "!".
7823
7824 2003-09-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7825
7826 PR target/11674
7827 * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
7828
7829 2003-09-18 Roger Sayle <roger@eyesopen.com>
7830
7831 * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
7832 PARITY_EXPR): Delete unused tree codes.
7833 * c-common.c (c_common_truthvalue_conversion): Delete references
7834 to FFS_EXPR and POPCOUNT_EXPR.
7835 * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
7836 (pp_c_expression): Likewise.
7837 * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
7838 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
7839 * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
7840 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR. Add support for calls to
7841 BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
7842 and long long variants.
7843
7844 2003-09-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
7845
7846 * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
7847 * c-pretty-print.c: Fix formatting.
7848 (pp_c_integer_constant): Append type annotation to literals. Tidy.
7849 (pp_c_type_specifier): Tidy.
7850 (pp_c_compound_literal): New function.
7851 (pp_c_initializer): Simplify..
7852 (pp_c_initializer_list): Likewise.
7853 (pp_c_brace_enclosed_initializer_list): New function.
7854 (pp_c_postfix_expression): Simplify.
7855
7856 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
7857
7858 * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
7859 one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
7860
7861 2003-09-17 Richard Henderson <rth@redhat.com>
7862
7863 * tree-optimize.c (tree_rest_of_compilation): Save and restore
7864 input_location.
7865
7866 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7867
7868 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
7869
7870 2003-09-17 Richard Henderson <rth@redhat.com>
7871
7872 * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
7873
7874 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7875
7876 * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
7877 * configure: Regenerate.
7878
7879 2003-09-17 Mark Mitchell <mark@codesourcery.com>
7880
7881 PR debug/12066
7882 * dbxout.c (dbxout_init): Use a langhook to find builtin types.
7883 * langhooks-def.h (lhd_return_null_tree_v): New function.
7884 (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
7885 (LANG_HOOKS_DECLS): Add it to the intializer.
7886 * langhooks.c (lhd_return_null_tree_v): New function.
7887 * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
7888
7889 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7890
7891 * configure.in: Quote gcc_config_arguments for configargs.h.
7892 * configure: Regenerated.
7893 * gccbug.in: Don't shell-expand gcc_config_arguments.
7894
7895 2003-09-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
7896
7897 PR c++/11357
7898 * c-pretty-print.c (pp_c_floating_constant): Append
7899 type-annotation to floating constants.
7900
7901 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7902
7903 * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
7904 Define _ABIO32.
7905 Use it for _MIPS_SIM.
7906 * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
7907
7908 * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
7909 Moved ...
7910 * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
7911 updating comment.
7912 Fixes PR target/10190.
7913
7914 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7915
7916 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
7917 to shared libraries.
7918
7919 2003-09-17 Eric Botcazou <ebotcazou@libertysurf.fr>
7920
7921 PR optimization/11646
7922 * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
7923 EDGE_ABNORMAL flag for EH edges.
7924 * toplev.c (rest_of_handle_cse): Delete unreachable blocks
7925 if dead edges were purged.
7926
7927 2003-09-16 Bernardo Innocenti <bernie@develer.com>
7928
7929 * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
7930 * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
7931 * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
7932 * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
7933
7934 2003-09-16 Ian Lance Taylor <ian@wasabisystems.com>
7935
7936 * cfgcleanup.c (label_is_jump_target_p): Correct use of table
7937 returned by tablejump_p.
7938
7939 2003-09-16 Joel Brobecker <brobecker@gnat.com>
7940
7941 * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
7942
7943 2003-09-16 Roger Sayle <roger@eyesopen.com>
7944
7945 PR bootstrap/12269
7946 * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
7947 argument to be VOIDmode, taking the mode of the comparison from
7948 the operands. Only call simplify_relational_operation if we
7949 know the mode of the comparison. Honor FLOAT_STORE_FLAG_VALUE
7950 if comparison has a floating point result. Ensure that the
7951 result is always of the specified mode.
7952 (simplify_replace_rtx): Simplify call to simplify_gen_relational.
7953 (simplify_unary_operation): Ensure the correct mode and cmp_mode
7954 are always passed to simplify_gen_relational. Simplify NOT of
7955 comparison operator in any mode, not just BImode.
7956 (simplify_ternary_operation): Correct tests on the return value
7957 of simplify_relational_operation to use const_true_rtx, not
7958 const1_rtx. Abort if it ever returns a non-constant result.
7959
7960 * cfgloopanal.c (count_strange_loop_iterations): Use the function
7961 simplify_relational_operation, not simplify_gen_relational, if
7962 we're only interested in constant comparisons and will ignore
7963 non-constant results.
7964
7965 2003-09-16 Roger Sayle <roger@eyesopen.com>
7966
7967 * fold-const.c (tree_swap_operands_p): New function to determine
7968 the prefered ordering of operands.
7969 (fold): Numerous clean-ups. Use tree_swap_operands_p when swapping
7970 operands to commutative, comparison or ternary operators. Replace
7971 uses of TREE_SET_CODE with recursive call to fold. Remove duplicate
7972 transformation of A ? B : C into !A ? C : B.
7973
7974 2003-09-16 Jakub Jelinek <jakub@redhat.com>
7975
7976 * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7977 * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7978 * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7979 * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7980 * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7981 * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7982 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7983 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7984
7985 2003-09-16 Jason Merrill <jason@redhat.com>
7986 Jakub Jelinek <jakub@redhat.com>
7987
7988 * c-common.c (handle_warn_unused_result_attribute): New function.
7989 (c_common_attribute_table): Add warn_unused_result.
7990 (c_expand_expr): Issue warning when result of inlined function
7991 with warn_unused_result attribute is ignored.
7992 * calls.c (expand_call): Issue warning when result of function
7993 with warn_unused_result attribute is ignored.
7994 * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
7995 * expr.c (expr_wfl_stack): Define.
7996 (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
7997 pass const0_rtx as target. Chain locations into expr_wfl_stack.
7998 * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
7999 bit if inlined function has warn_unused_result attribute.
8000 * input.h (expr_wfl_stack): Declare.
8001 * doc/extend.texi: Document warn_unused_result attribute.
8002
8003 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
8004
8005 * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
8006
8007 2003-09-15 Bob Wilson <bob.wilson@acm.org>
8008
8009 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
8010 ATTRIBUTE_UNUSED.
8011 (call_insn_operand): For PIC, don't allow a direct call to a
8012 function in a different section than the current one.
8013
8014 2003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8015
8016 * doc/invoke.texi (Warning Options): Add missing hyphen before
8017 "Wimport". Change "-Wno-endif-labels" to "-Wendif-labels".
8018 Move "-Wold-style-definition" to the C-only section.
8019 Fix the ordering of the warning options.
8020
8021 2003-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8022 Jeff Law <law@redhat.com>
8023
8024 * gcse.c (remove_reachable_equiv_notes): New.
8025 replace_store_insn): Call it. Update antic list.
8026 (store_killed_in_insn): Take REG_EQUAL notes into account.
8027 (build_store_vectors, delete_store): Add parameter to
8028 replace_store_insn call.
8029
8030 2003-09-15 Bob Wilson <bob.wilson@acm.org>
8031
8032 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
8033 SYMBOL_REF_LOCAL_P.
8034
8035 2003-09-15 Kazu Hirata <kazu@cs.umass.edu>
8036
8037 * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
8038 (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
8039 * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
8040 Likewise.
8041 * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
8042 Likewise.
8043 * config/rs6000/rs6000.c (function_arg_padding): Likewise.
8044 * config/sparc/sparc.c (function_arg_padding): Likewise.
8045
8046 2003-09-15 Vladimir Makarov <vmakarov@redhat.com>
8047
8048 * haifa-sched.c (schedule_block): Use ready_remove_first instead
8049 of choose_ready for non-dfa insn scheduling.
8050
8051 2003-09-15 Andreas Jaeger <aj@suse.de>
8052 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8053
8054 * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
8055 * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
8056 * c-parse.in: Warn about old-style parameter definition.
8057 * c-common.c: Define warn_old_style_defintion.
8058 * c-common.h: Declare it.
8059 * c.opt: Add Wold-style-defintion.
8060
8061 2003-09-15 Andreas Jaeger <aj@suse.de>
8062
8063 * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
8064 * config/rs6000/rs6000.c: Likewise.
8065
8066 2003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8067
8068 PR optimization/10914
8069 * expr.h (get_condition, canonicalize_condition): Declaration changed.
8070 * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
8071 and canonicalize_condition calls.
8072 * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
8073 delete_null_pointer_checks): Ditto.
8074 * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
8075 * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
8076 * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
8077 (canonicalize_condition, get_condition): Allow to return comparisons
8078 of cc mode registers.
8079 * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
8080 cc mode registers comparison in condition.
8081
8082 2003-09-12 Mark Mitchell <mark@codesourcery.com>
8083
8084 * coverage.c (create_coverage): Do not call pushlevel/poplevel.
8085 * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
8086 function.
8087 * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
8088
8089 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
8090
8091 * combine.c (simplify_comparison): Convert
8092 (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
8093 (eq (and (lshiftrt X Y) 1) 0).
8094
8095 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
8096
8097 * alias.c: Follow spelling conventions.
8098 * cpphash.h: Likewise.
8099 * fold-const.c: Likewise.
8100
8101 2003-09-14 Alexandre Oliva <aoliva@redhat.com>
8102
8103 * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
8104 * c-lex.c (cb_line_change): Skip line changing whenever
8105 c-ppoutput.c would.
8106
8107 2003-09-14 Steven Bosscher <steven@gcc.gnu.org>
8108
8109 * ra.c: Convert to ISO C90 prototypes.
8110 * ra-build.c: Likewise.
8111 * ra-colorize.c: Likewise.
8112 * ra-debug.c: Likewise.
8113 * ra-rewrite.c: Likewise.
8114
8115 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
8116
8117 * Makefile.in (%.dvi): Remove excess $(docdir).
8118
8119 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
8120
8121 * function.c (STACK_BYTES): Move definition to head of file.
8122 (assign_parms): Don't pass current_function_pretend_args_size
8123 directly to SETUP_INCOMING_VARARGS. For partial register arguments,
8124 round current_function_pretend_args_size up to STACK_BYTES. Skip any
8125 excess before laying out the argument.
8126
8127 2003-09-14 Andreas Jaeger <aj@suse.de>
8128
8129 * objc/objc-act.c: Convert to ISO C90 prototypes.
8130 * objc/objc-act.h: Likewise.
8131
8132 2003-09-14 Olaf Hering <olh@suse.de>
8133
8134 * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
8135
8136 2003-09-13 Andrew Pinski <pinskia@physics.uc.edu>
8137
8138 PR target/12021
8139 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
8140 as they already are done in config/m68k/m68k.h.
8141 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
8142
8143 * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
8144 (machopic_output_stub): Only generate pic base symbols when using pic
8145 and generate them in the form L00000000$spb.
8146
8147 2003-09-13 Richard Henderson <rth@redhat.com>
8148
8149 * cgraphunit.c (cgraph_assemble_pending_functions): Export.
8150 (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
8151 * cgraph.h: Update.
8152
8153 2003-09-12 Dale Johannesen <dalej@apple.com>
8154
8155 * config/rs6000/rs6000.c: Fix typos in previous.
8156
8157 2003-09-12 Ziemowit Laski <zlaski@apple.com>
8158
8159 * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
8160 when allocating pp->buffer.
8161
8162 2003-09-12 Geoffrey Keating <geoffk@apple.com>
8163
8164 * config/darwin.c (machopic_select_rtx_section): Use
8165 const_data_section for things that might require relocation.
8166
8167 2003-09-12 H.J. Lu <hongjiu.lu@intel.com>
8168
8169 PR bootstrap/12264
8170 * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
8171
8172 2003-09-12 Bob Wilson <bob.wilson@acm.org>
8173
8174 * config/xtensa/elf.h (ASM_SPEC): Remove no-density option. Reformat.
8175 * config/xtensa/linux.h (ASM_SPEC): Likewise.
8176 * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
8177 -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
8178 -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
8179 -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
8180 -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
8181 -m[no-]hard-float-rsqrt options. Delete corresponding MASK_* macros
8182 and redefine corresponding TARGET_* macros with constants from the
8183 xtensa-config.h header.
8184 * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
8185 for the options listed above.
8186
8187 2003-09-12 Dale Johannesen <dalej@apple.com>
8188
8189 * config/rs6000/rs6000-protos.h: Use C90 prototypes.
8190 * config/rs6000/rs6000-c.c: Ditto.
8191 * config/rs6000/rs6000.c: Ditto.
8192 * config/rs6000/ sysv4.h: Ditto.
8193
8194 2003-09-12 Chris Lattner <sabre@nondot.org>
8195
8196 * loop.c: Move comments describing BIV's and GIV's to top of file
8197
8198 2003-09-12 Roger Sayle <roger@eyesopen.com>
8199
8200 PR optimization/8967
8201 * alias.c (write_dependence_p): Modify to take an additional constp
8202 argument that controls whether the UNCHANGING_RTX_P flags are used.
8203 (anti_dependence, output_dependence): Adjust write_dependence_p
8204 callers to pass this additional argument, to return the same result.
8205 (unchanging_anti_dependence): New variant of anti_dependence that
8206 ignores the UNCHANGING_RTX_P property on memory references.
8207 * rtl.h (unchaning_anti_dependence): Prototype here.
8208 * flow.c (init_propagate_block): Place fake constant mem writes on
8209 the mem_set_list so that dead writes to const variables are deleted.
8210 (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
8211 (mark_used_regs): Likewise.
8212
8213 2003-09-12 Richard Sandiford <rsandifo@redhat.com>
8214
8215 * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
8216 (mcore_secondary_reload_class): Declare.
8217 (mcore_output_inline_const_forced): Remove.
8218 * config/mcore/mcore.md (movsi): Remove the code that forced
8219 non-inlineable constants into a register if the target was r15
8220 or the stack pointer. Remove constant restrictions from the main
8221 define_insn. Remove r <- I, r <- M and r <- N alternatives in favor
8222 of an r <- P alternative. Remove fallback define_insn for reload.
8223 (movhi, movqi): Use gen_lowpart rather than gen_SUBREG. Remove reload
8224 define_insn. Use mcore_output_move in the remaining define_insn.
8225 Adjust condition and constraints in the way as for movsi.
8226 (movdi): Always split unacceptable constants into two. Use
8227 simplify_gen_subreg instead of operand_subword{,_force}.
8228 * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
8229 (mcore_output_move): Support HImode and QImode moves as well.
8230 (mcore_m15_operand_p): New function.
8231 (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
8232 (mcore_secondary_reload_class): New function.
8233 * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
8234 terms of mcore_secondary_reload_class.
8235
8236 2003-09-11 Mike Stump <mrs@apple.com>
8237
8238 * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
8239
8240 2003-09-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8241
8242 * builtins.c (fold_builtin_logarithm): if N can't be truncated to
8243 MODE exactly, then only convert logN(N) -> 1.0 if
8244 flag_unsafe_math_optimizations is set.
8245
8246 * builtins.c (builtin_dconsts_init, dconstpi, dconste,
8247 init_builtin_dconsts): Delete.
8248 * emit-rtl.c (dconstpi, dconste): Define.
8249 (init_emit_once): Initialize dconstpi & dconste.
8250 * real.h (dconstpi, dconste): Declare.
8251
8252 2003-09-11 Alexandre Oliva <aoliva@redhat.com>
8253
8254 PR fortran/11522
8255 * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
8256 for ultimate origin even if block is abstract.
8257
8258 2003-09-11 Roger Sayle <roger@eyesopen.com>
8259
8260 * combine.c (combine_simplify_rtx): Move several NOT and NEG
8261 optimizations from here...
8262 * simplify-rtx.c (simplify_unary_operation): to here. Recursively
8263 simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
8264
8265 2003-09-11 Richard Henderson <rth@redhat.com>
8266
8267 * cgraphunit.c (cgraph_finalize_function): Add nested arg.
8268 Tweek tests for function already generated.
8269 (cgraph_expand_function): Don't double announce in !unit-at-a-time.
8270 * cgraph.h (cgraph_finalize_function): Update for extra arg.
8271 * c-decl.c (finish_function): Likewise.
8272
8273 2003-09-10 Joe Buck <jbuck@welsh-buck.org>
8274
8275 * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
8276
8277 2003-09-10 Jerry Quinn <jlquinn@optonline.net>
8278
8279 * real.c: Update URL to VAX floating point docs.
8280 (decode_vax_d): Extract 8 exponent bits instead of 7.
8281
8282 2003-09-10 Ian Lance Taylor <ian@wasabisystems.com>
8283
8284 * combine.c (force_to_mode): Set fuller_mask based only on mask,
8285 not op_mode.
8286
8287 2003-09-11 Jan Hubicka <jh@suse.cz>
8288
8289 * c-objc-common.c (c_cannot_inline_tree_fn): Warn
8290 on why function is not inlinable; do not check
8291 the body.
8292 (inline_forbidden_p): Move to...
8293 * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
8294 deal with alloca, longjmp.
8295 (inline_forbidden_p): New static function.
8296 (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
8297 find_builtin_longjmp_call): Kill.
8298
8299 2003-09-10 Richard Henderson <rth@redhat.com>
8300
8301 * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
8302 * cgraphunit.c: Update to match.
8303 (record_call_1): Rearrange. Call lang hook for language nodes.
8304 (cgraph_analyze_function): Don't call lower_function.
8305 * langhooks.h (struct lang_hooks_for_callgraph): Replace
8306 lower_function with analyze_expr.
8307 * langhooks-def.h: Update to match.
8308 * langhooks.c (lhd_callgraph_analyze_expr): New.
8309
8310 2003-09-10 Martin Husemann <martin@duskware.de>
8311
8312 PR target/11965
8313 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
8314 constants greater than 63.
8315 * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
8316 against constants greater than 31.
8317 (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
8318 constants greater than 63.
8319
8320 2003-09-09 Richard Henderson <rth@redhat.com>
8321
8322 * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
8323 * cgraph.h (cgraph_finalize_function): Update.
8324 * c-decl.c (finish_function): Update.
8325
8326 2003-09-09 Devang Patel <dpatel@apple.com>
8327
8328 * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
8329 * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
8330
8331 2003-09-09 Eric Christopher <echristo@redhat.com>
8332
8333 * configure.in: Change usage of 'head' to 'sed 1q'.
8334 * configure: Regenerate.
8335
8336 2003-09-09 Richard Henderson <rth@redhat.com>
8337
8338 * except.c: Include cgraph.h.
8339 (output_function_exception_table): Invoke
8340 cgraph_varpool_mark_needed_node.
8341 * Makefile.in (except.o): Update.
8342
8343 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
8344
8345 * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
8346 and use it throughout.
8347
8348 2003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8349
8350 * builtins.c (real_dconstp, fold_builtin_logarithm,
8351 fold_builtin_exponent): New, split out from fold_builtin. Also
8352 generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
8353 * emit-rtl.c (dconst3, dconst10, dconstthird): New.
8354 (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
8355 of hardcoded array size.
8356 * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
8357 (tree_expr_nonnegative_p): Likewise.
8358 * real.h (dconst3, dconst10, dconstthird): New.
8359
8360 2003-09-09 Jan Hubicka <jh@suse.cz>
8361
8362 * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
8363 inline functions.
8364 (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
8365 DECL_SAVED_TREE.
8366
8367 2003-09-09 Roger Sayle <roger@eyesopen.com>
8368
8369 * builtins.c (fold_builtin_cabs): Protect the complex argument
8370 against multiple evaluation when optimizing cabs* into sqrt*.
8371
8372 2003-09-09 Jan Hubicka <jh@suse.cz>
8373
8374 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
8375
8376 2003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
8377
8378 * Makefile.in: Revert yesterday's change.
8379
8380 2003-09-08 Bernardo Innocenti <bernie@develer.com>
8381 Peter Barada <peter@baradas.org>
8382
8383 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
8384 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
8385 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
8386 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
8387 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
8388 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
8389 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
8390 (m68k_compute_frame_layout): New function.
8391 (m68k_initial_elimination_offset): New function.
8392 (m68k_output_function_prologue): ColdFire-specific movem handling.
8393 (m68k_output_function_epilogue): Likewise.
8394 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
8395 (ARG_POINTER_REGNUM): Add new definition.
8396 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
8397 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
8398 (CAN_ELIMINATE): Likewise.
8399 (INITIAL_ELIMINATION_OFFSET): Likewise.
8400
8401 2003-09-08 Bernardo Innocenti <bernie@develer.com>
8402
8403 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
8404 by removing redundant variable cfa_store_offset.
8405
8406 2003-09-08 Mark Mitchell <mark@codesourcery.com>
8407
8408 * langhooks-def.h (lhd_register_builtin_type): New function.
8409 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
8410 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
8411 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
8412 * langhooks.c (lhd_register_builtin_type): New function.
8413 * c-common.h (c_register_builtin_type): Declare.
8414 * c-common.c (c_register_builtin_type): New function.
8415 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
8416 c_register_builtin_type.
8417 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
8418 __float80, and __float128 macros.
8419 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
8420 __float80, and __float128 types.
8421
8422 2003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8423
8424 * builtin-types.def
8425 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
8426 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
8427 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
8428 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
8429 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
8430 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
8431 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
8432 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
8433 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
8434 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
8435 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
8436 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
8437 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
8438 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
8439 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
8440 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
8441 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
8442 New.
8443 * doc/extend.texi: Document new builtins.
8444
8445 2003-09-09 Jan Hubicka <jh@suse.cz>
8446
8447 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
8448 finalization.
8449 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
8450 functions, check for COMDAT.
8451 (cgraph_assemble_pending_functions): Break out from...
8452 (cgraph_finalize_function): ... here; allow redefinig of extern inline
8453 functions.
8454 (record_call_1): Record function references only in non-unit-at-a-time
8455 mode.
8456 (cgraph_analyze_function): Reset current_function_decl.
8457 (cgraph_finalize_compilation_unit): Assemble pending functions.
8458
8459 2003-09-08 Mark Mitchell <mark@codesourcery.com>
8460
8461 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
8462 (libgov.a): Likewise.
8463 (libgcc_eh.a): Likewise.
8464
8465 2003-09-08 Roger Sayle <roger@eyesopen.com>
8466
8467 * fold-const.c (operand_equal_p): Clarify documentation.
8468
8469 2003-09-08 Richard Henderson <rth@redhat.com>
8470
8471 * c-decl.c (c_expand_body_1): Push and pop function context here.
8472 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
8473 nested argument instead of computing nesting ourselves.
8474
8475 2003-09-08 Jakub Jelinek <jakub@redhat.com>
8476
8477 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
8478 regstack if optimizing but not scheduling after reload.
8479
8480 2003-09-08 Jakub Jelinek <jakub@redhat.com>
8481
8482 * config/sparc/sparc.c (struct machine_function): New type.
8483 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
8484 (sparc_override_options): Initialize init_machine_status.
8485 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
8486 tie_symbolic_operand, tle_symbolic_operand): New functions.
8487 (symbolic_operand): Disallow tls_symbolic_operand.
8488 (symbolic_memory_operand): Likewise.
8489 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
8490 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
8491 New functions.
8492 (sparc_tls_symbol): New variable.
8493 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
8494 legitimize_address): New functions.
8495 (print_operand): Handle %&.
8496 (sparc_init_machine_status, get_some_local_dynamic_name,
8497 get_some_local_dynamic_name_1): New functions.
8498 (sparc_output_dwarf_dtprel): New function.
8499 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
8500 constant_address_p.
8501 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
8502 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
8503 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
8504 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
8505 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
8506 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
8507 (ASM_OUTPUT_DWARF_DTPREL): Define.
8508 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
8509 tie_symbolic_operand, tle_symbolic_operand.
8510 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
8511 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
8512 (tls_call_delay): New attribute.
8513 (in_call_delay): Use it.
8514 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
8515 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
8516 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
8517 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
8518 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
8519 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
8520 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
8521 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
8522 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
8523 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
8524 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
8525 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
8526 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
8527 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
8528 insns.
8529 * config/sparc/sparc-protos.h (legitimate_constant_p,
8530 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
8531 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
8532 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
8533 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
8534 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
8535 * configure.in (sparc*-*-*): Add TLS check.
8536 * configure: Rebuilt.
8537
8538 2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
8539
8540 PR target/11689
8541 * config/i386/i386.c (memory_address_length): Fix computation when
8542 the base is esp or ebp.
8543
8544 2003-09-07 Mark Mitchell <mark@codesourcery.com>
8545
8546 PR c++/11852
8547 * varasm.c (initializer_constant_valid_p): Correct logic for
8548 CONSTRUCTORs.
8549
8550 2003-09-07 Roger Sayle <roger@eyesopen.com>
8551
8552 * expr.c (expand_operands): New function to expand an operand pair.
8553 (expand_expr): Call expand_operands whenever we need to expand both
8554 operands of a binary operator.
8555 (do_store_flag): Likewise for operands of comparison operations.
8556
8557 2003-09-07 Roger Sayle <roger@eyesopen.com>
8558
8559 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
8560 (-A)*B if we care about sign-dependent rounding.
8561
8562 2003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
8563
8564 * c-pretty-print.h (pp_c_left_brace): Declare.
8565 (pp_c_right_brace): Likewise.
8566 * c-pretty-print.c (pp_c_left_brace): Now a function
8567 (pp_c_right_brace): Likewise.
8568
8569 2003-09-07 Jan Hubicka <jh@suse.cz>
8570
8571 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
8572
8573 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
8574
8575 * diagnostic.c (warn_deprecated_use): Move to toplev.c
8576
8577 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
8578
8579 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
8580 * Makefile.in (langhooks.o): Depend on diagnostic.h
8581
8582 2003-09-06 James E Wilson <wilson@tuliptree.org>
8583
8584 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
8585 simplify.
8586
8587 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
8588
8589 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
8590 and use it throughout.
8591
8592 2003-09-07 Jan Hubicka <jh@suse.cz>
8593
8594 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
8595
8596 * toplev.c (rest_of_decl_compilation): Do not finalize external
8597 virables.
8598
8599 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
8600 functions.
8601 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
8602
8603 2003-09-06 Jan Hubicka <jh@suse.cz>
8604
8605 PR target/12070
8606 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
8607
8608 PR opt/12082
8609 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
8610
8611 2003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
8612
8613 * diagnostic.c (announce_function): Move to toplev.c.
8614
8615 2003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8616
8617 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
8618 volatile mem.
8619
8620 2003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8621
8622 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
8623 when gc checking is enabled.
8624
8625 2003-09-06 Steven Bosscher <steven@gcc.gnu.org>
8626
8627 PR c/9862
8628 * c-decl.c (c_expand_body_1): Move return warning from here...
8629 (finish_function): ...to here.
8630
8631 2003-09-05 Geoffrey Keating <geoffk@apple.com>
8632
8633 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
8634 a subset of the input class.
8635
8636 2003-09-05 Kazu Hirata <kazu@cs.umass.edu>
8637
8638 * config/i860/i860.c: Follow spelling conventions.
8639 * config/i860/i860.h: Likewise.
8640 * config/sh/sh.h: Likewise.
8641
8642 2003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
8643
8644 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
8645 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
8646 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
8647
8648 2003-09-05 Roger Sayle <roger@eyesopen.com>
8649 Richard Henderson <rth@redhat.com>
8650
8651 PR optimization/1823
8652 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
8653 multiplication to implement division by constant integer.
8654
8655 2003-09-05 Jan Hubicka <jh@suse.cz>
8656
8657 * opts.c (decode_options): Enable unit-at-a-time at -O2.
8658 * params.def (max-inline-insns-single): Set to 500
8659 (max-inline-insns-auto): Set to 150
8660 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
8661
8662 2003-09-04 Richard Henderson <rth@redhat.com>
8663
8664 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
8665 (cgraph_mark_needed_node): Remove needed argument.
8666 * cgraph.h: Update to match.
8667 * cgraphunit.c (decide_is_function_needed): Split out from ...
8668 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
8669 if we generated the function.
8670 (record_call_1): Update for cgraph_mark_reachable_node.
8671 * varasm.c (mark_referenced): Likewise.
8672 * objc/objc-act.c (mark_referenced_methods): Likewise.
8673
8674 2003-09-04 DJ Delorie <dj@redhat.com>
8675
8676 * targhooks.c: Add comment explaining the migration process.
8677
8678 2003-09-04 Eric Christopher <echristo@redhat.com>
8679
8680 * config/frv/t-frv: Fix path for frv-abi.h.
8681 * config/frv/frv-asm.h: Fix string concatenation.
8682
8683 2003-09-04 DJ Delorie <dj@redhat.com>
8684
8685 * builtins.c (apply_args_size): Guard against a NULL cfun.
8686 (expand_builtin_apply_args_1): Likewise.
8687 (expand_builtin_apply): Likewise.
8688 Fixes PR bootstrap/12172.
8689
8690 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8691
8692 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
8693 assembler supports Sun syntax for cmov.
8694 * configure: Regenerate.
8695 * config.in: Likewise.
8696 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
8697 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
8698 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
8699 Fixes PR target/12101.
8700
8701 2003-09-04 Matt Austern <austern@apple.com>
8702
8703 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
8704 with verbosity 0, instead of DECL_NAME, for human-readable string.
8705
8706 2003-09-04 Eric Christopher <echristo@redhat.com>
8707
8708 * targhooks.c (default_return_in_memory): Allow
8709 unconverted ports.
8710
8711 2003-09-04 Eric Christopher <echristo@redhat.com>
8712
8713 * targhooks.c (default_return_in_memory): Fix typo
8714 in last checkin.
8715
8716 2003-09-04 Eric Christopher <echristo@redhat.com>
8717
8718 * targhooks.c (default_return_in_memory): Fix default
8719 definition.
8720
8721 2003-09-04 Bernardo Innocenti <bernie@develer.com>
8722
8723 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
8724 deleted function.
8725 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
8726 enable coff-only code in m68k.c.
8727
8728 2003-09-04 Nick Clifton <nickc@redhat.com>
8729
8730 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
8731 v850e1.
8732 * config/v850/v850.h: Accept v850e1 as a default CPU.
8733 Accept -mv850e1 as a command line option.
8734 * doc/invoke.texi: Document new -mv850e1 command line switch.
8735 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
8736 -mv850e.
8737
8738 2003-09-04 Nick Clifton <nickc@redhat.com>
8739
8740 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
8741 * config/v850/t-v850: Only produce one extra multilib - for
8742 the v850e.
8743 * config/v850/t-v850e: New file: Only produce one extra
8744 multilib - for the v850.
8745
8746 2003-09-04 Jakub Jelinek <jakub@redhat.com>
8747
8748 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
8749 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
8750 * unwind.h (_Unwind_GetBSP): New prototype.
8751 * libgcc-std.ver: Add empty GCC_3.3.2 version.
8752 * mkmap-symver.awk: For symbol versions with no exported symbols,
8753 don't put anything into version script, just change all symbol
8754 versions which inherit from it to inherit from its ancestor.
8755
8756 2003-09-04 Eric Christopher <echristo@redhat.com>
8757
8758 * config/mips/mips.c (mips_expand_prologue): Convert to
8759 calls.struct_value_rtx hook.
8760 (reg_or_const_float_1_operand): New.
8761 * config/mips/mips.h: Update Comments.
8762 (mips_arg): Add reg_or_const_float_1_operand.
8763 * config/mips/mips.md (divdf3); Convert to expander.
8764 (divsf3): Ditto.
8765 (*divdf3): New pattern.
8766 (*divsf3): Ditto.
8767
8768 2003-09-04 Jan Hubicka <jh@suse.cz>
8769
8770 * toplev.c (wrapup_global_declarations): Fix final pass in
8771 unit-at-atime mode.
8772
8773 2003-09-04 Mark Mitchell <mark@codesourcery.com>
8774
8775 * doc/extend.texi: Document removal of cast-as-lvalue extension in
8776 C++.
8777
8778 2003-09-04 Nicolas Roche <roche@act-europe.fr>
8779
8780 * gcc.c (process_command): Fix typo.
8781
8782 2003-09-03 David O'Brien <obrien@FreeBSD.org>
8783
8784 optimization/11980
8785 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
8786 (PTRDIFF_TYPE): Likewise.
8787 (WCHAR_TYPE_SIZE): Likewise.
8788
8789 2003-09-03 DJ Delorie <dj@redhat.com>
8790
8791 * targhooks.c: New file.
8792 * targhooks.h: New file.
8793 * Makefile.in: Add targhooks.o support.
8794 (function.o): Depend on$(TARGET_H).
8795 (stmt.o): Likewise.
8796 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
8797 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
8798 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
8799 (expand_builtin_saveregs): Convert to
8800 calls.expand_builtin_saveregs hook.
8801 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
8802 here, instead of ...
8803 (get_parm_info) ... here.
8804 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
8805 hook.
8806 (finish_function): Handle calls.promote_prototypes hook here too.
8807 * c-typeck.c (convert_arguments): Convert to
8808 calls.promote_prototypes hook.
8809 (c_convert_parm_for_inlining): Likewise.
8810 * calls.c (initialize_argument_information): Convert to
8811 calls.promote_function_args hook.
8812 (expand_call): Convert to calls.struct_value_rtx,
8813 calls.strict_argument_naming,
8814 calls.pretend_outgoing_varargs_named, and
8815 calls.promote_function_return hooks. Pass fndecl to
8816 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
8817 hooks, so they can use that.
8818 (emit_library_call_value_1): Likewise.
8819 * combine.c (setup_incoming_promotions): Convert to
8820 calls.promote_function_args hook.
8821 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
8822 * expr.c (expand_assignment): Pass call to aggregate_value_p.
8823 (expand_expr): Likewise.
8824 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
8825 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8826 RETURN_IN_MEMORY macro defaults.
8827 * final.c (profile_function): Convert to calls.struct_value_rtx
8828 hook.
8829 * function.c (aggregate_value_p): Accept function type tree as
8830 second parameter; try to deduce fntype from it. Convert to
8831 calls.return_in_memory hook.
8832 (assign_parms): Convert to calls.setup_incoming_varargs,
8833 calls.strict_argument_naming, calls.promote_function_args,
8834 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
8835 aggregate_value_p.
8836 (expand_function_start): Likewise. Convert to
8837 calls.struct_value_rtx hook.
8838 (expand_function_end): Convert to calls.promote_function_return hook.
8839 (allocate_struct_function): Pass fndecl to aggregate_value_p.
8840 * hard-reg-set.h: Update comments to new hook names.
8841 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
8842 * reg-stack.c (stack_result): Likewise.
8843 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
8844 * stmt.c (expand_value_return): Convert to
8845 calls.promote_function_return hook.
8846 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
8847 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
8848 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
8849 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
8850 TARGET_STRICT_ARGUMENT_NAMING,
8851 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
8852 * target.h: Likewise.
8853 * tree.h (aggregate_value_p): Also takes a tree to deduce function
8854 attributes from (for target hooks).
8855 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
8856 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
8857 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
8858 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
8859 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
8860 to hooks.
8861
8862 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
8863 to aggregate_value_p.
8864 * config/arm/arm.c (arm_init_cumulative_args,
8865 arm_output_mi_thunk): Likewise.
8866 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
8867 Likewise.
8868 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
8869 mips_can_use_return_insn): Likewise.
8870 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
8871 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
8872 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
8873 aggregate_value_p.
8874 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
8875 function to aggregate_value_p.
8876 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
8877 aggregate_value_p.
8878
8879 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
8880 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
8881 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
8882 (sh_handle_renesas_attribute, sh_promote_prototypes,
8883 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
8884 sh_setup_incoming_varargs, sh_strict_argument_naming,
8885 sh_pretend_outgoing_varargs_named): New decls.
8886 (targetm): Add new hooks.
8887 (calc_live_regs): Save MACL and MACH if the function has the
8888 renesas attribute.
8889 (sh_expand_prologue): Support renesas attribute.
8890 (sh_builtin_saveregs): Make static.
8891 (sh_build_va_list): Support renesas attribute.
8892 (sh_va_start): Likewise.
8893 (sh_va_arg): Likewise.
8894 (sh_promote_prototypes): New.
8895 (sh_function_arg): New, moved from sh.h. Support renesas
8896 attribute.
8897 (sh_function_arg_advance): Likewise.
8898 (sh_return_in_memory): Likewise.
8899 (sh_strict_argument_naming): Likewise.
8900 (sh_pretend_outgoing_varargs_named): Likewise.
8901 (sh_struct_value_rtx): New.
8902 (sh_attribute): Add renesas attribute.
8903 (sh_handle_renesas_attribute): New.
8904 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
8905 (sh_ms_bitfield_layout_p): Support renesas attribute also.
8906 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
8907 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
8908 -mhitachi.
8909 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
8910 target hooks.
8911 (sh_args): Add renesas_abi flag.
8912 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
8913 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
8914 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
8915 stack for the renesas abi.
8916 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8917 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
8918 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
8919 call cookie to indicate renesas calls.
8920
8921 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
8922
8923 * gcse.c (replace_one_set): New function.
8924 (pre_insert_copy_insn): Change the order of copying
8925 to make copy propagation discover additional PRE opportunities.
8926
8927 2003-09-03 Roger Sayle <roger@eyesopen.com>
8928
8929 PR optimization/11700.
8930 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
8931 of a hard register is representable before trying to simplify it
8932 using subreg_hard_regno.
8933
8934 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8935
8936 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
8937 * configure: Regenerate.
8938
8939 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8940
8941 * intl.h (N_): Remove parentheses.
8942
8943 2003-09-03 Bernardo Innocenti <bernie@develer.com>
8944
8945 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
8946 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
8947 definition and code blocks compiled when not defined.
8948 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
8949 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
8950 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
8951 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
8952
8953 2003-09-03 Jeff Sturm <jsturm@one-point.com>
8954
8955 * cgraphunit.c (visited_nodes): New static variable.
8956 (record_call_1): Use walk_tree with visited_nodes.
8957 (cgraph_create_edges): Use walk_tree with visited_nodes.
8958 Setup/teardown visited_nodes hashtable.
8959
8960 2003-09-03 Roger Sayle <roger@eyesopen.com>
8961
8962 * toplev.c (flag_rounding_math): New global variable.
8963 (f_options): Add to the list of language independent options.
8964 * flags.h (flag_rounding_math): Prototype here.
8965 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
8966 * common.opt (frounding-math): New common command line option.
8967 * opts.c (common_handle_option): Handle OPT_frounding_math.
8968 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
8969
8970 * doc/invoke.texi: Document this new command line option.
8971
8972 2003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8973
8974 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
8975
8976 2003-09-03 Jan Hubicka <jh@suse.cz>
8977
8978 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
8979 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
8980 * c-objc-common.c: Kill include of gt-c-objc-common.h
8981 (expand_deferred_fns, deffer_fn): Kill function.
8982 (deferred_fns): Kill variable.
8983 (finish_cdtor): Update finish_function call.
8984 (c_objc_common_finish_file): Always call cgraph code.
8985 * c-parse.c: Regenerate.
8986 * c-parse.y: Regenerate.
8987 * c-tree.h (finish_function): Update prototype.
8988 * objc-acct.c (build_module_descriptor, finish_method_def):
8989 Update call of finish_function.
8990 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
8991 forward prototype.
8992 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
8993 function and assemble it if needed.
8994 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
8995 mode.
8996 (cgraph_optimize): Likewise.
8997 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
8998 even when it has no inline callees.
8999 * c-parse.in: Update calls to finish_function.
9000
9001 2003-09-03 Nick Clifton <nickc@redhat.com>
9002
9003 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
9004 Use #error to generate the message if TARGET_DEFAULT is not
9005 recognised.
9006
9007 2003-09-03 Richard Sandiford <rsandifo@redhat.com>
9008
9009 * config/mips/mips.h (MASK_UNUSED1): Remove.
9010 (MASK_XGOT, TARGET_XGOT): Define.
9011 (TARGET_SWITCHES): Add an entry for -mxgot.
9012 (ASM_SPEC): Map -mxgot to -xgot.
9013 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
9014 whether we're using a big-GOT sequences.
9015 (mips_legitimize_const_move, mips_expand_call): Likewise.
9016 (override_options): Revert 2003-01-09 change.
9017 * doc/invoke.texi: Document -mxgot.
9018
9019 2003-09-02 Jason Merrill <jason@redhat.com>
9020
9021 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
9022 * config/sparc/sol2.h: Not here.
9023
9024 2003-09-02 Roger Sayle <roger@eyesopen.com>
9025
9026 * expr.c (expand_expr): The code following both_summands performs
9027 the same task as simplify_gen_binary. Replace all gotos to
9028 both_summands with a call to simplify_gen_binary and delete the
9029 now unused label.
9030
9031 2003-09-02 Jason Merrill <jason@redhat.com>
9032
9033 PR c++/7327
9034 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
9035
9036 2003-09-02 Jeff Sturm <jsturm@one-point.com>
9037
9038 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
9039 (cgraph_optimize_function): Set current_function_decl to the
9040 fndecl we're integrating from.
9041
9042 2003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9043
9044 * builtins.def: Break out _Complex math functions into their
9045 own category.
9046
9047 2003-09-02 Andreas Jaeger <aj@suse.de>
9048
9049 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
9050
9051 2003-09-02 Josef Zlomek <zlomekj@suse.cz>
9052
9053 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
9054 finding the note again.
9055
9056 2003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
9057
9058 * config.gcc: Remove host-specific rewrites of target_alias.
9059
9060 2003-09-01 Mark Mitchell <mark@codesourcery.com>
9061
9062 * Makefile.in (genprogs): Fix typo.
9063
9064 * Makefile.in (gencheck.o): Remove build commands.
9065 (dummy-conditions.o): Likewise.
9066 (read-rtl.o): Likewise.
9067 (gensupport.o): Likewise.
9068 (genconfig$(build_exeext)): Remove rule.
9069 (genconfig.o): Remove build commands.
9070 (genflags$(build_exeext)): Remove rule.
9071 (genflags.o): Remove build commands.
9072 (gencodes$(build_exeext)): Remove rule.
9073 (gencodes.o): Remove build commands.
9074 (genconstants.o): Remove build commands.
9075 (genemit$(build_exeext)): Remove rule.
9076 (genemit.o): Remove build commands.
9077 (genrecog$(build_exeext)): Remove rule.
9078 (genrecog.o): Remove build commands.
9079 (genextract$(build_exeext)): Remove rule.
9080 (genextract.o): Remove build commands.
9081 (genpeep$(build_exeext)): Remove rule.
9082 (genpeep.o): Remove build commands.
9083 (genattr$(build_exeext)): Remove rule.
9084 (genattr.o): Remove build commands.
9085 (genprognames): New variable.
9086 (genprogs): Likewise.
9087 (genobjs): Likewise.
9088 (genprogs): New rule.
9089 (genobjs): Likewise.
9090 (genattrtab.o): Remove build commands.
9091 (genautomata.o): Likewise.
9092 (genoutput$(build_exeext)): Remove rule.
9093 (genoutput.o): Remove build commands.
9094 (gengenrtl.o): Likewise.
9095 (genpreds.o): Likewise.
9096 (gengtype.o): Likewise.
9097 (genconditions.o): Likewise.
9098 (gen-protos.o): Likewise.
9099 (scan.o): Likewise.
9100 (fix-header.o): Likewise.
9101 (scan-decls.o): Likewise.
9102 (check-g++): Combine with other check targets.
9103 (check-gcc): Likewise.
9104 (check-g77): Likewise.
9105 (check-objc): Likewise.
9106
9107 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
9108
9109 * config.gcc: Remove host-specific stuff which is unused here
9110 since the introduction of config.host.
9111
9112 * doc/fragments.texi: Mention config.host.
9113 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
9114 of config.build, config.host, and config.gcc.
9115
9116 2003-09-01 Zack Weinberg <zack@codesourcery.com>
9117
9118 * c-decl.c (pushdecl): Don't put variables on
9119 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
9120 incomplete.
9121
9122 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
9123
9124 * config.host: New file.
9125 * config.gcc: Remove some host-specific stuff and some
9126 logic needed only for repeated invocation.
9127 * configure.in: Use config.host.
9128 * configure: Regenerate.
9129
9130 2003-09-01 Josef Zlomek <zlomekj@suse.cz>
9131
9132 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
9133 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
9134 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
9135 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
9136 * tree.def (BIT_ANDTC_EXPR): Kill.
9137
9138 2003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
9139
9140 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
9141 * configure: Regenerate.
9142
9143 * config.gcc: Remove references to install_headers_dir, now unused
9144 since introduction of config.build.
9145 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
9146
9147 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
9148 config.build.
9149
9150 * config.build: New file.
9151 * config.gcc: Remove some build-specific stuff.
9152 * configure.in: Use config.build.
9153 * configure: Regnerate.
9154
9155 2003-08-31 Steven Bosscher <steven@gcc.gnu.org>
9156 Roger Sayle <roger@eyesopen.com>
9157
9158 PR middle-end/11823
9159 * stmt.c (expand_end_case_type): Only use jump tables for dense
9160 switch statements when optimizing for size.
9161
9162 2003-08-31 Olivier Hainque <hainque@act-europe.fr>
9163
9164 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
9165 the != 0 case, which ensures pending stack adjustments are flushed.
9166
9167 2003-08-30 Zack Weinberg <zack@codesourcery.com>
9168
9169 * configure.frag: Delete file.
9170 * configure.in: Rename the substitution variables
9171 dep_host_xmake_file and dep_tmake_file to xmake_file and
9172 tmake_file respectively. Do not expand $srcdir in the
9173 value of these; leave that for Make. Introduce a new
9174 substitution varaible, all_lang_makefrags, which lists
9175 subdirectory Make-lang.in files; exclude these from
9176 all_lang_makefiles, which is now only for subdirectory
9177 outputs. Do not invoke configure.frag. Do not set nor
9178 AC_SUBST_FILE target_overrides, host_overrides, or
9179 language_fragments. Create build subdirectories in
9180 config.status extra commands.
9181 * configure: Regenerate.
9182 * Makefile.in: Update substitutions to match changes to
9183 configure. Use include directives instead of @-insertions
9184 to read in host, target, and language fragments.
9185 (Makefile rule): Do not invoke configure.frag. Do not copy
9186 config.status to config.run before executing it. Set
9187 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
9188 regenerated.
9189 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
9190
9191 2003-08-30 Zack Weinberg <zack@codesourcery.com>
9192
9193 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
9194 * c-typeck.c (same_translation_unit_p): New function.
9195 (comptypes): Use it instead of flags parameter to identify
9196 structure types from different translation units.
9197 * c-decl.c (duplicate_decls): Always call comptypes with
9198 COMPTYPE_STRICT flags argument.
9199 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
9200 to file_scope_decl.
9201
9202 2003-08-30 Zack Weinberg <zack@codesourcery.com>
9203
9204 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
9205 * c-decl.c (struct c_scope): Remove "incomplete" field.
9206 (pushdecl): Attach variables with incomplete types to
9207 the TYPE_MAIN_VARIANT of the incomplete type in question.
9208 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
9209 to complete, not at current_scope->incomplete. All such
9210 variables do need completion.
9211
9212 2003-08-30 Richard Earnshaw <rearnsha@arm.com>
9213 Nicolas Pitre <nico@cam.org>
9214
9215 * arm/lib1funcs.asm (RETCOND): Delete.
9216 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
9217 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
9218 (__ARM_ARCH__): Move here from ieee754-?f.S.
9219 (RET, RETc): Clean up definitions.
9220 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
9221 (FUNC_END): New macro that marks the end of any function.
9222 (ARM_FUNC_START): New macro that allows an assembler routine to be
9223 implemented in ARM code even if a Thumb-only build.
9224 Unconditionally include ieee754-?f.S.
9225 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
9226 Mark ends of functions.
9227 Split into separate conditionally-compiled units.
9228 Use RETLDM to return from routines.
9229 * arm/ieee754-sf.S: Similarly.
9230 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
9231 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
9232 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
9233 _fixsfsi and _fixunssfsi.
9234
9235 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
9236 multiplication underflows to zero.
9237 (__adddf3): Fix bug when using VFP ordering on little-endian
9238 processors.
9239 (__fixdfsi): Use rrx to extract the carry into a register instead of
9240 MRS instruction. Optimize later use of result.
9241 * arm/ieee754-sf.S (__fixsfsi): Likewise.
9242 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
9243
9244 2003-08-29 Richard Henderson <rth@redhat.com>
9245
9246 * tree-optimize.c: New file.
9247 * Makefile.in (OBJS-archive): Add tree-optimize.o.
9248 (tree-optimize.o): New.
9249 * c-decl.c (store_parm_decls): Use allocate_struct_function.
9250 (finish_function): Don't free_after_parsing or free_after_compilation.
9251 (set_save_expr_context): Move to tree-optimize.c.
9252 (c_expand_body_1): Use tree_rest_of_compilation.
9253 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9254 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9255 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
9256 iterate until closure.
9257 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
9258 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
9259 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
9260 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
9261 * toplev.h (tree_rest_of_compilation): Declare it.
9262
9263 2003-08-29 Richard Henderson <rth@redhat.com>
9264
9265 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
9266 * integrate.c (save_for_inline): Set saved_for_inline.
9267 * c-semantics.c (genrtl_scope_stmt): Check it.
9268 * toplev.c (wrapup_global_declarations): Check it.
9269 (rest_of_handle_inlining): Set and check rtl_inline_init.
9270 (rest_of_compilation): Remove out of date comment.
9271
9272 2003-08-29 Richard Henderson <rth@redhat.com>
9273
9274 * function.c (allocate_struct_function): New, split out of ...
9275 (prepare_function_start, init_function_start): ... here.
9276 * expr.c (init_expr): Use ggc_alloc_cleared.
9277 * stmt.c (init_stmt_for_function): Likewise.
9278 * tree.h (allocate_struct_function): Declare.
9279
9280 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
9281
9282 * config.gcc: Don't use negated character class in shell case
9283 clause.
9284
9285 2003-08-29 Richard Henderson <rth@redhat.com>
9286
9287 * function.h (struct function): Move function_frequency and
9288 max_jumptable_ents before start of bit field members.
9289
9290 2003-08-29 Richard Henderson <rth@redhat.com>
9291
9292 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
9293 (fold_builtin_constant_p) ... not here.
9294
9295 2003-08-29 Richard Henderson <rth@redhat.com>
9296
9297 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
9298 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
9299 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
9300
9301 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9302
9303 * builtins.def: Fix typos.
9304 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
9305 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
9306 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
9307 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
9308 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
9309
9310 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
9311 Use ATTR_MATHFN_FPROUNDING_ERRNO.
9312
9313 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
9314
9315 * config.gcc (i386-*-vsta): Fix obvious bogosity.
9316
9317 * fixinc/inclhack.def: Remove special cases for unsupported
9318 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
9319 * fixinc/fixincl.x: Regenerate.
9320
9321 2003-08-29 Mark Mitchell <mark@codesourcery.com>
9322
9323 * Makefile.in (cpp.info): Just state dependencies.
9324 (gcc.info): Likewise.
9325 (gccint.info): Likewise.
9326 (gccinstall.info): Likewise.
9327 (cppinternals.info): Likewise.
9328 (cpp.dvi): Likewise.
9329 (gcc.dvi): Likewise.
9330 (gccint.dvi): Likewise.
9331 (gccinstall.dvi): Likewise.
9332 (cppinternals.dvi): Likewise.
9333 (gcov.1): Likewise.
9334 (cpp.1): Likewise.
9335 (gcc.1): Likewise.
9336 (gfdl.7): Likewise.
9337 (gpl.7): Likewise.
9338 (fsf-funding.7): Likewise.
9339 ($(objdir)/%.info): New pattern rule.
9340 (%.dvi): Likewise.
9341
9342 2003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
9343
9344 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
9345 (restage2): Likewise.
9346 (restage3): Likewise.
9347 (restage4): Likewise.
9348 (restageprofile): Likewise.
9349 (restagefeedback): Likewise.
9350 (bubblestrap): Likewise.
9351
9352 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
9353
9354 * config.gcc: Narrow unsupported target match to avoid clobbering
9355 i?86-sequent-sysv4*.
9356
9357 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9358
9359 * builtins.c (mathfn_built_in): Handle new math builtins.
9360
9361 2003-08-28 Per Bothner <per@bothner.com>
9362
9363 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
9364 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
9365 (_cpp_lex_buffer): Likewise.
9366 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
9367
9368 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
9369
9370 * config/s390/s390.md ("*mulsi3_sign"): New insn.
9371 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
9372 ("mulsidi3"): ... this new insn.
9373 ("umulsidi3"): New insn.
9374 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
9375 mixed-mode matching constraints.
9376 ("udivmodsi4", "udivmoddisi3"): New insns.
9377 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
9378
9379 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9380
9381 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
9382 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
9383 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
9384 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
9385 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
9386 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
9387 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
9388 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
9389 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
9390 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
9391 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
9392 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
9393 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
9394 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
9395 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
9396 * tree.c: Assign new type_nodes.
9397 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
9398 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
9399 (float_ptr_type_node, double_ptr_type_node,
9400 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
9401
9402 * doc/extend.texi: Document new builtins.
9403
9404 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9405
9406 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
9407 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
9408
9409 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
9410 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
9411 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
9412 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
9413 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
9414 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
9415 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
9416 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
9417 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
9418 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
9419
9420 * doc/extend.texi: Document new builtins.
9421
9422 2003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
9423
9424 * fixinc/mkfixinc.sh: Remove special case code for unsupported
9425 variants of i?86, powerpcle, and thumb.
9426 * fixinc/mkfixinc.sh: Remove special case code for unsupported
9427 arm and hppa variants.
9428
9429 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9430
9431 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
9432 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
9433 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
9434 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
9435 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
9436 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
9437 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
9438 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
9439 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
9440 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
9441
9442 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
9443 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
9444 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
9445 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
9446 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
9447 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
9448 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
9449 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
9450 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
9451 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
9452 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
9453 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
9454 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
9455 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
9456 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
9457 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
9458 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
9459 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
9460 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
9461 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
9462 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
9463 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
9464 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
9465 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
9466 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
9467 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
9468 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
9469 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
9470 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
9471 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
9472 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
9473
9474 * doc/extend.texi: Document new builtins.
9475
9476 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
9477
9478 * config/s390/s390.c (legitmate_constant_p): Use LARL on
9479 zSeries machines even in 31-bit addressing mode.
9480 (legitimate_reload_constant_p): Likewise.
9481 (legitimize_pic_address): Likewise.
9482 (legitimize_tls_address): Likewise.
9483 (s390_split_branches): Likewise.
9484 (s390_dump_pool): Likewise.
9485 (s390_mainpool_finish): Likewise.
9486 (s390_chunkify_start): Likewise.
9487 (s390_select_rtx_section): Likewise.
9488 * config/s390/s390.md ("doloop_si"): Likewise.
9489 ("pool_start_31", "pool_end_31"): Likewise.
9490 ("pool_start_64", "pool_end_64"): Likewise.
9491 ("main_base_31_small", "main_base_31_large"): Likewise.
9492 ("main_base_64"): Likewise.
9493 ("reload_base_31", "reload_base_64"): Likewise.
9494 ("*movsi_larl"): New insn.
9495 ("cjump", "icjump"): Use long branches on zSeries machines.
9496 ("jump"): Likewise.
9497 ("call"): Use BRASL on zSeries machines.
9498 ("call_value", "call_value_tls"): Likewise.
9499 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
9500 and replace by ...
9501 ("*bras", "*brasl", "*basr") ... these new insns.
9502 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
9503 "bas_31_r"): Remove and replace by ...
9504 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
9505 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
9506 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
9507 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
9508 ("*return_si", "*return_di"): Remove and replace by ...
9509 ("*return"): ... this new insn.
9510 ("rotlsi3"): Allow on zSeries machines.
9511
9512 * config/s390/s390.c (legitimize_reload_constant_p): Use
9513 LL/LH type instructions in z/Architecture mode.
9514 * config/s390/s390.md ("*movsi_lli"): Likewise.
9515 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
9516 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
9517 ("*extendqisi2"): Use LB in z/Architecture mode.
9518 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
9519 z/Architecture mode.
9520 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
9521 Likewise.
9522
9523 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
9524 and 31-bit mode.
9525 ("ptr_extend"): Allow only in 64-bit mode.
9526
9527 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
9528
9529 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
9530 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
9531 definitions.
9532 (main): Only use standard_startfile_prefix if native.
9533 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
9534
9535 2003-08-27 Per Bothner <pbothner@apple.com>
9536
9537 * cpperror.c (print_location): Don't check for !pfile->buffer. That
9538 test fails following my 08-21 change, and it seems unnecessary anyway.
9539 (cpp_error): Likewise.
9540
9541 2003-08-27 Jason Merrill <jason@redhat.com>
9542
9543 * real.c (do_multiply): Initialize with memset.
9544
9545 2003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9546
9547 * gcov.c (typedef struct arc_info): New field cs_count.
9548 (accumulate_line_counts): Find cycles correctly.
9549
9550 2003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
9551
9552 * config/s390/s390.c (struct machine_function): Remove member
9553 literal_pool_label.
9554 (s390_optimize_prolog): Replace TEMP_REG argument with
9555 TEMP_USED and BASE_USED. Do not check get_pool_size ().
9556 (general_s_operand): Accept all immediates before reload if
9557 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
9558 references.
9559 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
9560 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
9561 (s390_alloc_pool): New function.
9562 (s390_new_pool): Call it.
9563 (s390_dump_pool): Add REMOTE_LABEL argument.
9564 (s390_chunkify_start): Add BASE_REG argument. Do not check
9565 get_pool_size ().
9566 (s390_chunkify_finish): Add BASE_REG argument. Adapt
9567 s390_dump_pool call.
9568 (s390_pool_count, s390_nr_constants): Remove.
9569 (s390_output_constant_pool): Remove.
9570 (s390_mainpool_start): New function.
9571 (s390_mainpool_finish): New function.
9572 (s390_mainpool_cancel): New function.
9573 (s390_reorg): Implement main literal pool handling.
9574 (s390_emit_prologue): Emit main_pool placeholder instead of
9575 literal_pool_31 / literal_pool_64 insns.
9576 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
9577 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
9578 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
9579 ("main_base_31_small", "main_base_31_large"): New insns.
9580 ("main_base_64", "main_pool"): New insns.
9581 ("literal_pool_31", "literal_pool_64"): Remove.
9582
9583 2003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
9584
9585 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
9586 fixinc.ptx.
9587 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
9588 Prettify a little.
9589 * fixinc/fixincl.x: Regenerate.
9590
9591 2003-08-27 Richard Earnshaw <rearnsha@arm.com>
9592
9593 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
9594 (L_ieee754_dp): New. Include ieee754-df.S.
9595 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
9596 and compilation in apcs-26 mode.
9597 * arm/ieee754-df.S: Likewise.
9598 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
9599 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
9600
9601 2003-08-27 Nicolas Pitre <nico@cam.org>
9602
9603 * arm/ieee754-sf.S: New.
9604 * arm/ieee754-df.S: New.
9605
9606 2003-08-27 Jakub Jelinek <jakub@redhat.com>
9607
9608 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
9609 and restore it if returning NULL.
9610
9611 2003-08-27 Richard Sandiford <rsandifo@redhat.com>
9612
9613 * calls.c (initialize_argument_information): If an argument has no
9614 stack space associated with it, and BLOCK_REG_PADDING is defined,
9615 use it to decide at which end the argument should be padded.
9616 * function.c (assign_parms): Allocate BLKmode stack slots.
9617 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
9618 (mips_pad_reg_upward): Declare.
9619 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
9620 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
9621 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
9622 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
9623 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
9624 (mips_expand_call): Remove code for generating structure shifts.
9625 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
9626 types unless using the EABI.
9627 (function_arg_advance): Don't generate shift instructions.
9628 (function_arg): Don't return them. Don't short-circuit the
9629 check for double structure chunks for DFmode arguments.
9630 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
9631 (mips_expand_prologue): Remove code to emit structure shifts.
9632 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
9633 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
9634 comments to say that only structure returns are a problem.
9635
9636 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
9637
9638 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
9639 Fix to match produced versions.
9640 * fixinc/inclhack.def (longlong_t): New disabled test, ported
9641 from fixinc.svr4.
9642 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
9643 from fixinc.ptx.
9644 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
9645 ported from fixinc.ptx.
9646
9647 2003-08-26 Per Bothner <pbothner@apple.com>
9648
9649 * cpplib.h (struct cpp_token): Change type of field line to fileline.
9650 (cpp_error_with_line): Use fileline for appropriate parameter.
9651 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
9652 (struct cpp_reader): Likewise for fields line and directive_line.
9653 (_cpp_begin_message): Use fileline for appropriate parameter.
9654 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
9655 cpp_error): Use fileline for appropriate parameters and variables.
9656 (print_location): New local lin, since it is not a fileline.
9657
9658 2003-08-26 Roger Sayle <roger@eyesopen.com>
9659
9660 PR middle-end/12002
9661 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
9662 (FLOAT_TYPE_P): Define in terms of these two new macros.
9663 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
9664 for complex floating point types.
9665
9666 2003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
9667
9668 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
9669 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
9670 s390_output_pool_entry.
9671
9672 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
9673
9674 * fixinc/inclhack.def (svr4_preproc_lint_on,
9675 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
9676 fixes, ported from fixinc.svr4.
9677
9678 2003-08-26 Mark Mitchell <mark@codesourcery.com>
9679
9680 * doc/install.texi (Prerequisites): Mention GNU make requirement.
9681
9682 * Makefile.in (AR_FOR_TARGET): Export it.
9683 (AR_CREATE_FOR_TARGET): Likewise.
9684 (AR_FLAGS_FOR_TARGET): Likewise.
9685 (AR_EXTRACT_FOR_TARGET): Likewise.
9686 (AWK): Likewise.
9687 (BUILD_PREFIX): Likewise.
9688 (BUILD_PREFIX_1): Likewise.
9689 (DESTDIR): Likewise.
9690 (GCC_FOR_TARGET): Likewise.
9691 (INCLUDES): Likewise.
9692 (INSTALL_DATA): Likewise.
9693 (LIB1ASMSRC): Likewise.
9694 (LIBGCC2_CFLAGS): Likewise.
9695 (MACHMODE_H): Likewise.
9696 (NM_FOR_TARGET): Likewise.
9697 (RANLIB_FOR_TARGET): Likewise.
9698 (libsubdir): Likewise.
9699 (slibdir): Likewise.
9700 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
9701 exporting.
9702 (libgcc.a): Don't pass them here.
9703 (stmp-multilib): Or here.
9704 (install-libgcc): Or here.
9705 (install-multilib): Or here.
9706 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
9707 (stage1_build): Or here.
9708
9709 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
9710
9711 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
9712 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
9713
9714 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
9715
9716 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
9717 "*fmaddsf", "*fmsubsf"): New insns.
9718
9719 2003-08-26 Roger Sayle <roger@eyesopen.com>
9720
9721 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
9722 (C1*C2)/X when unsafe math optimizations are allowed.
9723 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
9724 math optimizations. Minor code clean-ups. Recursively call
9725 fold when constructing sub-expressions.
9726
9727 2003-08-26 Roger Sayle <roger@eyesopen.com>
9728
9729 * builtins.c (fold_builtin_bitop): New function to perform constant
9730 folding of ffs, clz, ctz, popcount and parity builtin functions
9731 and their long and long long variants (such as ffsl and ffsll).
9732 (fold_builtin): fold_builtin_bitop when appropriate.
9733 * simplify-rtx.c (simplify_unary_operation): Honor both
9734 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
9735 evaluating clz and ctz at compile-time, for operands wider
9736 than HOST_WIDE_INT.
9737
9738 2003-08-26 Nathan Sidwell <nathan@codesourcery.com>
9739
9740 * builtins.c (build_function_call_expr): Don't set
9741 TREE_SIDE_EFFECTS here.
9742 * expr.c (emit_block_move_via_libcall): Likewise.
9743 (clear_storage_via_libcall): Likewise.
9744 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
9745 CALL_EXPRs.
9746
9747 * gcse.c (is_too_expensive): New function.
9748 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
9749
9750 2003-08-25 Zack Weinberg <zack@codesourcery.com>
9751
9752 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
9753 commented-out logic to use DCE threads (if present), add
9754 support for POSIX threads.
9755 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
9756 #defines for -pthread. Add -lpthread to LIB_SPEC when
9757 -pthread. In both cases take -mt as a synonym for -pthread
9758 for acc compatibility.
9759 Define GTHREAD_USE_WEAK to 0.
9760 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
9761 Remove old logic for DCE threads from LIB_SPEC.
9762 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
9763
9764 2003-08-25 Roger Sayle <roger@eyesopen.com>
9765
9766 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
9767 return 0 for invalid argument types. Instead drop through to a
9768 call of expand_call at the bottom of function. If op is SQRT,
9769 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
9770
9771 2003-08-25 Richard Henderson <rth@redhat.com>
9772
9773 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
9774 result when op0 is SImode.
9775
9776 2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
9777
9778 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
9779 from fixinc.svr4.
9780 * fixinc/fixincl.x: Regenerate.
9781 * fixinc/tests/base/sys/signal.h: Regenerate.
9782
9783 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9784
9785 * combine.c (simplify_comparison): Re-enable widening of comparisons
9786 with non-paradoxical subregs of non-REG expressions.
9787
9788 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9789
9790 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
9791
9792 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9793
9794 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
9795
9796 2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9797
9798 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
9799 * c-pretty-print.h (c_pretty_printer): Now typedef to the
9800 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
9801 (struct c_pretty_print_info): Document. Add new fields.
9802 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
9803 (pp_direct_abstract_declarator): New macro.
9804 (pp_ptr_operator): Likewise.
9805 (pp_simple_type_specifier): Likewise.
9806 (pp_expression): Likewise.
9807 (pp_parameter_list): Rename from pp_parameter_declaration.
9808 * c-pretty-print.c (pp_c_whitespace): Now a function.
9809 (pp_c_left_paren): Likewise.
9810 (pp_c_right_paren): Likewise.
9811 (pp_c_dot): Likewise.
9812 (pp_c_ampersand): Likewise.
9813 (pp_c_arrow): Likewise.
9814 (pp_c_semicolon): Likewise.
9815 (pp_c_type_cast): New function.
9816 (pp_c_space_for_pointer_operator): Likewise.
9817 (pp_c_call_argument_list): Likewise.
9818 (pp_c_cv_qualifier): Adjust prototype.
9819 (pp_c_type_qualifier_list): Likewise.
9820 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
9821 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
9822 Adjust to follow standard grammar.
9823 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
9824 REFERENCE_TYPE. Tidy.
9825 (pp_c_parameter_type_list): Adjust prototype. Tidy.
9826 (pp_c_parameter_declaration): Remove.
9827 (pp_c_abstract_declarator): Adjust prototype.
9828 (pp_c_direct_abstract_declarator): Likewise.
9829 (pp_c_type_id): Likewise.
9830 (pp_c_storage_class_specifier): Likewise.
9831 (pp_c_function_specifier): Likewise.
9832 (pp_c_declaration_specifiers): Likewise.
9833 (pp_c_direct_declarator): Likewise.
9834 (pp_c_declarator): Likewise.
9835 (pp_c_declarator): Likewise.
9836 (pp_c_declaration): Likewise.
9837 (pp_c_attributes): Likewise. Tidy.
9838 (pp_c_function_definition): Adjust prototype.
9839 (pp_c_char): Likewise.
9840 (pp_c_string_literal): Likewise.
9841 (pp_c_integer_constant): Likewise.
9842 (pp_c_character_constant): Likewise.
9843 (pp_c_bool_constant): Likewise.
9844 (pp_c_enumeration_constant): Likewise.
9845 (pp_c_floating_constant): Likewise.
9846 (pp_c_constant): Likewise.
9847 (pp_c_identifier): Likewise.
9848 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
9849 (pp_c_initializer): Adjust prototype.
9850 (pp_c_init_declarator): Likewise.
9851 (pp_c_initializer_list): Likewise.
9852 (pp_c_id_expression): Likewise.
9853 (pp_c_postfix_expression): Likewise.
9854 (pp_c_expression_list): Likewise.
9855 (pp_c_unary_expression): Likewise.
9856 (pp_c_cast_expression): Likewise.
9857 (pp_c_multiplicative_expression): Likewise.
9858 (pp_c_additive_expression): Likewise.
9859 (pp_c_shift_expression): Likewise.
9860 (pp_c_relational_expression): Likewise.
9861 (pp_c_equality_expression): Likewise.
9862 (pp_c_and_expression): Likewise.
9863 (pp_c_exclusive_or_expression): Likewise.
9864 (pp_c_inclusive_or_expression): Likewise.
9865 (pp_c_logical_and_expression): Likewise.
9866 (pp_c_logical_or_expression): Likewise.
9867 (pp_c_conditional_expression): Likewise.
9868 (pp_c_assignment_expression): Likewise.
9869 (pp_c_expression): Likewise. Tidy.
9870 (pp_c_statement): Likewise. Document.
9871 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
9872
9873 * c-lang.c (c_initialize_diagnostics): Update.
9874 * c-common.h (strip_pointer_operator): Declare.
9875 * c-common.c (strip_pointer_operator): Define.
9876
9877 2003-08-25 Mark Mitchell <mark@codesourcery.com>
9878
9879 PR c++/8795
9880 * tree.h (build_method_type_directly): Declare.
9881 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
9882 (vector_size_helper): Likewise.
9883 * tree.c (build_method_type_directly): New function.
9884 (build_method_type): Use it.
9885
9886 2003-08-24 Richard Henderson <rth@redhat.com>
9887
9888 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
9889 for 16-byte vector modes if sse not enabled; warn for abi change.
9890 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
9891
9892 2003-08-24 Kazu Hirata <kazu@cs.umass.edu>
9893
9894 * rtlanal.c (may_trap_p): Simplify an integer comparison.
9895
9896 2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
9897
9898 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
9899 comment. Enable for DYNIX/ptx systems (when they switch to
9900 regular fixincludes).
9901 * fixinc/fixincl.x: Regenerate.
9902
9903 2003-08-23 Jason Eckhardt <jle@rice.edu>
9904
9905 * config/i860/t-i860: New.
9906 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
9907
9908 2003-08-23 Jakub Jelinek <jakub@redhat.com>
9909
9910 * c-decl.c (pushdecl): Only put decls which finish_struct will do
9911 something about onto incomplete chain.
9912 (finish_struct): If not removing type from incomplete
9913 list, update prev.
9914
9915 2003-08-20 Jan Hubicka <jh@suse.cz>
9916
9917 PR target/11369
9918 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
9919
9920 PR target/11031
9921 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
9922 const_0_to_15_operand, const_0_to_255_operand): New predicates.
9923 * i386.h (PREDICATE_CODES): Add these.
9924 * i386.c (pinsrw and pextrw patterns): Use them.
9925
9926 PR target/10984
9927 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
9928
9929 PR target/8869
9930 * expr.c (convert_modes): Deal properly with integer to vector
9931 constant conversion.
9932
9933 PR target/8871
9934 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
9935
9936 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
9937
9938 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
9939 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
9940 ("*movhi"): ... this.
9941 ("movqi", "*movqi"): Likewise.
9942 ("movqi_64"): Remove.
9943 ("*zero_extendhisi2_31"): Change predicate to s_operand.
9944
9945 2003-08-23 Dale Johannesen <dalej@apple.com>
9946 * calls.c (emit_library_call_value_1): Fix obvious errors in
9947 arguments to emit_group_store.
9948
9949 2003-08-23 Jason Eckhardt <jle@rice.edu>
9950
9951 * calls.c (emit_library_call_value_1): Remove code related
9952 to LIBGCC_NEEDS_DOUBLE.
9953 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
9954 * doc/tm.texi: Likewise.
9955 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
9956
9957 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
9958
9959 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
9960
9961 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
9962
9963 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
9964 as well. Put memory references in the varargs alias set.
9965 (mips_expand_prologue): Remove varargs handling from here.
9966
9967 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
9968
9969 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
9970 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
9971 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
9972 for function pointer calls.
9973 * config/s390/s390.md ("*negdi2_31"): Likewise.
9974
9975 2003-08-23 Roger Sayle <roger@eyesopen.com>
9976
9977 * combine.c (apply_distributive_law): Correct comment.
9978
9979 2003-08-23 Jason Eckhardt <jle@rice.edu>
9980
9981 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
9982
9983 2003-08-22 Jason Eckhardt <jle@rice.edu>
9984
9985 * config/i860/i860.c (i860_build_va_list): Create the va_decl
9986 declaration. Document the va_list structure.
9987 (i860_va_start): Initialize the va_list structure.
9988 (i860_va_arg): Rewrite completely.
9989 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
9990 * config/i860/varargs.asm: Do not allocate or initialize
9991 a va_list. Return the address of the register save area.
9992
9993 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9994
9995 * config/iq2000/iq2000.c: Fix comment typos.
9996 * config/iq2000/iq2000.md: Likewise.
9997
9998 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9999
10000 * config/iq2000/iq2000.c: Follow spelling conventions.
10001 * config/iq2000/iq2000.h: Likewise.
10002 * config/mn10300/mn10300.c: Likewise.
10003
10004 2003-08-22 Jason Eckhardt <jle@rice.edu>
10005
10006 * config/i860/i860.c (output_move_double): Don't set latehalf
10007 to zero for CONST_INT (since it could be, e.g., -1).
10008
10009 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
10010 (MODSI3_LIBCALL): ...with this one.
10011 (UREMSI3_LIBCALL): Replace this macro...
10012 (UMODSI3_LIBCALL): ...with this one.
10013
10014 2003-08-22 Jason Eckhardt <jle@rice.edu>
10015
10016 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
10017 (output_delayed_branch): Remove prototype.
10018 (single_insn_src_p): Remove prototype.
10019 * config/i860/i860.c (single_insn_src_p): Remove function.
10020 (output_delayed_branch): Remove function.
10021 (output_delay_insn): Remove function.
10022 (va_start): Remove unconditional test and dead code, re-format.
10023 Fix coding style and spelling problems in various comments.
10024 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
10025 (blockage pattern): ...and use it here.
10026 (all define_peephole patterns related to delayed branches): Remove.
10027 Fix coding style and spelling problems in various comments.
10028
10029 2003-08-22 Jason Eckhardt <jle@rice.edu>
10030
10031 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
10032 Remove all uses of the PARAMS macro. Remove superflous prototypes.
10033 Convert all function definitions from traditional to ISO C90 syntax.
10034 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
10035 with 'GCC'. Remove all uses of the PARAMS macro.
10036 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
10037 * config/i860/i860.md: Likewise.
10038 * config/i860/sysv4.h: Likewise.
10039 * config/i860/varargs.asm: Likewise.
10040
10041 2003-08-22 Jason Eckhardt <jle@rice.edu>
10042
10043 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
10044 argument.
10045 (tdesc_section): Add prototype.
10046 Update copyright dates.
10047 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
10048 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
10049 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
10050 (targetm): Likewise.
10051 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
10052 for '%d' where necessary.
10053 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
10054 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
10055 by UNITS_PER_WORD when referencing (likewise for .floats).
10056 (I860_SVR4_VARARGS): Rename...
10057 (I860_SVR4_VA_LIST): ...to this.
10058 Call build() with 't' rather than 'field'.
10059 (i860_rtx_costs): New function.
10060 (TARGET_RTX_COSTS): Define.
10061 (i860_internal_label): New function.
10062 (TARGET_ASM_INTERNAL_LABEL): Define.
10063 (i860_file_start): New function.
10064 Update copyright dates.
10065 * config/i860/i860.h (CPP_PREDEFINES): Remove.
10066 (TARGET_CPU_CPP_BUILTINS): Define.
10067 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
10068 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
10069 (ASM_FILE_START): Remove.
10070 (ASM_FILE_START_1): Remove.
10071 (ASM_GLOBALIZE_LABEL): Remove.
10072 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
10073 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
10074 with targetm.asm_out.internal_label.
10075 Update copyright dates.
10076 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
10077 (CPP_PREDEFINES): Remove.
10078 (TARGET_OS_CPP_BUILTINS): Define.
10079 (GLOBAL_ASM_OP): Define.
10080 (ASM_FILE_START): Remove.
10081 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
10082 (TARGET_ASM_FILE_START): Define.
10083 Update copyright dates.
10084
10085 2003-08-22 Jason Eckhardt <jle@rice.edu>
10086
10087 * gcc/config.gcc (i860-*-sysv4*): Add target.
10088 * config/i860/i860-protos.h: New.
10089 * config/i860/i860.c: New.
10090 * config/i860/i860.h: New.
10091 * config/i860/i860.md: New.
10092 * config/i860/sysv4.h: New.
10093 * config/i860/varargs.asm: New.
10094 * config/i860/x-sysv4: New.
10095
10096 2003-08-22 Jason Eckhardt <jle@rice.edu>
10097
10098 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
10099 Remove all uses of PARAMS macro.
10100 Convert all function definitions to ISO C90 syntax.
10101 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
10102 * config/pa/fptr.c: Likewise.
10103 * config/pa/lib2funcs.asm: Likewise.
10104 * config/pa/long_double.h: Likewise.
10105 * config/pa/milli64.S: Likewise.
10106 * config/pa/pa-64.h: Likewise.
10107 * config/pa/pa-hpux.h: Likewise.
10108 * config/pa/pa-hpux10.h: Likewise.
10109 * config/pa/pa-hpux11.h: Likewise.
10110 * config/pa/pa-linux.h: Likewise.
10111 * config/pa/pa-modes.def: Likewise.
10112 * config/pa/pa-osf.h: Likewise.
10113 * config/pa/pa-pro-end.h: Likewise.
10114 * config/pa/pa.md: Likewise.
10115 * config/pa/pa32-linux.h: Likewise.
10116 * config/pa/pa64-linux.h: Likewise.
10117 * config/pa/pa64-hpux.h: Likewise.
10118 * config/pa/pa64-regs.h: Likewise.
10119 * config/pa/quadlib.c: Likewise.
10120 * config/pa/rtems.h: Likewise.
10121 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
10122 all uses of the PARAMS macro.
10123 * config/pa/pa.h: Likewise.
10124 * config/pa/som.h: Likewise.
10125
10126 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
10127 Remove all uses of PARAMS macro.
10128 Convert all function definitions to ISO C90 syntax.
10129 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
10130 Remove all uses of PARAMS macro.
10131 * config/iq2000.h: Remove all uses of PARAMS macro.
10132 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
10133
10134 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
10135
10136 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
10137 * config/s390/s390.c (gen_consttable): Remove.
10138 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
10139 (s390_output_pool_entry): New function.
10140 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
10141 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
10142 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
10143 (UNSPECV_POOL_ENTRY): ... this new constant.
10144 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
10145 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
10146 ("*pool_entry"): ... and replace by this new insn.
10147 ("literal_pool_31"): Do not emit anchor label if pool empty.
10148
10149 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
10150 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
10151 (s390_fixup_clobbered_return_reg): Remove.
10152 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
10153 (s390_return_addr_rtx): Always retrieve return address from save area
10154 slot. Use save_return_addr_p to force slot to be filled.
10155 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
10156
10157 2003-08-22 Chris Demetriou <cgd@broadcom.com>
10158
10159 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
10160 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
10161 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
10162 around SB-1 errata if TARGET_FIX_SB1 is set.
10163 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
10164 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
10165
10166 2003-08-22 Roger Sayle <roger@eyesopen.com>
10167
10168 * hashtable.c (ht_expand): Avoid calculating rehash for the common
10169 case that the first probe hits an empty hash table slot.
10170
10171 2003-08-22 Mark Mitchell <mark@codesourcery.com>
10172
10173 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
10174
10175 2003-08-22 Mark Mitchell <mark@codesourcery.com>
10176
10177 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
10178 (ptr_extend_plus_imm): ... this.
10179 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
10180 optimization in C++.
10181 (ia64_output_mi_thunk): Support ILP32 mode.
10182
10183 2003-08-22 Bernardo Innocenti <bernie@develer.com>
10184
10185 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
10186 function.
10187 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
10188
10189 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
10190
10191 * config/i386/i386.c (const_int_1_operand): Simplify an
10192 integer comparison.
10193
10194 2003-08-22 Alan Modra <amodra@bigpond.net.au>
10195
10196 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
10197 * config/rs6000/ppc64-fp.c: Likewise.
10198
10199 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
10200
10201 * cfgcleanup.c: Fix comment typos.
10202 * emit-rtl.c: Likewise.
10203 * optabs.c: Likewise.
10204 * ra-build.c: Likewise.
10205 * rtlanal.c: Likewise.
10206 * tree.h: Likewise.
10207
10208 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
10209
10210 * c-decl.c: Fix comment formatting.
10211 * cfgrtl.c: Likewise.
10212 * combine.c: Likewise.
10213 * convert.c: Likewise.
10214 * dominance.c: Likewise.
10215 * dwarf2out.c: Likewise.
10216 * dwarfout.c: Likewise.
10217 * expmed.c: Likewise.
10218 * fold-const.c: Likewise.
10219 * gcov.c: Likewise.
10220 * genattrtab.c: Likewise.
10221 * ggc-common.c: Likewise.
10222 * mips-tfile.c: Likewise.
10223 * regmove.c: Likewise.
10224
10225 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
10226
10227 * builtin-attrs.def: Fix comment formatting.
10228 * c-pretty-print.c: Likewise.
10229 * diagnostic.h: Likewise.
10230 * langhooks.h: Likewise.
10231 * recog.c: Likewise.
10232 * simplify-rtx.c: Likewise.
10233 * tree.def: Likewise.
10234
10235 2003-08-22 Bernardo Innocenti <bernie@develer.com>
10236
10237 * config/m68k/m68k-protos.h: Convert to ISO C90.
10238 * config/m68k/m68k.c: Likewise.
10239
10240 2003-08-21 Bernardo Innocenti <bernie@develer.com>
10241 Paul Dale <pauli@snapgear.com>
10242 Peter Barada <peter@baradas.org>
10243
10244 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
10245 ColdFire cores.
10246
10247 2003-08-21 Zack Weinberg <zack@codesourcery.com>
10248
10249 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
10250 * config.gcc (*-*-openbsd): Don't set tm_file.
10251 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
10252 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
10253 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
10254 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
10255 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
10256 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
10257 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
10258 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
10259 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
10260 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
10261 xscale-*-coff): Use explicit and complete lists of target headers
10262 to include. Move definitions to tm_defines where appropriate.
10263 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
10264 not-yet-contributed configuration.
10265
10266 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
10267 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
10268 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
10269 * config/i386/nto.h, config/iq2000/iq2000.h,
10270 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
10271 * config/m68k/linux.h, config/m68k/m68k-aout.h
10272 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
10273 * config/m68k/netbsd.h, config/m68k/openbsd.h
10274 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
10275 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
10276 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
10277 Remove includes of other target config headers, and
10278 definitions of macros moved to tm_defines lists. Add #undefs
10279 where now necessary to prevent redefinition warnings.
10280
10281 * config/h8300/coff.h: New file split out of...
10282 * config/h8300/elf.h: ...here.
10283 * config/m68k/hp320base.h: New file split out of...
10284 * config/m68k/hp320.h: ...here.
10285 * config/rs6000/lynxbase.h: New file split out of...
10286 * config/rs6000/lynx.h: ...here.
10287
10288 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
10289 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
10290
10291 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
10292 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
10293 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
10294 Remove unnecessary #ifndef.
10295 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
10296 [under IN_LIBGCC2] with config/.
10297
10298 2003-08-21 Per Bothner <pbothner@apple.com>
10299
10300 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
10301 to cpp_push_buffer.
10302 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
10303 by return_at_eof check. Always call _cpp_pop_buffer at end.
10304
10305 2003-08-21 Kazu Hirata <kazu@cs.umass.edu>
10306
10307 PR target/11805
10308 * config/h8300/h8300.md (two anonymous patterns): Remove.
10309
10310 2003-08-21 Richard Sandiford <rsandifo@redhat.com>
10311
10312 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
10313 * config/mips/mips.c (function_arg_pass_by_reference): Never return
10314 true for n32 & n64.
10315
10316 2003-08-21 Josef Zlomek <zlomekj@suse.cz>
10317
10318 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
10319 and similarly in (A | C) == D where C & ~D != 0.
10320
10321 2003-08-20 Geoffrey Keating <geoffk@apple.com>
10322
10323 PR 8180
10324 * configure.in: When testing with_libs and with_headers, treat
10325 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
10326 * configure: Regenerate.
10327
10328 2003-08-20 Peter Barada <peter@baradas.org>
10329
10330 * longlong.h (umul_ppmm): Add ColdFire support.
10331
10332 2003-08-20 Peter Barada <peter@baradas.org>
10333 Bernardo Innocenti <bernie@develer.com>
10334
10335 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
10336 * config/m68k/m68k.h: Likewise.
10337 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
10338 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
10339 * config/m68k/linux.h: Likewise.
10340 * config/m68k/m68k.c: Likewise.
10341 * config/m68k/m68k.md: Likewise.
10342 * config/m68k/m68kelf.h: Likewise.
10343 * config/m68k/netbsd-elf.h: Likewise.
10344 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
10345
10346 2003-08-20 Bernardo Innocenti <bernie@develer.com>
10347
10348 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
10349 * config/m68k/m68k.md: Likewise.
10350
10351 2003-08-20 Mark Mitchell <mark@codesourcery.com>
10352
10353 PR java/11996
10354 Revert this change:
10355 2003-08-19 Mark Mitchell <mark@codesourcery.com>
10356 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10357 types with precisions other than those given by native machine
10358 modes.
10359
10360 2003-08-20 Gunther Nikl <gni@gecko.de>
10361
10362 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
10363 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
10364 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
10365 * config/m68k/m68k.md (anonymous define_insn): Likewise
10366 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
10367 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
10368 code selected by NO_ASM_FMOVECR
10369
10370 2003-08-20 Gunther Nikl <gni@gecko.de>
10371
10372 * config/m68k/m68k.c (output_move_const_into_data_reg,
10373 output_move_himode): unify MOTOROLA/MIT handling of moveq
10374 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
10375 Likewise
10376
10377 2003-08-20 Gunther Nikl <gni@gecko.de>
10378
10379 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
10380 label name
10381 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
10382 HOST_WIDE_INT_PRINT_DEC with %wd
10383
10384 2003-08-20 Loren James Rittle <ljrittle@acm.org>
10385
10386 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
10387 redefine warning.
10388
10389 2003-08-20 Roger Sayle <roger@eyesopen.com>
10390
10391 PR middle-end/11984
10392 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
10393 operands before calling tree_int_cst_lt when performing associative
10394 transformations.
10395
10396 2003-08-20 Jason Merrill <jason@redhat.com>
10397
10398 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
10399 (EXPR_CHECK): Don't check for 'r' or 's' if we're
10400 checking IS_EXPR_CODE_CLASS.
10401 * calls.c (calls_function_1): Likewise.
10402 * fold-const.c (fold): Likewise.
10403 * tree.c (iterative_hash_expr): Likewise.
10404 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
10405
10406 2003-08-20 Gunther Nikl <gni@gecko.de>
10407
10408 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
10409 depending on MOTOROLA_BSR
10410 * config/m68k/m68k.md (anonymous define_insn): Likewise
10411
10412 2003-08-20 Jason Merrill <jason@redhat.com>
10413
10414 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
10415 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
10416 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
10417 * dojump.c (do_jump): Likewise.
10418 * fold-const.c (operand_equal_p, fold): Likewise.
10419 (tree_expr_nonnegative_p): Likewise.
10420
10421 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
10422 TYPE_USER_ALIGN for FIELD_DECLs.
10423
10424 * attribs.c (decl_attributes): Rebuild the function pointer type after
10425 changing the target type.
10426 * tree.c (get_qualified_type): Also check that the attributes match.
10427
10428 2003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
10429
10430 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
10431 * objc/config-lang.in (stagestuff): ... to here.
10432
10433 2003-08-19 Mark Mitchell <mark@codesourcery.com>
10434
10435 PR c++/11946
10436 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
10437 NOP_EXPR) when necessary.
10438 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10439 types with precisions other than those given by native machine
10440 modes.
10441
10442 2003-08-19 Geoffrey Keating <geoffk@apple.com>
10443
10444 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
10445 because some macro is defined.
10446
10447 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
10448 options.
10449 * config/i386/darwin.h (ASM_SPEC): New.
10450 (SUBTARGET_EXTRA_SPECS): New.
10451 * config/rs6000/darwin.h (ASM_SPEC): New.
10452 (SUBTARGET_EXTRA_SPECS): New.
10453 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
10454 a cross-compiler between two different processors on Darwin.
10455 * configure: Regenerate.
10456
10457 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
10458
10459 * builtins.c: Fix comment typos.
10460 * c-common.c: Likewise.
10461 * c-decl.c: Likewise.
10462 * c-pretty-print.c: Likewise.
10463 * cfgbuild.c: Likewise.
10464 * cfglayout.c: Likewise.
10465 * cfgloopanal.c: Likewise.
10466 * cgraphunit.c: Likewise.
10467 * cppfiles.c: Likewise.
10468 * dwarfout.c: Likewise.
10469 * expr.c: Likewise.
10470 * fold-const.c: Likewise.
10471 * gcse.c: Likewise.
10472 * ggc-page.c: Likewise.
10473 * haifa-sched.c: Likewise.
10474 * pretty-print.c: Likewise.
10475 * tree.c: Likewise.
10476 * tree.h: Likewise.
10477 * value-prof.c: Likewise.
10478
10479 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
10480
10481 * c-decl.c: Follow spelling conventions.
10482 * cppfiles.c: Likewise.
10483
10484 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
10485
10486 * c-common.c: Fix comment formatting.
10487 * c-common.h: Likewise.
10488 * c-decl.c: Likewise.
10489 * cppinit.c: Likewise.
10490 * cpplib.h: Likewise.
10491 * emit-rtl.c: Likewise.
10492 * input.h: Likewise.
10493 * line-map.h: Likewise.
10494 * opts.c: Likewise.
10495 * opts.h: Likewise.
10496 * simplify-rtx.c: Likewise.
10497
10498 2003-08-19 Daniel Jacobowitz <drow@mvista.com>
10499
10500 * unwind-c.c: Add libgcc-style exception.
10501 * unwind-dw2.c: Likewise.
10502 * unwind-pe.h: Likewise.
10503 * unwind-sjlj.c: Likewise.
10504 * unwind.inc: Likewise.
10505
10506 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
10507
10508 PR c/5582 PR c++/10538
10509 * langhooks-def.h (lhd_decl_uninit): Declare.
10510 (LANG_HOOKS_DECL_UNINIT): New macro.
10511 (LANG_HOOKS_INITIALIZER): Adjust.
10512 * langhooks.h (struct lang_hooks): Add new field
10513 decl_uninit.
10514 * langhooks.c (lhd_decl_uninit): Define.
10515 * c-common.c (c_decl_uninit_1): New function.
10516 (c_decl_uninit): New function.
10517 (warn_init_self): Define.
10518 * c-common.h (c_decl_uninit): Declare.
10519 (warn_init_self): Declare.
10520 * c.opt: Introduce -Winit-self.
10521 * c-opts.c (c_common_handle_options): Set warn_init_self.
10522 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
10523 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
10524 * function.c (uninitialized_vars_warning): Call the language hook.
10525 * doc/invoke.texi: Document -Winit-self.
10526
10527 2003-08-19 Chris Demetriou <cgd@broadcom.com>
10528
10529 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
10530 to use better predicates and constraints. Define new
10531 instruction to handle "trap_if" with DI-mode arguments.
10532 (conditional_trap): FAIL if trap code is not 0.
10533
10534 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
10535
10536 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
10537 strstr with $pb to a strcompare with "<pic base>"
10538 (ix86_output_addr_diff_elt): Output the real pic base.
10539
10540 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
10541
10542 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
10543 (LANG_HOOKS_INITIALIZER): Correct.
10544 * c-lang.c: Likewise.
10545
10546 2003-08-19 Jan Hubicka <jh@suse.cz>
10547
10548 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
10549 (cgraph_varpool_mark_needed_node): Likewise.
10550 * cgraph.h (notice_global_symbol): Declare
10551 * varasm.c (notice_global_symbol): Break out from ...
10552 (assemble_start_function): ... here; update for variables.
10553 (assemble_variable): Use notice_global_symbol.
10554
10555 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
10556
10557 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
10558 expect SFmode and DFmode arguments to be passed in FPRs,
10559 regardless of the underlying type.
10560
10561 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
10562
10563 PR target/11924
10564 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
10565 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
10566
10567 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
10568
10569 PR c/11207
10570 * c-typeck.c (set_init_index): Check for negative index.
10571
10572 2003-08-18 Bob Wilson <bob.wilson@acm.org>
10573
10574 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
10575 call0 ABI.
10576 * config/xtensa/crtn.asm (_init, _fini): Likewise.
10577 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
10578 __umodsi3, __modsi3): Likewise.
10579 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
10580 $(INCLUDES).
10581
10582 2003-08-18 Aldy Hernandez <aldyh@redhat.com>
10583
10584 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
10585
10586 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
10587
10588 * config/mips/mips.md: Quote C code in braces. Remove use of
10589 fake const0_rtx operands. Remove double backslashes. Use \;.
10590 Remove workarounds for bogus warnings.
10591
10592 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
10593
10594 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
10595 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
10596 rather than TARGET_MIPS4300.
10597 (mulsf3_internal, mulsf3_r4300): Likewise.
10598
10599 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
10600
10601 * config/mips/mips.md: Renumber unspecs. Clean up comments.
10602
10603 2003-08-17 Roger Sayle <roger@eyesopen.com>
10604
10605 * simplify-rtx.c (associative_constant_p): New function to test
10606 whether an RTX expression is an immediate constant.
10607 (simplify_associative_operation): New function to perform some
10608 reassociation optimizations of associative binary expressions.
10609 (simplify_binary_operation): Use simplify_associative_operation
10610 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
10611 Floating point expressions are only reassociated when unsafe
10612 math optimizations are permitted.
10613
10614 2003-08-17 Andreas Jaeger <aj@suse.de>
10615
10616 * config/alpha/alpha.md: Remove usage of PARAMS.
10617
10618 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
10619 * config/i386/i386-interix.h: Likewise.
10620 * config/i386/winnt.c: Likewise.
10621 * config/i386/cygming.h: Likewise.
10622 * config/i386/cygwin2.c: Likewise.
10623 * config/darwin.c: Likewise.
10624 * config/darwin-c.c: Likewise.
10625 * config/darwin-protos.h: Likewise.
10626 * config/darwin.h: Likewise.
10627 * config/s390/s390-protos.h: Likewise.
10628 * config/s390/s390.c: Likewise.
10629 * config/ia64/ia64.c: Likewse
10630 * config/ia64/ia64-protos.h: Likewise.
10631 * config/ia64/ia64-c.c: Likewise.
10632
10633 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10634
10635 * config/sparc/sparc.c: Convert to ISO C.
10636
10637 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
10638 * config/sparc/sparc.c: Likewise.
10639
10640 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
10641
10642 PR c++/11512
10643 * stmt.c (expand_expr_stmt_value): Don't warn about any void
10644 typed expression.
10645
10646 2003-08-16 Jan Hubicka <jh@suse.cz>
10647
10648 * i386.c (ix86_fntype_regparm): Rename from ...
10649 (ix86_function_regparm): ... this one; add fastcall and local
10650 functions.
10651 (ix86_function_ok_for_sibcall): Update.
10652 (ix86_return_pops_args): Likewise.
10653 (init_cumulative_args): Likewise.
10654 (x86_can_output_mi_thunk): Likewise.
10655 (function_arg): Fix formating.
10656 (x86_this_parameter): Fix fastcall.
10657 (x86_output_mi_thunk): Likewise.
10658
10659 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
10660 body as reachable; mark nested functions as needed too.
10661 (dump_cgraph): Do not output global.calls.
10662 * cgraph.h (cgraph_global_info): Kill.
10663 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
10664 (record_call_1): Speedup.
10665 (cgraph_analyze_function): Break out from ...; compute inlining
10666 parameters.
10667 (cgraph_finalize_compilation_unit): ... here.
10668 (cgraph_mark_inline): Kill computation of calls.
10669 (cgraph_decide_inlining): Do not compute most of initial values.
10670
10671 2003-08-14 Roger Sayle <roger@eyesopen.com>
10672
10673 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
10674 to negate if either operand is easy to negate, if we don't care
10675 about sign-dependent rounding.
10676 (negate_expr): Make the logic to negate a REAL_CST explicit.
10677 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
10678 that's easy to negate, if we don't honor sign-dependent rounding.
10679 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
10680 negate, and the symmetric A * -B as -A * B if A is easy to negate.
10681 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
10682 -C/D if B and C are cheap to negate. Add an explicit rule to
10683 optimize X/-1.0 as -X when we don't care about signaling NaNs.
10684
10685 2003-08-14 Zack Weinberg <zack@codesourcery.com>
10686
10687 * Makefile.in (tm_file): Rename tm_include_list.
10688 (tm_p_file): Rename tm_p_include_list.
10689 (build_xm_file): Rename build_xm_include_list.
10690 (host_xm_file): Rename host_xm_include_list.
10691 (xm_file): Rename xm_include_list.
10692 (xm_file_list): Add to be substituted.
10693 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
10694 Update to match.
10695 (bt-load.o): Add missing dependency on $(TM_H).
10696 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
10697 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
10698 build_xm_file, generate both *_file_list and *_include_list
10699 values from it. (xm_file_list was formerly not being generated.)
10700 In *_include_list, prefix the names of all headers found in
10701 $(srcdir)/config with config/. In each loop, consider only
10702 the special case files that can actually appear in that list.
10703 AC_SUBST all *_file_list and all *_include_list variables; do
10704 not AC_SUBST the plain *_file variables.
10705 * configure: Regenerate.
10706
10707 2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10708
10709 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
10710
10711 2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10712
10713 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
10714 direct calls.
10715 (attr_length_call): Include it here. Improve length estimate for
10716 local calls.
10717 (output_call): Use targetm.binds_local_p.
10718
10719 2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10720
10721 * builtins.c (CASE_MATHFN): New helper macro.
10722 (mathfn_built_in): Simplify and sort.
10723
10724 * protoize.c (substr): Delete, callers changed to `strstr'.
10725
10726 2003-08-13 Zack Weinberg <zack@codesourcery.com>
10727
10728 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
10729 * config/iq2000/xm-iq2000.h: Delete file.
10730
10731 2003-08-13 Geoffrey Keating <geoffk@apple.com>
10732
10733 * gengtype.c (walk_type): Process a subobject before processing
10734 the pointer that points to the subobject.
10735
10736 2003-08-13 Per Bothner <pbothner@apple.com>
10737
10738 * regclass.c (init_reg_modes): Make non-static.
10739 Rename to init_reg_modes_once per new naming convention.
10740 (init_regs): Don't call init_reg_modes here.
10741 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
10742 * rtl.h (init_reg_modes_once): New declaration.
10743 * toplev.c (backend_init): Call init_regs after init_emit_once.
10744
10745 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
10746
10747 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
10748 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
10749
10750 2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
10751
10752 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
10753 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
10754
10755 2003-08-13 Dale Johannesen <dalej@apple.com>
10756
10757 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
10758 handling of decrement-and-branch farther than 32 bits.
10759
10760 2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
10761
10762 * configure.in (make_compare_target): Move test to ...
10763 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
10764 * configure: Regenerate.
10765
10766 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
10767
10768 * config/mips/iris6.h: Convert to C90 prototypes.
10769 * config/mips/irix6-libc-compat.c: Likewise.
10770 * config/mips/mips-protos.h: Likewise.
10771 * config/mips/mips.c: Likewise.
10772
10773 2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
10774
10775 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
10776 for selected machines. Comment heavily.
10777 fixinc/fixincl.x: Rebuild.
10778 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
10779
10780 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
10781
10782 * config/mips/mips.h: Tweak various comments.
10783 * config/mips/mips.c: Likewise.
10784
10785 2003-08-11 James E Wilson <wilson@tuliptree.org>
10786
10787 PR optimization/11319
10788 PR target/10021
10789 * alias.c (find_base_value, case REG): Return 0 not src if no base
10790 found.
10791
10792 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10793
10794 * gcse.c (gmalloc): Fix last change.
10795
10796 2003-08-11 Roger Sayle <roger@eyesopen.com>
10797
10798 * simplify-rtx.c (simplify_binary_operation): Replace calls to
10799 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
10800 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
10801 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
10802
10803 2003-08-11 Roger Sayle <roger@eyesopen.com>
10804
10805 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
10806 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
10807 typecode for an ABS_EXPR.
10808
10809 * doc/c-tree.texi: Document ABS_EXPR.
10810
10811 2003-08-11 Roger Sayle <roger@eyesopen.com>
10812
10813 * fold-const.c (fold): Optimize any associative floating point
10814 operator with -funsafe-math-optimizations, not just MULT_EXPR.
10815
10816 2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
10817
10818 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
10819 information in SHmedia case too.
10820 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
10821 Likewise.
10822 (__set_fpscr): Use an access via GOT for PIC case.
10823
10824 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
10825
10826 * configure.in (intermodule): Make switch test more portable.
10827 * configure: Regenerate.
10828
10829 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
10830
10831 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
10832 (restrap): Likewise.
10833
10834 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10835
10836 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
10837 (grealloc): Size argument is a size_t.
10838 (gcalloc): New function. Use throughout in lieu of
10839 gmalloc/memset.
10840
10841 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
10842 xmalloc/memset.
10843 * config/ia64/ia64.c (ia64_reorg): Likewise.
10844 * conflict.c (conflict_graph_new): Likewise.
10845 * fixinc/fixincl.c (run_compiles): Likewise.
10846 * genattrtab.c (optimize_attrs): Likewise.
10847 * genrecog.c (new_decision): Likewise.
10848 * haifa-sched.c (schedule_block): Likewise.
10849 * hashtable.c (ht_create): Likewise.
10850
10851 2003-08-11 Bob Wilson <bob.wilson@acm.org>
10852
10853 * config/xtensa/lib2funcs.S: Fix whitespace.
10854 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
10855 syntax where appropriate. Remove unnecessary backslash escapes.
10856 Reformat comments and fix some code formatting.
10857 (extendqisi2): Rearrange conditional.
10858 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
10859 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
10860 of fatal_insn.
10861
10862 2003-08-11 Richard Sandiford <rsandifo@redhat.com>
10863
10864 * config/mips/mips.c: Various formatting fixes.
10865 (override_options): Resync -mtune handling with gas.
10866 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
10867 * config/mips/mips.h: More formatting fixes.
10868 (mips_abi): Move declaration.
10869 * config/mips/mips.md (exception_receiver): Add mode to
10870 unspec_volatile.
10871
10872 2003-08-11 Aldy Hernandez <aldyh@redhat.com>
10873
10874 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
10875 evsplatfi here.
10876 (bdesc_1arg): Remove evsplati and evsplatfi.
10877
10878 2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
10879
10880 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
10881 into account.
10882
10883 2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10884
10885 * builtins.c (expand_builtin_strcat): Optimize constant strings.
10886
10887 2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
10888
10889 * pretty-print.c (pp_base_indent): Rename from pp_indent.
10890 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
10891 (struct c_pretty_print_info): Add more fields.
10892 (pp_c_left_paren): Move to c-pretty-print.c.
10893 (pp_c_right_paren): Likewise.
10894 (pp_c_left_brace): Likewise.
10895 (pp_c_right_brace): Likewise.
10896 (pp_c_left_bracket): Likewise.
10897 (pp_c_right_bracket): Likewise.
10898 (pp_c_declarator): Declare.
10899 (pp_c_direct_declarator): Likewise.
10900 (pp_c_specifier_qualifier_list): Likewise.
10901 (pp_c_type_id): Likewise.
10902 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
10903 (pp_c_type_qualifier_list): New.
10904 (pp_c_pointer): Likewise.
10905 (pp_c_parameter_type_list): Likewise.
10906 (pp_c_function_definition): Likewise.
10907 (pp_c_id_expression): Likewise.
10908 (pp_c_simple_type_specifier): Tidy.
10909 (pp_c_unary_expression): Likewise.
10910 (pp_c_expression): Likewise.
10911 (pp_c_pretty_printer_init): Likewise.
10912 (pp_c_specifier_qualifier_list): Rework..
10913 (pp_c_abstract_declarator): Likewise.
10914 (pp_c_postfix_expression): Likewise.
10915 (pp_c_primary_expression): Likewise.
10916 (pp_c_cast_expression): Likewise.
10917 (pp_c_direct_abstract_declarator): Likewise.
10918 (pp_c_storage_class_specifier): Likewise.
10919 (pp_c_function_specifier): Likewise.
10920 (pp_c_declaration_specifiers): Likewise.
10921 (pp_c_direct_declarator): Likewise.
10922 (pp_c_declarator): Likewise.
10923 (pp_c_declaration): Likewise.
10924 (pp_c_statement): Likewise.
10925 (pp_c_integer_constant): Rename from pp_c_integer_literal.
10926 (pp_c_character_constant): Rename from pp_c_character_literal.
10927 (pp_c_bool_constant): Rename from pp_c_bool_literal.
10928 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
10929 (pp_c_floating_constant): Rename from pp_c_real_literal.
10930 (pp_c_constant): Rename from pp_c_literal.
10931 * c-lang.c: Include diagnostic.h and c-pretty-print.h
10932 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
10933 (c_initialize_diagnostics): New.
10934 * Makefile.in (c-lang.o): Update dependency.
10935
10936 2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
10937
10938 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
10939
10940 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
10941
10942 * config/mips/mips.c (mips_no_mips16_string): Remove.
10943 (override_options): Don't handle -mips16 as part of -mipsN.
10944 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
10945 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
10946 (TARGET_OPTIONS): Remove -mno-mips16.
10947
10948 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
10949
10950 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
10951 (coprocessor2_operand): Likewise.
10952 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
10953 (lookup_name): Remove declaration.
10954 (abort_with_insn): Remove. Replace all uses with fatal_insn.
10955 (mips16, mips_abicalls): Remove.
10956 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
10957 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
10958 (coprocessor_operand, coprocessor2_operand): Remove.
10959 (override_options): Don't set mips16 or mips_abicalls.
10960 (print_operand): Don't expect SIGN_EXTEND operands.
10961 (mips_secondary_reload_class): Likewise.
10962 (mips_output_conditional_branch): Remove disabled long-branch code.
10963 * config/mips/mips.h (call_used_regs): Remove declaration.
10964 (may_call_alloca): Likewise.
10965 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
10966 (mips_abicalls, mips16): Remove declarations.
10967 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
10968 (CC1_SPEC): Remove outdated comment.
10969 (MIPS_VERSION, MACHINE_TYPE): Remove.
10970 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
10971 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
10972 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
10973 (PUSH_ROUNDING): Likewise.
10974 (ASSEMBLER_SCRATCH_REGNUM): Remove.
10975 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
10976 and mips16 with TARGET_MIPS16.
10977
10978 2003-08-09 Per Bothner <pbothner@apple.com>
10979
10980 * cppinit.c (cpp_read_main_file): Split out source-independent
10981 initialization to separate function ...
10982 (cpp_post_options): New function.
10983 * cppfiles.c (cpp_stack_file): Rename public name to ...
10984 (_cpp_stack_file): New internal function name.
10985 * cpplib.h: Update accordingly.
10986 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
10987 (cpp_read_main_file): Don't initialize line here.
10988 * c-opts.c (c_common_post_options): Call cpp_post_options.
10989 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
10990 * fix-header.c (read_scan_file): Call cpp_post_options.
10991
10992 2003-08-09 Per Bothner <per@bothner.com>
10993
10994 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
10995
10996 2003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10997
10998 * pa.c (pa_asm_output_mi_thunk): Fix typo.
10999
11000 2003-08-09 Neil Booth <neil@daikokuya.co.uk>
11001
11002 PR preprocessor/11839
11003 * cppfiles.c (open_file): Handle ENOTDIR.
11004
11005 2003-08-09 Richard Sandiford <rsandifo@redhat.com>
11006
11007 PR target/11699
11008 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
11009
11010 2003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11011
11012 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
11013 source/destination is not a register operand.
11014
11015 2003-08-08 Richard Henderson <rth@redhat.com>
11016
11017 PR target/11535
11018 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
11019 RETURN_ADDRESS_POINTER_REGNUM.
11020 (ia64_expand_prologue): Don't frob it.
11021 (ia64_output_function_epilogue): Likewise.
11022 (ia64_return_addr_rtx): New.
11023 (ia64_split_return_addr_rtx): New.
11024 * config/ia64/ia64-protos.h: Update.
11025 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
11026 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
11027 (GENERAL_REGNO_P): Don't check it.
11028 (AR_*_REGNUM): Renumber.
11029 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
11030 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
11031 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
11032 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
11033 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
11034 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
11035 (movdi_ret_addr): New.
11036
11037 2003-08-08 Geoffrey Keating <geoffk@apple.com>
11038
11039 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
11040
11041 2003-08-08 Roger Sayle <roger@eyesopen.com>
11042
11043 * tree.h (get_identifier) Define a macro form of get_identifier
11044 that calls get_identifier_with_length when the string is constant.
11045 (get_identifier_with_length): Change type of second argument to
11046 size_t in prototype.
11047 * stringpool.c (get_identifier): Undefine the macro before giving
11048 the function definition.
11049 (get_identifier_with_length): Change type of second argument to
11050 size_t in function definition.
11051 * hashtable.c (calc_hash): Change type of second argument to size_t.
11052 (ht_lookup): Change type of third argument to size_t. Reorganize
11053 to speed-up the cases where the hash table slot is empty, or the
11054 first probe matches (i.e. there isn't a collision).
11055 * hashtable.h (ht_lookup): Adjust function prototype.
11056
11057 2003-08-08 Bernardo Innocenti <bernie@develer.com>
11058
11059 PR target/9697
11060 PR target/11777
11061 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
11062
11063 2003-08-08 Neil Booth <neil@daikokuya.co.uk>
11064
11065 * common.opt: Add debug switches.
11066 * flags.h (use_gnu_debug_info_extensions): Boolify.
11067 * opts.c (write_symbols, debug_info_level,
11068 use_gnu_debug_info_extensions): Move from toplev.c.
11069 (set_debug_level): New.
11070 (common_handle_options): Handle debug switches.
11071 (print_help): Display target options directly.
11072 * toplev.c (debug_hooks): Don't initialize.
11073 (write_symbols, debug_info_level,
11074 use_gnu_debug_info_extensions): Move to opts.c.
11075 (debug_args, display_help, decode_g_option): Remove.
11076 (process_options): Set no debug if level zero here,
11077 and no-debug-hooks. Error here if impossible debug format selected.
11078 * toplev.h (display_help, decode_g_option): Remove.
11079
11080 2003-08-08 Richard Sandiford <rsandifo@redhat.com>
11081
11082 * tree.c (get_file_function_name_long): Fix size of alloca() area.
11083
11084 2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
11085
11086 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
11087 and gcc_cv_prog_cmp_skip.
11088 * configure: Regenerate.
11089
11090 2003-08-08 Stan Cox <scox@redhat.com>
11091
11092 * config/iq2000: New port.
11093 * config.gcc (iq2000-*-elf): Added.
11094 * doc/install.texi (Specific): Add iq2000 description.
11095
11096 2003-08-08 Andreas Schwab <schwab@suse.de>
11097
11098 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
11099 and insert missing empty argument.
11100 * configure: Regenerate.
11101
11102 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11103
11104 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
11105 (attr_length_millicode_call): Likewise.
11106 (attr_length_call): Likewise. Revise some maximum insn lengths.
11107 (attr_length_indirect_call): Likewise.
11108 (output_call): Fix thinko that added extra nop.
11109 * pa.h (IN_NAMED_SECTION_P): Define.
11110
11111 PR c++/11712
11112 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
11113 __STDC_EXT__ when using C++ dialect.
11114
11115 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
11116
11117 * sh.c (calc_live_regs): If the return address pointer is live,
11118 force pr live.
11119 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
11120 for saves / restores.
11121 (sh_expand_epilogue): If sh_media_register_for_return returns a
11122 register number, flag the instructions that restores PR_MEDIA_REG
11123 as possibly dead.
11124 Remove dead update of offset.
11125 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
11126 we can use the result of get_hard_reg_initial_val.
11127 * sh.md (UNSPEC_RA): New constant.
11128 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
11129 (load_ra). Handle UNSPEC_RA.
11130 (sibcall_media): Use PR_MEDIA_REG.
11131
11132 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
11133 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
11134 needs saving on SHmedia.
11135
11136 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
11137
11138 * config/s390/s390.md: Replace all occurrences of \\t with \t.
11139
11140 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
11141
11142 * local-alloc.c (combine_regs): Fix comment typo.
11143
11144 2003-08-06 Zack Weinberg <zack@codesourcery.com>
11145
11146 * c-decl.c (builtin_decls): Replace with first_builtin_decl
11147 and last_builtin_decl.
11148 (c_init_decl_processing): Initialize both.
11149 (c_reset_state): Iterate from first_builtin_decl to
11150 last_builtin_decl inclusive to reintroduce builtins.
11151
11152 2003-08-06 David Mosberger <davidm@hpl.hp.com>
11153
11154 * doc/extend.texi (Function Attributes): Document the IA-64 version
11155 of the "model" attribute.
11156
11157 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
11158 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
11159 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
11160
11161 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
11162 (ia64_encode_section_info): Likewise.
11163 (ia64_attribute_table): Add "model" attribute.
11164 (TARGET_ENCODE_SECTION_INFO): Define.
11165 (small_addr_symbolic_operand): New function.
11166 (got_symbolic_operand): Return 0 for a symbolref to an object
11167 in the small address area.
11168 (enum ia64_addr_area): New type.
11169 (small_ident1): New variable.
11170 (small_ident2): Likewise.
11171 (init_idents): New function.
11172 (ia64_get_addr_area): Likewise.
11173 (ia64_encode_addr_area): Likewise.
11174 (ia64_encode_section_info): Likewise.
11175 (ia64_expand_load_address): For symbolic references to objects in
11176 the small-address-area, load the address via gen_rtx_SET() (which,
11177 eventually, will expand into "addl").
11178
11179 2003-08-06 Per Bothner <pbothner@apple.com>
11180
11181 * line-map.h (fileline): New typedef.
11182 (struct line_map, linemap_add, linemap_lookup): Use it.
11183 * input.h (struct location_s): Comment notes that long-term we want
11184 to replace it by fileline.
11185
11186 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
11187
11188 Fix SHcompact exception handling:
11189 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
11190 by the prologue, return a MEM with return_address_pointer_rtx
11191 as address.
11192 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
11193 (RETURN_ADDR_OFFSET): Don't define.
11194 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
11195 registers that are visible in compact mode. Show that SHmedia
11196 registers still exist in compact mode, even if there are not
11197 readily accessible.
11198 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
11199 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
11200 and DW_EH_PE_pcrel for pic data.
11201 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
11202 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
11203 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
11204 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
11205 * sh.md (movsi_media-1): New splitter.
11206
11207 2003-08-06 Graeme Peterson <gp@qnx.com>
11208
11209 * config/i386/nto.h: New.
11210 * config/i386/t-nto: New.
11211 * config.gcc (i[34567]86-*-nto-qnx*): New.
11212
11213 2003-08-06 Phil Edwards <pme@gcc.gnu.org>
11214
11215 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
11216
11217 2003-08-06 Alan Modra <amodra@bigpond.net.au>
11218
11219 * calls.c (load_register_parameters): Arrange for call_fusage to
11220 report the whole register as used when shifting to the msb.
11221
11222 2003-08-05 Roger Sayle <roger@eyesopen.com>
11223
11224 * builtins.c (expand_builtin): When not optimizing, call the library
11225 function for all builtins that have library functions (except alloca).
11226
11227 2003-08-05 Alexandre Oliva <aoliva@redhat.com>
11228
11229 * c.opt: Introduce -fworking-directory.
11230 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
11231 * c-common.h (flag_working_directory): Declare.
11232 * c-common.c (flag_working_directory): Define.
11233 * c-opts.c (c_common_handle_options): Set it.
11234 (sanitize_cpp_opts): Set...
11235 * cpplib.h (struct cpp_options): ... working_directory option.
11236 (struct cpp_callbacks): Add dir_change.
11237 * cppinit.c (read_original_filename): Call...
11238 (read_original_directory): New. Look for # 1 "directory//"
11239 and process it.
11240 (cpp_read_main_file): Call dir_change callback if working_directory
11241 option is set.
11242 * gcc.c (cpp_unique_options): Pass -g*.
11243 * c-lex.c (cb_dir_change): New.
11244 (init_c_lex): Set dir_change callback.
11245 * toplev.c (src_pwd): New static variable.
11246 (set_src_pwd, get_src_pwd): New functions.
11247 * toplev.h (get_src_pwd, set_src_pwd): Declare.
11248 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
11249 * dwarf2out.c (gen_compile_unit_die): Likewise.
11250 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
11251
11252 2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
11253
11254 * pretty-print.h (pp_set_line_maximum_length): Make macro.
11255 (pp_set_prefix): Likewise.
11256 (pp_destroy_prefix): Likewise.
11257 (pp_remaining_character_count_for_line): Likewise.
11258 (pp_clear_output_area): Likewise.
11259 (pp_formatted_text): Likewise.
11260 (pp_last_position_in_text): Likewise.
11261 (pp_emit_prefix): Likewise.
11262 (pp_append_text): Likewise.
11263 (pp_flush): Likewise.
11264 (pp_format_text): Likewise.
11265 (pp_format_verbatim): Likewise.
11266 (pp_tree_identifier): Tidy.
11267 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
11268 (pp_base_format_verbatim): Rename from pp_format_verbatim.
11269 (pp_base_flush): Rename from pp_flush.
11270 (pp_base_set_line_maximum_length): Rename from
11271 pp_set_line_maximum_length.
11272 (pp_base_clear_output_area): Rename from pp_clear_output_area.
11273 (pp_base_set_prefix): Rename from pp_set_prefix.
11274 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
11275 (pp_base_emit_prefix): Rename from pp_emit_prefix.
11276 (pp_base_append_text): Rename from pp_append_text.
11277 (pp_base_formatted_text): Rename from pp_formatted_text.
11278 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
11279 (pp_base_remaining_character_count_for_line): Rename from
11280 pp_remaining_character_count_for_line.
11281 * diagnostic.h (diagnostic_format_decoder): Tidy.
11282 (diagnostic_flush_buffer): Likewise.
11283 * c-pretty-print.h: (pp_c_string_literal): Declare.
11284 (pp_c_real_literal): Likewise.
11285 (pp_c_integer_literal): Likewise.
11286 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
11287 pp_identifier.
11288 (pp_c_character_literal): Tidy.
11289 (pp_c_string_literal): Make public.
11290 (pp_c_bool_literal): Likewise.
11291 (pp_c_integer_literal): Likewise.
11292 (pp_c_real_literal): Likewise.
11293
11294 * Makefile.in (C_PRETTY_PRINT_H): New variable.
11295 (c-pretty-print.o): Update dependence.
11296
11297 2003-08-05 Chris Demetriou <cgd@broadcom.com>
11298
11299 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
11300 ".set nomacro" state.
11301 (fix_truncsfsi2_macro): Likewise.
11302
11303 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
11304
11305 * tree.h (DID_INLINE_FUNC): Remove macro.
11306 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
11307 add tree check for FUNCTION_DECL.
11308 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
11309 (struct tree_decl): Rename inlined_function_flag to
11310 declared_inline_flag.
11311 * c-common.h (c_lang_decl): Remove.
11312 (DECL_ESTIMATED_INSNS): Remove.
11313 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
11314 (DECL_DECLARED_INLINE_P): Remove.
11315 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
11316 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
11317 (finish_function): Make uninlinable a bool. Fixup call to
11318 tree_inlinable_function_p() and fix some code style issues.
11319 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
11320 * cgraph.c (dump_cgraph): Likewise.
11321 * cgraphunit.c (cgraph_decide_inlining): Likewise
11322 (cgraph_finalize_compilation_unit): Likewise.
11323 Also update call to tree_inlinable_function_p().
11324 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
11325 look at DECL_DECLARED_INLINE and reverse logic.
11326 * print-tree.c (print_node): Likewise.
11327 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
11328 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
11329 prototype.
11330 * tree-inline.c (inlinable_function_p): Split up in this function to
11331 check for basic inlining inhibiting conditions, and new
11332 limits_allow_inlining() function. Warn if inlining is impossible
11333 because the inline candidate calls alloca or uses sjlj exceptions.
11334 (limits_allow_inlining): this new function to check if the inlining
11335 limits are satisfied. Throttle from currfn_max_inline_insns, not from
11336 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
11337 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
11338 Update prototypes.
11339 (tree_inlinable_function_p): Make a bool. Update call to
11340 inlinable_function_p
11341 (expand_call_inline): Use limits_allow_inlining() when not in
11342 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
11343 instead see if the function was declared `inline'.
11344
11345 2003-08-05 Josef Zlomek <zlomekj@suse.cz>
11346
11347 * gcse.c (try_replace_reg): Fix updating of note.
11348
11349 2003-08-04 Roger Sayle <roger@eyesopen.com>
11350
11351 PR middle-end/11771
11352 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
11353 logic in negate_expr, i.e. we don't invert (A-B) for floating
11354 point types unless flag_unsafe_math_optimizations.
11355
11356 2003-08-04 Roger Sayle <roger@eyesopen.com>
11357
11358 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
11359 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
11360 for floating point expressions with -ffast-math.
11361 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
11362 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
11363
11364 2003-08-04 Roger Sayle <roger@eyesopen.com>
11365
11366 * c-common.c (flag_noniso_default_format_attributes): Delete.
11367 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
11368 (c_attrs_initialized): Delete.
11369 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
11370 always call c_init_attributes.
11371 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
11372 set c_attrs_initialized when done.
11373 (c_common_insert_default_attributes): Delete.
11374 * c-common.h (flag_noniso_default_format_attributes): Delete.
11375 (c_coomon_insert_default_attributes): Delete prototype.
11376 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
11377 flag_noniso_default_format_attributes.
11378
11379 * c-decl.c (c_insert_default_attributes): Delete.
11380 * c-tree.h (c_insert_default_attributes): Delete prototype.
11381
11382 * attribs.c (decl_attributes): Don't call insert_default_attributes
11383 langhook. Update function description comment.
11384 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
11385 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
11386 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
11387 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
11388
11389 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
11390 define.
11391
11392 2003-08-04 Richard Sandiford <rsandif@redhat.com>
11393
11394 * config/mips/mips.c (override_options): Disable -G on targets that
11395 have no .section support.
11396 (mips_select_section): Use default_select_section for such targets.
11397
11398 2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
11399
11400 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
11401 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
11402 * fixinc/fixincl.x: Rebuild.
11403 * fixinc/tests/base/regexp.h: New test.
11404
11405 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
11406
11407 * c-ppoutput.c (cb_line_change): Don't skip line changing while
11408 parsing macro arguments in the top-level context.
11409
11410 2003-08-04 Neil Booth <neil@daikokuya.co.uk>
11411
11412 * config.in: Remove HAVE_LSTAT.
11413 * configure, configure.in: Don't test for lstat.
11414
11415 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11416
11417 * opts.c (decode_options): Do language-specific initialization for
11418 the global diagnostic context.
11419 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
11420 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
11421 (LANG_HOOKS_INITIALIZER): Adjust.
11422 * langhooks.h (struct lang_hooks): Add new field
11423 initialize_diagnostics.
11424 * langhooks.c (lhd_initialize_diagnostics): Define.
11425
11426 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11427
11428 * pretty-print.h: Adjust macro definitions.
11429 * pretty-print.c (pp_newline): Rename to pp_base_newline.
11430 (pp_character): Rename to pp_base_character.
11431 (pp_string): Rename to pp_base_string.
11432 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
11433 (pp_newline): Likewise. Adjust.
11434 (pp_c_char): Adjust.
11435
11436 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11437
11438 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
11439 BUILT_IN_LLABS): Move to miscellaneous section.
11440
11441 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
11442
11443 PR preprocessor/11534
11444 * cppexp.c (parse_defined): Warn only if -pedantic.
11445
11446 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
11447
11448 * cppfiles.c (stack_file): Use file path.
11449
11450 2003-08-02 Roger Sayle <roger@eyesopen.com>
11451
11452 * builtin-types.def (BT_SSIZE): New primitive type.
11453 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
11454 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
11455 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
11456 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
11457 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
11458 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
11459 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
11460 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
11461 few functions that define default attributes using it.
11462 * c-common.c (c_common_insert_default_attributes): Do nothing.
11463
11464 * doc/extend.texi: Document these "new" builtins.
11465
11466 2003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
11467
11468 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
11469 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
11470 when -mieee-fp set and -shared not set.
11471 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
11472
11473 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
11474
11475 * cppfiles.c (struct _cpp_file): Rename once_only_next to
11476 next_file. Remove import and pragma_once, add once_only.
11477 (find_file): Add new file structures to the all_files list.
11478 (should_stack_file): Mark #import-ed files once-only, and
11479 don't stack them if the file has already been stacked.
11480 (_cp_mark_file_once_only): Simplify.
11481 * cpphash.h (struct cpp_reader): Rename once_only_files
11482 to all_files. Rename saw_pragma_once to seen_once_only.
11483 (_cpp_mark_file_once_only): Update prototype.
11484 * cpplib.c (do_pragma_once): Update.
11485
11486 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
11487
11488 * cppfiles.c (ENOTDIR): Remove.
11489 (open_file_in_dir): Rename find_file_in_dir. Handle errors
11490 other than ENOENT here.
11491 (once_only_file_p): Rename should_stack_file.
11492 (find_file, open_file_failed, read_file_guts): Report errors
11493 with full path name.
11494 (read_file): Move pch handling to should_stack_file.
11495 (should_stack_file): Handle PCH and once-only issues, and
11496 reading the file.
11497 (stack_file): Don't do file reads.
11498
11499 2003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11500
11501 * libgcov.c (gcov_exit): Cleanup and fix.
11502 * profile.c (compute_value_histograms): Don't try to read profiles
11503 that are not present.
11504
11505 2003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11506
11507 * builtins.def: Categorize.
11508
11509 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
11510 Mind fp rounding.
11511 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
11512
11513 2003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
11514
11515 * config.gcc: Enable posix threads by default on darwin.
11516
11517 2003-08-01 Jakub Jelinek <jakub@redhat.com>
11518
11519 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
11520 even if nehedges1 is 0.
11521
11522 2003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
11523
11524 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
11525 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
11526 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
11527 and defintions.
11528
11529 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
11530 * fixinc/fixincl.x: Regenerate.
11531 * fixinc/tests/base/math.h: Regenerate to match test_text change.
11532
11533 2003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11534
11535 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
11536
11537 2003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11538
11539 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
11540 for accesses to exc_ptr.
11541
11542 2003-08-01 Geoffrey Keating <geoffk@apple.com>
11543
11544 * doc/sourcebuild.texi (Front End Directory): Don't make references
11545 to libsubdir, it's not part of the interface to frontends.
11546 * doc/install.texi (Configuration): Help users read faster by saying
11547 that GCC's configure options are the standard autoconf ones.
11548 Mention --libdir. Update the default rules for finding the
11549 assembler. Don't use libsubdir since we haven't said what it means.
11550 (Specific): In the Solaris 7 notes, update the place to put the
11551 assembler.
11552 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
11553 * doc/cpp.texi (Search Path): Actually, the search path
11554 depends on libdir, which can relocate with cpp.
11555 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
11556 now a private interface between the Makefile and the driver.
11557
11558 2003-08-01 Richard Henderson <rth@redhat.com>
11559
11560 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
11561
11562 * varasm.c (lookup_constant_def): New function.
11563 * rtl.h (lookup_constant_def): Declare it.
11564 * dwarf2out.c (loc_descriptor_from_tree): Use it.
11565 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
11566
11567 2003-08-01 Zack Weinberg <zack@codesourcery.com>
11568
11569 * c-decl.c (gettags, pushdecl_function_level): Delete.
11570 (last_function_parm_vars): Rename last_function_parm_others.
11571 (current_function_parm_vars): Rename current_function_parm_others.
11572 (struct c_scope): Rewrite comment explaining this data structure.
11573 Add names_last, blocks_last, parms_last fields. Rename
11574 incomplete_list to incomplete.
11575 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
11576 (poplevel): Ignore second argument. No need to nreverse
11577 anything. Restructure such that each list is processed
11578 exactly once. Use 'const location_t *locus' syntactic sugar
11579 variable where useful. Issue unused variable warnings
11580 ourselves, do not rely on function.c.
11581 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
11582 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
11583 (implicitly_declare): decl cannot be error_mark_node.
11584 (undeclared_variable): Manipulate scope structure directly.
11585 (c_make_fname_decl): Likewise.
11586 (getdecls, c_init_decl_processing): Fix comment.
11587 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
11588 for 'last' variable.
11589 (grokparms): No need to nreverse parms list.
11590 (store_parm_decls_newstyle): Set up the parms_last and
11591 names_last fields of the new scope too.
11592 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
11593 on parms to begin with; check this under ENABLE_CHECKING. Set
11594 up parms_last.
11595 (check_for_loop_decls): Refer directly to current_scope->tags.
11596 Use consistent quote style in diagnostics.
11597 (c_write_global_declarations): The names list is not backward.
11598
11599 * c-common.h: Don't prototype gettags.
11600 * c-parse.in: Call poplevel with second argument 0 always.
11601
11602 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11603
11604 * builtins.def: Resort builtins.
11605
11606 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11607
11608 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
11609 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
11610 Prepend "__builtin_" onto NAME with string concatenation. Remove
11611 explicit "__builtin_" from each macro call.
11612
11613 Reformat entire file.
11614
11615 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11616
11617 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
11618 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
11619
11620 2003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
11621
11622 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
11623 CCL1, or CCL2 modes with floating point operations.
11624
11625 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
11626 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
11627 "*subdf3_cconly"): New insns.
11628 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
11629
11630 2003-08-01 Neil Booth <neil@daikokuya.co.uk>
11631
11632 * Makefile.in: Refine dependencies.
11633 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
11634 * c.opt: Update help for -Wimport.
11635 * cppfiles.c: Include hashtab.h. Update comments.
11636 (stack_file): Read the file before updating dependencies.
11637 (once_only_file_p): Be smarter about marking once-only files.
11638 (_cpp_mark_file_once_only): Correct the check for existence on
11639 the list.
11640 (open_file_failed): Use name not path, which is NULL.
11641 * cpphash.h: Don't include hashtab.h.
11642 (struct _cpp_file): Remove.
11643 (struct cpp_reader): Update.
11644 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
11645 * cpplib.h (struct cpp_options): Remove warn_import.
11646 (cpp_simplify_path): Remove.
11647
11648 2003-08-01 Nathan Sidwell <nathan@codesourcery.com>
11649
11650 PR c++/11295
11651 * doc/extend.texi (Statement Expressions): Document C++ semantics.
11652
11653 2003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
11654
11655 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
11656
11657 2003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11658
11659 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
11660 throughout.
11661 * builtins.def: Likewise.
11662
11663 2003-07-31 Jason Merrill <jason@redhat.com>
11664
11665 * Makefile.in (bubblestrap): Don't require a previous full
11666 bootstrap.
11667
11668 * expr.c (mostly_zeros_p): No longer static.
11669 * tree.h: Declare it.
11670 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
11671 unless we need to do substitutions.
11672
11673 2003-07-31 Roger Sayle <roger@eyesopen.com>
11674
11675 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
11676 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
11677 as pow(x,2.0) when the latter will be expanded back into x*x.
11678 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
11679 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
11680 pow can never set errno when used with an integer exponent.
11681 Always use expand_powi when exponent is -1, 0, 1 or 2.
11682 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
11683 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
11684 the pow forms of these expressions.
11685
11686 2003-07-31 Geoffrey Keating <geoffk@apple.com>
11687
11688 * Makefile.in (libexecdir): New.
11689 (libsubdir): Use gcc instead of gcc-lib.
11690 (libexecsubdir): New.
11691 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
11692 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
11693 gcc-lib.
11694 (installdirs): Make libexecsubdir.
11695 (install-common): Put executables in libexecsubdir.
11696 (itoolsdir): Use libexecsubdir.
11697 (itoolsdatadir): New.
11698 (install-mkheaders): Separate data files and executables.
11699 (install-collect2): Put executables in libexecsubdir.
11700 (uninstall): Remove libexecsubdir.
11701 * mkheaders.in: Update for new arrangement of files.
11702 (libexecdir): New.
11703 (libexecsubdir): New.
11704 (itoolsdir): Use libexecsubdir.
11705 (itoolsdatadir): New.
11706 * gcc.c (gcc_libexec_prefix): New.
11707 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
11708 (standard_exec_prefix_1): Use libexec.
11709 (standard_exec_prefix_2): New.
11710 (standard_libexec_prefix): New.
11711 (process_command): Update for new arrangement of files. Compute
11712 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
11713
11714 2003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
11715
11716 * inclhack.def (stdio_va_list): Avoid bogus replacement which
11717 triggers on Interix.
11718 * fixincl.x: Regenerate.
11719
11720 2003-07-31 Jakub Jelinek <jakub@redhat.com>
11721
11722 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
11723 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
11724
11725 2003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11726
11727 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
11728
11729 2003-07-31 Per Bothner <pbothner@apple.com>
11730
11731 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
11732 (add_input_filename): New function.
11733 (handle_options): Call add_input_filename directly instead of
11734 with a lang hook.
11735 * opts.h (in_fnames, num_in_fnames): Moved here.
11736 (add_input_filename): Declare.
11737 * c-decl.c: Need to #include opts.h.
11738 * Makefile.in (c-decl.o): Also depends on opts.h.
11739 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
11740 (c_common_handle_filename): Replaced by add_input_filename.
11741 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
11742 Remove.
11743 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
11744 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
11745 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
11746 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
11747
11748 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11749
11750 * combine.c (try_combine): Set JUMP_LABEL for newly created
11751 unconditional jump.
11752
11753 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11754
11755 * fold-const.c (fold): Fold some comparisons of bit operations.
11756
11757 2003-07-31 Jan Hubicka <jh@suse.cz>
11758
11759 * cgraph.c (create_edge): Fix typo.
11760 * i386.c (pic_symbolic_operand): Reorder tests.
11761
11762 2003-07-31 Nathan Sidwell <nathan@codesourcery.com>
11763
11764 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
11765 more fully.
11766 (Gcov Data Files): Update.
11767
11768 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11769
11770 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
11771 default.
11772
11773 * gthr-posix.c: New file.
11774 * gthr-posix.h: Define _REENTRANT if missing.
11775 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
11776
11777 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
11778 by gthr-posix.o.
11779 * config/alpha/t-osf-pthread: New file.
11780
11781 * fixinc/inclhack.def (alpha_pthread): New fix.
11782 * fixinc/fixincl.x: Regenerate.
11783 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
11784
11785 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
11786 warning.
11787 Fixes PR bootstrap/9330.
11788
11789 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11790
11791 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
11792 without GNU ld.
11793 Update comment.
11794 * configure: Regenerate.
11795
11796 2003-07-31 Vladimir Makarov <vmakarov@redhat.com>
11797
11798 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
11799 setter.
11800
11801 2003-07-30 Roger Sayle <roger@eyesopen.com>
11802
11803 * builtins.def: Alphabetize.
11804
11805 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
11806
11807 * doc/c-tree.texi: Normalize spellings of "lowercase" and
11808 "uppercase".
11809 * doc/cpp.texi: Likewise.
11810 * doc/md.texi: Likewise.
11811 * doc/rtl.texi: Likewise.
11812 * doc/tm.texi: Likewise.
11813
11814 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
11815
11816 * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
11817 (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
11818 of cc1obj.
11819
11820 2003-07-30 Chris Demetriou <cgd@broadcom.com>
11821
11822 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
11823 macros before defining them.
11824
11825 2003-07-31 Ulrich Weigand <uweigand@de.ibm.com>
11826
11827 * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
11828 UNSPECV_BLOCKAGE): New constants.
11829 ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
11830 "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
11831 splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
11832 "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
11833
11834 (all insns and expanders): Write output control string as brace block
11835 where appropriate. Remove \-escapes for doublequote characters.
11836
11837 2003-07-31 Jan Hubicka <jh@suse.cz>
11838
11839 * gcse.c (insert_store): Fix typo in previous patch.
11840
11841 2003-07-30 Neil Booth <neil@daikokuya.co.uk>
11842
11843 * cppfiles.c (stack_file, open_file_failed): Use path for deps.
11844
11845 2003-07-30 Andi Kleen <ak@muc.de>
11846
11847 * loop.c (check_dbra_loop): Allow LTU in the loop condition.
11848
11849 2003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11850
11851 * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
11852 * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
11853 GCOV_N_VALUE_COUNTERS): New.
11854 * profile.c (compute_value_histograms): New static function.
11855 (branch_prob): Read back the value histograms.
11856 * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
11857 * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
11858 * value-prof.c: Add comment on reading the profile.
11859 * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
11860 * doc/invoke.texi (-fprofile-values): Document behavior with
11861 -fbranch-probabilities.
11862
11863 2003-07-30 David Edelsohn <edelsohn@gnu.org>
11864
11865 * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
11866
11867 2003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
11868
11869 * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
11870 symbolically.
11871
11872 2003-07-30 Jan Hubicka <jh@suse.cz>
11873
11874 * gcse.c (insert_store): Ignore fake edges.
11875
11876 * c-common.c (flag_vtable_gc): Kill.
11877 * c-common.g (flag_vtable_gc): Kill.
11878 * c-opts (c_common_handle_option): Kill.
11879 * c.opt (fvtable-gc): Kill.
11880 * final.c (final_scan_insn): Do not call assemble_vtable_entry.
11881 * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11882 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11883
11884 * invoke.texi (-ftable-gc): Kill documentation.
11885
11886 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
11887 just because function body is missing.
11888
11889 * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
11890
11891 2003-07-30 Ranjit Mathew <rmathew@hotmail.com>
11892
11893 * unwind-sjlj.c: Fix typo in file description.
11894
11895 2003-07-30 Alan Modra <amodra@bigpond.net.au>
11896
11897 * calls.c (load_register_parameters): When shifting reg sized values
11898 to the msb, move the value to a reg first.
11899
11900 2003-07-29 Geoffrey Keating <geoffk@apple.com>
11901
11902 * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
11903 * line-map.h (linemap_add): Update comments.
11904 * line-map.c (linemap_add): Update comments, interpret zero-length
11905 filename as "<stdin>".
11906
11907 2003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
11908
11909 * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
11910
11911 2003-07-29 Zack Weinberg <zack@codesourcery.com>
11912
11913 * c-decl.c (last_function_parm_vars, current_function_parm_vars):
11914 New static variables.
11915 (struct c_scope): Add parms and warned_forward_parm_decls
11916 fields; remove parm_order.
11917 (storedecls, storetags): Delete.
11918 (poplevel): Also clear bindings on the parms chain.
11919 (pushdecl): Handle forward declarations of parameters, and
11920 chain PARM_DECLs on the parms list, not the names list.
11921 (lookup_name_current_level): Check for PARM_DECLs on the parms
11922 list too.
11923 (push_parm_decl): Don't update parm_order.
11924 (clear_parm_order): Rename mark_forward_parm_decls. Issue the
11925 warning, only once per parameter list, and set TREE_ASM_WRITTEN
11926 on the decls here. Then move the forward decls to the names list.
11927 (grokparms): Set last_function_parm_vars.
11928 (get_parm_info): Don't use gettags or getdecls. No need to
11929 extract non-parms from the parms list, or reorganize the parms
11930 list. Feed nonparms back in the TREE_TYPE of the list node
11931 returned. Issue only one error per parameter list for "void"
11932 appearing more than once in said parameter list. Collapse
11933 parmlist_tags_warning into this function to avoid double scan
11934 of tags list.
11935 (start_function): Set current_function_parm_vars.
11936 (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
11937 directly. Get non-parms from current_function_parm_vars; no
11938 need to extract them from the parms chain. Properly bind tags
11939 in the new scope.
11940 (store_parm_decls_oldstyle): No need to extract non-parameters
11941 from the parms chain, nor to store them back afterward. Move
11942 declaration to top of function, restructure code reordering
11943 DECL_ARGUMENTS.
11944 (store_parm_decls): No need to save and restore warn_shadow.
11945 * c-parse.in: Don't call parmlist_tags_warning nor
11946 clear_parm_order. Call mark_forward_parm_decls when forward
11947 parm decls are encountered.
11948 * c-tree.h: Prototype mark_forward_parm_decls; not
11949 clear_parm_order or parmlist_tags_warning.
11950
11951 2003-07-29 Geoffrey Keating <geoffk@apple.com>
11952
11953 * c-common.c (allow_pch): Remove.
11954 * c-common.h (allow_pch): Remove.
11955 (c_common_no_more_pch): Declare.
11956 * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
11957 * c-pch.c: Include hosthooks.h.
11958 (c_common_valid_pch): Don't check allow_pch.
11959 (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
11960 (c_common_no_more_pch): New.
11961 * ggc-common.c: Include hosthooks.h.
11962 (gt_pch_save): Call gt_pch_get_address.
11963 (gt_pch_restore): Call gt_pch_use_address.
11964 * hooks.c (hook_voidp_size_t_null): New.
11965 (hook_bool_voidp_size_t_false): New.
11966 * hooks.h (hook_voidp_size_t_null): New.
11967 (hook_bool_voidp_size_t_false): New.
11968 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
11969 (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
11970 (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
11971 HOST_HOOKS_GT_PCH_USE_ADDRESS.
11972 * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
11973 gt_pch_use_address.
11974 * doc/hostconfig.texi (Host Common): Document
11975 HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
11976 * Makefile.in (c-pch.o): Depend on hosthooks.h.
11977 (ggc-common.o): Likewise.
11978
11979 * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
11980 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
11981 (pch_address_space): New.
11982 (darwin_rs6000_gt_pch_get_address): New.
11983 (darwin_rs6000_gt_pch_use_address): New.
11984
11985 2003-07-29 Neil Booth <neil@daikokuya.co.uk>
11986
11987 PR preprocessor/11569
11988 PR preprocessor/11649
11989 * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
11990 * cppfiles.c: Completely rewritten.
11991 * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
11992 struct cpp_path is now struct cpp_dir.
11993 (remove_duplicates): Don't simplify path names.
11994 * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
11995 cpp_stack_file.
11996 * cpphash.h: Include hashtab.h.
11997 (_cpp_file): Declare.
11998 (struct cpp_buffer): struct include_file is now struct _cpp_file,
11999 and struct cpp_path is now struct cpp_dir. Rename members.
12000 (struct cpp_reader): Similarly. New members once_only_files,
12001 file_hash, file_hash_entries, quote_ignores_source_dir,
12002 no_search_path, saw_pragma_once. Remove all_include_files and
12003 max_include_len. Make some members bool.
12004 (_cpp_mark_only_only): Renamed from _cpp_never_reread.
12005 (_cpp_stack_file): Renamed from _cpp_read_file.
12006 (_cpp_stack_include): Renamed from _cpp_execute_include.
12007 (_cpp_init_files): Renamed from _cpp_init_includes.
12008 (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
12009 * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
12010 (cpp_read_next_file): Rename and move to cppfiles.c.
12011 (cpp_read_main_file): Update.
12012 * cpplib.c (run_directive): Update for renamed members.
12013 (do_include_common, _cpp_pop_buffer): Update.
12014 (do_import): Undeprecate #import.
12015 (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
12016 * cpplib.h: Remove file_name_map_list.
12017 (cpp_options): Remove map_list.
12018 (cpp_dir): Rename from cpp_path. New datatype for name_map.
12019 (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
12020
12021 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
12022
12023 * Makefile.in: Make stamp-objdir safe for parallel builds.
12024
12025 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
12026
12027 * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
12028 (info): Depend on stmp-docobjdir.
12029
12030 2003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12031
12032 * configure: Regenerate.
12033
12034 2003-07-29 Jan Hubicka <jh@suse.cz>
12035
12036 PR C++/11131
12037 * tree-inline.c (expand_call_inline): Always call inlinable_function_p
12038 in !unit-at-a-time mode.
12039
12040 2003-07-28 Geoffrey Keating <geoffk@apple.com>
12041
12042 * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
12043 main function.
12044
12045 2003-07-28 Mark Mitchell <mark@codesourcery.com>
12046
12047 PR c++/11667
12048 * c-common.c (shorten_compare): Take into account differences
12049 between C and C++ representation for enumeration types.
12050 * tree.h (set_min_and_max_values_for_integral_type): Declare.
12051 * stor-layout.c (set_min_and_max_values_for_integral_type): New
12052 function, broken out from ...
12053 (fixup_signed_type): ... here and ...
12054 (fixup_unsigned_type): ... here.
12055
12056 2003-07-28 Zack Weinberg <zack@codesourcery.com>
12057
12058 * c-decl.c: Update commentary, adjust blank lines throughout.
12059 (struct c_scope): Fix indentation. Reorder members so
12060 outer-context pointers come first, booleans last.
12061 (duplicate_decls, define_label): Use a 'locus' variable for
12062 diagnostic locations in a few more places.
12063 (warn_if_shadowing): Un-split a conditional that fits on one line.
12064 (c_init_decl_processing): No need to clear current_scope and
12065 current_function_scope.
12066 (start_decl): Merge if/else if statements with same action.
12067 (push_parm_decl): Rename old_immediate_size_expand to use
12068 save_foo convention; save/restore around entire function.
12069 (grokdeclarator): Remove unnecessary braces.
12070
12071 2003-07-28 Hans-Peter Nilsson <hp@bitrange.com>
12072 Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
12073
12074 * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
12075 when warn_declaration_after_statement. Call pedwarn_c90, not
12076 pedwarn. Correct message: it's "ISO C90", not "ISO C89".
12077 * c-common.c (warn_declaration_after_statement): Define.
12078 * c-common.h (warn_declaration_after_statement): Declare.
12079 * c.opt (Wdeclaration-after-statement): New.
12080 * c-errors.c (pedwarn_c90): New function.
12081 * c-opts.c (c_common_handle_option) <case
12082 OPT_Wdeclaration_after_statement>: New.
12083 * c-tree.h (pedwarn_c90): Declare.
12084 * doc/invoke.texi (Option Summary): Document
12085 -Wdeclaration-after-statement.
12086 (Warning Options): Ditto.
12087
12088 2003-07-28 Jan Hubicka <jh@suse.cz>
12089
12090 * i386.md (memory attribute) Avoid accessing uninitialized memory
12091 for ishift1 type instructions.
12092
12093 2003-07-28 Jakub Jelinek <jakub@redhat.com>
12094
12095 * configure.in (--enable-checking): Add fold category.
12096 (ENABLE_FOLD_CHECKING): Define if requested.
12097 * configure: Rebuilt.
12098 * config.in: Rebuilt.
12099 * doc/install.texi: Document it.
12100 * fold-const.c: Include md5.h.
12101 [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
12102 [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
12103 print_fold_checksum): New functions.
12104
12105 * fold-const.c (fold): Never modify argument passed to fold, instead
12106 change a copy and return it.
12107 * convert.c (convert_to_integer): Likewise.
12108
12109 2003-07-27 Nathanael Nerode <neroden@gcc.gnu.org>
12110
12111 * fixinc/fixinc.svr4: Remove dead code. Remove now-unnecessary
12112 cleanup of junk after #else and #endif directives. Collapse repeated
12113 clauses into for statment.
12114
12115 * fixinc/fixincl.sh: GNU C -> GCC. Add usage comment.
12116
12117 2003-07-27 Zack Weinberg <zack@codesourcery.com>
12118
12119 * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
12120 (keep_next_if_subblocks): Rename next_is_function_body.
12121 (pushlevel): Adjust commentary. Always set ->keep on the
12122 outermost level of a function. Don't set ->keep_if_subblocks.
12123 (poplevel): Adjust commentary. Don't look at ->keep_if_subblocks.
12124 (store_parm_decls): Adjust to match.
12125 (finish_function): Adjust to match.
12126 Call poplevel with all three arguments zero.
12127
12128 * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
12129 New functions split out of store_parm_decls.
12130 Avoid unnecessary work. Use local variables consistently.
12131 (store_parm_decls): Likewise.
12132
12133 (finish_function): No need to set functionbody flag on call to
12134 poplevel.
12135 (struct language_function): Remove scope field.
12136 (c_push_function_context, c_pop_function_context): No need to
12137 save and restore current_scope.
12138
12139 2003-07-27 Nathan Sidwell <nathan@codesourcery.com>
12140
12141 * doc/extend.texi (Deprecated Features): Implicit typename is
12142 gone. Default args on types is going.
12143
12144 2003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
12145
12146 * Makefile.in (ifcvt.o): Depend on target.h
12147 * ifcvt.c (target.h): Include.
12148 (if_convert): Don't call mark_loop_exit_edges if we can't
12149 modify jumps.
12150
12151 2003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12152
12153 * doc/install.texi (Testing): Adjust required versions of DejaGnu.
12154
12155 2003-07-26 Richard Henderson <rth@redhat.com>
12156
12157 PR inline-asm/11676
12158 * cse.c (count_reg_usage): Handle asm_operands properly.
12159
12160 2003-07-26 Roger Sayle <roger@eyesopen.com>
12161
12162 * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
12163 (DEF_EXT_FALLBACK_BUILTIN): Delete.
12164 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
12165 the regular DEF_EXT_LIB_BUILTIN macro.
12166 (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
12167 the regular DEF_LIB_BUILTIN macro.
12168 (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
12169 BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
12170 BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
12171 DEF_EXT_LIB_BUILTIN macro.
12172
12173 * c-decl.c (duplicate_decls): Remove code to handle builtin
12174 functions prototyped without an argument list.
12175
12176 2003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
12177
12178 * config/i386/winnt.c: Revert 2003-07-08 change.
12179 (i386_pe_section_type_flags): Remove error_with_decl here too.
12180
12181 2003-07-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
12182
12183 * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
12184 * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
12185 * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
12186 (v850_handle_data_area_attribute): Likewise.
12187
12188 2003-07-26 Geoffrey Keating <geoffk@apple.com>
12189
12190 * varasm.c (output_constant_def_contents): Use
12191 ASM_DECLARE_CONSTANT_NAME if defined.
12192 * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
12193 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
12194 objects get at least one byte to prevent assembler problems.
12195 (ASM_DECLARE_CONSTANT_NAME): New.
12196
12197 * Makefile.in (libbackend.o): Remove options_.h.
12198 (mostlyclean): Likewise.
12199
12200 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
12201 insert a label at the end of an function under Mach-O.
12202
12203 * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
12204
12205 2003-07-25 Aldy Hernandez <aldyh@redhat.com>
12206
12207 * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
12208 equality.
12209 (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
12210
12211 * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
12212
12213 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12214
12215 * doc/passes.texi (Passes): Mention pretty-printing and
12216 diagnostic files.
12217
12218 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
12219
12220 * doc/extend.texi (Function Attributes): GNU C++ does now allow
12221 unused parameter decls.
12222 (Attribute Syntax): GNU C++ does not allow label attributes to be
12223 after the ':'.
12224
12225 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12226
12227 * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
12228 (objc_declare_class): Likewise.
12229 (error_with_ivar): Likewise.
12230 (start_class): Likewise.
12231 (warn_with_method): Likewise.
12232
12233 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12234
12235 Remove pedwarn_with_decl, warning_with_decl and error_with_decl
12236 from GCC.
12237 * calls.c (try_to_integrate): Don't use xxx_with_decl.
12238 (expand_call): Likewise.
12239 * dwarfout.c (output_reg_number): Likewise.
12240 * expr.c (expand_expr): Likewise.
12241 * function.c (assign_temp): Likewise.
12242 (uninitialized_vars_warning): Likewise.
12243 (setjmp_args_warning): Likewise.
12244 (expand_function_end): Likewise.
12245 * stmt.c (fixup_gotos): Likewise.
12246 (warn_about_unused_variables): Likewise.
12247 (expand_end_bindings): Likewise.
12248 * stor-layout.c (layout_decl): Likewise.
12249 (place_field): Likewise.
12250 * toplev.c (check_global_declarations): Likewise.
12251 (rest_of_handle_inlining): Likewise.
12252 (default_tree_printer): New function.
12253 (general_init): Initialize diagnostic machinery before routing
12254 signals to the ICE machinery. Set default tree printer.
12255 * toplev.h (pedwarn_with_decl): Remove declaration.
12256 (warning_with_decl): Likewise.
12257 (error_with_decl): Likewise.
12258 (pedwarn): Remove attribute for the time being.
12259 * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
12260 * varasm.c (named_section): Likewise.
12261 (make_decl_rtl): Likewise.
12262 (assemble_variable): Likewise.
12263 (merge_weak): Likewise.
12264 (declare_weak): Likewise.
12265
12266 * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
12267 * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
12268 (format_with_decl): Remove.
12269 (diagnostic_for_decl): Likewise.
12270 (pedwarn_with_decl): Likewise.
12271 (warning_with_decl): Likewise.
12272 (error_with_decl): Likewise.
12273 (diagnostic_initialize): Adjust.
12274 (diagnostic_count_diagnostic): Likewise.
12275 (announce_function): Likewise.
12276 (lhd_print_error_function): Likewise.
12277 (diagnostic_report_current_module): Likewise.
12278 (default_diagnostic_starter): Likewise.
12279 (diagnostic_report_diagnostic): Likewise.
12280 (default_diagnostic_finalizer): Likewise.
12281 (verbatim): Likewise.
12282 (error): Likewise.
12283 (warning): Likewise.
12284 * opts.c (common_handle_option): Likewise.
12285 * pretty-print.c: New file.
12286 * c-pretty-print.h (pp_base): Override.
12287 * c-pretty-print.c: Adjust use of macros throughout.
12288 (pp_buffer): New macro.
12289 (pp_newline): Likewise.
12290 * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
12291 * Makefile.in (DIAGNOSTIC_H): New variable.
12292 (c-errors.o): Use it.
12293 (c-objc-common.o): Likewise.
12294 (c-common.o): Likewise.
12295 (c-opts.o): Likewise.
12296 (c-format.o): Likewise.
12297 (diagnostic.o): Likewise.
12298 (opts.o): Likewise.
12299 (toplev.o): Likewise.
12300 (rtl-error.o): Likewise.
12301 (dwarf2out.o): Likewise.
12302 (jump.o): Likewise.
12303 (pretty-print.o): New rule.
12304
12305 2003-07-24 Roger Sayle <roger@eyesopen.com>
12306
12307 * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
12308 front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
12309 (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
12310 from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
12311 (DEF_FRONT_END_LIB_BUILTIN): Delete.
12312 (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
12313 (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
12314
12315 * builtins.c (build_string_literal): New function to construct
12316 a char* pointer to a string literal.
12317 (expand_builtin_fputs): Change 2nd argument from "int ignore" to
12318 "rtx target" to be consistent with other expand_builtin_* functions.
12319 Change 3rd argument from "int unlocked" to "bool unlocked".
12320 (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
12321 c-common.c to avoid front-end dependencies. Optimize printf("")
12322 as a no-op when the result isn't required. Handle embedded NULs
12323 in format string.
12324 (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
12325 from c-common.c to avoid front-end dependencies. Likewise, optimize
12326 fprintf(fp,"") as a no-op when the result isn't required, evaluating
12327 fp for side-effects. Handle embedded NULs in format string.
12328 (expand_builtin_sprintf): Fix typo.
12329 (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
12330 optimizing. Adjust calls of expand_builtin_fputs to match the API
12331 change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
12332 expand_builtin_printf. Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
12333 and BUILT_IN_FPRINTF using expand_builtin_fprintf.
12334
12335 * c-common.c (is_valid_printf_arglist): Delete.
12336 (c_expand_builtin): Delete.
12337 (c_expand_builtin_printf): Moved to builtins.c. Delete.
12338 (c_expand_builtin_fprintf): Moved to builtins.c. Delete.
12339 (c_expand_expr): No longer treat CALL_EXPRs specially.
12340 (CALLED_AS_BUILT_IN): Delete.
12341
12342 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12343
12344 PR optimization/11631
12345 * gcse.c (store_motion): Connect infinite loops to exit.
12346
12347 2003-07-24 Jason Merrill <jason@redhat.com>
12348
12349 * tree.h (boolean_type_node): Move from C/C++/Java frontends.
12350 (boolean_true_node, boolean_false_node): Likewise.
12351 (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
12352 * tree.c (build_common_tree_nodes): Init boolean_type_node.
12353 (build_common_tree_nodes_2): Init boolean_{true,false}_node.
12354 * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
12355 * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
12356 (truthvalue_true_node): Renamed from boolean_true_node.
12357 (truthvalue_false_node): Renamed from boolean_false_node.
12358 * c-decl.c: Just set truthvalue_* to integer_*.
12359 * c-*.[ch]: s/boolean/truthvalue/. s/c_bool/boolean/.
12360
12361 2003-07-24 Roger Sayle <roger@eyesopen.com>
12362
12363 * c-decl.c (match_builtin_function_types): New subroutine of
12364 duplicate_decls to test whether a redeclaration of a builtin
12365 function is suitably close, i.e. the return type and all of
12366 the argument types have the same modes as the builtin expects.
12367 (duplicate_decls): Fuzzy type matching for builtin functions
12368 moved to match_builtin_function_types.
12369
12370 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12371
12372 * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
12373 flag correctly.
12374
12375 2003-07-24 Zack Weinberg <zack@codesourcery.com>
12376
12377 * c-decl.c: Search-and-replace change 'binding level' to
12378 'scope' in commentary.
12379 (struct binding_level): Now struct c_scope.
12380 (current_binding_level): Now current_scope.
12381 (free_binding_level): Now scope_freelist.
12382 (current_function_level): Now current_function_scope.
12383 (global_binding_level): Now global_scope.
12384 (make_binding_level): Now make_scope.
12385 (pop_binding_level): Now pop_scope.
12386
12387 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12388
12389 * configure.in (libgcc_visibility): Add missing whitespace.
12390
12391 2003-07-24 Richard Henderson <rth@redhat.com>
12392
12393 * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
12394 __gcc_personality_v0.
12395
12396 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12397
12398 * Makefile.in: Replace pwd by ${PWD_COMMAND}.
12399
12400 2003-07-24 Nathan Sidwell <nathan@codesourcery.com>
12401
12402 * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
12403 documentation missed from my 2003-07-09 patch.
12404
12405 2003-07-24 Nathanael Nerode <neroden@gcc.gnu.org>
12406
12407 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
12408 it's not provided.
12409 * configure: Rebuild.
12410
12411 2003-07-24 Steven Bosscher <steven@gcc.gnu.org>
12412
12413 PR c/10602
12414 * c-typeck.c (type_lists_compatible_p): Do not compare
12415 arguments if one of them is an error_mark_node
12416
12417 2003-07-24 Alan Modra <amodra@bigpond.net.au>
12418
12419 * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
12420 if current_function_calls_eh_return.
12421
12422 2003-07-23 Mark Mitchell <mark@codesourcery.com>
12423
12424 * doc/c-tree.texi (OFFSET_TYPE): Update description.
12425
12426 2003-07-23 Bob Wilson <bob.wilson@acm.org>
12427
12428 * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
12429 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
12430 __umodsi3, __modsi3): Increase frame size to 32.
12431
12432 2003-07-23 Geoffrey Keating <geoffk@apple.com>
12433
12434 * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
12435 prototype.
12436
12437 2003-07-23 Mark Mitchell <mark@codesourcery.com>
12438
12439 * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
12440
12441 PR optimization/10679
12442 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
12443
12444 2003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12445
12446 PR target/11607 and PR target/11516
12447 * pa.md (extzv, extv, insv): Revert latter half of last patch.
12448
12449 2003-07-22 Mark Mitchell <mark@codesourcery.com>
12450
12451 * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
12452 * varasam.c (output_constant): Likewise.
12453
12454 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
12455
12456 * alias.c: Fix comment formatting.
12457 * c-common.c: Likewise.
12458 * c-decl.c: Likewise.
12459 * c-opts.c: Likewise.
12460 * combine.c: Likewise.
12461 * cpplib.c: Likewise.
12462 * diagnostic.c: Likewise.
12463 * dojump.c: Likewise.
12464 * final.c: Likewise.
12465 * fold-const.c: Likewise.
12466 * gcc.c: Likewise.
12467 * gcse.c: Likewise.
12468 * ggc-page.c: Likewise.
12469 * jump.c: Likewise.
12470 * loop.c: Likewise.
12471 * mips-tfile.c: Likewise.
12472 * recog.c: Likewise.
12473 * regclass.c: Likewise.
12474 * regmove.c: Likewise.
12475 * tree.c: Likewise.
12476 * tree.h: Likewise.
12477
12478 2003-07-22 Per Bothner <pbothner@apple.com>
12479
12480 * line-map.c (add_line_map): Handle invalid LEAVE request.
12481 Fixes PR preprocessor/11361.
12482
12483 2003-07-22 Per Bothner <pbothner@apple.com>
12484
12485 * diagnostic.c.(diagnostic_report_current_module): Update to match
12486 2003-06-05 changes to push_srcloc and pop_srcloc.
12487
12488 2003-07-22 Wolfgang Bangerth <bangerth@dealii.org>
12489
12490 * doc/trouble.texi: Better document two-stage name lookup.
12491
12492 2003-07-22 Eric Christopher <echristo@redhat.com>
12493
12494 * config/s390.c (s390_valid_pointer_mode): New.
12495 (TARGET_VALID_POINTER_MODE): Use.
12496 (s390_emit_prologue): Add tpf profiling hooks.
12497 (s390_emit_epilogue): Ditto.
12498 * config/s390.h (MASK_TPF): New.
12499 (TARGET_TPF): Use.
12500 (POINTERS_EXTEND_UNSIGNED): Define.
12501 * config/s390.md (ptr_extend): New pattern.
12502
12503 2003-07-22 Zack Weinberg <zack@codesourcery.com>
12504
12505 * hashtable.c (approx_sqrt): Make static.
12506 * hashtable.h: Don't prototype approx_sqrt.
12507 * line-map.c (init_line_maps): Rename linemap_init.
12508 (free_line_maps): Rename linemap_free.
12509 (add_line_map): Rename linemap_add.
12510 (lookup_line): Rename linemap_lookup.
12511 (print_containing_files): Rename linemap_print_containing_files.
12512 * linemap.h: Update to match.
12513
12514 * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
12515 linemap routines to use new names.
12516
12517 2003-07-16 Nathan Sidwell <nathan@codesourcery.com>
12518
12519 * c-common.c (handle_packed_attribute): Don't pack a struct via a
12520 typedef. Propagate packedness from a main variant.
12521
12522 2003-07-22 Nathanael Nerode <neroden@gcc.gnu.org>
12523
12524 * Makefile.in (install-common): Add dependency on installdirs.
12525
12526 2003-07-21 Alexandre Oliva <aoliva@redhat.com>
12527
12528 * c-common.c (c_common_type_for_mode): Return integer types for
12529 pointer modes.
12530
12531 2003-07-22 Geoffrey Keating <geoffk@apple.com>
12532
12533 * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
12534 (finish_decl): Call maybe_apply_pragma_weak here.
12535 (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
12536 TREE_PUBLIC and TREE_STATIC are decided.
12537 (start_function): Move call to maybe_apply_pragma_weak. Check that
12538 DECL_ASSEMBLER_NAME isn't set too early.
12539
12540 * cpplex.c (_cpp_process_line_notes): Mention option name in
12541 trigraphs warning.
12542
12543 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
12544
12545 * combine.c (if_then_else_cond): Simplify the comparison of
12546 rtx against -1, 0, and 1.
12547 * loop.c (check_dbra_loop): Likewise.
12548 * optabs.c (emit_conditional_move): Likewise.
12549 (emit_conditional_add): Likewise.
12550 * config/i386/i386.md (*movsi_or): Likewise.
12551 (*movdi_or_rex6): Likewise.
12552
12553 2003-07-22 Jan Hubicka <jh@suse.cz>
12554
12555 * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
12556
12557 2003-07-21 Neil Booth <neil@daikokuya.co.uk>
12558
12559 * cppfiles.c (open_file_pch): Don't put unused entries in the
12560 splay tree. Remove dead code.
12561
12562 2003-07-21 Geoffrey Keating <geoffk@apple.com>
12563
12564 * c-common.h (num_in_fnames): Declare.
12565 (c_static_assembler_name): Move from here...
12566 * c-tree.h (c_static_assembler_name): ... to here.
12567 * c-opts.c: Don't include langhooks-def.h.
12568 (c_static_assembler_name): Move to c-decl.c.
12569 (num_in_fnames): Make externally visible.
12570 * c-decl.c: Include langhooks-def.h.
12571 (c_static_assembler_name): Move from c-opts.c.
12572 * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
12573 (c-opts.o): Remove $(LANGHOOKS_DEF_H).
12574
12575 * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
12576 when it's not needed.
12577
12578 2003-07-21 Jakub Jelinek <jakub@redhat.com>
12579
12580 * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
12581 * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
12582 (rs6000_emit_prologue): Save FPRs inline if set.
12583
12584 2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
12585
12586 * config/ia64/ia64.md (prefetch): Support predicate.
12587
12588 2003-07-21 Josef Zlomek <zlomekj@suse.cz>
12589
12590 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
12591 * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
12592 table.
12593
12594 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
12595
12596 PR optimization/11536
12597 * unroll.c (loop_iterations): Do not replace a register holding
12598 the final value by its equivalent before the loop if it is not
12599 invariant.
12600
12601 2003-07-21 Dave Fluri <dave.fluri@onlink.net>
12602
12603 * doc/extend.texi: Fixes to spelling, grammar, and diction.
12604
12605 2003-07-21 Ben Elliston <bje@wasabisystems.com>
12606
12607 * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
12608 (V850 Options): Spelling fixes.
12609
12610 2003-07-20 Lisa M. Goldstein <opus@gnu.org>
12611
12612 * doc/invoke.texi: Fixes to style, grammar and diction.
12613
12614 2003-07-20 Roger Sayle <roger@eyesopen.com>
12615
12616 * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
12617 * system.h (SMALL_STACK): Poison obsolete target macro.
12618 * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
12619
12620 2003-07-20 Phil Edwards <pme@gcc.gnu.org>
12621
12622 * configure.in: Cache the results of testing for cmp's capabilities.
12623 * configure: Regenerate.
12624
12625 2003-07-20 Mark Mitchell <mark@codesourcery.com>
12626
12627 PR debug/11279
12628 * dwarf2out.c (gen_enumeration_type_die): Remember that
12629 enumerators can be unsigned.
12630
12631 2003-07-19 Zack Weinberg <zack@codesourcery.com>
12632
12633 * c-decl.c (named_labels, shadowed_labels, label_level_chain)
12634 (push_label_level, pop_label_level): Kill.
12635 (struct binding_level): Rename level_chain to outer.
12636 Add outer_function field. Change parm_flag, function_body,
12637 keep, keep_if_subblocks to 1-bit bitfields of type bool.
12638 (current_function_level): New variable.
12639 (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
12640 (keep_next_level, declare_parm_level, warn_if_shadowing):
12641 Update to match.
12642 (struct language_function): Kill named_labels, shadowed_labels fields.
12643 (c_init_decl_processing, start_function, c_push__function_context)
12644 (c_pop_function_context): No need to muck with named_labels nor
12645 shadowed_labels.
12646
12647 (make_binding_level): No need to clear the structure here.
12648 (pop_binding_level): Always operate on current_binding_level.
12649 Update current_function_level if necessary.
12650 (pushlevel): Don't clear named_labels. Update current_function_level
12651 if necessary. Use "true" and "false" where appropriate.
12652 (poplevel): Diagnose labels defined but not used, or vice
12653 versa, and clear out label-meanings leaving scope, while
12654 walking down the decls list, for all binding levels.
12655 Handle LABEL_DECLs appearing in the shadowed list.
12656 pop_binding_level takes no arguments.
12657 (pushdecl_function_level): Use current_function_level.
12658
12659 (make_label, bind_label): New static functions.
12660 (declare_label): New exported function.
12661 (lookup_label, define_label): Rewritten for new data structure.
12662 (shadow_label): Kill.
12663
12664 * c-tree.h: Prototype declare_label; don't prototype
12665 push_label_level, pop_label_level, nor shadow_label.
12666 * c-parse.in: Remove all calls to push_label_level and
12667 pop_label_level. Use declare_label for __label__ decls.
12668
12669 * doc/extend.texi: Clarify that __label__ can be used to
12670 declare labels with local scope in any nested block, not
12671 just statement expressions. Cross-reference nested functions
12672 section from local labels section.
12673
12674 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12675
12676 * sched-rgn.c (find_rgns): Initialize current_edge correctly.
12677
12678 2003-07-19 Phil Edwards <pme@gcc.gnu.org>
12679
12680 * doc/makefile.texi (restrap, profiledbootstrap): Document targets.
12681
12682 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12683
12684 * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
12685 fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
12686
12687 2003-07-19 Ulrich Weigand <uweigand@de.ibm.com>
12688
12689 * config/s390/s390.c (legitimize_pic_address): Access local symbols
12690 relative to the GOT instead of relative to the literal pool base.
12691 (s390_output_symbolic_const): Handle new GOT-relative accesses.
12692 * config/s390/s390.md ("call"): Access local functions and PLT stubs
12693 relative to the GOT instead of relative to the literal pool base.
12694 ("call_value"): Likewise.
12695 ("call_value_tls"): Likewise.
12696
12697 * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
12698 reloading. Support LTREL_BASE / LTREL_OFFSET construct.
12699 (s390_chunkify_finish): Likewise.
12700 (s390_chunkify_cancel): Likewise.
12701 (s390_reorg): Adapt caller.
12702 (find_base_register_in_addr,
12703 find_base_register_ref, replace_base_register_ref): Delete.
12704 (find_ltrel_base, replace_ltrel_base): New functions.
12705 (find_constant_pool_ref): Handle LTREL_BASE unspecs.
12706 (s390_decompose_address): Handle LTREL_BASE unspecs. Optimize
12707 base vs. index register usage.
12708 (struct constant_pool): Remove 'anchor'.
12709 (s390_add_anchor): Delete.
12710 (s390_dump_pool): Remove anchor handling.
12711 * config/s390/s390.md ("reload_anchor"): Remove.
12712
12713 * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
12714 (s390_load_got): New function. Use LTREL_BASE/OFFSET.
12715 (s390_emit_prologue): Use it.
12716 * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
12717 "builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not
12718 hard-code register 14.
12719 * config/s390/s390-protos.h (s390_load_got): Declare.
12720
12721 * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
12722 Support TImode constants.
12723 * config/s390/s390.md ("consttable_ti"): New.
12724 ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
12725
12726 * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
12727 UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
12728 UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
12729 UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
12730 UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
12731 New symbolic constants.
12732 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
12733 "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
12734 "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
12735 "pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use
12736 symbolic UNSPEC values.
12737 * config/s390/s390.c (larl_operand, s390_short_displacement,
12738 bras_sym_operand, s390_cannot_force_const_mem,
12739 s390_delegitimize_address, s390_decompose_address,
12740 legitimize_pic_address, s390_output_symbolic_const,
12741 s390_function_profiler): Use symbolic UNSPEC values.
12742
12743 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12744
12745 * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
12746 c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
12747 c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
12748 collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
12749 cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
12750 cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
12751 dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
12752 fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
12753 gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
12754 genemit.c genextract.c genoutput.c genrecog.c gensupport.c
12755 ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
12756 integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
12757 loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
12758 postreload.c prefix.c print-tree.c protoize.c ra-build.c
12759 ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
12760 regmove.c regrename.c reload.c reload1.c reorg.c resource.c
12761 sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
12762 simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
12763 tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
12764 varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
12765 casts.
12766
12767 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12768
12769 * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
12770 * toplev.h (warning): Remove attribute.
12771
12772 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12773
12774 * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
12775 (pop_label_level): Likewise.
12776 (duplicate_decls): Likewise.
12777 (implicitly_declare): Likewise.
12778 (shadow_label): Likewise.
12779 (start_decl): Likewise.
12780 (finish_decl): Likewise.
12781 (grokdeclarator): Likewise.
12782 (get_parm_info): Likewise.
12783 (detect_field_duplicates): Likewise.
12784 (finish_struct): Likewise.
12785 (start_function): Likewise.
12786 (store_parm_decls): Likewise.
12787 (finish_function): Likewise.
12788 (c_expand_body_1): Likewise.
12789 (check_for_loop_decls): Likewise.
12790 (merge_translation_unit_decls): Likewise.
12791
12792 2003-07-19 Neil Booth <neil@daikokuya.co.uk>
12793
12794 * common.opt: Document --param.
12795 * opts.c (columns, undocumented_msg): New.
12796 (print_help): Get number of columns from environment. Print
12797 --param help. Tweak newline handling.
12798 (print_param_help): New.
12799 (print_filtered_help): Better handling of duplicates. Complain
12800 about undocumented switches.
12801 (print_switch): New.
12802 (wrap_help): Improve wrapping, use COLUMNS.
12803 * opts.sh: Ignore comments in records.
12804 * params.def: Fix typos and remove trailing periods.
12805 * toplev.c (display_help): Don't dump --param help.
12806 * doc/sourcebuild.texi: Update.
12807
12808 2003-07-18 Richard Henderson <rth@redhat.com>
12809
12810 PR target/11556
12811 * optabs.c (prepare_operand): Fail gracefully instead of abort
12812 if the predicate doesn't satisfy.
12813 (gen_cond_trap): Allow prepare_operand to fail.
12814
12815 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12816
12817 * c-common.c: Don't undefine GCC_DIAG_STYLE.
12818 (fname_decl): Don't use xxx_with_decl.
12819 (c_add_case_label): Likewise.
12820 (handle_section_attribute): Likewise.
12821 (handle_alias_attribute): Likewise.
12822 (handle_no_instrument_function_attribute): Likewise.
12823 (handle_no_limit_stack_attribute): Likewise.
12824 * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
12825 * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
12826
12827 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12828
12829 * Makefile.in (ifcvt.o): Add cfgloop.h.
12830 * basic-block.h (EDGE_LOOP_EXIT): New flag.
12831 * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
12832 * ifcvt.c: Include cfgloop.h.
12833 (mark_loop_exit_edges): New static function.
12834 (if_convert): Call it.
12835 (find_if_header): Ignore branches out of loops.
12836
12837 2003-07-18 Kazu Hirata <kazu@cs.umass.edu>
12838
12839 * combine.c (simplify_comparison): Don't share rtx when converting
12840 (ne (and (not X) 1) 0) to (eq (and X 1) 0).
12841
12842 2003-07-18 David Edelsohn <edelsohn@gnu.org>
12843
12844 * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
12845 (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
12846 (MUST_PASS_IN_STACK): Define.
12847 (BLOCK_REG_PADDING): Define.
12848
12849 2003-07-18 Richard Henderson <rth@redhat.com>
12850
12851 * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
12852 to skip the addr_vec.
12853
12854 2003-07-18 Alexandre Oliva <aoliva@redhat.com>
12855
12856 * combine.c (combinable_i3pat): Don't forbid occurrences of
12857 i2dest or i1dest in inner_dest if inner_dest is a mem.
12858
12859 2003-07-18 Jan Hubicka <jh@suse.cz>
12860
12861 * cgraph.c (cgraph_remove_node): Clear the hash table slot.
12862
12863 2003-07-17 Jakub Jelinek <jakub@redhat.com>
12864
12865 PR target/11087
12866 * loop.c (basic_induction_var): Check if convert_modes emitted any
12867 instructions. Remove them and return 0 if so.
12868
12869 2003-07-18 Eric Botcazou <ebotcazou@libertysurf.fr>
12870
12871 PR optimization/11083
12872 * toplev.c (rest_of_handle_addresof): Rename into
12873 rest_of_handle_addressof. Delete unreachable blocks
12874 if dead edges were purged after the addressof pass.
12875
12876 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
12877
12878 * Makefile.in, configure, configure.in: Remove handling of
12879 lang-options.h and options_.h.
12880 * toplev.c (struct lang_opt, documented_lang_options): Remove.
12881 (display_help): Don't use documented_lang_options.
12882
12883 2003-07-17 Zack Weinberg <zack@codesourcery.com>
12884
12885 * c-decl.c (pushdecl_function_level): Make static, return nothing.
12886 (kept_level_p): Fold into poplevel.
12887 (undeclared_variable): Moved here from c-typeck.c. Export.
12888 * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
12889 (undeclared_variable): Prototype here. Don't prototype
12890 kept_level_p nor pushdecl_function_level.
12891 * c-parse.in: Change first argument to poplevel from
12892 "kept_level_p()" to "KEEP_MAYBE".
12893 * c-typeck.c (undeclared_variable): Moved to c-decl.c.
12894
12895 2003-07-17 Roger Sayle <roger@eyesopen.com>
12896
12897 * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
12898 commutative operands instead of modifying the RTL in-place.
12899
12900 2003-07-17 Mark Mitchell <mark@codesourcery.com>
12901
12902 PR optimization/11557
12903 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
12904 unless we know which function is being called.
12905
12906 2003-07-17 Roger Sayle <roger@eyesopen.com>
12907
12908 * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
12909 whether to reorder the operands of a commutative binary operator.
12910
12911 2003-07-17 Roger Sayle <roger@eyesopen.com>
12912
12913 * fold-const.c (const_binop): Avoid performing the FP operation at
12914 compile-time, if either operand is NaN and we honor signaling NaNs,
12915 or if we're dividing by zero and either flag_trapping_math is set
12916 or the desired mode doesn't support infinities.
12917 (fold_initializer): New function to fold an expression ignoring any
12918 potential run-time exceptions or traps.
12919 * tree.h (fold_initializer): Prototype here.
12920 * c-typeck.c (build_binary_op): Move to the end of the file so
12921 that intializer_stack is in scope. If constructing an initializer,
12922 i.e. when initializer_stack is not NULL, use fold_initializer to
12923 fold expressions.
12924 * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
12925 performing FP operations at compile-time, if they would raise an
12926 exception at run-time.
12927
12928 2003-07-17 Geoffrey Keating <geoffk@apple.com>
12929
12930 PR 11498
12931 * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
12932 (langhooks.o): Add $(GGC_H), gt-langhooks.h.
12933 (GTFILES): Add langhooks.c.
12934 (gt-langhooks.h): New.
12935 * c-common.h (c_static_assembler_name): Prototype.
12936 * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12937 * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12938 * c-opts.c: Include langhooks-def.h.
12939 (c_static_assembler_name): New.
12940 * langhooks.c: Include ggc.h. Include gt-langhooks.h.
12941 (var_labelno): New.
12942 (lhd_set_decl_assembler_name): Give static objects with context
12943 unique names.
12944 * varasm.c (var_labelno): Delete.
12945 (make_decl_rtl): Don't change the assembler name once it's set.
12946
12947 * c-opts.c (this_input_filename): New.
12948 (finish_options): Take new parameter, name of file being compiled.
12949 Update callers. Set this_input_filename.
12950 (push_command_line_include): Use this_input_filename not
12951 main_input_filename.
12952
12953 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
12954
12955 * Makefile.in: Depend .pot generation on options.c.
12956 * po/exgettext: Add an extra_files variable containing additional
12957 files to scan.
12958
12959 2003-07-17 Zack Weinberg <zack@codesourcery.com>
12960
12961 * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
12962 c_write_global_declarations.
12963
12964 * c-decl.c: Fix typos in several comments. Remove all
12965 #if 0 blocks; reindent as needed. Remove unused argument
12966 to declare_parm_level; all callers changed.
12967 * c-parse.in: Update calls to declare_parm_level. Avoid
12968 issuing a double warning in some circumstances.
12969 * c-typeck.c: Update calls to declare_parm_level.
12970 * c-tree.h: Update prototype of declare_parm_level.
12971
12972 * c-pragma.c (apply_pragma_weak): Don't complain about a
12973 redundant #pragma weak.
12974
12975 * objc/objc-act.c (forward_declare_categories,
12976 build_selector_reference_decl, build_class_reference_decl,
12977 build_objc_string_decl, synth_forward_declarations,
12978 build_protocol_reference): Set TREE_PUBLIC on synthetic
12979 forward decl to 0, consistent with eventual definition.
12980 Correct comments to match.
12981
12982 * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
12983 in regexp that don't form a range expression.
12984 * fixinc/fixincl.def: Regenerate.
12985
12986 2003-07-17 Richard Henderson <rth@redhat.com>
12987
12988 PR target/10907
12989 * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
12990 even with !TARGET_CONST_GP.
12991 (ia64_function_ok_for_sibcall): Reject non-local functions.
12992
12993 2003-07-17 Steven Bosscher <steven@gcc.gnu.org>
12994
12995 * c-common.c (c_estimate_num_insns_1): Don't handle
12996 METHOD_CALL_EXPR.
12997 * expr.c (safe_from_p): Likewise.
12998 * gengtype.c (adjust_field_tree_exp): Likewise.
12999 * stmt.c (warn_if_unused_value): Likewise
13000 * tree.c (first_rtl_op): Likewise.
13001 * tree.def: Don't define METHOD_CALL_EXPR.
13002 * java/lang.c (java_estimate_num_insns_1): Don't handle
13003 METHOD_CALL_EXPR.
13004
13005 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
13006
13007 PR other/11466
13008 * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
13009 and its restrictions for the SPARC64 port.
13010 Move the entry of "-mimpure-text" before that of "-mv8".
13011
13012 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
13013 Phil Edwards <phil@jaj.com>
13014
13015 * doc/install.texi (*-*-solaris2*): Document the step-by-step
13016 procedure to bootstrap and install.
13017 Document the preference for the legacy Sun tools in /usr/bin
13018 over the POSIX tools in /usr/xpg4/bin for the build process.
13019
13020 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
13021
13022 * c.opt: Document Uncodumented; use it. Document ObjC options.
13023 * opts.c (print_filtered_help): Skip undocumented switches.
13024 * opts.h (CL_UNDOCUMENTED): New.
13025 * opts.sh: Handle Undocumented.
13026 * toplev.c (documented_lang_options): Prevent its becoming empty.
13027 objc:
13028 * lang-options.h: Remove.
13029
13030 2003-07-16 Ulrich Weigand <uweigand@de.ibm.com>
13031
13032 * loop.c (check_ext_dependent_givs): Pass const struct loop *
13033 instead of struct loop_info * as argument. Accept BIVs with
13034 increment +/- 1 provided there is a friendly exit test against
13035 a loop-invariant value.
13036 (strength_reduce): Adapt call to check_ext_dependent_givs.
13037
13038 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
13039 Con Bradley <con.bradley@superh.com>
13040
13041 * sh-protos.h (sh_get_pr_initial_val): Declare.
13042 * sh.c (regno_reg_class): Make its elements type enum reg_class.
13043 (output_stack_adjust): Remove emit_fn argument. Add epilogue_p
13044 and live_regs_mask arguments. Changed all callers.
13045 (save_schedule_s): New structure.
13046 (save_schedule): New typedef.
13047 (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
13048 (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
13049 In interrupts handlers, also save registers that are usually
13050 partially saved, and make sure there is at least one general purpose
13051 register saved if a target register needs saving.
13052 Add casts in comparisons to avoid warnings.
13053 (sh_media_register_for_return): return -1 for interrupt handlers.
13054 (MAX_SAVED_REGS, MAX_TEMPS): New defines.
13055 (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp
13056 registers used are available.
13057 Set RTX_FRAME_RELATED_P where appropriate.
13058 Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
13059 (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
13060 (initial_elimination_offset): Likewise.
13061 * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
13062 (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
13063 (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
13064 (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
13065 (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
13066 and for target registers.
13067 (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
13068 (regno_reg_class): Make its elements type enum reg_class.
13069 (CONSTRAINT_LEN): Don't use isdigit.
13070 (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
13071 (FUNCTION_ARG): Add parentheses to avoid warnings.
13072 (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
13073 (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
13074 (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
13075 (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
13076 * sh.md (xordi3+1): Remove unused variable regno.
13077 (return_media): Check that tr0 is available before using it.
13078
13079 2003-07-16 Neil Booth <neil@daikokuya.co.uk>
13080
13081 * c.opt: Document more options.
13082
13083 2003-07-16 Roger Sayle <roger@eyesopen.com>
13084
13085 * combine.c (subst): Also handle (subreg (const_double ...)) case
13086 if created by a substitution, by using the original inner mode.
13087
13088 2003-07-16 Roger Sayle <roger@eyesopen.com>
13089
13090 * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
13091 to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
13092 (simplify_rtx): Likewise. Simplify (lo_sum (high X) X) as X.
13093
13094 2003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
13095
13096 * doc/install.texi (--without-headers): New.
13097
13098 Partial Fix PR/10129
13099 * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
13100 (machopic_output_function_base_name): New; print the true pic label.
13101 (machopic_classify_ident): Pic Base is always a defined data.
13102 * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
13103 * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
13104
13105 * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
13106 if they are not floating point registers.
13107
13108 PR c/10962
13109 * ggc.h: Add header guards.
13110 * c-decl.c (finish_struct): Sort fields if
13111 number greater than 15 and there are no
13112 anonymous structs/unions.
13113 * c-common.h: Include ggc.h.
13114 (sorted_fields_type): New struct.
13115 (field_decl_cmp): New prototype.
13116 (resort_sorted_fields): New prototype.
13117 (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
13118 * c-tree.h: (lang_type): Use pointer to sorted_fields_type
13119 as s, removing other fields.
13120 * c-typeck.c (lookup_field): Use s in lang_type.
13121 These were mostly moved from cp/class.c:
13122 * c-common.c (field_decl_cmp): New static function.
13123 (field_decl_cmp): New function.
13124 (resort_sorted_fields): New function.
13125
13126 2003-07-16 Geoffrey Keating <geoffk@apple.com>
13127
13128 * config/darwin.c (machopic_select_section): Use decl_readonly_section
13129 to do most of the work.
13130
13131 2003-07-16 Hans-Peter Nilsson <hp@bitrange.com>
13132
13133 * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
13134 * config/mmix/mmix.c: Convert functions to ISO C90.
13135 (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
13136 formatting.
13137 (mmix_get_hard_reg_initial_val): Tweak section head comment.
13138
13139 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
13140
13141 * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
13142
13143 2003-07-16 Jakub Jelinek <jakub@redhat.com>
13144
13145 * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
13146 (uw_update_context_1): Use it.
13147 * config/rs6000/rs6000.c (insn_after_throw): Remove.
13148 (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
13149 in parent frame if _Unwind_* called directly instead of through
13150 .plt.
13151 (rs6000_emit_eh_toc_restore): Remove.
13152 (rs6000_emit_prologue): Update stack pointer before doing any saving
13153 if current_function_calls_eh_return. Generate unwind info for $r2.
13154 (rs6000_emit_epilogue): Restore stack pointer after doing all
13155 restoring if current_function_calls_eh_return. Restore $r2.
13156 * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
13157 * config/rs6000/rs6000.md (eh_return): Remove call to
13158 rs6000_emit_eh_toc_restore.
13159 * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
13160 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
13161
13162 2003-07-15 Jakub Jelinek <jakub@redhat.com>
13163
13164 * expr.c (emit_block_move): Don't move anything if size is const 0.
13165 (clear_storage): Test against const0_rtx instead of comparing INTVAL
13166 against 0.
13167
13168 2003-07-15 David S. Miller <davem@redhat.com>
13169
13170 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
13171 emit nop if the last real insn is CALL_INSN.
13172
13173 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
13174
13175 * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
13176 as "nul".
13177 * config/i386/xm-mingw32.h: Change GNU CC to GCC.
13178
13179 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
13180
13181 * config/i386/winnt.c (associated_type): Artificial methods are not
13182 affected by the import/export status of their class unless they are
13183 COMDAT.
13184 (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
13185
13186 * config/i386/winnt.c: Fix GCC copyright comment.
13187
13188 2003-07-16 Gabriel Dos Reis <gcc@integrable-solutions.net>
13189
13190 PR c++/11531
13191 * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
13192 not recursing on hard error.
13193 (diagnostic_for_decl): Likewise.
13194 * diagnostic.def: Rearrange.
13195
13196 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
13197
13198 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13199 If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
13200
13201 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
13202 Richard Henderson <rth@redhat.com>
13203
13204 * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
13205 to decide if to access a _Unwind_Ptr or a _Unwind_Word.
13206 (_Unwind_SetGR): Likewise.
13207 (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
13208 (Unwind_SpTmp): New typedef.
13209 (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
13210 (uw_update_context): Use _Unwind_GetPtr.
13211 (init_dwarf_reg_size_table): Move above uw_init_context_1.
13212 (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
13213 Use _Unwind_SetSpColumn.
13214 (uw_install_context_1): Don't initialize dwarf_reg_size_table.
13215 Use _Unwind_GetPtr.
13216
13217 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
13218
13219 * c.opt: Document more options.
13220 * toplev.c (documented_lang_options): Remove all local help strings.
13221
13222 2003-07-15 Mark Mitchell <mark@codesourcery.com>
13223
13224 PR debug/11473
13225 * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
13226 base classes.
13227
13228 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
13229
13230 PR target/10795
13231 * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
13232 swap comparison operands if doing so would generate an
13233 unrecognizable insn.
13234
13235 2003-07-15 Eric Botcazou <ebotcazou@libertysurf.fr>
13236
13237 PR optimization/11320
13238 * sched-int.h (struct deps) [reg_conditional_sets]: New field.
13239 (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
13240 * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
13241 current_sched_info->compute_jump_reg_dependencies. Record which
13242 registers are used and which registers are set by the jump.
13243 Clear deps->reg_conditional_sets after a barrier.
13244 Set deps->reg_conditional_sets if the insn is a COND_EXEC.
13245 Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
13246 (init_deps): Initialize reg_conditional_sets.
13247 (free_deps): Clear reg_conditional_sets.
13248 * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
13249 Mark registers live on entry of the fallthrough block and conditionally
13250 set as set by the jump. Mark registers live on entry of non-fallthrough
13251 blocks as used by the jump.
13252 * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
13253 Mark new parameters as unused.
13254
13255 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
13256
13257 * doc/invoke.texi: Resync MIPS -march documentation.
13258
13259 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
13260
13261 * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
13262 (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
13263 (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
13264 * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
13265 (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
13266 (mips_issue_rate): Handle PROCESSOR_R9000.
13267 (mips_use_dfa_pipeline_interface): Likewise.
13268 * config/mips/9000.md: New file.
13269 * config/mips/mips.md: Include it.
13270 (define_attr cpu): Add r9000.
13271 (mulsi3_mult3): Use "mul" for rm9000 code.
13272
13273 2003-07-15 Stan Cox <scox@redhat.com>
13274
13275 * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
13276 (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
13277 (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
13278 * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
13279 (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
13280 (mips_issue_rate): Handle PROCESSOR_R7000.
13281 (mips_use_dfa_pipeline_interface): Likewise.
13282 * config/mips/7000.md: New file.
13283 * config/mips/mips.md: Include it.
13284 (define_attr cpu): Add r7000.
13285 (mulsi3_mult3): Use "mul" for rm7000 code.
13286
13287 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
13288
13289 * config/mips/mips.md (define_attr type): Add condmove. Use it for
13290 the conditional move patterns.
13291 * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
13292 Check for condmove type.
13293 (ir_vr54_arith): Add move type.
13294 * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
13295 * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
13296
13297 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
13298
13299 * c-opts.c (print_help): Remove.
13300 (c_common_handle_option): Don't handle --help.
13301 * c.opt: Document some options.
13302 (--help): Remove.
13303 * opts.c (print_filtered_help): New.
13304 (print_help): Use it.
13305
13306 2003-07-14 Geoffrey Keating <geoffk@apple.com>
13307
13308 * c-common.c (c_common_type_for_mode): Handle V4DFmode.
13309 * tree.c: (build_common_tree_nodes_2): Likewise.
13310 * tree.h (enum tree_index): Add TI_V4DF_TYPE.
13311 (V4DF_type_node): New.
13312
13313 * c-opts.c (push_command_line_include): Don't free deferred_opts,
13314 we'll need it.
13315 (finish_options): Reset init_cursor.
13316
13317 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
13318
13319 * expr.c (expand_assignment): Remove an unused argument
13320 SUGGEST_REG.
13321 * expr.h: Update the prototype.
13322 * function.c: Update the callers.
13323 * stmt.c: Likewise.
13324
13325 2003-07-14 Mark Mitchell <mark@codesourcery.com>
13326
13327 PR debug/11098
13328 * integrate.c (copy_decl_for_inlining): Do not mark copied decls
13329 as DECL_ABSTRACT.
13330
13331 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
13332
13333 * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
13334 with __cplusplus, not "we must use the C++ compiler's type"
13335 * fixinc/inclhack.def (void_null): Note that Interix needs this.
13336 * fixinc/fixincl.x: Regenerate.
13337
13338 2003-07-14 Geoffrey Keating <geoffk@apple.com>
13339
13340 * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
13341 and unseen_objects from the global data before calling
13342 __deregister_frame_info_bases.
13343 (examine_objects): Insert objects into the seen_objects list,
13344 not unseen_objects.
13345 (_Unwind_Find_FDE): Always unlock the global object lists, even if
13346 we couldn't allocate a data structure to put in it.
13347
13348 * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
13349 (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
13350 (SET_TYPE_PROTOCOL_LIST): New.
13351 * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
13352 (get_object_reference): Likewise.
13353
13354 2003-07-14 Jan Hubicka <jh@suse.cz>
13355
13356 * cfglayout.c (locator_file): Break out from ....
13357 (insn_file): ... here.
13358 (locator_line): Break out from ....
13359 (insn_line): ... here.
13360 * rtl.h (locator_file, locator_line): Declare.
13361 (final_start_function): Set proper line/file info.
13362
13363 2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
13364
13365 * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
13366 handled by pp_c_cast_expression.
13367
13368 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
13369
13370 * config/mips/mips.c (mips_expand_prologue): Use a single insn to
13371 allocate 32768 bytes of stack. Use addition rather than subtraction
13372 when a single insn is enough.
13373 * config/mips/mips.md: Remove insns and splitters for subtracting
13374 constants.
13375 (subsi3): Only accept register operands.
13376 (subsi3_internal): Likewise. Use for TARGET_MIPS16 as well.
13377 (subdi3_internal_3, subsi3_internal_2): Likewise.
13378 (casesi): Use expand_binop to subtract the lower bound.
13379
13380 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
13381
13382 * config/mips/mips.c (mips_in_small_data_p): Don't handle
13383 TARGET_MIPS16 specially.
13384
13385 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
13386
13387 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
13388 mips_output_aligned_bss.
13389 * config/mips/linux.h: Likewise.
13390 * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
13391 * config/mips/mips.c (mips_output_aligned_bss): New function.
13392
13393 * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
13394 * config/mips/elf64.h: Likewise.
13395
13396 * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
13397 mips_declare_object_name.
13398 (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
13399 * config/mips/elf64.h: As for elf.h.
13400 * config/mips/iris6.h: Likewise.
13401 * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
13402 * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
13403 do...while (0) block.
13404 * config/mips/mips-protos.h (mips_declare_object_name): Declare.
13405 (mips_finish_declare_object): Declare.
13406 * config/mips/mips.c (mips_declare_object_name): New function.
13407 (mips_finish_declare_object): New function.
13408
13409 * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
13410 * config/mips/linux.h: Likewise.
13411
13412 * config/mips/mips.c (inside_function): Delete.
13413 (file_in_function_warning, ignore_line_number): Delete.
13414 (mips_output_filename): Don't warn about changing filenames within
13415 a function.
13416 (mips_output_lineno): Update accordingly.
13417 (mips_output_function_prologue): Don't reset the deleted variables.
13418 * config/mips/mips.h (inside_function): Delete.
13419 (file_in_function_warning, ignore_line_number): Delete.
13420
13421 * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
13422 * config/mips/elf64.h: Likewise.
13423 * config/mips/openbsd.h: Likewise.
13424 * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
13425 * config/mips/linux.h: Likewise.
13426 * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
13427 (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
13428
13429 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
13430 to the list of include files when using gas.
13431 (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
13432 * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
13433 * config/mips/elf64.h: Likewise.
13434 * config/mips/iris5.h: Likewise.
13435 * config/mips/linux.h: Likewise.
13436 * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
13437 * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
13438 (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
13439 * config/mips/sdb.h: ...this new file.
13440
13441 2003-07-14 Douglas Rupp <rupp@gnat.com>
13442
13443 * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
13444 argument to getcwd; use fixed buffer instead.
13445
13446 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
13447
13448 * fixinc/mkfixinc.sh: Treat OpenBSD normally.
13449 * fixinc/fixinc.wrap: Delete.
13450
13451 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
13452
13453 * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
13454 don't have 2.
13455
13456 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
13457
13458 * ggc-page.c (struct globals): Add new fields to keep track of the
13459 total allocated memory and overhead.
13460 (ggc_print_statistics): Print them.
13461 (ggc_alloc): Keep track of the total allocated memory and the
13462 overhead.
13463
13464 * tree.c (dump_tree_statistics): Increase spacing.
13465 (enum tree_node_kind): Move to ...
13466 * tree.h (enum tree_node_kind): ... here.
13467 (tree_node_counts, tree_node_sizes): Declare.
13468
13469 2003-07-14 James A. Morrison <ja2morri@student.math.uwaterloo.ca>
13470
13471 * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
13472
13473 2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13474
13475 PR optimization/11440
13476 * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
13477 SIGN_EXTRACT SETs.
13478
13479 2003-07-14 Alan Modra <amodra@bigpond.net.au>
13480
13481 * doc/tm.texi (BLOCK_REG_PADDING): Describe.
13482 * expr.h (struct locate_and_pad_arg_data): Add where_pad.
13483 (emit_group_load, emit_group_store): Adjust declarations.
13484 Remove most occurrences of #ifdef TREE_CODE.
13485 * expr.c (emit_group_load): Add "type" param, and use
13486 BLOCK_REG_PADDING to determine need for a shift. Optimize non-
13487 aligned accesses if !SLOW_UNALIGNED_ACCESS.
13488 (emit_group_store): Likewise.
13489 (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
13490 emit_group_load and emit_group_store calls.
13491 * calls.c (store_unaligned_arguments_into_pseudos): Tidy. Use
13492 BLOCK_REG_PADDING to determine whether we need endian_correction.
13493 (load_register_parameters): Localize vars. Handle shifting of
13494 small values to the correct end of regs. Adjust emit_group_load
13495 call.
13496 (expand_call, emit_library_call_value_1): Adjust emit_group_load
13497 and emit_group_store calls.
13498 * function.c (assign_parms): Set mem alignment for stack slots.
13499 Adjust emit_group_store call. Store values at the "wrong" end
13500 of regs to the stack. Use BLOCK_REG_PADDING.
13501 (locate_and_pad_parm): Save where_pad.
13502 (expand_function_end): Adjust emit_group_load call.
13503 * stmt.c (expand_value_return): Adjust emit_group_load call.
13504 * Makefile.in (calls.o): Depend on $(OPTABS_H).
13505 * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
13506 (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
13507 (MUST_PASS_IN_STACK): Define.
13508 (BLOCK_REG_PADDING): Define.
13509 * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
13510 (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
13511 * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
13512 (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
13513 Act on AGGREGATES_PAD_UPWARD_ALWAYS.
13514
13515 2003-07-13 Aaron W. LaFramboise <awlaframboise@aol.com>
13516
13517 * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
13518
13519 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13520
13521 * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
13522 both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
13523
13524 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
13525
13526 PR other/11123
13527 * toplev.c: Don't cut off option names.
13528
13529 2003-07-13 Andreas Jaeger <aj@suse.de>
13530
13531 * c-decl.c (link_hash_hash): Avoid warning about casting pointer
13532 to integer of different size.
13533
13534 2003-07-13 Kazu Hirata <kazu@cs.umass.edu>
13535
13536 * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
13537 to (eq (and X 1) 0).
13538
13539 2003-07-13 Andreas Jaeger <aj@suse.de>
13540
13541 * config.gcc: Add pmmintrin.h for x86_64-*-*.
13542
13543 2003-07-13 Zack Weinberg <zack@codesourcery.com>
13544
13545 * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
13546 (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
13547 list. Move these all together down by cpplib.
13548
13549 * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
13550 definition of CPPCHAR_SIGNED_T.
13551
13552 * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
13553 * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
13554 * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
13555
13556 * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
13557 * cppinit.c (cpp_create_reader): Likewise.
13558
13559 * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
13560 * cpptrad.c: Likewise. All callers changed.
13561 * cpplib.c: All callers changed.
13562 * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
13563 * hashtable.h: Define GTY(x) to nothing here too.
13564
13565 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13566
13567 * stor-layout.c (compute_record_mode): Remove very obsolete test
13568 that forces BLKmode for records with fields crossing word boundary.
13569
13570 2003-07-13 Zack Weinberg <zack@codesourcery.com>
13571
13572 * Makefile.in: Remove orphan reference to acconfig.h.
13573
13574 2003-07-13 Andreas Jaeger <aj@suse.de>
13575
13576 * cgraphunit.c: Convert prototypes to ISO C90.
13577
13578 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
13579
13580 * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
13581 (for OpenBSD).
13582 * fixinc/fixincl.x: Rebuild.
13583
13584 2003-07-12 Zack Weinberg <zack@codesourcery.com>
13585
13586 * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
13587 i?86-*-*. Use correct name of cache variable.
13588 * configure: Regenerate.
13589
13590 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
13591
13592 * config/alpha/alpha.c: Fix comment typos.
13593 * config/alpha/alpha.md: Likewise.
13594 * config/arm/arm.c: Likewise.
13595 * config/arm/arm.md: Likewise.
13596 * config/arm/lib1funcs.asm: Likewise.
13597 * config/avr/avr.md: Likewise.
13598 * config/arm/README-interworking: Fix typos.
13599
13600 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
13601
13602 * c-format.c: Fix comment formatting.
13603 * c-typeck.c: Likewise.
13604 * coverage.c: Likewise.
13605 * cppcharset.c: Likewise.
13606 * cpplib.c: Likewise.
13607 * dbxout.c: Likewise.
13608 * gcov-io.h: Likewise.
13609 * toplev.c: Likewise.
13610
13611 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
13612
13613 * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
13614 fix.
13615
13616 2003-07-12 Zack Weinberg <zack@codesourcery.com>
13617
13618 * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
13619 uses three-argument AC_DEFINE so no acconfig.h entries are
13620 needed.
13621 (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
13622 which contains the GAS version number as a scaled integer.
13623 (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers. Add
13624 ability to check for ELF assembler.
13625 (gcc_GAS_CHECK_FEATURE): New macro.
13626 * configure.in: Use gcc_AC_CHECK_TYPE. Rewrite all
13627 assembler feature checks using gcc_GAS_CHECK_FEATURE.
13628 Use three-argument AC_DEFINE everywhere.
13629 * acconfig.h: Deleted.
13630 * config.in, configure: Regenerate.
13631
13632 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
13633
13634 * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
13635 (on OpenBSD).
13636 * fixinc/fixincl.x: Regenerate.
13637
13638 * fixinc/inclhack.def (gnu_types): Improve comment.
13639
13640 2003-07-12 Andreas Jaeger <aj@suse.de>
13641
13642 * fp-test.c (main): Use ISO C90 prototype.
13643
13644 * version.c: Remove unneded include of ansidecl.h.
13645
13646 * cgraph.h: Convert prototypes to ISO C90.
13647 * cgraph.c: Likewise.
13648 * fix-header.c: Likewise.
13649 * ra.h: Likewise.
13650 * protoize.c: Likewise.
13651
13652 2003-07-12 Jan Hubicka <jh@suse.cz>
13653
13654 * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
13655 warning.
13656
13657 2003-07-12 Jan Hubicka <jh@suse.cz>
13658 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13659
13660 * cgraph.c (cgraph_max_uid): New global variable.
13661 (cgraph_node): Set uid field.
13662 (create_edge): Keep inline flags consistent.
13663 (dump_cgraph): Dump more info.
13664 * cgraph.h (struct cgraph_local_info): Remove inline_many and
13665 can_inline_once; add inlinable, disgread_inline_limits, and self_insn
13666 (struct cgraph_global_info): Add insns, calls, cloned_times,
13667 will_be_output.
13668 (struct cgraph_node): Add uid.
13669 (struct cgraph_edge): Add inline_call.
13670 (cgraph_max_uid, cgraph_inline_p): Declare.
13671 * cgraph.c: Include params.h and fibheap.h
13672 (cgraph_mark_functions_to_inline_once): Kill.
13673 (INSNS_PER_CALL): New constant.
13674 (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
13675 static variables.
13676 (cgraph_finalize_function): Do not analyze inlining.
13677 (cgraph_finalize_compilation_unit): Set inlining attributes.
13678 (cgraph_mark_functions_to_output): More consistency checks.
13679 (cgraph_optimize_function): Set current_function_decl to NULL.
13680 (cgraph_expand_function): Use new inline flags.
13681 (cgraph_postorder): Expand from cgraph_expand_functions.
13682 (INLINED_TIMES, SET_INLINED_TIMES): New macros.
13683 (cgraph_inlined_into, cgraph_inlined_callees,
13684 cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
13685 cgraph_mark_inline, cgraph_check_inline_limits,
13686 cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
13687 cgraph_decide_inlining, cgraph_inline_p): New functions.
13688 * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
13689 PARAM_INLINE_UNIT_GROWTH): New parameters.
13690 * tree-inline.c (struct inline_data): New field current_decl.
13691 (expand_call_inline): Avoid forward declarations; use
13692 inlinable_function_p.
13693 (optimize_inline_calls): Set id.current_decl.
13694
13695 2003-07-11 Andrew Pinski <pinskia@physics.uc.edu>
13696
13697 * configure.in: Remove wrongly added definition of
13698 local_prefix.
13699 * configure: Regenerate.
13700
13701 2003-07-11 Dan Nicolaescu <dann@ics.uci.edu>
13702
13703 * rtl.def (NOTE): Do not use padding.
13704
13705 2003-07-11 Dara Hazeghi <dhazeghi@yahoo.com>
13706
13707 * doc/install.tex: Update required binutils for i?86-*-linux*
13708
13709 2003-07-11 Richard Henderson <rth@redhat.com>
13710
13711 * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
13712
13713 2003-07-11 Mark Mitchell <mark@codesourcery.com>
13714
13715 * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
13716 TRANSLATION_UNIT_DECL as top_level.
13717
13718 2003-07-11 Jakub Jelinek <jakub@redhat.com>
13719
13720 * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
13721 then fall back to cmpstrM.
13722 * builtins.c (expand_builtin_memcmp): Likewise.
13723 * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
13724 (s390_expand_cmpmem): ... this.
13725 * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
13726 cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
13727 from cmpstr* patterns. Rename call to s390_expand_cmpstr
13728 to s390_expand_cmpmem.
13729 * config/s390/s390.c (s390_expand_cmpstr): Rename to...
13730 (s390_expand_cmpstr): ... this. Rename cmpstr* instructions
13731 to cmpmem*.
13732 * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
13733 cmpstr* patterns.
13734 * doc/md.texi (cmpstrM): Describe as String compare insn, not
13735 Block compare insn.
13736 (cmpmemM): Add.
13737
13738 2003-07-11 Loren James Rittle <ljrittle@acm.org>
13739
13740 * config/i386/freebsd.h (SET_ASM_OP): Remove.
13741 (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
13742 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
13743 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
13744
13745 2003-07-11 Richard Henderson <rth@redhat.com>
13746
13747 * function.c (assign_parms): Don't recombine complex args if
13748 fnargs is unchanged from orig_fnargs.
13749 (split_complex_args): Return args without complex before copying.
13750 Re-layout the modified parameters.
13751
13752 2003-07-11 J"orn Rennecke <joern.rennecke@superh.com>
13753
13754 * regclass.c (choose_hard_reg_mode): Add third argument.
13755 Changed all callers.
13756 * rtl.h (choose_hard_reg_mode): Update declaration.
13757 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13758 Take HARD_REGNO_CALL_PART_CLOBBERED into account.
13759
13760 2003-07-11 Geoffrey Keating <geoffk@apple.com>
13761
13762 * c-decl.c (finish_decl): Handle 'used' here...
13763 * cgraphunit.c (cgraph_finalize_function): ... and here ...
13764 * c-common.c: (handle_used_attribute): ... not here.
13765
13766 * configure.in (onstep): Support --enable-intermodule.
13767 * Makefile.in (OBJS-common): New.
13768 (OBJS-md): New.
13769 (OBJS-archive): New.
13770 (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
13771 (OBJS-onestep): New.
13772 (libbackend.a): Support @onestep@.
13773 (libbackend.o): New.
13774 * configure: Regenerate.
13775
13776 * c-common.h (c_reset_state): New prototype.
13777 (c_parse_file): New prototype.
13778 (finish_file): Move prototype from c-tree.h.
13779 * c-decl.c: Include <hashtab.h>.
13780 (builtin_decls): New.
13781 (current_file_decl): New.
13782 (duplicate_decls): Add extra parameter. Change all callers. Don't
13783 output duplicate common symbols.
13784 (link_hash_hash): New.
13785 (link_hash_eq): New.
13786 (poplevel): Handle popping of the top level.
13787 (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
13788 (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
13789 (pushdecl_top_level): Likewise.
13790 (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
13791 (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
13792 (finish_decl): Handle TRANSLATION_UNIT_DECL.
13793 (merge_translation_unit_decls): New.
13794 (c_write_global_declarations): New.
13795 (c_reset_state): New.
13796 (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
13797 * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
13798 * c-objc-common.c (c_cannot_inline_tree_fn): Handle
13799 TRANSLATION_UNIT_DECL.
13800 (c_objc_common_finish_file): Call merge_translation_unit_decls.
13801 * c-opts.c (in_fnames): Rename from in_fname.
13802 (c_common_decode_option): Handle multiple input filenames.
13803 (c_common_post_options): Likewise.
13804 (c_common_parse_file): Likewise; also, call c_parse_file rather than
13805 yyparse.
13806 * c-parse.in: Move cleanup code to c_parse_file.
13807 (free_parser_stacks): Move contents to c_parse_file.
13808 (c_parse_file): New.
13809 * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
13810 for integer types.
13811 (C_DECL_FILE_SCOPE): New.
13812 (finish_file): Move prototype to c-common.h.
13813 (merge_translation_unit_decls): New prototype.
13814 (comptypes): Add extra parameter to prototype.
13815 (c_write_global_declarations): New prototype.
13816 * c-typeck.c (tagged_types_tu_compatible_p): New.
13817 (function_types_compatible_p): Add extra parameter, change all callers.
13818 (type_lists_compatible_p): Likewise.
13819 (comptypes): Likewise.
13820 (struct tagged_tu_seen): New.
13821 (tagged_tu_seen_base): New.
13822 (build_unary_op): Handle TRANSLATION_UNIT_DECL.
13823 (c_mark_addressable): Remove #if 0 code.
13824 * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
13825 comment explaining why it shouldn't have to.
13826 * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
13827 options.
13828 * cppinit.c (cpp_read_next_file): New.
13829 (cpp_read_main_file): Use it.
13830 * cpplib.c (undefine_macros): New.
13831 (cpp_undef_all): New.
13832 * cpplib.h (cpp_read_next_file): Prototype.
13833 (cpp_undef_all): Prototype.
13834 * langhooks-def.h (write_global_declarations): Remove prototype.
13835 * toplev.h (write_global_declarations): Add prototype.
13836 * tree.c (decl_type_context): Use switch statement, handle
13837 TRANSLATION_UNIT_DECL.
13838 * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
13839 (TRANSLATION_UNIT_DECL): New kind of tree.
13840 * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
13841 * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
13842 * doc/invoke.texi: Make attempt to document new functionality.
13843
13844 2003-05-19 Per Bothner <bothner@apple.com>
13845
13846 * gcc.c (combine_inputs): New.
13847 (process_command): Set combine_inputs.
13848 (do_spec_1): Handle combine_inputs.
13849 (main): Likewise.
13850
13851 2003-07-10 James E Wilson <wilson@tuliptree.org>
13852
13853 PR optimization/9745
13854 * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
13855 loop_insn_emit_before.
13856 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
13857
13858 2003-07-10 Zack Weinberg <zack@codesourcery.com>
13859
13860 * cppcharset.c: Fix comment.
13861 (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
13862 (EILSEQ): #define to EINVAL if not already defined.
13863 (convert_using_iconv): #if out when !HAVE_ICONV.
13864 (init_iconv_desc): Handle !HAVE_ICONV here...
13865 (cpp_init_iconv): ...not here.
13866
13867 2003-07-11 Neil Booth <neil@daikokuya.co.uk>
13868
13869 * common.opt: More --help messages.
13870 * opts.c (print_help): Use puts().
13871 * toplev.c (f_options): Remove help text.
13872 (display_help): Don't dump f_options.
13873
13874 2003-07-11 Nathanael Nerode <neroden@gcc.gnu.org>
13875
13876 * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
13877 Move i?86-*-interix* to the don't-fix list.
13878 * fixinc/fixinc.interix: Delete with extreme prejudice.
13879
13880 2003-07-10 Dara Hazeghi <dhazeghi@yahoo.com>
13881
13882 PR bootstrap/10758
13883 * doc/install.texi: Document requirements for ia64-*-hpux* target.
13884
13885 2003-07-10 Roger Sayle <roger@eyesopen.com>
13886
13887 * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
13888
13889 2003-07-10 Zack Weinberg <zack@codesourcery.com>
13890
13891 * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
13892 one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
13893 one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
13894 convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
13895 convert_no_conversion, convert_using_iconv): New functions.
13896 (APPLY_CONVERSION): New macro.
13897 (struct conversion, conversion_tab): New data structure.
13898 (init_iconv_desc): Check conversion_tab for a custom conversion
13899 primitive before trying to use iconv.
13900 (convert_cset): Deleted.
13901 (cpp_init_iconv): Use UTF- terminology, not UCS-.
13902 (_cpp_destroy_iconv): Update to match.
13903 (_cpp_valid_ucn): We don't need iconv to implement UCNs.
13904 (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
13905 (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
13906 (_cpp_interpret_string_notranslate): New function, moved here
13907 from cpplib.c.
13908
13909 * cpphash.h (convert_f, struct cset_converter): New types.
13910 (struct cpp_reader): narrow_cset_desc and wide_cset_desc
13911 are now struct cset_converter, not bare iconv_t.
13912 Update prototypes.
13913 * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
13914 all callers changed.
13915
13916 2003-07-10 Kelley Cook <kelleycook@wideopenwest.com>
13917
13918 * Makefile.in (options.h): Depend on Makefile. Add move-if-change
13919 to opts.sh command line.
13920 * opts.sh: Write to temporary files with a move-if-change at the end.
13921
13922 2003-07-10 Denis Chertykov <denisc@overta.ru>
13923 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13924
13925 * combine.c (gen_binary): Handle the CLOBBER rtx and
13926 don't build a binary operation with it.
13927
13928 2003-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13929
13930 * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
13931 store_killed_after, store_killed_before): Keep track of the correct
13932 dependency function to use.
13933
13934 2003-07-10 Steven Bosscher <steven@gcc.gnu.org>
13935 * toplev.c (do_compile): Don't try to open dump files before
13936 lang_dependent_init initializes dump_base_name.
13937
13938 2003-07-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13939
13940 * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
13941 Use ARRAY_SIZE.
13942 * config/frv/frv.c (frv_expand_builtin): Likewise.
13943 * config/sh/sh.c (sh_media_init_builtins): Likewise.
13944
13945 2003-07-09 Mark Mitchell <mark@codesourcery.com>
13946
13947 PR c++/10032
13948 * doc/invoke.texi (C++ Dialect Options): Change documentation of
13949 -fpermissive.
13950
13951 2003-07-10 J"orn Rennecke <joern.rennecke@superh.com>
13952
13953 * tm.texi (RETURN_ADDR_OFFSET): Document.
13954
13955 2003-07-10 Nathan Sidwell <nathan@codesourcery.com>
13956
13957 * gcov-io.h: Update documentation.
13958 (GCOV_UNSIGNED2STRING): New.
13959 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
13960 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
13961 GCOV_TAG_SUMMARY_LENGTH): Adjust.
13962 (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
13963 GCOV_TAG_COUNTER_NUM): New.
13964 (GCOV_BLOCK_SIZE): Number of words.
13965 (gcov_var): Adjust buffer type.
13966 * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
13967 (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
13968 count, not byte count.
13969 (gcov_open): Adjust overread init.
13970 (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
13971 gcov_write_string, gcov_write_tag, gcov_write_length,
13972 gcov_write_tag_length): Adjust.
13973 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
13974 (gcov_sync, gcov_seek): Adjust.
13975 * gcov-dump.c (print_usage): Show gcc version only.
13976 (dump_file): Use GCOV_UNSIGNED2STRING.
13977 (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
13978 * gcov.c (print_version): Show gcc version only.
13979 (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
13980 GCOV_TAG_*_NUM macros.
13981 (read_count_file): Use GCOV_UNSIGNED2STRING. Use
13982 GCOV_TAG_COUNTER_LENGTH.
13983 * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
13984 Use GCOV_TAG_COUNTER_NUM.
13985 * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
13986 (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
13987
13988 2003-07-10 Andreas Schwab <schwab@suse.de>
13989
13990 * gcov-dump.c (dump_file): Fix missing address operator.
13991
13992 2003-07-10 Kazu Hirata <kazu@cs.umass.edu>
13993
13994 PR c/11449
13995 * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
13996 of HOST_WIDE_INT.
13997 (fold_single_bit_test): If sign_bit_p() fails, assume that the
13998 bit being tested is not a sign bit.
13999
14000 2003-07-10 Kazu Hirata <kazu@cs.umass.edu>
14001
14002 * config/h8300/h8300.md (a peephole2): New.
14003
14004 2003-07-10 Alexandre Oliva <aoliva@redhat.com>
14005
14006 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
14007 * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
14008 from ld-linux.so.2 to ld.so.1.
14009 2001-11-18 Alexandre Oliva <aoliva@redhat.com>
14010 * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
14011 * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
14012 nor -Wl,-rpath-link.
14013 (LIB_SPEC): Add -rpath-link if !static.
14014 2001-08-22 Alexandre Oliva <aoliva@redhat.com>
14015 * config/mn10300/mn10300.c (mn10300_protect_label): New
14016 variable.
14017 * config/mn10300/linux.h (PRINT_OPERAND,
14018 PRINT_OPERAND_ADDRESS): Set it during their execution.
14019 (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
14020 mn10300_protect_label is set.
14021 * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
14022 -Wl,-rpath-link.
14023 (LIB_SPEC, STARTFILE_SPEC): Define.
14024 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
14025 * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
14026 FLOAT_BIT_ORDER_MISMATCH.
14027 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
14028 * config.gcc (am33_2.0-*-linux*): Added.
14029 * config/mn10300/linux.h: New.
14030 * config/mn10300/t-linux: New.
14031
14032 2003-07-10 Andreas Jaeger <aj@suse.de>
14033
14034 * fold-const.c: Properly wrap prototypes.
14035
14036 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
14037
14038 2003-06-16 Alexandre Oliva <aoliva@redhat.com>
14039 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
14040 Moved from...
14041 * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
14042 * config/mn10300/mn10300.h: GTY-declare it.
14043 2003-06-11 Alexandre Oliva <aoliva@redhat.com>
14044 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
14045 prototype. Use incoming RTL argument.
14046 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
14047 * config/mn10300/mn10300.md (int_label): Move C statements...
14048 (GOTaddr2picreg): ... here.
14049 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
14050 * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
14051 * config/mn10300/mn10300.c (mn10300_encode_section_info):
14052 ... here. New function.
14053 (TARGET_ENCODE_SECTION_INFO): Define to it.
14054 2001-11-04 Alexandre Oliva <aoliva@redhat.com>
14055 * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
14056 pattern name.
14057 (mn10300_loadPC): Define as insn splittable after reload.
14058 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
14059 * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
14060 be defined in .rodata even in PIC, now that the assembler
14061 supports that.
14062 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
14063 * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
14064 symbol take an underscore prefix.
14065 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
14066 * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
14067 legitimize_pic_address): Declare.
14068 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
14069 the PIC register as fixed.
14070 (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
14071 (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
14072 PIC.
14073 (LEGITIMATE_PIC_OPERAND_P): Define.
14074 (PIC_OFFSET_TABLE_REGNUM): Define.
14075 (GOT_SYMBOL_NAME): Define.
14076 (SYMBOLIC_CONST_P): Define.
14077 (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
14078 symbols.
14079 (MN10300_GLOBAL_P): Test it.
14080 (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
14081 (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
14082 * config/mn10300/mn10300.c (print_operand): Handle unspec.
14083 (expand_prologue): Set PIC register.
14084 (call_address_operand): Don't match SYMBOL_REFs in PIC.
14085 (legitimize_address): Call legitimize_pic_address.
14086 (legitimize_pic_address): New fn.
14087 (legitimate_pic_operand_p): New fn.
14088 * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
14089 (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
14090 UNSPEC_PLT): New constants.
14091 (pop_pic_reg): New insn.
14092 (movsi): Adjust non-PIC addresses.
14093 (builtin_setjmp_receiver): Restore the PIC register.
14094 (casesi): New insn.
14095 (call): Adjust non-PIC addresses.
14096 (int_label, GOTaddr2picreg): New expands.
14097 (am33_loadPC): New insn.
14098 (mn10300_loadPC): New expand.
14099 (call_next_insn): New insn.
14100 (add_GOT_to_pic_reg): New expand.
14101 (symGOT2reg, symGOT2reg_i): New expands.
14102 (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
14103 (sym2PIC, sym2PLT): New expands.
14104
14105 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
14106
14107 * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
14108 2001-05-01 Alexandre Oliva <aoliva@redhat.com>
14109 * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
14110 to flag_unsafe_math_optimizations.
14111 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
14112 * config/mn10300/mn10300.c (expand_prologue): Mark
14113 FP-register-saving insns as frame-related.
14114 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
14115 * config/mn10300/mn10300.c
14116 (mn10300_get_live_callee_saved_regs): Don't search past
14117 LAST_EXTENDED_REGNUM.
14118 (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
14119 * config/mn10300/mn10300.md: Remove excessive line breaks from
14120 `@' output patterns that were accounted as additional
14121 alternatives.
14122 * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
14123 Re-introduce changes accidentally removed in Richard Sandiford's
14124 2000-12-05's patch.
14125 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14126 Re-instate am33-2 lost in merge from net GCC.
14127 2000-08-26 Alexandre Oliva <aoliva@redhat.com>
14128 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
14129 floating-point registers.
14130 2000-08-07 Alexandre Oliva <aoliva@redhat.com>
14131 * config/mn10300/mn10300.md (movdf): Revert some am33-specific
14132 pessimizations that had gone in on 2000-05-08.
14133 2000-06-28 Graham Stott <grahams@cygnus.co.uk>
14134 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
14135 2000-06-22 Graham Stott <grahams@cygnus.co.uk>
14136 * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
14137 operand 0.
14138 * (movhi): Likewise.
14139 * (movsi): Likewise.
14140 * (movsf): Likewise.
14141 * (movdi): Likewise.
14142 * (movdf): Likewise.
14143 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
14144 * config/mn10300/mn10300.c (fp_regs_to_save): New function.
14145 (can_use_return_insn, initial_offset): Add fp_regs_to_save.
14146 (expand_prologue, expand_epilogue): Save and restore FP regs.
14147 2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
14148 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
14149 2000-05-13 Alexandre Oliva <aoliva@cygnus.com>
14150 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
14151 subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
14152 Do not clobber cc0.
14153 2000-05-12 Alexandre Oliva <aoliva@cygnus.com>
14154 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
14155 Discourage the two-argument, longer opcodes.
14156 (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
14157 ones.
14158 * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
14159 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
14160 * config/mn10300/mn10300.md (cmpsf): New pattern.
14161 (branch): Test mdep.fpCC and output fbCC.
14162 * config/mn10300/mn10300.c (print_operand): Output conditions.
14163 (notice_cc_update): Recognize fcmp and set mdep.fpCC.
14164 2000-05-10 Alexandre Oliva <aoliva@cygnus.com>
14165 * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
14166 mulsf3, divsf3): Use the `F' constraint for FP values.
14167 * config/mn10300/mn10300.c (const_1f_operand): New function.
14168 * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
14169 * config/mn10300/mn10300.md (sqrtsf2): New expand.
14170 (rsqrtsf2): New insn.
14171 2000-05-09 Alexandre Oliva <aoliva@cygnus.com>
14172 * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
14173 previous check-in.
14174 2000-05-08 Alexandre Oliva <aoliva@cygnus.com>
14175 * config/mn10300/mn10300.md (abssf2, negdf2): On
14176 TARGET_AM33_2, expand to...
14177 (abssf2_am33_2, negdf2_am33_2): New insns.
14178 (addsf3, subsf3, mulsf3, divsf3): Likewise.
14179 (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
14180 * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
14181 movdi, movdf): Added FP regs.
14182 * invoke.texi (-mam33-2, -mno-am33-2): Document.
14183 2000-04-29 Alexandre Oliva <aoliva@cygnus.com>
14184 * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
14185 New macros.
14186 (REGNO_AM33_2_FP_P): Renamed to...
14187 (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
14188 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
14189 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
14190 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
14191 regs from GENERAL_REGS.
14192 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
14193 * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
14194 * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
14195 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
14196 2000-04-23 Alexandre Oliva <aoliva@cygnus.com>
14197 * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
14198 as FP_REGS.
14199 2000-04-21 Alexandre Oliva <aoliva@cygnus.com>
14200 * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
14201 (EXTRA_CONSTRAINT): Added OK_FOR_Q.
14202 * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
14203 * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
14204 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
14205 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
14206 AM33/2.0 floating-point registers.
14207 (CONDITIONAL_REGISTER_USAGE): Adjust.
14208 (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
14209 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
14210 (REG_CLASS_FROM_LETTER): Added `f' and `A'.
14211 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
14212 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
14213 (MULTILIB_DIRNAMES): Likewise.
14214 * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
14215 `__AM33_2__' when `-mam33-2' is given.
14216 (TARGET_AM33_2): Define.
14217 (TARGET_SWITCHES): Adjust.
14218 * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
14219 when appropriate.
14220
14221 2003-07-09 Matt Kraai <kraai@alumni.cmu.edu>
14222
14223 * doc/install.texi: Add missing @.
14224
14225 2003-07-09 Bob Wilson <bob.wilson@acm.org>
14226
14227 * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
14228
14229 2003-07-09 Aldy Hernandez <aldyh@redhat.com>
14230
14231 PR/11144
14232 * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
14233
14234 2003-07-09 Nathanael Nerode <neroden@gcc.gnu.org>
14235
14236 PR bootstrap/11043
14237 * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
14238 "x-crtfini.o" with "crtinit.o", "crtfini.o".
14239
14240 * fixinc/inclhack.def (limits_ifndefs): Add select test.
14241 * fixinc/fixincl.x: Rebuild.
14242
14243 * fixinc/inclhack.def (math_exception): Improve bypass and comment.
14244 * fixinc/fixincl.x: Rebuild.
14245
14246 2003-07-09 Hans-Peter Nilsson <hp@bitrange.com>
14247
14248 * doc/install.texi (Configuration): Document the valgrind option
14249 to --enable-checking.
14250
14251 2003-07-09 Jan Hubicka <jh@suse.cz>
14252
14253 * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14254
14255 2003-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14256
14257 * c-lex.c (cb_ident): Cast cstr.text to const char *.
14258
14259 2003-07-09 Nathan Sidwell <nathan@codesourcery.com>
14260
14261 * gcov-io.h: Update documentation.
14262 (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
14263 GCOV_NOTE_MAGIC.
14264 (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
14265 (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
14266 (struct gcov_var): Change buffer's type. Add endian flag.
14267 (gcov_open): Remove mode in libgcov.
14268 (gcov_magic): Prototype.
14269 * gcov-io.c (from_file): New.
14270 (gcov_open): Clear endian flag.
14271 (gcov_magic): New.
14272 (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
14273 pointers.
14274 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
14275 gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
14276 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
14277 * gcov-iov.c (main): Correct cast.
14278 * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
14279 conversion.
14280 (gcov_begin_output): Use GCOV_NOTE_MAGIC.
14281 (coverage_init): Use GCOV_NOTE_SUFFIX.
14282 * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
14283 Rename to gcov_version, and return flag.
14284 (gcov_exit): Use gcov_version.
14285 (__gcov_init): Use gcov_version.
14286 * Makefile.in (coverageexts): Update.
14287 * gcov.c (print_version): Remove endianness conversion.
14288 (create_file_names): Use GCOV_NOTE_SUFFIX.
14289 (read_graph_file): Use gcov_magic.
14290 (read_count_file): Likewise.
14291 * gcov-dump.c (dump_file): Remove endianness conversion, use
14292 gcov_magic.
14293
14294 2003-07-09 Nathan Sidwell <nathan@codesourcery.com>
14295
14296 * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
14297 coverage is on.
14298 * configure: Regenerated.
14299 * Makefile.in (ALL_CFLAGS): Correct its comment.
14300
14301 2003-07-08 Mark Mitchell <mark@codesourcery.com>
14302
14303 * fold-const.c (make_range): Do not access operand 1 for a
14304 zero-operand operator.
14305
14306 2003-07-09 Neil Booth <neil@daikokuya.co.uk>
14307
14308 * toplev.c (warn_dummy, W_options): Die.
14309 (display_help): Don't print W_options.
14310 * common.opt: Add W_options help from toplev.c.
14311
14312 2003-07-09 Andreas Jaeger <aj@suse.de>
14313
14314 * opts.c (wrap_help): Only pass int arguments as arguments to
14315 printf's '*' modifier. Change argument of function.
14316
14317 2003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
14318
14319 * doc/invoke.texi: Fix misspelling of "@item".
14320
14321 2003-07-08 Kazu Hirata <kazu@cs.umass.edu>
14322
14323 * config/i386/i386.md: Remove an old comment about
14324 NOTICE_UPDATE_CC.
14325
14326 2003-07-09 Jan Hubicka <jh@suse.cz>
14327
14328 * cgraph.c (cgraph_node_name): New function.
14329 (dump_cgraph): Use it.
14330 * cgraph.h (cgraph_dump_file): Declare.
14331 (cgraph_node_name): Declare.
14332 * cgraphunit.c: Include timevar.h
14333 (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
14334 (cgraph_optimize_function): Use TV_INTEGRATION.
14335 (cgraph_mark_local_functions): reorganize dumps.
14336 (cgraph_mark_functions_to_inline_once): Likewise.
14337 (cgraph_optimize): Likewise; use timevar.
14338 * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
14339 * toplev.c (dump_file_index): Add DFI_cgraph.
14340 (dump_file_info): Likewise.
14341 (cgraph_dump_file): New global variable.
14342 (do_compile): Open and close cgraph dump.
14343 * invoke.texi (-d): Document new flag; renumber.
14344
14345 2003-07-08 Roger Sayle <roger@eyesopen.com>
14346
14347 PR c/11370
14348 * calls.c (emit_call_1): Don't bother popping the arguments off of
14349 the stack after a noreturn function call; The adjustment is dead.
14350 (expand_call): Likewise.
14351
14352 2003-07-08 Geoffrey Keating <geoffk@apple.com>
14353
14354 * expr.c (MOVE_MAX_PIECES): Move from here...
14355 * defaults.h (MOVE_MAX_PIECES): ... to here.
14356
14357 2003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
14358
14359 * Makefile.in (stage1-start): Handle an empty SUBDIRS.
14360
14361 2003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14362
14363 * genattr.c (internal_dfa_insn_code): Don't prototype.
14364 * genattrtab.c (attr_desc): Add `static_p' field.
14365 (expand_units): Make blockage range and ready cost functions
14366 static.
14367 (write_attr_get): Don't add extern prototypes in C file. Mark
14368 static functions as appropriate.
14369 (find_attr, make_internal_attr): Initialize static_p.
14370 * genattrtab.h (ATTR_STATIC): New macro.
14371 * genautomata.c (output_internal_reset_func): Mark output function
14372 as inline.
14373 (make_internal_dfa_insn_code_attr): Mark output function as static.
14374
14375 2003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14376
14377 * genattrtab.h: Add new macros for attr `special' flags.
14378 * genattrtab.c (attr_desc): Reorder/resize fields better.
14379 Use attr `special' macros in all calls to make_internal_attr.
14380 * genautomata.c: Likewise.
14381
14382 2003-07-09 Jan Hubicka <jh@suse.cz>
14383
14384 * c-common.c (c_estimate_num_insns_1): New static function.
14385 (c_estimate_num_insns): New global function.
14386 * c-common.h (DECL_NUM_STMTS): Rename to...
14387 (DECL_ESTIMATED_INSNS): ... this.
14388 (c_estimate_num_insns): Declare.
14389 * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
14390 * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14391 * c-semantics.c (add_stmt): Do not account statements.
14392 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
14393 New.
14394 * langhooks.h (lang_hooks_for_tree_inlining): Add
14395 estimate_num_insns
14396 * params.def (max-inline-insns-auto, max-inline-insns-auto): set
14397 to 100.
14398 (max-inline-insns): set to 300.
14399 (min-inline-insns): set to 10.
14400 * tree-inline.c (struct inline_data): Rename inlined_stmts to
14401 inlined-insns.
14402 (INSNS_PER_STMT): Kill.
14403 (inlinable_function_p): Compute and store body size.
14404 (expand_call_inline): Likewise.
14405 (optimize_inline_calls): Likewise.
14406
14407 2003-07-08 James E Wilson <wilson@tuliptree.org>
14408
14409 PR target/10021
14410 * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
14411 loop over new variable t2 instead of t.
14412
14413 2003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
14414
14415 PR bootstrap/11455
14416 * config/i386/winnt.c: Replace use of error(), warning() with
14417 error_with_decl(), warning_with_decl(), throughout.
14418
14419 2003-07-08 Neil Booth <neil@daikokuya.co.uk>
14420
14421 * opts.c (wrap_help): Use unsigned int, not size_t.
14422
14423 2003-07-08 Stephane Carrez <stcarrez@nerim.fr>
14424
14425 * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
14426 as .file/.loc directives are incompatible with linker relaxation.
14427
14428 2003-07-08 Zack Weinberg <zack@codesourcery.com>
14429
14430 * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
14431 * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
14432 * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
14433 * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
14434 * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
14435 * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
14436 Escape { and } characters which are not part of range expressions.
14437 * fixinc/fixincl.x: Regenerate.
14438 * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
14439
14440 2003-07-08 Steven Bosscher <steven@gcc.gnu.org>
14441
14442 PR c/1687
14443 * tree-inline.c (find_alloca_call): Use
14444 walk_tree_without_duplicates, instead of walk_tree.
14445 (find_builtin_longjmp_call): Likewise.
14446 * c-objc-common.c (c_cannot_inline_fn): Likewise.
14447 * c-semantics.c (find_reachable_label): Likewise.
14448
14449 2003-07-08 Jakub Jelinek <jakub@redhat.com>
14450
14451 PR c/11420
14452 * config/i386/i386.c (ix86_check_movabs): New function.
14453 * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
14454 * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
14455 (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
14456
14457 2003-07-08 Chris Demetriou <cgd@broadcom.com>
14458
14459 * Makefile.in (install-po): Cope with empty CATALOGS.
14460
14461 2003-07-08 Richard Sandiford <rsandifo@redhat.com>
14462
14463 * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14464 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
14465 (SECTION_FUNCTION_TEMPLATE): Delete.
14466 * config/mips/elf.h: As for elf64.h.
14467 (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
14468 * config/mips/linux.h: As for elf.h
14469 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14470 * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
14471 (EXTRA_SECTION_FUNCTIONS): Remove sdata_section. Remove the handling
14472 of in_sdata from current_section_name and current_section_flags.
14473 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14474 * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
14475 (MASK_GP_OPT, TARGET_GP_OPT): Delete.
14476 (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
14477 (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
14478 (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
14479 * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
14480 (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
14481 (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
14482 (override_options): Remove setting of MASK_GPOPT.
14483 (mips_output_external): Use mips_in_small_data_p to check whether a
14484 symbol needs an .extern directive. Don't emit such directives for
14485 TARGET_EXPLICIT_RELOCS.
14486 (mips_declare_object): Update accordingly.
14487 (mips_select_rtx_section): Call named_section rather than
14488 SMALL_DATA_SECTION.
14489 (mips_select_section): Use default_elf_section_section for everything
14490 except .text string constants.
14491 (mips_in_small_data_p): New function.
14492 (mips_encode_section_info): Remove small data handling.
14493 (mips_unique_section): Delete.
14494 (iris6_section_type_flags): New function.
14495 * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
14496
14497 2003-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14498
14499 PR Target/11453
14500 * pa.md: Disparage all mtsar constraints.
14501 (extzv, extv, insv): Don't fail on length of {32|64}.
14502
14503 2003-07-08 Zack Weinberg <zack@codesourcery.com>
14504
14505 * system.h: Poison MAP_CHARACTER.
14506 * config/i370/i370-protos.h (mvs_map_char): Delete.
14507 * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
14508 * config/i370/i370.h (MAP_CHARACTER): Delete definition.
14509 (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
14510
14511 2003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
14512
14513 * toplev.c (randomize): Correct call to time().
14514
14515 2003-07-08 Jakub Jelinek <jakub@redhat.com>
14516
14517 * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
14518 REG_EQUIV notes as well.
14519
14520 2003-07-08 Kazu Hirata <kazu@cs.umass.edu>
14521
14522 * doc/md.texi: Fix the description of addmodecc.
14523
14524 2003-07-07 Zack Weinberg <zack@codesourcery.com>
14525
14526 * Makefile.in (top_builddir): Set to "..", not ".".
14527 (INTLLIBS, INTLDEPS): Delete.
14528 (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
14529 (LIBDEPS): Add $(LIBICONV_DEP).
14530 (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
14531 (INCLUDES): Replace -I../intl with @INCINTL@.
14532 ($(top_builddir)/intl/libintl.a): Delete rule.
14533 (stage2-start, stage3-start, stage4-start, stageprofile-start,
14534 stagefeedback-start): Use $$ for variable to be evaluated by
14535 shell, not make.
14536 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
14537 HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
14538 * aclocal.m4: sinclude ../config/progtest.m4. Add
14539 contents of lcmessage.m4 from gettext distro.
14540 * configure.in: Check for wchar.h and setlocale. Set
14541 LIBICONV_DEP to the empty string and substitute it.
14542 Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
14543 this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
14544 not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
14545 in $LIBINTL, to avoid linking it twice.
14546 * configure, config.in: Regenerate.
14547
14548 2003-07-08 Nathanael Nerode <neroden@gcc.gnu.org>
14549
14550 * fixinc/mkfixinc.sh: Remove winnt support.
14551 * fixinc/fixinc.winnt: Delete with extreme prejudice.
14552
14553 2003-07-08 Neil Booth <neil@daikokuya.co.uk>
14554
14555 * Makefile.in: Update.
14556 * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
14557 * c.opt: Update documentation.
14558 * common.opt: Add some help text.
14559 * opts.c: Include intl.h.
14560 (wrap_help, print_help): New.
14561 (find_opt, handle_option, common_handle_option): opt_text now
14562 contains the '-'. Use print_help to output help.
14563 * opts.h (struct cl_option): New member "help".
14564 * opts.sh: Update to handle help text output and to prepend
14565 options with '-'.
14566 * toplev.c (display_help): Remove some help text.
14567
14568 2003-07-07 David Edelsohn <edelsohn@gnu.org>
14569 Fariborz Jahanian <fjahanian@apple.com>
14570
14571 * configure.in: Test for PowerPC mfcr field support in assembler.
14572 * config.in, configure: Regenderated.
14573
14574 * config/rs6000/power4.md: Add mfcrf reservation.
14575 * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
14576 * config/rs6000/rs6000.c (mfcr_operation): Define.
14577 (print_operand): Add 'Q' case for mfcrf.
14578 * config/rs6000/rs6000.h (TARGET_MFCRF): New.
14579 * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
14580 (movcc_internal1): Emit optional field operand for mfcr and set
14581 "type" attribute appropriately.
14582 (mfcr SCC): Likewise.
14583 (movesi_from_cr_one): New.
14584
14585 2003-07-07 Roger Sayle <roger@eyesopen.com>
14586
14587 * config/i386/i386.md: Correct check-in of incorrect version.
14588
14589 2003-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14590
14591 * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
14592 adjacent stdio calls.
14593 * c-decl.c (c_print_identifier): Likewise.
14594 * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
14595 * print-rtl.c (print_rtx): Likewise.
14596 * print-tree.c (print_node_brief, print_node): Likewise.
14597 * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
14598
14599 * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
14600 * config.in, configure: Regenerated.
14601
14602 2003-07-07 Roger Sayle <roger@eyesopen.com>
14603
14604 PR target/10979
14605 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
14606 Changed to define_expand patterns that copy operand[1] to prevent
14607 it from being clobbered before emitting an atan2?f3_1 insn.
14608 (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
14609 patterns that actually specify the behaviour of x87's FPATAN.
14610
14611 2003-07-07 Jakub Jelinek <jakub@redhat.com>
14612
14613 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
14614 clearing of SYMBOL_FLAG_LOCAL bit.
14615 If vcall_offset fits into signed 16-bit immediate, use
14616 one instruction for both addition and load.
14617
14618 2003-07-07 Neil Booth <neil@daikokuya.co.uk>
14619
14620 * opts.c (common_handle_option): Correct handling of the
14621 -falign- switches that do and don't take an argument.
14622
14623 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
14624
14625 * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
14626 today.
14627 (pushhi1_h8300hs): Likewise.
14628
14629 2003-07-07 Andreas Jaeger <aj@suse.de>
14630
14631 * genextract.c: Convert remaining prototypes to ISO C90.
14632
14633 * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
14634 * fold-const.c (fold_single_bit_test): Likewise.
14635 * diagnostic.c (default_diagnostic_finalizer): Likewise.
14636 * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
14637
14638 * gengtype.c (write_array): Generate ISO C90 prototypes.
14639
14640 * genflags.c (gen_proto): Generate ISO C90 prototypes.
14641
14642 2003-07-07 Roger Sayle <roger@eyesopen.com>
14643
14644 PR optimization/11059
14645 * expr.c (can_store_by_pieces): Return true if length is zero.
14646 (store_by_pieces): If length is zero and endp is two, abort,
14647 othwerise, if length is zero and endp is not two, return "to".
14648 (clear_by_pieces): Do nothing if length is zero.
14649 (clear_storage): Do nothing if length is zero.
14650 (store_constructor): Simplify code when size is zero, or the
14651 target has already been cleared. This avoids emitting a
14652 blockage instruction when initializing empty structures.
14653
14654 2003-07-07 Andreas Jaeger <aj@suse.de>
14655
14656 * mips-tfile.c: Convert prototypes to ISO C90.
14657 * mips-tdump.c: Convert prototypes to ISO C90.
14658
14659 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
14660
14661 * rtl.h (emit_line_note): Take a location_t.
14662 (emit_line_note_force): Remove.
14663 (set_file_and_line_for_statement): Take a location_t.
14664 * tree.g (emit_line_note): Take a location_t.
14665 * emit-rtl.c (emit_line_note): Take a location_t.
14666 (emit_line_note_force): Remove.
14667 * function.c (init_function_start): Adjust emit_line_note call.
14668 (expand_function_end): Use force_next_line_note, not
14669 emit_line_note_force.
14670 * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
14671 * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
14672 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
14673 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
14674 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
14675 genrtl_continue_stmt, genrtl_switch_stmt,
14676 genrtl_asm_stmt): Likewise.
14677 * expr.c (expand_expr): Likewise.
14678 * integrate.c (expand_inline_function): Likewise.
14679 * stmt.c (set_file_and_line_for_stmt): Take a location_t.
14680 (expand_decl_init): Adjust emit_line_note call.
14681
14682 2003-07-07 Dale Johannesen <dalej@apple.com>
14683
14684 * config/rs6000/darwin-tramp.asm: Fix trampolines. PR 10900.
14685
14686 2003-07-07 Andreas Jaeger <aj@suse.de>
14687
14688 * config/i386/i386-protos.h: Convert prototypes to ISO C90.
14689 * config/i386/i386.c: Likewise.
14690
14691 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
14692
14693 * config/h8300/h8300.md: Use gen_int_mode instead of
14694 GEN_INT (trunc_int_for_mode (...)).
14695
14696 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
14697
14698 * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
14699 2 bytes and then subtract 2 from the stack pointer.
14700 (pushhi1_h8300hs): Likewise.
14701
14702 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
14703
14704 * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
14705 -frandom-seed.
14706 * configure: Regenerated.
14707 * Makefile.in: Remove extraneous comment.
14708 * toplev.c (randomize): Protect against potential multiple calls.
14709 * doc/invoke.texi (-frandom-seed): Document use for in coverage
14710 files.
14711
14712 2003-07-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14713 Eric Botcazou <ebotcazou@libertysurf.fr>
14714
14715 PR optimization/11198
14716 * alias.c (objects_must_conflict_p): Return 1 if the types have
14717 the same alias set, not if the alias sets only conflict.
14718
14719 2003-07-07 Andrew Pinski <pinskia@physics.uc.edu>
14720
14721 * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
14722 (convert_cset): Change inbuf to type ICONV_CONST char.
14723 * Makefile.in (LIBS): Add LIBICONV.
14724
14725 * doc/invoke.texi (-falign-functions): Document that
14726 when n is zero then a machine-dependent default is used.
14727 (-falign-labels): Document that when n is zero then a
14728 machine-dependent default is used and that -falign-labels =1
14729 is equivalent to -fno-align-labels.
14730 (-falign-loops): Likewise.
14731 (-falign-jumps): Likewise.
14732
14733 2003-07-06 Art Haas <ahaas@airmail.net>
14734
14735 * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
14736 initializer syntax.
14737
14738 2003-07-06 James E Wilson <wilson@tuliptree.org>
14739
14740 PR optimization/9812
14741 * rtl.h (mem_for_const_double): Delete prototype.
14742 * varasm.c (mem_for_const_double): Delete function.
14743 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
14744 config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
14745 (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
14746 * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
14747 (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
14748 * config/m68k/m68k.md (movxf): Add reload_in_progress guard. Add
14749 comment about confused support for XFmode constants.
14750
14751 2003-07-07 Jan Hubicka <jh@suse.cz>
14752
14753 * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
14754
14755 2003-07-06 Kazu Hirata <kazu@cs.umass.edu>
14756
14757 * config/h8300/h8300.c: Fix comment typos.
14758 * config/h8300/h8300.md: Likewise.
14759 * config/i386/athlon.md: Likewise.
14760 * config/i386/i386.c: Likewise.
14761 * config/i386/pentium.md: Likewise.
14762 * config/ia64/ia64.c: Likewise.
14763 * config/ia64/itanium1.md: Likewise.
14764 * config/ia64/itanium2.md: Likewise.
14765 * config/m32r/m32r.md: Likewise.
14766 * config/m68hc11/m68hc11.c: Likewise.
14767 * config/mcore/mcore.c: Likewise.
14768 * config/mips/sr71k.md: Likewise.
14769 * config/mips/t-iris5-as: Likewise.
14770 * config/mmix/mmix.h: Likewise.
14771 * config/ns32k/ns32k.h: Likewise.
14772 * config/ns32k/NOTES: Fix a typo.
14773
14774 2003-07-06 Andreas Jaeger <aj@suse.de>
14775
14776 * stmt.c: Convert remaining prototypes to ISO C90.
14777 * cfglayout.c: Likewise.
14778 * dbxout.c: Likewise.
14779 * gcc.c: Likewise.
14780 * genemit.c: Likewise.
14781
14782 * basic-block.h: Convert prototypes to ISO C90.
14783 * c-parse.in: Likewise.
14784 * c-pragma.h: Likewise.
14785 * c-typeck.c: Likewise.
14786 * cfghooks.h: Likewise.
14787 * cfgloopanal.c: Likewise.
14788 * dbxout.h: Likewise.
14789 * debug.h: Likewise.
14790 * dwarf2asm.h: Likewise.
14791 * gcov.c: Likewise.
14792 * gengtype-lex.l: Likewise.
14793 * sched-int.h: Likewise.
14794 * timevar.c: Likewise.
14795
14796 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
14797
14798 * c-common.h (c_comon_handle_filename,
14799 c_common_missing_arguement): New.
14800 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14801 LANG_HOOKS_MISSING_ARGUMENT): New.
14802 * c-opts.c (missing_arg): Rename c_common_missing_argument,
14803 update to be an appropriate langhook.
14804 (c_common_handle_option): Don't handle filenames.
14805 (c_common_handle_filename): New.
14806 * hooks.c (hook_void_constcharptr,
14807 hook_bool_constcharptr_size_t_false): New.
14808 * hooks.h (hook_void_constcharptr,
14809 hook_bool_constcharptr_size_t_false): New.
14810 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
14811 LANG_HOOKS_MISSING_ARGUMENT): New.
14812 (LANG_HOOKS_INITIALIZER): Update.
14813 * langhooks.h (struct lang_hooks): Add handle_filename and
14814 missing_argument.
14815 * opts.c (handle_option): Don't handle filenames here, but ...
14816 (handle_options): ... here.
14817 (common_handle_option): Don't handle missing arguments here.
14818 * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14819 LANG_HOOKS_MISSING_ARGUMENT): New.
14820
14821 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
14822
14823 * Makfile.in: Remove traces of mbchar.
14824 * c-parse.in (MULTIBYTE_CHARS): Remove.
14825 * config.in (MULTIBYTE_CHARS): Remove.
14826 * configure: Remove --enable-mbchar.
14827 * configure.in: Remove --enable-mbchar.
14828 * mbchar.c, mbchar.h: Remove.
14829 * system.h: Poison MULTIBYTE_CHARS.
14830 * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
14831 * config/linux.h (MULTIBYTE_CHARS): Remove.
14832 * config/svr4.h (MULTIBYTE_CHARS): Remove.
14833 * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
14834
14835 2003-07-06 Andreas Jaeger <aj@suse.de>
14836
14837 * varray.c (varray_check_failed): Fix typo.
14838
14839 * unroll.c: Convert prototypes to ISO C90.
14840 * varasm.c: Likewise.
14841 * varray.c: Likewise.
14842 * varray.h: Likewise.
14843 * vmsdbgout.c: Likewise.
14844 * xcoffout.c: Likewise.
14845 * xcoffout.h: Likewise.
14846
14847 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14848
14849 * gcov-io.h: Add a local time stamp.
14850 (struct gcov_info): Add stamp field.
14851 (gcov_truncate): New.
14852 * coverage.c (read_counts_file): Skip the stamp.
14853 (coverage_begin_output): Write the stamp.
14854 (build_gcov_info): Declare and init the stamp.
14855 (coverage_finish): Only unlink data file, if stamp is zero.
14856 * gcov-dump.c (dump_file): Dump the stamp.
14857 * gcov.c (bbg_stamp): New.
14858 (release_structures): Clear bbg_stamp.
14859 (read_graph_file): Read stamp.
14860 (read_count_file): Check stamp.
14861 * libgcov.c (gcov_exit): Check stamp and truncate if needed.
14862
14863 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14864
14865 * tree.h (default_flag_random_seed): Remove.
14866 * toplev.h (local_tick): Declare.
14867 * tree.c (flag_random_seed, default_flag_random_seed): Move to
14868 toplev.c.
14869 (append_random_chars): Don't call default_flag_random_seed.
14870 * toplev.c (flag_random_seed): Define here. Set local_tick.
14871 (local_tick): Define.
14872 (randomize): New, moved from tree.c.
14873 (print_switch_values): Adjust.
14874 (toplev_main): Call randomize.
14875
14876 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14877
14878 * tree.h (crc32_string): Declare.
14879 * tree.c (append_random_chars): Remove.
14880 (crc32_string): New.
14881 (get_file_function_name_long): Use crc32_string here.
14882
14883 2003-07-06 Andreas Jaeger <aj@suse.de>
14884
14885 * gcc.c: Convert prototypes to ISO C90.
14886 * gcc.h: Likewise.
14887 * gcov-dump.c: Likewise.
14888 * gcov-iov.c: Likewise.
14889 * gcse.c: Likewise.
14890 * genattrtab.h: Likewise.
14891 * ggc.h: Likewise.
14892 * global.c: Likewise.
14893 * graph.c: Likewise.
14894 * graph.h: Likewise.
14895 * hosthooks.h: Likewise.
14896 * hooks.h: Likewise.
14897 * hooks.c: Likewise.
14898 * hashtable.h: Likewise.
14899 * hashtable.c: Likewise.
14900 * haifa-sched.c: Likewise.
14901 * integrate.h: Likewise.
14902 * integrate.c: Likewise.
14903 * input.h: Likewise.
14904 * ifcvt.c: Likewise.
14905 * jump.c: Likewise.
14906 * langhooks-def.h: Likewise. Add extern to prototypes.
14907 * langhooks.c: Likewise.
14908 * langhooks.h: Likewise.
14909 * lcm.c: Likewise.
14910 * local-alloc.c: Likewise.
14911 * loop-init.c: Likewise.
14912 * loop-unroll.c: Likewise.
14913 * loop-unswitch.c: Likewise.
14914 * loop.c: Likewise.
14915 * loop.h: Likewise. Add extern to prototypes.
14916 * machmode.h: Likewise.
14917 * main.c: Likewise.
14918 * mbchar.c: Likewise.
14919 * mbchar.h: Likewise.
14920 * mkdeps.c: Likewise.
14921 * mkdeps.h: Likewise.
14922 * optabs.c: Likewise.
14923 * optabs.h: Likewise.
14924 * output.h: Likewise.
14925 * gccspec.c: Likwise.
14926 * postreload.c: Likewise.
14927 * prefix.c: Likewise.
14928 * prefix.h: Likewise.
14929 * print-rtl.c: Likewise.
14930 * print-tree.c: Likewise.
14931 * profile.c: Likewise.
14932 * read-rtl.c: Likewise.
14933 * real.c: Likewise.
14934 * real.h: Likewise.
14935 * recog.c: Likewise.
14936 * recog.h: Likewise.
14937 * reg-stack.c: Likewise.
14938 * regclass.c: Likewise.
14939 * regmove.c: Likewise.
14940 * regrename.c: Likewise.
14941 * regs.h: Likewise.
14942 * reload.c: Likewise.
14943 * reload.h: Likewise.
14944 * reload1.c: Likewise.
14945 * reorg.c: Likewise.
14946 * resource.c: Likewise.
14947 * resource.h: Likewise.
14948 * rtl-error.c: Likewise.
14949 * rtl.c: Likewise.
14950 * rtl.h: Likewise.
14951 * rtlanal.c: Likewise.
14952 * sbitmap.c: Likewise.
14953 * sbitmap.h: Likewise.
14954 * scan-decls.c: Likewise.
14955 * scan.c: Likewise.
14956 * sched-deps.c: Likewise.
14957 * sched-ebb.c: Likewise.
14958 * sched-int.h: Likewise.
14959 * sched-rgn.c: Likewise.
14960 * sched-vis.c: Likewise.
14961 * sibcall.c: Likewise.
14962 * simplify-rtx.c: Likewise.
14963 * sreal.c: Likewise.
14964 * sreal.h: Likewise.
14965 * ssa-ccp.c: Likewise.
14966 * ssa-dce.c: Likewise.
14967 * ssa.c: Likewise.
14968 * ssa.h: Likewise.
14969 * stack.h: Likewise.
14970 * stmt.c: Likewise.
14971 * stor-layout.c: Likewise.
14972 * stringpool.c: Likewise.
14973 * target.h: Likewise.
14974 * timevar.c: Likewise.
14975 * timevar.h: Likewise.
14976 * tlink.c: Likewise.
14977 * tracer.c: Likewise.
14978 * tree-inline.c: Likewise.
14979 * tree-inline.h: Likewise.
14980 * tree.c: Likewise.
14981 * tree.h: Likewise.
14982
14983 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14984
14985 * combine.c (nonzero_bits1): Fix a warning.
14986
14987 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14988
14989 * config/h8300/h8300.c (compute_mov_length): Correct the
14990 length of loading CONST0_RTX (SFmode).
14991
14992 2003-07-05 Nathan Sidwell <nathan@codesourcery.com>
14993
14994 * toplev.c (output_clean_symbol_name): Remove.
14995 * toplev.h (output_clean_symbol_name): Remove.
14996 * config/alpha/alpha.c (unicosmk_output_module_name): Use
14997 lbasename & clean_symbol_name.
14998
14999 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
15000
15001 * ggc.h: Follow spelling conventions.
15002 * config/i386/i386.c: Likewise.
15003 * config/i386/winnt.c: Likewise.
15004 * config/rs6000/rs6000.c: Likewise.
15005
15006 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
15007
15008 * bt-load.c: Fix comment typos.
15009 * c-incpath.c: Likewise.
15010 * cfg.c: Likewise.
15011 * cfgcleanup.c: Likewise.
15012 * cfgloop.h: Likewise.
15013 * cfgloopmanip.c: Likewise.
15014 * cfgrtl.c: Likewise.
15015 * diagnostic.h: Likewise.
15016 * dwarfout.c: Likewise.
15017 * emit-rtl.c: Likewise.
15018 * et-forest.c: Likewise.
15019 * et-forest.h: Likewise.
15020 * expr.c: Likewise.
15021 * gcse.c: Likewise.
15022 * genattr.c: Likewise.
15023 * jump.c: Likewise.
15024 * langhooks.h: Likewise.
15025 * local-alloc.c: Likewise.
15026 * loop-unroll.c: Likewise.
15027 * loop-unswitch.c: Likewise.
15028 * ra-build.c: Likewise.
15029 * regclass.c: Likewise.
15030 * regmove.c: Likewise.
15031 * rtl.def: Likewise.
15032 * rtlanal.c: Likewise.
15033 * sched-ebb.c: Likewise.
15034 * sched-rgn.c: Likewise.
15035 * simplify-rtx.c: Likewise.
15036 * ssa.c: Likewise.
15037 * tracer.c: Likewise.
15038 * tree.c: Likewise.
15039
15040 2003-07-05 Zack Weinberg <zack@codesourcery.com>
15041
15042 * cppcharset.c: Use the correct return type for the fallback iconv
15043 macro.
15044
15045 2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15046
15047 Blame to Jan Hubicka <jh@suse.cz>
15048 * cfglayout.c (record_effective_endpoints): Split insns before
15049 first basic block correctly.
15050
15051 2003-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15052
15053 * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
15054 bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
15055 if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
15056
15057 2003-07-05 Andreas Jaeger <aj@suse.de>
15058
15059 * genattrtab.c (write_attr_get): Revert part of last patch to
15060 always write out a prototype.
15061
15062 * genemit.c (gen_split): Readd lost unused attributes in last
15063 patch.
15064
15065 2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15066
15067 * cfgloopmanip.c (force_single_succ_latches): Force latch to be
15068 different from header.
15069
15070 2003-07-05 Andreas Schwab <schwab@suse.de>
15071
15072 * config/m68k/m68k.c: Remove code protected by CRDS.
15073 * config/m68k/m68k.md: Likewise.
15074
15075 2003-07-05 Neil Booth <neil@daikokuya.co.uk>
15076
15077 PR driver/11417
15078 * c-opts.c (permit_fortran_options): New.
15079 (c_common_init_options): Accept fortran front end options if
15080 it looks like we might be preprocessing Fortran.
15081 (c_common_handle_option): Don't reject switch if permit_fotran_options.
15082
15083 2003-07-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15084
15085 * genattr.c (internal_dfa_insn_code): Output prototype.
15086 * genattrtab.c: Don't output unnecessary decls, output in ISO C.
15087 * genautomata.c: Likewise.
15088 * genconditions.c: Likewise.
15089 * genemit.c: Likewise.
15090 * genextract.c: Likewise.
15091 * gengenrtl.c: Likewise.
15092 * gengtype.c: Likewise.
15093 * genopinit.c: Likewise.
15094 * genoutput.c: Likewise.
15095 * genpeep.c: Likewise.
15096 * genrecog.c: Likewise.
15097
15098 2003-07-04 Zack Weinberg <zack@codesourcery.com>
15099
15100 * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
15101 (struct cpp_options): Add narrow_charset, wide_charset,
15102 bytes_big_endian fields. Remove EBCDIC field.
15103 (cpp_init_iconv, cpp_interpret_string): New external interfaces.
15104
15105 * cpphash.h: Include <iconv.h> if we have it, otherwise
15106 provide a dummy definition of iconv_t.
15107 (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
15108 (_cpp_valid_ucn): Update prototype.
15109 (_cpp_destroy_iconv): New prototype.
15110
15111 * doc/cpp.texi: Document character set handling.
15112 * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
15113 * doc/extend.texi: Delete entire section on multiline strings.
15114 Rewrite section on __FUNCTION__ etc now that these are
15115 variables in C.
15116
15117 * cppucnid.tab, cppucnid.pl: New files.
15118 * cppucnid.h: New generated file.
15119 * cppcharset.c: Include cppucnid.h. Lots of commentary added.
15120 (iconv_open, iconv, iconv_close): Provide dummy definitions
15121 if !HAVE_ICONV.
15122 (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
15123 _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
15124 emit_numeric_escape, convert_hex, convert_oct, convert_escape,
15125 cpp_interpret_string, narrow_str_to_charconst,
15126 wide_str_to_charconst): New.
15127 (ucn_valid_in_identifier): Use a binary search through the
15128 ucnranges table defined in cppucnid.h, not a long chain of if
15129 statements.
15130 (_cpp_valid_ucn): Add a limit pointer. Downgrade "universal
15131 character names are only valid in C++ and C99" to a warning.
15132 Issue the "meaning of \[uU] is different in traditional C"
15133 warning here. Take care not to let iconv see an invalid UCS
15134 value if we get a malformed UCN. Issue an error if we don't
15135 have iconv.
15136 (cpp_interpret_charconst): Moved here from cpplex.c. Use
15137 cpp_interpret_string to do the heavy lifting.
15138
15139 * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
15140 narrow_charset, wide_charset fields of options structure.
15141 (cpp_destroy): Call _cpp_destroy_iconv.
15142 * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
15143 (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
15144 (cpp_interpret_charconst): Moved to cppcharset.c.
15145 * cpplib.c (dequote_string): Delete.
15146 (interpret_string_notranslate): New.
15147 (do_line, do_linemarker): Use interpret_string_notranslate.
15148
15149 * Makefile.in (cppcharset.o): Depend on cppucnid.h.
15150
15151 * c-common.c (fname_string, combine_strings): Delete.
15152 * c-common.h (fname_string, combine_strings): Delete prototypes.
15153 * c-lex.c (ignore_escape_flag): Delete.
15154 (cb_ident): Use cpp_interpret_string, not lex_string.
15155 (get_nonpadding_token): New function.
15156 (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
15157 Adjust calls to lex_string. Don't write *value twice.
15158 (lex_string): Now handles string constant concatenation.
15159 Most of the work handed off to cpp_interpret_string.
15160 Call fix_string_type here.
15161 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
15162 FUNC_NAME, throughout.
15163 (OBJC_STRING): New token type.
15164 (primary:STRING): No need to call fix_string_type here.
15165 (primary:objc_string): Make that OBJC_STRING.
15166 (objc_string nonterminal): Delete.
15167 (yylexname): Delete code to handle fake string constants.
15168 (yylexstring): Delete entirely.
15169 (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING. No need
15170 to handle CPP_ATSIGN.
15171
15172 * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
15173 * c-opts.c (missing_arg, c_common_handle_option): Handle
15174 OPT_fexec_charset_ and OPT_fwide_exec_charset_.
15175 (c_common_init): Set cpp_opts->bytes_big_endian, not
15176 cpp_opts->EBCDIC. Call cpp_init_iconv.
15177 (print_help): Document -fexec-charset= and -fexec-wide-charset=.
15178 (TARGET_EBCDIC): Delete default definition.
15179
15180 * objc/objc-act.c (build_objc_string_object): No need to
15181 handle string constant concatenation.
15182
15183 2003-07-04 Kazu Hirata <kazu@cs.umass.edu>
15184
15185 * doc/install.texi: Fix typos.
15186 * doc/invoke.texi: Likewise.
15187 * doc/tm.texi: Likewise.
15188
15189 2003-07-04 Kazu Hirata <kazu@cs.umass.edu>
15190
15191 * config/pa/fptr.c: Fix comment typos.
15192 * config/pa/pa-64.h: Likewise.
15193 * config/pa/pa.c: Likewise.
15194 * config/pa/pa.h: Likewise.
15195 * config/rs6000/603.md: Likewise.
15196 * config/rs6000/7xx.md: Likewise.
15197 * config/rs6000/darwin.h: Likewise.
15198 * config/rs6000/freebsd.h: Likewise.
15199 * config/rs6000/rs6000.c: Likewise.
15200 * config/rs6000/rs6000.md: Likewise.
15201 * config/rs6000/spe.h: Likewise.
15202
15203 2003-07-04 Ulrich Weigand <uweigand@de.ibm.com>
15204
15205 * config/s390/2064.md: Change GNU CC to GCC.
15206 * config/s390/2084.md: Likewise.
15207 * config/s390/fixdfdi.h: Likewise.
15208 * config/s390/linux.h: Likewise.
15209 * config/s390/s390-modes.def: Likewise.
15210 * config/s390/s390-protos.h: Likewise.
15211 * config/s390/s390.c: Likewise.
15212 * config/s390/s390.h: Likewise.
15213 * config/s390/s390.md: Likewise.
15214 * config/s390/s390x.h: Likewise.
15215
15216 2003-07-04 Jeff Law <law@redhat.com>
15217
15218 PR c/11428
15219 * expr.c (do_store_flag): Pass in the correct result type
15220 when calling fold_single_bit_test.
15221 * fold-const.c (fold_single_bit_test): Use result_type for the
15222 result when folding a sign bit test.
15223
15224 2003-07-04 Neil Booth <neil@daikokuya.co.uk>
15225
15226 * opts.c (common_handle_options): Negate sense of -falign- switches.
15227
15228 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
15229
15230 * Makefile.in: Replace PWD with PWD_COMMAND.
15231
15232 2003-07-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15233
15234 * cfgloopanal.c (count_strange_loop_iterations): New static function.
15235 (constant_iterations, count_loop_iterations, simple_loop_exit_p):
15236 Handle strange loops.
15237
15238 2003-07-04 Toon Moene <toon@moene.indiv.nluug.nl>
15239
15240 * install.texi: Even the g77 manpage is derived from
15241 the full g77 manual.
15242
15243 2003-07-04 Zack Weinberg <zack@codesourcery.com>
15244
15245 * ABOUT-NLS: Delete.
15246 * intl: Delete entire directory.
15247 * aclocal.m4: Include ../config/gettext.m4. Delete
15248 AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
15249 AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
15250 * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
15251 Remove intl/Makefile from all_outputs.
15252 * configure, config.in: Regenerate.
15253 * Makefile.in: Expunge all references to intl subdirectory.
15254 Add -I../intl to INCLUDES.
15255 * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
15256
15257 2003-07-04 Roger Sayle <roger@eyesopen.com>
15258
15259 * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
15260 * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
15261
15262 2003-07-04 Danny Smith <dannysmith@users.sourceforge.net>
15263
15264 PR c++/5287, PR c++/7910, PR c++/11021
15265 * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
15266 dllimport attribute if function is defined at declaration, but
15267 report error instead. Likewise for dllimport'd variable
15268 definitions. Set implicit TREE_PUBLIC for dllimport'd variables
15269 declared within functions, Report error if dllimport or dllexport
15270 symbol is not global.
15271 (i386_pe_dllimport_p): Ignore dllimport attribute of functions
15272 if defined after declaration or if inlined. Don't allow definition
15273 of static data members of C++ classes. Don't dllimport virtual
15274 methods.
15275 (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
15276 (i386_pe_mark_dllimport): Remove unnecessary checks.
15277 (i386_pe_encode_section_info): Warn if the dllimport attribute
15278 and symbol prefix have been instantiated and then overridden.
15279
15280 * doc/extend.texi: Document dllimport and dllexport attributes.
15281
15282 * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
15283
15284 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
15285
15286 * config/kaos.h (CPP_PREDEFINES): Delete.
15287 (TARGET_OS_CPP_BUILTINS): New.
15288
15289 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15290
15291 * c-aux-info.c: Include toplev.h after c-tree.h.
15292 * c-common.c: Likewise.
15293 (GCC_DIAG_STYLE): Undef.
15294 * c-semantics.c (GCC_DIAG_STYLE): Define.
15295 * c-tree.h (GCC_DIAG_STYLE): Likewise.
15296 * diagnostic.h (inform): Move prototype to toplev.h.
15297 * jump.c: Include diagnostic.h before toplev.h.
15298 * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
15299 (warning, error, fatal_error, pedwarn, sorry, inform,
15300 error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
15301
15302 2003-07-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15303
15304 * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
15305 at all if edge is not specified.
15306 (can_copy_bbs_p, copy_bbs): New.
15307 * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
15308 * cfgloop.c (get_loop_body): Comment more precisely.
15309 * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
15310 (scale_bbs_frequencies): Fix comment typo.
15311 (can_duplicate_loop_p): Use can_copy_bbs_p.
15312 (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
15313
15314 2003-07-03 Devang Patel <dpatel@apple.com>
15315
15316 * c-opts.c (c_common_parse_file): Remove extra
15317 debug_hooks->start_source_file call.
15318
15319 2003-07-03 Roger Sayle <roger@eyesopen.com>
15320
15321 * real.c (real_trunc, real_floor, real_ceil): New functions
15322 to implement trunc, floor and ceil respectively.
15323 * real.h (real_trunc, real_floor, real_ceil): Prototype here.
15324 * builtins.c (integer_valued_real_p): New function to test if
15325 a floating point expression has an integer valued result.
15326 (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
15327 foo(x) where foo is an integer rounding function. Similarly,
15328 optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
15329 (double)(int)x when both foo and bar are integer rounding
15330 functions and we don't need to honor errno.
15331 (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
15332 New functions to fold trunc, floor and ceil.
15333 (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
15334 fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
15335 to fold BUILT_IN_CEIL*.
15336 * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
15337 the remaining integer rounding functions.
15338
15339 2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
15340
15341 * config/sparc/sparc.c (function_arg_partial_nregs): Use
15342 SPARC_INT_ARG_MAX to determine where to split unnamed
15343 complex FP arguments.
15344
15345 2003-07-03 Jan Hubicka <jh@suse.cz>
15346
15347 * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
15348 * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
15349 (merge_blocks_move_predecessor_nojumps,
15350 merge_blocks_move_successor_nojumps): Use merge_blocks.
15351 (try_optimize_cfg): Use merge_blocks_move.
15352 * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
15353 (merge_blocks_nomove): Rename to rtl_merge_blocks.
15354 (cfg_layout_create_basic_block): New.
15355 (rtl_can_merge_blocks): New.
15356 (cfg_layout_split_block): Do not alloc aux by hand.
15357 * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
15358 merge_blocks.
15359 (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
15360 * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
15361 * cfgloopmanip.c (loop_split_edge_with): Likewise.
15362 * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
15363
15364 * basic-block.h (basic_block_def): Add field 'rbi'.
15365 * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
15366 find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
15367 * cfg.c (entry_exit_blocks): Add new field.
15368 * cfglayout.c: Include alloc-pool.h;
15369 (cfg_layout_pool): New.
15370 (record_effective_endpoints, fixup_reorder_chain,
15371 fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
15372 of rbi.
15373 (cfg_layout_initialize_rbi): New function.
15374 (cfg_layout_initialize): Use it.
15375 (cfg_layout_finalize): Clear rbi fields.
15376 * cfglayout.h (RBI): Kill.
15377 (cfg_layout_initialize_rbi): Declare.
15378 * cfgloopmanip.c (copy_bbs): Use rbi.
15379 (record_exit_edges): Likewise.
15380 (duplicate_loop_to_header_edge): Likewise.
15381 * cfgrtl.c (cfg_layout_create_basic_block): Use
15382 cfg_layout_initialize_rbi.
15383 (cfg_layout_split_block): Use rbi.
15384 (cfg_layout_delete_block): Likewise.
15385 * loop-init.c (loop_optimizer_finalize): Likewise.
15386 * loop-unswitch.c (unswitch_loop): Likewise.
15387 * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
15388
15389 * cfgrtl.c: Update comments.
15390 (try_redirect_by_replacing_jump): New argument.
15391 (redirect_branch_edge): Break out from ...
15392 (rtl_redirect_edge_and_branch): ... this one.
15393 (update_cfg_after_block_merging): Break out from ...
15394 (rtl_merge_blocks): ... this one.
15395 (cfg_layout_split_edge): New.
15396 (cfg_layout_merge_blocks): New.
15397 (cfg_layout_can_merge_blocks_p): New.
15398 (cfg_layout_redirect_edge_and_branch): Reorganize.
15399 (cfg_layout_rtl_cfg_hooks): Fill in.
15400 (cfg_layout_delete_block): Kill barriers.
15401 * cfganal.c (can_fallthru): Deal with exit blocks
15402 * cfglayout.c (cfg_layout_function_header): New function
15403 (record_effective_endpoints): Record function header.
15404 (fixup_reorder_chain): Fixup dead jumptables; place header
15405
15406 * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
15407 * bb-reorder.c (cfg_layout_initialize): Update call.
15408 * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
15409 edges in cfglayout mode.
15410 * cfglayout.c (cleanup_unconditional_jumps): Kill.
15411 (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
15412 * cfglayout.h (cfg_layout_initialize): Update prototype.
15413 * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
15414 * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
15415 * flow.c (propagate_block): Do not crash when basic block ends
15416 by first insn in the chain.
15417 * loop-init.c (loop_optimizer_init): First enter cfglayout mode; later
15418 do loop discovery.
15419 * tracer.c (tracer): Update call of cfg_layout_initialize.
15420
15421 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15422
15423 * Makefile.in: Use dependency variables in lieu of explicit
15424 files throughout.
15425
15426 2003-07-03 Steven Bosscher <steven@gcc.gnu.org>
15427
15428 * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
15429 * tree.h: ...to here.
15430
15431 2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
15432
15433 * config/s390/2064.md: Fix comment typos.
15434 * config/s390/2084.md: Likewise.
15435 * config/s390/s390.c: Likewise.
15436 * config/s390/s390.md: Likewise.
15437 * config/sh/sh.c: Likewise.
15438 * config/sh/sh.h: Likewise.
15439 * config/sh/sh.md: Likewise.
15440 * config/sparc/sparc.c: Likewise.
15441 * config/sparc/sparc.h: Likewise.
15442 * config/sparc/sparc.md: Likewise.
15443 * config/stormy16/stormy16.c: Likewise.
15444 * config/stormy16/stormy16.h: Likewise.
15445 * config/stormy16/stormy-abi: Fix a typo.
15446
15447 2003-07-03 Kelley Cook <kelleycook@wideopenwest.org>
15448
15449 * Makefile.in (ifcvt.o): Depend on OPTABS_H.
15450
15451 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15452
15453 * config/mips/mips.h (save_argv): Delete.
15454
15455 2003-07-03 Roger Sayle <roger@eyesopen.com>
15456
15457 PR target/10700
15458 * fold-const.c (extract_muldiv_1): There's nothing that can be done
15459 if the expression is a SAVE_EXPR.
15460
15461 2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
15462
15463 * config/m32r/m32r.c: Fix comment typos.
15464 * config/m68hc11/m68hc11.c: Likewise.
15465 * config/m68hc11/m68hc11.h: Likewise.
15466 * config/m68k/m68k.c: Likewise.
15467 * config/mcore/mcore.c: Likewise.
15468 * config/mcore/mcore.h: Likewise.
15469 * config/mcore/mcore.md: Likewise.
15470 * config/mips/mips.c: Likewise.
15471 * config/mips/mips.h: Likewise.
15472 * config/mips/mips.md: Likewise.
15473 * config/mips/netbsd.h: Likewise.
15474 * config/mn10300/mn10300.c: Likewise.
15475
15476 2003-07-03 Andreas Schwab <schwab@suse.de>
15477
15478 * dbxout.c (pending_bincls): Move decl down inside
15479 DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
15480
15481 2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
15482
15483 * rtl.h (NOTE_DATA): Refer to whole union.
15484 * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
15485
15486 2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
15487
15488 PR optimization/11381
15489 * simplify-rtx.c (simplify_relational_operation): Check that
15490 two equal operands have no side-effects before simplifying
15491 the comparison.
15492
15493 2003-07-02 Jeff Law <law@redhat.com>
15494
15495 * expr.c (do_store_flag): Remove special case folding for
15496 single bit tests. Instead call back into the commonized folder
15497 routine.
15498 * fold-const.c (fold_single_bit_test): New function, mostly
15499 extracted from do_store_flag, with an additional case extracted
15500 from fold.
15501 (fold): Call fold_single_bit_test appropriately.
15502 * tree.h (fold_single_bit_test): Prototype.
15503
15504 2003-07-02 Zack Weinberg <zack@codesourcery.com>
15505
15506 * system.h: Include filenames.h.
15507 (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
15508 (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
15509 define based on HAVE_DOS_BASED_FILE_SYSTEM.
15510 * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
15511 * config/i386/xm-mingw32.h: Don't define
15512 HAVE_DOS_BASED_FILE_SYSTEM,
15513 DIR_SEPARATOR, or DIR_SEPARATOR_2.
15514 * doc/hostconfig.texi: Update to match.
15515
15516 * cppfiles.c, gcc.c, gensupport.c, protoize.c,
15517 config/i386/cygwin.h:
15518 Use IS_ABSOLUTE_PATH throughout.
15519 * gcc.c (DIR_UP): Delete, unused.
15520 * protoize.c (IS_SAME_PATH): Define in terms of
15521 FILENAME_CMP.
15522 (is_abspath): Delete.
15523
15524 2003-07-02 Kazu Hirata <kazu@cs.umass.edu>
15525
15526 * config/i386/emmintrin.h: Fix comment typos.
15527 * config/i386/i386.c: Likewise.
15528 * config/i386/i386.h: Likewise.
15529 * config/i386/sco5.h: Likewise.
15530 * config/ia64/ia64.c: Likewise.
15531 * config/ia64/itanium2.md: Likewise.
15532
15533 2003-07-02 H.J. Lu <hongjiu.lu@intel.com>
15534
15535 * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
15536 DBX_USE_BINCL.
15537 (emit_bincl_stab): Same.
15538 (emit_pending_bincls): Same.
15539
15540 2003-07-02 Kazu Hirata <kazu@cs.umass.edu>
15541
15542 * config/h8300/h8300.c (compute_mov_length): Fix the length of
15543 loading CONST0_RTX (SFmode).
15544 * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
15545 'G' to CONST0_RTX (SFmode).
15546 * config/h8300/h8300.md (movsf_h8300): Change the first
15547 constraint to 'G'.
15548 (movsf_h8300h): Likewise.
15549
15550 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
15551
15552 * c-common.h (c_common_init_options): New prototype.
15553 * c-opts.c (deferred_size): Remove.
15554 (defer_opt): Array is now pre-allocated.
15555 (c_common_init_options): Pre-allocate deferred_opts. Make
15556 lang_flags unsigned.
15557 (push_command_line_options): Free deferred_opts.
15558 * hooks.c (hook_uint_uint_constcharptrptr_0): New.
15559 * hooks.h (hook_uint_uint_constcharptrptr_0): New.
15560 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
15561 * langhooks.h (struct lang_hooks): New prototype for init_options.
15562 * main.c (main): Cast argv.
15563 * opts.c (handle_option, handle_options): Update prototypes.
15564 (decode_options): save_argc, save_argv are not global. Constify.
15565 * opts.h (decode_options): New prototype.
15566 * toplev.c (general_init): New protoype.
15567 (save_argv): Make static.
15568 (save_argc): Remove.
15569 (print_switch_values, general_init): Constify.
15570 (toplev_main): Save argv.
15571 * toplev.h (toplev_main): Update prototype.
15572 (save_argc, save_argv): Remove.
15573
15574 2003-07-02 David Edelsohn <edelsohn@gnu.org>
15575
15576 * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
15577 (emit_bincl_stab): Same.
15578 (emit_pending_bincls): Same.
15579
15580 2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
15581
15582 PR c++/11072
15583 * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
15584
15585 2003-07-02 Andreas Schwab <schwab@suse.de>
15586
15587 * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
15588
15589 2003-07-02 Eric Botcazou <ebotcazou@libertysurf.fr>
15590
15591 PR optimization/11210
15592 * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
15593 about the behaviour with regard to bitfields.
15594 * fold-const (decode_field_reference): Record outermost type in
15595 case the expression is a NOP. Strip all NOPs. Set the signedness
15596 to that of the outermost type (if any) when the bitsize is equal
15597 to the size of the type.
15598
15599 2003-07-02 Richard Sandiford <rsandifo@redhat.com>
15600
15601 * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
15602 (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
15603 (adddi3_internal_3, addsi3_internal_2): Likewise.
15604
15605 2003-07-02 Richard Sandiford <rsandifo@redhat.com>
15606
15607 * config/mips/mips.c (machine_function): Add new fields:
15608 ignore_hazard_length_p and all_noreorder_p.
15609 (mips_flag_delayed_branch): New variable.
15610 (override_options): Treat '/' as an operand punctuation character.
15611 Set up mips_flag_delayed_branch.
15612 (print_operand): Handle '/'.
15613 (mips_output_function_prologue): Put the whole function in
15614 .set noreorder and .set nomacro if all_noreorder_p is true.
15615 (mips_output_function_epilogue): End the noreorder/nomacro sequence.
15616 (mips16_optimize_gp): Remove "first insn" parameter.
15617 (mips16_lay_out_constants): New function, split out from mips_reorg.
15618 (mips_avoid_hazard, mips_avoid_hazards): New functions.
15619 (mips_reorg): For mips16 code, call mips16_lay_out_constant
15620 and (optionally) mips16_optimize. If TARGET_EXPLICIT_RELOCS,
15621 do delayed-branch scheduling followed by hazard detection.
15622 (mips_adjust_insn_length): Only account for hazards if
15623 !ignore_hazard_length_p.
15624 (mips_output_load_label): Add a nop to the o32 sequence if
15625 the target suffers from load delays.
15626 (mips_output_conditional_branch): Add %/ to the end of branches.
15627 (mips_output_division): Fill the branch delay slot with %#.
15628 * config/mips/mips.md: Remove redundant '%*' from mips16 branch
15629 instructions. End all other %* branches with %/.
15630 (ffssi2, ffsdi2): Fix lengths.
15631 (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
15632 (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
15633 (fix_truncsfsi2_macro): Likewise.
15634 (mov_lwl): Set hazard to "none".
15635 (ashldi3_internal): Fill the branch delay slot with %#.
15636 (ashrdi3_internal, lshrdi3_internal): Likewise.
15637 (exception_receiver): Explicitly set $28.
15638 (hazard_nop): New pattern.
15639
15640 2003-07-02 Jan Hubicka <jh@suse.cz>
15641
15642 * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
15643 before calling tree_inlinable_function_p.
15644
15645 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15646
15647 * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
15648 <internal/stdio_core.h> too.
15649 (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
15650 <internal/wchar_core.h> too.
15651 Substitute va_list uses in inline definition.
15652 * fixinc/fixincl.x: Regenerate.
15653
15654 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15655
15656 * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
15657 Undef before redefinition.
15658 (LABEL_AFTER_LOC): Likewise.
15659 (DEFAULT_SIGNED_CHAR): Likewise.
15660 (ASM_OUTPUT_ASCII): Moved here from iris4.h.
15661 Fix IRIX spelling.
15662
15663 * config/mips/iris3.h: Remove, unused.
15664 * config/mips/iris4.h: Likewise.
15665
15666 * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
15667
15668 * config/mips/iris5.h (TARGET_DEFAULT): Move ...
15669 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
15670 target_cpu_default.
15671
15672 * config/mips/iris5.h: Move explicit includes ...
15673 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
15674
15675 * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
15676 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15677 tm_defines.
15678
15679 * config/mips/iris6.h (TARGET_DEFAULT): Move ...
15680 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15681 target_cpu_default.
15682
15683 * config/mips/iris6.h: Fix IRIX spelling.
15684 (MULTILIB_DEFAULTS): Undef before redefinition.
15685
15686 * config/mips/iris6.h: Move explicit includes ...
15687 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
15688
15689 2003-07-02 Jan Hubicka <jh@suse.cz>
15690
15691 * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
15692 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
15693 Use next_needed field instead of aux to maintain the queue.
15694 * cgraph.h (cgraph_node): Add next_needed.
15695 (cgraph_varpool_node): Add next_needed; remove aux.
15696 * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
15697
15698 2003-07-02 Jan Hubicka <jh@suse.cz>
15699
15700 * cgraphunit.c (cgraph_finalize_function): Set finalized.
15701 (cgraph_finalize_function): Do not examine inlinablility.
15702 (cgraph_finalize_compilation_unit): Do it here.
15703 * cgraph.h (cgraph_local_info): Add finalized field.
15704
15705 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15706
15707 * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
15708 (gt_pch_restore): Likewise.
15709
15710 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
15711
15712 * config/alpha/alpha.c: Fix comment typos.
15713 * config/alpha/elf.h: Likewise.
15714 * config/arm/arm.c: Likewise.
15715 * config/arm/arm.h: Likewise.
15716 * config/arm/arm.md: Likewise.
15717 * config/arm/t-arm-coff: Likewise.
15718 * config/arm/t-strongarm-pe: Likewise.
15719 * config/arm/xscale-elf.h: Likewise.
15720 * config/avr/avr.h: Likewise.
15721
15722 2003-07-01 Jeff Law <law@redhat.com>
15723
15724 * stmt.c (any_pending_cleanups): Remove another redundant test.
15725
15726 2003-07-01 David Edelsohn <edelsohn@gnu.org>
15727 J"orn Rennecke <joern.rennecke@superh.com>
15728
15729 * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
15730 for MEM case.
15731
15732 2003-07-01 Devang Patel <dpatel@apple.com>
15733
15734 * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
15735 (binclstatus): New.
15736 (struct dbx_file): New members - bincl_status, pending_bincl_name and
15737 prev.
15738 (pending_bincls): New.
15739 (dbxout_init): Initialize new dbx_file members.
15740 (dbxout_start_source_file): Same.
15741 (emit_bincl_stab): New function.
15742 (emit_pending_bincls): Same.
15743 (emit_pending_bincls_if_required): Same.
15744 (dbxout_end_source_file): Emit EINCL stab only if BINCL is already
15745 processed.
15746 (dbxout_begin_block): Emit pending BINCL stabs.
15747 (dbxout_end_block): Same.
15748 (dbxout_function_decl): Same.
15749 (dbxout_continue): Same.
15750 (dbxout_type): Same.
15751 (dbxout_class_name_qualifiers): Same.
15752 (dbxout_symbol): Same.
15753 (dbxout_symbol_location): Same.
15754 (dbxout_parms): Same.
15755
15756 2003-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15757
15758 * c-semantics.c (genrtl_case_label): Fix format specifier bug.
15759 * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
15760
15761 2003-07-01 Andreas Jaeger <aj@suse.de>
15762
15763 * fold-const.c: Convert prototypes to ISO C90.
15764 * function.c: Likewise.
15765 * function.h: Likewise.
15766
15767 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
15768
15769 * doc/contrib.texi: Fix typos.
15770 * doc/invoke.texi: Likewise.
15771 * doc/passes.texi: Likewise.
15772 * doc/sourcebuild.texi: Likewise.
15773 * doc/tm.texi: Likewise.
15774
15775 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
15776
15777 * basic-block.h: Fix comment typos.
15778 * bb-reorder.c: Likewise.
15779 * c-format.c: Likewise.
15780 * cfgcleanup.c: Likewise.
15781 * cfghooks.h: Likewise.
15782 * cfgloop.c: Likewise.
15783 * cfgloopmanip.c: Likewise.
15784 * cfgrtl.c: Likewise.
15785 * cgraph.h: Likewise.
15786 * cgraphunit.c: Likewise.
15787 * combine.c: Likewise.
15788 * convert.c: Likewise.
15789 * dbxout.c: Likewise.
15790 * df.c: Likewise.
15791 * df.h: Likewise.
15792 * diagnostic.c: Likewise.
15793 * dwarf2out.c: Likewise.
15794 * et-forest.h: Likewise.
15795 * flow.c: Likewise.
15796 * fold-const.c: Likewise.
15797 * function.h: Likewise.
15798 * gcov-io.h: Likewise.
15799 * gcov.c: Likewise.
15800 * gcse.c: Likewise.
15801 * genautomata.c: Likewise.
15802 * ggc-common.c: Likewise.
15803 * ggc-page.c: Likewise.
15804 * loop-unroll.c: Likewise.
15805 * loop-unswitch.c: Likewise.
15806 * loop.c: Likewise.
15807 * mips-tfile.c: Likewise.
15808 * optabs.c: Likewise.
15809 * ra-build.c: Likewise.
15810 * ra-colorize.c: Likewise.
15811 * ra-rewrite.c: Likewise.
15812 * ra.h: Likewise.
15813 * regmove.c: Likewise.
15814 * reload.c: Likewise.
15815 * rtlanal.c: Likewise.
15816 * sched-ebb.c: Likewise.
15817 * sched-int.h: Likewise.
15818 * sched-vis.c: Likewise.
15819 * sreal.c: Likewise.
15820 * ssa-ccp.c: Likewise.
15821 * ssa.c: Likewise.
15822 * toplev.c: Likewise.
15823 * tree-inline.c: Likewise.
15824 * value-prof.c: Likewise.
15825 * value-prof.h: Likewise.
15826
15827 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
15828
15829 * rtl.h (emit_line_note_after): Remove.
15830 (emit_note_copy_after, emit_note_copy): New.
15831 * emit-rtl.c (reorder_insns_with_line_notes): Replace
15832 emit_line_note_after with emit_note_copy_after.
15833 (emit_insn_after_with_line_notes): Likewise.
15834 (emit_line_note_after): Kill.
15835 (emit_note_copy_after): New.
15836 (emit_note_copy): New.
15837 * function.c (emit_return_into_block): Use emit_note_copy_after.
15838 (thread_prologue_and_epilogue_insns): Likewise.
15839 * integrate.c (expand_inline_function): Use emit_note_copy.
15840 (copy_insn_list): Likewise.
15841 * unroll.c (copy_loop_body): Likewise.
15842 * cfglayout.c (duplicate_insn_chain): Likewise.
15843
15844 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
15845
15846 * c-tree.h (define_label): Replace filename and lineno arguments
15847 with a location_t.
15848 * c-decl.c (poplevel): Adjust define_label call.
15849 (pop_label_level): Likewise.
15850 (define_label): Replace filename and lineno arguments with a
15851 location_t.
15852 (store_parm_decls): Use DECL_SOURCE_LOCATION.
15853 * c-parse.in (label): Adjust define_label call.
15854
15855 2003-07-01 Neil Booth <neil@daikokuya.co.uk>
15856
15857 * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
15858 config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
15859 config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
15860 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
15861 config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
15862
15863 2003-07-01 Andreas Jaeger <aj@suse.de>
15864
15865 * final.c: Convert prototypes to ISO C90.
15866 * flow.c: Likewise.
15867 * flags.h: Likewise.
15868 * gcov-io.c: Likewise.
15869 * gcov-io.h: Likewise.
15870
15871 See ChangeLog.9 for earlier changes.