* doc/invoke.texi: Deprecate -fwritable-strings.
[gcc.git] / gcc / ChangeLog
1 2003-12-22 Mark Mitchell <mark@codesourcery.com>
2
3 * doc/invoke.texi: Deprecate -fwritable-strings.
4
5 * c-common.c (flag_external_templates): Remove.
6 (flag_alt_external_templates): Likewise.
7 * c-common.h (flag_external_templates): Remove.
8 (flag_alt_external_templates): Likewise.
9 * c-opts.c (c_common_handle_option): Unsupport
10 -falt-external-templates and -ftemplates.
11 * doc/invoke.texi: Remove mention of -fexternal-templates and
12 -falt-external-templates.
13
14 2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
15
16 PR target/13466
17 * config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.
18
19 * emit-rtl.c (copy_rtx_if_shared): Add comment about its use of
20 copy_rtx_if_shared_1.
21 (copy_rtx_if_shared_1): Add comment about what the function does.
22
23 * c-decl.c (finish_function): Change order of checks.
24 (c_expand_body): Likewise.
25
26 2003-12-22 Fariborz Jahanian <fjahanian@apple.com>
27
28 * config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
29 check for the legitimate offset when memory of
30 DImode/DFmode/TFmode/TImode mode is being referenced and target
31 is TARGET_POWERPC64.
32
33 2003-12-22 Dale Johannesen <dalej@apple.com>
34
35 * reload1.c: Add reg_reloaded_call_part_clobbered.
36 (reload_as_needed): Use it.
37 (forget_old_reloads_1): Ditto.
38 (emit_reload_insns): Ditto.
39
40 2003-12-22 Dale Johannesen <dalej@apple.com>
41
42 PR optimization/12828
43 * loop.c: Add find_regs_nested to look inside CLOBBER(MEM).
44 (scan_loop): Call it.
45 * regclass.c (reg_scan_mark_regs): Look inside CLOBBER(MEM).
46
47 2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
48
49 PR c/9163
50 * c-decl.c (poplevel): Only set DECL_INITIAL of a current function
51 if it is non-null.
52 (finish_function): Check for error_mark_node or null on DECL_RESULT and
53 DECL_RESULT of fndecl.
54 (c_expand_body): Only expand when DECL_INITIAL of fndecl is not
55 error_mark_node and not null.
56
57 2003-12-21 Dan Nicolaescu <dann@ics.uci.edu>
58
59 * rtl.h (dump_rtx_statistics): Declare it.
60 * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
61 rtx_alloc_sizes): New static vars.
62 (rtx_alloc, rtvec_alloc): Update them.
63 (dump_rtx_statistics): New function.
64 * toplev.c (finalize): Call it.
65 * ggc-page.c (struct globals): Fix comments. Add new member
66 total_allocated_per_order.
67 (ggc_alloc): Keep track of the total allocated memory.
68 (ggc_print_statistics): Clarify message. Print total allocated
69 memory stats.
70 * configure.in (gather-detailed-mem-stats): New flag.
71 * configure: Regenerate.
72 * config.in: Regenerate.
73 * doc/install.texi (Configuration): Document
74 --enable-gather-detailed-mem-stats.
75
76 2003-12-22 Kazu Hirata <kazu@cs.umass.edu>
77
78 * system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
79 * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
80
81 2003-12-21 Roger Sayle <roger@eyesopen.com>
82
83 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
84 when compiling in ILP32 mode.
85
86 2003-12-21 Andrew Pinski <pinskia@physics.uc.edu>
87
88 * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
89 TARGET_HAVE_TLS is false.
90
91 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
92
93 * config/ip2k/ip2k-protos.h: Remove the prototype for
94 asm_output_section_name.
95 * config/ip2k/ip2k.c (asm_output_section_name): Remove.
96
97 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
98
99 * alias.c: Fix comment formatting.
100 * alloc-pool.c: Likewise.
101 * bitmap.c: Likewise.
102 * bitmap.h: Likewise.
103 * bt-load.c: Likewise.
104 * c-common.c: Likewise.
105 * c-common.h: Likewise.
106 * c-decl.c: Likewise.
107 * c-opts.c: Likewise.
108 * c-pretty-print.c: Likewise.
109 * caller-save.c: Likewise.
110 * cfghooks.h: Likewise.
111 * cgraph.c: Likewise.
112 * collect2.c: Likewise.
113 * cppfiles.c: Likewise.
114 * cpplib.h: Likewise.
115 * dwarf2out.c: Likewise.
116 * dwarfout.c: Likewise.
117 * emit-rtl.c: Likewise.
118 * final.c: Likewise.
119 * function.c: Likewise.
120 * gcov.c: Likewise.
121 * gcse.c: Likewise.
122 * genemit.c: Likewise.
123 * ggc.h: Likewise.
124 * haifa-sched.c: Likewise.
125 * ifcvt.c: Likewise.
126 * libgcc2.h: Likewise.
127 * loop.c: Likewise.
128 * predict.h: Likewise.
129 * unwind-libunwind.c: Likewise.
130 * varasm.c: Likewise.
131
132 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
133
134 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
135 a warning.
136
137 2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
138
139 * config/arm/arm.c: Convert to ISO-C.
140 * config/avr/avr.h: Likewise.
141 * config/fr30/fr30.c: Likewise.
142 * config/ip2k/ip2k.c: Likewise.
143 * config/mn10300/mn10300.c: Likewise.
144
145 2003-12-20 Andrew Pinski <pinskia@gcc.gnu.org>
146 Matt Thomas <matt@3am-software.com>
147
148 PR target/12749
149 * config/i386/i386.c (print_operand): Print only the first
150 8 characters of the float in hex.
151
152 2003-12-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
153
154 * pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
155 2.0 code.
156 (TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
157 (INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
158 and end addresses to I and D cache instruction patterns.
159 * pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
160 and_operand and ior_operand, respectively. When generating 64-bit
161 code, only one operand needs to be a register operand.
162 (xordi3): Change predicates of operands 1 and 2 to register_operand.
163 (one_cmpldi2): Change predicate of operand 1 to register_operand.
164 (dcacheflush, icacheflush): Revise to flush an arbitrary number of
165 cache lines.
166
167 2003-12-20 Josef Zlomek <zlomekj@suse.cz>
168
169 PR optimization/13430, PR optimization/12322
170 * bb-reorder.c (copy_bb_p): Do not allow block with many successors to
171 be copied.
172 (find_traces_1_round): Surround check for fake edges by
173 #ifdef ENABLE_CHECKING #endif.
174
175 2003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
176
177 PR other/7956
178 * genmultilib: New variable disable_multilib. Set it to 'yes'
179 if enable_multilib was set to 'no'. Emit DISABLE_MULTILIB
180 if disable_multilib was set to 'yes'.
181 * gcc.c: Include multilib.h before tm.h.
182 * config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
183 message for multiarch options if DISABLE_MULTILIB is set.
184 * config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
185
186 2003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
187
188 PR c/12085
189 * c-typeck.c (build_function_call): Issue a warning if a
190 function is called through an incompatible prototype and
191 replace the call by a trap in this case.
192
193 2003-12-19 James E Wilson <wilson@specifixinc.com>
194
195 * install.texi (ia64-*-linux): Document minimum libunwind version
196 number.
197
198 2003-12-19 Per Bothner <per@bothner.com>
199
200 * langhooks.c (lhd_print_error_function): Fix for PR c/13110.
201 Don't do pp_newline; it causes an extra blank line.
202 * pretty-print.c (pp_base_flush): Clear pp_needs_newline.
203
204 2003-12-19 Jason Merrill <jason@redhat.com>
205
206 * tree.c (get_unwidened): Decide whether to narrow a bitfield
207 reference based on TYPE_SIZE, not TYPE_PRECISION.
208
209 * stmt.c (parse_output_constraint): Warn about in-out constraint
210 that doesn't allow a register.
211 (parse_input_constraint): Warn about matching constraint that
212 doesn't allow a register.
213
214 2003-12-19 James E Wilson <wilson@specifixinc.com>
215
216 * flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
217 Add case for ASM_OPERANDS.
218 * global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
219 registers.
220
221 2003-12-19 Kazu Hirata <kazu@cs.umass.edu>
222
223 * expr.c (check_max_integer_computation_mode): Remove.
224 * dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
225 * fold-const.c (fold): Likewise.
226 * system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
227 * doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
228
229 2003-12-19 James E Wilson <wilson@specifixinc.com>
230
231 * configure.in: Delete libunwind_has_eh_support test.
232 * configure: Regenerate.
233 * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
234 and libunwind_has_eh_support check.
235 * config/t-libunwind-no-eh: Delete.
236
237 2003-12-19 Joseph S. Myers <jsm@polyomino.org.uk>
238
239 * c-format.c (print_char_table): Allow 'I' flag on floating point
240 decimal formats.
241
242 2003-12-19 Stuart Hastings <stuart@apple.com>
243
244 * gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
245 Trivial fixes for i386.c on Darwin/x86.
246
247 2003-12-19 Fariborz Jahanian <fjahanian@apple.com>
248
249 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
250 recognize macho-style lo_sum adrress patterns.
251
252 2003-12-19 Kazu Hirata <kazu@cs.umass.edu>
253
254 * dwarfout.c: Remove uses of "register" specifier in
255 declarations of arguments and local variables.
256 * gensupport.c: Likewise.
257 * local-alloc.c: Likewise.
258 * regclass.c: Likewise.
259
260 2003-12-19 Kelley Cook <kelleycook@wideopenwest.com>
261
262 * config.guess: Remove.
263
264 2003-12-19 Jakub Jelinek <jakub@redhat.com>
265
266 * config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
267 (unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
268 regstk_top.
269 (uw_frame_state_for): Handle locations inside bundles.
270 (uw_init_context_1): Initialize context->rnat.
271 Set context->regstk_top to lowest rbs address which has nat collection
272 in context->rnat.
273 (uw_install_context): Fix rnat restoring.
274 Restore ar.rsc to previous state.
275 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
276 MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
277
278 2003-12-19 Jakub Jelinek <jakub@redhat.com>
279
280 PR c++/13239
281 * builtins.c (expand_builtin_expect_jump): Update
282 TREE_VALUE (arglist) if unsave_expr_now langhook
283 created a new tree.
284
285 2003-12-19 Richard Earnshaw <rearnsha@arm.com>
286
287 * arm.c (thumb_base_register_rtx_p): Use regno in comparison against
288 FIRST_PSEUDO_REGISTER.
289
290 2003-12-18 Hartmut Penner <hpenner@de.ibm.com>
291
292 * gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
293 for SVR4 ABI.
294
295 2003-12-18 Geoffrey Keating <geoffk@apple.com>
296
297 * config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
298 (OS_MISSING_ALTIVEC): Define.
299 * config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
300 -force_cpusubtype_ALL.
301 * config/rs6000/rs6000.c (rs6000_override_options): Rearrange
302 CPU information table; now always set all CPU-specific values.
303 Also, use Altivec and powerpc64 when chip and OS supports them.
304
305 2003-12-18 Geoffrey Keating <geoffk@apple.com>
306
307 * fixinc/inclhack.def (darwin_macho_dyldh): New.
308 * fixinc/fixincl.x: Regenerate.
309
310 2003-12-18 Dara Hazeghi <dhazeghi@yahoo.com>
311
312 * version.c (version_string): Renumber as 3.4.0
313 * doc/include/gcc-common.texi: Likewise
314
315 2003-12-18 Richard Henderson <rth@redhat.com>
316
317 * genrecog.c (print_host_wide_int): New.
318 (write_switch, write_cond): Use it.
319
320 2003-12-18 Richard Henderson <rth@redhat.com>
321
322 * c-decl.c (check_bitfield_type_and_width): Remove enum special
323 case suppression of pedwarn.
324 * system.h (ENUM_BITFIELD): Use __extension__.
325 (CHAR_BITFIELD): Likewise.
326
327 2003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
328 Mark Dettinger <dettinge@de.ibm.com>
329
330 * config/s390/s390.md (UNSPEC_SRST): New constant.
331 ("strlendi", "strlensi"): New expanders.
332 ("*strlendi", "*strlensi"): New insns.
333
334 2003-12-18 Mark Mitchell <mark@codesourcery.com>
335
336 * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
337 (LINK_ARCH32_SPEC_BASE): ... this new macro.
338 * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
339 ...
340 (LINK_ARCH64_SPEC_BASE): ... this new macro.
341 * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
342 (LINK_ARCH64_SPEC): Likewise.
343
344 2003-12-18 Jason Merrill <jason@redhat.com>
345
346 PR middle-end/13234
347 * tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
348 classes.
349
350 2003-12-18 Steven Bosscher <stevenb@suse.de>
351
352 * Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
353 * toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
354 Don't push and pop TV_REORDER_BLOCKS timevars, do it...
355 * bb-reorder.c (reorder_basic_blocks): ...here, and...
356 * tracer.c (tracer): here.
357
358 2003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
359
360 * loop.c (move_movables): Handle combination of m->consec,
361 m->move_insn_first, and m->insert_temp all nonzero correctly.
362
363 2003-12-18 Kazu Hirata <kazu@cs.umass.edu>
364
365 * calls.c (load_register_parameters): Don't use
366 LOAD_ARGS_REVERSED.
367 * system.h (LOAD_ARGS_REVERSED): Poison.
368 * doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
369
370 2003-12-17 Per Bothner <per@bothner.com>
371
372 * emit-rtl.c (set_new_first_and_last_label_num): Remove function.
373 * rtl.h (set_new_first_and_last_label_num): Remove declaration.
374
375 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
376
377 * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
378 scratch insns of the then branch that clobber regs needed by the
379 else branch.
380
381 2003-12-17 Kazu Hirata <kazu@cs.umass.edu>
382
383 * calls.c (expand_call): Update comments.
384 * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
385 * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
386
387 2003-12-17 James E Wilson <wilson@specifixinc.com>
388 Roger Sayle <roger@eyesopen.com>
389
390 * Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
391 * gcse.c: Include tree.h.
392 (implicit_set_cond_p): New.
393 (find_implicit_sets): Call it.
394
395 2003-12-17 Santiago Vila <sanvila@unex.es>
396
397 * config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
398 TARET_OS_CPP_BUILTINS.
399
400 2003-12-16 Kazu Hirata <kazu@cs.umass.edu>
401
402 * emit-rtl.c: Fix signed/unsigned comparison warnings.
403
404 2003-12-17 Joseph S. Myers <jsm@polyomino.org.uk>
405
406 * predict.c (struct block_info_def, struct edge_info_def): Change
407 bit-fields of width 1 to unsigned int.
408
409 2003-12-16 Geoffrey Keating <geoffk@apple.com>
410
411 PR 12480
412 * c-pch.c (pch_init): Improve error message when precompiled
413 header can't be written.
414
415 PR 12606
416 * c-pch.c (pch_init): Make a PCH file appear invalid while it's
417 being written.
418 (c_common_write_pch): Make it valid once it's done.
419
420 2003-12-17 Ulrich Weigand <uweigand@de.ibm.com>
421
422 PR target/11992
423 * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
424 instead of CLCL.
425 ("*cmpmem_long_31"): Likewise.
426
427 2003-12-17 Vladimir Makarov <vmakarov@redhat.com>
428
429 * config/ia64/ia64.c: Add more comments about insn bundling.
430
431 2003-12-17 Richard Earnshaw <rearnsha@arm.com>
432
433 PR optimization/10592
434 * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
435 or subreg in SET_DEST if it isn't a hard register.
436
437 2003-12-17 David Edelsohn <edelsohn@gnu.org>
438
439 * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
440 -fno-branch-probabilities to arguments when compiling ctors and
441 dtors.
442
443 2003-12-17 Eric Botcazou <ebotcazou@libertysurf.fr>
444
445 * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
446 * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
447
448 2003-12-17 Richard Earnshaw <rearnsha@arm.com>
449
450 * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
451 as base registers for sub-word operations.
452 (thumb_legitimate_address_p): Simplify REG+REG test.
453
454 2003-12-17 Segher Boessenkool <boessen@de.ibm.com>
455
456 * opts.c (wrap_help): Fix overflow.
457
458 2003-12-17 Fred Fish <fnf@redhat.com>
459
460 * configure.in: Remove code to examine linker scripts and set
461 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
462 * configure, config.in: Regenerate.
463
464 2003-12-16 Mark Mitchell <mark@codesourcery.com>
465
466 PR c++/12218
467 * varasm.c (initializer_constant_valid_p): Allow a conversion from
468 an integral constant to an OFFSET_TYPE.
469
470 2003-12-16 Kazu Hirata <kazu@cs.umass.edu>
471
472 PR target/11012
473 * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
474 gen_cmp_ne_small_const_insn.
475 * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
476
477 2003-12-17 Neil Booth <neil@daikokuya.co.uk>
478 Joseph S. Myers <jsm@polyomino.org.uk>
479
480 PR c/3347
481 * c-decl.c (enum_decl_context): Remove BITFIELD.
482 (grokdeclarator): Take bit-field width as an input.
483 Perform bit-field width validation with
484 check_bitfield_type_and_width rather than waiting for
485 finish_struct.
486 (groktypename, groktypename_in_parm_context, start_decl,
487 push_parm_decl, grokfield, start_function): Update calls to
488 grokdeclarator.
489 (check_bitfield_type_and_width): New function.
490 (finish_struct): Move bit-field validation to grokdeclarator
491 and check_bitfield_type_and_width.
492
493 2003-12-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
494
495 PR bootstrap/13386
496 * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
497 using HP native linker.
498 * configure: Rebuilt.
499
500 2003-12-16 Mark Mitchell <mark@codesourcery.com>
501
502 PR c++/13275
503 * c-common.h (enum rid): Add RID_OFFSETOF.
504 * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
505 * ginclude/stddef.h (offsetof): Reimplement for C++, using
506 __offsetof__.
507 * doc/extend.texi: Document __offsetof__.
508
509 2003-12-16 Stan Cox <scox@redhat.com>
510
511 * config/iq2000/iq2000.h: Formatting.
512 (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
513 (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
514 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
515 * config/iq2000/iq2000.c: Formatting.
516 (iq2000_rtx_costs): New.
517
518 2003-12-16 Richard Earnshaw <rearnsha@arm.com>
519
520 * arm.md (addsi3_carryin_shift): Add missing register constraints.
521
522 2003-12-16 Loren James Rittle <ljrittle@acm.org>
523
524 * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
525 pass with -pthread on FreeBSD systems.
526
527 2003-12-16 Richard Sandiford <rsandifo@redhat.com>
528
529 * config/mips/mips.c (mips_file_end): Only write symbols that have
530 been referenced at some point.
531
532 2003-12-16 Richard Sandiford <rsandifo@redhat.com>
533
534 * config/mips/mips.c: Include langhooks.h
535 (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
536
537 2003-12-16 Eric Botcazou <ebotcazou@libertysurf.fr>
538
539 PR optimization/13313
540 * combine.c (make_extraction) [REG]: Do not use
541 gen_lowpart_for_combine when POS is non-zero.
542
543 2003-12-16 Hartmut Penner <hpenner@de.ibm.com>
544
545 * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
546 * testsuite/gcc.dg/altivec-10.c: Test for above.
547
548 2003-12-15 David O'Brien <obrien@FreeBSD.org>
549
550 * Makefile.in (CPPFLAGS): Initialize from configure.
551
552 2003-12-15 Roger Sayle <roger@eyesopen.com>
553
554 PR middle-end/13400
555 * ifcvt.c (noce_process_if_block): Disable unconditional write
556 optimizations if we could introduce a store to trapping memory
557 that wasn't present previously.
558
559 2003-12-15 Kazu Hirata <kazu@cs.umass.edu>
560
561 * system.h (DEFAULT_CALLER_SAVES): Poison.
562 * toplev.c (flag_caller_saves): Always initialize with 0.
563 * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
564
565 2003-12-15 Kazu Hirata <kazu@cs.umass.edu>
566
567 * flow.c (EXIT_IGNORE_STACK): Move to ...
568 * defaults.h (EXIT_IGNORE_STACK): ... here.
569 * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
570 EXIT_IGNORE_STACK.
571 * function.c (expand_function_end): Likewise.
572 * global.c (global_alloc): Likewise.
573 * ra.c (init_ra): Likewise.
574 * reload1.c (init_elim_table): Likewise.
575 * reorg.c (fill_simple_delay_slots): Likewise.
576 * resource.c (init_resource_info): Likewise.
577 * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
578 is 0.
579
580 2003-12-15 J"orn Rennecke <joern.rennecke@superh.com>
581
582 * reload.c (reg_overlap_mentioned_for_reload_p):
583 When looking at a PLUS in X, avoid spuriously returning nonzero
584 when IN is a REG or another simple PLUS, or a MEM containing one.
585
586 * loop.c (loop_invariant_p): Amend comment about where new registers
587 might come from.
588
589 2003-12-15 Andreas Jaeger <aj@suse.de>
590
591 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
592 handling of obsolete language CHILL.
593
594 2003-12-15 Waldek Hebisch <hebisch@math.uni.wroc.pl>
595
596 * tree.c (initializer_zerop): Add test for empty set.
597 * integrate.c (function_cannot_inline_p): Forbid inlining
598 functions calling `longjmp'.
599
600 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
601
602 PR c++/11773
603 * doc/gcov.texi (Gcov and Optimization): Document inline function
604 behaviour. Fix some file suffixes.
605
606 2003-12-14 David O'Brien <obrien@FreeBSD.org>
607
608 * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
609
610 2003-12-14 Mark Mitchell <mark@codesourcery.com>
611
612 * c-common.h (c_parse_error): Declare it.
613 * c-common.c (c_parse_error): New function.
614 * c-parse.y (yyerror): Use it.
615
616 2003-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
617
618 PR target/13054
619 * pa-protos.h (indexed_memory_operand, borx_reg_operand,
620 move_dest_operand, move_src_operand): New protypes.
621 (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
622 * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
623 move_src_operand): New functions.
624 (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
625 (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
626 address until cse is not expected on targets with non-equivalent
627 space registers.
628 (hppa_legitimize_address): Canonicalize unscaled indexed addresses
629 on targets non-equivalent space registers.
630 (emit_move_sequence): Break out indexed addresses from destination
631 operand. Similarly, break out unscaled indexed addresses from
632 source operand on targets with non-equivalent space registers. Fix
633 REG_POINTER flag when possible. Mark register pointer when creating
634 new pointers.
635 (print_operand): Handle unscaled index addresses.
636 * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
637 for EXTRA_CONSTRAINT.
638 (EXTRA_CONSTRAINT): Rework to make more readable.
639 (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
640 subroutines for GO_IF_LEGITIMATE_ADDRESS.
641 (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines. Allow scaled
642 and unscaled addresses. Canonicalize unscaled indexed addresses on
643 targets with non-equivalent space registers. Document issues in
644 handling indexed address modes on PA-RISC.
645 (PREDICATE_CODES): Update for new and deleted predicates.
646 * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
647 Use new predicates in move patterns.
648 Add peephole2 patterns to optimize floating point stores. Fix
649 constrain preferencing in move patterns. Delete patterns for handling
650 unscaled indexed memory loads. Add missing load and store with
651 base-register modification patterns. Correct SFmode floating point
652 store pattern. Add missing zero extension loads.
653
654 2003-12-13 Steven Bosscher <stevenb@suse.de>
655
656 * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
657 comes in with ggc.h. Add a new bool field `dead'.
658 (destroy_ggc_zone): Don't destroy a zone at once. Instead, only
659 set the `dead' flag for the dead zone. Wrap a sanity check in
660 ENABLE_CHECKING.
661 (ggc_collect_1): Always mark and sweep if a zone has the `dead'
662 flag set.
663 (ggc_collect): Free dead zones after collecting.
664
665 2003-12-13 Jan Hubicka <jh@suse.cz>
666
667 * coverage.c (get_coverage_counts): Use inform instead of warning
668 about missing profile.
669
670 2003-12-12 Steven Bosscher <stevenb@suse.de>
671
672 * Makefile.in (opts.o, explow.o): Depend on langhooks.h
673
674 2003-12-12 Geoffrey Keating <geoffk@apple.com>
675
676 * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
677 <powerpc-*-darwin*>: Likewise.
678
679 2003-12-12 Jakub Jelinek <jakub@redhat.com>
680
681 * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
682 (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
683 br_loc[7]. Update comment.
684 (MD_HANDLE_UNWABI): Define.
685 * config/ia64/unwind-ia64.c (struct unw_state_record): Add
686 unwabi field.
687 (struct _Unwind_Context): Increase br_loc array size to 8 entries.
688 (desc_abi): Set unwabi.
689 (uw_update_reg_address): Allow br up to 7.
690 (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
691 (uw_install_context): Load b1..b5 from correct locations.
692 Fix insn loading ar.fpsr.
693 * doc/tm.texi: Document MD_HANDLE_UNWABI.
694
695 2003-12-12 Roger Sayle <roger@eyesopen.com>
696
697 PR optimization/13037
698 * loop.c (update_giv_derive): Ignore redundant sets of a biv when
699 calculating how to derive a giv from a biv.
700
701 2003-12-12 Neil Booth <neil@daikokuya.co.uk>
702
703 PR preprocessor/12935 preprocessor/12952 preprocessor/13046
704 * cpplib.c (prepare_directive_trad): Clear skipping only in
705 #if and #elif directives.
706 (do_undef): Call the handler even if the identifier is not a macro.
707 * cpptrad.c (scan_parameters): Emit an error message.
708 (_cpp_create_trad_definition): Remember the params list even on
709 failure.
710
711 2003-12-11 Zack Weinberg <zack@codesourcery.com>
712
713 * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
714 to inline functions: arm_arm_address_cost, arm_thumb_address_cost
715 respectively.
716 (arm_address_cost): Use 'em.
717
718 2003-12-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
719
720 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
721 __STDC_VERSION__ to ISO C94 for C++.
722
723 * fixinc/inclhack.def (alpha_wchar): New fix.
724 * fixinc/fixincl.x: Regenerate.
725 * fixinc/tests/base/wchar.h: New file.
726
727 2003-12-11 David Mosberger <davidm@hpl.hp.com>
728
729 * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
730 required by C++ ABI for Itanium.
731 * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
732 * config/t-libunwind-no-eh: New file.
733 * configure.in: Check libunwind for _Unwind_Resume() and if it's
734 present, set libunwind_has_eh_support to "yes".
735 * configure: Regenerate.
736 * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
737 set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
738
739 2003-12-11 Richard Sandiford <rsandifo@redhat.com>
740
741 * config/mips/mips.c (mips_global_pointer): Force functions with
742 a nonlocal goto to set up $gp.
743
744 2003-12-11 James E Wilson <wilson@specifixinc.com>
745
746 PR target/13132
747 * function.c (gen_mem_addressof): When no decl, explicitly clear flag
748 bits.
749
750 2003-12-12 Nick Clifton <nickc@redhat.com>
751
752 * config/m32r/m32r.c: Convert to ISO-C
753
754 2003-12-12 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
755
756 * doc/invoke.texi: Replace Mitsubishi with Renesas.
757 * config/m32r/m32r.h: Ditto.
758 * config/m32r/m32r.c: Ditto.
759 * config/m32r/m32r.md: Ditto.
760
761 2003-12-11 Steven Bosscher <steven@gcc.gnu.org>
762
763 * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
764 (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
765 (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
766 (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
767 fields of a basic block.
768 * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
769 cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
770 cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
771 final.c, flow.c, function.c, gcse.c, global.c, graph.c,
772 haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
773 loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
774 ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
775 regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
776 sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
777 config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
778 accessing the `head' and `end' fields of a basic block directly.
779
780 * gengtype.c: Teach about "void**" pointers and "void *" function
781 types. Fixes earlier commit.
782
783 2003-12-10 Geoffrey Keating <geoffk@apple.com>
784
785 * doc/extend.texi (Vector Extensions): Document that bitwise
786 operations also work on vectors.
787
788 2003-12-10 Richard Earnshaw <rearnsha@arm.com>
789
790 * arm.md: New split patterns for optimizing bitfield accesses.
791
792 2003-12-10 Steven Bosscher <stevenb@suse.de>
793
794 * README.Portability: Remove K+R section.
795
796 * gengtype-lex.l: Teach about "void**" pointers and
797 "void*" function types.
798
799 2003-12-10 Eric Botcazou <ebotcazou@libertysurf.fr>
800
801 PR target/13354
802 * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
803 manually if one can do that with only one instruction.
804
805 2003-12-10 Nick Clifton <nickc@redhat.com>
806
807 * config.gcc (arm-linux): Include linux.h in tm_file so that
808 LINUX_TARGET_OS_CPP_BUILTINS is defined.
809 * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
810
811 2003-12-09 James E Wilson <wilson@specifixinc.com>
812
813 * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
814
815 2003-12-09 Matt Austern <austern@apple.com>
816
817 PR c/13134
818 * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
819
820 2003-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
821
822 * config/m32r/m32r.h: Add support for m32r2 processor. Including
823 a new command line option -m32r2 to select it.
824 * config/m32r/m32r.c: Add support for the new processor variant.
825 * config/m32r/m32r.md: Likewise.
826 * config/m32r/t-m32r: Add m32r2 multilibs.
827 * doc/invoke.texi: Document the new command line switch.
828
829 2003-12-08 Kazu Hirata <kazu@cs.umass.edu>
830
831 * defaults.h (LOCAL_REGNO): Give the default definition.
832 * flow.c (LOCAL_REGNO): Remove.
833 * reload1.c (LOCAL_REGNO): Likewise.
834
835 2003-12-08 Geoffrey Keating <geoffk@apple.com>
836
837 PR target/11848
838 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
839 in floating-point registers between TFmode and DImode.
840 * rs6000.c (rs6000_emit_move): Split moves early.
841 (secondary_reload_class): Random Whitespace Change.
842 (rs6000_split_multireg_move): Support moves involving FP registers.
843 Emit instructions directly.
844 * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
845 * altivec.md: Update for changes to rs6000_split_multireg_move.
846 * rs6000.md: Update for changes to rs6000_split_multireg_move.
847 (movtf_internal): Support moves to/from GPRs.
848
849 2003-12-08 Stuart Hastings <stuart@apple.com>
850
851 * config/i386/i386.md: Typo in split of fp-valued if_then_else.
852
853 2003-12-08 James E Wilson <wilson@specifixinc.com>
854
855 PR target/13132
856 * expmed.c (extract_bit_field): Only call mode_for_size for scalar
857 integer modes.
858
859 2003-12-08 Nathanael Nerode <neroden@gcc.gnu.org>
860
861 * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
862 directory.
863
864 2003-12-08 Alexandre Oliva <aoliva@redhat.com>
865
866 * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
867 by using match_scratch.
868 (negdi2): New.
869
870 2003-12-08 Jason Merrill <jason@redhat.com>
871 Daniel Berlin <dberlin@dberlin.org>
872
873 PR debug/11114
874 Support namespaces in DWARF 2 output.
875 * dwarf2out.c (gen_namespace_die): New function.
876 (force_namespace_die, setup_namespace_context): New fns.
877 (declare_in_namespace): New fn.
878 (gen_decl_die): Call declare_in_namespace. Handle namespaces.
879 (dwarf2out_decl): Handle namespaces.
880 (scope_die_for): Pass through a namespace scope.
881 (class_scope_p): Rename to class_or_namespace_scope_p.
882 (gen_subprogram_die, gen_variable_die): Adjust.
883 (gen_struct_or_union_die): Always emit a declaration
884 if context_die is a namespace.
885
886 2003-12-08 Jan Hubicka <jh@suse.cz>
887
888 * unwind-pe.h (read_uleb128): Fix handling of large values
889 (read_sleb128): Fix handling of large values
890
891 2003-12-08 Andrew Pinski <pinskia@physics.uc.edu>
892
893 PR middle-end/10060
894 * emit-rtl.c (copy_rtx_if_shared): Split out into ...
895 (copy_rtx_if_shared_1): here and optimize the last one
896 in the sequence into tail-recursion.
897 (reset_used_flags): Optimize the last one
898 in the sequence into tail-recursion.
899
900 2003-12-08 Richard Earnshaw <rearnsha@arm.com>
901
902 * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
903 for constant X.
904
905 2003-12-08 Richard Sandiford <rsandifo@redhat.com>
906
907 * calls.c (expand_call): Don't try using tail or recursive calls
908 after the function body has been expanded.
909
910 2003-12-08 Jan Hubicka <jh@suse.cz>
911
912 * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
913
914 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
915
916 PR ada/13324, PR ada/12614
917 * doc/install.texi: Update requirements for building Ada.
918
919 2003-12-07 David Edelsohn <edelsohn@gnu.org>
920 Graham Reed <greed@pobox.com>
921
922 * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
923 (GCC_UNDEF_SYMBOL): Same.
924
925 2003-12-07 Kazu Hirata <kazu@cs.umass.edu>
926
927 * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
928 * system.h (FINAL_PRESCAN_LABEL): Poison.
929 * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
930
931 2003-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
932
933 * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
934
935 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
936
937 * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
938 * configure: Regenerate with autoconf 2.13.
939
940 * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
941 with modern equivalents.
942 * configure: Regenerate.
943
944 * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
945 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
946 * configure: Regenerate.
947
948 * configure: Regenerate with (preferred) autoconf 2.57.
949 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
950
951 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
952
953 PR optimization/12965
954 * caller-save.c (save_call_clobbered_regs): Do not save/restore
955 registers around no-return calls.
956
957 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
958
959 * configure.in: Make minimum necessary changes for autoconf 2.5x.
960 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
961 * configure: Regenerate with autoconf 2.58.
962
963 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
964
965 PR optimization/13318
966 * loop.c (express_from): Protect integer division from overflow.
967
968 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
969
970 PR optimization/13060
971 * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
972 replacement already exists. Fix again the whole insn if that fails.
973
974 2003-12-06 Andrew Pinski <pinskia@physics.uc.edu>
975
976 * config/rs6000/rs6000.c (macho_branch_islands): Use
977 HOST_WIDE_INT_PRINT_UNSIGNED.
978
979 2003-12-06 Richard Sandiford <rsandifo@redhat.com>
980
981 * varasm.c (incorporeal_function_p): New.
982 (assemble_external): Use it as a filter.
983 * config/mips/mips.c (mips_output_external): Don't check for builtin
984 functions here.
985
986 2003-12-06 Richard Earnshaw <reanrsha@arm.com>
987
988 * arm.md (IOR (COMPARISON) (AND)): New define_splits.
989
990 2003-12-06 Kelley Cook <kcook@gcc.gnu.org>
991
992 * Makefile.in (program_transform_cross_name): Delete.
993 (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
994 (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
995 (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
996 (install_cpp, install_driver, install-man, uninstall): Likewise.
997
998 2003-12-06 Alan Modra <amodra@bigpond.net.au>
999
1000 PR 13169
1001 * basic-block.h (PROP_ASM_SCAN): Define.
1002 * final.c (regs_asm_clobbered): New array.
1003 * regs.h (regs_asm_clobbered): Declare.
1004 * flow.c (life_analysis): Init it.
1005 (mark_set_regs): Set PROP_ASM_SCAN for asms.
1006 (mark_set_1): Set regs_asm_clobbered.
1007 * global.c (global_alloc): Don't set eliminable_regset when
1008 regs_asm_clobbered.
1009
1010 2003-12-05 Mark Mitchell <mark@codesourcery.com>
1011
1012 * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
1013
1014 PR c++/13314
1015 * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
1016
1017 2003-12-05 Andrew Pinski <pinskia@physics.uc.edu>
1018
1019 PR driver/13211
1020 * gcc.c (execute) Increment execution_count when returning
1021 early because verbose_only_flag is true.
1022
1023 2003-12-05 Per Bothner <pbothner@apple.com>
1024
1025 * cppfiles.c (file_hash_hash): New static function.
1026 (hash_string_eq): Renamed static function to file_hash_eq.
1027 (_cpp_init_files): Create file_hash table with above callbacks.
1028 (cpp_included): Must use htab_find_with_hash insead of htab_find.
1029 (_cpp_find_find, make_cpp_dir): Must use htab_find_slot_with_hash.
1030
1031 2003-12-05 Per Bothner <pbothner@apple.com>
1032
1033 * line-map.h (source_location): New typedef.
1034 (fileline): Redefined as source_location.
1035 (struct line_map, linemap_add, linemap_lookup): Replace filefile
1036 by source_location.
1037 * line-map.c (linemap_add, linemap_lookup): Use source_location.
1038
1039 2003-12-05 Richard Henderson <rth@redhat.com>
1040
1041 * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
1042 field to suppress -Wpadded warnings.
1043
1044 2003-12-05 Stuart Hastings <stuart@apple.com>
1045
1046 * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
1047
1048 2003-12-05 Stuart Menefy <stuart.menefy@st.com>
1049 J"orn Rennecke <joern.rennecke@superh.com>
1050
1051 PR target/13302
1052 * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
1053
1054 2003-12-05 Roger Sayle <roger@eyesopen.com>
1055
1056 * dojump.c (do_jump): If the expression being compared against
1057 zero, is the subreg of a promoted variable, perform the comparison
1058 in the promoted mode.
1059 * simplify-rtx.c (simplify_unary_operation): Optimize sign and
1060 zero-extensions of subregs of promoted variables where the
1061 extension is identical to that used to promote the variable.
1062
1063 2003-12-05 Hans-Peter Nilsson <hp@axis.com>
1064
1065 PR target/13256
1066 * resource.h (enum mark_resource_type): Remove member MARK_DEST.
1067 The only user changed as follows:
1068 * resource.c (mark_set_resources) <case SET>: Always recurse for
1069 SET_SRC (x).
1070 <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
1071 operands.
1072 <case STRICT_LOW_PART>: Delete, deferring to default code.
1073
1074 2003-12-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1075
1076 * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
1077 and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
1078
1079 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
1080
1081 * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
1082 for n32 & n64 abicalls.
1083
1084 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
1085
1086 PR bootstrap/13145
1087 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
1088 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
1089 (mips_load_got): Always create a constant MEM.
1090 (mips_expand_call): Use load_callsi and load_calldi.
1091 * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
1092 (load_callsi, load_calldi): New patterns.
1093
1094 2003-12-05 Peter Gerwinski <peter@gerwinski.de>
1095
1096 * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
1097
1098 2003-12-05 Steven Bosscher <stevenb@suse.de>
1099
1100 * config/d30v/d30v-protos.h , config/d30v/d30v.c,
1101 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1102 config/fr30/fr30-protos.h, config/fr30/fr30.c,
1103 config/i370/i370-protos.h, config/i370/i370.c,
1104 config/i960/i960-protos.h, config/i960/i960.c,
1105 config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
1106 config/m32r/m32r-protos.h, config/m32r/m32r.c,
1107 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
1108 config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
1109 Convert to ISO C90 function declarations and definitions.
1110
1111 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1112
1113 * doc/extend.texi (Constructing Calls): Add warning about
1114 the limitations of the functions.
1115
1116 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1117
1118 PR middle-end/11151
1119 * function.h (struct function): New field 'x_naked_return_label'.
1120 * function.c (free_after_compilation): Set it to NULL.
1121 (expand_function_end): Emit 'naked_return_label' if it exists.
1122 * rtl.h (expand_naked_return): Declare.
1123 * stmt.c (expand_naked_return): New function to generate a
1124 jump to 'naked_return_label'.
1125 * builtins.c (expand_builtin_return): Call expand_naked_return
1126 instead of expand_null_return.
1127 * config/sparc/sparc.md (untyped_return): Likewise.
1128
1129 2003-12-04 Andrew Pinski <pinskia@physics.uc.edu>
1130
1131 PR target/11322
1132 * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
1133
1134 PR target/12467
1135 * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
1136
1137 2003-12-04 Stuart Hastings <stuart@apple.com>
1138
1139 * rs6000.c (output_call, macho_branch_islands,
1140 add_compiler_branch_island, no_previous_def, get_previous_label)
1141 Revisions of xx_stub functions for branch islands,
1142 add -fPIC support for Darwin.
1143 * rs6000-protos.h (output_call) Prototype.
1144 * rs6000.md Use output_call.
1145 * invoke.texi Explain Darwin semantics of -longcall.
1146 * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
1147
1148 2003-12-04 Richard Henderson <rth@redhat.com>
1149
1150 * config/i386/i386.md (addqi3_carry): Use q not r constraints.
1151 (subqi3_carry): Likewise.
1152
1153 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1154
1155 PR optimization/13260
1156 * sh-protos.h (sh_expand_t_scc): Declare.
1157 * sh.h (PREDICATE_CODES): Add cmpsi_operand.
1158 * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
1159 * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
1160 something that is not a CONST_INT, copy it into a pseudo register.
1161 (subc): Fix description of new T value.
1162 (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
1163 (sltu, sleu, sgeu): Likewise.
1164 (seq, sne): Likewise. Use sh_expand_t_scc.
1165
1166 2003-12-04 Nathanael Nerode <neroden@gcc.gnu.org>
1167
1168 * configure.in: Generalize the CONFIG_HEADERS pattern under which
1169 we stamp cstamp-h.
1170 * configure: Regenerate.
1171
1172 * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
1173 to avoid trouble when updating to autoconf 2.5x.
1174 * configure: Regenerate (with autoconf 2.13 still).
1175
1176 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1177
1178 * sh.md (truncdiqi2): Use andi opcode for immediate.
1179 (reload_outdf+1,reload_outdf+2): Remove constraints.
1180 (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
1181 (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
1182 (fipr, ftrv): Add .s suffix to opcode.
1183
1184 2003-12-04 Richard Sandiford <rsandifo@redhat.com>
1185
1186 PR target/13186
1187
1188 Revert all of the following patch, except the addition of
1189 hook_bool_machine_mode_true:
1190
1191 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
1192
1193 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1194 (GTFILES): Add targhooks.c.
1195 (gt-targhooks.h): New rule; depend on s-gtype.
1196 * target.h (direct_pool_load_p): New hook.
1197 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1198 (TARGET_INITIALIZER): Include it.
1199 * targhooks.h (default_direct_pool_load_p): Declare.
1200 (hook_bool_machine_mode_true): Declare.
1201 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1202 gt-targhooks.h.
1203 (pool_symbol): New variable.
1204 (default_direct_pool_load_p): New function.
1205 (hook_bool_machine_mode_true): New function.
1206 * reload.c: Include target.h.
1207 (find_reloads): If an alternative will force a constant into memory,
1208 count an extra reload if constant pool symbols are not valid
1209 addresses. If an alternative uses memory to move values between
1210 registers, count the move as two reloads rather than one.
1211 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1212 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1213
1214 2003-12-03 Mark Mitchell <mark@codesourcery.com>
1215
1216 * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
1217 * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
1218 HAVE_AS_TLS is true.
1219 * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
1220
1221 2003-12-03 James E Wilson <wilson@specifixinc.com>
1222
1223 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
1224
1225 * gcc-page.c (extra_order_size_tab): Correct comment.
1226
1227 2003-12-03 Kazu Hirata <kazu@cs.umass.edu>
1228
1229 * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
1230 instead of gen_push_h8300hs.
1231 (pop): Call gen_pop_h8300hs_advanced instead of
1232 gen_pop_h8300hs.
1233 * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
1234 * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
1235 Tighten the predicate.
1236 (*tablejump_h8300hs_normal): Tighten the predicate.
1237 (push_h8300hs): Change to
1238 push_h8300hs_advanced.
1239 (pop_h8300hs): Change to pop_h8300hs_advanced.
1240
1241 2003-12-03 Eric Christopher <echristo@redhat.com>
1242
1243 * rtl.c: Fix typo.
1244 * config/mips/mips.h: Ditto. Fix formatting.
1245
1246 2003-12-04 Ben Elliston <bje@wasabisystems.com>
1247
1248 * future.options: Remove. Move to gnu.org web pages.
1249
1250 2003-12-03 Eric Christopher <echristo@redhat.com>
1251
1252 * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
1253 from here...
1254 * c-tree.h: to here.
1255
1256 2003-12-03 Jan Hubicka <jh@suse.cz>
1257
1258 PR optimization/12324
1259 * toplev.c (rest_of_decl_compilation): Do not deffer when compiling
1260 in unit-at-a-time mode.
1261
1262 2003-12-03 Jakub Jelinek <jakub@redhat.com>
1263
1264 * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
1265 read-only field if cleared is 0.
1266
1267 2003-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
1268
1269 * config.gcc: Mark obsolete targets for GCC 3.4.
1270
1271 2003-12-03 Zack Weinberg <zack@codesourcery.com>
1272
1273 * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
1274 * config.in, configure.in: Regenerate.
1275 * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
1276 including iconv.h.
1277
1278 2003-12-03 Alan Modra <amodra@bigpond.net.au>
1279
1280 PR target/11229
1281 * cse.c (cse_insn): Set classp using src_const_elt if
1282 src_eqv_elt is NULL.
1283
1284 2003-12-03 Richard Earnshaw <rearnsha@arm.com>
1285
1286 * gcse.c (reg_clear_last_set): New function.
1287 (reg_set_info): If data is non-null, treat it as an sbitmap of
1288 registers, set the bit for the register being set.
1289 (compute_store_table): Allocate last_set_in with xcalloc. Do not
1290 memset this array on each iteration. Pass reg_set_in_block[bb->index]
1291 to note_stores while computing last_set_in instead of scanning
1292 last_set_in after the first pass through the insns.
1293 Clear last_set_in using reg_clear_last_set instead of explicitly
1294 rescanning after each insn. If checking is enabled, assert that
1295 last_set_in is completely zeroed after each bb has been processed.
1296
1297 2003-12-02 Geoffrey Keating <geoffk@geoffk.org>
1298
1299 * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
1300 never read-write.
1301 <REG>: Delete incorrect comment.
1302 <SET>: Remove 'use_flags' variable.
1303
1304 2003-12-03 David Edelsohn <edelsohn@gnu.org>
1305
1306 * function.c (assign_parms): Make sure parm PARALLEL combined
1307 in reg is composed of more than one object and the mode really
1308 produces a reg.
1309
1310 2003-12-03 Jan Hubicka <jh@suse.cz>
1311
1312 * i386.c (classify_argument): Make it 64bit clean.
1313
1314 2003-12-02 Richard Sandiford <rsandifo@redhat.com>
1315
1316 * config/mips/mips.c (mips_output_external): Replace checks for
1317 specific builtin-in functions with a check for DECL_BUILTIN_IN.
1318
1319 2003-12-02 Richard Henderson <rth@redhat.com>
1320
1321 * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
1322 * tree.h (TREE_SET_CODE): Likewise.
1323 * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
1324
1325 2003-12-02 Ben Elliston <bje@wasabisystems.com>
1326
1327 * dbxstclass.h: Rename from this ..
1328 * xcoff.h: .. to this.
1329 * xcoffout.c: Include xcoff.h.
1330
1331 2003-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1332
1333 * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
1334
1335 2003-12-01 James Lemke <jim@wasabisystems.com>
1336
1337 * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
1338
1339 2003-12-01 Roger Sayle <roger@eyesopen.com>
1340
1341 PR optimization/11634
1342 * recog.c (split_insn): Factor test of INSN_P and handling of
1343 set_noop_p out of here into the two callers.
1344 (split_all_insns): Add INSN_P test and set_noop_p handling here.
1345 If deleting a no-op set after reload that has a REG_UNUSED note,
1346 mark the basic block as changed and recalculate life information.
1347 (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
1348 here.
1349
1350 2003-12-01 Roger Sayle <roger@eyesopen.com>
1351
1352 PR optimization/12322
1353 * gcse.c (struct ls_expr): Change type of hash_index from int to
1354 unsigned int.
1355 (hash_expr): Document hash_table_size parameter and wrap long line.
1356 (ldst_entry): Calculate expression's hash_index and record in ptr.
1357 (trim_ld_motion_mems): Use hash_index to search a single bucket
1358 instead of scanning the entire hash_table. Remove the "del" local
1359 variable and use the equivalent "expr == 0" instead. Change last
1360 to be a pointer to the pointer to the current element, to simplify
1361 and speed-up deleting from a linked list.
1362
1363 2003-12-01 James E Wilson <wilson@specifixinc.com>
1364
1365 * doc/contrib.texi: Update David Mosberger.
1366
1367 * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
1368 of missing fields.
1369
1370 PR target/8407
1371 * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
1372 gen_rtx_REG to create new reg with argument mode.
1373
1374 2003-12-01 Steven Bosscher <stevenb@suse.de>
1375
1376 * ggc.h (struct alloc_zone): Move forward declaration up.
1377 (new_ggc_zone): New function prototype.
1378 (destroy_ggc_zone): Ditto.
1379 * ggc-simple.c (new_ggc_zone): New function, does nothing.
1380 (destroy_ggc_zone): Ditto.
1381 * ggc-page.c (new_ggc_zone): New function, does nothing.
1382 (destroy_ggc_zone): Ditto.
1383 * ggc-zone.c (struct page_entry): Fix comment.
1384 (ggc_alloc_typed): Use a switch statement instead of ifs.
1385 (new_ggc_zone): New function to set up a new GC zone.
1386 (destroy_ggc_zone): New function to remove a GC zone.
1387 init_ggc): Use new_ggc_zone to set up the default zones.
1388 (ggc_collect): Walk a list of zones, instead of just the
1389 default zones. Report statistics using the zone name.
1390
1391 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1392
1393 * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
1394
1395 2003-12-01 Roger Sayle <roger@eyesopen.com>
1396
1397 PR optimization/12628
1398 * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
1399 * regclass.c (reg_scan): Include allocate_reg_info time in
1400 TV_REG_SCAN. Minor clean-ups.
1401 (reg_scan_update): Minor clean-ups.
1402
1403 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1404
1405 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
1406
1407 2003-12-01 James E Wilson <wilson@specifixinc.com>
1408
1409 * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
1410 GR_ARG_FIRST.
1411
1412 2003-12-01 Zack Weinberg <zack@codesourcery.com>
1413
1414 * common.opt: Remove -fgnu-linker.
1415 * flags.h: Remove flag_gnu_linker.
1416 * opts.c: Don't handle OPT_fgnu_linker.
1417 * toplev.c: Don't initialize flag_gnu_linker.
1418 Remove gnu-linker entry from f_options.
1419 * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
1420 Don't reset flag_gnu_linker.
1421 * config/mips/mips.c (override_options): Likewise.
1422 * doc/invoke.texi: Remove all mention of -fgnu-linker.
1423
1424 2003-12-01 Daniel Berlin <dberlin@dberlin.org>
1425
1426 * ggc-zone.c (ggc_pch_write_object): Calculate object size using
1427 ggc_get_size (which accounts for large objects properly).
1428
1429 2003-12-01 Jeff Sturm <jsturm@one-point.com>
1430
1431 PR optimization/13024
1432 * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
1433 parameter.
1434 (rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
1435 declaration. Rebuild jump labels following local_alloc if necessary.
1436 (rest_of_compilation): Remove rebuild_label_notes_after_reload
1437 declaration. Don't pass rebuild_notes parameter to
1438 rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
1439 Don't rebuild jump labels.
1440
1441 2003-12-01 Jeff Law <law@redhat.com>
1442
1443 * flow.c (count_or_remove_death_notes_bb): New. Extracted from
1444 count_or_remove_death_notes.
1445 (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
1446
1447 2003-12-01 Andreas Krebbel <krebbel1@de.ibm.com>
1448
1449 * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
1450
1451 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1452
1453 * reload.c (find_reloads_address): Split addresses of type
1454 (plus (plus (reg) (reg)) (const_int)) only if one register
1455 is either a valid base register or else one of the stack
1456 frame related registers (sp/fp/ap).
1457
1458 2003-12-01 Steven Bosscher <stevenb@suse.de>
1459
1460 * function.c (update_epilogue_consts): Don't use PARAMS.
1461 * rtl.h (web_main): Ditto.
1462 * target.h (is_costly_dependence): Ditto
1463
1464 2003-12-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1465
1466 PR middle-end/7847
1467 * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
1468 do not recheck that 'op0' is a MEM. Move comment. When testing for
1469 unaligned objects, take also into account the alignment of 'op0' and
1470 'mode1' if 'op0' is a MEM.
1471
1472 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1473
1474 * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
1475
1476 2003-12-01 Kelley Cook <kcook@gcc.gnu.org>
1477
1478 * doc/install.texi: Note that fastjar is built with automake 1.7.x
1479 and autoconf 2.57.
1480
1481 2003-12-01 Alan Modra <amodra@bigpond.net.au>
1482
1483 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
1484 target_flags directly rather than using TARGET_* defines.
1485
1486 2003-11-30 Ben Elliston <bje@wasabisystems.com>
1487
1488 * doschk.c: Remove.
1489
1490 2003-11-30 Richard Sandiford <rsandifo@redhat.com>
1491
1492 PR target/12727
1493 * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
1494 on 32-bit big-endian targets.
1495
1496 2003-11-30 Kazu Hirata <kazu@cs.umass.edu>
1497
1498 * genemit.c (register_constraints): Remove.
1499
1500 2003-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
1501
1502 * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
1503 "iordi3"): Insns now use multiple letter constraints.
1504 ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
1505 covered by "*movdi_64".
1506 ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
1507 covered by "*movsi_zarch" and "*movsi_esa".
1508 ("*movsi_zarch", "*movsi_!zarch"): New insns.
1509 ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
1510 by "*andsi3_zarch" and "anddi3".
1511 ("*anddi3_ni"): Insn merged with "anddi3".
1512 ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
1513 ("*andsi3_zarch", "*andsi3_esa"): New insns.
1514 ("*iordi3_oi"): Insn merged with "iordi3".
1515 ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
1516 ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
1517
1518 * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
1519 merged to s390_single_part.
1520 (s390_single_part): New function.
1521 NOTE: Semantics have changed a bit. Now the value of the part must
1522 be different from the others to get a non-negative return value.
1523 (s390_extract_qi, s390_extract_hi): Functions merged to
1524 s390_extract_part.
1525 (s390_extract_part, s390_extra_constraint_str,
1526 s390_const_ok_for_constraint_p): New functions. The L constraint got a
1527 new meaning and the N constraint was added as a multiple letter
1528 constraint.
1529 (s390_extra_constraint): Function deleted.
1530 (print_operand): New output modifier 'i' and 'j' added.
1531 All uses of CONST_OK_FOR_LETTER_P were replaced by
1532 CONST_OK_FOR_CONSTRAINT_P.
1533
1534 * config/s390/s390-protos.h: Function prototypes adapted.
1535 * doc/md.texi: Documentation for new constraint letters added.
1536
1537 2003-11-30 Andreas Schwab <schwab@suse.de>
1538
1539 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
1540
1541 2003-11-29 James E Wilson <wilson@specifixinc.com>
1542
1543 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
1544 instead of in shared_name.
1545
1546 * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
1547 * reload1.c (reload): Re-add it here.
1548
1549 2003-11-30 Alan Modra <amodra@bigpond.net.au>
1550
1551 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
1552 set SECTION_WRITE on TARGET_RELOCATABLE.
1553
1554 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
1555
1556 * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
1557
1558 2003-11-28 Gunther Nikl <gni@gecko.de>
1559
1560 * config/m68k/m68k.c (MOTOROLA): Move from here...
1561 * config/m68k/m68k.h (MOTOROLA): ... to here.
1562 (OUTPUT_JUMP): Use do {...} while (0).
1563 * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
1564
1565 2003-11-28 Gunther Nikl <gni@gecko.de>
1566
1567 * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
1568 m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
1569 MOTOROLA and USE_GAS.
1570 * config/m68k/rtemself.h (MOTOROLA): Delete.
1571 * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
1572 * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
1573
1574 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
1575
1576 * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
1577
1578 2003-11-29 Kelley Cook <kcook@gcc.gnu.org>
1579
1580 * Makefile.in (install-info): Install gccinstall.info too.
1581
1582 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
1583
1584 * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
1585
1586 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
1587
1588 * config/s390/s390.md ("movhi"): Do not emit extender pattern
1589 when loading from a (MEM (ADDRESSOF ...)).
1590 ("movqi"): Likewise.
1591
1592 2003-11-29 Joseph S. Myers <jsm@polyomino.org.uk>
1593
1594 PR c/10333
1595 * c-parse.in (typespec_reserved_nonattr): Reject typeof on
1596 bit-fields.
1597
1598 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
1599
1600 * stmt.c (expand_asm_operands): Check whether force_const_mem
1601 succeeded.
1602
1603 2003-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1604
1605 * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
1606 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
1607
1608 * config/alpha/gnu.h, config/alpha/linux.h,
1609 config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
1610 config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
1611 config/i386/linux-aout.h, config/i386/linux.h,
1612 config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
1613 config/m68k/uclinux.h, config/mips/linux.h,
1614 config/mn10300/linux.h, config/pa/pa-linux.h,
1615 config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
1616 config/sparc/linux.h, config/sparc/linux64.h,
1617 config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
1618 HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
1619 all necessary assertions are included.
1620
1621 2003-11-28 Jan Hubicka <jh@suse.cz>
1622
1623 * emit-rtl.c (set_used_flags): New.
1624 (verify_rtx_sharing, verify_rtl_sharing): New.
1625 (unshare_all_rtl_1): Rename to....
1626 (unshare_all_rtl_in_chain): ... this one; make static.
1627 (copy_rtx_if_shared): LABEL_REF chan be shared.
1628 * ifcvt.c (unshare_ifcvt_sequence): New.
1629 (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
1630 noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
1631 noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
1632 noce_try_abs, noce_process_if_block, find_cond_trap
1633 * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
1634 Declare.
1635
1636 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1637
1638 * config/h8300/h8300.md: Fix a comment typo.
1639
1640 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1641
1642 * config/h8300/h8300.md (*movsf_h8300h): Change to
1643 *movsf_h8300hs.
1644 (addsi_h8300): Change to *addsi_h8300.
1645 (addsi_h8300h): Change to *addsi_h8300hs.
1646 (subsi3_h8300): Change to *subsi3_h8300.
1647 (subsi3_h8300h): Change to *subsi3_h8300hs.
1648 (neghi2_h8300h): Change to *neghi2_h8300hs.
1649 (negsi2_h8300h): Change to *negsi2_h8300hs.
1650
1651 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
1652
1653 * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
1654 constraint.
1655 (*subhi3_h8300hs): Likewise.
1656
1657 2003-11-28 David Edelsohn <edelsohn@gnu.org>
1658
1659 * config/rs6000/rs6000.h (MASK_MFCRF): New.
1660 (TARGET_MFCRF): Test target_flags, not processor type.
1661 (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
1662 Change Don't to Do not.
1663 * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
1664 to power4, 970, G5.
1665
1666 2003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
1667
1668 * cse.c (cse_set_around_loop): When changing a constant load
1669 to a register -register copy, add a REG_EQUAL note.
1670
1671 2003-11-27 Randolph Chung <tausq@debian.org>
1672 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1673
1674 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
1675 insns. Use the regular call expander for the call to the profiler.
1676 * pa.md (call_profiler): Delete.
1677 (load_offset_label_address): New insn to load the address of the
1678 current function for the profiler.
1679 (lcla1, lcla2): New insns to output a code label and load its address.
1680
1681 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1682
1683 * final.c (final_scan_insn): Remove commented-out code.
1684
1685 2003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
1686
1687 * doc/install.texi: Remove ADAC reference and make accurate.
1688
1689 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1690
1691 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
1692 (FUNCTION_VALUE_REGNO_P): Likewise.
1693 * config/h8300/h8300.md: Define R0_REG.
1694
1695 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1696
1697 * config/h8300/h8300.c: Fix formatting.
1698 * config/h8300/h8300.md: Likewise.
1699
1700 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1701
1702 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
1703
1704 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1705
1706 * config/h8300/h8300.md: Give names to anonymous insns.
1707
1708 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
1709
1710 * config/h8300/h8300.md (extendqisi2): Remove constraints.
1711
1712 2003-11-27 Gunther Nikl <gni@gecko.de>
1713
1714 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
1715
1716 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1717
1718 PR optimization/13041
1719 * final.c (frame_pointer_needed): Fix comment.
1720 * reload1.c (reload): Decrease alignment of the frame
1721 pointer if it was used for register allocation.
1722
1723 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1724
1725 PR target/12900
1726 * reg-stack (move_for_stack_reg): New prototype. Return
1727 whether a control flow insn was deleted.
1728 (subst_stack_regs_pat): Likewise, using the information provided
1729 by move_for_stack_reg.
1730 (subst_stack_regs): Likewise, using the information provided
1731 by subst_stack_regs_pat.
1732 (convert_regs_1): Record whether a control flow insn was deleted,
1733 using the information provided by subst_stack_regs. Purge dead
1734 edges only if a control flow insn was deleted.
1735
1736 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1737
1738 PR middle-end/8028
1739 PR middle-end/9890
1740 PR middle-end/11151
1741 PR middle-end/12210
1742 PR middle-end/12503
1743 PR middle-end/12692
1744 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
1745 as the base address to copy the memory arguments to.
1746
1747 2003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
1748
1749 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
1750 function aliases as functions.
1751
1752 2003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
1753
1754 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
1755 of ADAC.
1756 * configure: Regenerate.
1757
1758 * Makefile.in: Remove references to ADAC.
1759
1760 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
1761 * configure: Regenerate.
1762
1763 2003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
1764 Olivier Hainque <hainque@act-europe.fr>
1765
1766 PR target/6466
1767 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
1768 (sparc_flat_compute_frame_size): Likewise.
1769 (sparc_flat_save_restore): Move prototype...
1770 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
1771 (save_regs): New prototype.
1772 (build_big_number): Likewise.
1773 (apparent_fsize): Change type to HOST_WIDE_INT.
1774 (actual_fsize): Likewise.
1775 (frame_base_offset): Likewise.
1776 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
1777 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1778 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
1779 to load a 64-bit constant.
1780 (sparc_nonflat_function_prologue): Change string descriptor to
1781 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
1782 (output_restore_regs): Change offset type to HOST_WIDE_INT.
1783 (sparc_nonflat_function_epilogue): Change string descriptor to
1784 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
1785 (output_sibcall): Change size type to HOST_WIDE_INT. Use
1786 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1787 (sparc_frame_info): Change types for several components.
1788 (sparc_flat_compute_frame_size): Update types according to previous
1789 change.
1790 (sparc_flat_function_prologue): Change string descriptor to
1791 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
1792 build_big_number.
1793 (sparc_flat_function_epilogue): Change offset type to int.
1794 Rename 'size1' into 'reg_offset1'. Change string descriptor to
1795 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
1796 limit to 4096 instead of 4095.
1797
1798 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
1799 HOST_WIDE_INT.
1800
1801 2003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1802
1803 * function.c: Make outer_function-chain external.
1804 * function.h: Likewise.
1805
1806 2003-11-24 Richard Sandiford <rsandifo@redhat.com>
1807
1808 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
1809 using GNU ld.
1810 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
1811 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
1812 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
1813 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1814 (SUBTARGET_EXTRA_SPECS): Define.
1815 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1816 to __gcc_init and -fini function to __gcc_fini.
1817 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1818 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1819 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1820 * config/mips/t-iris6gld,
1821 * config/mips/irix6-crti.asm,
1822 * config/mips/irix6-crtn.asm: New files.
1823
1824 2003-11-24 Eric Christopher <echristo@redhat.com>
1825
1826 PR C/13014
1827 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1828 (start_function): Use.
1829 (c_push_function_context): Ditto.
1830 (c-pop_function_context): Ditto.
1831 (language_function): Move...
1832 * c-tree.h: ... here. Add x_in_iteration_stmt, and
1833 x_in_case_stmt.
1834 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1835 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1836 check for valid break or continue statment here...
1837 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1838 here. Change original errors to abort.
1839
1840 2003-11-24 Jan Hubicka <jh@suse.cz>
1841
1842 * fold-const.c (fold): Do not return early when optimizing
1843 COMPONENT_REF and constant.
1844
1845 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1846
1847 * config/h8300/h8300.md (tablejump_h8300): Change to
1848 *tablejump_h8300.
1849 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1850 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1851 (indirect_jump_h8300): Change to *indirect_jump_h8300.
1852 (indirect_jump_h8300h): Change to
1853 *indirect_jump_h8300hs_advanced.
1854 (indirect_jump_normal_mode): Change to
1855 *indirect_jump_h8300hs_normal.
1856
1857 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1858
1859 * config/h8300/h8300.md: Remove constraints from expanders.
1860
1861 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1862
1863 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1864 stm_h8300s_2_advanced.
1865 (stm_h8300s_2_normal): New.
1866 (stm_h8300s_2): Likewise.
1867 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1868 (stm_h8300s_3_normal): New.
1869 (stm_h8300s_3): Likewise.
1870 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1871 (stm_h8300s_4_normal): New.
1872 (stm_h8300s_4): Likewise.
1873 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1874 (ldm_h8300s_2_normal): New.
1875 (ldm_h8300s_2): Likewise.
1876 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1877 (ldm_h8300s_3_normal): New.
1878 (ldm_h8300s_3): Likewise.
1879 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1880 (ldm_h8300s_4_normal): New.
1881 (ldm_h8300s_4): Likewise.
1882 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1883 (two peephole2's): New.
1884
1885 2003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1886
1887 * genattrtab.c (simplify_cond): Update indices correctly.
1888 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1889 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1890 (check_attr_test, encode_units_mask, compute_alternative_mask,
1891 make_alternative_compare, simplify_and_tree,
1892 attr_rtx_cost, simplify_test_exp, gen_attr,
1893 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1894 * rtl.def (EQ_ATTR_ALT): New.
1895
1896 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1897
1898 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1899 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1900 New variables.
1901 (main): Initialize them.
1902 (find_attr): Canonicalize the attribute name string.
1903 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1904 string arguments.
1905 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1906 (check_attr_test, check_attr_value, make_length_attrs,
1907 write_length_unit_log, simplify_by_exploding, gen_attr,
1908 write_test_expr, write_attr_value, write_eligible_delay,
1909 write_complex_function, make_internal_attr,
1910 write_const_num_delay_slots): Changed due to change of type of
1911 find_attr.
1912 (fill_attr, evaluate_eq_attr, simplify_and_tree,
1913 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1914 strcmp_check.
1915
1916 2003-11-23 Kazu Hirata <kazu@cs.umass.edu>
1917
1918 PR target/13122
1919 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1920 normal mode.
1921 (pop): Call pop_h8300hs_normal in normal mode.
1922 * config/h8300/h8300.md: Likewise.
1923 (pushqi1_h8300hs_normal): New.
1924 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1925 (pushhi1_h8300hs_normal): New.
1926 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1927 (push_h8300hs_normal): New.
1928 (pop_h8300hs_normal): Likewise.
1929
1930 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1931
1932 * genattrtab.c (count_sub_rtxs): Removed.
1933
1934 2003-11-23 Richard Earnshaw <rearnsha@arm.com>
1935
1936 * recog.c (preprocess_constraints): Only zero those elements of
1937 recog_op_alt that are needed for this insn.
1938 * arm.c (note_invalid_constants): A function can't contain invalid
1939 constants if it has no constraints.
1940
1941 2003-11-22 Jan Hubicka <jh@suse.cz>
1942
1943 * i386.c (classify_argument): Pass __float128 in memory.
1944 (ix86_return_in_memory): Likewise.
1945 (ix86_libcall_value): Likewsie.
1946
1947 2003-11-22 Kazu Hirata <kazu@cs.umass.edu>
1948
1949 * config/h8300/h8300.c (dosize): Convert to ISO-C.
1950
1951 2003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
1952
1953 * flow.c (update_life_info): Amend comment about when a register
1954 can become dead.
1955
1956 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
1957
1958 * doc/.cvsignore: Delete.
1959
1960 2003-11-21 Daniel Berlin <dberlin@dberlin.org>
1961 David Edelsohn <edelsohn@gnu.org>
1962
1963 * dwarf2out.c (add_location_or_const_value_attribute): Add support
1964 for PARALLEL.
1965
1966 2003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1967
1968 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1969 (TARGET_LIBGCC2_CFLAGS): Define.
1970
1971 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1972 (__do_global_ctors): Likewise.
1973
1974 2003-11-21 Mark Wielaard <mark@klomp.org>
1975
1976 * doc/invoke.texi (-O2): Doesn't enable -fweb.
1977
1978 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1979
1980 * doc/invoke.texi: Mention dV and dZ.
1981
1982 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1983
1984 * doc/invoke.texi: Update dump file names.
1985 Remove de, dW, and dX.
1986
1987 2003-11-20 James E Wilson <wilson@specifixinc.com>
1988
1989 PR c/13133
1990 * reload1.c (reload): Delete special handling for setjmp.
1991
1992 2003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
1993
1994 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1995 step too.
1996 * config/t-slibgcc-darwin: Adjust install path.
1997 * config/rs6000/t-darwin: Revert multilib matches since
1998 it is not used on darwin.
1999
2000 2003-11-20 Richard Henderson <rth@redhat.com>
2001
2002 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
2003 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
2004 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
2005 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
2006 * flow.c: Don't include ssa.h.
2007 (set_phi_alternative_reg): Remove.
2008 (calculate_global_regs_live): Don't call it.
2009 (mark_used_regs): Don't handle PHI.
2010 * gengtype.c (open_base_files): Don't reference ssa.h.
2011 * rtl.def (PHI): Remove.
2012 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
2013 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
2014 * opts.c (common_handle_option): Likewise.
2015 * toplev.c (f_options): Likewise.
2016 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
2017 (dump_file): Update to match.
2018 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
2019 (rest_of_handle_ssa): Remove.
2020 (rest_of_compilation): Don't call it.
2021 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
2022 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
2023 * doc/passes.texi (SSA optimizations): Remove.
2024
2025 2003-11-20 Bob Wilson <bob.wilson@acm.org>
2026
2027 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
2028 * configure: Regenerate.
2029
2030 2003-11-20 Kelley Cook <kcook@gcc.gnu.org>
2031
2032 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
2033
2034 2003-11-20 David Mosberger <davidm@hpl.hp.com>
2035
2036 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
2037 (SHLIB_LC): Define.
2038 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
2039 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
2040
2041 2003-11-20 Fariborz Jahanian <fjahanian@apple.com>
2042 David Edelsohn <edelsohn@gnu.org>
2043
2044 * calls.c (expand_call): Allocate new temp in pass1.
2045 (store_one_arg): If PARALLEL, calculate excess using mode size of
2046 rtvec elt.
2047 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
2048 mode size of rtvec elt.
2049 * function.c (assign_parms): Use parm in register, if available.
2050
2051 2003-11-20 Kazu Hirata <kazu@cs.umass.edu>
2052
2053 * config/h8300/lib1funcs.asm (MOVP): Remove.
2054 (ADDP): Likewise.
2055 (CMPP): Likewise.
2056
2057 2003-11-20 Richard Earnshaw <rearnsha@arm.com>
2058
2059 * arm.c (use_return_insn): New argument, SIBLING. Support returning
2060 with a single instruction if the stack has been decremented by 4
2061 and we have a frame pointer. Update all callers.
2062 (output_return_instruction): Likewise.
2063 (arm_output_epilogue): Change argument to SIBLING. Calculate
2064 really_return from the new argument. Update all callers.
2065 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
2066 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
2067 pass the sibling call.
2068 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
2069 prototypes.
2070
2071 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2072
2073 * Makefile.in (extraclean): Delete.
2074 * configure.in (target_list): Remove extraclean.
2075 * configure: Regenerate.
2076 * doc/makefile.texi, doc/sourcebuild.texi: Update.
2077 * objc/Make-lang.in (objc.extraclean): Delete.
2078
2079 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2080
2081 * Makefile.in (lang_checks): Add.
2082 (check-c++, check-f77, check-java, check-g++, check-g77,
2083 check-objc): Remove hardcoded targets.
2084 * doc/sourcebuild.texi: Document testsuite hooks.
2085 * objc/Make-lang.in (check-objc, lang_checks): Add.
2086
2087 2003-11-19 Scott Snyder <snyder@fnal.gov>
2088
2089 PR target/13131
2090 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
2091 flag, not a constant.
2092
2093 2003-11-19 Kelley Cook <kcook@gcc.gnu.org>
2094
2095 * config/arc/arc-protos.h: Update to C90 prototypes.
2096 * config/arc/arc.c: Likewise.
2097 * config/arc/initfini.c: Likewise.
2098
2099 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
2100
2101 * stmt.c (expand_goto): Memory clobbers added.
2102
2103 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
2104
2105 * reload.c (find_reloads): Added missing type casts.
2106
2107 2003-11-19 James E Wilson <wilson@specifixinc.com>
2108
2109 * combine.c (sets_function_arg_p): Delete unused function.
2110
2111 2003-11-19 Eric Christopher <echristo@redhat.com>
2112
2113 * reload1.c (reload): Revert 2 previous checkins.
2114
2115 2003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
2116
2117 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
2118 whether directive begins at the beginning of a line.
2119
2120 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
2121
2122 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
2123
2124 2003-11-19 Gerald Pfeifer <gp@suse.de>
2125
2126 * doc/install.texi (Specific): Remove information on old versions
2127 of glibc versus old versions of GCC.
2128
2129 2003-11-19 Richard SAndiford <rsandifo@redhat.com>
2130
2131 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
2132 the register lowpart is a TRULY_NOOP_TRUNCATION.
2133
2134 2003-11-19 Richard Henderson <rth@redhat.com>
2135
2136 * config/i386/i386.c (print_reg): Handle QI and HI modes for
2137 non Q regs.
2138
2139 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
2140
2141 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
2142 specification file.
2143 * config/t-slibgcc-darwin: New file, libgcc build specification.
2144 * config/t-darwin: Add libgcc2 flag -fPIC.
2145 * config/rs6000/t-darwin: Multilib matches float.
2146 * libgcc-darwin.ver: New file, contains libgcc symbols.
2147
2148 2003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
2149
2150 * config/ns32k/ns32k.h: Remove obsolete comment.
2151
2152 2003-11-18 Roger Sayle <roger@eyesopen.com>
2153
2154 PR middle-end/11821
2155 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
2156 size for calls to libgcc's div & mod subroutines when using -Os.
2157
2158 2003-11-18 Jan Hubicka <jh@suse.cz>
2159
2160 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
2161
2162 2003-11-18 Marc Espie <espie@openbsd.org>
2163
2164 * config/rs6000/sysv4.h: OpenBSD hooks.
2165
2166 2003-11-18 Richard Henderson <rth@redhat.com>
2167
2168 * expr.c (expand_expr): Don't look through constant arrays if
2169 they don't bind locally.
2170
2171 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2172
2173 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
2174 when seeing if truncation or extension.
2175
2176 2003-11-17 Eric Christopher <echristo@redhat.com>
2177
2178 * reload1.c (reload): Fix previous change.
2179
2180 2003-11-17 Scott Snyder <snyder@fnal.gov>
2181
2182 PR debug/11325
2183 * dwarf2out.c (struct die_struct): Add die_definition field.
2184 (add_AT_specification): New.
2185 (gen_subprogram_die, gen_variable_die,
2186 gen_struct_or_union_type_die): Use it.
2187 (prune_unused_types_mark): If we're marking a forward declaration,
2188 also mark the full definition, if it exists.
2189
2190 2003-11-16 Nick Clifton <nickc@redhat.com>
2191
2192 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
2193 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
2194 Remove prototype.
2195 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
2196 to xstormy16_build_builtin_va_list and make static.
2197 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
2198
2199 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2200
2201 * config/h8300/h8300-protos.h: Add the prototype for
2202 same_cmp_following_p.
2203 * config/h8300/h8300.c (same_cmp_following_p): New.
2204 * config/h8300/h8300.md (peephole2): Use it.
2205
2206 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2207
2208 * config/h8300/h8300.md: Don't use REGNO when its operand is
2209 not guaranteed to be a REG.
2210
2211 2003-11-16 Richard Sandiford <rsandifo@redhat.com>
2212
2213 * Makefile.in (expr.o): Depend on $(TARGET_H).
2214 * target.h (return_in_msb): New target hook.
2215 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
2216 (TARGET_CALLS): Include it.
2217 * calls.c (shift_returned_value): New function.
2218 (expand_call): Use it.
2219 * expr.c: Include target.h.
2220 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
2221 deciding what padding is needed. Change the name of the local
2222 padding variable from big_endian_correction to padding_correction.
2223 * stmt.c (shift_return_value): New function.
2224 (expand_return): Use it. Adjust memory->register copy in the same
2225 way as copy_blkmode_from_reg. Only change the return register's
2226 mode if it was originally BLKmode.
2227 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
2228 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
2229 (mips_fpr_return_fields): New, split out from mips_function_value.
2230 (mips_return_in_msb, mips_return_fpr_pair): New functions.
2231 (mips_function_value): Rework to use the functions above.
2232 * config/mips/irix6-libc-compat.c: Delete.
2233 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
2234
2235 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2236
2237 * doc/install.texi (--enable-checking): Update valgrind's URL.
2238
2239 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2240
2241 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
2242 with -2147483647 - 1.
2243
2244 2003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
2245
2246 Fix links in online manuals.
2247 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
2248 (Precompiled Headers): @pxref to cpp, not cpp.info.
2249
2250 2003-11-16 Jason Merrill <jason@redhat.com>
2251
2252 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
2253 files in each directory and TAGS files that include them for each
2254 front end.
2255
2256 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
2257
2258 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
2259 3 of S2L.
2260 (modnorm): Likewise.
2261 (exitdiv): Look at bit 3 of S2L only.
2262
2263 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
2264
2265 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
2266 (DO_GLOBAL_DTORS_BODY): Likewise.
2267
2268 2003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
2269
2270 * doc/install.texi (Prerequisites): Refine documentation of
2271 autoconf, automake and perl requirements. Document required
2272 gettext version.
2273
2274 <2003-11-14 Jason Merrill <jason@redhat.com>
2275
2276 * function.c (assign_parms): Use TREE_TYPE to determine the real
2277 type of the argument object.
2278
2279 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2280
2281 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
2282 iteration.
2283
2284 2003-11-14 Fariborz Jahanian <fjahanian@apple.com>
2285
2286 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
2287 New routine to save vararg registers on stack. Support for
2288 -mpowerpc64 in mixed mode.
2289
2290 2003-11-14 Bernardo Innocenti <bernie@develer.com>
2291
2292 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
2293 for MOTOROLA versus MIT syntax. Improves readability and provides
2294 better compile-time error checking for both code paths.
2295
2296 2003-11-14 Kelley Cook <kcook@gcc.gnu.org>
2297
2298 * config/frv/frv-protos.h: Update for C90.
2299 * config/frv/frv.h: Likewise.
2300 * config/frv/frvbegin.c: Likewise.
2301 * config/frv/frv.c: Likewise.
2302 (frv_adjust_field_align): Delete unused variable.
2303
2304 2003-11-14 Geoffrey Keating <geoffk@apple.com>
2305
2306 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
2307 to each place where TARGET_LONG_DOUBLE_128 is used with
2308 DEFAULT_ABI == ABI_AIX.
2309
2310 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
2311 message comply with GNU standards.
2312
2313 2003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2314
2315 PR/6552
2316 * function.c (struct epi_info): New field const_equiv.
2317 (update_epilogue_consts): New function.
2318 (keep_stack_depressed): Clear new field and verify scratch register
2319 doesn't have it set.
2320 Call new function via note_stores.
2321 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
2322 Allow PLUS where second operand is register known set to constant.
2323 (emit_equiv_load): Write load using proper mode if source different.
2324 * config/mips/mips.md (return_internal): Put (return) first.
2325
2326 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2327
2328 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
2329
2330 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2331
2332 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
2333 registers.
2334 (divsi3): Likewise.
2335 (reti): Don't restore unused registers.
2336
2337 2003-11-14 Nick Clifton <nickc@redhat.com>
2338
2339 * config/fr30/fr30.c: Include toplev.h
2340
2341 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
2342
2343 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
2344
2345 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
2346
2347 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
2348 function definition syntax.
2349
2350 2003-11-14 Eric Christopher <echristo@redhat.com>
2351
2352 * reload1.c (reload): Revert previous patch. Make
2353 check for assignment into reg_equiv_address stricter.
2354
2355 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
2356
2357 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
2358
2359 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
2360
2361 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
2362 section names.
2363
2364 2003-11-14 Jason Merrill <jason@redhat.com>
2365
2366 PR middle-end/12526
2367 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
2368 * calls.c (call_expr_flags): New fn.
2369 * tree.h: Declare it.
2370
2371 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2372
2373 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
2374 (divmodsi3): Change the name to ___udivsi3.
2375 Update all callers.
2376
2377 2003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2378
2379 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
2380 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
2381 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
2382 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
2383 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
2384 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
2385 Const-ify and/or initialize automatic variables at declaration.
2386
2387 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2388
2389 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
2390 of er4 with er3. Adjust all callers.
2391
2392 2003-11-13 Andrew Pinski <apinski@apple.com>
2393
2394 * config/darwin.c (machopic_output_possible_stub_label):
2395 Allow stub symbol be not defined when outputting possible
2396 stub label.
2397
2398 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2399
2400 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
2401 instead of exitdiv.
2402 (___umodsi3): Likewise.
2403 (exitdiv): Do not restore any register.
2404 (reti): Restore registers.
2405
2406 2003-11-13 Steven Bosscher <stevenb@suse.de>
2407
2408 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
2409
2410 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2411
2412 * config/h8300/lib1funcs.asm: Fix comment typos.
2413
2414 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2415
2416 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
2417 unused registers. Don't jump to exitdiv.
2418 (umodsi3): Likewise.
2419
2420 2003-11-13 Mark Mitchell <mark@codesourcery.com>
2421 Kean Johnston <jkj@sco.com>
2422
2423 PR c/13029
2424 * toplev.c (check_global_declarations): Do not warn about unused
2425 static consts.
2426
2427 2003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
2428 Kazu Hirata <kazu@cs.umass.edu>
2429
2430 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
2431 the approximate quotient method.
2432
2433 2003-11-13 Richard Earnshaw <rearnsha@arm.com>
2434
2435 * combine.c (distribute_notes): When re-distributing the notes from
2436 an insn we are about to delete, ensure we can't end up with a cyclic
2437 list of notes.
2438
2439 2003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2440
2441 PR optimization/12926
2442 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
2443 the UNCHANGING_RTX_P flag on memory references to read-only
2444 components that are not addressable.
2445
2446 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
2447
2448 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
2449 DenHighNonZero.
2450
2451 2003-11-13 Jan Hubicka <jh@suse.cz>
2452
2453 PR opt/12275
2454 * c-decl.c (finish_decl): Use change_decl_assembler_name.
2455 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
2456 * varasm.c (make_decl_rtl): Likewise.
2457 * cgraph.c (change_decl_assembler_name): New function.
2458 * tree.h (set_decl_assembler_name): Kill dead declaration.
2459 (change_decl_assembler_name): Declare.
2460
2461 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2462 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2463
2464 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
2465
2466 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
2467 an unused register.
2468
2469 2003-11-12 Richard Sandiford <rsandifo@redhat.com>
2470
2471 PR bootstrap/12752
2472 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
2473 (MULTILIB_OSDIRNAMES): Reorder accordingly.
2474
2475 2003-11-12 Janis Johnson <janis187@us.ibm.com>
2476
2477 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
2478 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
2479 (rs6000_emit_eh_reg_restore): Add
2480 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
2481 of vars_size and total_size to HOST_WIDE_INT.
2482 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
2483 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
2484 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
2485 values.
2486 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
2487 (rs6000_initial_elimination_offset): New, with code formerly in
2488 INITIAL_ELIMINATION_OFFSET.
2489 * rs6000.h (rs6000_stack_t): Remove.
2490 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
2491 rs6000_initial_elimination_offset.
2492 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
2493 rs6000_emit_eh_reg_restore.
2494
2495 2003-11-12 Mike Stump <mrs@apple.com>
2496
2497 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
2498 is the argumnt we are processing so that warnings and errors
2499 will have that information.
2500 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
2501 * lang-hooks-def.h
2502 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
2503 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
2504 * langhooks.h (convert_parm_for_inlining): Likewise.
2505 * tree-inline.c (initialize_inlined_parameters): Compute and
2506 pass argnum down.
2507
2508 2003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
2509 Roger Sayle <roger@eyesopen.com>
2510
2511 PR optimization/12953
2512 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
2513 before switch by FUNCTION_CODE.
2514
2515 2003-11-12 Richard Earnshaw <rearnsha@arm.com>
2516
2517 * arm.md (storehi): Avoid use of explicit subreg.
2518 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
2519
2520 2003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
2521
2522 * config/sh/sh.md (prefetch): New pattern.
2523
2524 2003-11-11 Eric Christopher <echristo@redhat.com>
2525
2526 * reload1.c (reload): Verify that addresses for
2527 reg_equiv_* are valid for the architecture.
2528
2529 2003-11-11 Eric Christopher <echristo@redhat.com>
2530
2531 * function.c (purge_addressof_1): Add libcall check.
2532 Remove test for cached replacements on fallback case.
2533 Simplify mode comparisons. Add libcall test for
2534 paradoxical subregs.
2535
2536 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
2537
2538 * config/h8300/t-h8300: Fix an obsolete comment.
2539
2540 2003-11-11 James E Wilson <wilson@specifixinc.com>
2541
2542 * expmed.c (store_bit_field, extract_bit_field): Revert last two
2543 changes.
2544
2545 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
2546
2547 * config/h8300/lib1funcs.asm: Replace DenHighZero with
2548 DenHighNonZero.
2549
2550 2003-11-11 Jan Hubicka <jh@suse.cz>
2551
2552 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
2553 really_no_inline.
2554
2555 2003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2556
2557 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
2558 generating 64-bit code.
2559
2560 2003-11-10 David Edelsohn <edelsohn@gnu.org>
2561
2562 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
2563 accidental commit in previous change.
2564
2565 2003-11-10 Fariborz Jahanian <fjahanian@apple.com>
2566
2567 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
2568 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
2569 address recognition.
2570 (macho_lo_sum_memory_operand): Routine to recognize macho-style
2571 address recognition.
2572
2573 2003-11-10 Richard Henderson <rth@redhat.com>
2574
2575 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
2576
2577 2003-11-10 Matt Austern <austern@apple.com>
2578
2579 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
2580 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
2581 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
2582 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
2583 darwin_assemble_visibility instead of default.
2584
2585 2003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
2586
2587 PR target/12865
2588 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
2589 __enable_execute_stack only after writing onto the stack.
2590 (sparc64_initialize_trampoline): Likewise.
2591
2592 2003-11-09 Roger Sayle <roger@eyesopen.com>
2593
2594 * loop.c (check_dbra_loop): Try swapping the comparison operands
2595 of the loop condition to identify a suitable induction variable.
2596 * unroll.c (loop_iterations): Likewise.
2597
2598 2003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2599
2600 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
2601 sparc64 #cpu and #machine assertions.
2602
2603 2003-11-09 Richard Henderson <rth@redhat.com>
2604
2605 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
2606
2607 2003-11-09 Jan Hubicka <jh@suse.cz>
2608
2609 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
2610
2611 * cgraphunit.c (cgraph_expand_function): Use
2612 cgraph_possibly_inlined_p.
2613 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
2614
2615 * opts.c (common_handle_option): Do not set max-inline-insns.
2616 * params.def: Update comments.
2617 (PARAM_MAX_INLINE_INSNS): Kill.
2618 * invoke.texi (max-inline-insns): Kill.
2619
2620 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
2621
2622 PR c/3190
2623 PR c/8714
2624 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
2625 * invoke.texi: Update.
2626
2627 2003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2628
2629 PR optimization/12630
2630 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
2631 Handle length computation 64-bit moves.
2632 (compute_clrstr_length, output_block_clear): Implement block clear.
2633 (output_block_move): Handle 64-bit moves.
2634 (pa_adjust_insn_length): Use compute_movstr_length and
2635 compute_clrstr_length.
2636 * pa.md (movstrsi): Revise operand order and comments. Don't use
2637 match_scratch.
2638 (movstrsi_internal): Delete.
2639 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
2640 and peephole2 patterns to transform prereload to postreload form.
2641 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
2642 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
2643 clrstrdi_postreload): New patterns for 64-bit block move, and block
2644 clear.
2645 * pa-protos.h (output_block_clear): New prototype.
2646
2647 2003-11-08 Andreas Schwab <schwab@suse.de>
2648
2649 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
2650 XCOFF_DEBUGGING_INFO.
2651
2652 2003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2653
2654 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
2655
2656 2003-11-07 Geoffrey Keating <geoffk@apple.com>
2657
2658 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
2659 redundant parens.
2660
2661 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
2662 (find_file_in_dir): Likewise.
2663 (_cpp_find_file): Print message if no header file is found
2664 but an invalid PCH file was.
2665
2666 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
2667
2668 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
2669 expressions as lvalues.
2670 (internal_build_compound_expr): Remove special handling for
2671 non-pedantic case.
2672 * doc/extend.texi: Document that all extended lvalues are now
2673 deprecated.
2674
2675 2003-11-07 Geoffrey Keating <geoffk@apple.com>
2676
2677 PR 11654
2678 * dbxout.c (struct dbx_file): Do not save for PCH.
2679 (current_file): Likewise.
2680 (dbxout_init): Don't allocate struct dbx_file using GC.
2681 (dbxout_start_source_file): Likewise.
2682
2683 2003-11-07 Falk Hueffner <falk@debian.org>
2684
2685 * config/alpha/elf.h, config/alpha/unicosmk.h,
2686 config/alpha/vms.h: Convert to ISO C90.
2687
2688 2003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
2689
2690 * config/arm/pe.h: Convert to ISO C90.
2691
2692 2003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
2693
2694 * sh-protos.h (sh_pch_valid_p): Declare.
2695 * sh.c ("intl.h"): Include.
2696 (TARGET_PCH_VALID_P): Override.
2697 (sh_target_switches): New variable.
2698 (target_switches): Define.
2699 (sh_pch_valid_p): New function.
2700
2701 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
2702
2703 2003-11-07 Jan Hubicka <jh@suse.cz>
2704
2705 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
2706 (x86_64_zero_extended_value): likewise.
2707
2708 2003-11-07 Richard Sandiford <rsandifo@redhat.com>
2709
2710 * config/mips/mips.md (loadgp): Take $25 as a second operand.
2711 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
2712
2713 2003-11-06 Matt Austern <austern@apple.com>
2714
2715 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
2716 field instead of hanging an attribute object off the decl.
2717 * tree.h (DECL_VISIBLITY): New accessor macro for
2718 symbol_visibility field in struct tree_decl.
2719 (enum symbol_visibility): Move definition to before tree_decl.
2720 (struct tree_decl): Define new two-bit field, symbol_visibility.
2721 (decl_visibility): Remove declaration.
2722 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
2723 instead of decl_visibility.
2724 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
2725 decl_visibility.
2726 (decl_visibility): Remove.
2727
2728 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
2729
2730 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
2731 where register 14 will be saved.
2732
2733 2003-11-06 Geoffrey Keating <geoffk@apple.com>
2734
2735 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
2736 (USE_ALTIVEC_FOR_ARG_P): Likewise.
2737 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
2738 Take a pointer as the CUM parameter. Update callers.
2739 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
2740 32-bit ABIs.
2741 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
2742 of vector parameters as named arguments of stdarg function.
2743 (function_arg): Likewise.
2744
2745 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
2746 -maltivec is specified, not the non-existent -faltivec.
2747
2748 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
2749
2750 * config/s390/s390-protos.h (s390_function_value): Declare.
2751 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
2752 (s390_return_in_memory): New function.
2753 (s390_function_value): New function.
2754 (s390_function_arg_float): Return false for all arguments larger
2755 than 8 bytes.
2756 (s390_function_arg_pass_by_reference): Likewise. Return true for
2757 all vector arguments.
2758 (s390_function_arg_integer): New function.
2759 (s390_function_arg_advance): Call it. Add sanity checks.
2760 (s390_function_arg): Likewise.
2761 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
2762 (LIBCALL_VALUE): Likewise.
2763 (RET_REG): Remove.
2764 (RETURN_IN_MEMORY): Remove.
2765
2766 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2767
2768 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
2769 return type to HOST_WIDE_INT.
2770 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
2771 Make initialized a bool. Make register masks unsigned ints.
2772 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
2773 where appropriate.
2774 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
2775 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
2776
2777 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2778
2779 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
2780 negation.
2781
2782 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2783
2784 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2785
2786 2003-11-06 Momchil Velikov <velco@fadata.bg>
2787
2788 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
2789 for VR4111 too.
2790
2791 2003-11-06 Jan Hubicka <jh@suse.cz>
2792
2793 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
2794 missing casts.
2795
2796 2003-11-06 Zack Weinberg <zack@codesourcery.com>
2797
2798 * genmodes.c: Change the word "bitsize" to "precision" throughout.
2799 * machmode.def: Likewise.
2800 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
2801 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
2802 (GET_MODE_PRECISION): New macro.
2803 (mode_bitsize): Renamed mode_precision.
2804 * stor-layout.c (mode_for_size, smallest_mode_for_size):
2805 Use GET_MODE_PRECISION; clarify comments.
2806
2807 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2808
2809 * doc/install-old.texi: Remove old documentation of building
2810 cross-compilers.
2811 * doc/install.texi: Move some of it to here.
2812
2813 2003-11-05 Per Bothner <pbothner@apple.com>
2814
2815 PR preprocessor/12891
2816 * c-opts.c (finish_options): Set include_cursor to disable premature
2817 calls to push_command_line_include from cpp_scan_nooutput.
2818 Fixes bug reported by DJ Delorie.
2819
2820 2003-11-05 Geoffrey Keating <geoffk@apple.com>
2821
2822 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2823 code supporting old-style varargs.
2824
2825 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2826 an intermediate register for better optimisation.
2827
2828 2003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2829
2830 PR optimization/10080
2831 * cfgloopanal.c (variable_initial_value, variable_initial_values,
2832 simple_loop_exit_p): Record the fact that initial value is extended
2833 from inner mode.
2834 (count_strange_loop_iterations, count_loop_iterations): Handle
2835 ivs that iterate in a narrower mode. Fix handling of overflows.
2836 Improve handling of NE conditions.
2837 (inverse, fits_in_mode_p): New static functions.
2838 (simple_increment): Detect variables that iterate in a narrower mode.
2839 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2840
2841 2003-11-05 Geoffrey Keating <geoffk@apple.com>
2842
2843 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2844 error.
2845
2846 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2847 needs VRSAVE.
2848
2849 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2850
2851 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2852 conditional expressions as lvalues.
2853
2854 2003-11-05 Kazu Hirata <kazu@cs.umass.edu>
2855
2856 * tsystem.h: Add the prototype of strlen.
2857 * unwind-pe.h (read_encoded_value_with_base): Add an
2858 appropriate cast to handle a case where the pointer size is
2859 smaller than sizeof (int).
2860
2861 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
2862
2863 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2864 (mips_delegitimize_address): Delete.
2865 (mips_gotoff_global, mips_load_got_page): Declare.
2866 (mips_load_got_global, mips_rewrite_small_data): Declare.
2867
2868 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2869 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2870 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2871 small_data_pattern. Remove CONST from const_arith_operand's entry.
2872
2873 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2874 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2875 (mips_constant_type): Delete.
2876 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2877 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2878 (NUM_SYMBOL_TYPES): New macro.
2879 (mips_address_type): Remove ADDRESS_INVALID.
2880 (machine_function): Add has_gp_insn_p.
2881 (mips_constant_info): Delete.
2882 (mips_address_info): Add the address type as an extra field. Replace
2883 the c field with symbol_type.
2884 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2885 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2886 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2887 (mips_split_const, mips_symbolic_constant_p): New functions.
2888 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2889 (mips_classify_address): Return true if the address is valid, storing
2890 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
2891 to test whether a LO_SUM address is allowed.
2892 (mips_symbol_insns): Return 0 for general mips16 symbols.
2893 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2894 Handle the new SYMBOL_GOTOFF_*s.
2895 (mips_address_insns): Update call to mips_classify_address.
2896 (mips_const_insns): Be more fussy about HIGH constants. Remove use
2897 of mips_classify_constant. Be more accurate about CONSTs.
2898 (mips_global_pic_constant_p): Delete.
2899 (const_arith_operand): Only accept CONST_INTs.
2900 (call_insn_operand): Remove call to mips_classify_constant.
2901 Let mips_symbolic_constant_p check for invalid offsets.
2902 (move_operand): Check for general_operands first. Only accept symbolic
2903 constants if they satisfy mips_symbolic_constant_p and cannot be split.
2904 (symbolic_constant): Use mips_symbolic_constant_p.
2905 (global_got_operand, local_got_operand): New predicates.
2906 (stack_operand): Update call to mips_classify_address.
2907 (mips_legitimate_address_p): Likewise.
2908 (mips_reloc, mips_lui_reloc): Delete.
2909 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2910 Use emit_move_insn.
2911 (mips_split_symbol, mips_unspec_address): New functions.
2912 (mips_unspec_offset_high): New function.
2913 (mips_load_got): Replace reloc argument with a symbol_type.
2914 Use mips_unspec_address to create the address and put it in a
2915 LO_SUM with the base register.
2916 (mips_load_got16, mips_load_got32): Delete.
2917 (mips_emit_high, mips_legitimize_symbol): Delete.
2918 (mips_gotoff_global): New function.
2919 (mips_load_got_page, mips_load_got_global): New functions.
2920 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2921 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
2922 Inline code to handle constants plus invalid offsets. Use
2923 mips_split_symbol to legitimize constant pool addresses.
2924 (mips_delegitimize_address): Delete.
2925 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2926 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
2927 (mips_subword): Pass memrefs through mips_rewrite_small_data.
2928 (mips_output_move): Remove use of mips_classify_constant.
2929 (mips_expand_call): Use mips_unspec_offset_high to calculate the
2930 high part of the GOT address for calls to global functions.
2931 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2932 and mips_hi_relocs[].
2933 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2934 Remove use of mips_classify_constant.
2935 (mips_reloc_string): Delete.
2936 (print_operand_reloc): New function.
2937 (print_operand_address): Update call to mips_classify_address.
2938 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2939 (small_data_pattern): New predicate.
2940 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2941 (mips_function_has_gp_insn): New function.
2942 (mips_global_pointer): Use it.
2943 (mips_gp_insn): Delete.
2944 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2945 single loadgp pattern to initialize $gp. Pass it the offset of _gp
2946 from the start of the current function.
2947 (mips16_gp_pseudo_reg): Revert last patch.
2948
2949 * config/mips/mips.md (RELOC_*): Delete.
2950 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2951 (got): New insn attribute.
2952 (type): Set to "load" if got == load.
2953 (length): Set to 4 if got == load, 8 if got == xgot_high.
2954 (lui[sd]i): Delete.
2955 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2956 (*got_disp[sd]i, *got_page[sd]i): Likewise.
2957 (*low[sd]i): Change constraints to "d". Add a new define_split to
2958 rewrite small data constants into LO_SUMs.
2959 (loadgp): New insns.
2960
2961 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2962
2963 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2964
2965 2003-11-04 DJ Delorie <dj@redhat.com>
2966
2967 * config/v850/v850.md (mulhisi3): Expand the const_int case
2968 separately to avoid trying to sign extend the const.
2969
2970 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
2971
2972 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2973 addresses to be shared.
2974 (force_const_mem): Return a copy of the pool entry.
2975
2976 2003-11-03 Andreas Jaeger <aj@suse.de>
2977
2978 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2979
2980 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
2981
2982 * Makefile.in (cpp.dvi): New target split from cpp.info.
2983 (gcc.dvi): New target split from gcc.info.
2984 (gccint.dvi): New target split from gccint.info.
2985 (cppinternals.dvi): New target split from cppinternals.info
2986 (gccinstall.info): New specific rule.
2987 (gccinstall.dvi): Likewise.
2988 (dvi): Move targets to $(docobjdir).
2989 ($(docobjdir)/%.dvi): New implicit rule.
2990
2991 2003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2992
2993 * doc/gty.texi (tag, desc): Say more about role of desc values in
2994 selecting between tags.
2995
2996 2003-11-03 Alexander Kabaev <ak03@gte.com>
2997
2998 * real.c (encode_ieee_single): Ensure proper promotion.
2999
3000 2003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3001
3002 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
3003 and Andrew Pinski.
3004
3005 2003-11-03 Syd Polk <spolk@apple.com>
3006
3007 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
3008 marketing names to the list of supported processors.
3009 * config/rs6000/rs6000.h: Ditto.
3010 * doc/invoke.texi: Ditto.
3011 * config.gcc: Ditto.
3012
3013 2003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3014
3015 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
3016 Merge two substitutions.
3017 * fixinc/fixincl.x: Regenerate.
3018 Fixes PR bootstrap/12666.
3019
3020 2003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
3021
3022 * doc/install-old.texi: Remove VMS documentation.
3023
3024 2003-11-03 Jan Hubicka <jh@suse.cz>
3025
3026 * i386.c (override_options): Remove hack enabling 128bit long double
3027 commited by accident.
3028
3029 2003-11-02 Per Bothner <per@bothner.com>
3030
3031 * c-opts.c (needValue): Do cpp_find_main_file before processing
3032 any imacros flags, so pfile->main_file is set for the latter.
3033
3034 2003-11-03 Andreas Jaeger <aj@suse.de>
3035 Zack Weinberg <zack@codesourcery.com>
3036
3037 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
3038 (SYSCALLS.c.X-warn): Suppress warnings.
3039
3040 2003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3041
3042 PR optimization/12845
3043 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
3044
3045 2003-11-02 Zack Weinberg <zack@codesourcery.com>
3046
3047 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
3048 * config/i386/i386.c (print_reg): Abort on a virtual register
3049 if code != -1; not if file == asm_out_file.
3050 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
3051 (DEBUG_PRINT_REG): Delete, unused.
3052
3053 2003-11-02 Andreas Schwab <schwab@suse.de>
3054
3055 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
3056 empty to avoid conflict with the definition from configure.
3057
3058 2003-11-02 Roger Sayle <roger@eyesopen.com>
3059
3060 PR optimization/10817
3061 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
3062 (noce_try_move): New function to optimize an if-the-else into an
3063 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
3064 (noce_process_if_block): Attempt simplification with noce_try_move.
3065
3066 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
3067 and improvements to the optimizations of IF_THEN_ELSE expressions.
3068 (simplify_subreg): Silence signed/unsigned comparison warning.
3069
3070 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
3071
3072 * Makefile.in (targhooks.o, reload.o): Update dependencies.
3073 (GTFILES): Add targhooks.c.
3074 (gt-targhooks.h): New rule; depend on s-gtype.
3075 * target.h (direct_pool_load_p): New hook.
3076 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
3077 (TARGET_INITIALIZER): Include it.
3078 * targhooks.h (default_direct_pool_load_p): Declare.
3079 (hook_bool_machine_mode_true): Declare.
3080 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
3081 gt-targhooks.h.
3082 (pool_symbol): New variable.
3083 (default_direct_pool_load_p): New function.
3084 (hook_bool_machine_mode_true): New function.
3085 * reload.c: Include target.h.
3086 (find_reloads): If an alternative will force a constant into memory,
3087 count an extra reload if constant pool symbols are not valid
3088 addresses. If an alternative uses memory to move values between
3089 registers, count the move as two reloads rather than one.
3090 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
3091 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
3092
3093 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3094
3095 PR optimization/12799
3096 * postreload.c (reload_cse_move2add): Generate the add2
3097 patterns manually.
3098
3099 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3100
3101 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3102 Return 0 for all complex modes whose size is lesser or equal to
3103 a word. Add a ??? comment for the condition used with 16-byte
3104 aligned modes.
3105
3106 2003-11-01 Kelley Cook <kcook@gcc.gnu.org>
3107
3108 * .cvsignore: Remove c-parse* and tradcif.c.
3109 * objc/.cvsignore: Delete.
3110
3111 2003-11-01 Roger Sayle <roger@eyesopen.com>
3112
3113 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
3114 of NULL.
3115
3116 2003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3117
3118 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
3119
3120 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
3121
3122 * collect2.c (scan_libraries): Fix typos.
3123
3124 PR preprocessor/12847
3125 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
3126 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
3127 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
3128 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
3129 "CPP_".
3130
3131 2003-11-01 Fariborz Jahanian <fjahanian@apple.com>
3132
3133 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
3134 no_units calculation.
3135
3136 2003-11-01 Andreas Jaeger <aj@suse.de>
3137
3138 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
3139 enumeration list.
3140
3141 2003-11-01 Andreas Schwab <schwab@suse.de>
3142
3143 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
3144 prototypes.
3145 (SBSS_SECTION_FUNCTION): Likewise.
3146
3147 2003-11-01 Andreas Jaeger <aj@suse.de>
3148
3149 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
3150
3151 2003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
3152
3153 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
3154 prototypes.
3155
3156 2003-11-01 Andreas Jaeger <aj@suse.de>
3157
3158 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
3159 (uw_frame_state_for): Constify variables.
3160 (extract_cie_info): Constify first argument.
3161
3162 * unwind-dw2-fde-darwin.c: Adjust prototype of
3163 _Unwind_Find_registered_FDE for recent changes.
3164 (examine_objects): Constify return value and local variable result.
3165 (_Unwind_Find_FDE): Constify return value and local variable ret.
3166
3167 2003-10-31 Per Bothner <pbothner@apple.com>
3168
3169 * c-opts.c (finish_options): Change to returns boolean - false iff
3170 the call to cpp_find_main_file fails.
3171 (c_common_init): Skip preprocess_file if finish_options failed.
3172 (c_common_parse_file): Break if finish_options failed.
3173 Fixes PR preprocessor/12545.
3174
3175 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3176
3177 * aclocal.m4: Blacklist ultrix* for mmap file.
3178 * configure: Rebuilt.
3179
3180 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
3181 reg_parm_stack_space.
3182 * toplev.c (default_get_pch_validity): Fix warning.
3183
3184 * vax.c: Include toplev.h.
3185 (vax_init_libfuncs): Fix typo (umod).
3186 * vax.h (ASM_COMMENT_START): Define.
3187 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
3188
3189 2003-10-31 Roger Sayle <roger@eyesopen.com>
3190
3191 PR middle-end/11968
3192 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
3193 confusing comment; distributivity isn't handled in expand_expr.
3194 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
3195 in distributivity, if wrap-around semantics are specified with
3196 -fwrapv.
3197
3198 2003-11-01 Alan Modra <amodra@bigpond.net.au>
3199
3200 PR 12315
3201 * final.c (profile_function): Allow for NULL svrtx.
3202
3203 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3204
3205 * pa.c (pa_select_section): Use new style declaration.
3206 * som.h (readonly_data): Likewise.
3207
3208 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
3209
3210 * config/rs6000/rs6000.c: Update to C90 prototypes.
3211
3212 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
3213
3214 PR target/7513
3215 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
3216 code.
3217
3218 2003-10-31 Andreas Jaeger <aj@suse.de>,
3219 Zack Weinberg <zack@codesourcery.com>
3220
3221
3222 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
3223 (__deregister_frame_info, __deregister_frame_info_bases):
3224 Constify void * argument.
3225 * unwind-dw2-fde.h (struct fde_vector):
3226 Constify 'orig_data' and 'array' fields.
3227 (__register_frame_info, __register_frame_info_bases)
3228 (__deregister_frame_info, __deregister_frame_info_bases):
3229 Constify void * argument.
3230 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
3231 return values, and casts of type fde *, struct dwarf_fde *,
3232 and struct dwarf_cie *.
3233 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
3234 (__deregister_frame_info, __deregister_frame_info_bases):
3235 Constify void * argument.
3236 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
3237 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
3238 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
3239 fde_split, SWAP, frame_downheap, frame_heapsort)
3240 (classify_object_over_fdes, add_fdes, linear_search_fdes,
3241 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
3242 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
3243 Constify arguments, local variables, return values, and casts
3244 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
3245 Use const pointer types in sizeof expressions, for clarity.
3246 * unwind-dw2-fde-glibc.c
3247 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
3248 (struct unw_eh_callback_data): Constify 'ret' field.
3249
3250 2003-10-31 Fariborz Jahanian <fjahanian@apple.com>
3251 David Edelsohn <edelsohn@gnu.org>
3252
3253 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
3254 (function_arg): Call it.
3255 (rs6000_function_value): Widen integral return value to mode based
3256 on TARGET_32BIT, not word_mode.
3257 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
3258 (UNITS_PER_ARG): New.
3259 (RS6000_ARG_SIZE): Use it.
3260
3261 2003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
3262
3263 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
3264 and gengtype-yacc.h.
3265
3266 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
3267
3268 PR optimization/8896
3269 * postreload.c (reload_combine): Check that REGY doesn't die in an
3270 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
3271
3272 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
3273
3274 PR/10239
3275 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
3276
3277 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
3278
3279 PR/11640
3280 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
3281 immediatelly before BARRIER.
3282
3283 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
3284
3285 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
3286
3287 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
3288
3289 PR target/11271
3290 * reload.c (find_reloads_address): Handle any register in
3291 (PLUS (PLUS (REG) (REG)) (CONST_INT).
3292
3293 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
3294
3295 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
3296 ENABLE_GC_CHECKING not in GGC_POISON.
3297
3298 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
3299
3300 PR bootstrap/9863
3301 * configure.in: Bail out if awk is missing.
3302 * configure: Regenerate.
3303
3304 PR ada/12761
3305 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
3306 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
3307
3308 2003-10-30 Richard Henderson <rth@redhat.com>
3309
3310 * c-objc-common.c (c_tree_printer): Handle types correctly.
3311 Factor code a bit.
3312
3313 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
3314
3315 * value-prof.c, web.c: Update to C90.
3316
3317 2003-10-30 Eric Christopher <echristo@redhat.com>
3318
3319 * function.c (purge_addressof_1): Add case for REG_RETVAL
3320 notes when modes are unequal.
3321
3322 2003-10-31 Jan Hubicka <jh@suse.cz>
3323
3324 * i386-modes.def: Add XFmode format adjustment.
3325
3326 2003-10-30 Jan Hubicka <jh@suse.cz>
3327
3328 * real.c (encode_ieee_extended): Back out previous patch.
3329
3330 2003-10-30 Jan Hubicka <jh@suse.cz>
3331
3332 * real.c (encode_ieee_extended): Initialize whole array.
3333 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
3334 * i386-modes.def: Change definitions of TFmode and XFmode.
3335 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
3336 code.
3337 (construct_container): Allow constructing of TFmode integer containers.
3338 (ix86_return_in_memory): XFmode is not returned in memory.
3339 (init_ext_80387_constants): Always use XFmode.
3340 (print_operand): Likewise.
3341 (ix86_prepare_fp_compare_regs): Likewise.
3342 (split_to_parts): Deal with TFmode.
3343 (split_long_move): Simplify.
3344 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
3345 (ix86_memory_move_cost): Do not confuse TFmode.
3346 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
3347 (IS_STACK_MODE): TFmode is not stack mode.
3348 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
3349 (VALID_SSE_REG_MODE): Allow TFmode.
3350 (VALID_FP_MODE_P): Disallow TFmode.
3351 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
3352 * i386.md (TFmode patterns): Kill.
3353 (movtf, motf_rex64): New patterns.
3354
3355 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
3356
3357 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
3358
3359 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
3360
3361 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
3362 (mov_lwr, mov_swl, mov_swr): Likewise.
3363 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
3364
3365 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
3366
3367 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
3368
3369 2003-10-30 Richard Henderson <rth@redhat.com>
3370
3371 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
3372 test for irix6 rather than preprocessor test.
3373
3374 2003-10-30 Richard Henderson <rth@redhat.com>
3375
3376 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
3377
3378 2003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
3379
3380 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
3381 as a general flag that the return address register needs to be saved,
3382 not necessarily because of __builtin_return_addr (0).
3383 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
3384 remove special handling of zSeries machines.
3385 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
3386 register as a regular register on zSeries machines.
3387 (s390_reorg): Adjust calls to s390_split_branches and
3388 s390_optimize_prolog.
3389 (s390_frame_info): On zSeries machines, do not assume the return
3390 register is always used. Update regs_ever_live with current data
3391 for the special registers.
3392 (s390_emit_epilogue): Use save_return_addr_p to determine whether
3393 the return register was saved.
3394 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
3395 RETURN_REGNUM fixed on zSeries machines.
3396 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
3397 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
3398 via ahi-jgne pair on zSeries machines.
3399 ("*doloop_di"): Likewise.
3400 ("*doloop_di_long"): Remove.
3401
3402 2003-10-30 Richard Earnshaw <rearnsha@arm.com>
3403
3404 * arm.c (arm_override_options): Revert change of arm_constant_limit
3405 when optimizing for size.
3406
3407 2003-10-29 Richard Henderson <rth@redhat.com>
3408
3409 * fold-const.c (fold_single_bit_test): Convert the input to the
3410 operational intermediate type.
3411
3412 2003-10-29 Richard Henderson <rth@redhat.com>
3413
3414 * builtins.c (std_build_builtin_va_list): New.
3415 * expr.h (std_build_builtin_va_list): Declare.
3416 * defaults.h (BUILD_VA_LIST_TYPE): New.
3417 * system.h (BUILD_VA_LIST_TYPE): Poison.
3418 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
3419 * target.h (struct gcc_target): Add build_builtin_va_list.
3420 * tree.c (build_common_tree_nodes_2): Use it.
3421
3422 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
3423 config/alpha/alpha.h, config/alpha/unicosmk.h,
3424 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
3425 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
3426 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
3427 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
3428 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
3429 config/mips/mips.h, config/rs6000/rs6000-protos.h,
3430 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3431 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3432 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3433 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
3434 config/xtensa/xtensa.h: Rename foo_build_va_list to
3435 foo_build_builtin_va_list; make it static. Define
3436 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
3437 Update protos.
3438
3439 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
3440 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
3441
3442 2003-10-29 James E Wilson <wilson@specifixinc.com>
3443
3444 * recog.c (asm_operand_ok): Add missing break after case 'X'.
3445 Change if statements to else if statements in default case.
3446 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
3447 in comment.
3448 (constrain_operands_cached): Likewise.
3449 (constrain_operands): Change if statements to else if statements in
3450 default case.
3451 * reload.c (find_reloads): Likewise.
3452
3453 2003-10-29 Richard Henderson <rth@redhat.com>
3454
3455 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
3456 shifts and rotates.
3457
3458 2003-10-30 Alan Modra <amodra@bigpond.net.au>
3459
3460 * config/rs6000/rs6000.md: Remove duplicate pattern.
3461
3462 2003-10-29 Hans-Peter Nilsson <hp@axis.com>
3463
3464 * real.c (do_divide): Initialize result with a 0.
3465
3466 * configure.in <enable-checking for valgrind>: Look for
3467 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
3468 if it exists.
3469 * configure, config.in: Regenerate.
3470 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
3471 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
3472 #elif for other alternatives.
3473 * ggc-page.c: Ditto.
3474 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
3475 include structure from ggc-common.c.
3476
3477 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3478
3479 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
3480 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
3481 * pa.c (pa_adjust_insn_length): Check for btable branches using
3482 attribute TYPE_BTABLE_BRANCH.
3483 (pa_reorg): Simplify.
3484 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
3485 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
3486 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
3487 * pa.md (btable_branch): New instruction type.
3488 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
3489 btable branches.
3490 (define_delay): Add btable branches to insn types that may have an
3491 insn in the delay position.
3492 (Z2, Z3): Add btable branch to list.
3493 Simplify unamed pattern set copy pic_label_operand to register. Add
3494 PA 2.0 variant.
3495 (short_jump): New jump for use in branch tables.
3496 (casesi, casesi0): Revise for new branch table formats.
3497 (casesi32, casesi32p, casesi64p): New casesi patterns.
3498 (indirect_jump): Move.
3499
3500 2003-10-29 David Edelsohn <edelsohn@gnu.org>
3501
3502 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
3503 !TARGET_POWERPC64.
3504 (UNITS_PER_GPR_WORD): Delete.
3505 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
3506 (HARD_REGNO_MODE_OK): Same.
3507 (CLASS_MAX_NREGS): Same.
3508
3509 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3510
3511 * pa.h (ASM_COMMENT_START): Define.
3512
3513 2003-10-29 Zack Weinberg <zack@codesourcery.com>
3514
3515 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
3516 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
3517 component, not zero.
3518
3519 2003-10-29 Andreas Schwab <schwab@suse.de>
3520
3521 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
3522
3523 2003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
3524
3525 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3526 Never return 1 for complex integral modes whose size is lesser or
3527 equal to a word.
3528 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
3529 in the comment.
3530 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
3531 modes.
3532 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
3533 greater than 16 bytes by reference.
3534
3535 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3536
3537 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
3538 not TARGET_ILP32.
3539 (ia64_initialize_trampoline): Use globalize_label target call.
3540
3541 2003-10-29 Andreas Schwab <schwab@suse.de>
3542
3543 * doc/install.texi (Building): Add a sentence about building Ada
3544 for a canadian cross.
3545
3546 2003-10-28 Zack Weinberg <zack@codesourcery.com>
3547
3548 * config/ia64/ia64.c (cmptf_libfunc): New static.
3549 (ia64_expand_compare): Add logic to open-code calls to
3550 _U_Qfcmp for TFmode comparisons.
3551 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
3552 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
3553 never be generated anymore.
3554 * config/ia64/ia64.md (cmptf): New expander.
3555
3556 2003-10-28 Zack Weinberg <zack@codesourcery.com>
3557
3558 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
3559 (*sqrt_approx): New instruction pattern for approximate square roots.
3560 (*setf_exp_xf): New instruction pattern for exponentiation.
3561 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
3562 (sqrtsf2_internal_thr): New define_and_split implementing
3563 throughput-optimized inline calculation of SFmode square root.
3564 (sqrtdf2_internal_thr): Likewise for DFmode.
3565 (sqrtxf2_internal_thr): Likewise for XFmode.
3566 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
3567 latency- and throughput-optimized square root algorithms.
3568 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
3569 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
3570 New macros.
3571 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
3572 -minline-sqrt-max-throughput.
3573 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
3574 and -minline-sqrt-max-throughput are given, notify the user
3575 that both options cannot be used simultaneously.
3576 If -minline-sqrt-min-latency is given, notify the user that
3577 this mode is not yet implemented.
3578 (rtx_needs_barrier): Reformat initial comment to obey
3579 72-character width limit. Support UNSPEC_SETF_EXP and
3580 UNSPEC_FR_SQRT_RECIP_APPROX.
3581
3582 2003-10-29 Alan Modra <amodra@bigpond.net.au>
3583
3584 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
3585 moves.
3586
3587 2003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3588
3589 PR target/11598
3590 PR libgcj/10610
3591 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
3592
3593 2003-10-28 Richard Earnshaw <rearnsha@arm.com>
3594
3595 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
3596 an extra stack adjustment insn if the stack pointer is already
3597 pointing at the right place.
3598 (use_return_insn): Allow a return insn to be used when we have a
3599 frame pointer if the stack pointer is in the right place.
3600 (output_return_instruction): Handle it.
3601
3602 2003-10-28 Andreas Jaeger <aj@suse.de>
3603
3604 * ggc-zone.c (check_cookies): Add missing variable.
3605 Add void to prototypes.
3606
3607 2003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3608
3609 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
3610 * crtstuff.c (__do_global_ctors_1): Move prototype.
3611 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
3612 appropriate.
3613 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
3614 Mark parameter with __attribute__((unused)).
3615
3616 2003-10-27 Zack Weinberg <zack@codesourcery.com>
3617
3618 * c-decl.c (pushdecl): Clarify comment.
3619
3620 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
3621
3622 * doc/install.texi: Update instructions for Ada cross builds
3623
3624 PR ada/5909:
3625 * doc/sourcebuild.texi: Document Ada test suite.
3626
3627 2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
3628
3629 * config/m68hc11/m68hc11.c: Convert to ISO C90.
3630 * config/m68hc11/m68hc11-protos.h: Likewise.
3631
3632 2003-10-27 Jan Hubicka <jh@suse.cz>
3633 Eric Botcazou <ebotcazou@libertysurf.fr>
3634
3635 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
3636 webizer pass dump.
3637
3638 2003-10-27 Jakub Jelinek <jakub@redhat.com>
3639 Jan Hubicka <jh@suse.cz>
3640
3641 * reload1.c (struct elim_table): Change offset, initial_offset and
3642 previous_offset fields to HOST_WIDE_INT.
3643 (offsets_at): Change from int to HOST_WIDE_INT.
3644 (reload): Adjust offsets_at initialization.
3645 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
3646 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
3647 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
3648 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
3649 if TARGET_64BIT.
3650 (pro_epilogue_adjust_stack): New function.
3651 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
3652 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
3653 (pro_epilogue_adjust_stack_1): Remove * in front of name.
3654 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
3655 (pro_epilogue_adjust_stack_rex64_2): New insn.
3656
3657 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
3658
3659 * config/i386/i386.c (ix86_expand_call): Replace 40 with
3660 FIRST_REX_INT_REG + 3 /* R11 */.
3661
3662 2003-10-26 Richard Henderson <rth@redhat.com>
3663
3664 * config/alpha/alpha.md (attr cannot_copy): New.
3665 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
3666 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
3667 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
3668
3669 2003-10-26 Daniel Berlin <dberlin@dberlin.org>
3670
3671 * ggc-zone.c: New file, zone allocating collector.
3672 * configure: Accept zone option for --with-gc
3673 * configure.in: Ditto.
3674 * ggc.h (ggc_pch_count_object): Pass bool indicating
3675 stringiness. Update all callers.
3676 (ggc_pch_alloc_object): Ditto.
3677 (ggc_pch_write_object): Ditto.
3678 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
3679 type.
3680 (ggc_alloc_rtvec): Ditto.
3681 (ggc_alloc_tree): Use zone allocation, since some things using this macro
3682 aren't a single typecode.
3683 * ggc-none.c (ggc_alloc_typed): New function.
3684 (ggc_alloc_zone): Ditto.
3685 * ggc-page.c: Ditto on both functions.
3686
3687 2003-10-26 Gunther Nikl <gni@gecko.de>
3688
3689 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
3690 frame information is always valid.
3691 (m68k_output_function_prologue): Remove superfluous TARGET_68881
3692 test; fix formatting.
3693
3694 2003-10-26 Gunther Nikl <gni@gecko.de>
3695
3696 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
3697 reg_rev_mask computation.
3698 (m68k_output_function_prologue): Fix usage of current_frame (one typo
3699 and one missing); use reg_rev_mask not reg_mask.
3700 (m68k_output_function_epilogue): Fix usage of current_frame;
3701 use fpu_rev_mask not fpu_mask.
3702
3703 2003-10-26 Bernardo Innocenti <bernie@develer.com>
3704
3705 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
3706 num_saved_regs, use current_frame.reg_no instead.
3707
3708 2003-10-26 Bernardo Innocenti <bernie@develer.com>
3709 Paul Dale <pauli@snapgear.com>
3710
3711 * doc/extend.texi (interrupt_handler): Add m68k to the
3712 list of processors implementing it.
3713 * doc/invoke.texi (-msep-data): Document new m68k option.
3714 (-mno-sep-data): Likewise.
3715 (-mid-shared-library): Likewise.
3716 (-mno-id-shared-library): Likewise.
3717 (-mshared-library-id): Likewise.
3718
3719 2003-10-26 Andreas Jaeger <aj@suse.de>
3720
3721 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
3722 comparison.
3723 (_Unwind_SetGR): Likewise.
3724
3725 2003-10-26 Ottavio Campana <ottavio@campana.vi.it>
3726
3727 PR target/12690
3728 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
3729
3730 2003-10-26 Gunther Nikl <gni@gecko.de>
3731
3732 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
3733 comment from here to...
3734 (m68k_save_reg): ...here. Fix comment formatting.
3735 (m68k_output_function_prologue): Fix comment formatting.
3736 (m68k_output_function_epilogue): Likewise.
3737 (const_method): Likewise.
3738
3739 2003-10-26 Kazu Hirata <kazu@cs.umass.edu>
3740
3741 * toplev.c (default_get_pch_validity): Guard the use of
3742 target_options with #ifdef TARGET_OPTIONS.
3743 (default_pch_valid_p): Likewise.
3744
3745 2003-10-26 Andreas Jaeger <aj@suse.de>
3746 Zack Weinberg <zack@codesourcery.com>
3747 Andreas Tobler <toa@pop.agri.ch>
3748
3749 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
3750 (output_die): Likewise.
3751 (print_die): Likewise.
3752
3753 2003-10-26 Andreas Jaeger <aj@suse.de>
3754
3755 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
3756 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
3757 dwarf2out.c change.
3758
3759 * toplev.c (default_pch_valid_p): Fix warning.
3760
3761 2003-10-25 Roger Sayle <roger@eyesopen.com>
3762
3763 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
3764 RTL nodes. If an operator's operands are unchanged, return the
3765 original argument unchanged.
3766
3767 2003-10-26 Graham Stott <graham.stott@btinternet.com>
3768
3769 Fix bootstrap failure.
3770 * expmed.c (store_bit_field): Don't compare bitsize against
3771 modes with zero bit-size.
3772
3773 (extract_bit_field): Likewise
3774
3775 2003-10-25 Jan Hubicka <jh@suse.cz>
3776
3777 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
3778 (cfa_loc): Likewise.
3779 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
3780 HOST_WIDE_INT.
3781 (args_size, old_args_size): change type to HOST_WIDE_INT.
3782 (dwarf2out_def_cfa, dwarf2out_args_size,
3783 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
3784 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
3785 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
3786 AT_offset): Use HOST_WIDE_INT.
3787 (based_loc_descr): offset is HOST_WIDE_INT.
3788 (add_data_member): Likewise.
3789 (add_const_value_attribute): Simplify.
3790
3791 2003-10-25 Richard Henderson <rth@redhat.com>
3792
3793 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
3794 (ix86_expand_prologue): Save and restore eax around stack probe
3795 if it's live.
3796
3797 2003-10-25 Jan Hubicka <jh@suse.cz>
3798
3799 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
3800
3801 2003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3802
3803 PR target/12712
3804 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
3805 if the block has no predecessors.
3806 (convert_regs_2): Document the problem with successors whose
3807 only predecessor is the block to be processed.
3808 (convert_regs): Don't create the arbitrary input stack here.
3809
3810 2003-10-24 Zack Weinberg <zack@codesourcery.com>
3811
3812 * genmodes.c (struct mode_data): Add contained and next_cont
3813 fields.
3814 (complete_mode): Maintain linked list of modes that have a
3815 given component.
3816 (emit_mode_unit_size): Delete.
3817 (emit_mode_nunits): New.
3818 (emit_insn_modes_c): Update to match.
3819 (emit_mode_adjustments): Propagate size and alignment
3820 adjustments from component modes to their containers.
3821 * machmode.h (mode_unit_size): Delete.
3822 (mode_nunits): New.
3823 (GET_MODE_NUNITS): Just return the value in the table.
3824 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3825 GET_MODE_SIZE.
3826 * expmed.c (store_bit_field, extract_bit_field): Can use a
3827 plain move instruction if bitsize >= GET_MODE_BITSIZE of
3828 destination/source mode, respectively.
3829 * varasm.c (assemble_real): Write out the full size of the
3830 constant, not just its bitsize.
3831 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3832
3833 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3834 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3835 alignment of XF and TF modes in compliance with ia64 ABIs.
3836 Can now hardwire the format of both modes.
3837 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3838 (general_tfmode_operand, destination_tfmode_operand)
3839 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3840 general_xfmode_operand, destination_xfmode_operand,
3841 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3842 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3843 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
3844 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3845 __float128.
3846 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3847 Change TFmode to XFmode wherever appropriate. Remove all
3848 references to INTEL_EXTENDED_IEEE_FORMAT.
3849 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3850 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3851 (PREDICATE_CODES): Update to match function renames.
3852 * config/ia64/ia64.md: Change TF to XF throughout; rename all
3853 patterns to match. Remove all references to
3854 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
3855 function renames.
3856 * config/ia64/ia64-protos.c: Update all prototypes to match
3857 renamed functions.
3858 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3859 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3860 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3861 __divtf3; keep old name for backward compatibility.
3862 (L__compat): New section providing forwarding stubs for
3863 __fixtfti, __fixunstfti, __floattitf.
3864 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3865
3866 2003-10-24 Geoffrey Keating <geoffk@apple.com>
3867
3868 PR 10757
3869 * c-pch.c: Include target.h. Improve comments.
3870 (struct c_pch_validity): Add target_data_length.
3871 (pch_init): Add target's validity data.
3872 (c_common_valid_pch): Check target's validity data.
3873 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3874 (TARGET_PCH_VALID_P): New.
3875 (TARGET_INITIALIZER): Add new fields.
3876 * target.h: Include tm.h.
3877 (struct gcc_target): Add get_pch_validity, pch_valid_p.
3878 * toplev.h (default_get_pch_validity): New prototype.
3879 (default_pch_valid_p): New prototype.
3880 * toplev.c (default_get_pch_validity): New routine.
3881 (default_pch_valid_p): New routine.
3882 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
3883 target.h with $(TARGET_H).
3884 (c-pch.o): Add TARGET_H.
3885 * doc/tm.texi (PCH Target): New node.
3886 (TARGET_GET_PCH_VALIDITY): Document.
3887 (TARGET_PCH_VALID_P): Document.
3888
3889 2003-10-24 Kelley Cook <kcook@gcc.gnu.org>
3890
3891 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
3892 and $(docdir)/include from any *.texi dependencies.
3893 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3894 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3895 ($(docobjdir)/%.7): Likewise.
3896 (%.pod): New implicit rule.
3897 (cpp.pod): New dependency only rule.
3898 (gcc.pod): New intermediate rule with dependencies and commands.
3899 (gfdl.pod): Likewise.
3900 (fsf-funding.pod): Likewise.
3901
3902 2003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
3903
3904 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3905 related code.
3906 * fixinc/fixinc.ptx: Remove.
3907 * fixinc/fixinc.svr4: Remove.
3908
3909 2003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3910
3911 * config/s390/s390.c (load_multiple_operation): Allow both SImode
3912 and DImode if word_mode is DImode.
3913 (store_multiple_operation): Likewise.
3914 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3915 ("*load_multiple_di"): Allow only if word_mode == DImode.
3916 ("movqi"): Use LLGC whenever TARGET_ZARCH.
3917 ("fix_truncdfsi2"): Fix incorrect temporary size.
3918 ("fix_truncsfsi2"): Likewise.
3919 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3920 string for function return value operand.
3921 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3922
3923 2003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
3924
3925 * c-parse.in (array_declarator): Use expr_no_commas.
3926 Fixes PR c/11943.
3927
3928 2003-10-24 Richard Sandiford <rsandifo@redhat.com>
3929
3930 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3931 associated includes in #ifndef inhibit_libc.
3932
3933 2003-10-24 Roger Sayle <roger@eyesopen.com>
3934
3935 * doc/libgcc.texi: Document some more of the libgcc API.
3936
3937 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
3938
3939 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3940 comparing a constant with small negative numbers and add costing
3941 for constants in conjunction with AND.
3942 (note_invalid_constants): Tidy previous change.
3943 (thumb_cmp_operand): Tidy.
3944 (thumb_cmpneg_operand): New function.
3945 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3946 for size.
3947 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3948 (PREDICATE_CODES): Add thumb_cmpneg_operand.
3949 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
3950 with a negative constant.
3951 (cbranchsi4_insn): Matcher for cbranchsi4.
3952 (cbranchsi4_scratch): Similar, but a scratch is available for
3953 handling negative constants.
3954 (movsi_cbranchsi4): New pattern.
3955 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3956 and use the TST instruction.
3957 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3958 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3959 cannot see high regs or memory alternatives.
3960 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3961
3962 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
3963
3964 * arm.c (note_invalid_constants): Try to extract the constant
3965 pool value using avoid_constant_pool_reference; only use
3966 get_pool_constant if that returns the original reference.
3967
3968 2003-10-24 Jan Hubicka <jh@suse.cz>
3969
3970 PR c++/12624
3971 * varasm.c (notice_global_symbol): Disqualify global registers.
3972
3973 2003-10-23 Roger Sayle <roger@eyesopen.com>
3974
3975 PR middle-end/11414
3976 * loop.c (load_mems): Use redirect_jump to forward jumps from
3977 the original loop end label to the new "loop sink" block's label.
3978
3979 2003-10-23 Roger Sayle <roger@eyesopen.com>
3980
3981 PR middle-end/12705
3982 * optabs.c (expand_binop): When expanding complex operations
3983 inline, always calculate result into a new temporary register.
3984 Minor code clean-ups.
3985
3986 2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3987
3988 * objc/lang-specs.h: Handle -print-objc-runtime-info.
3989 * doc/invoke.texi (Objective-C Dialect Options): Document it.
3990
3991 2003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
3992
3993 * config/i386/cygwin.asm: Add copyright notice. Add comment
3994 on why this code is needed.
3995
3996 2003-10-23 Kazu Hirata <kazu@cs.umass.edu>
3997
3998 * config/h8300/clzhi2.c: Fix warnings.
3999 * config/h8300/ctzhi2.c: Likewise.
4000 * config/h8300/fixunssfsi.c: Likewise.
4001 * config/h8300/parityhi2.c: Likewise.
4002 * config/h8300/popcounthi2.c: Likewise.
4003
4004 2003-10-23 James E Wilson <wilson@specifixinc.com>
4005
4006 * gcc.c (option_map): Delete --target and --use-version.
4007
4008 2003-10-23 Fariborz Jahanian <fjahanian@apple.com>
4009 David Edelsohn <edelsohn@gnu.org>
4010
4011 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
4012 TARGET_POWREPC64.
4013 (UNITS_PER_GPR_WORD): Define.
4014 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
4015 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
4016 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
4017 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
4018 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
4019 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
4020 (rs6000_emit_prologue): Select reg_mode and reg_size using
4021 TARGET_32BIT, not TARGET_POWERPC64.
4022 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
4023 ABI / 64-bit computation mode
4024
4025 2003-10-22 Andrew Haley <aph@redhat.com>
4026
4027 * toplev.c (output_file_directive): Allow for null input_name.
4028
4029 2003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
4030
4031 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
4032
4033 2003-10-22 Chris Demetriou <cgd@broadcom.com>
4034
4035 * configure.in: In --enable-generated-files-in-srcdir option
4036 handling, fix default case handling.
4037 * configure: Regenerate.
4038
4039 2003-10-22 Phil Edwards <phil@codesourcery.com>
4040
4041 * config.gcc: Update *-*-vxworks* generic hook and comments.
4042 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
4043 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
4044 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
4045 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
4046 * config/windiss.h: New file.
4047 * config/arm/t-vxworks: New file.
4048 * config/arm/vxworks.h: New file.
4049 * config/i386/t-vxworks: New file.
4050 * config/i386/vxworks.h: New file.
4051 * config/mips/t-vxworks: New file.
4052 * config/mips/vxworks.h: New file.
4053 * config/mips/windiss.h: New file.
4054 * config/sh/t-vxworks: New file.
4055 * config/sh/vxworks.h: New file.
4056
4057 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
4058
4059 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
4060 (h8300_saveall_function_p): New.
4061 (h8300_insert_attributes): Insert the saveall attribute if
4062 #pragma saveall is specified.
4063 (h8300_attribute_table): Add saveall.
4064 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
4065 * doc/extend.texi: Mention the saveall attribute.
4066
4067 2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
4068
4069 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
4070 deprecation of casts as lvalues.
4071 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
4072 * fixinc/fixincl.x: Regenerate.
4073 * fixinc/tests/base/obstack.h: New test.
4074
4075 2003-10-22 Andreas Schwab <schwab@suse.de>
4076
4077 PR target/12676
4078 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
4079 LP64 platforms.
4080
4081 2003-10-22 Jan Hubicka <jh@suse.cz>
4082
4083 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
4084 presence of DW_AT_inline.
4085 (gen_subprogram_die): Likewise; do not abort instead of emitting
4086 DW_AT_not_inline.
4087
4088 2003-10-22 Jan Hubicka <jh@suse.cz>
4089
4090 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
4091 global info is not ready.
4092
4093 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
4094
4095 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
4096
4097 2003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
4098
4099 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
4100 ("*movstr_short"): ... into this insn pattern.
4101 ("movstr_short"): New expander.
4102 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
4103 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
4104 ("movstr_long"): New expander.
4105 ("clrstr_short_64", "clrstr_short_31"): Merge ...
4106 ("*clrstr_short"): ... into this insn pattern.
4107 ("clrstr_short"): New expander.
4108 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
4109 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
4110 ("clrstr_long"): New expander.
4111 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
4112 ("*cmpmem_short"): ... into this insn pattern.
4113 ("cmpmem_short"): New expander.
4114 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
4115 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
4116 ("cmpmem_long"): New expander.
4117 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
4118 (s390_expand_clrstr): Likewise.
4119 (s390_expand_cmpmem): Likewise.
4120
4121 2003-10-22 Mark Mitchell <mark@codesourcery.com>
4122
4123 * c-pch.c (struct c_pch_validity): Add pch_init field.
4124 (pch_init): Set it.
4125 (c_common_valid_pch): Check it.
4126
4127 2003-10-22 David Taylor <dtaylor@emc.com>
4128
4129 PR debug/12500
4130 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
4131
4132 2003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4133
4134 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
4135 alpha_return_in_memory if no VALTYPE specified.
4136
4137 2003-10-22 Jan Hubicka <jh@suse.cz>
4138
4139 PR debug/12389
4140 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
4141 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
4142 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
4143 (cgraph_global_info): Add flag inlined
4144 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
4145 cgraph_function_possibly_inded_p
4146 * cgraphunit.c (mark_inline): Set inlined flag.
4147 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
4148 only for possibly inlined functions.
4149 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
4150 body of function.
4151
4152 2003-10-22 Andrew Haley <aph@redhat.com>
4153
4154 * varasm.c (output_constructor): Make constructor annotation
4155 conditional on ASM_COMMENT_START.
4156
4157 2003-10-21 Jason Merrill <jason@redhat.com>
4158
4159 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
4160 (get_narrower): Likewise.
4161
4162 * stor-layout.c (layout_decl): Do packed field alignment for
4163 bit-fields, too.
4164
4165 2003-10-21 Eric Christopher <echristo@redhat.com>
4166
4167 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
4168
4169 2003-10-21 Geoffrey Keating <geoffk@apple.com>
4170
4171 * c-pch.c: Add comments in various places.
4172 (struct c_pch_validity): Add the lengths of various strings.
4173 (host_machine): New static.
4174 (target_machine): New static.
4175 (get_ident): Bump version number.
4176 (pch_init): Write out version, host, target validity data.
4177 (c_common_valid_pch): Check version, host, target.
4178 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
4179 TARGET_MACHINE.
4180
4181 2003-10-21 Jason Merrill <jason@redhat.com>
4182
4183 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
4184 (EXPR_P): New macro.
4185
4186 2003-10-21 Zack Weinberg <zack@codesourcery.com>
4187
4188 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
4189 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
4190 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
4191 DImode. Use convert_move to load ar.ccv.
4192 (ia64_expand_compare_and_swap): Likewise.
4193 If expand_expr doesn't put 'old' and 'new' in the proper
4194 modes, run them through convert_to_mode.
4195
4196 2003-10-21 Eric Christopher <echristo@redhat.com>
4197
4198 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
4199 for too large bitfields.
4200
4201 2003-10-21 Mark Mitchell <mark@codesourcery.com>
4202
4203 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
4204
4205 2003-10-21 Andrew Haley <aph@redhat.com>
4206
4207 * varasm.c (output_constructor): Annotate constructor.
4208
4209 2003-10-21 Mark Mitchell <mark@codesourcery.com>
4210
4211 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
4212 on existence of destination file.
4213
4214 2003-10-21 Jan Hubicka <jh@suse.cz>
4215
4216 * haifa-sched.c (choose_ready): Initialize index.
4217
4218 2003-10-21 Jason Merrill <jason@redhat.com>
4219
4220 * tree.c (build1): Fix off-by-one error.
4221
4222 2003-10-21 Robert Millan <robertmh@gnu.org>
4223
4224 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
4225 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
4226 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
4227 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
4228
4229 2003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
4230
4231 * web.c: Fix various comments.
4232
4233 2003-10-20 Nicolas Pitre <nico@cam.org>
4234
4235 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
4236 to 2 instead of 1 when optimize_size is true. Gather code based on
4237 optimize_size together. Add comment about XScale load latency.
4238
4239 2003-10-21 Gunther Nikl <gni@gecko.de>
4240
4241 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
4242 obsolete comments.
4243
4244 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
4245
4246 * Makefile.in: Get parsedir and docobjdir from configure.
4247 * configure.in: Recogonize --enable-generated-files-in-srcdir.
4248 Pass along parsedir and docobjdir.
4249 * configure: Regenerate.
4250 * doc/install.texi: Document --enable-generated-files-in-srcdir.
4251
4252 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
4253
4254 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
4255 included.
4256
4257 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
4258
4259 * c-common.c (expand_tree_builtin): Ensure creal and cimag
4260 functions do not return lvalues.
4261
4262 2003-10-20 Jason Merrill <jason@redhat.com>
4263
4264 PR c/12553
4265 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
4266 appropriately.
4267
4268 PR c/11446
4269 * stor-layout.c (layout_decl): Fix alignment handling.
4270
4271 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
4272
4273 * doc/extend.texi: Deprecate casts as lvalues.
4274
4275 2003-10-20 Jan Hubicka <jh@suse.cz>
4276
4277 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
4278
4279 * cgraphunit.c (decide_is_function_needed): Fix test dealing
4280 with functions implicitly made inline.
4281
4282 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
4283 (cgraph_finalize_function): Use it.
4284 (cgraph_mark_inline): Allow incrmental decisions
4285 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
4286 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
4287 * tree-inline.c (limits_allow_inlining): Kill.
4288 (expand_call_inline): Always use unit-at-a-time path.
4289
4290 2003-10-20 Zack Weinberg <zack@codesourcery.com>
4291
4292 * fixinc/inclhack.def (hpux11_snprintf): New edit.
4293 * fixinc/fixincl.x: Regenerate.
4294 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
4295
4296 2003-10-20 Mark Mitchell <mark@codesourcery.com>
4297
4298 * Makefile.in (install-info): Simplify.
4299 ($(DESTDIR)$(infodir)/%.info): New rule.
4300 * configure.in (target_list): Remove install-info.
4301 * doc/.cvsignore (gcc.info*): Remove.
4302 (gccint.info*): Likewise.
4303 (gccinstall.info*): Likewise.
4304 (cpp.info*): Likewise.
4305 (cppinternals.info*): Likewise.
4306 (*.info*): Add it.
4307 * doc/sourcebuild.texi: Update description of install-info.
4308 * objc/Make-lang.in (objc.install-info): Remove.
4309
4310 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4311
4312 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
4313 Use it in _MIPS_SIM definition.
4314 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
4315
4316 2003-10-20 Zack Weinberg <zack@codesourcery.com>
4317
4318 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
4319 virtual register, but only if file == asm_out_file.
4320 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
4321 for ARG_POINTER_REGNUM.
4322
4323 2003-10-20 Zack Weinberg <zack@codesourcery.com>
4324
4325 * c-common.c (registered_builtin_types): New static.
4326 (c_common_type_for_mode): Consult registered_builtin_types.
4327 (c_register_builtin_type): Add type to registered_builtin_types.
4328 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
4329 all MODE_FLOAT modes, not just the ones corresponding to
4330 float_type_node, double_type_node, and long_double_type_node.
4331
4332 2003-10-20 Richard Henderson <rth@redhat.com>
4333
4334 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
4335 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
4336
4337 2003-10-20 Dorit Naishlos <dorit@il.ibm.com>
4338
4339 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
4340 support new flag -minsert-sched-nops.
4341 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
4342 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
4343 support new flag -minsert-sched-nops.
4344 (is_cracked_insn, is_microcoded_insn): New functions.
4345 (rs6000_sched_finish): New function.
4346 (rs6000_issue_rate): Return 5 for power4.
4347 (get_next_active_insn, insn_terminates_group_p): New
4348 functions.
4349 (is_costly_group, force_new_group): New functions.
4350 (redefine_groups, pad_groups): New functions.
4351 (rs6000_variable_issue): Use new functions.
4352 * doc/invoke.texi (-minsert-sched-nops): Document new
4353 option.
4354
4355 2003-10-20 David S. Miller <davem@redhat.com>
4356
4357 * config/sparc/sparc.md (type attribute): Add new insn types
4358 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
4359 (patterns emitting VIS insns): Use them.
4360 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
4361 * config/sparc/ultra3.md: Likewise.
4362
4363 2003-10-20 Falk Hueffner <falk@debian.org>
4364
4365 PR target/12654
4366 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
4367 comparison against constant by adjusting the argument except for
4368 EQ and NE.
4369
4370 2003-10-19 Mark Mitchell <mark@codesourcery.com>
4371
4372 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
4373 arm1136jfs, and armv6j.
4374 * config/arm/arm.c (FL_ARCH6J): New macro.
4375 (FL_VFPV2): Likewise.
4376 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
4377 and arm1136jfs.
4378 (all_architectures): Add entry for armv6j.
4379 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
4380 arm1136js, and arm1136jfs.
4381 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
4382 (TARGET_CPU_arm1026ej_s): Likewise.
4383 (TARGET_CPU_arm1136j_s): Likewise.
4384 (TARGET_CPU_arm1136jf_s): Likewise.
4385 * doc/invoke.texi: Document new ARM cores and architecture
4386 variants.
4387
4388 2003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4389
4390 * Makefile.in (toplev.o): Add value-prof.h dependency.
4391 (value-prof.o): Add REGS_H dependency.
4392 * common.opt (fprofile-values, fvpt): New.
4393 * flags.h (flag_value_profile_transformations): Declare.
4394 * opts.c (common_handle_option): Handle -fprofile_values and
4395 -fvpt.
4396 * profile.c (branch_prob): Don't remove death notes here.
4397 * timevar.def (TV_VPT): New.
4398 * value-prof.c: Include regs.h.
4399 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
4400 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
4401 mod_subtract_transform, value_profile_transformations): New.
4402 (insn_values_to_profile): Call insn_divmod_values_to_profile.
4403 (find_values_to_profile): Add dumps.
4404 * value-prof.h (value_profile_transformations): Declare.
4405 * toplev.c: Include value-prof.h.
4406 (rest_of_handle_value_profile_transformations): New.
4407 (enum dump_file_index): Add DFI_vpt.
4408 (dump_file): Add vpt dump.
4409 (flag_value_profile_transformations): New.
4410 (lang_independent_options): Add flag_profile_values and
4411 flag_value_profile_transformations.
4412 (rest_of_compilation): Call
4413 rest_of_handle_value_profile_transformations.
4414 (process_options): Let -fvpt imply -fprofile-values.
4415 * doc/invoke.texi (-fvpt): Document.
4416
4417 2003-10-19 Jan Hubicka <jh@suse.cz>
4418
4419 * i386.c (print_reg): Do not abort on certain registers.
4420
4421 PR optimization/12612
4422 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
4423 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
4424 match_scratch; avoid bogus paralles.
4425
4426 PR target/12674
4427 * i386.c (ix86_function_regparm): Disable implicit register passing
4428 conventions when profiling.
4429
4430 2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4431 Richard Henderson <rth@redhat.com>
4432
4433 PR optimization/8178
4434 * config/i386/i386.md (*movsi_zero): Delete.
4435 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
4436
4437 2003-10-19 Richard Henderson <rth@redhat.com>
4438
4439 * config/alpha/alpha.c (fix_operator): New.
4440 (divmod_operator): Tidy.
4441 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
4442 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
4443 (PREDICATE_CODES): Update.
4444 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
4445 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
4446 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
4447 (fix_truncsfdi_ieee): Likewise.
4448 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
4449 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
4450 * config/alpha/alpha-protos.h: Update.
4451
4452 2003-10-19 Richard Sandiford <rsandifo@redhat.com>
4453
4454 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
4455 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
4456 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
4457 constant operands.
4458
4459 2003-10-18 Kazu Hirata <kazu@cs.umass.edu>
4460
4461 * doc/extend.texi: Fix typos.
4462 * doc/invoke.texi: Likewise.
4463
4464 2003-10-18 Nicolas Pitre <nico@cam.org>
4465
4466 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
4467 XScale optimizations not arm_arch_xscale.
4468 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
4469
4470 2003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
4471
4472 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
4473 * config/s390/s390.c (shift_count_operand): New function.
4474 (s390_extra_constraint): Use it to implement 'Y' constraint.
4475 (print_shift_count_operand): New function.
4476 (print_operand): Use it to implement '%Y'.
4477 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
4478 (PREDICATE_CODES): Add shift_count_operand.
4479 * config/s390/s390.md ("rotldi3"): Merge alternatives,
4480 using "shift_count_operand" predicate and "Y" constraint,
4481 and "%Y" to output the combined shift count.
4482 ("rotlsi3"): Likewise.
4483 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
4484 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
4485 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
4486 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
4487 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
4488 ("lshrsi3"): Likewise.
4489
4490 2003-10-18 Gunther Nikl <gni@gecko.de>
4491
4492 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
4493 argument to asm_fprintf statement.
4494
4495 2003-10-18 Fariborz Jahanian <fjahanian@apple.com>
4496
4497 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
4498 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
4499 a "long long" argument.
4500
4501 2003-10-18 Alexandre Oliva <aoliva@redhat.com>
4502
4503 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
4504 as well.
4505
4506 2003-10-18 Richard Sandiford <rsandifo@redhat.com>
4507
4508 * rtl.h (rtl_size): Declare.
4509 (rtunion): Remove rtwint.
4510 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
4511 (RTX_HDR_SIZE, RTX_SIZE): New macros.
4512 (RTL_CHECK1): Adjust for new rtx_def layout.
4513 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
4514 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
4515 (X0WINT): Remove.
4516 (X0ANY): New macro.
4517 * rtl.def: Adjust comments for new rtx_def layout.
4518 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
4519 number of slots.
4520 * rtl.c (rtx_size): New array.
4521 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
4522 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
4523 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
4524 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
4525 * emit-rtl.c (copy_most_rtx): Likewise.
4526 (copy_rtx_if_shared): Use RTX_SIZE.
4527 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
4528 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
4529 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
4530 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
4531 an array. Adjust output for new rtx_def layout.
4532 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
4533 * reload1.c (eliminate_regs): Use RTX_SIZE.
4534 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
4535 * gdbinit.in (pi): Likewise.
4536
4537 2003-10-18 Jan Hubicka <jh@suse.cz>
4538
4539 * integrate.c (copy_decl_for_inlining): Revert previous patch.
4540
4541 2003-10-18 Jan Hubicka <jh@suse.cz>
4542
4543 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
4544
4545 2003-10-18 Roger Sayle <roger@eyesopen.com>
4546
4547 * libgcc.texi: Group multi-word types, such as "long double" and
4548 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
4549 Document __unord?f2 as returning a non-zero value, not just one.
4550
4551 2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
4552
4553 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
4554 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
4555
4556 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4557
4558 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
4559 match_operand.
4560
4561 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4562
4563 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
4564 parameter packed_p. Search for a DECL_PACKED field only if
4565 packed_p is false. Pass packed_p recursively.
4566 (function_arg_record_value_2): Likewise.
4567 (function_arg_record_value): Update calls to
4568 function_arg_record_value_1 and function_arg_record_value_2.
4569
4570 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4571
4572 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
4573 was successfully forced to memory before using the result.
4574
4575 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4576
4577 PR optimization/8178
4578 * config/i386/i386.md (*movsi_zero): New insn to set
4579 a register to zero on TARGET_USE_MOV0 targets.
4580
4581 2003-10-18 Kelley Cook <kcook@gcc.gnu.org>
4582
4583 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
4584 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
4585
4586 2003-10-17 David Edelsohn <edelsohn@gnu.org>
4587
4588 * doc/invoke.texi (gcse-las): Fix typo.
4589
4590 2003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
4591
4592 * doc/install.texi: Remove first part of the sentence for
4593 zsh not working. Change gcc to GCC.
4594
4595 PR bootstrap/12546
4596 * doc/install.texi: Document that zsh does not work when
4597 configuring gcc.
4598
4599 2003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
4600
4601 * config/ptx4.h: Switch to DWARF 2; update comments.
4602
4603 2003-10-17 Segher Boessenkool <boessen@de.ibm.com>
4604 Hartmut Penner <hpenner@de.ibm.com>
4605
4606 PR 10404, partial 11591, partial 11601
4607 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
4608 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
4609 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
4610 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
4611 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
4612 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
4613 (altivec_expand_stv_builtin): Adjust for the memory_operand.
4614 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
4615 (altivec_init_builtins): Use `long int' for memory offsets.
4616
4617 2003-10-17 Jan Hubicka <jh@suse.cz>
4618
4619 * opts.c (common_handle_option): Handle OPT_fweb
4620 * invoke.texi (-fweb): Add missing parts of documentation.
4621
4622 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4623
4624 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
4625 before redefinition.
4626
4627 2003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
4628
4629 * common.opt: Add description of the new -fgcse-las flag.
4630 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
4631 * gcse.c (hash_scan_set): Handle the case of store expression and
4632 insert the memory expression to the hash table, this way we make it
4633 possible to discover redundant loads after stores and remove them.
4634 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
4635 to pre_insert_copies, it is not the correct place to call it after
4636 adding stores to be in the available expression hash table.
4637 (pre_insert_copies): Added the call to update_ld_motion_stores when
4638 one or more copies were inserted.
4639 * opts.c (common_handle_option): Handle the -fgcse-las flag.
4640 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
4641
4642 * doc/invoke.tex: Document new -fgcse-las flag.
4643
4644 2003-10-18 Alan Modra <amodra@bigpond.net.au>
4645
4646 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
4647 for posterity, then remove it.
4648
4649 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4650 Nathan Sidwell <nathan@codesourcery.com>
4651
4652 * config/arm/arm.c (use_return_insn): Not a single instruction, if
4653 there's a frame pointer.
4654 (arm_output_epilogue): Protect stack pointer from being corrupted
4655 on interrupt.
4656
4657 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
4658
4659 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
4660
4661 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
4662
4663 * combine.c (simplify_set): Do not clear out undobuf.other_insn
4664 already set elsewhere.
4665
4666 2003-10-17 Kelley Cook <kcook@gcc.gnu.org>
4667
4668 * config/i386/i386.c (ix86_expand_prologue): Use
4669 gen_allocate_stack_worker.
4670
4671 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4672
4673 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
4674 without gas.
4675 (mips-sgi-irix6*): Likewise.
4676
4677 * config/mips/iris6gas.h: New file.
4678 * gcc/config.gcc (mips-sgi-irix6*): Use it.
4679
4680 * config/mips/mips.h (TARGET_IRIX): Provide default.
4681 (TARGET_IRIX5): Likewise.
4682 (TARGET_SGI_O32_AS): Likewise.
4683 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
4684 (TARGET_IRIX5): Likewise.
4685 * config/mips/iris6.h (TARGET_IRIX6): Remove.
4686 (TARGET_IRIX5): Redefine as 0.
4687
4688 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
4689 linker workaround with TARGET_IRIX and mips_abi instead of
4690 ASM_OUTPUT_UNDEF_FUNCTION.
4691 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
4692 testing TARGET_IRIX and mips_abi explicitly.
4693 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
4694 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
4695
4696 * config/mips/mips.c (irix_output_external_libcall): Renamed from
4697 mips_output_external_libcall.
4698 Use new TARGET_IRIX in guard.
4699 * config/mips/mips-protos.h (irix_output_external_libcall): Match
4700 this.
4701 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
4702
4703 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
4704 Define as 0.
4705
4706 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
4707 depending on mips_abi.
4708 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
4709 * config/mips/mips.c (mips_output_function_prologue): Test
4710 FUNCTION_NAME_ALREADY_DECLARED at runtime.
4711 (mips_output_function_epilogue): Likewise.
4712 (build_mips16_function_stub): Likewise.
4713 (build_mips16_call_stub): Likewise.
4714 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
4715 default.
4716
4717 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
4718 IRIX 6 O32 assembler.
4719 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
4720 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
4721 _MIPS_SIM for O32 ABI.
4722 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
4723 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
4724 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
4725 Integrate O32 version.
4726 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
4727 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
4728 O32 ABI.
4729 (BSS_SECTION_ASM_OP_32): Define.
4730 (BSS_SECTION_ASM_OP_64): Likewise.
4731 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
4732 using them.
4733 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
4734 Move up to allow override for O32 ABI without GNU as.
4735 (EH_FRAME_SECTION_NAME): Define explicitly.
4736 (MUST_USE_SJLJ_EXCEPTIONS): Define.
4737 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
4738 DTORS_SECTION_ASM_OP): Dummy definitions.
4739 (TARGET_ASM_NAMED_SECTION): Undef statically.
4740 (EH_FRAME_SECTION_NAME): Likewise.
4741 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
4742 (LINK_SPEC): Only use default options -call_shared -no_unresolved
4743 without -r.
4744 Don't pass -init, -fini with -mabi=32.
4745 (COLLECT_PARSE_FLAG): Define.
4746
4747 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
4748 TARGET_IRIX.
4749 Renamed to use irix_ prefix.
4750 (iris6_asm_named_section): Likewise.
4751 (iris_section_align_entry_eq): Likewise.
4752 (iris_section_align_entry_hash): Likewise.
4753 (iris6_file_start): Likewise.
4754 (iris6_section_align_1): Likewise.
4755 (iris6_file_end): Likewise.
4756 (iris6_section_type_flags): Likewise.
4757 (iris_section_align_htab): Likewise.
4758 (iris_orig_asm_out_file): Likewise.
4759 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
4760 (TARGET_ASM_FILE_END): Likewise.
4761 (TARGET_SECTION_TYPE_FLAGS): Likewise.
4762
4763 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
4764 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
4765 override_options instead.
4766 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
4767 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
4768 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
4769 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
4770 assemblers.
4771 Likewise for constructor/destructor handling.
4772 (override_options): Handle IRIX O32 assembler quirks.
4773 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
4774 without gas.
4775 (mips_file_start): Use new TARGET_IRIX.
4776 (mips_declare_object_name): No special processing for IRIX O32
4777 assembler.
4778 (mips_finish_declare_object): Likewise.
4779 (irix_asm_output_align): Renamed from iris6_asm_output_align.
4780 Don't record alignment for O32 ABI.
4781 (irix_file_start): Renamed from iris6_file_start.
4782 Return early for O32 ABI.
4783 (irix_file_end): Renamed from iris6_file_end.
4784 Don't emit .section directives for O32 ABI.
4785 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
4786 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
4787
4788 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
4789 (MULTILIB_OSDIRNAMES): Likewise.
4790
4791 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4792
4793 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
4794 (main): Use it.
4795 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
4796
4797 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4798
4799 * arm-modes.def (CC_Nmode): New condition code mode.
4800 * arm.c (thumb_condition_code): Delete.
4801 (arm_select_cc_mode): Handle single-bit test for Thumb.
4802 (arm_print_operand, cases 'd' and 'D'): Don't special case the
4803 condition code logic for Thumb.
4804 (get_arm_condition_code): Handle CC_Nmode.
4805 (thumb_cbrch_target_operand): New function.
4806 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
4807 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
4808 * arm.md: Add Thumb split patterns for zero_extract and
4809 sign_extract.
4810 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
4811 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
4812 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
4813 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4814 (cbranchne_decr1): Re-work to use CC_Nmode.
4815
4816 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
4817 by the return instruction. Add a use of the link register if it
4818 wasn't stored.
4819
4820 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4821
4822 * flow.c (init_propagate_block_info): Don't abort if a conditional
4823 jump is not a comparison of a register. Instead, just don't record
4824 conditional life information.
4825
4826 2003-10-16 Jan Hubicka <jh@suse.cz>
4827
4828 PR optimization/12630
4829 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4830 for operands 7 and 8.
4831
4832 2003-10-16 Kelley Cook <kcook@gcc.gnu.org>
4833
4834 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4835
4836 2003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
4837
4838 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4839
4840 * config/i386/winnt.c (gen_stdcall_suffix): Make static
4841 (gen_fastcall_suffix): Likewise.
4842 (i386_pe_dllexport_p): Likewise.
4843 (i386_pe_dllimport_p): Likewise.
4844 (i386_pe_mark_dllexport): Likewise.
4845 (i386_pe_mark_dllimport): Likewise.
4846 (i386_pe_asm_named_section): Fix formatting.
4847
4848 2003-10-16 Zack Weinberg <zack@codesourcery.com>
4849
4850 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4851 * system.h: Declare snprintf if necessary.
4852 * configure, config.in: Regenerate.
4853
4854 2003-10-15 David Edelsohn <edelsohn@gnu.org>
4855
4856 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4857 arguments if TARGET_ALTIVEC_ABI.
4858
4859 2003-10-15 Roger Sayle <roger@eyesopen.com>
4860
4861 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4862 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4863 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4864 New functions.
4865 (expand_builtin_memcpy): Use integer_zerop instead of testing
4866 host_integerp and tree_low_cst directly. Move misapplied hunk
4867 for optimization wher SRC and DEST point to the same location.
4868 (expand_builtin_mempcpy): From here.
4869 (expand_builtin_memmove): Use integer_zerop instead of testing
4870 host_integerp and tree_low_cst_directly.
4871 (expand_builtin_memset): Likewise.
4872 (expand_builtin_memcmp): Likewise (and for integer_onep).
4873 (expand_builtin_strncmp): Likewise.
4874 (fold_builtin): Call the appropriate fold_builtin_foo functions
4875 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4876 strcmp and strncmp.
4877
4878 2003-10-15 Geoffrey Keating <geoffk@apple.com>
4879
4880 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4881 prototype. Clean up some whitespace.
4882 * config/darwin.c: Use gen_rtx_FOO (...) rather than
4883 gen_rtx (FOO, ...).
4884 (machopic_non_lazy_ptr_name): Make static.
4885 (name_needs_quotes): Allow '.' and '$' unquoted.
4886 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4887 case.
4888
4889 2003-10-15 Gábor Lóki <alga@rgai.hu>
4890
4891 * fold-const.c (tree_swap_operands_p): Disable some features
4892 when optimizing for size.
4893
4894 2003-10-15 David Daney <ddaney@avtrex.com>
4895
4896 * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
4897 * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
4898 from leaf functions.
4899 (DWARF_FRAME_RETURN_COLUMN): Ditto.
4900 (SIGNAL_UNWIND_RETURN_COLUMN): New, used
4901 by MD_FALLBACK_FRAME_STATE_FOR.
4902 * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
4903
4904 2003-10-15 Zack Weinberg <zack@codesourcery.com>
4905
4906 * genmodes.c: Include hashtab.h.
4907 (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
4908 (adj_bytesize, adj_alignment, adj_format, new_adjust)
4909 (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
4910 (print_maybe_const_decl, emit_mode_adjustments): New.
4911 (known_modes): Rename to modes.
4912 (find_mode): Kill class argument; look up in hash table.
4913 (new_mode): Insert into hash table also.
4914 (new_adjust): New.
4915 (reset_float_format, make_partial_integer_mode)
4916 (make_vector_mode): Tweak error reporting.
4917 (reset_float_format): Correct type of fourth argument.
4918 (emit_insn_modes_h): Add #defines to help make mode_size,
4919 mode_base_align, and real_format_for_mode conditionally const.
4920 (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
4921 (emit_real_format_for_mode): Likewise, but temporarily disabled.
4922 (emit_insn_modes_c): Call emit_mode_adjustments.
4923 (main): Initialize modes_by_name.
4924 * Makefile.in: Update dependencies.
4925 * machmode.def: Document EXPR arguments and new ADJUST_* statements.
4926 * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
4927 declarations of mode_size and mode_base_align. Declare
4928 init_adjust_machine_modes.
4929 * toplev.c (backend_init): Call init_adjust_machine_modes.
4930
4931 2003-10-15 Olivier Hainque <hainque@act-europe.fr>
4932
4933 * genmodes.c (calc_wider_mode): Allocate enough room for all the
4934 entries we'll possibly assign in the sort buffer.
4935
4936 2003-10-15 Ulrich Weigand <uweigand@de.ibm.com>
4937
4938 * config.gcc (s390x-ibm-tpf*): New target.
4939 * doc/install.texi: Document it.
4940 * config/s390/t-tpf: New file.
4941 * config/s390/tpf.h: New file.
4942
4943 2003-10-15 Hans-Peter Nilsson <hp@axis.com>
4944
4945 PR target/12598
4946 * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
4947 (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
4948 Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
4949 ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
4950 (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
4951 (define_split "*mov_sidesi_mem"+28, +29, +30): Use
4952 replace_equiv_address, not gen_rtx_MEM.
4953 * config/cris/cris.c (cris_mem_op): New match_operator function.
4954 (cris_notice_update_cc): Use replace_equiv_address, not
4955 gen_rtx_MEM.
4956 * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
4957
4958 2003-10-15 Bernardo Innocenti <bernie@develer.com>
4959
4960 * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
4961 MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
4962 definitions after the other flags.
4963
4964 2003-10-14 Ziemowit Laski <zlaski@apple.com>
4965
4966 * c-parse.in (methoddef, methodproto): Call objc_add_method()
4967 instead of add_method().
4968 * objc/objc-act.c (objc_check_decl): Do not check for
4969 constant_string_type.
4970 (add_method): Rename to objc_add_method().
4971 (really_start_method): Call objc_add_method() instead of
4972 add_method().
4973 * objc/objc-act.h (add_method): Rename to objc_add_method().
4974
4975 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
4976
4977 * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
4978 (s390_slb_comparison): Likewise.
4979 * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
4980 New functions.
4981 * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
4982 and s390_slb_comparison.
4983 * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
4984 zSeries machines.
4985 ("*adddi3_31z", "*subdi3_31z"): New insns.
4986 ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
4987 "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
4988 New insns.
4989
4990 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
4991
4992 * configure.in: Clean up some feedback echoes.
4993 * configure: Regenerate.
4994
4995 * aclocal.m4: Properly quote names of macros being defined.
4996
4997 * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
4998
4999 2003-10-14 Steve Ellcey <sje@cup.hp.com>
5000
5001 * config/ia64/ia64.c (ia64_expand_call): Force function address
5002 to DImode.
5003 * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
5004
5005 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
5006
5007 * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
5008 "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
5009 ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
5010 "*divsf3_ibm"): Likewise.
5011
5012 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
5013
5014 * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
5015 target_alias with target_noncanonical.
5016
5017 2003-10-14 Geoffrey Keating <geoffk@apple.com>
5018
5019 * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
5020 and add case for machines where outgoing register parameters
5021 get stack space.
5022
5023 * config/darwin.c (machopic_indirect_data_reference): Use a scratch
5024 register when generating indirect address.
5025
5026 2003-10-14 Richard Earnshaw <rearnsha@arm.com>
5027
5028 * arm.c (arm_addimm_operand): MODE arguemnt is unused.
5029 * arm.md (cbranchne_decr1): Fix bootstrap warning.
5030
5031 2003-10-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5032
5033 * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
5034 * fixinc/fixincl.x: Regenerate.
5035 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
5036 testcase.
5037 Fixes PR bootstrap/9330.
5038
5039 2003-10-13 Eric Christopher <echristo@redhat.com>
5040
5041 * config/frv/frv.c (frv_adjust_field_align): Redo check for
5042 too wide bitfields.
5043 (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
5044 * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
5045 (SBSS_SECTION_ASM_OP): Remove.
5046 (EXTRA_SECTIONS): Remove in_sbss.
5047 (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
5048 (SBSS_SECTION_FUNCTION, sbss_section): Remove.
5049 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
5050 named_section.
5051
5052 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
5053
5054 * Makefile.in, configure.in, config.host, mkheaders.in: Replace
5055 uses of ${target_alias} for directory names (and other places which
5056 won't like the empty string) with ${target_noncanonical}. Introduce
5057 call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
5058 available.
5059 * configure: Regenerate.
5060
5061 2003-10-13 Ian Lance Taylor <ian@wasabisystems.com>
5062
5063 * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
5064 * config/arm/arm.md: For splits which rely on conditional moves,
5065 remove ! TARGET_IWMMXT condition.
5066
5067 2003-10-13 David S. Miller <davem@redhat.com>
5068
5069 * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
5070 (find_cond_trap): Always increment if we emit a conditional
5071 trap insn.
5072
5073 2003-10-13 Zack Weinberg <zack@codesourcery.com>
5074
5075 * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
5076 with min-insn-modes.o.
5077 (STAGESTUFF): Add min-insn-modes.c.
5078 (genobjs): Add genmodes.o.
5079 (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
5080 (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
5081 (min-insn-modes.c, min-insn-modes.o): New rules.
5082 (s-modes): Also generate min-insn-modes.c.
5083 ($(BUILD_PREFIX_1)insn-modes.o): Kill.
5084 * genmodes.c (struct mode_data): Add format field.
5085 (blank_mode, validate_mode, complete_mode): Update to match.
5086 (make_scalar_mode): Separate into make_int_mode and make_float_mode.
5087 (_SCALAR_MODE): Kill.
5088 (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
5089 (emit_insn_modes_c_header): Adjust.
5090 (emit_min_insn_modes_c_header, emit_real_format_for_mode)
5091 (emit_min_insn_modes_c): New functions.
5092 (emit_insn_modes_c): Call emit_real_format_for_mode.
5093 (main): Add -m option to generate min-insn-modes.c.
5094 * machmode.h: Update documentation. Add format argument to
5095 all uses of FLOAT_MODE.
5096 * real.c: Don't define real_format_for_mode here.
5097
5098 * dwarfout.c: Move default definition of PRINT_REG...
5099 * defaults.h: ...here.
5100 * print-rtl.c: Include tm_p.h.
5101 (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
5102 Kill.
5103 (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG. But surround
5104 this entire block with #ifndef GENERATOR_FILE.
5105 * regclass.c: Unconditionally define reg_names.
5106 * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
5107 Don't define DEBUG_REGISTER_NAMES.
5108 * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
5109 redefinition of REGISTER_NAMES.
5110 * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
5111
5112 * combine.c: Change all preprocessor conditionals on
5113 EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
5114 for clarity.
5115 * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
5116 * configure.in: Don't define EXTRA_CC_MODES.
5117 * configure, config.in: Regenerate.
5118 * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
5119
5120 * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
5121 May assume that GET_MODE_CLASS is accurate for extra CC modes
5122 at all times.
5123
5124 * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
5125 number of arguments to aggregate_value_p.
5126
5127 * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
5128 * machmode.def: Explain ARCH-modes.def. Document
5129 RESET_FLOAT_FORMAT. Improve commentary on various mode
5130 clusters. Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
5131 XF, or TF modes here. Remove backward-compatibility
5132 definition of CC.
5133
5134 * config/alpha/alpha-modes.def: New file; define TF mode.
5135 * config/arc/arm-modes.def: Define XF mode.
5136 * config/c4x/c4x-modes.def: Define QF and HF modes. Unset
5137 float format for SF and DF modes.
5138 * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
5139 * config/i386/i386-modes.def: Define XF and TF modes.
5140 * config/i960/i960-modes.def: Define TF mode.
5141 * config/ia64/ia64-modes.def: Define TF and OI modes.
5142 * config/m68k/m68k-modes.def: New file; define XF mode.
5143 * config/mips/mips-modes.def: New file; define TF mode, reset
5144 formats for SF and DF modes.
5145 * config/pa/pa-modes.def: Define TF mode.
5146 * config/rs6000/rs6000.c: Define TF and PSI modes.
5147 * config/s390/s390-modes.def: Define OI mode.
5148 * config/sh/sh-modes.def: New file; define PSI mode.
5149 * config/sparc/sparc-modes.def: Define TF mode.
5150 * config/vax/vax-modes.def: New file; reset formats for SF and
5151 DF modes.
5152
5153 * config/c4x/c4x.c (c4x_override_options): No need to mess
5154 with real_format_for_mode or set REAL_MODE_FORMATs.
5155 (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
5156 variable.
5157 * config/i386/i386.c (override_options): No need to set
5158 REAL_MODE_FORMATs here.
5159 * config/i960/i960.c (i960_initialize): Likewise.
5160 * config/m68k/m68k.c (m68k_override_options): Likewise.
5161 * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
5162 for TFmode only if not the default.
5163 * config/mips/mips.c (override_options): Likewise.
5164 * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
5165 DFmode only if not the default.
5166
5167 * config/i370/i370.h (RET_REG): Don't consider TFmode.
5168 * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
5169 * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
5170 of modes that don't appear anywhere in the machine description.
5171
5172 * config/arc/arc-modes.def, config/arm/arm-modes.def
5173 * config/c4x/c4x-modes.def, config/frv/frv-modes.def
5174 * config/i386/i386-modes.def, config/i960/i960-modes.def
5175 * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
5176 * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
5177 * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
5178 * config/sparc/sparc-modes.def: Convert to new style for
5179 declaring extra CC modes.
5180
5181 2003-10-13 Zack Weinberg <zack@codesourcery.com>
5182
5183 * cpplex.c (_cpp_clean_line): In the common case of a line
5184 with no trigraphs and no \-newline, avoid writing to memory.
5185 (_cpp_skip_block_comment): Use a local 'cur' pointer instead
5186 of the buffer member. Make c an uchar to avoid unnecessary
5187 sign extensions.
5188
5189 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
5190
5191 * configure.in: Remove unnecessary test.
5192 * configure: Regenerate.
5193
5194 * configure.in: Fix grammatical error. Move UWIN host error to...
5195 * config.host: Here.
5196 * configure: Regenerate.
5197
5198 2003-10-13 Andreas Krebbel <krebbel1@de.ibm.com>
5199
5200 * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
5201 "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
5202 of flag_unsafe_math_optimizations.
5203 * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
5204 "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
5205 fused-madd and no-fused-madd.
5206 * doc/invoke.texi: Documented the new options fused-madd and
5207 no-fused-madd for S/390.
5208
5209 2003-10-14 Alan Modra <amodra@bigpond.net.au>
5210
5211 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
5212 MASK_ALIGN_NATURAL if rs6000_alignment_string not given. Don't
5213 assign DEFAULT_ABI.
5214 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
5215 * config/rs6000/rs6000.c: Formatting.
5216 (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
5217 when rs6000_alignment_string given.
5218
5219 2003-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
5220
5221 PR target/12538
5222 * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
5223 (sparc_flat_must_save_register_p): New function to decide whether
5224 a register must be saved/restored in the function prologue/epilogue.
5225 (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
5226
5227 2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
5228
5229 * config/avr/avr.c, config/avr/avr-protos.h: Convert to
5230 ISO C90 function declarations and definitions.
5231 * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
5232
5233 2003-10-12 Nathanael Nerode <neroden@gcc.gnu.org>
5234
5235 * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
5236 config files which do the same thing.
5237 * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
5238 config/freebsd6.h: Remove now unnecessary files.
5239
5240 2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
5241
5242 * c-common.c (c_common_truthvalue_conversion): Warn if the
5243 address of a non-weak function is used as a truth value.
5244
5245 2003-10-12 Kazu Hirata <kazu@cs.umass.edu>
5246
5247 * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
5248 a literal.
5249 * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
5250 instead of a literal.
5251
5252 2003-10-12 Hans-Peter Nilsson <hp@bitrange.com>
5253
5254 * doc/extend.texi (Function Attributes): Mention the exceptional
5255 path for noreturn-marked functions.
5256
5257 2003-10-12 Jan Hubicka <jh@suse.cz>
5258
5259 * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
5260 warning.
5261
5262 2003-10-12 Danny Smith <dannysmith@users.sourceforge.net>
5263
5264 * config/i386/i386.c (x86_this_parameter): Fix typo.
5265
5266 203-10-11 Jan Hubicka <jh@suse.cz>
5267
5268 * Makefile.in (web.o): New.
5269 * web.c: New file.
5270 * rtl.h (web_main): Declare.
5271 * timervar.def (TV_WEB): New.
5272 * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
5273 (rest_of_hanle_web): New.
5274 (flag_web): New static variable.
5275 (lang_independent_options): Add "web".
5276 (rest_of_compilation): Call rest_of_handle_web.
5277 * invoke.texi (-fweb): Document.
5278 * common.opt (fweb): New.
5279 * flags.h (flag_web): New.
5280 * opts.c (decode_options): Set flag_web at -O3.
5281
5282 * passes.texi (web construction): Document.
5283 * invoke.texi (-O3): Document that -fweb is enabled.
5284
5285 * regrename.c (regrename_optimize): Deal better with situation when
5286 replacement failed.
5287
5288 * sched-ebb.c: Include params.h and profile.h
5289 (schedule_ebbs): Use tracer parameters to discover superblocks
5290 * Makefile.in (sched-ebb.o): Add dependencies.
5291
5292 2003-10-11 Roger Sayle <roger@eyesopen.com>
5293
5294 * fold-const.c (negate_mathfn_p): New function to determine whether
5295 a built-in mathematical function is sign preserving, f(-x) == -f(x).
5296 Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
5297 (tree_swap_operands_p): Change API to take an additional argument
5298 indicating that the swapped operands evaluate in reverse order.
5299 Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
5300 operand side-effects or we don't care about flag_evaluation_order.
5301 (reorder_operands_p): New function to check whether its safe to
5302 evaluate the given operands in reverse order.
5303 (negate_expr_p): We can always negate integer constants unless
5304 we honor -ftrapv and the signed type would overflow. Only allow
5305 -(A-B) into B-A if reorder_operands_p says that its OK. Allow
5306 negation of COMPLEX_CST if both real and imaginary parts can be
5307 negated. Allow negation through floating point extensions and
5308 sign-preserving built-in functions.
5309 (negate_expr): Move the code to negate integers from "fold" to
5310 here. Always negate integer constants unless we honor -ftrapv
5311 and the signed type would overflow. Always negate real constants
5312 unless we honor -ftrapping-math. Only convert -(A-B) into B-A
5313 if allowed by reorder_operands_p. Add support for COMPLEX_CST.
5314 Optimize negation through floating point extensions and
5315 sign-preserving built-in functions (as defined by negate_mathfn_p).
5316 (fold): Adjust calls to tree_swap_operands_p.
5317 (fold <NEGATE_EXPR>): Move the remaining negation optimizations
5318 to negate_expr_p/negate_expr.
5319 (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
5320 allowed to convert (-A) - B into (-B) - A.
5321
5322 2003-10-11 Roger Sayle <roger@eyesopen.com>
5323
5324 * builtins.c (expand_builtin_strcmp): Defend against the possibility
5325 that gen_cmpstrsi may fail: Stabilize the argument list against
5326 re-evaluation and expand the library call directly using this saved
5327 argument list if a cmpstrsi sequence can't be generated.
5328 (expand_builtin_strncmp): Likewise.
5329
5330 * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
5331
5332 2003-10-11 Roger Sayle <roger@eyesopen.com>
5333
5334 PR optimization/12260
5335 * simplify-rtx.c (simplify_unary_operation): Simplify all unary
5336 operations through CONST nodes. Optimize (neg (plus X C)) as
5337 (minus -C X) for constant values C.
5338 (simplify_binary_operation): Optimize (minus (neg X) C) as
5339 (minus -C X) for constant values C.
5340 (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
5341 instead create (minus -C X).
5342
5343 2003-10-11 Roger Sayle <roger@eyesopen.com>
5344
5345 * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
5346 safe_from_p for us, once it chooses an evaluation order.
5347 (expand_expr <MULT_EXPR>): Likewise.
5348 (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise. If expand_operands
5349 places the second operand in "target", swap the operands.
5350 (do_store_flag): Let expand_operands call safe_from_p for us.
5351
5352 2003-10-11 Eric Botcazou <ebotcazou@libertysurf.fr>
5353
5354 PR optimization/12544
5355 * function.c (put_var_into_stack): Don't generate ADDRESSOFs
5356 for DECL_NONLOCAL decls.
5357
5358 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
5359
5360 * expr.c: Follow spelling conventions.
5361 * final.c: Likewise.
5362 * optabs.c: Likewise.
5363 * sched-deps.c: Likewise.
5364 * sdbout.c: Likewise.
5365
5366 Sat Oct 11 12:24:23 CEST 2003 Jan Hubicka <jh@suse.cz>
5367
5368 * varasm.c (notice_global_symbol): Fix handling of variables; avoid
5369 re-computing of variable.
5370
5371 2003-10-11 Richard Henderson <rth@redhat.com>
5372
5373 * config/alpha/alpha.c (alpha_return_in_memory): Rename from
5374 return_in_memory, make static, change signature to match target hook.
5375 (alpha_setup_incoming_varargs): Make static, change signature to
5376 match target hook, add code for vms and unicos.
5377 (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
5378 TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
5379 TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
5380 TARGET_STRICT_ARGUMENT_NAMING,
5381 TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
5382 * config/alpha/alpha-protos.h: Update.
5383 * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
5384 PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
5385 SETUP_INCOMING_VARARGS): Remove.
5386 * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
5387 * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
5388
5389 2003-10-11 Ian Lance Taylor <ian@wasabisystems.com>
5390
5391 * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
5392
5393 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
5394
5395 * config/m68k/lb1sf68.asm: Follow spelling conventions.
5396 * config/m68k/m68k.c: Likewise.
5397 * config/m68k/m68k.h: Likewise.
5398 * config/m68k/m68k.md: Likewise.
5399
5400 2003-10-11 Roger Sayle <roger@eyesopen.com>
5401
5402 * builtins.c (expand_builtin_memcpy): Optimize case when the two
5403 pointer arguments are the equal, non-volatile and side-effect free.
5404 (expand_builtin_mempcpy): Likewise.
5405 (expand_builtin_memmove): Likewise.
5406 (expand_builtin_strcpy): Likewise.
5407 (expand_builtin_memcmp): Likewise.
5408 (expand_builtin_strcmp): Likewise.
5409 (expand_builtin_strncmp): Likewise.
5410
5411 2003-10-11 Roger Sayle <roger@eyesopen.com>
5412
5413 * combine.c (apply_distributive_law): Enable "distributive" floating
5414 point optimizations with -funsafe-math-optimizations.
5415
5416 2003-10-11 Andrew Pinski <pinskia@physics.uc.edu>
5417
5418 * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
5419
5420 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
5421
5422 * config/m68k/m68k-protos.h: Remove the prototype for
5423 finalize_pic.
5424
5425 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
5426
5427 * config/m68k/m68k.c: Fix comment typos.
5428
5429 2003-10-11 Bernardo Innocenti <bernie@develer.com>
5430
5431 * config/m68k/m68k-protos.h (use_return_insn): Change return type from
5432 int to bool.
5433 * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
5434 (current_frame): New global var.
5435 (m68k_compute_frame_layout): Cache computations in current_frame.
5436 (m68k_initial_elimination_offset): Use values from current_frame
5437 instead of recomputing them.
5438 (use_return_insn): Likewise.
5439 (m68k_output_function_prologue): Likewise.
5440 (m68k_output_function_epilogue): Likewise.
5441 * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
5442 inside the block for __pic__.
5443
5444 2003-10-11 Peter Barada <peter@baradas.org>
5445 Bernardo Innocenti <bernie@develer.com>
5446
5447 * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
5448 (m68k_save_reg): Add boolean parameter `interrupt_handler'.
5449 (m68k_interrupt_function_p): New function.
5450 (m68k_handle_fndecl_attribute): Ditto.
5451 (m68k_compute_frame_layout): Ditto.
5452 (m68k_attribute_table): Define back-end specific attributes.
5453 (m68k_output_function_epilogue): Emit RTE instruction for interrupt
5454 functions.
5455
5456 2003-10-11 Bernardo Innocenti <bernie@develer.com>
5457
5458 * config/m68k/t-uclinux: New target Makefile fragment.
5459 * config/m68k/uclinux.h: New target macro file.
5460 * config.gcc (m68k-*-uclinux): New target definition.
5461
5462 2003-10-10 Roger Sayle <roger@eyesopen.com>
5463
5464 * builtins.c (builtin_mathfn_code): Generalize to check whether
5465 the call is to any built-in function by comparing the call's
5466 argument list against the builtin decl's function type.
5467
5468 2003-10-10 Roger Sayle <roger@eyesopen.com>
5469
5470 * cse.c (constant_pool_entries_regcost): New global variable to
5471 hold the register cost component of constant_pool_entries_cost.
5472 (fold_rtx): Calculate constant_pool_entries_regcost at the same
5473 time as constant_pool_entries_cost.
5474 (cse_insn): Set both src_folded_cost and src_folded_regcost from
5475 constant_pool_entries_cost and constant_pool_entries_regcost.
5476 (cse_main): Initialize constant_pool_entries_regcost to zero.
5477
5478 * optabs.c (expand_unop): Attach a REG_EQUAL note describing
5479 the semantics of the sequence of bit operations used to negate
5480 a floating-point value.
5481 (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
5482 the semantics of the bit operations used to abs a floating point
5483 value.
5484
5485 2003-10-11 Bernardo Innocenti <bernie@develer.com>
5486 Paul Dale <pauli@snapgear.com>
5487
5488 * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
5489 support.
5490 * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
5491 -fpic, -fPIC, -msep-data and -mid-shared-library.
5492 * config/m68k/m68k.c (m68k_library_id_string): New global variable.
5493 (override_options): Add -msep-data and -mshared-library-id support.
5494 (m68k_output_function_prologue): Generate code to load A5 for
5495 TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
5496 (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
5497 (m68k_output_pic_call): New function.
5498 * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
5499 (TARGET_ID_SHARED_LIBRARY): Ditto.
5500 (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
5501 * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
5502 (call_value): Likewise.
5503
5504 2003-10-10 Zack Weinberg <zack@codesourcery.com>
5505
5506 * gengenrtl.c (find_formats, genheader): Make i an unsigned
5507 int, remove cast of NUM_RTX_CODE.
5508 * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
5509 entire file. Remove the #ifs on GET_MODE_MASK etc and
5510 GET_MODE_WIDER_MODE etc.
5511
5512 2003-10-10 Eric Christopher <echristo@redhat.com>
5513
5514 * lcm.c (optimize_mode_switching): Change NORMAL_MODE
5515 to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
5516 that set mode.
5517 * config/sh/sh.h (MODE_ENTRY): New macro.
5518 (MODE_EXIT): Ditto.
5519 (MODE_AFTER): Ditto.
5520 * config/sh/sh.md: Change for MODE_AFTER. Add
5521 fp_set attribute.
5522 * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
5523
5524 2003-10-10 Zack Weinberg <zack@codesourcery.com>
5525
5526 * genmodes.c, mode-classes.def: New files.
5527 * machmode.def: Rewritten to genmodes.c interface.
5528 * Makefile.in (extra_modes_file): New substitution variable.
5529 (MACHMODE_H): No longer includes machmode.def or
5530 @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
5531 (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
5532 (OBJS-common): Add insn-modes.o.
5533 (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
5534 genmodes$(build_exeext).
5535 (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
5536 genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
5537 (s-genrtl): Don't depend on $(RTL_BASE_H).
5538 (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
5539 or $(RTL_BASE_H); just rtl.def.
5540 * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
5541 real.h. Give fake definition of CONST_DOUBLE_FORMAT and
5542 substitute definition of NUM_RTX_CODE. Add casts to avoid
5543 warnings.
5544 * machmode.h: Include insn-modes.h, not machmode.def. Include
5545 mode-classes.def to define enum mode_class. Tweak definitions
5546 of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
5547 GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
5548 (inner_mode_array): Renamed mode_inner.
5549 (mode_base_align): New.
5550 * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
5551 mode_unit_size, mode_wider_mode, mode_mask_array,
5552 inner_mode_array, class_narrowest_mode): Delete definitions.
5553 * stor-layout.c (get_mode_alignment): Use mode_base_align.
5554 * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
5555 and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
5556
5557 * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
5558 No need to define BITS_PER_UNIT.
5559
5560 2003-10-10 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5561
5562 * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
5563 (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
5564 (ia64_initialize_trampoline): If not using GAS, declare trampoline
5565 as global.
5566 * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
5567 (ASM_OUTPUT_DEBUG_LABEL): Likewise.
5568
5569 * stor-layout.c (compute_record_mode): Don't force BLKmode if
5570 field is zero-length BLKmode.
5571 * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
5572 zero-size references.
5573
5574 * combine.c (distribute_links): Properly test for REG being set.
5575
5576 * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
5577 gen_lowpart and company except for REG.
5578
5579 2003-10-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5580
5581 * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
5582
5583 2003-10-10 Nathanael Nerode <neroden@gcc.gnu.org>
5584
5585 * config.gcc (mips*-*-netbsd*): Remove content-free line.
5586
5587 2003-10-10 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5588
5589 * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
5590 gcov_position_t and gcov_type.
5591
5592 2003-10-09 Kaz Kojima <kkojima@gcc.gnu.org>
5593
5594 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
5595 * configure: Regenerate.
5596
5597 2003-10-09 Kazu Hirata <kazu@cs.umass.edu>
5598
5599 * config/h8300/h8300.md (define_asm_attributes): Specify
5600 the length of an asm insn more precisely.
5601
5602 2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5603
5604 * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
5605
5606 2003-10-09 Bob Wilson <bob.wilson@acm.org>
5607
5608 * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
5609 FP register number to 48 and MAC16 accumulator to 0x210.
5610
5611 2003-10-09 Nathanael Nerode <neroden@gcc.gnu.org>
5612
5613 * config.gcc: Remove redundant thread_file setting clauses for
5614 various *-*-linux* targets.
5615
5616 2003-10-09 Kazu Hirata <kazu@cs.umass.edu>
5617
5618 * config/h8300/h8300.md (define_asm_attributes): New.
5619
5620 2003-10-09 Roger Sayle <roger@eyesopen.com>
5621
5622 * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
5623 to the comparison, as emit_libcall_block calls copy_rtx on equiv.
5624
5625 2003-10-09 Dorit Naishlos <dorit@il.ibm.com>
5626
5627 * haifa-sched.c (ok_for_early_schedule): New function.
5628 (early_queue_to_ready): New function.
5629 (schedule_block): Allow early removal of insns from Q.
5630 (schedule_insn): Update INSN_TICK in case of premature
5631 issue.
5632 * common.opt (sched_stalled_insns): New flag.
5633 (sched_stalled_insns_dep): New flag.
5634 * flags.h: Same above flags.
5635 * opts.c: Same as above.
5636 * toplev.c: Same as above.
5637 * target.h (targetm.sched.is_costly_dependence): New
5638 hook.
5639 * target-def.h: Same as above.
5640 * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
5641 Support new flag -msched-costly-dep.
5642 (DEFAULT_SCHED_COSTLY_DEP): Define.
5643 * config/rs6000/rs6000.c:
5644 (rs6000_is_costly_dependence): New function.
5645 (is_load_insn, is_store_insn): New functions.
5646 (is_load_insn1, is_store_insn1, is_mem_ref): New
5647 functions.
5648 * doc/invoke.texi (-fsched-stalled-insns-dep)
5649 (-fsched-stalled-insns, -msched-costly-dep): Document
5650 options.
5651 * doc/tm.texi (is_costly_dependence): Define new
5652 scheduler target hook.
5653
5654 2003-10-09 Jason Merrill <jason@redhat.com>
5655
5656 PR c++/6392
5657 * c-common.c (c_build_qualified_type): Look through arrays first.
5658 (c_apply_type_quals_to_decl): Look through arrays.
5659
5660 * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
5661 types with constructors.
5662
5663 * coverage.c (build_ctr_info_value): Use build_decl to make a
5664 VAR_DECL.
5665 (create_coverage): Likewise.
5666
5667 * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
5668 here.
5669 (expand_asm_operands): Not here.
5670 (parse_input_constraint): No longer static.
5671 * tree.h: Declare it.
5672
5673 2003-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
5674
5675 * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
5676 libgcc_s.so.
5677 (SHLIB_INSTALL): Likewise.
5678
5679 2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
5680
5681 * doc/install.texi: Remove reference to removed 'pthreads' thread
5682 option.
5683
5684 2003-10-08 Aldy Hernandez <aldyh@redhat.com>
5685
5686 * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
5687 operand 2.
5688
5689 2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
5690
5691 * config.gcc: Don't accept --enable-threads=pthreads. Clean
5692 up related case statements.
5693 * configure.in: Don't accept --enable-threads=pthreads,
5694 decosf1, mach, or os2 (none of which work anyway). Alphabetize
5695 supported thread files in case clause.
5696 * configure: Regenerate.
5697
5698 2003-10-08 Geoffrey Keating <geoffk@apple.com>
5699
5700 * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
5701 definition to above SPARC_STACK_BOUNDARY_HACK.
5702
5703 2003-10-08 Jason Merrill <jason@redhat.com>
5704
5705 * c-pretty-print.c (pp_c_postfix_expression)
5706 <COMPOUND_LITERAL_EXPR>: Fix thinko.
5707
5708 2003-10-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5709
5710 * mklibgcc.in: Don't hide undefined or typeless symbols.
5711
5712 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5713
5714 PR optimization/12142
5715 * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
5716 uses of the register in the SET_SRC. Remove unnecessary argument.
5717 * pa.c (legitimize_pic_address): Before reload, use a scratch register
5718 for the intermediate result in loading the address of a SYMBOL_REF.
5719 Set the MEM_NOTRAP_P flag for the MEM. Add a REG_EQUAL to the insn
5720 which loads the SYMBOL_REF address.
5721
5722 2003-10-08 Timo Kokkonen <tjko@iki.fi>
5723 Eric Botcazou <ebotcazou@libertysurf.fr>
5724
5725 PR bootstrap/12490
5726 * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
5727 to define the size of the extern_C_braces array. Set it to 200.
5728 (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
5729
5730 2003-10-08 Carlo Wood <carlo@alinoe.com>
5731
5732 * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
5733 a space after the -o option. flex 2.5.31 understands both, with
5734 and without the space. Removed that space.
5735
5736 2003-10-08 Richard Sandiford <rsandifo@redhat.com>
5737
5738 * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
5739 (compute_frame_size): Initialize it. Remove the .cprestore slot
5740 from args_size.
5741 (mips_output_function_prologue): Simplify accordingly.
5742 (mips_debugger_offset): Change the mips16 frame pointer offset from
5743 current_function_outgoing_args to cfun->machine->frame.args_size.
5744 (mips_initial_elimination_offset): Likewise.
5745 (mips_expand_prologue): Likewise.
5746 (mips_expand_epilogue): Likewise.
5747
5748 2003-10-08 Richard Sandiford <rsandifo@redhat.com>
5749
5750 * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
5751 (EXTRA_MEMORY_CONSTRAINT): Define.
5752 (CAN_ELIMINATE): Remove lwu workaround.
5753 * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
5754 Use a 'W' constraint for the source operand.
5755
5756 2003-10-08 Kazu Hirata <kazu@cs.umass.edu>
5757
5758 * genopinit.c (main): Output code to declare undefined
5759 variables.
5760
5761 2003-10-07 Kelley Cook <kcook@gcc.gnu.org>
5762
5763 * gengtype-lex.l: Remove -Wtraditional cruft.
5764 * Makefile.in (gengtype-lex.c): Likewise.
5765
5766 2003-10-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5767
5768 * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
5769
5770 2003-10-07 Jason Merrill <jason@redhat.com>
5771
5772 PR c++/12519
5773 * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
5774 it isn't a decl.
5775
5776 2003-10-07 Alexandre Oliva <aoliva@redhat.com>
5777
5778 * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
5779 not overridden.
5780 Fixes PR bootstrap/12173.
5781
5782 2003-10-07 Zack Weinberg <zack@codesourcery.com>
5783
5784 * errors.c: Don't include coretypes.h or tm.h.
5785 (trim_filename): Use IS_DIR_SEPARATOR.
5786 * Makefile.in: Update dependencies of errors.o and
5787 $(BUILD_PREFIX_1)errors.o.
5788
5789 2003-10-07 Geoffrey Keating <geoffk@apple.com>
5790
5791 * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
5792 account when aligning arguments.
5793 * calls.c (STACK_POINTER_OFFSET): Move default from here ...
5794 * defaults.h (STACK_POINTER_OFFSET): ... to here.
5795 * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
5796 it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
5797 (SPARC_STACK_BOUNDARY_HACK): Define.
5798 * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
5799 arrange for vector parameters to varargs functions to be passed
5800 in both memory and GPRs when appropriate.
5801 (rs6000_va_arg): Vector arguments passed in memory are 16-byte
5802 aligned.
5803
5804 * hooks.c (hook_bool_tree_true): New.
5805 (hook_rtx_tree_int_null): New.
5806 (hook_rtx_rtx_null): Use NULL, not 0.
5807 * hooks.h: Add 'extern' to everything.
5808 (hook_bool_tree_true): New.
5809 (hook_rtx_tree_int_null): New.
5810 * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
5811 * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
5812 * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
5813 prototype.
5814 * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
5815 (setup_incoming_varargs): Prototype.
5816 (TARGET_PROMOTE_FUNCTION_ARGS): Define.
5817 (TARGET_PROMOTE_FUNCTION_RETURN): Define.
5818 (TARGET_STRUCT_VALUE_RTX): Define.
5819 (TARGET_RETURN_IN_MEMORY): Define.
5820 (TARGET_SETUP_INCOMING_VARARGS): Define.
5821 (TARGET_STRICT_ARGUMENT_NAMING): Define.
5822 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
5823 (init_cumulative_args): Use rs6000_return_in_memory.
5824 (setup_incoming_varargs): Make 'static'.
5825 * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
5826 (PROMOTE_FUNCTION_RETURN): Delete.
5827 (STRUCT_VALUE): Delete.
5828 (RETURN_IN_MEMORY): Delete.
5829 (SETUP_INCOMING_VARARGS): Delete.
5830
5831 2003-10-07 Gerald Pfeifer <gerald@pfeifer.com>
5832
5833 * doc/invoke.texi (Warning Options): Simplify and clarify the
5834 descriptions of -Wnonnull and -Winit-self.
5835
5836 2003-10-07 Richard Earnshaw <rearnsha@arm.com>
5837
5838 * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
5839 indicees for floating-point conversersion libcalls.
5840
5841 2003-10-07 Nathanael Nerode <neroden@gcc.gnu.org>
5842
5843 * Makefile.in: Add more comments separating large conceptually
5844 separate sections.
5845
5846 * configure.in: Clean up thread file logic.
5847 * configure: Regenerate.
5848
5849 2003-10-07 Danny Smith <dannysmith@users.sourceforge.net>
5850
5851 * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
5852 (switch_to_section): Handle in_readonly_data.
5853 * config/i386/winnt.c (i386_pe_asm_named_section): Handle
5854 readonly data.
5855
5856 2003-10-07 Richard Earnshaw <rearnsha@arm.com>
5857
5858 * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
5859 it.
5860 (cbranchne_decr1): New Thumb pattern.
5861 * arm.c (arm_addimm_operand): New insn predicate.
5862 * arm-protos.h: Add a prototype for it.
5863 * arm.h (PREDICATE_CODES): Add it.
5864
5865 2003-10-07 Dorit Naishlos <dorit@il.ibm.com>
5866
5867 * sched-int.h (sched_info): New field
5868 sched_max_insns_priority.
5869 * sched-rgn.c (init_ready_list): Add invocations to
5870 targetm.sched.adjust_priority.
5871 (sched_max_insns_priority): Init new field.
5872 * sched-ebb.c (sched_max_insns_priority): Init new field.
5873 * haifa-sched.c (set_priorities): Set
5874 sched_info->sched_max_insns_priority.
5875 * config/rs6000/rs6000.h:
5876 (rs6000_sched_restricted_insns_priority_str): Support new
5877 flag -mprioritize-restricted-insns.
5878 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
5879 * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
5880 function.
5881 (rs6000_adjust_priority): Change priority of restricted
5882 insns, using above new function and new flag.
5883 * doc/invoke.texi (-mprioritize-restricted-insns): Document
5884 new option.
5885
5886 2003-10-07 Zack Weinberg <zack@codesourcery.com>
5887
5888 * expr.c (cmpstr_optab, cmpmem_optab): New.
5889 * genopinit.c: Initialize them.
5890 * optabs.h: Declare them.
5891 * optabs.c (init_optabs): Clear them.
5892 (prepare_cmp_insn): Use cmpstr_optab and cmpmem_optab to find
5893 block memory compare insns, not conditional chains. Restructure
5894 the fallback generation of a call to memcmp/bcmp for better
5895 readability.
5896
5897 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5898
5899 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
5900 (mips_save_restore_fn): New typedef.
5901 (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
5902 (mips_set_frame_expr, mips_frame_set): Move above prologue code.
5903 (save_restore_insns): Remove, replacing with...
5904 (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
5905 (mips_save_reg, mips_restore_reg): New function.
5906 (mips_expand_prologue, mips_expand_epilogue): Rework.
5907 * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
5908 (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
5909 (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
5910
5911 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5912
5913 * config/mips/mips.c (mips_expand_prologue): Remove unused
5914 traversal of function arguments.
5915
5916 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5917
5918 * doc/invoke.texi: Remove documentation of -mentry.
5919 * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
5920 (override_options, mips_save_reg_p): Remove handling.
5921 (compute_frame_size, mips_output_function_prologue): Likewise.
5922 (mips_expand_prologue, mips_expand_epilogue): Likewise.
5923 * config/mips/mips.h (mips_entry_string): Remove declaration.
5924 (TARGET_OPTIONS): Remove -mentry.
5925 * config/mips/mips16.S: Remove mention of -mentry.
5926
5927 2003-10-06 Zack Weinberg <zack@codesourcery.com>
5928
5929 * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
5930 (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
5931 (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
5932 (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
5933 (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
5934 (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
5935 (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
5936 (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
5937 (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
5938 (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
5939 (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
5940 (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
5941 (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
5942 (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
5943 (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
5944 (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
5945 (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
5946 (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
5947 (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
5948 (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
5949 (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
5950 (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
5951 (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
5952 (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
5953 (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
5954 (fixunstfti_libfunc): Delete.
5955 * optabs.h (struct optab_handlers): Break out of struct optab.
5956 (struct convert_optab, convert_optab, enum convert_optab_index,
5957 convert_optab_table, sext_optab, zext_optab, trunc_optab,
5958 sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
5959 sfloat_optab, ufloat_optab): New.
5960 (set_conv_libfunc): Prototype.
5961 (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
5962 (trunc_optab): Renamed btrunc_optab.
5963 * builtins.c (expand_builtin_mathfn): Update to match.
5964 * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
5965 (convert_optab_table, new_convert_optab, init_convert_optab)
5966 (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
5967 (set_conv_libfunc): New.
5968 (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
5969 (expand_float, expand_fix): Use new conversion optabs,
5970 not old insn code tables or long chains of ifs.
5971 (init_optabs): No need to clear old insn code tables.
5972 Initialize the new optabs, not the old libfunc array entries.
5973 Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5974 * genopinit.c: Initialize conversion optabs, not the
5975 former insn code tables. Remove unnecessary casts.
5976 Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5977 * expr.c (convert_move): Remove redundant check that
5978 to_real==from_real. Use the conversion optabs instead
5979 of long chains of tests of modes. Move partial-integer-mode
5980 interconversion above all integer conversion. Do not recurse
5981 on a value forced into a register in the original mode.
5982
5983 * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
5984 * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
5985 * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
5986 in new conversion optabs; do not reference the old libfunc
5987 array entries. No need to include libfuncs.h.
5988
5989 2003-10-06 Roger Sayle <roger@eyesopen.com>
5990
5991 * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
5992 point comparison sequence with a REG_EQUAL note that describes
5993 the comparison's semantics.
5994
5995 2003-10-06 Roger Sayle <roger@eyesopen.com>
5996
5997 * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
5998 of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
5999
6000 2003-10-06 Roger Sayle <roger@eyesopen.com>
6001 Zack Weinberg <zack@codesourcery.com>
6002
6003 * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
6004 instruction by using LCT_CONST and then calling emit_libcall_block
6005 ourselves.
6006
6007 2003-10-06 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
6008
6009 PR optimization/11974
6010 * optabs.c (expand_unop): Promote libcall outmode according to
6011 hard_libcall_value.
6012
6013 2003-10-06 Zack Weinberg <zack@codesourcery.com>
6014
6015 * real.h (REAL_MODE_FORMAT): New macro.
6016 * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
6017 * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
6018 * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
6019 * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
6020 * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
6021 directly to real_format_for_mode array, wherever possible.
6022
6023 2003-10-06 Devang Patel <dpatel@apple.com>
6024
6025 * dwarf2out.c (is_main_source): Remove variable.
6026 (dwarf2out_start_source_file): Do not check is_main_source.
6027 Do not reset is_main_source.
6028 (dwarf2out_init): Do not initialize is_main_source.
6029
6030 2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6031
6032 * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
6033 (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
6034 introduced some multi-line prototypes.
6035 * fixinc/fixincl.x: Regenerate.
6036
6037 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6038
6039 * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
6040 * config/mips/mips.c (stack_operand): New predicate.
6041 * config/mips/mips.md: Use it for the destination of mips16 insns
6042 that store $31.
6043
6044 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6045
6046 * config/mips/mips.md (*lowsi): Renamed from lowsi.
6047 (*lowdi): Likewise lowdi.
6048 (*lowsi_mips16, *lowdi_mips16): New patterns.
6049 * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
6050 mips16 CONSTANT_RELOC handling.
6051 (mips_delegitimize_address): Adjust for new sdata representation.
6052
6053 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6054
6055 * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
6056 skip any remaining register arguments.
6057
6058 2003-10-06 Ulrich Weigand <uweigand@de.ibm.com>
6059
6060 * reload.c (find_reloads_subreg_address): Use correct offset for
6061 paradoxical MEM subregs on big-endian targets.
6062
6063 2003-10-06 Andrew Haley <aph@redhat.com>
6064
6065 * tree.c (get_callee_fndecl): Call
6066 lang_hooks.lang_get_callee_fndecl.
6067 * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
6068 (lhd_get_callee_fndecl): New.
6069
6070 2003-10-06 Andrew Pinski <apinski@apple.com>
6071
6072 * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
6073 error in calculating the length of the string.
6074 (machopic_stub_name): Likewise.
6075
6076 2003-10-06 Roger Sayle <roger@eyesopen.com>
6077
6078 * optabs.c (prepare_float_lib_cmp): Attach a REG_EQUAL note
6079 describing the return value of the comparison libcall to the
6080 REG_RETVAL instruction of the emitted sequence.
6081
6082 2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
6083
6084 PR optimization/12215
6085 * cse.c (cse_set_around_loop): Emit the move at the beginning
6086 of the next basic block for trapping sets.
6087
6088 2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
6089
6090 PR optimization/11637
6091 * combine.c (adjust_for_new_dest): New function to adjust the
6092 notes and LOG_LINKS when the dest of an insn has changed.
6093 (try_combine): Use it when deleting the first insn of a two-insn
6094 parallel or splitting a two-load parallel.
6095
6096 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6097
6098 * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
6099 if TARGET_EXPLICIT_RELOCS.
6100
6101 2003-10-06 Mark Mitchell <mark@codesourcery.com>
6102
6103 PR bootstrap/12512
6104 * Makefile.in (info): Use double-colon rules.
6105 (dvi): Likewise.
6106 (generated-manpages): Likewise.
6107 * configure.in: Do not create lang.info, lang.dvi, or
6108 lang.generated-manpages hooks.
6109 * configure: Regenerated.
6110 * objc/Make-lang.in (objc.info): Remove.
6111 (objc.dvi): Remove.
6112 (objc.generated-manpages): Remove.
6113 * doc/sourcebuild.texi: Update description of info, dvi, and
6114 generated-manpages hooks.
6115
6116 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
6117
6118 * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
6119
6120 2003-10-05 Andrew Pinski <apinski@apple.com>
6121
6122 * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
6123 errors in memcpy destinations.
6124 (machopic_stub_name): Likewise.
6125
6126 2003-10-05 Andrew Pinski <apinski@apple.com>
6127
6128 * config/darwin.c (machopic_non_lazy_ptr_name):
6129 Change strcat to memcpy and add length together.
6130 (machopic_stub_name): Likewise.
6131
6132 2003-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
6133
6134 * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
6135 signal trampoline codes.
6136
6137 2003-10-05 Chris Demetriou <cgd@broadcom.com>
6138
6139 * config/mips/mips.md (*divsf3): Move description of
6140 SB-1 F2 erratum from here to...
6141 (divsf3): Here. Disable if TARGET_FIX_SB1 is set and
6142 flag_unsafe_math_optimizations is not.
6143
6144 2003-10-05 Aldy Hernandez <aldyh@redhat.com>
6145
6146 * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
6147 TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
6148
6149 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
6150
6151 * c-pretty-print.c: Fix comment typos.
6152 * c-pretty-print.h: Likewise.
6153 * calls.c: Likewise.
6154 * cfgloopmanip.c: Likewise.
6155 * cgraphunit.c: Likewise.
6156 * cppfiles.c: Likewise.
6157 * final.c: Likewise.
6158 * function.c: Likewise.
6159 * gcov-io.h: Likewise.
6160 * gcse.c: Likewise.
6161 * genoutput.c: Likewise.
6162 * loop.c: Likewise.
6163 * postreload.c: Likewise.
6164 * reg-stack.c: Likewise.
6165 * regmove.c: Likewise.
6166 * sched-int.h: Likewise.
6167 * sched-rgn.c: Likewise.
6168 * simplify-rtx.c: Likewise.
6169 * tree-inline.c: Likewise.
6170 * config/m68hc11/m68hc11.h: Likewise.
6171 * config/mmix/mmix.c: Likewise.
6172 * config/mn10300/mn10300.md: Likewise.
6173 * config/sh/sh.h: Likewise.
6174
6175 2003-10-05 Richard Henderson <rth@redhat.com>
6176
6177 * tree-inline.c (remap_type): New.
6178 (remap_decl): Use it. Remap DECL_SIZE*.
6179 (copy_body_r): Use it.
6180 (walk_tree): Walk TREE_TYPE too.
6181 (copy_tree_r): Don't walk subtrees of types.
6182 * tree.c (variably_modified_type_p): Restructure. Consider integer
6183 types with non-const bounds variably modified.
6184
6185 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
6186
6187 * doc/invoke.texi: Fix typos.
6188
6189 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
6190
6191 * fold-const.c: Follow spelling conventions.
6192 * function.c: Likewise.
6193 * config/c4x/c4x.h: Likewise.
6194 * config/c4x/c4x.md: Likewise.
6195 * config/frv/frv.md: Likewise.
6196 * config/rs6000/aix.h: Likewise.
6197 * config/rs6000/linux64.h: Likewise.
6198 * config/xtensa/xtensa.c: Likewise.
6199
6200 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
6201
6202 * c-pretty-print.c: Fix comment formatting.
6203 * cfglayout.c: Likewise.
6204 * cfgloopanal.c: Likewise.
6205 * cppcharset.c: Likewise.
6206 * dbxout.c: Likewise.
6207 * ggc-page.c: Likewise.
6208 * ggc.h: Likewise.
6209 * target.h: Likewise.
6210
6211 2003-10-04 Kelley Cook <kelleycook@wideopenwest.com>
6212
6213 * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
6214
6215 2003-10-04 Nathanael Nerode <neroden@gcc.gnu.org>
6216
6217 * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
6218 Convert to ISO C90 function declarations and definitions.
6219
6220 2003-10-04 Zack Weinberg <zack@codesourcery.com>
6221
6222 * libfuncs.h
6223 (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
6224 (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
6225 (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
6226 (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
6227 (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
6228 (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
6229 (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
6230 (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
6231 (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
6232 (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
6233 (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
6234 (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
6235 (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
6236 (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
6237 (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
6238 (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
6239 Delete.
6240 * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
6241 (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
6242 (le_optab, unord_optab): New.
6243
6244 * optabs.c (prepare_float_lib_cmp): Rewrite. Get the libfuncs
6245 from the code_to_optab table, not a giant switch; use
6246 swap_condition; do widening only if a comparison function that
6247 we can call exists in a wider mode, not if a cmp_optab insn or
6248 libfunc exists in a wider mode; call protect_from_queue
6249 exactly once on each operand.
6250 (init_optabs): Initialize the new optabs, not the deleted libfuncs.
6251
6252 * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
6253 * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
6254 Set floating point comparison libfuncs using set_optab_libfunc
6255 on the appropriate optab.
6256
6257 * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
6258 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
6259 selector conditionals.
6260
6261 2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
6262
6263 * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
6264 identical to m68hc12 as far as libraries are concerned.
6265
6266 2003-10-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6267
6268 PR c/12446
6269 * c-typeck.c (convert_for_assignment): Issue an error for
6270 array to pointer assignment after default conversion.
6271 (digest_init): Likewise.
6272
6273 2003-10-04 Fariborz Jahanian <fjahanian@apple.com>
6274
6275 * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
6276
6277 2003-10-03 Gerald Pfeifer <gerald@pfeifer.com>
6278
6279 * doc/extend.texi (Function Attributes): Fix title of GNU C
6280 Preprocessor manual.
6281 (C++ Extensions): Fix reference to "Predefined Macros" in the
6282 GNU C Preprocessor manual.
6283
6284 2003-10-04 Richard Earnshaw <reanrsha@arm.com>
6285
6286 * doc/extend.texi: Document how GCC estimates and relies on the size
6287 of an asm.
6288
6289 2003-10-04 Richard Sandiford <rsandifo@redhat.com>
6290
6291 * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
6292 arguments downward for big-endian o64.
6293
6294 2003-10-03 Robert Bowdidge <bowdidge@apple.com>
6295
6296 * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
6297 PCH generation, avoiding too-frequent flushes when writing to NFS
6298 file system.
6299
6300 2003-10-03 Ziemowit Laski <zlaski@apple.com>
6301
6302 * objc/objc-act.c (lookup_category): Mark as 'inline'.
6303
6304 2003-10-03 Alexander Malmberg <alexander@malmberg.org>
6305 Ziemowit Laski <zlaski@apple.com>
6306
6307 * objc/objc-act.c (add_method_to_hash_list, lookup_category):
6308 New functions.
6309 (lookup_method_in_hash_lists): New parameter indicating whether
6310 we are messaging 'Class' or 'id'.
6311 (check_duplicates): Likewise; do not assume all methods will
6312 be either class or instance methods.
6313 (generate_category, finish_class): Use lookup_category().
6314 (add_method): Use add_method_to_hash_list(); insert instance
6315 methods of root classes into the global class method hash table.
6316 (add_category): Use lookup_category(); avoid constructing
6317 duplicate categories.
6318 (really_start_method): Add method to corresponding @interface,
6319 if not already there (and if the @interface exists).
6320 (finish_message_expr, finish_objc): Adjust calls to
6321 check_duplicates().
6322
6323 2003-10-03 Roger Sayle <roger@eyesopen.com>
6324
6325 PR optimization/9325, PR java/6391
6326 * fold-const.c (fold_convert): For floating point to integer
6327 conversions, return the maximum/minimum representable integer
6328 value if the real constant overflows the destination type.
6329 * tree.c (real_value_from_int_cst): Allow the type to be NULL,
6330 meaning don't truncate the result to a floating point mode.
6331 Simplify the logic by calling real_from_integer directly.
6332 * simplify-rtx.c (simplify_unary_operation): Implement the
6333 same semantics for folding floating point to integer conversions
6334 in RTL.
6335
6336 2003-10-03 Chris Demetriou <cgd@broadcom.com>
6337
6338 * config/mips/mips.c (mips_emit_prefetch): Restructure
6339 to avoid use of arrays, handle indexed prefetch.
6340 * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
6341 (ISA_HAS_PREFETCHX): New deffine.
6342 * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
6343 update comments.
6344 (prefetch_indexed_di, prefetch_indexed_si): New insns.
6345
6346 2003-10-03 Jeff Sturm <jsturm@one-point.com>
6347 Roger Sayle <roger@eyesopen.com>
6348
6349 PR optimization/12289
6350 * calls.c (emit_call_1): Pretend to have popped the arguments
6351 to noreturn and longjmp functions instead of ignoring them.
6352 (expand_call): Don't adjust stack_pointer_dela while
6353 inhibit_defer_pop is set.
6354
6355 2003-10-03 Andreas Schwab <schwab@suse.de>
6356
6357 PR bootstrap/12276
6358 * configure.in: Check for libunwind on the host only if building
6359 a native compiler.
6360 * configure: Regenerated.
6361
6362 2003-10-03 Paolo Carlini <pcarlini@unitus.it>
6363
6364 * unwind-pe.h (read_encoded_value_with_base): Constify u and
6365 its inizialization cast.
6366
6367 2003-10-03 Richard Sandiford <rsandifo@redhat.com>
6368
6369 PR target/12485
6370 * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
6371
6372 2003-10-02 Mark Mitchell <mark@codesourcery.com>
6373
6374 PR optimization/12180
6375 * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
6376 functions containing calls to __builtin_next_arg.
6377
6378 2003-10-02 Chris Demetriou <cgd@broadcom.com>
6379
6380 * config/mips/mips.c (mips_emit_prefetch): Use operand 3
6381 in instructions being output.
6382 * config/mips/mips.md (prefetch_si_address): Change third
6383 operand's constraint letter to 'I'.
6384 (prefetch_di_address): Likewise.
6385 (prefetch_si, prefetch_di): Set third operand to const0_rtx.
6386
6387 2003-10-02 Zack Weinberg <zack@codesourcery.com>
6388
6389 * system.h: Poison macros obsoleted by earlier patch.
6390 * config/cris/cris.c: C90-ify a function definition.
6391
6392 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
6393
6394 PR/12292
6395 * combine.c (make_field_assignment): Check whether rtx's code
6396 is CONST_INT before using INTVAL.
6397
6398 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
6399
6400 * cgraph.c (cgraph_node): Use INSERT instead of 1 in
6401 htab_find_slot_with_hash.
6402 (cgraph_node_for_identifier): Use NO_INSERT.
6403 (cgraph_remove_node): Use NO_INSERT.
6404 (cgraph_varpool_node): Use INSERT.
6405 (cgraph_varpool_node_for_identifier): Use NO_INSERT.
6406
6407 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
6408
6409 Waldek Hebisch <hebisch@math.uni.wroc.pl>
6410 PR/12072
6411 * varasm.c (compare_constant): Fix thinko.
6412
6413 2003-10-02 Richard Sandiford <rsandifo@redhat.com>
6414
6415 * config/frv/frv.c (frv_issue_rate): New function.
6416 (frv_pack_insns): Use it.
6417 (TARGET_SCHED_ISSUE_RATE): Define.
6418
6419 2003-10-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
6420
6421 * config/mcore/mcore.c: Convert to ISO C90 function declarations
6422 and definitions.
6423 * config/mcore/mcore.h: Likewise.
6424 * config/mcore/mcore-protos.h: Likewise.
6425
6426 2003-10-02 Richard Sandiford <rsandifo@redhat.com>
6427
6428 * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
6429 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
6430
6431 2003-10-01 Per Bothner <pbothner@apple.com>
6432
6433 * c-lex.c (src_line): Remove unneeded static variable.
6434 (cb_line_change): Set input_line directly, instead of src_line.
6435 (get_non_padding_token): We no longer need to compensate for the
6436 "horrible things" the C++ front-end does with the current line number,
6437
6438 * cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change
6439 callback even when popping the main file.
6440 * c-lex.c (fe_file_change): Handle a NULL new_map.
6441 * fix-header.c (cb_file_change): Likewise.
6442 * c-ppoutput.c (pp_file_change): Likewise.
6443
6444 * cppinit.c (cpp_read_main_file): Split into two functions:
6445 Distribute _cpp_stack_file call over the two functions.
6446 (cpp_find_main_file): New function.
6447 Don't call _cpp_do_file_change even if working_directory flag set.
6448 (cpp_push_main_file): New function.
6449 * cppfiles.c (_cpp_find_failed): New helper function.
6450 (find_file): Made non-static and renamed to _cpp_find_file.
6451 (_cpp_stack_file): No longer needed. But note the following.
6452 (stack_file): Made non-static and renamed to _cpp_stack_file.
6453 * fix-header.c (cpp_read_main_file): Replace cpp_read_main_file
6454 call with calls to cpp_find_main_file and cpp_push_main_file.
6455 (search_path_head): If there is no current buffer, use main_file.
6456 * cpphash.h: Update function declarations.
6457 * cpplib.h: Update function declarations.
6458
6459 * c-opts.c (c_common_post_options): Don't call cpp_find_main_file yet.
6460 (c_common_parse_file): No longer need to call cpp_read_main_file
6461 when file_index > 0 (as in multi-file or server compiation).
6462 (finish_options): Change to <built-in> is an LC_ENTER, not LC_RENAME
6463 as this now happens before cpp_push_main_file.
6464 (push_command_line_include): When done with options, pass LC_LEAVE
6465 instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
6466 (fe_file_change): Handle NULL new_map, and simplify.
6467 * cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed
6468 08-28 change, since we're never called with a NULL buffer.
6469 (_cpp_lex_direct): Likewise.
6470 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
6471 Return false if buffer is NULL at end.
6472
6473 * cpplex.c (_cpp_get_fresh_line): Return value now just depends on
6474 whether pfile->buffer is NULL after pop, ignoring return_at_eof.
6475 * cpphash.h (struct cpp_buffer): Remove unused return_at_eof field.
6476 * cpplib.c (cpp_push_buffer): Since we no longer set return_at_eof,
6477 remove the unused return_at_eof parameter.
6478 * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
6479 Update callers of cpp_push_buffer.
6480
6481 2003-10-01 Zack Weinberg <zack@codesourcery.com>
6482
6483 * target.h (init_libfuncs): New hook.
6484 * target-def.h: Default TARGET_INIT_BUILTINS and
6485 TARGET_INIT_LIBFUNCS to hook_void_void. Add
6486 TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
6487 * builtins.c (default_init_builtins): Delete.
6488 * expr.h (default_init_builtins): Delete prototype.
6489 * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
6490 Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
6491 Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
6492 DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
6493 MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
6494 and UMODDI3_LIBCALL,
6495
6496 * Makefile.in (optabs.o): Depends on target.h.
6497 * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
6498 * optabs.c: Include target.h.
6499 (prepare_float_lib_cmp): No need for #ifdef around use of
6500 FLOAT_LIB_COMPARE_RETURNS_BOOL.
6501 (set_optab_libfunc): New function.
6502 (init_optabs): Delete use of all *_LIBCALL defines.
6503 Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
6504 * optabs.h: Prototype set_optab_libfunc.
6505
6506 * config.gcc: Remove all references to pa/long_double.h,
6507 ia64/hpux_longdouble.h, and gofast.h.
6508 (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
6509 to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
6510
6511 * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
6512 * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
6513 * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
6514 * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
6515 * config/sparc/sparc.c, config/vax/vax.c:
6516 Provide a definition for TARGET_INIT_LIBFUNCS. Where
6517 necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
6518
6519 * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
6520 * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
6521 * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
6522 * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
6523 * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
6524 * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
6525 * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
6526 * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
6527 INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
6528
6529 * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
6530 Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6531 * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
6532 HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6533 * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
6534
6535 * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
6536 * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
6537 SUN_INTEGER_MULTIPLY_64 to 0.
6538 * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
6539 SUN_INTEGER_MULTIPLY_64 to 1.
6540 * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
6541 SUN_INTEGER_MULTIPLY_64 to 0.
6542 * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
6543 Define US_SOFTWARE_GOFAST.
6544 * config/vax/vax.h: Default TARGET_ELF to 0.
6545 * config/vax/elf.h: Redefine TARGET_ELF to 1.
6546
6547 * config/gofast.h: Don't define any macros here. Provide one
6548 static function, gofast_maybe_init_libfuncs, which does what
6549 INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
6550 is already defined. Do not clear negation libfuncs. Do
6551 not mess with HFmode, XFmode, or TFmode libfuncs.
6552
6553 * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
6554
6555 2003-10-01 Kelley Cook <kelleycook@wideopenwest.com>
6556
6557 PR C/12466
6558 * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
6559
6560 2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6561
6562 * config/mips/xm-iris5.h: Remove, unnecessary.
6563 * config.build (mips-sgi-irix5*): Remove.
6564 (mips-sgi-irix6*o32): Likewise.
6565 * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
6566 (mips-sgi-irix5cross64): Likewise.
6567 (mips-sgi-irix5*): Likewise.
6568 * config.host (mips-sgi-irix5*): Remove.
6569 (mips-sgi-irix6*o32): Likewise.
6570
6571 2003-10-01 Zack Weinberg <zack@codesourcery.com>
6572
6573 * dbxout.c (dbxout_fptype_value): Delete.
6574 (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
6575
6576 2003-10-01 Alexandre Oliva <aoliva@redhat.com>
6577
6578 * output.h (compute_reloc_for_constant): Declare.
6579 * varasm.c (compute_reloc_for_constant): Extract from...
6580 (output_addressed_constants): ... here. Adjust all callers.
6581
6582 2003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6583
6584 * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
6585 * configure: Rebuilt.
6586
6587 2003-10-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6588
6589 * fold-const.c (make_range): When handling unsigned, don't reverse
6590 range if high bound is zero.
6591
6592 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
6593
6594 * config/frv/frv.h (PREDICATE_CODES): Added
6595 condexec_si_media_operator, condexec_sf_add_operator and
6596 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
6597 and condexec_sf_unary_operator.
6598
6599 2003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6600
6601 * aclocal.m4: Add ultrix* to /dev/zero blacklist.
6602 * configure: Rebuilt.
6603
6604 2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6605
6606 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
6607 Allow override.
6608 * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
6609
6610 2003-09-23 David S. Miller <davem@redhat.com>
6611
6612 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
6613 before redefining.
6614 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
6615
6616 2003-10-01 Steven Bosscher <steven@gcc.gnu.org>
6617
6618 * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
6619 C90 function declarations and definitions.
6620
6621 2003-10-01 Nathanael Nerode <neroden@gcc.gnu.org>
6622
6623 * config.gcc (cris-*-linux*): Revert mistaken commit.
6624
6625 2003-10-01 Eric Botcazou <ebotcazou@libertysurf.fr>
6626
6627 PR optimization/11753
6628 * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
6629 the length in the non-V9 case.
6630
6631 2003-09-30 Richard Henderson <rth@redhat.com>
6632
6633 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
6634 DWARF_ALT_FRAME_RETURN_COLUMN.
6635 * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
6636 (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
6637 (uw_frame_state_for): Return end-of-stack for null return address.
6638 * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
6639
6640 * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
6641 (alpha_expand_prologue): Store a zero for it.
6642 (alpha_expand_epilogue): Don't reload it.
6643 * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
6644 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
6645 for the sigframe return address.
6646
6647 2003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>
6648
6649 * sdbout.c: Convert to ISO C90 prototypes.
6650 * objc/objc-act.c: Likewise.
6651
6652 2003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>
6653
6654 * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
6655 * config/i386/winnt.c: Likewise.
6656 * config/i386/cygming.h: Likewise.
6657
6658 2003-09-30 Kazu Hirata <kazu@cs.umass.edu>
6659
6660 * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6661 (A ^ B) - B for any B.
6662
6663 2003-09-30 Nathanael Nerode <neroden@gcc.gnu.org>
6664
6665 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
6666 powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
6667
6668 2003-09-30 Richard Earnshaw <rearnsha@arm.com>
6669
6670 * arm/ieee754-sf.S: Tidy formatting.
6671
6672 2003-09-30 Nicolas Pitre <nico@cam.org>
6673
6674 * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
6675 and ARM_MOD_BODY.
6676 (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
6677 (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
6678 added better divisor alignment in the other case.
6679 (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
6680 (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
6681 macros above, add fast exits for divisor >= dividend, etc.
6682
6683 2003-09-30 Nicolas Pitre <nico@cam.org>
6684
6685 * arm/ieee754-df.S: Split compilation of fixunsdfsi from
6686 L_fixdfsi target.
6687 * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
6688
6689 2003-09-30 Nathanael Nerode <neroden@gcc.gnu.org>
6690
6691 * config.gcc: Default use_fixproto to 'no'.
6692
6693 2003-09-30 Richard Sandiford <rsandifo@redhat.com>
6694
6695 PR optimization/12345
6696 * config/mips/mips-protos.h (mips_restore_gp): Remove.
6697 (mips_gp_save_slot): Declare.
6698 * config/mips/mips.c (mips_restore_gp): Remove in favor of...
6699 (mips_gp_save_slot): ...this new function.
6700 * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
6701 and mips_output_move to generate the output template.
6702 (call_internal): Force splitting if TARGET_SPLIT_CALLS. Don't emit
6703 a gp load after a noreturn call. Load the gp using a move rather
6704 than an exception_receiver pattern.
6705 (call_value_internal, call_value_multiple_internal): Likewise.
6706 (call_split, call_value_split, call_value_multiple_split): Clobber $28.
6707
6708 2003-09-30 Carlo Wood <carlo@alinoe.com>
6709
6710 PR debug/12319
6711 * cfglayout.c (insn_scope): Use prologue_locator and
6712 epilogue_locator; return the outer function scope for
6713 pro- and epilogue insns.
6714
6715 2003-09-29 Zack Weinberg <zack@codesourcery.com>
6716
6717 * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
6718 REAL_TYPEs based on the bitsize of the type's mode, not the
6719 mode directly.
6720
6721 2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6722
6723 * dwarf2out.c (default_eh_frame_section): Split into ...
6724 (named_section_eh_frame_section, collect2_eh_frame_section): ... new
6725 functions.
6726 * output.h (named_section_eh_frame_section): Declare.
6727 (collect2_eh_frame_section): Likewise.
6728
6729 2003-09-29 Zack Weinberg <zack@codesourcery.com>
6730
6731 * real.c (real_sqrt): Use get_canonical_qnan directly.
6732
6733 * dwarf2out.c (add_const_value_attribute): Use real_to_target.
6734
6735 * varasm.c (assemble_real): Use real_to_target directly,
6736 calculate the number of significant elements of the result
6737 array and write them out in a loop, instead of using a giant
6738 switch statement to pick the correct REAL_VALUE_TO_TARGET_*
6739 macro.
6740
6741 2003-09-29 Jan Hubicka <jh@suse.cz>
6742
6743 PR c++/12175
6744 * varasm.c (notice_global_symbol): Discard external symbols.
6745
6746 PR optimization/12286
6747 * gcov-io.c (gcov_read_words): Fix memmove call.
6748 * profile.c (compute_branch_probabilities): Add extra sanity checks.
6749
6750 2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6751
6752 * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
6753 Solaris 7-9.
6754
6755 * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
6756 wildcards which explicitly match micro versions.
6757 * fixinc/fixincl.x: Regenerate.
6758
6759 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6760
6761 * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6762 (A ^ B) - B, where B is any power of 2 minus 1.
6763
6764 2003-09-29 Jan Hubicka <jh@suse.cz>
6765
6766 * libgcov.c (gcov_exit): Fix two pastos.
6767
6768 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6769
6770 * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
6771 define_split immediately below to form define_insn_and_split.
6772
6773 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6774
6775 * config/h8300/h8300.md (*tstsi_variable_bit): New.
6776 (*tstsi_variable_bit_qi): Likewise.
6777
6778 2003-09-28 Phil Edwards <phil@codesourcery.com>
6779
6780 * doc/cppopts.texi: Use 'dashMP' instead of '-MP' as a cross-
6781 reference name.
6782
6783 2003-09-28 Richard Henderson <rth@redhat.com>
6784
6785 * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
6786 file and line separately.
6787
6788 2003-09-28 Ulrich Weigand <uweigand@de.ibm.com>
6789
6790 * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
6791 "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
6792 "*subdi3_borrow_cconly"): New insns.
6793 ("*addsi3_sub", "*subsi3_sub"): Remove.
6794 ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
6795 ("*subsi3_cc"): Fix op_type attribute.
6796
6797 2003-09-28 Richard Henderson <rth@redhat.com>
6798
6799 * stmt.c (expand_asm_operands): Take a location_t, instead of
6800 individual file and line.
6801 * c-typeck.c (c_expand_asm_operands): Likewise.
6802 * tree.h (expand_asm_operands): Update decl.
6803 * c-common.h (c_expand_asm_operands): Likewise.
6804 * c-semantics (genrtl_asm_stmt): Update call.
6805
6806 2003-09-28 Philip Blundell <philb@gnu.org>
6807
6808 * config/arm/arm.c (legitimize_pic_address): Check
6809 SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
6810 (arm_assemble_integer): Likewise.
6811
6812 2003-09-28 Steven Bosscher <steven@gcc.gnu.org>
6813
6814 * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6815 config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
6816 config/c4x/c4x.h:
6817 Convert to ISO C90 function declarations and definitions.
6818
6819 2003-09-28 Steven Bosscher <steven@gcc.gnu.org>
6820
6821 * config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
6822 Convert to ISO C90 function declarations and definitions.
6823
6824 2003-09-28 Richard Sandiford <rsandifo@redhat.com>
6825
6826 * config/mips/mips.c (mips_constant_info): Add reloc field.
6827 (mips_classify_constant): Initialize it. Always set SYMBOL to the
6828 underlying symbol, not to an unspec.
6829 (mips_delegitimize_address, print_operand): Clean up accordingly.
6830
6831 2003-09-28 Richard Sandiford <rsandifo@redhat.com>
6832
6833 * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
6834 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
6835 * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
6836 (mips_classify_constant): Use it.
6837 (mips_splittable_symbol_p): Add an offset argument.
6838 (mips_classify_address): Adjust call accordingly.
6839 (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
6840 than a relocation unspec. Update call to mips_splittable_symbol_p.
6841 Generalize the code that copes with symbols + invalid offsets.
6842 (print_operand): Allow '%R' to be applied to small data addresses.
6843 (mips_reloc_string): Remove RELOC_GPREL16.
6844 (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg. Return $gp
6845 for TARGET_EXPLICIT_RELOCS. Return null if we can't use gp-relative
6846 relocation operators.
6847 * config/mips/mips.md (RELOC_GPREL16): Remove. Shuffle other reloc
6848 constants accordingly.
6849
6850 2003-09-27 Roger Sayle <roger@eyesopen.com>
6851
6852 * toplev.c (flag_evaluation_order): New global variable.
6853 * flags.h (flag_evaluation_order): Prototype here.
6854 * expr.c (expand_operands): If we need to preserve observable
6855 evaluation order, protect exp1 from clobbering exp0's result.
6856
6857 2003-09-28 Andreas Jaeger <aj@suse.de>
6858
6859 * c-decl.c (finish_function): Convert definition to ISO C90.
6860 * ifcvt.c (mark_loop_exit_edges): Likewise.
6861 * ra-rewrite.c (emit_colors): Likewise.
6862
6863 2003-09-27 Nathanael Nerode <neroden@gcc.gnu.org>
6864
6865 * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
6866 * config.gcc (arm*-*-uclinux*): Disable fixproto.
6867 * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
6868 powerpc-*-eabialtivec*): Disable fixproto.
6869
6870 2003-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
6871
6872 PR optimization/12340
6873 * loop.h (struct induction): Document the new semantics
6874 of the 'same' field for bivs.
6875 * unroll.c (biv_total_increment): Don't count the same
6876 biv increment several times.
6877 (loop_iterations) [GENERAL_INDUCT]: Likewise.
6878
6879 2003-09-27 Graham Stott <graham.stott@btinternet.com>
6880
6881 * unroll.c (loop_interations)[GT]: Add missing break.
6882
6883 2003-09-27 Kelley Cook <kcook@gcc.gnu.org>
6884
6885 * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
6886 config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
6887 config/dbxelf.h, config/elfos.h, config/fp-bit.h,
6888 config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
6889 config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
6890 config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
6891 config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
6892 config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
6893 config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
6894 config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
6895 config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
6896 config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
6897 config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
6898 config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
6899 config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
6900 config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
6901 config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
6902 config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
6903 config/alpha/xm-vms.h, config/arc/arc-modes.def,
6904 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
6905 config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
6906 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
6907 config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
6908 config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
6909 config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
6910 config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
6911 config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
6912 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6913 config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
6914 config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
6915 config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
6916 config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
6917 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
6918 config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
6919 config/i960/i960-c.c, config/i960/i960-coff.h,
6920 config/i960/i960-modes.def, config/i960/i960-protos.h,
6921 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
6922 config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
6923 config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
6924 config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
6925 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
6926 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
6927 config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
6928 config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
6929 config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
6930 config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
6931 config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
6932 config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
6933 config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6934 config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
6935 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
6936 config/mcore/mcore-protos.h, config/mcore/mcore.c,
6937 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
6938 config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
6939 config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
6940 config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
6941 config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
6942 config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
6943 config/mips/vr.h, config/mn10300/linux.h,
6944 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
6945 config/mn10300/mn10300.h, config/mn10300/mn10300.md,
6946 config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
6947 config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
6948 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
6949 config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
6950 config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6951 config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
6952 config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
6953 config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
6954 config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
6955 config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
6956 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
6957 config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
6958 config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
6959 config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
6960 fixinc/fixinc.svr4: GNU CC -> GCC.
6961
6962 2003-09-26 Loren James Rittle <ljrittle@acm.org>
6963
6964 * objc/objc-act.c (tm_p.h): Tweak order.
6965 * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
6966
6967 2003-09-26 Nathanael Nerode <neroden@gcc.gnu.org>
6968
6969 * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
6970 Include t-slibgcc-elf-ver and t-linux in tmake_file.
6971 * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
6972 Disable fixproto.
6973 * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
6974 Disable fixproto.
6975 * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
6976 sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
6977
6978 * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
6979
6980 2003-09-26 Loren James Rittle <ljrittle@acm.org>
6981
6982 * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
6983 * objc/objc-act.c (tm_p.h): Include.
6984
6985 2003-09-26 Per Bothner <pbothner@apple.com>
6986
6987 * dbxout.c (dbxout_typedefs): Output typedefs in forward order.
6988 No longer any need to reverse by recursion.
6989
6990 2003-09-26 Roger Sayle <roger@eyesopen.com>
6991 Richard Henderson <rth@redhat.com>
6992
6993 PR optimization/11741
6994 * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
6995 appropriate set to match that in hash_scan_insn. Fall back to
6996 the original copy method, if we can't validate changing insn.
6997 (pre_delete): Only delete instructions that have a single_set,
6998 instead of aborting when we encounter an PARALLEL insn with more
6999 then one SET.
7000
7001 2003-09-26 Andreas Krebbel <krebbel1@de.ibm.com>
7002
7003 * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
7004 ("builtin_longjmp"): Insn deleted.
7005 ("save_stack_nonlocal"): Save literal pool base pointer behind
7006 backchain and stack pointer.
7007 ("restore_stack_nonlocal"): Restore literal pool base pointer.
7008 * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
7009 the stack save area for the nonlocal goto case.
7010
7011 2003-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7012
7013 PR bootstrap/12358
7014 * pa.c (output_bvb): Fix typo.
7015
7016 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
7017
7018 * expmed.c (store_bit_field): Don't search for an integer mode
7019 unless we need the result.
7020
7021 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
7022
7023 * expr.c (emit_move_insn_1): If there is no move pattern for the
7024 original mode, try using a pattern for the corresponding integer mode.
7025
7026 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
7027
7028 PR middle-end/9200
7029 * combine.c (if_then_else_cond): Tighten mode check.
7030
7031 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
7032
7033 * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
7034 'struct _cpp_strbuf'.
7035
7036 * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
7037 config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
7038 config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
7039 config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
7040 config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
7041 config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
7042 config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
7043 config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
7044 config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
7045 "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
7046 * config/i386/i386-aout.h, config/i386/i386-coff.h,
7047 config/i386/i386-interix.h, config/i386/i386-interix3.h,
7048 config/i386/i386-modes.def, config/i386/i386-protos.h,
7049 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
7050 config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
7051 config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
7052 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
7053 config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
7054 "GNU compiler" -> GCC.
7055 * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
7056 config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
7057 config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
7058 config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
7059 config/i386/freebsd-aout.h, config/i386/freebsd.h,
7060 config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
7061
7062 2003-09-25 Kelley Cook <kelleycook@wideopenwest.com>
7063
7064 * cgraph.c (dump_cgraph): Don't output newline before dump. Add in
7065 "local" to the callgraph dump. Output "after inlining" earlier.
7066 * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
7067 callgraph dumps. Correct misspellings.
7068 (cgraph_decide_inlining): Output number of insns before inlining.
7069 Output the calling function into which a function is inlined.
7070 (cgraph_decide_small_functions): Format dump file like always_inline.
7071
7072 2003-09-25 Loren James Rittle <ljrittle@acm.org>
7073
7074 * config/i386/i386.h (ix86_return_in_memory): Add prototype.
7075
7076 2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
7077
7078 * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
7079 FPR slots in the save area.
7080 (s390_emit_epilogue): Likewise.
7081
7082 2003-09-25 Richard Sandiford <rsandifo@redhat.com>
7083
7084 * cgraph.h (cgraph_remove_edge): Declare.
7085 * cgraph.c (cgraph_remove_edge): Make extern.
7086 * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
7087 instead of cgraph_remove_call.
7088
7089 2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
7090
7091 * objc/objc-act.c (gen_declaration_1): Fix printf format.
7092
7093 2003-09-25 Richard Earnshaw <rearnsha@arm.com>
7094
7095 * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
7096 arm7tdmi core.
7097
7098 2003-09-25 Ziemowit Laski <zlaski@apple.com>
7099
7100 * config/darwin-protos.h (objc_image_info_section):
7101 New prototype.
7102
7103 2003-09-25 Ziemowit Laski <zlaski@apple.com>
7104
7105 * Makefile.in (stub-objc.o): Depend on $(GGC_H).
7106
7107 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
7108
7109 * config.gcc: Get rid of more gratuitious 'x'es. Actually allow
7110 tsc701 as a --with-cpu, --with-tune setting for sparc.
7111
7112 2003-09-25 Ziemowit Laski <zlaski@apple.com>
7113
7114 * c-parse.in (objc_try_stmt): Do not specify a %type.
7115
7116 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
7117
7118 * config.gcc: New 'widely ported system' clause for rtems.
7119 Set thread file there, not in individual clauses.
7120
7121 2003-09-25 Richard Sandiford <rsandifo@redhat.com>
7122
7123 PR target/6222
7124 * config/mips/mips.c (mips_va_arg): Handle arguments that must be
7125 passed on the stack.
7126
7127 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
7128
7129 * config.gcc (widely ported systems section): Mostly alphabetize
7130 by system. Comment the case where we can't.
7131 * config.gcc (widely ported systems section): Reindent and clean up.
7132
7133 * config.gcc: Remove some unnecessary uses of 'x' in case statements.
7134 Actually allow ep9312 as an arm --with-arch setting.
7135
7136 * config.gcc (*-hpux11): Disable fixproto.
7137
7138 2003-09-24 Phil Edwards <phil@codesourcery.com>
7139
7140 PR pch/12112
7141 * gcc/cppfiles.c (pch_open_file): Return based on combined
7142 result of all files.
7143 (validate_pch): Return validate flag for current file.
7144
7145 2003-09-24 Roger Sayle <roger@eyesopen.com>
7146
7147 PR bootstrap/12358
7148 * fold-const.c (tree_swap_operands_p): Only reorder operands when
7149 one of the operands is constant.
7150
7151 2003-09-24 Ziemowit Laski <zlaski@apple.com>
7152
7153 MERGE OF objc-improvements-branch into MAINLINE:
7154 * Makefile.in (C_OBJS): Add in stub-objc.o.
7155 (c-parse.y): Change sed demarcations to begin with '@@'.
7156 (stub-objc.o): New rule.
7157 * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7158 flag_replace_objc_classes): New flags.
7159 * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
7160 RID_AT_SYNCHRONIZED): New keywords.
7161 (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7162 flag_replace_objc_classes): New flags.
7163 (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
7164 objc_comptypes, objc_message_selector, lookup_objc_ivar,
7165 get_current_scope, objc_mark_locals_volatile): New prototypes,
7166 some moved from c-tree.h.
7167 * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
7168 (finish_decl): Adjust where objc_check_decl() gets called.
7169 * c-lang.c (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
7170 objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
7171 * c-opts.c (c_common_handle_option): Add handling for flag_nil_receivers,
7172 flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
7173 * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
7174 '@@end_ifc', respectively.
7175 (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
7176 (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
7177 objc_finally_block): New rules.
7178 (component_decl_list2): Clean up semantic action for @defs construct.
7179 (component_decl, c99_block_start): Remove call to add_objc_decls().
7180 (poplevel): Add call to objc_clear_super_receiver().
7181 (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
7182 constructs.
7183 (classdef, methodprotolist): Clean up/simplify.
7184 (methodprotolist2): Eliminate.
7185 (methodproto): Call add_method() instead of add_class_method() and
7186 add_instance_method().
7187 (receiver): Add TYPENAME production.
7188 (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
7189 (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
7190 AT_SYNCHRONIZED.
7191 * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
7192 objc_comptypes, objc_message_selector)
7193 * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
7194 struct and pointer types.
7195 (build_c_cast): Do not discard ObjC protocol qualifiers.
7196 (convert_for_assignment): Cache result of comp_target_types() instead
7197 of calling it more than once.
7198 * c.opt (fnext-runtime): Update description string.
7199 (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
7200 New ObjC/ObjC++-specific flags.
7201 * function.h (GCC_FUNCTION_H): Header guard.
7202 * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
7203 * stub-objc.c: New file, to be used to satisfy references to ObjC
7204 functions by the C and C++ front-ends.
7205 * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
7206 * config/darwin.h (FUNCTION): Add in_objc_image_info.
7207 (SECTION_FUNCTION): Add objc_image_info_section.
7208 * doc/invoke.texi: Link to GCC web site for Objective-C information.
7209 (-fconstant-string-class): Update documentation.
7210 (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
7211 -fzero-link): New documentation.
7212 * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
7213 with '@@'.
7214 * objc/lang-specs.h (@objective-c-header): Fix -E spec.
7215 * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
7216 throughout; provide casts for return values from memory allocation
7217 functions (xmalloc, alloca, ggc_alloc, etc.).
7218 (OBJC_VOID_AT_END): New macro.
7219 (rtl.h): Do not #include any more.
7220 (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
7221 (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
7222 TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
7223 TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
7224 TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
7225 (struct val_stack, catch_count_stack, exc_binding_stack, val_stack_push,
7226 val_stack_pop): New.
7227 (objc_check_decl): Fix precondition for error message, along with
7228 the message itself.
7229 (lookup_and_install_protocols): Remove nonexistent protocols from
7230 protocol list instead of returning error_mark_node.
7231 (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
7232 (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
7233 (synth_module_prologue): General clean-up; construct NeXT-specific
7234 runtime API prototypes if needed.
7235 (build_string_class_template): Remove.
7236 (check_string_class_template, string_layout_checked): New.
7237 (build_objc_string_object): Generalize to work with
7238 -fconstant-string-class.
7239 (build_objc_symtab_template): Fix layout for the NeXT runtime.
7240 (build_metadata_decl): New.
7241 (forward_declare_categories): Call build_metadata_decl() instead of
7242 create_builtin_decl() et al.
7243 (build_module_descriptor): Use OBJC_VOID_AT_END instead of
7244 void_list_node_1.
7245 (build_selector_reference_decl, build_class_reference_decl,
7246 build_objc_string_decl): Do not set TREE_READONLY.
7247 (get_proto_encoding): Do not call hack_method_prototype().
7248 (get_class_reference): Add failure mode for invalid class names;
7249 support -fzero-link; defer if in an ObjC++ template declaration.
7250 (objc_declare_alias, objc_declare_class): Fix up duplicate name
7251 lookup; check for global scope if in ObjC++.
7252 (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
7253 RECORD_TYPE, IDENTIFIER_NODE, etc.)
7254 (objc_is_id): Removed.
7255 (objc_is_object_ptr): New function.
7256 (get_class_ivars_from_name): New function, used for @defs construct.
7257 (get_class_ivars): Add option to return raw ivars; create a
7258 ClASS_OWN_IVARS list for each class as needed.
7259 (objc_enter_block, objc_exit_block, objc_declare_variable,
7260 objc_build_throw_stmt, val_stack_push, val_stack_pop,
7261 objc_build_try_enter_fragment, objc_build_extract_expr,
7262 objc_build_try_exit_fragment, objc_build_extract_fragment,
7263 objc_build_try_prologue, objc_build_try_epilogue,
7264 objc_build_catch_stmt, objc_build_catch_epilogue,
7265 objc_build_finally_prologue, objc_build_finally_epilogue,
7266 objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
7267 objc_build_synchronized_epilogue, build_objc_exception_stuff):
7268 New functions.
7269 (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
7270 the future).
7271 (build_private_template): Fix up calls to get_class_ivars().
7272 (offset_is_register, forwarding_offset): Remove.
7273 (objc_method_parm_type, objc_encoded_type_size): New functions.
7274 (encode_method_prototype): Simplify to no longer depend on
7275 back-end information.
7276 (build_tmp_function_decl_xxx, build_tmp_function_decl,
7277 hack_method_prototype): Removed.
7278 (generate_protocol_references): Remove calls to
7279 build_tmp_function_decl().
7280 (generate_protocols): Adjust calls to encode_method_prototype().
7281 (build_class_template): Generate sel_id' and 'gc_object_type' fields
7282 for the NeXT runtime.
7283 (synth_forward_declarations): Call build_metadata_decl().
7284 (check_ivars): Check that the number of ivars matches also.
7285 (build_super_template): Modify super_type directly; disable debugging
7286 output while generating decl.
7287 (build_ivar_list_initializer): Skip list elements that are not
7288 FIELD_DECLs.
7289 (ivar_list_length): New function.
7290 (generate_ivar_lists): Call ivar_list_length() instead of list_length()
7291 and encode_method_prototype() instead of encode_method_def().
7292 (build_shared_structure_initializer): Generate 'sel_id' field for
7293 the NeXT runtime.
7294 (generate_category): Do not set TREE_USED.
7295 (build_keyword_selector): Ditto; transform into a function argument
7296 chain.
7297 (get_arg_type_list): If there are no user-specified arguments, use
7298 '...'; use OBJC_VOID_AT_END.
7299 (check_duplicates): Add a parameter indicating whether methods or
7300 selectors are being checked.
7301 (receiver_is_class_object): Add parameters indicating whether
7302 receiver is 'self' or 'super'; robustify.
7303 (build_message_expr): Defer call to finish_message_expr() if
7304 inside an ObjC++ template.
7305 (lookup_method_in_hash_lists): New function.
7306 (finish_message_expr): Complete rewrite/fix.
7307 (build_objc_method_call): Ditto; factor out commonalities between
7308 the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
7309 messenger variants on the NeXT.
7310 (lookup_instance_method_static, lookup_class_method_static):
7311 Fold into a single lookup_method_static() function with an
7312 additional parameter.
7313 (add_class_method, add_instance_method): Fold into a single
7314 add_method() function with an additional parameter.
7315 (add_category): Make duplicate categories a hard error in ObjC++.
7316 (add_instance_variable): Properly handle unnamed ivars, arrays of
7317 zero or no size and bitfields. In ObjC++, check for nontrivial
7318 C++ class instances.
7319 (is_public): Allow C functions to access non-@public ivars, with
7320 a warning.
7321 (start_class): Move common initializations to
7322 synth_module_prologue(); check for global scope if in ObjC++.
7323 (continue_class): Fix calls to finish_struct().
7324 (objc_declare_protocols, start_protocol): Check for global scope
7325 if in ObjC++.
7326 (encode_pointer): Encode 'BOOL *' specially on the NeXT.
7327 (encode_aggregate_within): Rewrite to properly distinguish
7328 struct tags from typedefs in both ObjC and ObjC++.
7329 (encode_bitfield, encode_complete_bitfield): Remove.
7330 (encode_next_bitfield, encode_gnu_bitfield): New functions.
7331 (encode_field_decl): Call encode_next_bitfield() or
7332 encode_gnu_bitfield() as needed.
7333 (synth_self_and_ucmd_args): New function.
7334 (start_method_def): Use it.
7335 (objc_types_are_equivalent): New function.
7336 (comp_proto_with_proto): Use it instead of comptypes(), since
7337 we need symmetry.
7338 (really_start_method): Use lookup_method_static() instead of
7339 lookup_class_method_static() and lookup_instance_method_static();
7340 Emit 'extern "C"' if in ObjC++ mode.
7341 (add_objc_decls): Removed.
7342 (UOBJC_SUPER_scope): New variable.
7343 (get_super_receiver): Move construction of 'super' from
7344 add_objc_decls(); remove dependency on struct objc_class.
7345 (encode_method_def): Removed; encode_method_prototype() is
7346 used instead.
7347 (objc_clear_super_receiver): New function.
7348 (objc_expand_function_end): Do not do anything for ordinary
7349 C functions.
7350 (finish_method_def): Mark ObjC methods as un-inlinable.
7351 (gen_declaration_1): Emit widths of bitfields.
7352 (finish_objc): Call generate_objc_image_info() if needed;
7353 use check_duplicates() when checking for selector duplicates.
7354 (generate_objc_image_info): New function.
7355 * objc/objc-act.h (add_instance_method, add_class_method,
7356 get_class_ivars): Remove prototypes.
7357 (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
7358 objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
7359 objc_build_catch_stmt, objc_build_catch_epilogue,
7360 objc_build_finally_prologue, objc_build_finally_epilogue,
7361 add_method, get_class_ivars_from_name): New prototypes.
7362 (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
7363 (TYPE_PROTOCOL_LIST): Robustify to distinguish from
7364 TRANSLATION_UNIT_DECLs.
7365 (OBJC_TYPE_NAME): New.
7366 (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
7367 got included.
7368 (IS_SUPER): Robustify.
7369 (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
7370 umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
7371 objc_exception_try_enter_decl, objc_exception_try_exit_decl,
7372 objc_exception_match_decl, objc_exception_throw_decl,
7373 objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
7374 objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
7375 objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
7376 objc_catch_type): New ObjC/ObjC++ roots.
7377 * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
7378 ObjC/ObjC++ tree node codes.
7379
7380 2003-09-24 Alexandre Oliva <aoliva@redhat.com>
7381
7382 * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
7383 code path that calls a handler.
7384
7385 2003-09-24 Nathanael Nerode <neroden@gcc.gnu.org>
7386
7387 * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
7388 Disable fixproto.
7389
7390 * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
7391 the section giving $with_cpu defaults by target.
7392
7393 * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
7394 arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
7395 rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
7396 rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
7397 rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
7398 i[34567]86-pc-msdosdjgpp*): Disable fixproto.
7399
7400 2003-09-24 David Edelsohn <edelsohn@gnu.org>
7401
7402 * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
7403 together. Protect load string instruction with TARGET_STRING.
7404 (movti_string): Collapse case 1 and 2 together.
7405
7406 2003-09-24 Nathan Sidwell <nathan@codesourcery.com>
7407
7408 * c-common.c (c_common_type_for_mode): Check for VOIDmode.
7409
7410 2003-09-24 Richard Earnshaw <rearnsha@arm.com>
7411
7412 * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
7413 do...while(0)
7414
7415 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7416
7417 * config.gcc: Move use_fixproto=no from generic vxworks clause to
7418 specific one.
7419
7420 * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
7421 (accidentally missed in last pass).
7422
7423 2003-09-23 Andrew Pinski <apinski@apple.com>
7424
7425 PR bootstrap/12383
7426 * configure: Regenerate.
7427
7428 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7429
7430 * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
7431 missed in last pass).
7432
7433 2003-09-23 Alexandre Oliva <aoliva@redhat.com>
7434
7435 * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
7436 constant.
7437
7438 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7439
7440 * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
7441
7442 * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
7443 powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
7444 powerpcle-*-eabi*): Disable fixproto.
7445
7446 * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
7447 specific FreeBSD clauses.
7448 * config.gcc: Move use_fixproto=no from generic NetBSD clause to
7449 specific NetBSD clauses.
7450 * config.gcc: Move use_fixproto=no from generic OpenBSD clause
7451 to specific OpenBSD clauses.
7452
7453 2003-09-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7454
7455 * pa.c (hppa_expand_prologue): Do pic register save in frame marker
7456 without adding a frame note.
7457 * pa.md (allocate_stack): Save pic register in new frame marker when
7458 generating pic code.
7459
7460 2003-09-23 Kelley Cook <kelleycook@wideopenwest.com>
7461
7462 * cgraphunit.c (cgraph_expand_all_functions): Renamed from
7463 cgraph_expand_functions.
7464
7465 2003-09-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7466
7467 * Makefile.in (gnucompare*): Merge into ...
7468 (slowcompare*): ... here.
7469 (fastcompare*): New targets.
7470 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
7471 other "fast" cmp programs.
7472 * configure: Regenerate.
7473
7474 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7475
7476 * targhooks.c: Include output.h.
7477 * Makefile.in (targhooks.o): Add output.h to dependency list.
7478
7479 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7480
7481 * config.host: Removed superfluous newline.
7482
7483 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7484
7485 * config.gcc: Use ${target}, not $machine.
7486 * configure.in: Don't set $machine.
7487 * configure: Regenerate.
7488
7489 2003-09-23 Geoffrey Keating <geoffk@apple.com>
7490
7491 * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
7492
7493 * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
7494 pass zero-size arrays by reference.
7495 (rs6000_va_arg): Likewise.
7496
7497 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
7498
7499 * config.gcc: Set use_fixproto=no in each specific *-gnu*
7500 configuration, rather than the generic one.
7501
7502 2003-09-23 Richard Henderson <rth@redhat.com>
7503
7504 * tree-inline.c (remap_save_expr): Map new save_expr to identity
7505 rather than to error_mark_node.
7506
7507 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7508
7509 * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
7510 Update description.
7511 * configure: Regenerate.
7512 * config.in: Likewise.
7513 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
7514 HAVE_GAS_SHF_MERGE value.
7515 * varasm.c (mergeable_string_section): Likewise.
7516 (mergeable_constant_section): Likewise.
7517
7518 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7519
7520 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
7521 value.
7522
7523 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7524
7525 * target.h (struct gcc_target): New member external_libcall.
7526 * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
7527 (TARGET_ASM_OUT): Use it.
7528 * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
7529 * targhooks.c: Convert to ISO C 90.
7530 (default_external_libcall): New function.
7531 * targhooks.h (default_external_libcall): Declare.
7532 * varasm.c (assemble_external_libcall): Use
7533 targetm.asm_out.external_libcall instead of
7534 ASM_OUTPUT_EXTERNAL_LIBCALL.
7535 * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
7536 (mips_output_external_libcall): Declare.
7537 * config/mips/mips.c (mips_output_external_libcall): Change
7538 definition guard.
7539 Change to match TARGET_ASM_EXTERNAL_LIBCALL.
7540 Only operate for O32 ABI.
7541 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
7542 instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
7543 * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
7544 superceded by TARGET_ASM_EXTERNAL_LIBCALL.
7545
7546 2003-09-22 Nathnael Nerode <neroden@gcc.gnu.org>
7547
7548 * config.gcc: Do per-target disabling of fixproto here in clauses,
7549 not in t- fragments.
7550 * configure.in: Adjust to set STMP_FIXPROTO correctly.
7551 * configure: Regenerate.
7552 * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
7553 config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
7554 t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
7555 xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
7556 * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
7557 t-interix, t-linux-aout: Delete files consisting only of
7558 setting of STMP_FIXPROTO.
7559
7560 * config.host: Allow unknown hosts (not targets). Allow
7561 ns32k-*-netbsdelf* as a host (not a target). Remove redundant
7562 empty clauses. Remove useless obsolete-configuration clause.
7563 Prune unsupported configuration list. Collapse identical
7564 clauses for closely related systems. Rewrite comment for
7565 unsupported hosts list. Reorganize a little.
7566
7567 2003-09-22 Richard Henderson <rth@redhat.com>
7568
7569 * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
7570 not precision.
7571
7572 2003-09-22 David Edelsohn <edelsohn@gnu.org>
7573 Hartmut Penner <hpenner@de.ibm.com>
7574 Segher Boessenkool <boessen@de.ibm.com>
7575
7576 * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
7577 (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
7578 (rs6000_split_altivec_in_gprs): Rename to ...
7579 (rs6000_split_multireg_move): Add support for update addressing.
7580 * config/rs6000/rs6000-protos.h: Same.
7581 * config/rs6000/altivec.md: Same.
7582 * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
7583 multiple GPRs.
7584 (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
7585 (movti_power): Use new splitter for multiple GPRs.
7586 (movti_string): Same.
7587 (movti_ppc64): Same.
7588
7589 2003-09-22 Bob Wilson <bob.wilson@acm.org>
7590
7591 * config/xtensa/xtensa-protos.h: Convert to ISO C90.
7592 * config/xtensa/xtensa.c: Convert to ISO C90. Minor formatting fixes.
7593
7594 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
7595
7596 * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
7597 (andsi3): Set attr cc to set_zn when using shifts or adds.
7598
7599 2003-09-22 Bernardo Innocenti <bernie@develer.com>
7600
7601 * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
7602
7603 2003-09-22 Bernardo Innocenti <bernie@develer.com>
7604
7605 * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
7606 Resurrect -mrtd option.
7607
7608 2003-09-21 Andrew Pinski <pinskia@physics.uc.edu>
7609
7610 PR target/12281
7611 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
7612 mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
7613
7614 2003-09-22 Olivier Hainque <hainque@act-europe.fr>
7615
7616 PR target/9786
7617 * reg-stack.c (convert_regs_1): Purge possible dead eh edges
7618 after potential deletion of trapping insn. Avoids later ICE
7619 from call to fixup_abnormal_edges.
7620 (convert_regs_2): Stack the current block successors before
7621 processing this block, that is, before the potential deletion of
7622 dead edges by convert_regs_1, because these edges have been used
7623 to initialize the predecessors count.
7624
7625 2003-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
7626
7627 * real.c: Fix several nits in the head comment.
7628
7629 2003-09-21 Richard Henderson <rth@redhat.com>
7630
7631 * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7632 diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7633 print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7634 tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7635 config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
7636
7637 2003-09-21 Richard Henderson <rth@redhat.com>
7638
7639 * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
7640 (TREE_FILENAME, TREE_LINENO): Likewise.
7641 (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
7642 (TREE_LOCUS_SET_P): New.
7643 * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7644 diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7645 print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7646 tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7647 config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
7648
7649 2003-09-21 Nathanael Nerode <neroden@gcc.gnu.org>
7650
7651 * config/vax/vax-protos.h: Convert to ISO C90.
7652 * config/vax/vax.c: Convert to ISO C90.
7653
7654 2003-09-21 Graham Stott <grahams@btinternet.com>
7655
7656 PR target/12353
7657 * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
7658
7659 2003-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
7660
7661 PR target/12301
7662 * reorg.c (stop_search_p): Return 1 for insns that can
7663 throw internally.
7664
7665 2003-09-20 Richard Henderson <rth@redhat.com>
7666
7667 * c-format.c (gcc_diag_char_table): Add %J.
7668 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
7669 (check_format_types): Fix wanted_type name lookup.
7670 (init_dynamic_diag_info): Setup %J.
7671 * diagnostic.c (text_specifies_location): Implement %J.
7672 * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
7673 dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
7674 tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
7675 config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
7676 config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
7677
7678 * tree-inline.c: Include intl.h
7679 (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
7680 * Makefile.in (tree-inline.o): Update.
7681
7682 2003-09-20 Roger Sayle <roger@eyesopen.com>
7683
7684 * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
7685 transformation of a>=0 into (unsigned)a<0x80000000.
7686
7687 2003-09-20 Andrew Pinski <apinski@apple.com>
7688
7689 * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
7690
7691 2003-09-20 Nathanael Nerode <neroden@gcc.gnu.org>
7692
7693 * Makefile.in: Don't set (unused) DLLTOOL.
7694
7695 * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
7696 Remove obsolete references to ENQUIRE.
7697
7698 2003-09-19 Nathanael Nerode <neroden@gcc.gnu.org>
7699
7700 * configure.in: Remove --with-elf, which doesn't work.
7701 * configure: Regenerate.
7702 * config.gcc: Remove references to $elf, which does nothing.
7703
7704 * config/i386/xm-vsta.h: Remove xm-file believed useless.
7705 * config.build (i386-vsta): Remove reference to it.
7706 * config.host (i386-vsta): Remove reference to it.
7707
7708 2003-09-19 Phil Edwards <phil@codesourcery.com>
7709
7710 * doc/install.texi: Document the multiple testsuite options.
7711
7712 2003-09-19 Gerald Pfeifer <gerald@pfeifer.com>
7713
7714 * doc/install.texi (Specific): Add the specific versions of GCC
7715 where support for FreeBSD 1, HP-UX version 9 and older, and AIX
7716 version 3 and older was discontinued.
7717
7718 2003-09-19 Joel Sherrill <joel@oarcorp.com>
7719
7720 * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
7721 68881.
7722
7723 2003-09-19 Bernardo Innocenti <bernie@develer.com>
7724
7725 * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
7726 for -m68030, -m68020-60 and -m68020-40.
7727 * config/m68k/m68k.h (TARGET_68030): New target flag.
7728 * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
7729 TARGET_REGPARM): Remove.
7730 * config/m68k/m68k.h: Regroup and renumber target flags.
7731 * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
7732 * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
7733 * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
7734 * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
7735 * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
7736
7737 2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7738
7739 * config/m68k/t-rtems (m68k-*-rtems*): New.
7740 * config.gcc: Use config/m68k/t-rtems.
7741
7742 2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7743
7744 * config/mips/t-rtems: New.
7745 * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
7746
7747 2003-09-19 Kelley Cook <kelleycook@wideopenwest.com>
7748
7749 * cgraph.c: Fix typo in debugging output.
7750
7751 2003-09-19 T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7752 Eric Botcazou <ebotcazou@libertysurf.fr>
7753
7754 PR target/12166
7755 * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
7756
7757 2003-09-18 Mike Stump <mrs@apple.com>
7758
7759 * c-ppoutput.c (print): Use fileline typedef for field 'line'.
7760 (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
7761 cb_ident, cb_def_pragma): Use fileline typedef.
7762 * cpphash.h (struct cpp_reader): Likewise for field out.first_line.
7763
7764 2003-09-18 Danny Smith <dannysmith@users.sourceforge.net>
7765
7766 * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
7767 total parm size if a parm has incomplete type.
7768 (gen_fastcall_suffix): Likewise.
7769
7770 2003-09-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7771
7772 * except.c (output_function_exception_table): Adjust last change
7773 to handle TYPE of INTEGER_CST.
7774
7775 2003-09-18 Mark Mitchell <mark@codesourcery.com>
7776
7777 PR target/11184
7778 * builtins.c (expand_builtin_apply): Use convert_memory_address
7779 before returning the value.
7780
7781 * alias.c (find_base_value): Simplify use of
7782 convert_memory_address.
7783 (find_base_term): Likewise.
7784 * builtins.c (expand_builtin_stejmp_setup): Likewise.
7785 (expand_builtin_longjmp): Likewise.
7786 (expand_builtin_prefetch): Likewise.
7787 (get_memory_rtx): Likewise.
7788 (expand_builtin_return): Likewise.
7789 (expand_builtin_memcpy): Likewise.
7790 (expand_builtin_strncpy): Likewise.
7791 (expand_builtin_memset): Likewise.
7792 (expand_builtin_va_arg): Likewise.
7793 (expand_builtin_va_copy): Likewise.
7794 (expand_builtin_alloca): Likewise.
7795 * calls.c (expand_call): Likewise.
7796 * except.c (expand_builtin_extract_return_addr): Likewise.
7797 (expand_builtin_eh_return): Likewise.
7798 * explow.c (convert_memory_address): Define even when
7799 POINTER_EXTEND_UNSIGNED is not defined. Do nothing if the address
7800 is already in the right mode.
7801 * explow.c (memory_address): Simplify use of convert_memory_address.
7802 (probe_stack_range): Likewise.
7803 * expmed.c (make_tree): Likewise.
7804 * expr.c (emit_block_move_in_libcall): Likewise.
7805 (expand_assignment): Likewise.
7806 (expand_expr): Likewise.
7807 * function.c (assign_parms): Likewise.
7808 (expand_function_end): Likewise.
7809 * integrate.c (copy_rtx_and_substitute): Likewise.
7810 * stmt.c (expand_computed_goto): Likewise.
7811
7812 2003-09-18 Roger Sayle <roger@eyesopen.com>
7813
7814 * simplify-rtx.c (simplify_unary_operation): Only transform
7815 (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
7816 is -1. RTL "not" is a bit-wise not, "~", not a logical not "!".
7817
7818 2003-09-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7819
7820 PR target/11674
7821 * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
7822
7823 2003-09-18 Roger Sayle <roger@eyesopen.com>
7824
7825 * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
7826 PARITY_EXPR): Delete unused tree codes.
7827 * c-common.c (c_common_truthvalue_conversion): Delete references
7828 to FFS_EXPR and POPCOUNT_EXPR.
7829 * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
7830 (pp_c_expression): Likewise.
7831 * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
7832 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
7833 * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
7834 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR. Add support for calls to
7835 BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
7836 and long long variants.
7837
7838 2003-09-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
7839
7840 * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
7841 * c-pretty-print.c: Fix formatting.
7842 (pp_c_integer_constant): Append type annotation to literals. Tidy.
7843 (pp_c_type_specifier): Tidy.
7844 (pp_c_compound_literal): New function.
7845 (pp_c_initializer): Simplify..
7846 (pp_c_initializer_list): Likewise.
7847 (pp_c_brace_enclosed_initializer_list): New function.
7848 (pp_c_postfix_expression): Simplify.
7849
7850 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
7851
7852 * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
7853 one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
7854
7855 2003-09-17 Richard Henderson <rth@redhat.com>
7856
7857 * tree-optimize.c (tree_rest_of_compilation): Save and restore
7858 input_location.
7859
7860 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7861
7862 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
7863
7864 2003-09-17 Richard Henderson <rth@redhat.com>
7865
7866 * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
7867
7868 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7869
7870 * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
7871 * configure: Regenerate.
7872
7873 2003-09-17 Mark Mitchell <mark@codesourcery.com>
7874
7875 PR debug/12066
7876 * dbxout.c (dbxout_init): Use a langhook to find builtin types.
7877 * langhooks-def.h (lhd_return_null_tree_v): New function.
7878 (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
7879 (LANG_HOOKS_DECLS): Add it to the intializer.
7880 * langhooks.c (lhd_return_null_tree_v): New function.
7881 * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
7882
7883 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7884
7885 * configure.in: Quote gcc_config_arguments for configargs.h.
7886 * configure: Regenerated.
7887 * gccbug.in: Don't shell-expand gcc_config_arguments.
7888
7889 2003-09-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
7890
7891 PR c++/11357
7892 * c-pretty-print.c (pp_c_floating_constant): Append
7893 type-annotation to floating constants.
7894
7895 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7896
7897 * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
7898 Define _ABIO32.
7899 Use it for _MIPS_SIM.
7900 * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
7901
7902 * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
7903 Moved ...
7904 * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
7905 updating comment.
7906 Fixes PR target/10190.
7907
7908 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7909
7910 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
7911 to shared libraries.
7912
7913 2003-09-17 Eric Botcazou <ebotcazou@libertysurf.fr>
7914
7915 PR optimization/11646
7916 * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
7917 EDGE_ABNORMAL flag for EH edges.
7918 * toplev.c (rest_of_handle_cse): Delete unreachable blocks
7919 if dead edges were purged.
7920
7921 2003-09-16 Bernardo Innocenti <bernie@develer.com>
7922
7923 * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
7924 * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
7925 * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
7926 * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
7927
7928 2003-09-16 Ian Lance Taylor <ian@wasabisystems.com>
7929
7930 * cfgcleanup.c (label_is_jump_target_p): Correct use of table
7931 returned by tablejump_p.
7932
7933 2003-09-16 Joel Brobecker <brobecker@gnat.com>
7934
7935 * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
7936
7937 2003-09-16 Roger Sayle <roger@eyesopen.com>
7938
7939 PR bootstrap/12269
7940 * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
7941 argument to be VOIDmode, taking the mode of the comparison from
7942 the operands. Only call simplify_relational_operation if we
7943 know the mode of the comparison. Honor FLOAT_STORE_FLAG_VALUE
7944 if comparison has a floating point result. Ensure that the
7945 result is always of the specified mode.
7946 (simplify_replace_rtx): Simplify call to simplify_gen_relational.
7947 (simplify_unary_operation): Ensure the correct mode and cmp_mode
7948 are always passed to simplify_gen_relational. Simplify NOT of
7949 comparison operator in any mode, not just BImode.
7950 (simplify_ternary_operation): Correct tests on the return value
7951 of simplify_relational_operation to use const_true_rtx, not
7952 const1_rtx. Abort if it ever returns a non-constant result.
7953
7954 * cfgloopanal.c (count_strange_loop_iterations): Use the function
7955 simplify_relational_operation, not simplify_gen_relational, if
7956 we're only interested in constant comparisons and will ignore
7957 non-constant results.
7958
7959 2003-09-16 Roger Sayle <roger@eyesopen.com>
7960
7961 * fold-const.c (tree_swap_operands_p): New function to determine
7962 the prefered ordering of operands.
7963 (fold): Numerous clean-ups. Use tree_swap_operands_p when swapping
7964 operands to commutative, comparison or ternary operators. Replace
7965 uses of TREE_SET_CODE with recursive call to fold. Remove duplicate
7966 transformation of A ? B : C into !A ? C : B.
7967
7968 2003-09-16 Jakub Jelinek <jakub@redhat.com>
7969
7970 * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7971 * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7972 * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7973 * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7974 * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7975 * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7976 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7977 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7978
7979 2003-09-16 Jason Merrill <jason@redhat.com>
7980 Jakub Jelinek <jakub@redhat.com>
7981
7982 * c-common.c (handle_warn_unused_result_attribute): New function.
7983 (c_common_attribute_table): Add warn_unused_result.
7984 (c_expand_expr): Issue warning when result of inlined function
7985 with warn_unused_result attribute is ignored.
7986 * calls.c (expand_call): Issue warning when result of function
7987 with warn_unused_result attribute is ignored.
7988 * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
7989 * expr.c (expr_wfl_stack): Define.
7990 (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
7991 pass const0_rtx as target. Chain locations into expr_wfl_stack.
7992 * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
7993 bit if inlined function has warn_unused_result attribute.
7994 * input.h (expr_wfl_stack): Declare.
7995 * doc/extend.texi: Document warn_unused_result attribute.
7996
7997 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
7998
7999 * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
8000
8001 2003-09-15 Bob Wilson <bob.wilson@acm.org>
8002
8003 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
8004 ATTRIBUTE_UNUSED.
8005 (call_insn_operand): For PIC, don't allow a direct call to a
8006 function in a different section than the current one.
8007
8008 2003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8009
8010 * doc/invoke.texi (Warning Options): Add missing hyphen before
8011 "Wimport". Change "-Wno-endif-labels" to "-Wendif-labels".
8012 Move "-Wold-style-definition" to the C-only section.
8013 Fix the ordering of the warning options.
8014
8015 2003-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8016 Jeff Law <law@redhat.com>
8017
8018 * gcse.c (remove_reachable_equiv_notes): New.
8019 replace_store_insn): Call it. Update antic list.
8020 (store_killed_in_insn): Take REG_EQUAL notes into account.
8021 (build_store_vectors, delete_store): Add parameter to
8022 replace_store_insn call.
8023
8024 2003-09-15 Bob Wilson <bob.wilson@acm.org>
8025
8026 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
8027 SYMBOL_REF_LOCAL_P.
8028
8029 2003-09-15 Kazu Hirata <kazu@cs.umass.edu>
8030
8031 * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
8032 (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
8033 * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
8034 Likewise.
8035 * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
8036 Likewise.
8037 * config/rs6000/rs6000.c (function_arg_padding): Likewise.
8038 * config/sparc/sparc.c (function_arg_padding): Likewise.
8039
8040 2003-09-15 Vladimir Makarov <vmakarov@redhat.com>
8041
8042 * haifa-sched.c (schedule_block): Use ready_remove_first instead
8043 of choose_ready for non-dfa insn scheduling.
8044
8045 2003-09-15 Andreas Jaeger <aj@suse.de>
8046 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8047
8048 * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
8049 * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
8050 * c-parse.in: Warn about old-style parameter definition.
8051 * c-common.c: Define warn_old_style_defintion.
8052 * c-common.h: Declare it.
8053 * c.opt: Add Wold-style-defintion.
8054
8055 2003-09-15 Andreas Jaeger <aj@suse.de>
8056
8057 * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
8058 * config/rs6000/rs6000.c: Likewise.
8059
8060 2003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8061
8062 PR optimization/10914
8063 * expr.h (get_condition, canonicalize_condition): Declaration changed.
8064 * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
8065 and canonicalize_condition calls.
8066 * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
8067 delete_null_pointer_checks): Ditto.
8068 * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
8069 * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
8070 * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
8071 (canonicalize_condition, get_condition): Allow to return comparisons
8072 of cc mode registers.
8073 * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
8074 cc mode registers comparison in condition.
8075
8076 2003-09-12 Mark Mitchell <mark@codesourcery.com>
8077
8078 * coverage.c (create_coverage): Do not call pushlevel/poplevel.
8079 * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
8080 function.
8081 * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
8082
8083 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
8084
8085 * combine.c (simplify_comparison): Convert
8086 (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
8087 (eq (and (lshiftrt X Y) 1) 0).
8088
8089 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
8090
8091 * alias.c: Follow spelling conventions.
8092 * cpphash.h: Likewise.
8093 * fold-const.c: Likewise.
8094
8095 2003-09-14 Alexandre Oliva <aoliva@redhat.com>
8096
8097 * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
8098 * c-lex.c (cb_line_change): Skip line changing whenever
8099 c-ppoutput.c would.
8100
8101 2003-09-14 Steven Bosscher <steven@gcc.gnu.org>
8102
8103 * ra.c: Convert to ISO C90 prototypes.
8104 * ra-build.c: Likewise.
8105 * ra-colorize.c: Likewise.
8106 * ra-debug.c: Likewise.
8107 * ra-rewrite.c: Likewise.
8108
8109 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
8110
8111 * Makefile.in (%.dvi): Remove excess $(docdir).
8112
8113 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
8114
8115 * function.c (STACK_BYTES): Move definition to head of file.
8116 (assign_parms): Don't pass current_function_pretend_args_size
8117 directly to SETUP_INCOMING_VARARGS. For partial register arguments,
8118 round current_function_pretend_args_size up to STACK_BYTES. Skip any
8119 excess before laying out the argument.
8120
8121 2003-09-14 Andreas Jaeger <aj@suse.de>
8122
8123 * objc/objc-act.c: Convert to ISO C90 prototypes.
8124 * objc/objc-act.h: Likewise.
8125
8126 2003-09-14 Olaf Hering <olh@suse.de>
8127
8128 * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
8129
8130 2003-09-13 Andrew Pinski <pinskia@physics.uc.edu>
8131
8132 PR target/12021
8133 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
8134 as they already are done in config/m68k/m68k.h.
8135 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
8136
8137 * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
8138 (machopic_output_stub): Only generate pic base symbols when using pic
8139 and generate them in the form L00000000$spb.
8140
8141 2003-09-13 Richard Henderson <rth@redhat.com>
8142
8143 * cgraphunit.c (cgraph_assemble_pending_functions): Export.
8144 (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
8145 * cgraph.h: Update.
8146
8147 2003-09-12 Dale Johannesen <dalej@apple.com>
8148
8149 * config/rs6000/rs6000.c: Fix typos in previous.
8150
8151 2003-09-12 Ziemowit Laski <zlaski@apple.com>
8152
8153 * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
8154 when allocating pp->buffer.
8155
8156 2003-09-12 Geoffrey Keating <geoffk@apple.com>
8157
8158 * config/darwin.c (machopic_select_rtx_section): Use
8159 const_data_section for things that might require relocation.
8160
8161 2003-09-12 H.J. Lu <hongjiu.lu@intel.com>
8162
8163 PR bootstrap/12264
8164 * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
8165
8166 2003-09-12 Bob Wilson <bob.wilson@acm.org>
8167
8168 * config/xtensa/elf.h (ASM_SPEC): Remove no-density option. Reformat.
8169 * config/xtensa/linux.h (ASM_SPEC): Likewise.
8170 * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
8171 -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
8172 -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
8173 -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
8174 -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
8175 -m[no-]hard-float-rsqrt options. Delete corresponding MASK_* macros
8176 and redefine corresponding TARGET_* macros with constants from the
8177 xtensa-config.h header.
8178 * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
8179 for the options listed above.
8180
8181 2003-09-12 Dale Johannesen <dalej@apple.com>
8182
8183 * config/rs6000/rs6000-protos.h: Use C90 prototypes.
8184 * config/rs6000/rs6000-c.c: Ditto.
8185 * config/rs6000/rs6000.c: Ditto.
8186 * config/rs6000/ sysv4.h: Ditto.
8187
8188 2003-09-12 Chris Lattner <sabre@nondot.org>
8189
8190 * loop.c: Move comments describing BIV's and GIV's to top of file
8191
8192 2003-09-12 Roger Sayle <roger@eyesopen.com>
8193
8194 PR optimization/8967
8195 * alias.c (write_dependence_p): Modify to take an additional constp
8196 argument that controls whether the UNCHANGING_RTX_P flags are used.
8197 (anti_dependence, output_dependence): Adjust write_dependence_p
8198 callers to pass this additional argument, to return the same result.
8199 (unchanging_anti_dependence): New variant of anti_dependence that
8200 ignores the UNCHANGING_RTX_P property on memory references.
8201 * rtl.h (unchaning_anti_dependence): Prototype here.
8202 * flow.c (init_propagate_block): Place fake constant mem writes on
8203 the mem_set_list so that dead writes to const variables are deleted.
8204 (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
8205 (mark_used_regs): Likewise.
8206
8207 2003-09-12 Richard Sandiford <rsandifo@redhat.com>
8208
8209 * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
8210 (mcore_secondary_reload_class): Declare.
8211 (mcore_output_inline_const_forced): Remove.
8212 * config/mcore/mcore.md (movsi): Remove the code that forced
8213 non-inlineable constants into a register if the target was r15
8214 or the stack pointer. Remove constant restrictions from the main
8215 define_insn. Remove r <- I, r <- M and r <- N alternatives in favor
8216 of an r <- P alternative. Remove fallback define_insn for reload.
8217 (movhi, movqi): Use gen_lowpart rather than gen_SUBREG. Remove reload
8218 define_insn. Use mcore_output_move in the remaining define_insn.
8219 Adjust condition and constraints in the way as for movsi.
8220 (movdi): Always split unacceptable constants into two. Use
8221 simplify_gen_subreg instead of operand_subword{,_force}.
8222 * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
8223 (mcore_output_move): Support HImode and QImode moves as well.
8224 (mcore_m15_operand_p): New function.
8225 (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
8226 (mcore_secondary_reload_class): New function.
8227 * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
8228 terms of mcore_secondary_reload_class.
8229
8230 2003-09-11 Mike Stump <mrs@apple.com>
8231
8232 * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
8233
8234 2003-09-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8235
8236 * builtins.c (fold_builtin_logarithm): if N can't be truncated to
8237 MODE exactly, then only convert logN(N) -> 1.0 if
8238 flag_unsafe_math_optimizations is set.
8239
8240 * builtins.c (builtin_dconsts_init, dconstpi, dconste,
8241 init_builtin_dconsts): Delete.
8242 * emit-rtl.c (dconstpi, dconste): Define.
8243 (init_emit_once): Initialize dconstpi & dconste.
8244 * real.h (dconstpi, dconste): Declare.
8245
8246 2003-09-11 Alexandre Oliva <aoliva@redhat.com>
8247
8248 PR fortran/11522
8249 * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
8250 for ultimate origin even if block is abstract.
8251
8252 2003-09-11 Roger Sayle <roger@eyesopen.com>
8253
8254 * combine.c (combine_simplify_rtx): Move several NOT and NEG
8255 optimizations from here...
8256 * simplify-rtx.c (simplify_unary_operation): to here. Recursively
8257 simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
8258
8259 2003-09-11 Richard Henderson <rth@redhat.com>
8260
8261 * cgraphunit.c (cgraph_finalize_function): Add nested arg.
8262 Tweek tests for function already generated.
8263 (cgraph_expand_function): Don't double announce in !unit-at-a-time.
8264 * cgraph.h (cgraph_finalize_function): Update for extra arg.
8265 * c-decl.c (finish_function): Likewise.
8266
8267 2003-09-10 Joe Buck <jbuck@welsh-buck.org>
8268
8269 * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
8270
8271 2003-09-10 Jerry Quinn <jlquinn@optonline.net>
8272
8273 * real.c: Update URL to VAX floating point docs.
8274 (decode_vax_d): Extract 8 exponent bits instead of 7.
8275
8276 2003-09-10 Ian Lance Taylor <ian@wasabisystems.com>
8277
8278 * combine.c (force_to_mode): Set fuller_mask based only on mask,
8279 not op_mode.
8280
8281 2003-09-11 Jan Hubicka <jh@suse.cz>
8282
8283 * c-objc-common.c (c_cannot_inline_tree_fn): Warn
8284 on why function is not inlinable; do not check
8285 the body.
8286 (inline_forbidden_p): Move to...
8287 * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
8288 deal with alloca, longjmp.
8289 (inline_forbidden_p): New static function.
8290 (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
8291 find_builtin_longjmp_call): Kill.
8292
8293 2003-09-10 Richard Henderson <rth@redhat.com>
8294
8295 * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
8296 * cgraphunit.c: Update to match.
8297 (record_call_1): Rearrange. Call lang hook for language nodes.
8298 (cgraph_analyze_function): Don't call lower_function.
8299 * langhooks.h (struct lang_hooks_for_callgraph): Replace
8300 lower_function with analyze_expr.
8301 * langhooks-def.h: Update to match.
8302 * langhooks.c (lhd_callgraph_analyze_expr): New.
8303
8304 2003-09-10 Martin Husemann <martin@duskware.de>
8305
8306 PR target/11965
8307 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
8308 constants greater than 63.
8309 * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
8310 against constants greater than 31.
8311 (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
8312 constants greater than 63.
8313
8314 2003-09-09 Richard Henderson <rth@redhat.com>
8315
8316 * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
8317 * cgraph.h (cgraph_finalize_function): Update.
8318 * c-decl.c (finish_function): Update.
8319
8320 2003-09-09 Devang Patel <dpatel@apple.com>
8321
8322 * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
8323 * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
8324
8325 2003-09-09 Eric Christopher <echristo@redhat.com>
8326
8327 * configure.in: Change usage of 'head' to 'sed 1q'.
8328 * configure: Regenerate.
8329
8330 2003-09-09 Richard Henderson <rth@redhat.com>
8331
8332 * except.c: Include cgraph.h.
8333 (output_function_exception_table): Invoke
8334 cgraph_varpool_mark_needed_node.
8335 * Makefile.in (except.o): Update.
8336
8337 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
8338
8339 * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
8340 and use it throughout.
8341
8342 2003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8343
8344 * builtins.c (real_dconstp, fold_builtin_logarithm,
8345 fold_builtin_exponent): New, split out from fold_builtin. Also
8346 generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
8347 * emit-rtl.c (dconst3, dconst10, dconstthird): New.
8348 (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
8349 of hardcoded array size.
8350 * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
8351 (tree_expr_nonnegative_p): Likewise.
8352 * real.h (dconst3, dconst10, dconstthird): New.
8353
8354 2003-09-09 Jan Hubicka <jh@suse.cz>
8355
8356 * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
8357 inline functions.
8358 (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
8359 DECL_SAVED_TREE.
8360
8361 2003-09-09 Roger Sayle <roger@eyesopen.com>
8362
8363 * builtins.c (fold_builtin_cabs): Protect the complex argument
8364 against multiple evaluation when optimizing cabs* into sqrt*.
8365
8366 2003-09-09 Jan Hubicka <jh@suse.cz>
8367
8368 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
8369
8370 2003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
8371
8372 * Makefile.in: Revert yesterday's change.
8373
8374 2003-09-08 Bernardo Innocenti <bernie@develer.com>
8375 Peter Barada <peter@baradas.org>
8376
8377 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
8378 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
8379 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
8380 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
8381 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
8382 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
8383 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
8384 (m68k_compute_frame_layout): New function.
8385 (m68k_initial_elimination_offset): New function.
8386 (m68k_output_function_prologue): ColdFire-specific movem handling.
8387 (m68k_output_function_epilogue): Likewise.
8388 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
8389 (ARG_POINTER_REGNUM): Add new definition.
8390 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
8391 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
8392 (CAN_ELIMINATE): Likewise.
8393 (INITIAL_ELIMINATION_OFFSET): Likewise.
8394
8395 2003-09-08 Bernardo Innocenti <bernie@develer.com>
8396
8397 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
8398 by removing redundant variable cfa_store_offset.
8399
8400 2003-09-08 Mark Mitchell <mark@codesourcery.com>
8401
8402 * langhooks-def.h (lhd_register_builtin_type): New function.
8403 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
8404 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
8405 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
8406 * langhooks.c (lhd_register_builtin_type): New function.
8407 * c-common.h (c_register_builtin_type): Declare.
8408 * c-common.c (c_register_builtin_type): New function.
8409 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
8410 c_register_builtin_type.
8411 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
8412 __float80, and __float128 macros.
8413 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
8414 __float80, and __float128 types.
8415
8416 2003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8417
8418 * builtin-types.def
8419 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
8420 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
8421 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
8422 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
8423 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
8424 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
8425 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
8426 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
8427 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
8428 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
8429 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
8430 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
8431 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
8432 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
8433 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
8434 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
8435 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
8436 New.
8437 * doc/extend.texi: Document new builtins.
8438
8439 2003-09-09 Jan Hubicka <jh@suse.cz>
8440
8441 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
8442 finalization.
8443 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
8444 functions, check for COMDAT.
8445 (cgraph_assemble_pending_functions): Break out from...
8446 (cgraph_finalize_function): ... here; allow redefinig of extern inline
8447 functions.
8448 (record_call_1): Record function references only in non-unit-at-a-time
8449 mode.
8450 (cgraph_analyze_function): Reset current_function_decl.
8451 (cgraph_finalize_compilation_unit): Assemble pending functions.
8452
8453 2003-09-08 Mark Mitchell <mark@codesourcery.com>
8454
8455 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
8456 (libgov.a): Likewise.
8457 (libgcc_eh.a): Likewise.
8458
8459 2003-09-08 Roger Sayle <roger@eyesopen.com>
8460
8461 * fold-const.c (operand_equal_p): Clarify documentation.
8462
8463 2003-09-08 Richard Henderson <rth@redhat.com>
8464
8465 * c-decl.c (c_expand_body_1): Push and pop function context here.
8466 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
8467 nested argument instead of computing nesting ourselves.
8468
8469 2003-09-08 Jakub Jelinek <jakub@redhat.com>
8470
8471 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
8472 regstack if optimizing but not scheduling after reload.
8473
8474 2003-09-08 Jakub Jelinek <jakub@redhat.com>
8475
8476 * config/sparc/sparc.c (struct machine_function): New type.
8477 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
8478 (sparc_override_options): Initialize init_machine_status.
8479 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
8480 tie_symbolic_operand, tle_symbolic_operand): New functions.
8481 (symbolic_operand): Disallow tls_symbolic_operand.
8482 (symbolic_memory_operand): Likewise.
8483 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
8484 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
8485 New functions.
8486 (sparc_tls_symbol): New variable.
8487 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
8488 legitimize_address): New functions.
8489 (print_operand): Handle %&.
8490 (sparc_init_machine_status, get_some_local_dynamic_name,
8491 get_some_local_dynamic_name_1): New functions.
8492 (sparc_output_dwarf_dtprel): New function.
8493 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
8494 constant_address_p.
8495 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
8496 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
8497 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
8498 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
8499 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
8500 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
8501 (ASM_OUTPUT_DWARF_DTPREL): Define.
8502 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
8503 tie_symbolic_operand, tle_symbolic_operand.
8504 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
8505 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
8506 (tls_call_delay): New attribute.
8507 (in_call_delay): Use it.
8508 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
8509 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
8510 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
8511 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
8512 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
8513 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
8514 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
8515 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
8516 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
8517 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
8518 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
8519 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
8520 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
8521 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
8522 insns.
8523 * config/sparc/sparc-protos.h (legitimate_constant_p,
8524 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
8525 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
8526 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
8527 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
8528 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
8529 * configure.in (sparc*-*-*): Add TLS check.
8530 * configure: Rebuilt.
8531
8532 2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
8533
8534 PR target/11689
8535 * config/i386/i386.c (memory_address_length): Fix computation when
8536 the base is esp or ebp.
8537
8538 2003-09-07 Mark Mitchell <mark@codesourcery.com>
8539
8540 PR c++/11852
8541 * varasm.c (initializer_constant_valid_p): Correct logic for
8542 CONSTRUCTORs.
8543
8544 2003-09-07 Roger Sayle <roger@eyesopen.com>
8545
8546 * expr.c (expand_operands): New function to expand an operand pair.
8547 (expand_expr): Call expand_operands whenever we need to expand both
8548 operands of a binary operator.
8549 (do_store_flag): Likewise for operands of comparison operations.
8550
8551 2003-09-07 Roger Sayle <roger@eyesopen.com>
8552
8553 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
8554 (-A)*B if we care about sign-dependent rounding.
8555
8556 2003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
8557
8558 * c-pretty-print.h (pp_c_left_brace): Declare.
8559 (pp_c_right_brace): Likewise.
8560 * c-pretty-print.c (pp_c_left_brace): Now a function
8561 (pp_c_right_brace): Likewise.
8562
8563 2003-09-07 Jan Hubicka <jh@suse.cz>
8564
8565 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
8566
8567 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
8568
8569 * diagnostic.c (warn_deprecated_use): Move to toplev.c
8570
8571 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
8572
8573 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
8574 * Makefile.in (langhooks.o): Depend on diagnostic.h
8575
8576 2003-09-06 James E Wilson <wilson@tuliptree.org>
8577
8578 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
8579 simplify.
8580
8581 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
8582
8583 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
8584 and use it throughout.
8585
8586 2003-09-07 Jan Hubicka <jh@suse.cz>
8587
8588 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
8589
8590 * toplev.c (rest_of_decl_compilation): Do not finalize external
8591 virables.
8592
8593 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
8594 functions.
8595 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
8596
8597 2003-09-06 Jan Hubicka <jh@suse.cz>
8598
8599 PR target/12070
8600 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
8601
8602 PR opt/12082
8603 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
8604
8605 2003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
8606
8607 * diagnostic.c (announce_function): Move to toplev.c.
8608
8609 2003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8610
8611 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
8612 volatile mem.
8613
8614 2003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8615
8616 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
8617 when gc checking is enabled.
8618
8619 2003-09-06 Steven Bosscher <steven@gcc.gnu.org>
8620
8621 PR c/9862
8622 * c-decl.c (c_expand_body_1): Move return warning from here...
8623 (finish_function): ...to here.
8624
8625 2003-09-05 Geoffrey Keating <geoffk@apple.com>
8626
8627 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
8628 a subset of the input class.
8629
8630 2003-09-05 Kazu Hirata <kazu@cs.umass.edu>
8631
8632 * config/i860/i860.c: Follow spelling conventions.
8633 * config/i860/i860.h: Likewise.
8634 * config/sh/sh.h: Likewise.
8635
8636 2003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
8637
8638 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
8639 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
8640 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
8641
8642 2003-09-05 Roger Sayle <roger@eyesopen.com>
8643 Richard Henderson <rth@redhat.com>
8644
8645 PR optimization/1823
8646 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
8647 multiplication to implement division by constant integer.
8648
8649 2003-09-05 Jan Hubicka <jh@suse.cz>
8650
8651 * opts.c (decode_options): Enable unit-at-a-time at -O2.
8652 * params.def (max-inline-insns-single): Set to 500
8653 (max-inline-insns-auto): Set to 150
8654 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
8655
8656 2003-09-04 Richard Henderson <rth@redhat.com>
8657
8658 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
8659 (cgraph_mark_needed_node): Remove needed argument.
8660 * cgraph.h: Update to match.
8661 * cgraphunit.c (decide_is_function_needed): Split out from ...
8662 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
8663 if we generated the function.
8664 (record_call_1): Update for cgraph_mark_reachable_node.
8665 * varasm.c (mark_referenced): Likewise.
8666 * objc/objc-act.c (mark_referenced_methods): Likewise.
8667
8668 2003-09-04 DJ Delorie <dj@redhat.com>
8669
8670 * targhooks.c: Add comment explaining the migration process.
8671
8672 2003-09-04 Eric Christopher <echristo@redhat.com>
8673
8674 * config/frv/t-frv: Fix path for frv-abi.h.
8675 * config/frv/frv-asm.h: Fix string concatenation.
8676
8677 2003-09-04 DJ Delorie <dj@redhat.com>
8678
8679 * builtins.c (apply_args_size): Guard against a NULL cfun.
8680 (expand_builtin_apply_args_1): Likewise.
8681 (expand_builtin_apply): Likewise.
8682 Fixes PR bootstrap/12172.
8683
8684 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8685
8686 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
8687 assembler supports Sun syntax for cmov.
8688 * configure: Regenerate.
8689 * config.in: Likewise.
8690 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
8691 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
8692 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
8693 Fixes PR target/12101.
8694
8695 2003-09-04 Matt Austern <austern@apple.com>
8696
8697 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
8698 with verbosity 0, instead of DECL_NAME, for human-readable string.
8699
8700 2003-09-04 Eric Christopher <echristo@redhat.com>
8701
8702 * targhooks.c (default_return_in_memory): Allow
8703 unconverted ports.
8704
8705 2003-09-04 Eric Christopher <echristo@redhat.com>
8706
8707 * targhooks.c (default_return_in_memory): Fix typo
8708 in last checkin.
8709
8710 2003-09-04 Eric Christopher <echristo@redhat.com>
8711
8712 * targhooks.c (default_return_in_memory): Fix default
8713 definition.
8714
8715 2003-09-04 Bernardo Innocenti <bernie@develer.com>
8716
8717 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
8718 deleted function.
8719 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
8720 enable coff-only code in m68k.c.
8721
8722 2003-09-04 Nick Clifton <nickc@redhat.com>
8723
8724 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
8725 v850e1.
8726 * config/v850/v850.h: Accept v850e1 as a default CPU.
8727 Accept -mv850e1 as a command line option.
8728 * doc/invoke.texi: Document new -mv850e1 command line switch.
8729 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
8730 -mv850e.
8731
8732 2003-09-04 Nick Clifton <nickc@redhat.com>
8733
8734 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
8735 * config/v850/t-v850: Only produce one extra multilib - for
8736 the v850e.
8737 * config/v850/t-v850e: New file: Only produce one extra
8738 multilib - for the v850.
8739
8740 2003-09-04 Jakub Jelinek <jakub@redhat.com>
8741
8742 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
8743 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
8744 * unwind.h (_Unwind_GetBSP): New prototype.
8745 * libgcc-std.ver: Add empty GCC_3.3.2 version.
8746 * mkmap-symver.awk: For symbol versions with no exported symbols,
8747 don't put anything into version script, just change all symbol
8748 versions which inherit from it to inherit from its ancestor.
8749
8750 2003-09-04 Eric Christopher <echristo@redhat.com>
8751
8752 * config/mips/mips.c (mips_expand_prologue): Convert to
8753 calls.struct_value_rtx hook.
8754 (reg_or_const_float_1_operand): New.
8755 * config/mips/mips.h: Update Comments.
8756 (mips_arg): Add reg_or_const_float_1_operand.
8757 * config/mips/mips.md (divdf3); Convert to expander.
8758 (divsf3): Ditto.
8759 (*divdf3): New pattern.
8760 (*divsf3): Ditto.
8761
8762 2003-09-04 Jan Hubicka <jh@suse.cz>
8763
8764 * toplev.c (wrapup_global_declarations): Fix final pass in
8765 unit-at-atime mode.
8766
8767 2003-09-04 Mark Mitchell <mark@codesourcery.com>
8768
8769 * doc/extend.texi: Document removal of cast-as-lvalue extension in
8770 C++.
8771
8772 2003-09-04 Nicolas Roche <roche@act-europe.fr>
8773
8774 * gcc.c (process_command): Fix typo.
8775
8776 2003-09-03 David O'Brien <obrien@FreeBSD.org>
8777
8778 optimization/11980
8779 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
8780 (PTRDIFF_TYPE): Likewise.
8781 (WCHAR_TYPE_SIZE): Likewise.
8782
8783 2003-09-03 DJ Delorie <dj@redhat.com>
8784
8785 * targhooks.c: New file.
8786 * targhooks.h: New file.
8787 * Makefile.in: Add targhooks.o support.
8788 (function.o): Depend on$(TARGET_H).
8789 (stmt.o): Likewise.
8790 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
8791 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
8792 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
8793 (expand_builtin_saveregs): Convert to
8794 calls.expand_builtin_saveregs hook.
8795 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
8796 here, instead of ...
8797 (get_parm_info) ... here.
8798 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
8799 hook.
8800 (finish_function): Handle calls.promote_prototypes hook here too.
8801 * c-typeck.c (convert_arguments): Convert to
8802 calls.promote_prototypes hook.
8803 (c_convert_parm_for_inlining): Likewise.
8804 * calls.c (initialize_argument_information): Convert to
8805 calls.promote_function_args hook.
8806 (expand_call): Convert to calls.struct_value_rtx,
8807 calls.strict_argument_naming,
8808 calls.pretend_outgoing_varargs_named, and
8809 calls.promote_function_return hooks. Pass fndecl to
8810 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
8811 hooks, so they can use that.
8812 (emit_library_call_value_1): Likewise.
8813 * combine.c (setup_incoming_promotions): Convert to
8814 calls.promote_function_args hook.
8815 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
8816 * expr.c (expand_assignment): Pass call to aggregate_value_p.
8817 (expand_expr): Likewise.
8818 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
8819 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8820 RETURN_IN_MEMORY macro defaults.
8821 * final.c (profile_function): Convert to calls.struct_value_rtx
8822 hook.
8823 * function.c (aggregate_value_p): Accept function type tree as
8824 second parameter; try to deduce fntype from it. Convert to
8825 calls.return_in_memory hook.
8826 (assign_parms): Convert to calls.setup_incoming_varargs,
8827 calls.strict_argument_naming, calls.promote_function_args,
8828 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
8829 aggregate_value_p.
8830 (expand_function_start): Likewise. Convert to
8831 calls.struct_value_rtx hook.
8832 (expand_function_end): Convert to calls.promote_function_return hook.
8833 (allocate_struct_function): Pass fndecl to aggregate_value_p.
8834 * hard-reg-set.h: Update comments to new hook names.
8835 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
8836 * reg-stack.c (stack_result): Likewise.
8837 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
8838 * stmt.c (expand_value_return): Convert to
8839 calls.promote_function_return hook.
8840 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
8841 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
8842 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
8843 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
8844 TARGET_STRICT_ARGUMENT_NAMING,
8845 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
8846 * target.h: Likewise.
8847 * tree.h (aggregate_value_p): Also takes a tree to deduce function
8848 attributes from (for target hooks).
8849 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
8850 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
8851 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
8852 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
8853 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
8854 to hooks.
8855
8856 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
8857 to aggregate_value_p.
8858 * config/arm/arm.c (arm_init_cumulative_args,
8859 arm_output_mi_thunk): Likewise.
8860 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
8861 Likewise.
8862 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
8863 mips_can_use_return_insn): Likewise.
8864 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
8865 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
8866 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
8867 aggregate_value_p.
8868 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
8869 function to aggregate_value_p.
8870 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
8871 aggregate_value_p.
8872
8873 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
8874 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
8875 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
8876 (sh_handle_renesas_attribute, sh_promote_prototypes,
8877 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
8878 sh_setup_incoming_varargs, sh_strict_argument_naming,
8879 sh_pretend_outgoing_varargs_named): New decls.
8880 (targetm): Add new hooks.
8881 (calc_live_regs): Save MACL and MACH if the function has the
8882 renesas attribute.
8883 (sh_expand_prologue): Support renesas attribute.
8884 (sh_builtin_saveregs): Make static.
8885 (sh_build_va_list): Support renesas attribute.
8886 (sh_va_start): Likewise.
8887 (sh_va_arg): Likewise.
8888 (sh_promote_prototypes): New.
8889 (sh_function_arg): New, moved from sh.h. Support renesas
8890 attribute.
8891 (sh_function_arg_advance): Likewise.
8892 (sh_return_in_memory): Likewise.
8893 (sh_strict_argument_naming): Likewise.
8894 (sh_pretend_outgoing_varargs_named): Likewise.
8895 (sh_struct_value_rtx): New.
8896 (sh_attribute): Add renesas attribute.
8897 (sh_handle_renesas_attribute): New.
8898 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
8899 (sh_ms_bitfield_layout_p): Support renesas attribute also.
8900 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
8901 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
8902 -mhitachi.
8903 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
8904 target hooks.
8905 (sh_args): Add renesas_abi flag.
8906 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
8907 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
8908 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
8909 stack for the renesas abi.
8910 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8911 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
8912 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
8913 call cookie to indicate renesas calls.
8914
8915 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
8916
8917 * gcse.c (replace_one_set): New function.
8918 (pre_insert_copy_insn): Change the order of copying
8919 to make copy propagation discover additional PRE opportunities.
8920
8921 2003-09-03 Roger Sayle <roger@eyesopen.com>
8922
8923 PR optimization/11700.
8924 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
8925 of a hard register is representable before trying to simplify it
8926 using subreg_hard_regno.
8927
8928 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8929
8930 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
8931 * configure: Regenerate.
8932
8933 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8934
8935 * intl.h (N_): Remove parentheses.
8936
8937 2003-09-03 Bernardo Innocenti <bernie@develer.com>
8938
8939 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
8940 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
8941 definition and code blocks compiled when not defined.
8942 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
8943 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
8944 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
8945 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
8946
8947 2003-09-03 Jeff Sturm <jsturm@one-point.com>
8948
8949 * cgraphunit.c (visited_nodes): New static variable.
8950 (record_call_1): Use walk_tree with visited_nodes.
8951 (cgraph_create_edges): Use walk_tree with visited_nodes.
8952 Setup/teardown visited_nodes hashtable.
8953
8954 2003-09-03 Roger Sayle <roger@eyesopen.com>
8955
8956 * toplev.c (flag_rounding_math): New global variable.
8957 (f_options): Add to the list of language independent options.
8958 * flags.h (flag_rounding_math): Prototype here.
8959 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
8960 * common.opt (frounding-math): New common command line option.
8961 * opts.c (common_handle_option): Handle OPT_frounding_math.
8962 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
8963
8964 * doc/invoke.texi: Document this new command line option.
8965
8966 2003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8967
8968 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
8969
8970 2003-09-03 Jan Hubicka <jh@suse.cz>
8971
8972 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
8973 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
8974 * c-objc-common.c: Kill include of gt-c-objc-common.h
8975 (expand_deferred_fns, deffer_fn): Kill function.
8976 (deferred_fns): Kill variable.
8977 (finish_cdtor): Update finish_function call.
8978 (c_objc_common_finish_file): Always call cgraph code.
8979 * c-parse.c: Regenerate.
8980 * c-parse.y: Regenerate.
8981 * c-tree.h (finish_function): Update prototype.
8982 * objc-acct.c (build_module_descriptor, finish_method_def):
8983 Update call of finish_function.
8984 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
8985 forward prototype.
8986 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
8987 function and assemble it if needed.
8988 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
8989 mode.
8990 (cgraph_optimize): Likewise.
8991 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
8992 even when it has no inline callees.
8993 * c-parse.in: Update calls to finish_function.
8994
8995 2003-09-03 Nick Clifton <nickc@redhat.com>
8996
8997 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
8998 Use #error to generate the message if TARGET_DEFAULT is not
8999 recognised.
9000
9001 2003-09-03 Richard Sandiford <rsandifo@redhat.com>
9002
9003 * config/mips/mips.h (MASK_UNUSED1): Remove.
9004 (MASK_XGOT, TARGET_XGOT): Define.
9005 (TARGET_SWITCHES): Add an entry for -mxgot.
9006 (ASM_SPEC): Map -mxgot to -xgot.
9007 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
9008 whether we're using a big-GOT sequences.
9009 (mips_legitimize_const_move, mips_expand_call): Likewise.
9010 (override_options): Revert 2003-01-09 change.
9011 * doc/invoke.texi: Document -mxgot.
9012
9013 2003-09-02 Jason Merrill <jason@redhat.com>
9014
9015 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
9016 * config/sparc/sol2.h: Not here.
9017
9018 2003-09-02 Roger Sayle <roger@eyesopen.com>
9019
9020 * expr.c (expand_expr): The code following both_summands performs
9021 the same task as simplify_gen_binary. Replace all gotos to
9022 both_summands with a call to simplify_gen_binary and delete the
9023 now unused label.
9024
9025 2003-09-02 Jason Merrill <jason@redhat.com>
9026
9027 PR c++/7327
9028 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
9029
9030 2003-09-02 Jeff Sturm <jsturm@one-point.com>
9031
9032 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
9033 (cgraph_optimize_function): Set current_function_decl to the
9034 fndecl we're integrating from.
9035
9036 2003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9037
9038 * builtins.def: Break out _Complex math functions into their
9039 own category.
9040
9041 2003-09-02 Andreas Jaeger <aj@suse.de>
9042
9043 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
9044
9045 2003-09-02 Josef Zlomek <zlomekj@suse.cz>
9046
9047 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
9048 finding the note again.
9049
9050 2003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
9051
9052 * config.gcc: Remove host-specific rewrites of target_alias.
9053
9054 2003-09-01 Mark Mitchell <mark@codesourcery.com>
9055
9056 * Makefile.in (genprogs): Fix typo.
9057
9058 * Makefile.in (gencheck.o): Remove build commands.
9059 (dummy-conditions.o): Likewise.
9060 (read-rtl.o): Likewise.
9061 (gensupport.o): Likewise.
9062 (genconfig$(build_exeext)): Remove rule.
9063 (genconfig.o): Remove build commands.
9064 (genflags$(build_exeext)): Remove rule.
9065 (genflags.o): Remove build commands.
9066 (gencodes$(build_exeext)): Remove rule.
9067 (gencodes.o): Remove build commands.
9068 (genconstants.o): Remove build commands.
9069 (genemit$(build_exeext)): Remove rule.
9070 (genemit.o): Remove build commands.
9071 (genrecog$(build_exeext)): Remove rule.
9072 (genrecog.o): Remove build commands.
9073 (genextract$(build_exeext)): Remove rule.
9074 (genextract.o): Remove build commands.
9075 (genpeep$(build_exeext)): Remove rule.
9076 (genpeep.o): Remove build commands.
9077 (genattr$(build_exeext)): Remove rule.
9078 (genattr.o): Remove build commands.
9079 (genprognames): New variable.
9080 (genprogs): Likewise.
9081 (genobjs): Likewise.
9082 (genprogs): New rule.
9083 (genobjs): Likewise.
9084 (genattrtab.o): Remove build commands.
9085 (genautomata.o): Likewise.
9086 (genoutput$(build_exeext)): Remove rule.
9087 (genoutput.o): Remove build commands.
9088 (gengenrtl.o): Likewise.
9089 (genpreds.o): Likewise.
9090 (gengtype.o): Likewise.
9091 (genconditions.o): Likewise.
9092 (gen-protos.o): Likewise.
9093 (scan.o): Likewise.
9094 (fix-header.o): Likewise.
9095 (scan-decls.o): Likewise.
9096 (check-g++): Combine with other check targets.
9097 (check-gcc): Likewise.
9098 (check-g77): Likewise.
9099 (check-objc): Likewise.
9100
9101 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
9102
9103 * config.gcc: Remove host-specific stuff which is unused here
9104 since the introduction of config.host.
9105
9106 * doc/fragments.texi: Mention config.host.
9107 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
9108 of config.build, config.host, and config.gcc.
9109
9110 2003-09-01 Zack Weinberg <zack@codesourcery.com>
9111
9112 * c-decl.c (pushdecl): Don't put variables on
9113 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
9114 incomplete.
9115
9116 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
9117
9118 * config.host: New file.
9119 * config.gcc: Remove some host-specific stuff and some
9120 logic needed only for repeated invocation.
9121 * configure.in: Use config.host.
9122 * configure: Regenerate.
9123
9124 2003-09-01 Josef Zlomek <zlomekj@suse.cz>
9125
9126 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
9127 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
9128 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
9129 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
9130 * tree.def (BIT_ANDTC_EXPR): Kill.
9131
9132 2003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
9133
9134 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
9135 * configure: Regenerate.
9136
9137 * config.gcc: Remove references to install_headers_dir, now unused
9138 since introduction of config.build.
9139 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
9140
9141 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
9142 config.build.
9143
9144 * config.build: New file.
9145 * config.gcc: Remove some build-specific stuff.
9146 * configure.in: Use config.build.
9147 * configure: Regnerate.
9148
9149 2003-08-31 Steven Bosscher <steven@gcc.gnu.org>
9150 Roger Sayle <roger@eyesopen.com>
9151
9152 PR middle-end/11823
9153 * stmt.c (expand_end_case_type): Only use jump tables for dense
9154 switch statements when optimizing for size.
9155
9156 2003-08-31 Olivier Hainque <hainque@act-europe.fr>
9157
9158 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
9159 the != 0 case, which ensures pending stack adjustments are flushed.
9160
9161 2003-08-30 Zack Weinberg <zack@codesourcery.com>
9162
9163 * configure.frag: Delete file.
9164 * configure.in: Rename the substitution variables
9165 dep_host_xmake_file and dep_tmake_file to xmake_file and
9166 tmake_file respectively. Do not expand $srcdir in the
9167 value of these; leave that for Make. Introduce a new
9168 substitution varaible, all_lang_makefrags, which lists
9169 subdirectory Make-lang.in files; exclude these from
9170 all_lang_makefiles, which is now only for subdirectory
9171 outputs. Do not invoke configure.frag. Do not set nor
9172 AC_SUBST_FILE target_overrides, host_overrides, or
9173 language_fragments. Create build subdirectories in
9174 config.status extra commands.
9175 * configure: Regenerate.
9176 * Makefile.in: Update substitutions to match changes to
9177 configure. Use include directives instead of @-insertions
9178 to read in host, target, and language fragments.
9179 (Makefile rule): Do not invoke configure.frag. Do not copy
9180 config.status to config.run before executing it. Set
9181 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
9182 regenerated.
9183 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
9184
9185 2003-08-30 Zack Weinberg <zack@codesourcery.com>
9186
9187 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
9188 * c-typeck.c (same_translation_unit_p): New function.
9189 (comptypes): Use it instead of flags parameter to identify
9190 structure types from different translation units.
9191 * c-decl.c (duplicate_decls): Always call comptypes with
9192 COMPTYPE_STRICT flags argument.
9193 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
9194 to file_scope_decl.
9195
9196 2003-08-30 Zack Weinberg <zack@codesourcery.com>
9197
9198 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
9199 * c-decl.c (struct c_scope): Remove "incomplete" field.
9200 (pushdecl): Attach variables with incomplete types to
9201 the TYPE_MAIN_VARIANT of the incomplete type in question.
9202 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
9203 to complete, not at current_scope->incomplete. All such
9204 variables do need completion.
9205
9206 2003-08-30 Richard Earnshaw <rearnsha@arm.com>
9207 Nicolas Pitre <nico@cam.org>
9208
9209 * arm/lib1funcs.asm (RETCOND): Delete.
9210 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
9211 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
9212 (__ARM_ARCH__): Move here from ieee754-?f.S.
9213 (RET, RETc): Clean up definitions.
9214 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
9215 (FUNC_END): New macro that marks the end of any function.
9216 (ARM_FUNC_START): New macro that allows an assembler routine to be
9217 implemented in ARM code even if a Thumb-only build.
9218 Unconditionally include ieee754-?f.S.
9219 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
9220 Mark ends of functions.
9221 Split into separate conditionally-compiled units.
9222 Use RETLDM to return from routines.
9223 * arm/ieee754-sf.S: Similarly.
9224 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
9225 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
9226 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
9227 _fixsfsi and _fixunssfsi.
9228
9229 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
9230 multiplication underflows to zero.
9231 (__adddf3): Fix bug when using VFP ordering on little-endian
9232 processors.
9233 (__fixdfsi): Use rrx to extract the carry into a register instead of
9234 MRS instruction. Optimize later use of result.
9235 * arm/ieee754-sf.S (__fixsfsi): Likewise.
9236 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
9237
9238 2003-08-29 Richard Henderson <rth@redhat.com>
9239
9240 * tree-optimize.c: New file.
9241 * Makefile.in (OBJS-archive): Add tree-optimize.o.
9242 (tree-optimize.o): New.
9243 * c-decl.c (store_parm_decls): Use allocate_struct_function.
9244 (finish_function): Don't free_after_parsing or free_after_compilation.
9245 (set_save_expr_context): Move to tree-optimize.c.
9246 (c_expand_body_1): Use tree_rest_of_compilation.
9247 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9248 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9249 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
9250 iterate until closure.
9251 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
9252 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
9253 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
9254 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
9255 * toplev.h (tree_rest_of_compilation): Declare it.
9256
9257 2003-08-29 Richard Henderson <rth@redhat.com>
9258
9259 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
9260 * integrate.c (save_for_inline): Set saved_for_inline.
9261 * c-semantics.c (genrtl_scope_stmt): Check it.
9262 * toplev.c (wrapup_global_declarations): Check it.
9263 (rest_of_handle_inlining): Set and check rtl_inline_init.
9264 (rest_of_compilation): Remove out of date comment.
9265
9266 2003-08-29 Richard Henderson <rth@redhat.com>
9267
9268 * function.c (allocate_struct_function): New, split out of ...
9269 (prepare_function_start, init_function_start): ... here.
9270 * expr.c (init_expr): Use ggc_alloc_cleared.
9271 * stmt.c (init_stmt_for_function): Likewise.
9272 * tree.h (allocate_struct_function): Declare.
9273
9274 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
9275
9276 * config.gcc: Don't use negated character class in shell case
9277 clause.
9278
9279 2003-08-29 Richard Henderson <rth@redhat.com>
9280
9281 * function.h (struct function): Move function_frequency and
9282 max_jumptable_ents before start of bit field members.
9283
9284 2003-08-29 Richard Henderson <rth@redhat.com>
9285
9286 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
9287 (fold_builtin_constant_p) ... not here.
9288
9289 2003-08-29 Richard Henderson <rth@redhat.com>
9290
9291 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
9292 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
9293 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
9294
9295 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9296
9297 * builtins.def: Fix typos.
9298 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
9299 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
9300 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
9301 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
9302 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
9303
9304 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
9305 Use ATTR_MATHFN_FPROUNDING_ERRNO.
9306
9307 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
9308
9309 * config.gcc (i386-*-vsta): Fix obvious bogosity.
9310
9311 * fixinc/inclhack.def: Remove special cases for unsupported
9312 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
9313 * fixinc/fixincl.x: Regenerate.
9314
9315 2003-08-29 Mark Mitchell <mark@codesourcery.com>
9316
9317 * Makefile.in (cpp.info): Just state dependencies.
9318 (gcc.info): Likewise.
9319 (gccint.info): Likewise.
9320 (gccinstall.info): Likewise.
9321 (cppinternals.info): Likewise.
9322 (cpp.dvi): Likewise.
9323 (gcc.dvi): Likewise.
9324 (gccint.dvi): Likewise.
9325 (gccinstall.dvi): Likewise.
9326 (cppinternals.dvi): Likewise.
9327 (gcov.1): Likewise.
9328 (cpp.1): Likewise.
9329 (gcc.1): Likewise.
9330 (gfdl.7): Likewise.
9331 (gpl.7): Likewise.
9332 (fsf-funding.7): Likewise.
9333 ($(objdir)/%.info): New pattern rule.
9334 (%.dvi): Likewise.
9335
9336 2003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
9337
9338 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
9339 (restage2): Likewise.
9340 (restage3): Likewise.
9341 (restage4): Likewise.
9342 (restageprofile): Likewise.
9343 (restagefeedback): Likewise.
9344 (bubblestrap): Likewise.
9345
9346 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
9347
9348 * config.gcc: Narrow unsupported target match to avoid clobbering
9349 i?86-sequent-sysv4*.
9350
9351 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9352
9353 * builtins.c (mathfn_built_in): Handle new math builtins.
9354
9355 2003-08-28 Per Bothner <per@bothner.com>
9356
9357 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
9358 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
9359 (_cpp_lex_buffer): Likewise.
9360 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
9361
9362 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
9363
9364 * config/s390/s390.md ("*mulsi3_sign"): New insn.
9365 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
9366 ("mulsidi3"): ... this new insn.
9367 ("umulsidi3"): New insn.
9368 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
9369 mixed-mode matching constraints.
9370 ("udivmodsi4", "udivmoddisi3"): New insns.
9371 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
9372
9373 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9374
9375 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
9376 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
9377 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
9378 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
9379 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
9380 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
9381 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
9382 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
9383 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
9384 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
9385 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
9386 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
9387 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
9388 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
9389 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
9390 * tree.c: Assign new type_nodes.
9391 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
9392 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
9393 (float_ptr_type_node, double_ptr_type_node,
9394 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
9395
9396 * doc/extend.texi: Document new builtins.
9397
9398 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9399
9400 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
9401 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
9402
9403 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
9404 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
9405 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
9406 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
9407 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
9408 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
9409 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
9410 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
9411 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
9412 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
9413
9414 * doc/extend.texi: Document new builtins.
9415
9416 2003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
9417
9418 * fixinc/mkfixinc.sh: Remove special case code for unsupported
9419 variants of i?86, powerpcle, and thumb.
9420 * fixinc/mkfixinc.sh: Remove special case code for unsupported
9421 arm and hppa variants.
9422
9423 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9424
9425 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
9426 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
9427 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
9428 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
9429 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
9430 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
9431 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
9432 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
9433 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
9434 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
9435
9436 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
9437 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
9438 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
9439 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
9440 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
9441 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
9442 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
9443 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
9444 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
9445 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
9446 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
9447 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
9448 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
9449 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
9450 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
9451 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
9452 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
9453 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
9454 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
9455 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
9456 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
9457 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
9458 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
9459 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
9460 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
9461 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
9462 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
9463 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
9464 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
9465 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
9466 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
9467
9468 * doc/extend.texi: Document new builtins.
9469
9470 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
9471
9472 * config/s390/s390.c (legitmate_constant_p): Use LARL on
9473 zSeries machines even in 31-bit addressing mode.
9474 (legitimate_reload_constant_p): Likewise.
9475 (legitimize_pic_address): Likewise.
9476 (legitimize_tls_address): Likewise.
9477 (s390_split_branches): Likewise.
9478 (s390_dump_pool): Likewise.
9479 (s390_mainpool_finish): Likewise.
9480 (s390_chunkify_start): Likewise.
9481 (s390_select_rtx_section): Likewise.
9482 * config/s390/s390.md ("doloop_si"): Likewise.
9483 ("pool_start_31", "pool_end_31"): Likewise.
9484 ("pool_start_64", "pool_end_64"): Likewise.
9485 ("main_base_31_small", "main_base_31_large"): Likewise.
9486 ("main_base_64"): Likewise.
9487 ("reload_base_31", "reload_base_64"): Likewise.
9488 ("*movsi_larl"): New insn.
9489 ("cjump", "icjump"): Use long branches on zSeries machines.
9490 ("jump"): Likewise.
9491 ("call"): Use BRASL on zSeries machines.
9492 ("call_value", "call_value_tls"): Likewise.
9493 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
9494 and replace by ...
9495 ("*bras", "*brasl", "*basr") ... these new insns.
9496 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
9497 "bas_31_r"): Remove and replace by ...
9498 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
9499 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
9500 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
9501 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
9502 ("*return_si", "*return_di"): Remove and replace by ...
9503 ("*return"): ... this new insn.
9504 ("rotlsi3"): Allow on zSeries machines.
9505
9506 * config/s390/s390.c (legitimize_reload_constant_p): Use
9507 LL/LH type instructions in z/Architecture mode.
9508 * config/s390/s390.md ("*movsi_lli"): Likewise.
9509 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
9510 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
9511 ("*extendqisi2"): Use LB in z/Architecture mode.
9512 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
9513 z/Architecture mode.
9514 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
9515 Likewise.
9516
9517 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
9518 and 31-bit mode.
9519 ("ptr_extend"): Allow only in 64-bit mode.
9520
9521 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
9522
9523 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
9524 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
9525 definitions.
9526 (main): Only use standard_startfile_prefix if native.
9527 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
9528
9529 2003-08-27 Per Bothner <pbothner@apple.com>
9530
9531 * cpperror.c (print_location): Don't check for !pfile->buffer. That
9532 test fails following my 08-21 change, and it seems unnecessary anyway.
9533 (cpp_error): Likewise.
9534
9535 2003-08-27 Jason Merrill <jason@redhat.com>
9536
9537 * real.c (do_multiply): Initialize with memset.
9538
9539 2003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9540
9541 * gcov.c (typedef struct arc_info): New field cs_count.
9542 (accumulate_line_counts): Find cycles correctly.
9543
9544 2003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
9545
9546 * config/s390/s390.c (struct machine_function): Remove member
9547 literal_pool_label.
9548 (s390_optimize_prolog): Replace TEMP_REG argument with
9549 TEMP_USED and BASE_USED. Do not check get_pool_size ().
9550 (general_s_operand): Accept all immediates before reload if
9551 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
9552 references.
9553 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
9554 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
9555 (s390_alloc_pool): New function.
9556 (s390_new_pool): Call it.
9557 (s390_dump_pool): Add REMOTE_LABEL argument.
9558 (s390_chunkify_start): Add BASE_REG argument. Do not check
9559 get_pool_size ().
9560 (s390_chunkify_finish): Add BASE_REG argument. Adapt
9561 s390_dump_pool call.
9562 (s390_pool_count, s390_nr_constants): Remove.
9563 (s390_output_constant_pool): Remove.
9564 (s390_mainpool_start): New function.
9565 (s390_mainpool_finish): New function.
9566 (s390_mainpool_cancel): New function.
9567 (s390_reorg): Implement main literal pool handling.
9568 (s390_emit_prologue): Emit main_pool placeholder instead of
9569 literal_pool_31 / literal_pool_64 insns.
9570 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
9571 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
9572 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
9573 ("main_base_31_small", "main_base_31_large"): New insns.
9574 ("main_base_64", "main_pool"): New insns.
9575 ("literal_pool_31", "literal_pool_64"): Remove.
9576
9577 2003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
9578
9579 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
9580 fixinc.ptx.
9581 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
9582 Prettify a little.
9583 * fixinc/fixincl.x: Regenerate.
9584
9585 2003-08-27 Richard Earnshaw <rearnsha@arm.com>
9586
9587 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
9588 (L_ieee754_dp): New. Include ieee754-df.S.
9589 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
9590 and compilation in apcs-26 mode.
9591 * arm/ieee754-df.S: Likewise.
9592 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
9593 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
9594
9595 2003-08-27 Nicolas Pitre <nico@cam.org>
9596
9597 * arm/ieee754-sf.S: New.
9598 * arm/ieee754-df.S: New.
9599
9600 2003-08-27 Jakub Jelinek <jakub@redhat.com>
9601
9602 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
9603 and restore it if returning NULL.
9604
9605 2003-08-27 Richard Sandiford <rsandifo@redhat.com>
9606
9607 * calls.c (initialize_argument_information): If an argument has no
9608 stack space associated with it, and BLOCK_REG_PADDING is defined,
9609 use it to decide at which end the argument should be padded.
9610 * function.c (assign_parms): Allocate BLKmode stack slots.
9611 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
9612 (mips_pad_reg_upward): Declare.
9613 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
9614 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
9615 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
9616 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
9617 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
9618 (mips_expand_call): Remove code for generating structure shifts.
9619 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
9620 types unless using the EABI.
9621 (function_arg_advance): Don't generate shift instructions.
9622 (function_arg): Don't return them. Don't short-circuit the
9623 check for double structure chunks for DFmode arguments.
9624 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
9625 (mips_expand_prologue): Remove code to emit structure shifts.
9626 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
9627 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
9628 comments to say that only structure returns are a problem.
9629
9630 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
9631
9632 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
9633 Fix to match produced versions.
9634 * fixinc/inclhack.def (longlong_t): New disabled test, ported
9635 from fixinc.svr4.
9636 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
9637 from fixinc.ptx.
9638 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
9639 ported from fixinc.ptx.
9640
9641 2003-08-26 Per Bothner <pbothner@apple.com>
9642
9643 * cpplib.h (struct cpp_token): Change type of field line to fileline.
9644 (cpp_error_with_line): Use fileline for appropriate parameter.
9645 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
9646 (struct cpp_reader): Likewise for fields line and directive_line.
9647 (_cpp_begin_message): Use fileline for appropriate parameter.
9648 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
9649 cpp_error): Use fileline for appropriate parameters and variables.
9650 (print_location): New local lin, since it is not a fileline.
9651
9652 2003-08-26 Roger Sayle <roger@eyesopen.com>
9653
9654 PR middle-end/12002
9655 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
9656 (FLOAT_TYPE_P): Define in terms of these two new macros.
9657 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
9658 for complex floating point types.
9659
9660 2003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
9661
9662 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
9663 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
9664 s390_output_pool_entry.
9665
9666 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
9667
9668 * fixinc/inclhack.def (svr4_preproc_lint_on,
9669 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
9670 fixes, ported from fixinc.svr4.
9671
9672 2003-08-26 Mark Mitchell <mark@codesourcery.com>
9673
9674 * doc/install.texi (Prerequisites): Mention GNU make requirement.
9675
9676 * Makefile.in (AR_FOR_TARGET): Export it.
9677 (AR_CREATE_FOR_TARGET): Likewise.
9678 (AR_FLAGS_FOR_TARGET): Likewise.
9679 (AR_EXTRACT_FOR_TARGET): Likewise.
9680 (AWK): Likewise.
9681 (BUILD_PREFIX): Likewise.
9682 (BUILD_PREFIX_1): Likewise.
9683 (DESTDIR): Likewise.
9684 (GCC_FOR_TARGET): Likewise.
9685 (INCLUDES): Likewise.
9686 (INSTALL_DATA): Likewise.
9687 (LIB1ASMSRC): Likewise.
9688 (LIBGCC2_CFLAGS): Likewise.
9689 (MACHMODE_H): Likewise.
9690 (NM_FOR_TARGET): Likewise.
9691 (RANLIB_FOR_TARGET): Likewise.
9692 (libsubdir): Likewise.
9693 (slibdir): Likewise.
9694 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
9695 exporting.
9696 (libgcc.a): Don't pass them here.
9697 (stmp-multilib): Or here.
9698 (install-libgcc): Or here.
9699 (install-multilib): Or here.
9700 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
9701 (stage1_build): Or here.
9702
9703 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
9704
9705 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
9706 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
9707
9708 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
9709
9710 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
9711 "*fmaddsf", "*fmsubsf"): New insns.
9712
9713 2003-08-26 Roger Sayle <roger@eyesopen.com>
9714
9715 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
9716 (C1*C2)/X when unsafe math optimizations are allowed.
9717 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
9718 math optimizations. Minor code clean-ups. Recursively call
9719 fold when constructing sub-expressions.
9720
9721 2003-08-26 Roger Sayle <roger@eyesopen.com>
9722
9723 * builtins.c (fold_builtin_bitop): New function to perform constant
9724 folding of ffs, clz, ctz, popcount and parity builtin functions
9725 and their long and long long variants (such as ffsl and ffsll).
9726 (fold_builtin): fold_builtin_bitop when appropriate.
9727 * simplify-rtx.c (simplify_unary_operation): Honor both
9728 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
9729 evaluating clz and ctz at compile-time, for operands wider
9730 than HOST_WIDE_INT.
9731
9732 2003-08-26 Nathan Sidwell <nathan@codesourcery.com>
9733
9734 * builtins.c (build_function_call_expr): Don't set
9735 TREE_SIDE_EFFECTS here.
9736 * expr.c (emit_block_move_via_libcall): Likewise.
9737 (clear_storage_via_libcall): Likewise.
9738 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
9739 CALL_EXPRs.
9740
9741 * gcse.c (is_too_expensive): New function.
9742 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
9743
9744 2003-08-25 Zack Weinberg <zack@codesourcery.com>
9745
9746 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
9747 commented-out logic to use DCE threads (if present), add
9748 support for POSIX threads.
9749 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
9750 #defines for -pthread. Add -lpthread to LIB_SPEC when
9751 -pthread. In both cases take -mt as a synonym for -pthread
9752 for acc compatibility.
9753 Define GTHREAD_USE_WEAK to 0.
9754 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
9755 Remove old logic for DCE threads from LIB_SPEC.
9756 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
9757
9758 2003-08-25 Roger Sayle <roger@eyesopen.com>
9759
9760 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
9761 return 0 for invalid argument types. Instead drop through to a
9762 call of expand_call at the bottom of function. If op is SQRT,
9763 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
9764
9765 2003-08-25 Richard Henderson <rth@redhat.com>
9766
9767 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
9768 result when op0 is SImode.
9769
9770 2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
9771
9772 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
9773 from fixinc.svr4.
9774 * fixinc/fixincl.x: Regenerate.
9775 * fixinc/tests/base/sys/signal.h: Regenerate.
9776
9777 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9778
9779 * combine.c (simplify_comparison): Re-enable widening of comparisons
9780 with non-paradoxical subregs of non-REG expressions.
9781
9782 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9783
9784 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
9785
9786 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9787
9788 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
9789
9790 2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9791
9792 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
9793 * c-pretty-print.h (c_pretty_printer): Now typedef to the
9794 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
9795 (struct c_pretty_print_info): Document. Add new fields.
9796 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
9797 (pp_direct_abstract_declarator): New macro.
9798 (pp_ptr_operator): Likewise.
9799 (pp_simple_type_specifier): Likewise.
9800 (pp_expression): Likewise.
9801 (pp_parameter_list): Rename from pp_parameter_declaration.
9802 * c-pretty-print.c (pp_c_whitespace): Now a function.
9803 (pp_c_left_paren): Likewise.
9804 (pp_c_right_paren): Likewise.
9805 (pp_c_dot): Likewise.
9806 (pp_c_ampersand): Likewise.
9807 (pp_c_arrow): Likewise.
9808 (pp_c_semicolon): Likewise.
9809 (pp_c_type_cast): New function.
9810 (pp_c_space_for_pointer_operator): Likewise.
9811 (pp_c_call_argument_list): Likewise.
9812 (pp_c_cv_qualifier): Adjust prototype.
9813 (pp_c_type_qualifier_list): Likewise.
9814 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
9815 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
9816 Adjust to follow standard grammar.
9817 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
9818 REFERENCE_TYPE. Tidy.
9819 (pp_c_parameter_type_list): Adjust prototype. Tidy.
9820 (pp_c_parameter_declaration): Remove.
9821 (pp_c_abstract_declarator): Adjust prototype.
9822 (pp_c_direct_abstract_declarator): Likewise.
9823 (pp_c_type_id): Likewise.
9824 (pp_c_storage_class_specifier): Likewise.
9825 (pp_c_function_specifier): Likewise.
9826 (pp_c_declaration_specifiers): Likewise.
9827 (pp_c_direct_declarator): Likewise.
9828 (pp_c_declarator): Likewise.
9829 (pp_c_declarator): Likewise.
9830 (pp_c_declaration): Likewise.
9831 (pp_c_attributes): Likewise. Tidy.
9832 (pp_c_function_definition): Adjust prototype.
9833 (pp_c_char): Likewise.
9834 (pp_c_string_literal): Likewise.
9835 (pp_c_integer_constant): Likewise.
9836 (pp_c_character_constant): Likewise.
9837 (pp_c_bool_constant): Likewise.
9838 (pp_c_enumeration_constant): Likewise.
9839 (pp_c_floating_constant): Likewise.
9840 (pp_c_constant): Likewise.
9841 (pp_c_identifier): Likewise.
9842 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
9843 (pp_c_initializer): Adjust prototype.
9844 (pp_c_init_declarator): Likewise.
9845 (pp_c_initializer_list): Likewise.
9846 (pp_c_id_expression): Likewise.
9847 (pp_c_postfix_expression): Likewise.
9848 (pp_c_expression_list): Likewise.
9849 (pp_c_unary_expression): Likewise.
9850 (pp_c_cast_expression): Likewise.
9851 (pp_c_multiplicative_expression): Likewise.
9852 (pp_c_additive_expression): Likewise.
9853 (pp_c_shift_expression): Likewise.
9854 (pp_c_relational_expression): Likewise.
9855 (pp_c_equality_expression): Likewise.
9856 (pp_c_and_expression): Likewise.
9857 (pp_c_exclusive_or_expression): Likewise.
9858 (pp_c_inclusive_or_expression): Likewise.
9859 (pp_c_logical_and_expression): Likewise.
9860 (pp_c_logical_or_expression): Likewise.
9861 (pp_c_conditional_expression): Likewise.
9862 (pp_c_assignment_expression): Likewise.
9863 (pp_c_expression): Likewise. Tidy.
9864 (pp_c_statement): Likewise. Document.
9865 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
9866
9867 * c-lang.c (c_initialize_diagnostics): Update.
9868 * c-common.h (strip_pointer_operator): Declare.
9869 * c-common.c (strip_pointer_operator): Define.
9870
9871 2003-08-25 Mark Mitchell <mark@codesourcery.com>
9872
9873 PR c++/8795
9874 * tree.h (build_method_type_directly): Declare.
9875 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
9876 (vector_size_helper): Likewise.
9877 * tree.c (build_method_type_directly): New function.
9878 (build_method_type): Use it.
9879
9880 2003-08-24 Richard Henderson <rth@redhat.com>
9881
9882 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
9883 for 16-byte vector modes if sse not enabled; warn for abi change.
9884 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
9885
9886 2003-08-24 Kazu Hirata <kazu@cs.umass.edu>
9887
9888 * rtlanal.c (may_trap_p): Simplify an integer comparison.
9889
9890 2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
9891
9892 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
9893 comment. Enable for DYNIX/ptx systems (when they switch to
9894 regular fixincludes).
9895 * fixinc/fixincl.x: Regenerate.
9896
9897 2003-08-23 Jason Eckhardt <jle@rice.edu>
9898
9899 * config/i860/t-i860: New.
9900 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
9901
9902 2003-08-23 Jakub Jelinek <jakub@redhat.com>
9903
9904 * c-decl.c (pushdecl): Only put decls which finish_struct will do
9905 something about onto incomplete chain.
9906 (finish_struct): If not removing type from incomplete
9907 list, update prev.
9908
9909 2003-08-20 Jan Hubicka <jh@suse.cz>
9910
9911 PR target/11369
9912 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
9913
9914 PR target/11031
9915 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
9916 const_0_to_15_operand, const_0_to_255_operand): New predicates.
9917 * i386.h (PREDICATE_CODES): Add these.
9918 * i386.c (pinsrw and pextrw patterns): Use them.
9919
9920 PR target/10984
9921 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
9922
9923 PR target/8869
9924 * expr.c (convert_modes): Deal properly with integer to vector
9925 constant conversion.
9926
9927 PR target/8871
9928 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
9929
9930 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
9931
9932 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
9933 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
9934 ("*movhi"): ... this.
9935 ("movqi", "*movqi"): Likewise.
9936 ("movqi_64"): Remove.
9937 ("*zero_extendhisi2_31"): Change predicate to s_operand.
9938
9939 2003-08-23 Dale Johannesen <dalej@apple.com>
9940 * calls.c (emit_library_call_value_1): Fix obvious errors in
9941 arguments to emit_group_store.
9942
9943 2003-08-23 Jason Eckhardt <jle@rice.edu>
9944
9945 * calls.c (emit_library_call_value_1): Remove code related
9946 to LIBGCC_NEEDS_DOUBLE.
9947 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
9948 * doc/tm.texi: Likewise.
9949 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
9950
9951 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
9952
9953 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
9954
9955 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
9956
9957 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
9958 as well. Put memory references in the varargs alias set.
9959 (mips_expand_prologue): Remove varargs handling from here.
9960
9961 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
9962
9963 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
9964 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
9965 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
9966 for function pointer calls.
9967 * config/s390/s390.md ("*negdi2_31"): Likewise.
9968
9969 2003-08-23 Roger Sayle <roger@eyesopen.com>
9970
9971 * combine.c (apply_distributive_law): Correct comment.
9972
9973 2003-08-23 Jason Eckhardt <jle@rice.edu>
9974
9975 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
9976
9977 2003-08-22 Jason Eckhardt <jle@rice.edu>
9978
9979 * config/i860/i860.c (i860_build_va_list): Create the va_decl
9980 declaration. Document the va_list structure.
9981 (i860_va_start): Initialize the va_list structure.
9982 (i860_va_arg): Rewrite completely.
9983 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
9984 * config/i860/varargs.asm: Do not allocate or initialize
9985 a va_list. Return the address of the register save area.
9986
9987 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9988
9989 * config/iq2000/iq2000.c: Fix comment typos.
9990 * config/iq2000/iq2000.md: Likewise.
9991
9992 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9993
9994 * config/iq2000/iq2000.c: Follow spelling conventions.
9995 * config/iq2000/iq2000.h: Likewise.
9996 * config/mn10300/mn10300.c: Likewise.
9997
9998 2003-08-22 Jason Eckhardt <jle@rice.edu>
9999
10000 * config/i860/i860.c (output_move_double): Don't set latehalf
10001 to zero for CONST_INT (since it could be, e.g., -1).
10002
10003 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
10004 (MODSI3_LIBCALL): ...with this one.
10005 (UREMSI3_LIBCALL): Replace this macro...
10006 (UMODSI3_LIBCALL): ...with this one.
10007
10008 2003-08-22 Jason Eckhardt <jle@rice.edu>
10009
10010 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
10011 (output_delayed_branch): Remove prototype.
10012 (single_insn_src_p): Remove prototype.
10013 * config/i860/i860.c (single_insn_src_p): Remove function.
10014 (output_delayed_branch): Remove function.
10015 (output_delay_insn): Remove function.
10016 (va_start): Remove unconditional test and dead code, re-format.
10017 Fix coding style and spelling problems in various comments.
10018 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
10019 (blockage pattern): ...and use it here.
10020 (all define_peephole patterns related to delayed branches): Remove.
10021 Fix coding style and spelling problems in various comments.
10022
10023 2003-08-22 Jason Eckhardt <jle@rice.edu>
10024
10025 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
10026 Remove all uses of the PARAMS macro. Remove superflous prototypes.
10027 Convert all function definitions from traditional to ISO C90 syntax.
10028 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
10029 with 'GCC'. Remove all uses of the PARAMS macro.
10030 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
10031 * config/i860/i860.md: Likewise.
10032 * config/i860/sysv4.h: Likewise.
10033 * config/i860/varargs.asm: Likewise.
10034
10035 2003-08-22 Jason Eckhardt <jle@rice.edu>
10036
10037 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
10038 argument.
10039 (tdesc_section): Add prototype.
10040 Update copyright dates.
10041 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
10042 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
10043 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
10044 (targetm): Likewise.
10045 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
10046 for '%d' where necessary.
10047 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
10048 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
10049 by UNITS_PER_WORD when referencing (likewise for .floats).
10050 (I860_SVR4_VARARGS): Rename...
10051 (I860_SVR4_VA_LIST): ...to this.
10052 Call build() with 't' rather than 'field'.
10053 (i860_rtx_costs): New function.
10054 (TARGET_RTX_COSTS): Define.
10055 (i860_internal_label): New function.
10056 (TARGET_ASM_INTERNAL_LABEL): Define.
10057 (i860_file_start): New function.
10058 Update copyright dates.
10059 * config/i860/i860.h (CPP_PREDEFINES): Remove.
10060 (TARGET_CPU_CPP_BUILTINS): Define.
10061 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
10062 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
10063 (ASM_FILE_START): Remove.
10064 (ASM_FILE_START_1): Remove.
10065 (ASM_GLOBALIZE_LABEL): Remove.
10066 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
10067 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
10068 with targetm.asm_out.internal_label.
10069 Update copyright dates.
10070 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
10071 (CPP_PREDEFINES): Remove.
10072 (TARGET_OS_CPP_BUILTINS): Define.
10073 (GLOBAL_ASM_OP): Define.
10074 (ASM_FILE_START): Remove.
10075 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
10076 (TARGET_ASM_FILE_START): Define.
10077 Update copyright dates.
10078
10079 2003-08-22 Jason Eckhardt <jle@rice.edu>
10080
10081 * gcc/config.gcc (i860-*-sysv4*): Add target.
10082 * config/i860/i860-protos.h: New.
10083 * config/i860/i860.c: New.
10084 * config/i860/i860.h: New.
10085 * config/i860/i860.md: New.
10086 * config/i860/sysv4.h: New.
10087 * config/i860/varargs.asm: New.
10088 * config/i860/x-sysv4: New.
10089
10090 2003-08-22 Jason Eckhardt <jle@rice.edu>
10091
10092 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
10093 Remove all uses of PARAMS macro.
10094 Convert all function definitions to ISO C90 syntax.
10095 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
10096 * config/pa/fptr.c: Likewise.
10097 * config/pa/lib2funcs.asm: Likewise.
10098 * config/pa/long_double.h: Likewise.
10099 * config/pa/milli64.S: Likewise.
10100 * config/pa/pa-64.h: Likewise.
10101 * config/pa/pa-hpux.h: Likewise.
10102 * config/pa/pa-hpux10.h: Likewise.
10103 * config/pa/pa-hpux11.h: Likewise.
10104 * config/pa/pa-linux.h: Likewise.
10105 * config/pa/pa-modes.def: Likewise.
10106 * config/pa/pa-osf.h: Likewise.
10107 * config/pa/pa-pro-end.h: Likewise.
10108 * config/pa/pa.md: Likewise.
10109 * config/pa/pa32-linux.h: Likewise.
10110 * config/pa/pa64-linux.h: Likewise.
10111 * config/pa/pa64-hpux.h: Likewise.
10112 * config/pa/pa64-regs.h: Likewise.
10113 * config/pa/quadlib.c: Likewise.
10114 * config/pa/rtems.h: Likewise.
10115 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
10116 all uses of the PARAMS macro.
10117 * config/pa/pa.h: Likewise.
10118 * config/pa/som.h: Likewise.
10119
10120 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
10121 Remove all uses of PARAMS macro.
10122 Convert all function definitions to ISO C90 syntax.
10123 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
10124 Remove all uses of PARAMS macro.
10125 * config/iq2000.h: Remove all uses of PARAMS macro.
10126 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
10127
10128 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
10129
10130 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
10131 * config/s390/s390.c (gen_consttable): Remove.
10132 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
10133 (s390_output_pool_entry): New function.
10134 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
10135 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
10136 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
10137 (UNSPECV_POOL_ENTRY): ... this new constant.
10138 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
10139 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
10140 ("*pool_entry"): ... and replace by this new insn.
10141 ("literal_pool_31"): Do not emit anchor label if pool empty.
10142
10143 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
10144 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
10145 (s390_fixup_clobbered_return_reg): Remove.
10146 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
10147 (s390_return_addr_rtx): Always retrieve return address from save area
10148 slot. Use save_return_addr_p to force slot to be filled.
10149 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
10150
10151 2003-08-22 Chris Demetriou <cgd@broadcom.com>
10152
10153 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
10154 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
10155 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
10156 around SB-1 errata if TARGET_FIX_SB1 is set.
10157 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
10158 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
10159
10160 2003-08-22 Roger Sayle <roger@eyesopen.com>
10161
10162 * hashtable.c (ht_expand): Avoid calculating rehash for the common
10163 case that the first probe hits an empty hash table slot.
10164
10165 2003-08-22 Mark Mitchell <mark@codesourcery.com>
10166
10167 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
10168
10169 2003-08-22 Mark Mitchell <mark@codesourcery.com>
10170
10171 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
10172 (ptr_extend_plus_imm): ... this.
10173 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
10174 optimization in C++.
10175 (ia64_output_mi_thunk): Support ILP32 mode.
10176
10177 2003-08-22 Bernardo Innocenti <bernie@develer.com>
10178
10179 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
10180 function.
10181 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
10182
10183 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
10184
10185 * config/i386/i386.c (const_int_1_operand): Simplify an
10186 integer comparison.
10187
10188 2003-08-22 Alan Modra <amodra@bigpond.net.au>
10189
10190 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
10191 * config/rs6000/ppc64-fp.c: Likewise.
10192
10193 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
10194
10195 * cfgcleanup.c: Fix comment typos.
10196 * emit-rtl.c: Likewise.
10197 * optabs.c: Likewise.
10198 * ra-build.c: Likewise.
10199 * rtlanal.c: Likewise.
10200 * tree.h: Likewise.
10201
10202 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
10203
10204 * c-decl.c: Fix comment formatting.
10205 * cfgrtl.c: Likewise.
10206 * combine.c: Likewise.
10207 * convert.c: Likewise.
10208 * dominance.c: Likewise.
10209 * dwarf2out.c: Likewise.
10210 * dwarfout.c: Likewise.
10211 * expmed.c: Likewise.
10212 * fold-const.c: Likewise.
10213 * gcov.c: Likewise.
10214 * genattrtab.c: Likewise.
10215 * ggc-common.c: Likewise.
10216 * mips-tfile.c: Likewise.
10217 * regmove.c: Likewise.
10218
10219 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
10220
10221 * builtin-attrs.def: Fix comment formatting.
10222 * c-pretty-print.c: Likewise.
10223 * diagnostic.h: Likewise.
10224 * langhooks.h: Likewise.
10225 * recog.c: Likewise.
10226 * simplify-rtx.c: Likewise.
10227 * tree.def: Likewise.
10228
10229 2003-08-22 Bernardo Innocenti <bernie@develer.com>
10230
10231 * config/m68k/m68k-protos.h: Convert to ISO C90.
10232 * config/m68k/m68k.c: Likewise.
10233
10234 2003-08-21 Bernardo Innocenti <bernie@develer.com>
10235 Paul Dale <pauli@snapgear.com>
10236 Peter Barada <peter@baradas.org>
10237
10238 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
10239 ColdFire cores.
10240
10241 2003-08-21 Zack Weinberg <zack@codesourcery.com>
10242
10243 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
10244 * config.gcc (*-*-openbsd): Don't set tm_file.
10245 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
10246 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
10247 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
10248 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
10249 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
10250 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
10251 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
10252 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
10253 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
10254 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
10255 xscale-*-coff): Use explicit and complete lists of target headers
10256 to include. Move definitions to tm_defines where appropriate.
10257 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
10258 not-yet-contributed configuration.
10259
10260 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
10261 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
10262 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
10263 * config/i386/nto.h, config/iq2000/iq2000.h,
10264 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
10265 * config/m68k/linux.h, config/m68k/m68k-aout.h
10266 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
10267 * config/m68k/netbsd.h, config/m68k/openbsd.h
10268 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
10269 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
10270 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
10271 Remove includes of other target config headers, and
10272 definitions of macros moved to tm_defines lists. Add #undefs
10273 where now necessary to prevent redefinition warnings.
10274
10275 * config/h8300/coff.h: New file split out of...
10276 * config/h8300/elf.h: ...here.
10277 * config/m68k/hp320base.h: New file split out of...
10278 * config/m68k/hp320.h: ...here.
10279 * config/rs6000/lynxbase.h: New file split out of...
10280 * config/rs6000/lynx.h: ...here.
10281
10282 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
10283 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
10284
10285 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
10286 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
10287 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
10288 Remove unnecessary #ifndef.
10289 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
10290 [under IN_LIBGCC2] with config/.
10291
10292 2003-08-21 Per Bothner <pbothner@apple.com>
10293
10294 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
10295 to cpp_push_buffer.
10296 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
10297 by return_at_eof check. Always call _cpp_pop_buffer at end.
10298
10299 2003-08-21 Kazu Hirata <kazu@cs.umass.edu>
10300
10301 PR target/11805
10302 * config/h8300/h8300.md (two anonymous patterns): Remove.
10303
10304 2003-08-21 Richard Sandiford <rsandifo@redhat.com>
10305
10306 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
10307 * config/mips/mips.c (function_arg_pass_by_reference): Never return
10308 true for n32 & n64.
10309
10310 2003-08-21 Josef Zlomek <zlomekj@suse.cz>
10311
10312 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
10313 and similarly in (A | C) == D where C & ~D != 0.
10314
10315 2003-08-20 Geoffrey Keating <geoffk@apple.com>
10316
10317 PR 8180
10318 * configure.in: When testing with_libs and with_headers, treat
10319 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
10320 * configure: Regenerate.
10321
10322 2003-08-20 Peter Barada <peter@baradas.org>
10323
10324 * longlong.h (umul_ppmm): Add ColdFire support.
10325
10326 2003-08-20 Peter Barada <peter@baradas.org>
10327 Bernardo Innocenti <bernie@develer.com>
10328
10329 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
10330 * config/m68k/m68k.h: Likewise.
10331 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
10332 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
10333 * config/m68k/linux.h: Likewise.
10334 * config/m68k/m68k.c: Likewise.
10335 * config/m68k/m68k.md: Likewise.
10336 * config/m68k/m68kelf.h: Likewise.
10337 * config/m68k/netbsd-elf.h: Likewise.
10338 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
10339
10340 2003-08-20 Bernardo Innocenti <bernie@develer.com>
10341
10342 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
10343 * config/m68k/m68k.md: Likewise.
10344
10345 2003-08-20 Mark Mitchell <mark@codesourcery.com>
10346
10347 PR java/11996
10348 Revert this change:
10349 2003-08-19 Mark Mitchell <mark@codesourcery.com>
10350 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10351 types with precisions other than those given by native machine
10352 modes.
10353
10354 2003-08-20 Gunther Nikl <gni@gecko.de>
10355
10356 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
10357 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
10358 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
10359 * config/m68k/m68k.md (anonymous define_insn): Likewise
10360 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
10361 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
10362 code selected by NO_ASM_FMOVECR
10363
10364 2003-08-20 Gunther Nikl <gni@gecko.de>
10365
10366 * config/m68k/m68k.c (output_move_const_into_data_reg,
10367 output_move_himode): unify MOTOROLA/MIT handling of moveq
10368 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
10369 Likewise
10370
10371 2003-08-20 Gunther Nikl <gni@gecko.de>
10372
10373 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
10374 label name
10375 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
10376 HOST_WIDE_INT_PRINT_DEC with %wd
10377
10378 2003-08-20 Loren James Rittle <ljrittle@acm.org>
10379
10380 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
10381 redefine warning.
10382
10383 2003-08-20 Roger Sayle <roger@eyesopen.com>
10384
10385 PR middle-end/11984
10386 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
10387 operands before calling tree_int_cst_lt when performing associative
10388 transformations.
10389
10390 2003-08-20 Jason Merrill <jason@redhat.com>
10391
10392 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
10393 (EXPR_CHECK): Don't check for 'r' or 's' if we're
10394 checking IS_EXPR_CODE_CLASS.
10395 * calls.c (calls_function_1): Likewise.
10396 * fold-const.c (fold): Likewise.
10397 * tree.c (iterative_hash_expr): Likewise.
10398 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
10399
10400 2003-08-20 Gunther Nikl <gni@gecko.de>
10401
10402 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
10403 depending on MOTOROLA_BSR
10404 * config/m68k/m68k.md (anonymous define_insn): Likewise
10405
10406 2003-08-20 Jason Merrill <jason@redhat.com>
10407
10408 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
10409 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
10410 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
10411 * dojump.c (do_jump): Likewise.
10412 * fold-const.c (operand_equal_p, fold): Likewise.
10413 (tree_expr_nonnegative_p): Likewise.
10414
10415 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
10416 TYPE_USER_ALIGN for FIELD_DECLs.
10417
10418 * attribs.c (decl_attributes): Rebuild the function pointer type after
10419 changing the target type.
10420 * tree.c (get_qualified_type): Also check that the attributes match.
10421
10422 2003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
10423
10424 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
10425 * objc/config-lang.in (stagestuff): ... to here.
10426
10427 2003-08-19 Mark Mitchell <mark@codesourcery.com>
10428
10429 PR c++/11946
10430 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
10431 NOP_EXPR) when necessary.
10432 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10433 types with precisions other than those given by native machine
10434 modes.
10435
10436 2003-08-19 Geoffrey Keating <geoffk@apple.com>
10437
10438 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
10439 because some macro is defined.
10440
10441 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
10442 options.
10443 * config/i386/darwin.h (ASM_SPEC): New.
10444 (SUBTARGET_EXTRA_SPECS): New.
10445 * config/rs6000/darwin.h (ASM_SPEC): New.
10446 (SUBTARGET_EXTRA_SPECS): New.
10447 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
10448 a cross-compiler between two different processors on Darwin.
10449 * configure: Regenerate.
10450
10451 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
10452
10453 * builtins.c: Fix comment typos.
10454 * c-common.c: Likewise.
10455 * c-decl.c: Likewise.
10456 * c-pretty-print.c: Likewise.
10457 * cfgbuild.c: Likewise.
10458 * cfglayout.c: Likewise.
10459 * cfgloopanal.c: Likewise.
10460 * cgraphunit.c: Likewise.
10461 * cppfiles.c: Likewise.
10462 * dwarfout.c: Likewise.
10463 * expr.c: Likewise.
10464 * fold-const.c: Likewise.
10465 * gcse.c: Likewise.
10466 * ggc-page.c: Likewise.
10467 * haifa-sched.c: Likewise.
10468 * pretty-print.c: Likewise.
10469 * tree.c: Likewise.
10470 * tree.h: Likewise.
10471 * value-prof.c: Likewise.
10472
10473 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
10474
10475 * c-decl.c: Follow spelling conventions.
10476 * cppfiles.c: Likewise.
10477
10478 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
10479
10480 * c-common.c: Fix comment formatting.
10481 * c-common.h: Likewise.
10482 * c-decl.c: Likewise.
10483 * cppinit.c: Likewise.
10484 * cpplib.h: Likewise.
10485 * emit-rtl.c: Likewise.
10486 * input.h: Likewise.
10487 * line-map.h: Likewise.
10488 * opts.c: Likewise.
10489 * opts.h: Likewise.
10490 * simplify-rtx.c: Likewise.
10491
10492 2003-08-19 Daniel Jacobowitz <drow@mvista.com>
10493
10494 * unwind-c.c: Add libgcc-style exception.
10495 * unwind-dw2.c: Likewise.
10496 * unwind-pe.h: Likewise.
10497 * unwind-sjlj.c: Likewise.
10498 * unwind.inc: Likewise.
10499
10500 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
10501
10502 PR c/5582 PR c++/10538
10503 * langhooks-def.h (lhd_decl_uninit): Declare.
10504 (LANG_HOOKS_DECL_UNINIT): New macro.
10505 (LANG_HOOKS_INITIALIZER): Adjust.
10506 * langhooks.h (struct lang_hooks): Add new field
10507 decl_uninit.
10508 * langhooks.c (lhd_decl_uninit): Define.
10509 * c-common.c (c_decl_uninit_1): New function.
10510 (c_decl_uninit): New function.
10511 (warn_init_self): Define.
10512 * c-common.h (c_decl_uninit): Declare.
10513 (warn_init_self): Declare.
10514 * c.opt: Introduce -Winit-self.
10515 * c-opts.c (c_common_handle_options): Set warn_init_self.
10516 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
10517 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
10518 * function.c (uninitialized_vars_warning): Call the language hook.
10519 * doc/invoke.texi: Document -Winit-self.
10520
10521 2003-08-19 Chris Demetriou <cgd@broadcom.com>
10522
10523 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
10524 to use better predicates and constraints. Define new
10525 instruction to handle "trap_if" with DI-mode arguments.
10526 (conditional_trap): FAIL if trap code is not 0.
10527
10528 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
10529
10530 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
10531 strstr with $pb to a strcompare with "<pic base>"
10532 (ix86_output_addr_diff_elt): Output the real pic base.
10533
10534 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
10535
10536 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
10537 (LANG_HOOKS_INITIALIZER): Correct.
10538 * c-lang.c: Likewise.
10539
10540 2003-08-19 Jan Hubicka <jh@suse.cz>
10541
10542 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
10543 (cgraph_varpool_mark_needed_node): Likewise.
10544 * cgraph.h (notice_global_symbol): Declare
10545 * varasm.c (notice_global_symbol): Break out from ...
10546 (assemble_start_function): ... here; update for variables.
10547 (assemble_variable): Use notice_global_symbol.
10548
10549 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
10550
10551 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
10552 expect SFmode and DFmode arguments to be passed in FPRs,
10553 regardless of the underlying type.
10554
10555 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
10556
10557 PR target/11924
10558 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
10559 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
10560
10561 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
10562
10563 PR c/11207
10564 * c-typeck.c (set_init_index): Check for negative index.
10565
10566 2003-08-18 Bob Wilson <bob.wilson@acm.org>
10567
10568 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
10569 call0 ABI.
10570 * config/xtensa/crtn.asm (_init, _fini): Likewise.
10571 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
10572 __umodsi3, __modsi3): Likewise.
10573 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
10574 $(INCLUDES).
10575
10576 2003-08-18 Aldy Hernandez <aldyh@redhat.com>
10577
10578 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
10579
10580 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
10581
10582 * config/mips/mips.md: Quote C code in braces. Remove use of
10583 fake const0_rtx operands. Remove double backslashes. Use \;.
10584 Remove workarounds for bogus warnings.
10585
10586 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
10587
10588 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
10589 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
10590 rather than TARGET_MIPS4300.
10591 (mulsf3_internal, mulsf3_r4300): Likewise.
10592
10593 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
10594
10595 * config/mips/mips.md: Renumber unspecs. Clean up comments.
10596
10597 2003-08-17 Roger Sayle <roger@eyesopen.com>
10598
10599 * simplify-rtx.c (associative_constant_p): New function to test
10600 whether an RTX expression is an immediate constant.
10601 (simplify_associative_operation): New function to perform some
10602 reassociation optimizations of associative binary expressions.
10603 (simplify_binary_operation): Use simplify_associative_operation
10604 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
10605 Floating point expressions are only reassociated when unsafe
10606 math optimizations are permitted.
10607
10608 2003-08-17 Andreas Jaeger <aj@suse.de>
10609
10610 * config/alpha/alpha.md: Remove usage of PARAMS.
10611
10612 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
10613 * config/i386/i386-interix.h: Likewise.
10614 * config/i386/winnt.c: Likewise.
10615 * config/i386/cygming.h: Likewise.
10616 * config/i386/cygwin2.c: Likewise.
10617 * config/darwin.c: Likewise.
10618 * config/darwin-c.c: Likewise.
10619 * config/darwin-protos.h: Likewise.
10620 * config/darwin.h: Likewise.
10621 * config/s390/s390-protos.h: Likewise.
10622 * config/s390/s390.c: Likewise.
10623 * config/ia64/ia64.c: Likewse
10624 * config/ia64/ia64-protos.h: Likewise.
10625 * config/ia64/ia64-c.c: Likewise.
10626
10627 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10628
10629 * config/sparc/sparc.c: Convert to ISO C.
10630
10631 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
10632 * config/sparc/sparc.c: Likewise.
10633
10634 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
10635
10636 PR c++/11512
10637 * stmt.c (expand_expr_stmt_value): Don't warn about any void
10638 typed expression.
10639
10640 2003-08-16 Jan Hubicka <jh@suse.cz>
10641
10642 * i386.c (ix86_fntype_regparm): Rename from ...
10643 (ix86_function_regparm): ... this one; add fastcall and local
10644 functions.
10645 (ix86_function_ok_for_sibcall): Update.
10646 (ix86_return_pops_args): Likewise.
10647 (init_cumulative_args): Likewise.
10648 (x86_can_output_mi_thunk): Likewise.
10649 (function_arg): Fix formating.
10650 (x86_this_parameter): Fix fastcall.
10651 (x86_output_mi_thunk): Likewise.
10652
10653 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
10654 body as reachable; mark nested functions as needed too.
10655 (dump_cgraph): Do not output global.calls.
10656 * cgraph.h (cgraph_global_info): Kill.
10657 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
10658 (record_call_1): Speedup.
10659 (cgraph_analyze_function): Break out from ...; compute inlining
10660 parameters.
10661 (cgraph_finalize_compilation_unit): ... here.
10662 (cgraph_mark_inline): Kill computation of calls.
10663 (cgraph_decide_inlining): Do not compute most of initial values.
10664
10665 2003-08-14 Roger Sayle <roger@eyesopen.com>
10666
10667 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
10668 to negate if either operand is easy to negate, if we don't care
10669 about sign-dependent rounding.
10670 (negate_expr): Make the logic to negate a REAL_CST explicit.
10671 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
10672 that's easy to negate, if we don't honor sign-dependent rounding.
10673 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
10674 negate, and the symmetric A * -B as -A * B if A is easy to negate.
10675 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
10676 -C/D if B and C are cheap to negate. Add an explicit rule to
10677 optimize X/-1.0 as -X when we don't care about signaling NaNs.
10678
10679 2003-08-14 Zack Weinberg <zack@codesourcery.com>
10680
10681 * Makefile.in (tm_file): Rename tm_include_list.
10682 (tm_p_file): Rename tm_p_include_list.
10683 (build_xm_file): Rename build_xm_include_list.
10684 (host_xm_file): Rename host_xm_include_list.
10685 (xm_file): Rename xm_include_list.
10686 (xm_file_list): Add to be substituted.
10687 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
10688 Update to match.
10689 (bt-load.o): Add missing dependency on $(TM_H).
10690 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
10691 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
10692 build_xm_file, generate both *_file_list and *_include_list
10693 values from it. (xm_file_list was formerly not being generated.)
10694 In *_include_list, prefix the names of all headers found in
10695 $(srcdir)/config with config/. In each loop, consider only
10696 the special case files that can actually appear in that list.
10697 AC_SUBST all *_file_list and all *_include_list variables; do
10698 not AC_SUBST the plain *_file variables.
10699 * configure: Regenerate.
10700
10701 2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10702
10703 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
10704
10705 2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10706
10707 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
10708 direct calls.
10709 (attr_length_call): Include it here. Improve length estimate for
10710 local calls.
10711 (output_call): Use targetm.binds_local_p.
10712
10713 2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10714
10715 * builtins.c (CASE_MATHFN): New helper macro.
10716 (mathfn_built_in): Simplify and sort.
10717
10718 * protoize.c (substr): Delete, callers changed to `strstr'.
10719
10720 2003-08-13 Zack Weinberg <zack@codesourcery.com>
10721
10722 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
10723 * config/iq2000/xm-iq2000.h: Delete file.
10724
10725 2003-08-13 Geoffrey Keating <geoffk@apple.com>
10726
10727 * gengtype.c (walk_type): Process a subobject before processing
10728 the pointer that points to the subobject.
10729
10730 2003-08-13 Per Bothner <pbothner@apple.com>
10731
10732 * regclass.c (init_reg_modes): Make non-static.
10733 Rename to init_reg_modes_once per new naming convention.
10734 (init_regs): Don't call init_reg_modes here.
10735 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
10736 * rtl.h (init_reg_modes_once): New declaration.
10737 * toplev.c (backend_init): Call init_regs after init_emit_once.
10738
10739 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
10740
10741 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
10742 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
10743
10744 2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
10745
10746 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
10747 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
10748
10749 2003-08-13 Dale Johannesen <dalej@apple.com>
10750
10751 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
10752 handling of decrement-and-branch farther than 32 bits.
10753
10754 2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
10755
10756 * configure.in (make_compare_target): Move test to ...
10757 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
10758 * configure: Regenerate.
10759
10760 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
10761
10762 * config/mips/iris6.h: Convert to C90 prototypes.
10763 * config/mips/irix6-libc-compat.c: Likewise.
10764 * config/mips/mips-protos.h: Likewise.
10765 * config/mips/mips.c: Likewise.
10766
10767 2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
10768
10769 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
10770 for selected machines. Comment heavily.
10771 fixinc/fixincl.x: Rebuild.
10772 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
10773
10774 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
10775
10776 * config/mips/mips.h: Tweak various comments.
10777 * config/mips/mips.c: Likewise.
10778
10779 2003-08-11 James E Wilson <wilson@tuliptree.org>
10780
10781 PR optimization/11319
10782 PR target/10021
10783 * alias.c (find_base_value, case REG): Return 0 not src if no base
10784 found.
10785
10786 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10787
10788 * gcse.c (gmalloc): Fix last change.
10789
10790 2003-08-11 Roger Sayle <roger@eyesopen.com>
10791
10792 * simplify-rtx.c (simplify_binary_operation): Replace calls to
10793 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
10794 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
10795 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
10796
10797 2003-08-11 Roger Sayle <roger@eyesopen.com>
10798
10799 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
10800 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
10801 typecode for an ABS_EXPR.
10802
10803 * doc/c-tree.texi: Document ABS_EXPR.
10804
10805 2003-08-11 Roger Sayle <roger@eyesopen.com>
10806
10807 * fold-const.c (fold): Optimize any associative floating point
10808 operator with -funsafe-math-optimizations, not just MULT_EXPR.
10809
10810 2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
10811
10812 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
10813 information in SHmedia case too.
10814 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
10815 Likewise.
10816 (__set_fpscr): Use an access via GOT for PIC case.
10817
10818 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
10819
10820 * configure.in (intermodule): Make switch test more portable.
10821 * configure: Regenerate.
10822
10823 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
10824
10825 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
10826 (restrap): Likewise.
10827
10828 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10829
10830 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
10831 (grealloc): Size argument is a size_t.
10832 (gcalloc): New function. Use throughout in lieu of
10833 gmalloc/memset.
10834
10835 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
10836 xmalloc/memset.
10837 * config/ia64/ia64.c (ia64_reorg): Likewise.
10838 * conflict.c (conflict_graph_new): Likewise.
10839 * fixinc/fixincl.c (run_compiles): Likewise.
10840 * genattrtab.c (optimize_attrs): Likewise.
10841 * genrecog.c (new_decision): Likewise.
10842 * haifa-sched.c (schedule_block): Likewise.
10843 * hashtable.c (ht_create): Likewise.
10844
10845 2003-08-11 Bob Wilson <bob.wilson@acm.org>
10846
10847 * config/xtensa/lib2funcs.S: Fix whitespace.
10848 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
10849 syntax where appropriate. Remove unnecessary backslash escapes.
10850 Reformat comments and fix some code formatting.
10851 (extendqisi2): Rearrange conditional.
10852 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
10853 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
10854 of fatal_insn.
10855
10856 2003-08-11 Richard Sandiford <rsandifo@redhat.com>
10857
10858 * config/mips/mips.c: Various formatting fixes.
10859 (override_options): Resync -mtune handling with gas.
10860 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
10861 * config/mips/mips.h: More formatting fixes.
10862 (mips_abi): Move declaration.
10863 * config/mips/mips.md (exception_receiver): Add mode to
10864 unspec_volatile.
10865
10866 2003-08-11 Aldy Hernandez <aldyh@redhat.com>
10867
10868 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
10869 evsplatfi here.
10870 (bdesc_1arg): Remove evsplati and evsplatfi.
10871
10872 2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
10873
10874 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
10875 into account.
10876
10877 2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10878
10879 * builtins.c (expand_builtin_strcat): Optimize constant strings.
10880
10881 2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
10882
10883 * pretty-print.c (pp_base_indent): Rename from pp_indent.
10884 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
10885 (struct c_pretty_print_info): Add more fields.
10886 (pp_c_left_paren): Move to c-pretty-print.c.
10887 (pp_c_right_paren): Likewise.
10888 (pp_c_left_brace): Likewise.
10889 (pp_c_right_brace): Likewise.
10890 (pp_c_left_bracket): Likewise.
10891 (pp_c_right_bracket): Likewise.
10892 (pp_c_declarator): Declare.
10893 (pp_c_direct_declarator): Likewise.
10894 (pp_c_specifier_qualifier_list): Likewise.
10895 (pp_c_type_id): Likewise.
10896 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
10897 (pp_c_type_qualifier_list): New.
10898 (pp_c_pointer): Likewise.
10899 (pp_c_parameter_type_list): Likewise.
10900 (pp_c_function_definition): Likewise.
10901 (pp_c_id_expression): Likewise.
10902 (pp_c_simple_type_specifier): Tidy.
10903 (pp_c_unary_expression): Likewise.
10904 (pp_c_expression): Likewise.
10905 (pp_c_pretty_printer_init): Likewise.
10906 (pp_c_specifier_qualifier_list): Rework..
10907 (pp_c_abstract_declarator): Likewise.
10908 (pp_c_postfix_expression): Likewise.
10909 (pp_c_primary_expression): Likewise.
10910 (pp_c_cast_expression): Likewise.
10911 (pp_c_direct_abstract_declarator): Likewise.
10912 (pp_c_storage_class_specifier): Likewise.
10913 (pp_c_function_specifier): Likewise.
10914 (pp_c_declaration_specifiers): Likewise.
10915 (pp_c_direct_declarator): Likewise.
10916 (pp_c_declarator): Likewise.
10917 (pp_c_declaration): Likewise.
10918 (pp_c_statement): Likewise.
10919 (pp_c_integer_constant): Rename from pp_c_integer_literal.
10920 (pp_c_character_constant): Rename from pp_c_character_literal.
10921 (pp_c_bool_constant): Rename from pp_c_bool_literal.
10922 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
10923 (pp_c_floating_constant): Rename from pp_c_real_literal.
10924 (pp_c_constant): Rename from pp_c_literal.
10925 * c-lang.c: Include diagnostic.h and c-pretty-print.h
10926 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
10927 (c_initialize_diagnostics): New.
10928 * Makefile.in (c-lang.o): Update dependency.
10929
10930 2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
10931
10932 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
10933
10934 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
10935
10936 * config/mips/mips.c (mips_no_mips16_string): Remove.
10937 (override_options): Don't handle -mips16 as part of -mipsN.
10938 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
10939 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
10940 (TARGET_OPTIONS): Remove -mno-mips16.
10941
10942 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
10943
10944 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
10945 (coprocessor2_operand): Likewise.
10946 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
10947 (lookup_name): Remove declaration.
10948 (abort_with_insn): Remove. Replace all uses with fatal_insn.
10949 (mips16, mips_abicalls): Remove.
10950 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
10951 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
10952 (coprocessor_operand, coprocessor2_operand): Remove.
10953 (override_options): Don't set mips16 or mips_abicalls.
10954 (print_operand): Don't expect SIGN_EXTEND operands.
10955 (mips_secondary_reload_class): Likewise.
10956 (mips_output_conditional_branch): Remove disabled long-branch code.
10957 * config/mips/mips.h (call_used_regs): Remove declaration.
10958 (may_call_alloca): Likewise.
10959 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
10960 (mips_abicalls, mips16): Remove declarations.
10961 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
10962 (CC1_SPEC): Remove outdated comment.
10963 (MIPS_VERSION, MACHINE_TYPE): Remove.
10964 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
10965 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
10966 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
10967 (PUSH_ROUNDING): Likewise.
10968 (ASSEMBLER_SCRATCH_REGNUM): Remove.
10969 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
10970 and mips16 with TARGET_MIPS16.
10971
10972 2003-08-09 Per Bothner <pbothner@apple.com>
10973
10974 * cppinit.c (cpp_read_main_file): Split out source-independent
10975 initialization to separate function ...
10976 (cpp_post_options): New function.
10977 * cppfiles.c (cpp_stack_file): Rename public name to ...
10978 (_cpp_stack_file): New internal function name.
10979 * cpplib.h: Update accordingly.
10980 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
10981 (cpp_read_main_file): Don't initialize line here.
10982 * c-opts.c (c_common_post_options): Call cpp_post_options.
10983 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
10984 * fix-header.c (read_scan_file): Call cpp_post_options.
10985
10986 2003-08-09 Per Bothner <per@bothner.com>
10987
10988 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
10989
10990 2003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10991
10992 * pa.c (pa_asm_output_mi_thunk): Fix typo.
10993
10994 2003-08-09 Neil Booth <neil@daikokuya.co.uk>
10995
10996 PR preprocessor/11839
10997 * cppfiles.c (open_file): Handle ENOTDIR.
10998
10999 2003-08-09 Richard Sandiford <rsandifo@redhat.com>
11000
11001 PR target/11699
11002 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
11003
11004 2003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11005
11006 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
11007 source/destination is not a register operand.
11008
11009 2003-08-08 Richard Henderson <rth@redhat.com>
11010
11011 PR target/11535
11012 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
11013 RETURN_ADDRESS_POINTER_REGNUM.
11014 (ia64_expand_prologue): Don't frob it.
11015 (ia64_output_function_epilogue): Likewise.
11016 (ia64_return_addr_rtx): New.
11017 (ia64_split_return_addr_rtx): New.
11018 * config/ia64/ia64-protos.h: Update.
11019 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
11020 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
11021 (GENERAL_REGNO_P): Don't check it.
11022 (AR_*_REGNUM): Renumber.
11023 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
11024 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
11025 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
11026 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
11027 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
11028 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
11029 (movdi_ret_addr): New.
11030
11031 2003-08-08 Geoffrey Keating <geoffk@apple.com>
11032
11033 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
11034
11035 2003-08-08 Roger Sayle <roger@eyesopen.com>
11036
11037 * tree.h (get_identifier) Define a macro form of get_identifier
11038 that calls get_identifier_with_length when the string is constant.
11039 (get_identifier_with_length): Change type of second argument to
11040 size_t in prototype.
11041 * stringpool.c (get_identifier): Undefine the macro before giving
11042 the function definition.
11043 (get_identifier_with_length): Change type of second argument to
11044 size_t in function definition.
11045 * hashtable.c (calc_hash): Change type of second argument to size_t.
11046 (ht_lookup): Change type of third argument to size_t. Reorganize
11047 to speed-up the cases where the hash table slot is empty, or the
11048 first probe matches (i.e. there isn't a collision).
11049 * hashtable.h (ht_lookup): Adjust function prototype.
11050
11051 2003-08-08 Bernardo Innocenti <bernie@develer.com>
11052
11053 PR target/9697
11054 PR target/11777
11055 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
11056
11057 2003-08-08 Neil Booth <neil@daikokuya.co.uk>
11058
11059 * common.opt: Add debug switches.
11060 * flags.h (use_gnu_debug_info_extensions): Boolify.
11061 * opts.c (write_symbols, debug_info_level,
11062 use_gnu_debug_info_extensions): Move from toplev.c.
11063 (set_debug_level): New.
11064 (common_handle_options): Handle debug switches.
11065 (print_help): Display target options directly.
11066 * toplev.c (debug_hooks): Don't initialize.
11067 (write_symbols, debug_info_level,
11068 use_gnu_debug_info_extensions): Move to opts.c.
11069 (debug_args, display_help, decode_g_option): Remove.
11070 (process_options): Set no debug if level zero here,
11071 and no-debug-hooks. Error here if impossible debug format selected.
11072 * toplev.h (display_help, decode_g_option): Remove.
11073
11074 2003-08-08 Richard Sandiford <rsandifo@redhat.com>
11075
11076 * tree.c (get_file_function_name_long): Fix size of alloca() area.
11077
11078 2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
11079
11080 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
11081 and gcc_cv_prog_cmp_skip.
11082 * configure: Regenerate.
11083
11084 2003-08-08 Stan Cox <scox@redhat.com>
11085
11086 * config/iq2000: New port.
11087 * config.gcc (iq2000-*-elf): Added.
11088 * doc/install.texi (Specific): Add iq2000 description.
11089
11090 2003-08-08 Andreas Schwab <schwab@suse.de>
11091
11092 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
11093 and insert missing empty argument.
11094 * configure: Regenerate.
11095
11096 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11097
11098 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
11099 (attr_length_millicode_call): Likewise.
11100 (attr_length_call): Likewise. Revise some maximum insn lengths.
11101 (attr_length_indirect_call): Likewise.
11102 (output_call): Fix thinko that added extra nop.
11103 * pa.h (IN_NAMED_SECTION_P): Define.
11104
11105 PR c++/11712
11106 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
11107 __STDC_EXT__ when using C++ dialect.
11108
11109 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
11110
11111 * sh.c (calc_live_regs): If the return address pointer is live,
11112 force pr live.
11113 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
11114 for saves / restores.
11115 (sh_expand_epilogue): If sh_media_register_for_return returns a
11116 register number, flag the instructions that restores PR_MEDIA_REG
11117 as possibly dead.
11118 Remove dead update of offset.
11119 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
11120 we can use the result of get_hard_reg_initial_val.
11121 * sh.md (UNSPEC_RA): New constant.
11122 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
11123 (load_ra). Handle UNSPEC_RA.
11124 (sibcall_media): Use PR_MEDIA_REG.
11125
11126 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
11127 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
11128 needs saving on SHmedia.
11129
11130 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
11131
11132 * config/s390/s390.md: Replace all occurrences of \\t with \t.
11133
11134 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
11135
11136 * local-alloc.c (combine_regs): Fix comment typo.
11137
11138 2003-08-06 Zack Weinberg <zack@codesourcery.com>
11139
11140 * c-decl.c (builtin_decls): Replace with first_builtin_decl
11141 and last_builtin_decl.
11142 (c_init_decl_processing): Initialize both.
11143 (c_reset_state): Iterate from first_builtin_decl to
11144 last_builtin_decl inclusive to reintroduce builtins.
11145
11146 2003-08-06 David Mosberger <davidm@hpl.hp.com>
11147
11148 * doc/extend.texi (Function Attributes): Document the IA-64 version
11149 of the "model" attribute.
11150
11151 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
11152 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
11153 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
11154
11155 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
11156 (ia64_encode_section_info): Likewise.
11157 (ia64_attribute_table): Add "model" attribute.
11158 (TARGET_ENCODE_SECTION_INFO): Define.
11159 (small_addr_symbolic_operand): New function.
11160 (got_symbolic_operand): Return 0 for a symbolref to an object
11161 in the small address area.
11162 (enum ia64_addr_area): New type.
11163 (small_ident1): New variable.
11164 (small_ident2): Likewise.
11165 (init_idents): New function.
11166 (ia64_get_addr_area): Likewise.
11167 (ia64_encode_addr_area): Likewise.
11168 (ia64_encode_section_info): Likewise.
11169 (ia64_expand_load_address): For symbolic references to objects in
11170 the small-address-area, load the address via gen_rtx_SET() (which,
11171 eventually, will expand into "addl").
11172
11173 2003-08-06 Per Bothner <pbothner@apple.com>
11174
11175 * line-map.h (fileline): New typedef.
11176 (struct line_map, linemap_add, linemap_lookup): Use it.
11177 * input.h (struct location_s): Comment notes that long-term we want
11178 to replace it by fileline.
11179
11180 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
11181
11182 Fix SHcompact exception handling:
11183 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
11184 by the prologue, return a MEM with return_address_pointer_rtx
11185 as address.
11186 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
11187 (RETURN_ADDR_OFFSET): Don't define.
11188 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
11189 registers that are visible in compact mode. Show that SHmedia
11190 registers still exist in compact mode, even if there are not
11191 readily accessible.
11192 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
11193 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
11194 and DW_EH_PE_pcrel for pic data.
11195 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
11196 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
11197 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
11198 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
11199 * sh.md (movsi_media-1): New splitter.
11200
11201 2003-08-06 Graeme Peterson <gp@qnx.com>
11202
11203 * config/i386/nto.h: New.
11204 * config/i386/t-nto: New.
11205 * config.gcc (i[34567]86-*-nto-qnx*): New.
11206
11207 2003-08-06 Phil Edwards <pme@gcc.gnu.org>
11208
11209 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
11210
11211 2003-08-06 Alan Modra <amodra@bigpond.net.au>
11212
11213 * calls.c (load_register_parameters): Arrange for call_fusage to
11214 report the whole register as used when shifting to the msb.
11215
11216 2003-08-05 Roger Sayle <roger@eyesopen.com>
11217
11218 * builtins.c (expand_builtin): When not optimizing, call the library
11219 function for all builtins that have library functions (except alloca).
11220
11221 2003-08-05 Alexandre Oliva <aoliva@redhat.com>
11222
11223 * c.opt: Introduce -fworking-directory.
11224 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
11225 * c-common.h (flag_working_directory): Declare.
11226 * c-common.c (flag_working_directory): Define.
11227 * c-opts.c (c_common_handle_options): Set it.
11228 (sanitize_cpp_opts): Set...
11229 * cpplib.h (struct cpp_options): ... working_directory option.
11230 (struct cpp_callbacks): Add dir_change.
11231 * cppinit.c (read_original_filename): Call...
11232 (read_original_directory): New. Look for # 1 "directory//"
11233 and process it.
11234 (cpp_read_main_file): Call dir_change callback if working_directory
11235 option is set.
11236 * gcc.c (cpp_unique_options): Pass -g*.
11237 * c-lex.c (cb_dir_change): New.
11238 (init_c_lex): Set dir_change callback.
11239 * toplev.c (src_pwd): New static variable.
11240 (set_src_pwd, get_src_pwd): New functions.
11241 * toplev.h (get_src_pwd, set_src_pwd): Declare.
11242 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
11243 * dwarf2out.c (gen_compile_unit_die): Likewise.
11244 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
11245
11246 2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
11247
11248 * pretty-print.h (pp_set_line_maximum_length): Make macro.
11249 (pp_set_prefix): Likewise.
11250 (pp_destroy_prefix): Likewise.
11251 (pp_remaining_character_count_for_line): Likewise.
11252 (pp_clear_output_area): Likewise.
11253 (pp_formatted_text): Likewise.
11254 (pp_last_position_in_text): Likewise.
11255 (pp_emit_prefix): Likewise.
11256 (pp_append_text): Likewise.
11257 (pp_flush): Likewise.
11258 (pp_format_text): Likewise.
11259 (pp_format_verbatim): Likewise.
11260 (pp_tree_identifier): Tidy.
11261 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
11262 (pp_base_format_verbatim): Rename from pp_format_verbatim.
11263 (pp_base_flush): Rename from pp_flush.
11264 (pp_base_set_line_maximum_length): Rename from
11265 pp_set_line_maximum_length.
11266 (pp_base_clear_output_area): Rename from pp_clear_output_area.
11267 (pp_base_set_prefix): Rename from pp_set_prefix.
11268 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
11269 (pp_base_emit_prefix): Rename from pp_emit_prefix.
11270 (pp_base_append_text): Rename from pp_append_text.
11271 (pp_base_formatted_text): Rename from pp_formatted_text.
11272 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
11273 (pp_base_remaining_character_count_for_line): Rename from
11274 pp_remaining_character_count_for_line.
11275 * diagnostic.h (diagnostic_format_decoder): Tidy.
11276 (diagnostic_flush_buffer): Likewise.
11277 * c-pretty-print.h: (pp_c_string_literal): Declare.
11278 (pp_c_real_literal): Likewise.
11279 (pp_c_integer_literal): Likewise.
11280 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
11281 pp_identifier.
11282 (pp_c_character_literal): Tidy.
11283 (pp_c_string_literal): Make public.
11284 (pp_c_bool_literal): Likewise.
11285 (pp_c_integer_literal): Likewise.
11286 (pp_c_real_literal): Likewise.
11287
11288 * Makefile.in (C_PRETTY_PRINT_H): New variable.
11289 (c-pretty-print.o): Update dependence.
11290
11291 2003-08-05 Chris Demetriou <cgd@broadcom.com>
11292
11293 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
11294 ".set nomacro" state.
11295 (fix_truncsfsi2_macro): Likewise.
11296
11297 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
11298
11299 * tree.h (DID_INLINE_FUNC): Remove macro.
11300 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
11301 add tree check for FUNCTION_DECL.
11302 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
11303 (struct tree_decl): Rename inlined_function_flag to
11304 declared_inline_flag.
11305 * c-common.h (c_lang_decl): Remove.
11306 (DECL_ESTIMATED_INSNS): Remove.
11307 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
11308 (DECL_DECLARED_INLINE_P): Remove.
11309 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
11310 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
11311 (finish_function): Make uninlinable a bool. Fixup call to
11312 tree_inlinable_function_p() and fix some code style issues.
11313 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
11314 * cgraph.c (dump_cgraph): Likewise.
11315 * cgraphunit.c (cgraph_decide_inlining): Likewise
11316 (cgraph_finalize_compilation_unit): Likewise.
11317 Also update call to tree_inlinable_function_p().
11318 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
11319 look at DECL_DECLARED_INLINE and reverse logic.
11320 * print-tree.c (print_node): Likewise.
11321 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
11322 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
11323 prototype.
11324 * tree-inline.c (inlinable_function_p): Split up in this function to
11325 check for basic inlining inhibiting conditions, and new
11326 limits_allow_inlining() function. Warn if inlining is impossible
11327 because the inline candidate calls alloca or uses sjlj exceptions.
11328 (limits_allow_inlining): this new function to check if the inlining
11329 limits are satisfied. Throttle from currfn_max_inline_insns, not from
11330 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
11331 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
11332 Update prototypes.
11333 (tree_inlinable_function_p): Make a bool. Update call to
11334 inlinable_function_p
11335 (expand_call_inline): Use limits_allow_inlining() when not in
11336 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
11337 instead see if the function was declared `inline'.
11338
11339 2003-08-05 Josef Zlomek <zlomekj@suse.cz>
11340
11341 * gcse.c (try_replace_reg): Fix updating of note.
11342
11343 2003-08-04 Roger Sayle <roger@eyesopen.com>
11344
11345 PR middle-end/11771
11346 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
11347 logic in negate_expr, i.e. we don't invert (A-B) for floating
11348 point types unless flag_unsafe_math_optimizations.
11349
11350 2003-08-04 Roger Sayle <roger@eyesopen.com>
11351
11352 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
11353 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
11354 for floating point expressions with -ffast-math.
11355 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
11356 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
11357
11358 2003-08-04 Roger Sayle <roger@eyesopen.com>
11359
11360 * c-common.c (flag_noniso_default_format_attributes): Delete.
11361 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
11362 (c_attrs_initialized): Delete.
11363 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
11364 always call c_init_attributes.
11365 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
11366 set c_attrs_initialized when done.
11367 (c_common_insert_default_attributes): Delete.
11368 * c-common.h (flag_noniso_default_format_attributes): Delete.
11369 (c_coomon_insert_default_attributes): Delete prototype.
11370 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
11371 flag_noniso_default_format_attributes.
11372
11373 * c-decl.c (c_insert_default_attributes): Delete.
11374 * c-tree.h (c_insert_default_attributes): Delete prototype.
11375
11376 * attribs.c (decl_attributes): Don't call insert_default_attributes
11377 langhook. Update function description comment.
11378 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
11379 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
11380 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
11381 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
11382
11383 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
11384 define.
11385
11386 2003-08-04 Richard Sandiford <rsandif@redhat.com>
11387
11388 * config/mips/mips.c (override_options): Disable -G on targets that
11389 have no .section support.
11390 (mips_select_section): Use default_select_section for such targets.
11391
11392 2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
11393
11394 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
11395 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
11396 * fixinc/fixincl.x: Rebuild.
11397 * fixinc/tests/base/regexp.h: New test.
11398
11399 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
11400
11401 * c-ppoutput.c (cb_line_change): Don't skip line changing while
11402 parsing macro arguments in the top-level context.
11403
11404 2003-08-04 Neil Booth <neil@daikokuya.co.uk>
11405
11406 * config.in: Remove HAVE_LSTAT.
11407 * configure, configure.in: Don't test for lstat.
11408
11409 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11410
11411 * opts.c (decode_options): Do language-specific initialization for
11412 the global diagnostic context.
11413 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
11414 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
11415 (LANG_HOOKS_INITIALIZER): Adjust.
11416 * langhooks.h (struct lang_hooks): Add new field
11417 initialize_diagnostics.
11418 * langhooks.c (lhd_initialize_diagnostics): Define.
11419
11420 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
11421
11422 * pretty-print.h: Adjust macro definitions.
11423 * pretty-print.c (pp_newline): Rename to pp_base_newline.
11424 (pp_character): Rename to pp_base_character.
11425 (pp_string): Rename to pp_base_string.
11426 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
11427 (pp_newline): Likewise. Adjust.
11428 (pp_c_char): Adjust.
11429
11430 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11431
11432 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
11433 BUILT_IN_LLABS): Move to miscellaneous section.
11434
11435 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
11436
11437 PR preprocessor/11534
11438 * cppexp.c (parse_defined): Warn only if -pedantic.
11439
11440 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
11441
11442 * cppfiles.c (stack_file): Use file path.
11443
11444 2003-08-02 Roger Sayle <roger@eyesopen.com>
11445
11446 * builtin-types.def (BT_SSIZE): New primitive type.
11447 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
11448 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
11449 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
11450 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
11451 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
11452 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
11453 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
11454 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
11455 few functions that define default attributes using it.
11456 * c-common.c (c_common_insert_default_attributes): Do nothing.
11457
11458 * doc/extend.texi: Document these "new" builtins.
11459
11460 2003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
11461
11462 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
11463 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
11464 when -mieee-fp set and -shared not set.
11465 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
11466
11467 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
11468
11469 * cppfiles.c (struct _cpp_file): Rename once_only_next to
11470 next_file. Remove import and pragma_once, add once_only.
11471 (find_file): Add new file structures to the all_files list.
11472 (should_stack_file): Mark #import-ed files once-only, and
11473 don't stack them if the file has already been stacked.
11474 (_cp_mark_file_once_only): Simplify.
11475 * cpphash.h (struct cpp_reader): Rename once_only_files
11476 to all_files. Rename saw_pragma_once to seen_once_only.
11477 (_cpp_mark_file_once_only): Update prototype.
11478 * cpplib.c (do_pragma_once): Update.
11479
11480 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
11481
11482 * cppfiles.c (ENOTDIR): Remove.
11483 (open_file_in_dir): Rename find_file_in_dir. Handle errors
11484 other than ENOENT here.
11485 (once_only_file_p): Rename should_stack_file.
11486 (find_file, open_file_failed, read_file_guts): Report errors
11487 with full path name.
11488 (read_file): Move pch handling to should_stack_file.
11489 (should_stack_file): Handle PCH and once-only issues, and
11490 reading the file.
11491 (stack_file): Don't do file reads.
11492
11493 2003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11494
11495 * libgcov.c (gcov_exit): Cleanup and fix.
11496 * profile.c (compute_value_histograms): Don't try to read profiles
11497 that are not present.
11498
11499 2003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11500
11501 * builtins.def: Categorize.
11502
11503 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
11504 Mind fp rounding.
11505 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
11506
11507 2003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
11508
11509 * config.gcc: Enable posix threads by default on darwin.
11510
11511 2003-08-01 Jakub Jelinek <jakub@redhat.com>
11512
11513 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
11514 even if nehedges1 is 0.
11515
11516 2003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
11517
11518 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
11519 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
11520 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
11521 and defintions.
11522
11523 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
11524 * fixinc/fixincl.x: Regenerate.
11525 * fixinc/tests/base/math.h: Regenerate to match test_text change.
11526
11527 2003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11528
11529 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
11530
11531 2003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11532
11533 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
11534 for accesses to exc_ptr.
11535
11536 2003-08-01 Geoffrey Keating <geoffk@apple.com>
11537
11538 * doc/sourcebuild.texi (Front End Directory): Don't make references
11539 to libsubdir, it's not part of the interface to frontends.
11540 * doc/install.texi (Configuration): Help users read faster by saying
11541 that GCC's configure options are the standard autoconf ones.
11542 Mention --libdir. Update the default rules for finding the
11543 assembler. Don't use libsubdir since we haven't said what it means.
11544 (Specific): In the Solaris 7 notes, update the place to put the
11545 assembler.
11546 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
11547 * doc/cpp.texi (Search Path): Actually, the search path
11548 depends on libdir, which can relocate with cpp.
11549 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
11550 now a private interface between the Makefile and the driver.
11551
11552 2003-08-01 Richard Henderson <rth@redhat.com>
11553
11554 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
11555
11556 * varasm.c (lookup_constant_def): New function.
11557 * rtl.h (lookup_constant_def): Declare it.
11558 * dwarf2out.c (loc_descriptor_from_tree): Use it.
11559 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
11560
11561 2003-08-01 Zack Weinberg <zack@codesourcery.com>
11562
11563 * c-decl.c (gettags, pushdecl_function_level): Delete.
11564 (last_function_parm_vars): Rename last_function_parm_others.
11565 (current_function_parm_vars): Rename current_function_parm_others.
11566 (struct c_scope): Rewrite comment explaining this data structure.
11567 Add names_last, blocks_last, parms_last fields. Rename
11568 incomplete_list to incomplete.
11569 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
11570 (poplevel): Ignore second argument. No need to nreverse
11571 anything. Restructure such that each list is processed
11572 exactly once. Use 'const location_t *locus' syntactic sugar
11573 variable where useful. Issue unused variable warnings
11574 ourselves, do not rely on function.c.
11575 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
11576 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
11577 (implicitly_declare): decl cannot be error_mark_node.
11578 (undeclared_variable): Manipulate scope structure directly.
11579 (c_make_fname_decl): Likewise.
11580 (getdecls, c_init_decl_processing): Fix comment.
11581 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
11582 for 'last' variable.
11583 (grokparms): No need to nreverse parms list.
11584 (store_parm_decls_newstyle): Set up the parms_last and
11585 names_last fields of the new scope too.
11586 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
11587 on parms to begin with; check this under ENABLE_CHECKING. Set
11588 up parms_last.
11589 (check_for_loop_decls): Refer directly to current_scope->tags.
11590 Use consistent quote style in diagnostics.
11591 (c_write_global_declarations): The names list is not backward.
11592
11593 * c-common.h: Don't prototype gettags.
11594 * c-parse.in: Call poplevel with second argument 0 always.
11595
11596 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11597
11598 * builtins.def: Resort builtins.
11599
11600 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11601
11602 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
11603 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
11604 Prepend "__builtin_" onto NAME with string concatenation. Remove
11605 explicit "__builtin_" from each macro call.
11606
11607 Reformat entire file.
11608
11609 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11610
11611 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
11612 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
11613
11614 2003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
11615
11616 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
11617 CCL1, or CCL2 modes with floating point operations.
11618
11619 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
11620 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
11621 "*subdf3_cconly"): New insns.
11622 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
11623
11624 2003-08-01 Neil Booth <neil@daikokuya.co.uk>
11625
11626 * Makefile.in: Refine dependencies.
11627 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
11628 * c.opt: Update help for -Wimport.
11629 * cppfiles.c: Include hashtab.h. Update comments.
11630 (stack_file): Read the file before updating dependencies.
11631 (once_only_file_p): Be smarter about marking once-only files.
11632 (_cpp_mark_file_once_only): Correct the check for existence on
11633 the list.
11634 (open_file_failed): Use name not path, which is NULL.
11635 * cpphash.h: Don't include hashtab.h.
11636 (struct _cpp_file): Remove.
11637 (struct cpp_reader): Update.
11638 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
11639 * cpplib.h (struct cpp_options): Remove warn_import.
11640 (cpp_simplify_path): Remove.
11641
11642 2003-08-01 Nathan Sidwell <nathan@codesourcery.com>
11643
11644 PR c++/11295
11645 * doc/extend.texi (Statement Expressions): Document C++ semantics.
11646
11647 2003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
11648
11649 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
11650
11651 2003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11652
11653 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
11654 throughout.
11655 * builtins.def: Likewise.
11656
11657 2003-07-31 Jason Merrill <jason@redhat.com>
11658
11659 * Makefile.in (bubblestrap): Don't require a previous full
11660 bootstrap.
11661
11662 * expr.c (mostly_zeros_p): No longer static.
11663 * tree.h: Declare it.
11664 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
11665 unless we need to do substitutions.
11666
11667 2003-07-31 Roger Sayle <roger@eyesopen.com>
11668
11669 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
11670 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
11671 as pow(x,2.0) when the latter will be expanded back into x*x.
11672 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
11673 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
11674 pow can never set errno when used with an integer exponent.
11675 Always use expand_powi when exponent is -1, 0, 1 or 2.
11676 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
11677 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
11678 the pow forms of these expressions.
11679
11680 2003-07-31 Geoffrey Keating <geoffk@apple.com>
11681
11682 * Makefile.in (libexecdir): New.
11683 (libsubdir): Use gcc instead of gcc-lib.
11684 (libexecsubdir): New.
11685 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
11686 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
11687 gcc-lib.
11688 (installdirs): Make libexecsubdir.
11689 (install-common): Put executables in libexecsubdir.
11690 (itoolsdir): Use libexecsubdir.
11691 (itoolsdatadir): New.
11692 (install-mkheaders): Separate data files and executables.
11693 (install-collect2): Put executables in libexecsubdir.
11694 (uninstall): Remove libexecsubdir.
11695 * mkheaders.in: Update for new arrangement of files.
11696 (libexecdir): New.
11697 (libexecsubdir): New.
11698 (itoolsdir): Use libexecsubdir.
11699 (itoolsdatadir): New.
11700 * gcc.c (gcc_libexec_prefix): New.
11701 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
11702 (standard_exec_prefix_1): Use libexec.
11703 (standard_exec_prefix_2): New.
11704 (standard_libexec_prefix): New.
11705 (process_command): Update for new arrangement of files. Compute
11706 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
11707
11708 2003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
11709
11710 * inclhack.def (stdio_va_list): Avoid bogus replacement which
11711 triggers on Interix.
11712 * fixincl.x: Regenerate.
11713
11714 2003-07-31 Jakub Jelinek <jakub@redhat.com>
11715
11716 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
11717 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
11718
11719 2003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11720
11721 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
11722
11723 2003-07-31 Per Bothner <pbothner@apple.com>
11724
11725 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
11726 (add_input_filename): New function.
11727 (handle_options): Call add_input_filename directly instead of
11728 with a lang hook.
11729 * opts.h (in_fnames, num_in_fnames): Moved here.
11730 (add_input_filename): Declare.
11731 * c-decl.c: Need to #include opts.h.
11732 * Makefile.in (c-decl.o): Also depends on opts.h.
11733 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
11734 (c_common_handle_filename): Replaced by add_input_filename.
11735 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
11736 Remove.
11737 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
11738 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
11739 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
11740 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
11741
11742 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11743
11744 * combine.c (try_combine): Set JUMP_LABEL for newly created
11745 unconditional jump.
11746
11747 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11748
11749 * fold-const.c (fold): Fold some comparisons of bit operations.
11750
11751 2003-07-31 Jan Hubicka <jh@suse.cz>
11752
11753 * cgraph.c (create_edge): Fix typo.
11754 * i386.c (pic_symbolic_operand): Reorder tests.
11755
11756 2003-07-31 Nathan Sidwell <nathan@codesourcery.com>
11757
11758 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
11759 more fully.
11760 (Gcov Data Files): Update.
11761
11762 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11763
11764 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
11765 default.
11766
11767 * gthr-posix.c: New file.
11768 * gthr-posix.h: Define _REENTRANT if missing.
11769 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
11770
11771 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
11772 by gthr-posix.o.
11773 * config/alpha/t-osf-pthread: New file.
11774
11775 * fixinc/inclhack.def (alpha_pthread): New fix.
11776 * fixinc/fixincl.x: Regenerate.
11777 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
11778
11779 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
11780 warning.
11781 Fixes PR bootstrap/9330.
11782
11783 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11784
11785 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
11786 without GNU ld.
11787 Update comment.
11788 * configure: Regenerate.
11789
11790 2003-07-31 Vladimir Makarov <vmakarov@redhat.com>
11791
11792 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
11793 setter.
11794
11795 2003-07-30 Roger Sayle <roger@eyesopen.com>
11796
11797 * builtins.def: Alphabetize.
11798
11799 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
11800
11801 * doc/c-tree.texi: Normalize spellings of "lowercase" and
11802 "uppercase".
11803 * doc/cpp.texi: Likewise.
11804 * doc/md.texi: Likewise.
11805 * doc/rtl.texi: Likewise.
11806 * doc/tm.texi: Likewise.
11807
11808 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
11809
11810 * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
11811 (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
11812 of cc1obj.
11813
11814 2003-07-30 Chris Demetriou <cgd@broadcom.com>
11815
11816 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
11817 macros before defining them.
11818
11819 2003-07-31 Ulrich Weigand <uweigand@de.ibm.com>
11820
11821 * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
11822 UNSPECV_BLOCKAGE): New constants.
11823 ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
11824 "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
11825 splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
11826 "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
11827
11828 (all insns and expanders): Write output control string as brace block
11829 where appropriate. Remove \-escapes for doublequote characters.
11830
11831 2003-07-31 Jan Hubicka <jh@suse.cz>
11832
11833 * gcse.c (insert_store): Fix typo in previous patch.
11834
11835 2003-07-30 Neil Booth <neil@daikokuya.co.uk>
11836
11837 * cppfiles.c (stack_file, open_file_failed): Use path for deps.
11838
11839 2003-07-30 Andi Kleen <ak@muc.de>
11840
11841 * loop.c (check_dbra_loop): Allow LTU in the loop condition.
11842
11843 2003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11844
11845 * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
11846 * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
11847 GCOV_N_VALUE_COUNTERS): New.
11848 * profile.c (compute_value_histograms): New static function.
11849 (branch_prob): Read back the value histograms.
11850 * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
11851 * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
11852 * value-prof.c: Add comment on reading the profile.
11853 * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
11854 * doc/invoke.texi (-fprofile-values): Document behavior with
11855 -fbranch-probabilities.
11856
11857 2003-07-30 David Edelsohn <edelsohn@gnu.org>
11858
11859 * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
11860
11861 2003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
11862
11863 * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
11864 symbolically.
11865
11866 2003-07-30 Jan Hubicka <jh@suse.cz>
11867
11868 * gcse.c (insert_store): Ignore fake edges.
11869
11870 * c-common.c (flag_vtable_gc): Kill.
11871 * c-common.g (flag_vtable_gc): Kill.
11872 * c-opts (c_common_handle_option): Kill.
11873 * c.opt (fvtable-gc): Kill.
11874 * final.c (final_scan_insn): Do not call assemble_vtable_entry.
11875 * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11876 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11877
11878 * invoke.texi (-ftable-gc): Kill documentation.
11879
11880 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
11881 just because function body is missing.
11882
11883 * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
11884
11885 2003-07-30 Ranjit Mathew <rmathew@hotmail.com>
11886
11887 * unwind-sjlj.c: Fix typo in file description.
11888
11889 2003-07-30 Alan Modra <amodra@bigpond.net.au>
11890
11891 * calls.c (load_register_parameters): When shifting reg sized values
11892 to the msb, move the value to a reg first.
11893
11894 2003-07-29 Geoffrey Keating <geoffk@apple.com>
11895
11896 * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
11897 * line-map.h (linemap_add): Update comments.
11898 * line-map.c (linemap_add): Update comments, interpret zero-length
11899 filename as "<stdin>".
11900
11901 2003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
11902
11903 * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
11904
11905 2003-07-29 Zack Weinberg <zack@codesourcery.com>
11906
11907 * c-decl.c (last_function_parm_vars, current_function_parm_vars):
11908 New static variables.
11909 (struct c_scope): Add parms and warned_forward_parm_decls
11910 fields; remove parm_order.
11911 (storedecls, storetags): Delete.
11912 (poplevel): Also clear bindings on the parms chain.
11913 (pushdecl): Handle forward declarations of parameters, and
11914 chain PARM_DECLs on the parms list, not the names list.
11915 (lookup_name_current_level): Check for PARM_DECLs on the parms
11916 list too.
11917 (push_parm_decl): Don't update parm_order.
11918 (clear_parm_order): Rename mark_forward_parm_decls. Issue the
11919 warning, only once per parameter list, and set TREE_ASM_WRITTEN
11920 on the decls here. Then move the forward decls to the names list.
11921 (grokparms): Set last_function_parm_vars.
11922 (get_parm_info): Don't use gettags or getdecls. No need to
11923 extract non-parms from the parms list, or reorganize the parms
11924 list. Feed nonparms back in the TREE_TYPE of the list node
11925 returned. Issue only one error per parameter list for "void"
11926 appearing more than once in said parameter list. Collapse
11927 parmlist_tags_warning into this function to avoid double scan
11928 of tags list.
11929 (start_function): Set current_function_parm_vars.
11930 (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
11931 directly. Get non-parms from current_function_parm_vars; no
11932 need to extract them from the parms chain. Properly bind tags
11933 in the new scope.
11934 (store_parm_decls_oldstyle): No need to extract non-parameters
11935 from the parms chain, nor to store them back afterward. Move
11936 declaration to top of function, restructure code reordering
11937 DECL_ARGUMENTS.
11938 (store_parm_decls): No need to save and restore warn_shadow.
11939 * c-parse.in: Don't call parmlist_tags_warning nor
11940 clear_parm_order. Call mark_forward_parm_decls when forward
11941 parm decls are encountered.
11942 * c-tree.h: Prototype mark_forward_parm_decls; not
11943 clear_parm_order or parmlist_tags_warning.
11944
11945 2003-07-29 Geoffrey Keating <geoffk@apple.com>
11946
11947 * c-common.c (allow_pch): Remove.
11948 * c-common.h (allow_pch): Remove.
11949 (c_common_no_more_pch): Declare.
11950 * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
11951 * c-pch.c: Include hosthooks.h.
11952 (c_common_valid_pch): Don't check allow_pch.
11953 (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
11954 (c_common_no_more_pch): New.
11955 * ggc-common.c: Include hosthooks.h.
11956 (gt_pch_save): Call gt_pch_get_address.
11957 (gt_pch_restore): Call gt_pch_use_address.
11958 * hooks.c (hook_voidp_size_t_null): New.
11959 (hook_bool_voidp_size_t_false): New.
11960 * hooks.h (hook_voidp_size_t_null): New.
11961 (hook_bool_voidp_size_t_false): New.
11962 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
11963 (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
11964 (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
11965 HOST_HOOKS_GT_PCH_USE_ADDRESS.
11966 * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
11967 gt_pch_use_address.
11968 * doc/hostconfig.texi (Host Common): Document
11969 HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
11970 * Makefile.in (c-pch.o): Depend on hosthooks.h.
11971 (ggc-common.o): Likewise.
11972
11973 * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
11974 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
11975 (pch_address_space): New.
11976 (darwin_rs6000_gt_pch_get_address): New.
11977 (darwin_rs6000_gt_pch_use_address): New.
11978
11979 2003-07-29 Neil Booth <neil@daikokuya.co.uk>
11980
11981 PR preprocessor/11569
11982 PR preprocessor/11649
11983 * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
11984 * cppfiles.c: Completely rewritten.
11985 * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
11986 struct cpp_path is now struct cpp_dir.
11987 (remove_duplicates): Don't simplify path names.
11988 * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
11989 cpp_stack_file.
11990 * cpphash.h: Include hashtab.h.
11991 (_cpp_file): Declare.
11992 (struct cpp_buffer): struct include_file is now struct _cpp_file,
11993 and struct cpp_path is now struct cpp_dir. Rename members.
11994 (struct cpp_reader): Similarly. New members once_only_files,
11995 file_hash, file_hash_entries, quote_ignores_source_dir,
11996 no_search_path, saw_pragma_once. Remove all_include_files and
11997 max_include_len. Make some members bool.
11998 (_cpp_mark_only_only): Renamed from _cpp_never_reread.
11999 (_cpp_stack_file): Renamed from _cpp_read_file.
12000 (_cpp_stack_include): Renamed from _cpp_execute_include.
12001 (_cpp_init_files): Renamed from _cpp_init_includes.
12002 (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
12003 * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
12004 (cpp_read_next_file): Rename and move to cppfiles.c.
12005 (cpp_read_main_file): Update.
12006 * cpplib.c (run_directive): Update for renamed members.
12007 (do_include_common, _cpp_pop_buffer): Update.
12008 (do_import): Undeprecate #import.
12009 (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
12010 * cpplib.h: Remove file_name_map_list.
12011 (cpp_options): Remove map_list.
12012 (cpp_dir): Rename from cpp_path. New datatype for name_map.
12013 (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
12014
12015 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
12016
12017 * Makefile.in: Make stamp-objdir safe for parallel builds.
12018
12019 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
12020
12021 * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
12022 (info): Depend on stmp-docobjdir.
12023
12024 2003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12025
12026 * configure: Regenerate.
12027
12028 2003-07-29 Jan Hubicka <jh@suse.cz>
12029
12030 PR C++/11131
12031 * tree-inline.c (expand_call_inline): Always call inlinable_function_p
12032 in !unit-at-a-time mode.
12033
12034 2003-07-28 Geoffrey Keating <geoffk@apple.com>
12035
12036 * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
12037 main function.
12038
12039 2003-07-28 Mark Mitchell <mark@codesourcery.com>
12040
12041 PR c++/11667
12042 * c-common.c (shorten_compare): Take into account differences
12043 between C and C++ representation for enumeration types.
12044 * tree.h (set_min_and_max_values_for_integral_type): Declare.
12045 * stor-layout.c (set_min_and_max_values_for_integral_type): New
12046 function, broken out from ...
12047 (fixup_signed_type): ... here and ...
12048 (fixup_unsigned_type): ... here.
12049
12050 2003-07-28 Zack Weinberg <zack@codesourcery.com>
12051
12052 * c-decl.c: Update commentary, adjust blank lines throughout.
12053 (struct c_scope): Fix indentation. Reorder members so
12054 outer-context pointers come first, booleans last.
12055 (duplicate_decls, define_label): Use a 'locus' variable for
12056 diagnostic locations in a few more places.
12057 (warn_if_shadowing): Un-split a conditional that fits on one line.
12058 (c_init_decl_processing): No need to clear current_scope and
12059 current_function_scope.
12060 (start_decl): Merge if/else if statements with same action.
12061 (push_parm_decl): Rename old_immediate_size_expand to use
12062 save_foo convention; save/restore around entire function.
12063 (grokdeclarator): Remove unnecessary braces.
12064
12065 2003-07-28 Hans-Peter Nilsson <hp@bitrange.com>
12066 Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
12067
12068 * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
12069 when warn_declaration_after_statement. Call pedwarn_c90, not
12070 pedwarn. Correct message: it's "ISO C90", not "ISO C89".
12071 * c-common.c (warn_declaration_after_statement): Define.
12072 * c-common.h (warn_declaration_after_statement): Declare.
12073 * c.opt (Wdeclaration-after-statement): New.
12074 * c-errors.c (pedwarn_c90): New function.
12075 * c-opts.c (c_common_handle_option) <case
12076 OPT_Wdeclaration_after_statement>: New.
12077 * c-tree.h (pedwarn_c90): Declare.
12078 * doc/invoke.texi (Option Summary): Document
12079 -Wdeclaration-after-statement.
12080 (Warning Options): Ditto.
12081
12082 2003-07-28 Jan Hubicka <jh@suse.cz>
12083
12084 * i386.md (memory attribute) Avoid accessing uninitialized memory
12085 for ishift1 type instructions.
12086
12087 2003-07-28 Jakub Jelinek <jakub@redhat.com>
12088
12089 * configure.in (--enable-checking): Add fold category.
12090 (ENABLE_FOLD_CHECKING): Define if requested.
12091 * configure: Rebuilt.
12092 * config.in: Rebuilt.
12093 * doc/install.texi: Document it.
12094 * fold-const.c: Include md5.h.
12095 [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
12096 [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
12097 print_fold_checksum): New functions.
12098
12099 * fold-const.c (fold): Never modify argument passed to fold, instead
12100 change a copy and return it.
12101 * convert.c (convert_to_integer): Likewise.
12102
12103 2003-07-27 Nathanael Nerode <neroden@gcc.gnu.org>
12104
12105 * fixinc/fixinc.svr4: Remove dead code. Remove now-unnecessary
12106 cleanup of junk after #else and #endif directives. Collapse repeated
12107 clauses into for statment.
12108
12109 * fixinc/fixincl.sh: GNU C -> GCC. Add usage comment.
12110
12111 2003-07-27 Zack Weinberg <zack@codesourcery.com>
12112
12113 * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
12114 (keep_next_if_subblocks): Rename next_is_function_body.
12115 (pushlevel): Adjust commentary. Always set ->keep on the
12116 outermost level of a function. Don't set ->keep_if_subblocks.
12117 (poplevel): Adjust commentary. Don't look at ->keep_if_subblocks.
12118 (store_parm_decls): Adjust to match.
12119 (finish_function): Adjust to match.
12120 Call poplevel with all three arguments zero.
12121
12122 * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
12123 New functions split out of store_parm_decls.
12124 Avoid unnecessary work. Use local variables consistently.
12125 (store_parm_decls): Likewise.
12126
12127 (finish_function): No need to set functionbody flag on call to
12128 poplevel.
12129 (struct language_function): Remove scope field.
12130 (c_push_function_context, c_pop_function_context): No need to
12131 save and restore current_scope.
12132
12133 2003-07-27 Nathan Sidwell <nathan@codesourcery.com>
12134
12135 * doc/extend.texi (Deprecated Features): Implicit typename is
12136 gone. Default args on types is going.
12137
12138 2003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
12139
12140 * Makefile.in (ifcvt.o): Depend on target.h
12141 * ifcvt.c (target.h): Include.
12142 (if_convert): Don't call mark_loop_exit_edges if we can't
12143 modify jumps.
12144
12145 2003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12146
12147 * doc/install.texi (Testing): Adjust required versions of DejaGnu.
12148
12149 2003-07-26 Richard Henderson <rth@redhat.com>
12150
12151 PR inline-asm/11676
12152 * cse.c (count_reg_usage): Handle asm_operands properly.
12153
12154 2003-07-26 Roger Sayle <roger@eyesopen.com>
12155
12156 * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
12157 (DEF_EXT_FALLBACK_BUILTIN): Delete.
12158 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
12159 the regular DEF_EXT_LIB_BUILTIN macro.
12160 (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
12161 the regular DEF_LIB_BUILTIN macro.
12162 (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
12163 BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
12164 BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
12165 DEF_EXT_LIB_BUILTIN macro.
12166
12167 * c-decl.c (duplicate_decls): Remove code to handle builtin
12168 functions prototyped without an argument list.
12169
12170 2003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
12171
12172 * config/i386/winnt.c: Revert 2003-07-08 change.
12173 (i386_pe_section_type_flags): Remove error_with_decl here too.
12174
12175 2003-07-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
12176
12177 * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
12178 * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
12179 * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
12180 (v850_handle_data_area_attribute): Likewise.
12181
12182 2003-07-26 Geoffrey Keating <geoffk@apple.com>
12183
12184 * varasm.c (output_constant_def_contents): Use
12185 ASM_DECLARE_CONSTANT_NAME if defined.
12186 * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
12187 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
12188 objects get at least one byte to prevent assembler problems.
12189 (ASM_DECLARE_CONSTANT_NAME): New.
12190
12191 * Makefile.in (libbackend.o): Remove options_.h.
12192 (mostlyclean): Likewise.
12193
12194 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
12195 insert a label at the end of an function under Mach-O.
12196
12197 * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
12198
12199 2003-07-25 Aldy Hernandez <aldyh@redhat.com>
12200
12201 * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
12202 equality.
12203 (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
12204
12205 * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
12206
12207 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12208
12209 * doc/passes.texi (Passes): Mention pretty-printing and
12210 diagnostic files.
12211
12212 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
12213
12214 * doc/extend.texi (Function Attributes): GNU C++ does now allow
12215 unused parameter decls.
12216 (Attribute Syntax): GNU C++ does not allow label attributes to be
12217 after the ':'.
12218
12219 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12220
12221 * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
12222 (objc_declare_class): Likewise.
12223 (error_with_ivar): Likewise.
12224 (start_class): Likewise.
12225 (warn_with_method): Likewise.
12226
12227 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12228
12229 Remove pedwarn_with_decl, warning_with_decl and error_with_decl
12230 from GCC.
12231 * calls.c (try_to_integrate): Don't use xxx_with_decl.
12232 (expand_call): Likewise.
12233 * dwarfout.c (output_reg_number): Likewise.
12234 * expr.c (expand_expr): Likewise.
12235 * function.c (assign_temp): Likewise.
12236 (uninitialized_vars_warning): Likewise.
12237 (setjmp_args_warning): Likewise.
12238 (expand_function_end): Likewise.
12239 * stmt.c (fixup_gotos): Likewise.
12240 (warn_about_unused_variables): Likewise.
12241 (expand_end_bindings): Likewise.
12242 * stor-layout.c (layout_decl): Likewise.
12243 (place_field): Likewise.
12244 * toplev.c (check_global_declarations): Likewise.
12245 (rest_of_handle_inlining): Likewise.
12246 (default_tree_printer): New function.
12247 (general_init): Initialize diagnostic machinery before routing
12248 signals to the ICE machinery. Set default tree printer.
12249 * toplev.h (pedwarn_with_decl): Remove declaration.
12250 (warning_with_decl): Likewise.
12251 (error_with_decl): Likewise.
12252 (pedwarn): Remove attribute for the time being.
12253 * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
12254 * varasm.c (named_section): Likewise.
12255 (make_decl_rtl): Likewise.
12256 (assemble_variable): Likewise.
12257 (merge_weak): Likewise.
12258 (declare_weak): Likewise.
12259
12260 * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
12261 * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
12262 (format_with_decl): Remove.
12263 (diagnostic_for_decl): Likewise.
12264 (pedwarn_with_decl): Likewise.
12265 (warning_with_decl): Likewise.
12266 (error_with_decl): Likewise.
12267 (diagnostic_initialize): Adjust.
12268 (diagnostic_count_diagnostic): Likewise.
12269 (announce_function): Likewise.
12270 (lhd_print_error_function): Likewise.
12271 (diagnostic_report_current_module): Likewise.
12272 (default_diagnostic_starter): Likewise.
12273 (diagnostic_report_diagnostic): Likewise.
12274 (default_diagnostic_finalizer): Likewise.
12275 (verbatim): Likewise.
12276 (error): Likewise.
12277 (warning): Likewise.
12278 * opts.c (common_handle_option): Likewise.
12279 * pretty-print.c: New file.
12280 * c-pretty-print.h (pp_base): Override.
12281 * c-pretty-print.c: Adjust use of macros throughout.
12282 (pp_buffer): New macro.
12283 (pp_newline): Likewise.
12284 * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
12285 * Makefile.in (DIAGNOSTIC_H): New variable.
12286 (c-errors.o): Use it.
12287 (c-objc-common.o): Likewise.
12288 (c-common.o): Likewise.
12289 (c-opts.o): Likewise.
12290 (c-format.o): Likewise.
12291 (diagnostic.o): Likewise.
12292 (opts.o): Likewise.
12293 (toplev.o): Likewise.
12294 (rtl-error.o): Likewise.
12295 (dwarf2out.o): Likewise.
12296 (jump.o): Likewise.
12297 (pretty-print.o): New rule.
12298
12299 2003-07-24 Roger Sayle <roger@eyesopen.com>
12300
12301 * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
12302 front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
12303 (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
12304 from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
12305 (DEF_FRONT_END_LIB_BUILTIN): Delete.
12306 (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
12307 (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
12308
12309 * builtins.c (build_string_literal): New function to construct
12310 a char* pointer to a string literal.
12311 (expand_builtin_fputs): Change 2nd argument from "int ignore" to
12312 "rtx target" to be consistent with other expand_builtin_* functions.
12313 Change 3rd argument from "int unlocked" to "bool unlocked".
12314 (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
12315 c-common.c to avoid front-end dependencies. Optimize printf("")
12316 as a no-op when the result isn't required. Handle embedded NULs
12317 in format string.
12318 (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
12319 from c-common.c to avoid front-end dependencies. Likewise, optimize
12320 fprintf(fp,"") as a no-op when the result isn't required, evaluating
12321 fp for side-effects. Handle embedded NULs in format string.
12322 (expand_builtin_sprintf): Fix typo.
12323 (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
12324 optimizing. Adjust calls of expand_builtin_fputs to match the API
12325 change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
12326 expand_builtin_printf. Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
12327 and BUILT_IN_FPRINTF using expand_builtin_fprintf.
12328
12329 * c-common.c (is_valid_printf_arglist): Delete.
12330 (c_expand_builtin): Delete.
12331 (c_expand_builtin_printf): Moved to builtins.c. Delete.
12332 (c_expand_builtin_fprintf): Moved to builtins.c. Delete.
12333 (c_expand_expr): No longer treat CALL_EXPRs specially.
12334 (CALLED_AS_BUILT_IN): Delete.
12335
12336 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12337
12338 PR optimization/11631
12339 * gcse.c (store_motion): Connect infinite loops to exit.
12340
12341 2003-07-24 Jason Merrill <jason@redhat.com>
12342
12343 * tree.h (boolean_type_node): Move from C/C++/Java frontends.
12344 (boolean_true_node, boolean_false_node): Likewise.
12345 (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
12346 * tree.c (build_common_tree_nodes): Init boolean_type_node.
12347 (build_common_tree_nodes_2): Init boolean_{true,false}_node.
12348 * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
12349 * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
12350 (truthvalue_true_node): Renamed from boolean_true_node.
12351 (truthvalue_false_node): Renamed from boolean_false_node.
12352 * c-decl.c: Just set truthvalue_* to integer_*.
12353 * c-*.[ch]: s/boolean/truthvalue/. s/c_bool/boolean/.
12354
12355 2003-07-24 Roger Sayle <roger@eyesopen.com>
12356
12357 * c-decl.c (match_builtin_function_types): New subroutine of
12358 duplicate_decls to test whether a redeclaration of a builtin
12359 function is suitably close, i.e. the return type and all of
12360 the argument types have the same modes as the builtin expects.
12361 (duplicate_decls): Fuzzy type matching for builtin functions
12362 moved to match_builtin_function_types.
12363
12364 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12365
12366 * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
12367 flag correctly.
12368
12369 2003-07-24 Zack Weinberg <zack@codesourcery.com>
12370
12371 * c-decl.c: Search-and-replace change 'binding level' to
12372 'scope' in commentary.
12373 (struct binding_level): Now struct c_scope.
12374 (current_binding_level): Now current_scope.
12375 (free_binding_level): Now scope_freelist.
12376 (current_function_level): Now current_function_scope.
12377 (global_binding_level): Now global_scope.
12378 (make_binding_level): Now make_scope.
12379 (pop_binding_level): Now pop_scope.
12380
12381 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12382
12383 * configure.in (libgcc_visibility): Add missing whitespace.
12384
12385 2003-07-24 Richard Henderson <rth@redhat.com>
12386
12387 * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
12388 __gcc_personality_v0.
12389
12390 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12391
12392 * Makefile.in: Replace pwd by ${PWD_COMMAND}.
12393
12394 2003-07-24 Nathan Sidwell <nathan@codesourcery.com>
12395
12396 * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
12397 documentation missed from my 2003-07-09 patch.
12398
12399 2003-07-24 Nathanael Nerode <neroden@gcc.gnu.org>
12400
12401 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
12402 it's not provided.
12403 * configure: Rebuild.
12404
12405 2003-07-24 Steven Bosscher <steven@gcc.gnu.org>
12406
12407 PR c/10602
12408 * c-typeck.c (type_lists_compatible_p): Do not compare
12409 arguments if one of them is an error_mark_node
12410
12411 2003-07-24 Alan Modra <amodra@bigpond.net.au>
12412
12413 * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
12414 if current_function_calls_eh_return.
12415
12416 2003-07-23 Mark Mitchell <mark@codesourcery.com>
12417
12418 * doc/c-tree.texi (OFFSET_TYPE): Update description.
12419
12420 2003-07-23 Bob Wilson <bob.wilson@acm.org>
12421
12422 * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
12423 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
12424 __umodsi3, __modsi3): Increase frame size to 32.
12425
12426 2003-07-23 Geoffrey Keating <geoffk@apple.com>
12427
12428 * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
12429 prototype.
12430
12431 2003-07-23 Mark Mitchell <mark@codesourcery.com>
12432
12433 * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
12434
12435 PR optimization/10679
12436 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
12437
12438 2003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12439
12440 PR target/11607 and PR target/11516
12441 * pa.md (extzv, extv, insv): Revert latter half of last patch.
12442
12443 2003-07-22 Mark Mitchell <mark@codesourcery.com>
12444
12445 * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
12446 * varasam.c (output_constant): Likewise.
12447
12448 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
12449
12450 * alias.c: Fix comment formatting.
12451 * c-common.c: Likewise.
12452 * c-decl.c: Likewise.
12453 * c-opts.c: Likewise.
12454 * combine.c: Likewise.
12455 * cpplib.c: Likewise.
12456 * diagnostic.c: Likewise.
12457 * dojump.c: Likewise.
12458 * final.c: Likewise.
12459 * fold-const.c: Likewise.
12460 * gcc.c: Likewise.
12461 * gcse.c: Likewise.
12462 * ggc-page.c: Likewise.
12463 * jump.c: Likewise.
12464 * loop.c: Likewise.
12465 * mips-tfile.c: Likewise.
12466 * recog.c: Likewise.
12467 * regclass.c: Likewise.
12468 * regmove.c: Likewise.
12469 * tree.c: Likewise.
12470 * tree.h: Likewise.
12471
12472 2003-07-22 Per Bothner <pbothner@apple.com>
12473
12474 * line-map.c (add_line_map): Handle invalid LEAVE request.
12475 Fixes PR preprocessor/11361.
12476
12477 2003-07-22 Per Bothner <pbothner@apple.com>
12478
12479 * diagnostic.c.(diagnostic_report_current_module): Update to match
12480 2003-06-05 changes to push_srcloc and pop_srcloc.
12481
12482 2003-07-22 Wolfgang Bangerth <bangerth@dealii.org>
12483
12484 * doc/trouble.texi: Better document two-stage name lookup.
12485
12486 2003-07-22 Eric Christopher <echristo@redhat.com>
12487
12488 * config/s390.c (s390_valid_pointer_mode): New.
12489 (TARGET_VALID_POINTER_MODE): Use.
12490 (s390_emit_prologue): Add tpf profiling hooks.
12491 (s390_emit_epilogue): Ditto.
12492 * config/s390.h (MASK_TPF): New.
12493 (TARGET_TPF): Use.
12494 (POINTERS_EXTEND_UNSIGNED): Define.
12495 * config/s390.md (ptr_extend): New pattern.
12496
12497 2003-07-22 Zack Weinberg <zack@codesourcery.com>
12498
12499 * hashtable.c (approx_sqrt): Make static.
12500 * hashtable.h: Don't prototype approx_sqrt.
12501 * line-map.c (init_line_maps): Rename linemap_init.
12502 (free_line_maps): Rename linemap_free.
12503 (add_line_map): Rename linemap_add.
12504 (lookup_line): Rename linemap_lookup.
12505 (print_containing_files): Rename linemap_print_containing_files.
12506 * linemap.h: Update to match.
12507
12508 * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
12509 linemap routines to use new names.
12510
12511 2003-07-16 Nathan Sidwell <nathan@codesourcery.com>
12512
12513 * c-common.c (handle_packed_attribute): Don't pack a struct via a
12514 typedef. Propagate packedness from a main variant.
12515
12516 2003-07-22 Nathanael Nerode <neroden@gcc.gnu.org>
12517
12518 * Makefile.in (install-common): Add dependency on installdirs.
12519
12520 2003-07-21 Alexandre Oliva <aoliva@redhat.com>
12521
12522 * c-common.c (c_common_type_for_mode): Return integer types for
12523 pointer modes.
12524
12525 2003-07-22 Geoffrey Keating <geoffk@apple.com>
12526
12527 * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
12528 (finish_decl): Call maybe_apply_pragma_weak here.
12529 (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
12530 TREE_PUBLIC and TREE_STATIC are decided.
12531 (start_function): Move call to maybe_apply_pragma_weak. Check that
12532 DECL_ASSEMBLER_NAME isn't set too early.
12533
12534 * cpplex.c (_cpp_process_line_notes): Mention option name in
12535 trigraphs warning.
12536
12537 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
12538
12539 * combine.c (if_then_else_cond): Simplify the comparison of
12540 rtx against -1, 0, and 1.
12541 * loop.c (check_dbra_loop): Likewise.
12542 * optabs.c (emit_conditional_move): Likewise.
12543 (emit_conditional_add): Likewise.
12544 * config/i386/i386.md (*movsi_or): Likewise.
12545 (*movdi_or_rex6): Likewise.
12546
12547 2003-07-22 Jan Hubicka <jh@suse.cz>
12548
12549 * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
12550
12551 2003-07-21 Neil Booth <neil@daikokuya.co.uk>
12552
12553 * cppfiles.c (open_file_pch): Don't put unused entries in the
12554 splay tree. Remove dead code.
12555
12556 2003-07-21 Geoffrey Keating <geoffk@apple.com>
12557
12558 * c-common.h (num_in_fnames): Declare.
12559 (c_static_assembler_name): Move from here...
12560 * c-tree.h (c_static_assembler_name): ... to here.
12561 * c-opts.c: Don't include langhooks-def.h.
12562 (c_static_assembler_name): Move to c-decl.c.
12563 (num_in_fnames): Make externally visible.
12564 * c-decl.c: Include langhooks-def.h.
12565 (c_static_assembler_name): Move from c-opts.c.
12566 * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
12567 (c-opts.o): Remove $(LANGHOOKS_DEF_H).
12568
12569 * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
12570 when it's not needed.
12571
12572 2003-07-21 Jakub Jelinek <jakub@redhat.com>
12573
12574 * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
12575 * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
12576 (rs6000_emit_prologue): Save FPRs inline if set.
12577
12578 2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
12579
12580 * config/ia64/ia64.md (prefetch): Support predicate.
12581
12582 2003-07-21 Josef Zlomek <zlomekj@suse.cz>
12583
12584 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
12585 * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
12586 table.
12587
12588 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
12589
12590 PR optimization/11536
12591 * unroll.c (loop_iterations): Do not replace a register holding
12592 the final value by its equivalent before the loop if it is not
12593 invariant.
12594
12595 2003-07-21 Dave Fluri <dave.fluri@onlink.net>
12596
12597 * doc/extend.texi: Fixes to spelling, grammar, and diction.
12598
12599 2003-07-21 Ben Elliston <bje@wasabisystems.com>
12600
12601 * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
12602 (V850 Options): Spelling fixes.
12603
12604 2003-07-20 Lisa M. Goldstein <opus@gnu.org>
12605
12606 * doc/invoke.texi: Fixes to style, grammar and diction.
12607
12608 2003-07-20 Roger Sayle <roger@eyesopen.com>
12609
12610 * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
12611 * system.h (SMALL_STACK): Poison obsolete target macro.
12612 * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
12613
12614 2003-07-20 Phil Edwards <pme@gcc.gnu.org>
12615
12616 * configure.in: Cache the results of testing for cmp's capabilities.
12617 * configure: Regenerate.
12618
12619 2003-07-20 Mark Mitchell <mark@codesourcery.com>
12620
12621 PR debug/11279
12622 * dwarf2out.c (gen_enumeration_type_die): Remember that
12623 enumerators can be unsigned.
12624
12625 2003-07-19 Zack Weinberg <zack@codesourcery.com>
12626
12627 * c-decl.c (named_labels, shadowed_labels, label_level_chain)
12628 (push_label_level, pop_label_level): Kill.
12629 (struct binding_level): Rename level_chain to outer.
12630 Add outer_function field. Change parm_flag, function_body,
12631 keep, keep_if_subblocks to 1-bit bitfields of type bool.
12632 (current_function_level): New variable.
12633 (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
12634 (keep_next_level, declare_parm_level, warn_if_shadowing):
12635 Update to match.
12636 (struct language_function): Kill named_labels, shadowed_labels fields.
12637 (c_init_decl_processing, start_function, c_push__function_context)
12638 (c_pop_function_context): No need to muck with named_labels nor
12639 shadowed_labels.
12640
12641 (make_binding_level): No need to clear the structure here.
12642 (pop_binding_level): Always operate on current_binding_level.
12643 Update current_function_level if necessary.
12644 (pushlevel): Don't clear named_labels. Update current_function_level
12645 if necessary. Use "true" and "false" where appropriate.
12646 (poplevel): Diagnose labels defined but not used, or vice
12647 versa, and clear out label-meanings leaving scope, while
12648 walking down the decls list, for all binding levels.
12649 Handle LABEL_DECLs appearing in the shadowed list.
12650 pop_binding_level takes no arguments.
12651 (pushdecl_function_level): Use current_function_level.
12652
12653 (make_label, bind_label): New static functions.
12654 (declare_label): New exported function.
12655 (lookup_label, define_label): Rewritten for new data structure.
12656 (shadow_label): Kill.
12657
12658 * c-tree.h: Prototype declare_label; don't prototype
12659 push_label_level, pop_label_level, nor shadow_label.
12660 * c-parse.in: Remove all calls to push_label_level and
12661 pop_label_level. Use declare_label for __label__ decls.
12662
12663 * doc/extend.texi: Clarify that __label__ can be used to
12664 declare labels with local scope in any nested block, not
12665 just statement expressions. Cross-reference nested functions
12666 section from local labels section.
12667
12668 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12669
12670 * sched-rgn.c (find_rgns): Initialize current_edge correctly.
12671
12672 2003-07-19 Phil Edwards <pme@gcc.gnu.org>
12673
12674 * doc/makefile.texi (restrap, profiledbootstrap): Document targets.
12675
12676 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12677
12678 * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
12679 fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
12680
12681 2003-07-19 Ulrich Weigand <uweigand@de.ibm.com>
12682
12683 * config/s390/s390.c (legitimize_pic_address): Access local symbols
12684 relative to the GOT instead of relative to the literal pool base.
12685 (s390_output_symbolic_const): Handle new GOT-relative accesses.
12686 * config/s390/s390.md ("call"): Access local functions and PLT stubs
12687 relative to the GOT instead of relative to the literal pool base.
12688 ("call_value"): Likewise.
12689 ("call_value_tls"): Likewise.
12690
12691 * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
12692 reloading. Support LTREL_BASE / LTREL_OFFSET construct.
12693 (s390_chunkify_finish): Likewise.
12694 (s390_chunkify_cancel): Likewise.
12695 (s390_reorg): Adapt caller.
12696 (find_base_register_in_addr,
12697 find_base_register_ref, replace_base_register_ref): Delete.
12698 (find_ltrel_base, replace_ltrel_base): New functions.
12699 (find_constant_pool_ref): Handle LTREL_BASE unspecs.
12700 (s390_decompose_address): Handle LTREL_BASE unspecs. Optimize
12701 base vs. index register usage.
12702 (struct constant_pool): Remove 'anchor'.
12703 (s390_add_anchor): Delete.
12704 (s390_dump_pool): Remove anchor handling.
12705 * config/s390/s390.md ("reload_anchor"): Remove.
12706
12707 * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
12708 (s390_load_got): New function. Use LTREL_BASE/OFFSET.
12709 (s390_emit_prologue): Use it.
12710 * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
12711 "builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not
12712 hard-code register 14.
12713 * config/s390/s390-protos.h (s390_load_got): Declare.
12714
12715 * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
12716 Support TImode constants.
12717 * config/s390/s390.md ("consttable_ti"): New.
12718 ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
12719
12720 * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
12721 UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
12722 UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
12723 UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
12724 UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
12725 New symbolic constants.
12726 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
12727 "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
12728 "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
12729 "pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use
12730 symbolic UNSPEC values.
12731 * config/s390/s390.c (larl_operand, s390_short_displacement,
12732 bras_sym_operand, s390_cannot_force_const_mem,
12733 s390_delegitimize_address, s390_decompose_address,
12734 legitimize_pic_address, s390_output_symbolic_const,
12735 s390_function_profiler): Use symbolic UNSPEC values.
12736
12737 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12738
12739 * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
12740 c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
12741 c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
12742 collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
12743 cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
12744 cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
12745 dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
12746 fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
12747 gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
12748 genemit.c genextract.c genoutput.c genrecog.c gensupport.c
12749 ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
12750 integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
12751 loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
12752 postreload.c prefix.c print-tree.c protoize.c ra-build.c
12753 ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
12754 regmove.c regrename.c reload.c reload1.c reorg.c resource.c
12755 sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
12756 simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
12757 tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
12758 varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
12759 casts.
12760
12761 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12762
12763 * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
12764 * toplev.h (warning): Remove attribute.
12765
12766 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12767
12768 * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
12769 (pop_label_level): Likewise.
12770 (duplicate_decls): Likewise.
12771 (implicitly_declare): Likewise.
12772 (shadow_label): Likewise.
12773 (start_decl): Likewise.
12774 (finish_decl): Likewise.
12775 (grokdeclarator): Likewise.
12776 (get_parm_info): Likewise.
12777 (detect_field_duplicates): Likewise.
12778 (finish_struct): Likewise.
12779 (start_function): Likewise.
12780 (store_parm_decls): Likewise.
12781 (finish_function): Likewise.
12782 (c_expand_body_1): Likewise.
12783 (check_for_loop_decls): Likewise.
12784 (merge_translation_unit_decls): Likewise.
12785
12786 2003-07-19 Neil Booth <neil@daikokuya.co.uk>
12787
12788 * common.opt: Document --param.
12789 * opts.c (columns, undocumented_msg): New.
12790 (print_help): Get number of columns from environment. Print
12791 --param help. Tweak newline handling.
12792 (print_param_help): New.
12793 (print_filtered_help): Better handling of duplicates. Complain
12794 about undocumented switches.
12795 (print_switch): New.
12796 (wrap_help): Improve wrapping, use COLUMNS.
12797 * opts.sh: Ignore comments in records.
12798 * params.def: Fix typos and remove trailing periods.
12799 * toplev.c (display_help): Don't dump --param help.
12800 * doc/sourcebuild.texi: Update.
12801
12802 2003-07-18 Richard Henderson <rth@redhat.com>
12803
12804 PR target/11556
12805 * optabs.c (prepare_operand): Fail gracefully instead of abort
12806 if the predicate doesn't satisfy.
12807 (gen_cond_trap): Allow prepare_operand to fail.
12808
12809 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12810
12811 * c-common.c: Don't undefine GCC_DIAG_STYLE.
12812 (fname_decl): Don't use xxx_with_decl.
12813 (c_add_case_label): Likewise.
12814 (handle_section_attribute): Likewise.
12815 (handle_alias_attribute): Likewise.
12816 (handle_no_instrument_function_attribute): Likewise.
12817 (handle_no_limit_stack_attribute): Likewise.
12818 * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
12819 * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
12820
12821 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12822
12823 * Makefile.in (ifcvt.o): Add cfgloop.h.
12824 * basic-block.h (EDGE_LOOP_EXIT): New flag.
12825 * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
12826 * ifcvt.c: Include cfgloop.h.
12827 (mark_loop_exit_edges): New static function.
12828 (if_convert): Call it.
12829 (find_if_header): Ignore branches out of loops.
12830
12831 2003-07-18 Kazu Hirata <kazu@cs.umass.edu>
12832
12833 * combine.c (simplify_comparison): Don't share rtx when converting
12834 (ne (and (not X) 1) 0) to (eq (and X 1) 0).
12835
12836 2003-07-18 David Edelsohn <edelsohn@gnu.org>
12837
12838 * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
12839 (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
12840 (MUST_PASS_IN_STACK): Define.
12841 (BLOCK_REG_PADDING): Define.
12842
12843 2003-07-18 Richard Henderson <rth@redhat.com>
12844
12845 * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
12846 to skip the addr_vec.
12847
12848 2003-07-18 Alexandre Oliva <aoliva@redhat.com>
12849
12850 * combine.c (combinable_i3pat): Don't forbid occurrences of
12851 i2dest or i1dest in inner_dest if inner_dest is a mem.
12852
12853 2003-07-18 Jan Hubicka <jh@suse.cz>
12854
12855 * cgraph.c (cgraph_remove_node): Clear the hash table slot.
12856
12857 2003-07-17 Jakub Jelinek <jakub@redhat.com>
12858
12859 PR target/11087
12860 * loop.c (basic_induction_var): Check if convert_modes emitted any
12861 instructions. Remove them and return 0 if so.
12862
12863 2003-07-18 Eric Botcazou <ebotcazou@libertysurf.fr>
12864
12865 PR optimization/11083
12866 * toplev.c (rest_of_handle_addresof): Rename into
12867 rest_of_handle_addressof. Delete unreachable blocks
12868 if dead edges were purged after the addressof pass.
12869
12870 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
12871
12872 * Makefile.in, configure, configure.in: Remove handling of
12873 lang-options.h and options_.h.
12874 * toplev.c (struct lang_opt, documented_lang_options): Remove.
12875 (display_help): Don't use documented_lang_options.
12876
12877 2003-07-17 Zack Weinberg <zack@codesourcery.com>
12878
12879 * c-decl.c (pushdecl_function_level): Make static, return nothing.
12880 (kept_level_p): Fold into poplevel.
12881 (undeclared_variable): Moved here from c-typeck.c. Export.
12882 * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
12883 (undeclared_variable): Prototype here. Don't prototype
12884 kept_level_p nor pushdecl_function_level.
12885 * c-parse.in: Change first argument to poplevel from
12886 "kept_level_p()" to "KEEP_MAYBE".
12887 * c-typeck.c (undeclared_variable): Moved to c-decl.c.
12888
12889 2003-07-17 Roger Sayle <roger@eyesopen.com>
12890
12891 * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
12892 commutative operands instead of modifying the RTL in-place.
12893
12894 2003-07-17 Mark Mitchell <mark@codesourcery.com>
12895
12896 PR optimization/11557
12897 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
12898 unless we know which function is being called.
12899
12900 2003-07-17 Roger Sayle <roger@eyesopen.com>
12901
12902 * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
12903 whether to reorder the operands of a commutative binary operator.
12904
12905 2003-07-17 Roger Sayle <roger@eyesopen.com>
12906
12907 * fold-const.c (const_binop): Avoid performing the FP operation at
12908 compile-time, if either operand is NaN and we honor signaling NaNs,
12909 or if we're dividing by zero and either flag_trapping_math is set
12910 or the desired mode doesn't support infinities.
12911 (fold_initializer): New function to fold an expression ignoring any
12912 potential run-time exceptions or traps.
12913 * tree.h (fold_initializer): Prototype here.
12914 * c-typeck.c (build_binary_op): Move to the end of the file so
12915 that intializer_stack is in scope. If constructing an initializer,
12916 i.e. when initializer_stack is not NULL, use fold_initializer to
12917 fold expressions.
12918 * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
12919 performing FP operations at compile-time, if they would raise an
12920 exception at run-time.
12921
12922 2003-07-17 Geoffrey Keating <geoffk@apple.com>
12923
12924 PR 11498
12925 * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
12926 (langhooks.o): Add $(GGC_H), gt-langhooks.h.
12927 (GTFILES): Add langhooks.c.
12928 (gt-langhooks.h): New.
12929 * c-common.h (c_static_assembler_name): Prototype.
12930 * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12931 * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12932 * c-opts.c: Include langhooks-def.h.
12933 (c_static_assembler_name): New.
12934 * langhooks.c: Include ggc.h. Include gt-langhooks.h.
12935 (var_labelno): New.
12936 (lhd_set_decl_assembler_name): Give static objects with context
12937 unique names.
12938 * varasm.c (var_labelno): Delete.
12939 (make_decl_rtl): Don't change the assembler name once it's set.
12940
12941 * c-opts.c (this_input_filename): New.
12942 (finish_options): Take new parameter, name of file being compiled.
12943 Update callers. Set this_input_filename.
12944 (push_command_line_include): Use this_input_filename not
12945 main_input_filename.
12946
12947 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
12948
12949 * Makefile.in: Depend .pot generation on options.c.
12950 * po/exgettext: Add an extra_files variable containing additional
12951 files to scan.
12952
12953 2003-07-17 Zack Weinberg <zack@codesourcery.com>
12954
12955 * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
12956 c_write_global_declarations.
12957
12958 * c-decl.c: Fix typos in several comments. Remove all
12959 #if 0 blocks; reindent as needed. Remove unused argument
12960 to declare_parm_level; all callers changed.
12961 * c-parse.in: Update calls to declare_parm_level. Avoid
12962 issuing a double warning in some circumstances.
12963 * c-typeck.c: Update calls to declare_parm_level.
12964 * c-tree.h: Update prototype of declare_parm_level.
12965
12966 * c-pragma.c (apply_pragma_weak): Don't complain about a
12967 redundant #pragma weak.
12968
12969 * objc/objc-act.c (forward_declare_categories,
12970 build_selector_reference_decl, build_class_reference_decl,
12971 build_objc_string_decl, synth_forward_declarations,
12972 build_protocol_reference): Set TREE_PUBLIC on synthetic
12973 forward decl to 0, consistent with eventual definition.
12974 Correct comments to match.
12975
12976 * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
12977 in regexp that don't form a range expression.
12978 * fixinc/fixincl.def: Regenerate.
12979
12980 2003-07-17 Richard Henderson <rth@redhat.com>
12981
12982 PR target/10907
12983 * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
12984 even with !TARGET_CONST_GP.
12985 (ia64_function_ok_for_sibcall): Reject non-local functions.
12986
12987 2003-07-17 Steven Bosscher <steven@gcc.gnu.org>
12988
12989 * c-common.c (c_estimate_num_insns_1): Don't handle
12990 METHOD_CALL_EXPR.
12991 * expr.c (safe_from_p): Likewise.
12992 * gengtype.c (adjust_field_tree_exp): Likewise.
12993 * stmt.c (warn_if_unused_value): Likewise
12994 * tree.c (first_rtl_op): Likewise.
12995 * tree.def: Don't define METHOD_CALL_EXPR.
12996 * java/lang.c (java_estimate_num_insns_1): Don't handle
12997 METHOD_CALL_EXPR.
12998
12999 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
13000
13001 PR other/11466
13002 * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
13003 and its restrictions for the SPARC64 port.
13004 Move the entry of "-mimpure-text" before that of "-mv8".
13005
13006 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
13007 Phil Edwards <phil@jaj.com>
13008
13009 * doc/install.texi (*-*-solaris2*): Document the step-by-step
13010 procedure to bootstrap and install.
13011 Document the preference for the legacy Sun tools in /usr/bin
13012 over the POSIX tools in /usr/xpg4/bin for the build process.
13013
13014 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
13015
13016 * c.opt: Document Uncodumented; use it. Document ObjC options.
13017 * opts.c (print_filtered_help): Skip undocumented switches.
13018 * opts.h (CL_UNDOCUMENTED): New.
13019 * opts.sh: Handle Undocumented.
13020 * toplev.c (documented_lang_options): Prevent its becoming empty.
13021 objc:
13022 * lang-options.h: Remove.
13023
13024 2003-07-16 Ulrich Weigand <uweigand@de.ibm.com>
13025
13026 * loop.c (check_ext_dependent_givs): Pass const struct loop *
13027 instead of struct loop_info * as argument. Accept BIVs with
13028 increment +/- 1 provided there is a friendly exit test against
13029 a loop-invariant value.
13030 (strength_reduce): Adapt call to check_ext_dependent_givs.
13031
13032 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
13033 Con Bradley <con.bradley@superh.com>
13034
13035 * sh-protos.h (sh_get_pr_initial_val): Declare.
13036 * sh.c (regno_reg_class): Make its elements type enum reg_class.
13037 (output_stack_adjust): Remove emit_fn argument. Add epilogue_p
13038 and live_regs_mask arguments. Changed all callers.
13039 (save_schedule_s): New structure.
13040 (save_schedule): New typedef.
13041 (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
13042 (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
13043 In interrupts handlers, also save registers that are usually
13044 partially saved, and make sure there is at least one general purpose
13045 register saved if a target register needs saving.
13046 Add casts in comparisons to avoid warnings.
13047 (sh_media_register_for_return): return -1 for interrupt handlers.
13048 (MAX_SAVED_REGS, MAX_TEMPS): New defines.
13049 (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp
13050 registers used are available.
13051 Set RTX_FRAME_RELATED_P where appropriate.
13052 Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
13053 (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
13054 (initial_elimination_offset): Likewise.
13055 * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
13056 (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
13057 (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
13058 (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
13059 (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
13060 and for target registers.
13061 (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
13062 (regno_reg_class): Make its elements type enum reg_class.
13063 (CONSTRAINT_LEN): Don't use isdigit.
13064 (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
13065 (FUNCTION_ARG): Add parentheses to avoid warnings.
13066 (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
13067 (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
13068 (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
13069 (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
13070 * sh.md (xordi3+1): Remove unused variable regno.
13071 (return_media): Check that tr0 is available before using it.
13072
13073 2003-07-16 Neil Booth <neil@daikokuya.co.uk>
13074
13075 * c.opt: Document more options.
13076
13077 2003-07-16 Roger Sayle <roger@eyesopen.com>
13078
13079 * combine.c (subst): Also handle (subreg (const_double ...)) case
13080 if created by a substitution, by using the original inner mode.
13081
13082 2003-07-16 Roger Sayle <roger@eyesopen.com>
13083
13084 * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
13085 to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
13086 (simplify_rtx): Likewise. Simplify (lo_sum (high X) X) as X.
13087
13088 2003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
13089
13090 * doc/install.texi (--without-headers): New.
13091
13092 Partial Fix PR/10129
13093 * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
13094 (machopic_output_function_base_name): New; print the true pic label.
13095 (machopic_classify_ident): Pic Base is always a defined data.
13096 * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
13097 * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
13098
13099 * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
13100 if they are not floating point registers.
13101
13102 PR c/10962
13103 * ggc.h: Add header guards.
13104 * c-decl.c (finish_struct): Sort fields if
13105 number greater than 15 and there are no
13106 anonymous structs/unions.
13107 * c-common.h: Include ggc.h.
13108 (sorted_fields_type): New struct.
13109 (field_decl_cmp): New prototype.
13110 (resort_sorted_fields): New prototype.
13111 (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
13112 * c-tree.h: (lang_type): Use pointer to sorted_fields_type
13113 as s, removing other fields.
13114 * c-typeck.c (lookup_field): Use s in lang_type.
13115 These were mostly moved from cp/class.c:
13116 * c-common.c (field_decl_cmp): New static function.
13117 (field_decl_cmp): New function.
13118 (resort_sorted_fields): New function.
13119
13120 2003-07-16 Geoffrey Keating <geoffk@apple.com>
13121
13122 * config/darwin.c (machopic_select_section): Use decl_readonly_section
13123 to do most of the work.
13124
13125 2003-07-16 Hans-Peter Nilsson <hp@bitrange.com>
13126
13127 * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
13128 * config/mmix/mmix.c: Convert functions to ISO C90.
13129 (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
13130 formatting.
13131 (mmix_get_hard_reg_initial_val): Tweak section head comment.
13132
13133 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
13134
13135 * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
13136
13137 2003-07-16 Jakub Jelinek <jakub@redhat.com>
13138
13139 * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
13140 (uw_update_context_1): Use it.
13141 * config/rs6000/rs6000.c (insn_after_throw): Remove.
13142 (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
13143 in parent frame if _Unwind_* called directly instead of through
13144 .plt.
13145 (rs6000_emit_eh_toc_restore): Remove.
13146 (rs6000_emit_prologue): Update stack pointer before doing any saving
13147 if current_function_calls_eh_return. Generate unwind info for $r2.
13148 (rs6000_emit_epilogue): Restore stack pointer after doing all
13149 restoring if current_function_calls_eh_return. Restore $r2.
13150 * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
13151 * config/rs6000/rs6000.md (eh_return): Remove call to
13152 rs6000_emit_eh_toc_restore.
13153 * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
13154 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
13155
13156 2003-07-15 Jakub Jelinek <jakub@redhat.com>
13157
13158 * expr.c (emit_block_move): Don't move anything if size is const 0.
13159 (clear_storage): Test against const0_rtx instead of comparing INTVAL
13160 against 0.
13161
13162 2003-07-15 David S. Miller <davem@redhat.com>
13163
13164 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
13165 emit nop if the last real insn is CALL_INSN.
13166
13167 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
13168
13169 * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
13170 as "nul".
13171 * config/i386/xm-mingw32.h: Change GNU CC to GCC.
13172
13173 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
13174
13175 * config/i386/winnt.c (associated_type): Artificial methods are not
13176 affected by the import/export status of their class unless they are
13177 COMDAT.
13178 (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
13179
13180 * config/i386/winnt.c: Fix GCC copyright comment.
13181
13182 2003-07-16 Gabriel Dos Reis <gcc@integrable-solutions.net>
13183
13184 PR c++/11531
13185 * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
13186 not recursing on hard error.
13187 (diagnostic_for_decl): Likewise.
13188 * diagnostic.def: Rearrange.
13189
13190 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
13191
13192 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13193 If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
13194
13195 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
13196 Richard Henderson <rth@redhat.com>
13197
13198 * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
13199 to decide if to access a _Unwind_Ptr or a _Unwind_Word.
13200 (_Unwind_SetGR): Likewise.
13201 (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
13202 (Unwind_SpTmp): New typedef.
13203 (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
13204 (uw_update_context): Use _Unwind_GetPtr.
13205 (init_dwarf_reg_size_table): Move above uw_init_context_1.
13206 (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
13207 Use _Unwind_SetSpColumn.
13208 (uw_install_context_1): Don't initialize dwarf_reg_size_table.
13209 Use _Unwind_GetPtr.
13210
13211 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
13212
13213 * c.opt: Document more options.
13214 * toplev.c (documented_lang_options): Remove all local help strings.
13215
13216 2003-07-15 Mark Mitchell <mark@codesourcery.com>
13217
13218 PR debug/11473
13219 * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
13220 base classes.
13221
13222 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
13223
13224 PR target/10795
13225 * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
13226 swap comparison operands if doing so would generate an
13227 unrecognizable insn.
13228
13229 2003-07-15 Eric Botcazou <ebotcazou@libertysurf.fr>
13230
13231 PR optimization/11320
13232 * sched-int.h (struct deps) [reg_conditional_sets]: New field.
13233 (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
13234 * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
13235 current_sched_info->compute_jump_reg_dependencies. Record which
13236 registers are used and which registers are set by the jump.
13237 Clear deps->reg_conditional_sets after a barrier.
13238 Set deps->reg_conditional_sets if the insn is a COND_EXEC.
13239 Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
13240 (init_deps): Initialize reg_conditional_sets.
13241 (free_deps): Clear reg_conditional_sets.
13242 * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
13243 Mark registers live on entry of the fallthrough block and conditionally
13244 set as set by the jump. Mark registers live on entry of non-fallthrough
13245 blocks as used by the jump.
13246 * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
13247 Mark new parameters as unused.
13248
13249 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
13250
13251 * doc/invoke.texi: Resync MIPS -march documentation.
13252
13253 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
13254
13255 * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
13256 (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
13257 (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
13258 * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
13259 (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
13260 (mips_issue_rate): Handle PROCESSOR_R9000.
13261 (mips_use_dfa_pipeline_interface): Likewise.
13262 * config/mips/9000.md: New file.
13263 * config/mips/mips.md: Include it.
13264 (define_attr cpu): Add r9000.
13265 (mulsi3_mult3): Use "mul" for rm9000 code.
13266
13267 2003-07-15 Stan Cox <scox@redhat.com>
13268
13269 * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
13270 (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
13271 (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
13272 * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
13273 (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
13274 (mips_issue_rate): Handle PROCESSOR_R7000.
13275 (mips_use_dfa_pipeline_interface): Likewise.
13276 * config/mips/7000.md: New file.
13277 * config/mips/mips.md: Include it.
13278 (define_attr cpu): Add r7000.
13279 (mulsi3_mult3): Use "mul" for rm7000 code.
13280
13281 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
13282
13283 * config/mips/mips.md (define_attr type): Add condmove. Use it for
13284 the conditional move patterns.
13285 * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
13286 Check for condmove type.
13287 (ir_vr54_arith): Add move type.
13288 * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
13289 * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
13290
13291 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
13292
13293 * c-opts.c (print_help): Remove.
13294 (c_common_handle_option): Don't handle --help.
13295 * c.opt: Document some options.
13296 (--help): Remove.
13297 * opts.c (print_filtered_help): New.
13298 (print_help): Use it.
13299
13300 2003-07-14 Geoffrey Keating <geoffk@apple.com>
13301
13302 * c-common.c (c_common_type_for_mode): Handle V4DFmode.
13303 * tree.c: (build_common_tree_nodes_2): Likewise.
13304 * tree.h (enum tree_index): Add TI_V4DF_TYPE.
13305 (V4DF_type_node): New.
13306
13307 * c-opts.c (push_command_line_include): Don't free deferred_opts,
13308 we'll need it.
13309 (finish_options): Reset init_cursor.
13310
13311 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
13312
13313 * expr.c (expand_assignment): Remove an unused argument
13314 SUGGEST_REG.
13315 * expr.h: Update the prototype.
13316 * function.c: Update the callers.
13317 * stmt.c: Likewise.
13318
13319 2003-07-14 Mark Mitchell <mark@codesourcery.com>
13320
13321 PR debug/11098
13322 * integrate.c (copy_decl_for_inlining): Do not mark copied decls
13323 as DECL_ABSTRACT.
13324
13325 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
13326
13327 * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
13328 with __cplusplus, not "we must use the C++ compiler's type"
13329 * fixinc/inclhack.def (void_null): Note that Interix needs this.
13330 * fixinc/fixincl.x: Regenerate.
13331
13332 2003-07-14 Geoffrey Keating <geoffk@apple.com>
13333
13334 * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
13335 and unseen_objects from the global data before calling
13336 __deregister_frame_info_bases.
13337 (examine_objects): Insert objects into the seen_objects list,
13338 not unseen_objects.
13339 (_Unwind_Find_FDE): Always unlock the global object lists, even if
13340 we couldn't allocate a data structure to put in it.
13341
13342 * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
13343 (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
13344 (SET_TYPE_PROTOCOL_LIST): New.
13345 * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
13346 (get_object_reference): Likewise.
13347
13348 2003-07-14 Jan Hubicka <jh@suse.cz>
13349
13350 * cfglayout.c (locator_file): Break out from ....
13351 (insn_file): ... here.
13352 (locator_line): Break out from ....
13353 (insn_line): ... here.
13354 * rtl.h (locator_file, locator_line): Declare.
13355 (final_start_function): Set proper line/file info.
13356
13357 2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
13358
13359 * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
13360 handled by pp_c_cast_expression.
13361
13362 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
13363
13364 * config/mips/mips.c (mips_expand_prologue): Use a single insn to
13365 allocate 32768 bytes of stack. Use addition rather than subtraction
13366 when a single insn is enough.
13367 * config/mips/mips.md: Remove insns and splitters for subtracting
13368 constants.
13369 (subsi3): Only accept register operands.
13370 (subsi3_internal): Likewise. Use for TARGET_MIPS16 as well.
13371 (subdi3_internal_3, subsi3_internal_2): Likewise.
13372 (casesi): Use expand_binop to subtract the lower bound.
13373
13374 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
13375
13376 * config/mips/mips.c (mips_in_small_data_p): Don't handle
13377 TARGET_MIPS16 specially.
13378
13379 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
13380
13381 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
13382 mips_output_aligned_bss.
13383 * config/mips/linux.h: Likewise.
13384 * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
13385 * config/mips/mips.c (mips_output_aligned_bss): New function.
13386
13387 * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
13388 * config/mips/elf64.h: Likewise.
13389
13390 * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
13391 mips_declare_object_name.
13392 (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
13393 * config/mips/elf64.h: As for elf.h.
13394 * config/mips/iris6.h: Likewise.
13395 * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
13396 * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
13397 do...while (0) block.
13398 * config/mips/mips-protos.h (mips_declare_object_name): Declare.
13399 (mips_finish_declare_object): Declare.
13400 * config/mips/mips.c (mips_declare_object_name): New function.
13401 (mips_finish_declare_object): New function.
13402
13403 * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
13404 * config/mips/linux.h: Likewise.
13405
13406 * config/mips/mips.c (inside_function): Delete.
13407 (file_in_function_warning, ignore_line_number): Delete.
13408 (mips_output_filename): Don't warn about changing filenames within
13409 a function.
13410 (mips_output_lineno): Update accordingly.
13411 (mips_output_function_prologue): Don't reset the deleted variables.
13412 * config/mips/mips.h (inside_function): Delete.
13413 (file_in_function_warning, ignore_line_number): Delete.
13414
13415 * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
13416 * config/mips/elf64.h: Likewise.
13417 * config/mips/openbsd.h: Likewise.
13418 * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
13419 * config/mips/linux.h: Likewise.
13420 * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
13421 (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
13422
13423 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
13424 to the list of include files when using gas.
13425 (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
13426 * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
13427 * config/mips/elf64.h: Likewise.
13428 * config/mips/iris5.h: Likewise.
13429 * config/mips/linux.h: Likewise.
13430 * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
13431 * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
13432 (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
13433 * config/mips/sdb.h: ...this new file.
13434
13435 2003-07-14 Douglas Rupp <rupp@gnat.com>
13436
13437 * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
13438 argument to getcwd; use fixed buffer instead.
13439
13440 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
13441
13442 * fixinc/mkfixinc.sh: Treat OpenBSD normally.
13443 * fixinc/fixinc.wrap: Delete.
13444
13445 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
13446
13447 * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
13448 don't have 2.
13449
13450 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
13451
13452 * ggc-page.c (struct globals): Add new fields to keep track of the
13453 total allocated memory and overhead.
13454 (ggc_print_statistics): Print them.
13455 (ggc_alloc): Keep track of the total allocated memory and the
13456 overhead.
13457
13458 * tree.c (dump_tree_statistics): Increase spacing.
13459 (enum tree_node_kind): Move to ...
13460 * tree.h (enum tree_node_kind): ... here.
13461 (tree_node_counts, tree_node_sizes): Declare.
13462
13463 2003-07-14 James A. Morrison <ja2morri@student.math.uwaterloo.ca>
13464
13465 * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
13466
13467 2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13468
13469 PR optimization/11440
13470 * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
13471 SIGN_EXTRACT SETs.
13472
13473 2003-07-14 Alan Modra <amodra@bigpond.net.au>
13474
13475 * doc/tm.texi (BLOCK_REG_PADDING): Describe.
13476 * expr.h (struct locate_and_pad_arg_data): Add where_pad.
13477 (emit_group_load, emit_group_store): Adjust declarations.
13478 Remove most occurrences of #ifdef TREE_CODE.
13479 * expr.c (emit_group_load): Add "type" param, and use
13480 BLOCK_REG_PADDING to determine need for a shift. Optimize non-
13481 aligned accesses if !SLOW_UNALIGNED_ACCESS.
13482 (emit_group_store): Likewise.
13483 (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
13484 emit_group_load and emit_group_store calls.
13485 * calls.c (store_unaligned_arguments_into_pseudos): Tidy. Use
13486 BLOCK_REG_PADDING to determine whether we need endian_correction.
13487 (load_register_parameters): Localize vars. Handle shifting of
13488 small values to the correct end of regs. Adjust emit_group_load
13489 call.
13490 (expand_call, emit_library_call_value_1): Adjust emit_group_load
13491 and emit_group_store calls.
13492 * function.c (assign_parms): Set mem alignment for stack slots.
13493 Adjust emit_group_store call. Store values at the "wrong" end
13494 of regs to the stack. Use BLOCK_REG_PADDING.
13495 (locate_and_pad_parm): Save where_pad.
13496 (expand_function_end): Adjust emit_group_load call.
13497 * stmt.c (expand_value_return): Adjust emit_group_load call.
13498 * Makefile.in (calls.o): Depend on $(OPTABS_H).
13499 * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
13500 (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
13501 (MUST_PASS_IN_STACK): Define.
13502 (BLOCK_REG_PADDING): Define.
13503 * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
13504 (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
13505 * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
13506 (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
13507 Act on AGGREGATES_PAD_UPWARD_ALWAYS.
13508
13509 2003-07-13 Aaron W. LaFramboise <awlaframboise@aol.com>
13510
13511 * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
13512
13513 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13514
13515 * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
13516 both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
13517
13518 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
13519
13520 PR other/11123
13521 * toplev.c: Don't cut off option names.
13522
13523 2003-07-13 Andreas Jaeger <aj@suse.de>
13524
13525 * c-decl.c (link_hash_hash): Avoid warning about casting pointer
13526 to integer of different size.
13527
13528 2003-07-13 Kazu Hirata <kazu@cs.umass.edu>
13529
13530 * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
13531 to (eq (and X 1) 0).
13532
13533 2003-07-13 Andreas Jaeger <aj@suse.de>
13534
13535 * config.gcc: Add pmmintrin.h for x86_64-*-*.
13536
13537 2003-07-13 Zack Weinberg <zack@codesourcery.com>
13538
13539 * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
13540 (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
13541 list. Move these all together down by cpplib.
13542
13543 * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
13544 definition of CPPCHAR_SIGNED_T.
13545
13546 * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
13547 * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
13548 * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
13549
13550 * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
13551 * cppinit.c (cpp_create_reader): Likewise.
13552
13553 * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
13554 * cpptrad.c: Likewise. All callers changed.
13555 * cpplib.c: All callers changed.
13556 * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
13557 * hashtable.h: Define GTY(x) to nothing here too.
13558
13559 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13560
13561 * stor-layout.c (compute_record_mode): Remove very obsolete test
13562 that forces BLKmode for records with fields crossing word boundary.
13563
13564 2003-07-13 Zack Weinberg <zack@codesourcery.com>
13565
13566 * Makefile.in: Remove orphan reference to acconfig.h.
13567
13568 2003-07-13 Andreas Jaeger <aj@suse.de>
13569
13570 * cgraphunit.c: Convert prototypes to ISO C90.
13571
13572 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
13573
13574 * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
13575 (for OpenBSD).
13576 * fixinc/fixincl.x: Rebuild.
13577
13578 2003-07-12 Zack Weinberg <zack@codesourcery.com>
13579
13580 * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
13581 i?86-*-*. Use correct name of cache variable.
13582 * configure: Regenerate.
13583
13584 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
13585
13586 * config/alpha/alpha.c: Fix comment typos.
13587 * config/alpha/alpha.md: Likewise.
13588 * config/arm/arm.c: Likewise.
13589 * config/arm/arm.md: Likewise.
13590 * config/arm/lib1funcs.asm: Likewise.
13591 * config/avr/avr.md: Likewise.
13592 * config/arm/README-interworking: Fix typos.
13593
13594 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
13595
13596 * c-format.c: Fix comment formatting.
13597 * c-typeck.c: Likewise.
13598 * coverage.c: Likewise.
13599 * cppcharset.c: Likewise.
13600 * cpplib.c: Likewise.
13601 * dbxout.c: Likewise.
13602 * gcov-io.h: Likewise.
13603 * toplev.c: Likewise.
13604
13605 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
13606
13607 * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
13608 fix.
13609
13610 2003-07-12 Zack Weinberg <zack@codesourcery.com>
13611
13612 * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
13613 uses three-argument AC_DEFINE so no acconfig.h entries are
13614 needed.
13615 (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
13616 which contains the GAS version number as a scaled integer.
13617 (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers. Add
13618 ability to check for ELF assembler.
13619 (gcc_GAS_CHECK_FEATURE): New macro.
13620 * configure.in: Use gcc_AC_CHECK_TYPE. Rewrite all
13621 assembler feature checks using gcc_GAS_CHECK_FEATURE.
13622 Use three-argument AC_DEFINE everywhere.
13623 * acconfig.h: Deleted.
13624 * config.in, configure: Regenerate.
13625
13626 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
13627
13628 * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
13629 (on OpenBSD).
13630 * fixinc/fixincl.x: Regenerate.
13631
13632 * fixinc/inclhack.def (gnu_types): Improve comment.
13633
13634 2003-07-12 Andreas Jaeger <aj@suse.de>
13635
13636 * fp-test.c (main): Use ISO C90 prototype.
13637
13638 * version.c: Remove unneded include of ansidecl.h.
13639
13640 * cgraph.h: Convert prototypes to ISO C90.
13641 * cgraph.c: Likewise.
13642 * fix-header.c: Likewise.
13643 * ra.h: Likewise.
13644 * protoize.c: Likewise.
13645
13646 2003-07-12 Jan Hubicka <jh@suse.cz>
13647
13648 * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
13649 warning.
13650
13651 2003-07-12 Jan Hubicka <jh@suse.cz>
13652 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13653
13654 * cgraph.c (cgraph_max_uid): New global variable.
13655 (cgraph_node): Set uid field.
13656 (create_edge): Keep inline flags consistent.
13657 (dump_cgraph): Dump more info.
13658 * cgraph.h (struct cgraph_local_info): Remove inline_many and
13659 can_inline_once; add inlinable, disgread_inline_limits, and self_insn
13660 (struct cgraph_global_info): Add insns, calls, cloned_times,
13661 will_be_output.
13662 (struct cgraph_node): Add uid.
13663 (struct cgraph_edge): Add inline_call.
13664 (cgraph_max_uid, cgraph_inline_p): Declare.
13665 * cgraph.c: Include params.h and fibheap.h
13666 (cgraph_mark_functions_to_inline_once): Kill.
13667 (INSNS_PER_CALL): New constant.
13668 (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
13669 static variables.
13670 (cgraph_finalize_function): Do not analyze inlining.
13671 (cgraph_finalize_compilation_unit): Set inlining attributes.
13672 (cgraph_mark_functions_to_output): More consistency checks.
13673 (cgraph_optimize_function): Set current_function_decl to NULL.
13674 (cgraph_expand_function): Use new inline flags.
13675 (cgraph_postorder): Expand from cgraph_expand_functions.
13676 (INLINED_TIMES, SET_INLINED_TIMES): New macros.
13677 (cgraph_inlined_into, cgraph_inlined_callees,
13678 cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
13679 cgraph_mark_inline, cgraph_check_inline_limits,
13680 cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
13681 cgraph_decide_inlining, cgraph_inline_p): New functions.
13682 * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
13683 PARAM_INLINE_UNIT_GROWTH): New parameters.
13684 * tree-inline.c (struct inline_data): New field current_decl.
13685 (expand_call_inline): Avoid forward declarations; use
13686 inlinable_function_p.
13687 (optimize_inline_calls): Set id.current_decl.
13688
13689 2003-07-11 Andrew Pinski <pinskia@physics.uc.edu>
13690
13691 * configure.in: Remove wrongly added definition of
13692 local_prefix.
13693 * configure: Regenerate.
13694
13695 2003-07-11 Dan Nicolaescu <dann@ics.uci.edu>
13696
13697 * rtl.def (NOTE): Do not use padding.
13698
13699 2003-07-11 Dara Hazeghi <dhazeghi@yahoo.com>
13700
13701 * doc/install.tex: Update required binutils for i?86-*-linux*
13702
13703 2003-07-11 Richard Henderson <rth@redhat.com>
13704
13705 * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
13706
13707 2003-07-11 Mark Mitchell <mark@codesourcery.com>
13708
13709 * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
13710 TRANSLATION_UNIT_DECL as top_level.
13711
13712 2003-07-11 Jakub Jelinek <jakub@redhat.com>
13713
13714 * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
13715 then fall back to cmpstrM.
13716 * builtins.c (expand_builtin_memcmp): Likewise.
13717 * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
13718 (s390_expand_cmpmem): ... this.
13719 * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
13720 cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
13721 from cmpstr* patterns. Rename call to s390_expand_cmpstr
13722 to s390_expand_cmpmem.
13723 * config/s390/s390.c (s390_expand_cmpstr): Rename to...
13724 (s390_expand_cmpstr): ... this. Rename cmpstr* instructions
13725 to cmpmem*.
13726 * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
13727 cmpstr* patterns.
13728 * doc/md.texi (cmpstrM): Describe as String compare insn, not
13729 Block compare insn.
13730 (cmpmemM): Add.
13731
13732 2003-07-11 Loren James Rittle <ljrittle@acm.org>
13733
13734 * config/i386/freebsd.h (SET_ASM_OP): Remove.
13735 (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
13736 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
13737 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
13738
13739 2003-07-11 Richard Henderson <rth@redhat.com>
13740
13741 * function.c (assign_parms): Don't recombine complex args if
13742 fnargs is unchanged from orig_fnargs.
13743 (split_complex_args): Return args without complex before copying.
13744 Re-layout the modified parameters.
13745
13746 2003-07-11 J"orn Rennecke <joern.rennecke@superh.com>
13747
13748 * regclass.c (choose_hard_reg_mode): Add third argument.
13749 Changed all callers.
13750 * rtl.h (choose_hard_reg_mode): Update declaration.
13751 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13752 Take HARD_REGNO_CALL_PART_CLOBBERED into account.
13753
13754 2003-07-11 Geoffrey Keating <geoffk@apple.com>
13755
13756 * c-decl.c (finish_decl): Handle 'used' here...
13757 * cgraphunit.c (cgraph_finalize_function): ... and here ...
13758 * c-common.c: (handle_used_attribute): ... not here.
13759
13760 * configure.in (onstep): Support --enable-intermodule.
13761 * Makefile.in (OBJS-common): New.
13762 (OBJS-md): New.
13763 (OBJS-archive): New.
13764 (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
13765 (OBJS-onestep): New.
13766 (libbackend.a): Support @onestep@.
13767 (libbackend.o): New.
13768 * configure: Regenerate.
13769
13770 * c-common.h (c_reset_state): New prototype.
13771 (c_parse_file): New prototype.
13772 (finish_file): Move prototype from c-tree.h.
13773 * c-decl.c: Include <hashtab.h>.
13774 (builtin_decls): New.
13775 (current_file_decl): New.
13776 (duplicate_decls): Add extra parameter. Change all callers. Don't
13777 output duplicate common symbols.
13778 (link_hash_hash): New.
13779 (link_hash_eq): New.
13780 (poplevel): Handle popping of the top level.
13781 (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
13782 (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
13783 (pushdecl_top_level): Likewise.
13784 (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
13785 (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
13786 (finish_decl): Handle TRANSLATION_UNIT_DECL.
13787 (merge_translation_unit_decls): New.
13788 (c_write_global_declarations): New.
13789 (c_reset_state): New.
13790 (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
13791 * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
13792 * c-objc-common.c (c_cannot_inline_tree_fn): Handle
13793 TRANSLATION_UNIT_DECL.
13794 (c_objc_common_finish_file): Call merge_translation_unit_decls.
13795 * c-opts.c (in_fnames): Rename from in_fname.
13796 (c_common_decode_option): Handle multiple input filenames.
13797 (c_common_post_options): Likewise.
13798 (c_common_parse_file): Likewise; also, call c_parse_file rather than
13799 yyparse.
13800 * c-parse.in: Move cleanup code to c_parse_file.
13801 (free_parser_stacks): Move contents to c_parse_file.
13802 (c_parse_file): New.
13803 * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
13804 for integer types.
13805 (C_DECL_FILE_SCOPE): New.
13806 (finish_file): Move prototype to c-common.h.
13807 (merge_translation_unit_decls): New prototype.
13808 (comptypes): Add extra parameter to prototype.
13809 (c_write_global_declarations): New prototype.
13810 * c-typeck.c (tagged_types_tu_compatible_p): New.
13811 (function_types_compatible_p): Add extra parameter, change all callers.
13812 (type_lists_compatible_p): Likewise.
13813 (comptypes): Likewise.
13814 (struct tagged_tu_seen): New.
13815 (tagged_tu_seen_base): New.
13816 (build_unary_op): Handle TRANSLATION_UNIT_DECL.
13817 (c_mark_addressable): Remove #if 0 code.
13818 * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
13819 comment explaining why it shouldn't have to.
13820 * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
13821 options.
13822 * cppinit.c (cpp_read_next_file): New.
13823 (cpp_read_main_file): Use it.
13824 * cpplib.c (undefine_macros): New.
13825 (cpp_undef_all): New.
13826 * cpplib.h (cpp_read_next_file): Prototype.
13827 (cpp_undef_all): Prototype.
13828 * langhooks-def.h (write_global_declarations): Remove prototype.
13829 * toplev.h (write_global_declarations): Add prototype.
13830 * tree.c (decl_type_context): Use switch statement, handle
13831 TRANSLATION_UNIT_DECL.
13832 * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
13833 (TRANSLATION_UNIT_DECL): New kind of tree.
13834 * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
13835 * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
13836 * doc/invoke.texi: Make attempt to document new functionality.
13837
13838 2003-05-19 Per Bothner <bothner@apple.com>
13839
13840 * gcc.c (combine_inputs): New.
13841 (process_command): Set combine_inputs.
13842 (do_spec_1): Handle combine_inputs.
13843 (main): Likewise.
13844
13845 2003-07-10 James E Wilson <wilson@tuliptree.org>
13846
13847 PR optimization/9745
13848 * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
13849 loop_insn_emit_before.
13850 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
13851
13852 2003-07-10 Zack Weinberg <zack@codesourcery.com>
13853
13854 * cppcharset.c: Fix comment.
13855 (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
13856 (EILSEQ): #define to EINVAL if not already defined.
13857 (convert_using_iconv): #if out when !HAVE_ICONV.
13858 (init_iconv_desc): Handle !HAVE_ICONV here...
13859 (cpp_init_iconv): ...not here.
13860
13861 2003-07-11 Neil Booth <neil@daikokuya.co.uk>
13862
13863 * common.opt: More --help messages.
13864 * opts.c (print_help): Use puts().
13865 * toplev.c (f_options): Remove help text.
13866 (display_help): Don't dump f_options.
13867
13868 2003-07-11 Nathanael Nerode <neroden@gcc.gnu.org>
13869
13870 * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
13871 Move i?86-*-interix* to the don't-fix list.
13872 * fixinc/fixinc.interix: Delete with extreme prejudice.
13873
13874 2003-07-10 Dara Hazeghi <dhazeghi@yahoo.com>
13875
13876 PR bootstrap/10758
13877 * doc/install.texi: Document requirements for ia64-*-hpux* target.
13878
13879 2003-07-10 Roger Sayle <roger@eyesopen.com>
13880
13881 * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
13882
13883 2003-07-10 Zack Weinberg <zack@codesourcery.com>
13884
13885 * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
13886 one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
13887 one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
13888 convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
13889 convert_no_conversion, convert_using_iconv): New functions.
13890 (APPLY_CONVERSION): New macro.
13891 (struct conversion, conversion_tab): New data structure.
13892 (init_iconv_desc): Check conversion_tab for a custom conversion
13893 primitive before trying to use iconv.
13894 (convert_cset): Deleted.
13895 (cpp_init_iconv): Use UTF- terminology, not UCS-.
13896 (_cpp_destroy_iconv): Update to match.
13897 (_cpp_valid_ucn): We don't need iconv to implement UCNs.
13898 (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
13899 (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
13900 (_cpp_interpret_string_notranslate): New function, moved here
13901 from cpplib.c.
13902
13903 * cpphash.h (convert_f, struct cset_converter): New types.
13904 (struct cpp_reader): narrow_cset_desc and wide_cset_desc
13905 are now struct cset_converter, not bare iconv_t.
13906 Update prototypes.
13907 * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
13908 all callers changed.
13909
13910 2003-07-10 Kelley Cook <kelleycook@wideopenwest.com>
13911
13912 * Makefile.in (options.h): Depend on Makefile. Add move-if-change
13913 to opts.sh command line.
13914 * opts.sh: Write to temporary files with a move-if-change at the end.
13915
13916 2003-07-10 Denis Chertykov <denisc@overta.ru>
13917 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13918
13919 * combine.c (gen_binary): Handle the CLOBBER rtx and
13920 don't build a binary operation with it.
13921
13922 2003-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13923
13924 * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
13925 store_killed_after, store_killed_before): Keep track of the correct
13926 dependency function to use.
13927
13928 2003-07-10 Steven Bosscher <steven@gcc.gnu.org>
13929 * toplev.c (do_compile): Don't try to open dump files before
13930 lang_dependent_init initializes dump_base_name.
13931
13932 2003-07-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13933
13934 * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
13935 Use ARRAY_SIZE.
13936 * config/frv/frv.c (frv_expand_builtin): Likewise.
13937 * config/sh/sh.c (sh_media_init_builtins): Likewise.
13938
13939 2003-07-09 Mark Mitchell <mark@codesourcery.com>
13940
13941 PR c++/10032
13942 * doc/invoke.texi (C++ Dialect Options): Change documentation of
13943 -fpermissive.
13944
13945 2003-07-10 J"orn Rennecke <joern.rennecke@superh.com>
13946
13947 * tm.texi (RETURN_ADDR_OFFSET): Document.
13948
13949 2003-07-10 Nathan Sidwell <nathan@codesourcery.com>
13950
13951 * gcov-io.h: Update documentation.
13952 (GCOV_UNSIGNED2STRING): New.
13953 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
13954 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
13955 GCOV_TAG_SUMMARY_LENGTH): Adjust.
13956 (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
13957 GCOV_TAG_COUNTER_NUM): New.
13958 (GCOV_BLOCK_SIZE): Number of words.
13959 (gcov_var): Adjust buffer type.
13960 * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
13961 (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
13962 count, not byte count.
13963 (gcov_open): Adjust overread init.
13964 (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
13965 gcov_write_string, gcov_write_tag, gcov_write_length,
13966 gcov_write_tag_length): Adjust.
13967 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
13968 (gcov_sync, gcov_seek): Adjust.
13969 * gcov-dump.c (print_usage): Show gcc version only.
13970 (dump_file): Use GCOV_UNSIGNED2STRING.
13971 (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
13972 * gcov.c (print_version): Show gcc version only.
13973 (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
13974 GCOV_TAG_*_NUM macros.
13975 (read_count_file): Use GCOV_UNSIGNED2STRING. Use
13976 GCOV_TAG_COUNTER_LENGTH.
13977 * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
13978 Use GCOV_TAG_COUNTER_NUM.
13979 * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
13980 (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
13981
13982 2003-07-10 Andreas Schwab <schwab@suse.de>
13983
13984 * gcov-dump.c (dump_file): Fix missing address operator.
13985
13986 2003-07-10 Kazu Hirata <kazu@cs.umass.edu>
13987
13988 PR c/11449
13989 * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
13990 of HOST_WIDE_INT.
13991 (fold_single_bit_test): If sign_bit_p() fails, assume that the
13992 bit being tested is not a sign bit.
13993
13994 2003-07-10 Kazu Hirata <kazu@cs.umass.edu>
13995
13996 * config/h8300/h8300.md (a peephole2): New.
13997
13998 2003-07-10 Alexandre Oliva <aoliva@redhat.com>
13999
14000 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
14001 * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
14002 from ld-linux.so.2 to ld.so.1.
14003 2001-11-18 Alexandre Oliva <aoliva@redhat.com>
14004 * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
14005 * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
14006 nor -Wl,-rpath-link.
14007 (LIB_SPEC): Add -rpath-link if !static.
14008 2001-08-22 Alexandre Oliva <aoliva@redhat.com>
14009 * config/mn10300/mn10300.c (mn10300_protect_label): New
14010 variable.
14011 * config/mn10300/linux.h (PRINT_OPERAND,
14012 PRINT_OPERAND_ADDRESS): Set it during their execution.
14013 (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
14014 mn10300_protect_label is set.
14015 * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
14016 -Wl,-rpath-link.
14017 (LIB_SPEC, STARTFILE_SPEC): Define.
14018 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
14019 * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
14020 FLOAT_BIT_ORDER_MISMATCH.
14021 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
14022 * config.gcc (am33_2.0-*-linux*): Added.
14023 * config/mn10300/linux.h: New.
14024 * config/mn10300/t-linux: New.
14025
14026 2003-07-10 Andreas Jaeger <aj@suse.de>
14027
14028 * fold-const.c: Properly wrap prototypes.
14029
14030 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
14031
14032 2003-06-16 Alexandre Oliva <aoliva@redhat.com>
14033 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
14034 Moved from...
14035 * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
14036 * config/mn10300/mn10300.h: GTY-declare it.
14037 2003-06-11 Alexandre Oliva <aoliva@redhat.com>
14038 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
14039 prototype. Use incoming RTL argument.
14040 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
14041 * config/mn10300/mn10300.md (int_label): Move C statements...
14042 (GOTaddr2picreg): ... here.
14043 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
14044 * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
14045 * config/mn10300/mn10300.c (mn10300_encode_section_info):
14046 ... here. New function.
14047 (TARGET_ENCODE_SECTION_INFO): Define to it.
14048 2001-11-04 Alexandre Oliva <aoliva@redhat.com>
14049 * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
14050 pattern name.
14051 (mn10300_loadPC): Define as insn splittable after reload.
14052 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
14053 * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
14054 be defined in .rodata even in PIC, now that the assembler
14055 supports that.
14056 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
14057 * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
14058 symbol take an underscore prefix.
14059 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
14060 * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
14061 legitimize_pic_address): Declare.
14062 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
14063 the PIC register as fixed.
14064 (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
14065 (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
14066 PIC.
14067 (LEGITIMATE_PIC_OPERAND_P): Define.
14068 (PIC_OFFSET_TABLE_REGNUM): Define.
14069 (GOT_SYMBOL_NAME): Define.
14070 (SYMBOLIC_CONST_P): Define.
14071 (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
14072 symbols.
14073 (MN10300_GLOBAL_P): Test it.
14074 (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
14075 (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
14076 * config/mn10300/mn10300.c (print_operand): Handle unspec.
14077 (expand_prologue): Set PIC register.
14078 (call_address_operand): Don't match SYMBOL_REFs in PIC.
14079 (legitimize_address): Call legitimize_pic_address.
14080 (legitimize_pic_address): New fn.
14081 (legitimate_pic_operand_p): New fn.
14082 * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
14083 (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
14084 UNSPEC_PLT): New constants.
14085 (pop_pic_reg): New insn.
14086 (movsi): Adjust non-PIC addresses.
14087 (builtin_setjmp_receiver): Restore the PIC register.
14088 (casesi): New insn.
14089 (call): Adjust non-PIC addresses.
14090 (int_label, GOTaddr2picreg): New expands.
14091 (am33_loadPC): New insn.
14092 (mn10300_loadPC): New expand.
14093 (call_next_insn): New insn.
14094 (add_GOT_to_pic_reg): New expand.
14095 (symGOT2reg, symGOT2reg_i): New expands.
14096 (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
14097 (sym2PIC, sym2PLT): New expands.
14098
14099 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
14100
14101 * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
14102 2001-05-01 Alexandre Oliva <aoliva@redhat.com>
14103 * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
14104 to flag_unsafe_math_optimizations.
14105 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
14106 * config/mn10300/mn10300.c (expand_prologue): Mark
14107 FP-register-saving insns as frame-related.
14108 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
14109 * config/mn10300/mn10300.c
14110 (mn10300_get_live_callee_saved_regs): Don't search past
14111 LAST_EXTENDED_REGNUM.
14112 (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
14113 * config/mn10300/mn10300.md: Remove excessive line breaks from
14114 `@' output patterns that were accounted as additional
14115 alternatives.
14116 * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
14117 Re-introduce changes accidentally removed in Richard Sandiford's
14118 2000-12-05's patch.
14119 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14120 Re-instate am33-2 lost in merge from net GCC.
14121 2000-08-26 Alexandre Oliva <aoliva@redhat.com>
14122 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
14123 floating-point registers.
14124 2000-08-07 Alexandre Oliva <aoliva@redhat.com>
14125 * config/mn10300/mn10300.md (movdf): Revert some am33-specific
14126 pessimizations that had gone in on 2000-05-08.
14127 2000-06-28 Graham Stott <grahams@cygnus.co.uk>
14128 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
14129 2000-06-22 Graham Stott <grahams@cygnus.co.uk>
14130 * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
14131 operand 0.
14132 * (movhi): Likewise.
14133 * (movsi): Likewise.
14134 * (movsf): Likewise.
14135 * (movdi): Likewise.
14136 * (movdf): Likewise.
14137 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
14138 * config/mn10300/mn10300.c (fp_regs_to_save): New function.
14139 (can_use_return_insn, initial_offset): Add fp_regs_to_save.
14140 (expand_prologue, expand_epilogue): Save and restore FP regs.
14141 2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
14142 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
14143 2000-05-13 Alexandre Oliva <aoliva@cygnus.com>
14144 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
14145 subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
14146 Do not clobber cc0.
14147 2000-05-12 Alexandre Oliva <aoliva@cygnus.com>
14148 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
14149 Discourage the two-argument, longer opcodes.
14150 (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
14151 ones.
14152 * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
14153 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
14154 * config/mn10300/mn10300.md (cmpsf): New pattern.
14155 (branch): Test mdep.fpCC and output fbCC.
14156 * config/mn10300/mn10300.c (print_operand): Output conditions.
14157 (notice_cc_update): Recognize fcmp and set mdep.fpCC.
14158 2000-05-10 Alexandre Oliva <aoliva@cygnus.com>
14159 * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
14160 mulsf3, divsf3): Use the `F' constraint for FP values.
14161 * config/mn10300/mn10300.c (const_1f_operand): New function.
14162 * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
14163 * config/mn10300/mn10300.md (sqrtsf2): New expand.
14164 (rsqrtsf2): New insn.
14165 2000-05-09 Alexandre Oliva <aoliva@cygnus.com>
14166 * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
14167 previous check-in.
14168 2000-05-08 Alexandre Oliva <aoliva@cygnus.com>
14169 * config/mn10300/mn10300.md (abssf2, negdf2): On
14170 TARGET_AM33_2, expand to...
14171 (abssf2_am33_2, negdf2_am33_2): New insns.
14172 (addsf3, subsf3, mulsf3, divsf3): Likewise.
14173 (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
14174 * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
14175 movdi, movdf): Added FP regs.
14176 * invoke.texi (-mam33-2, -mno-am33-2): Document.
14177 2000-04-29 Alexandre Oliva <aoliva@cygnus.com>
14178 * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
14179 New macros.
14180 (REGNO_AM33_2_FP_P): Renamed to...
14181 (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
14182 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
14183 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
14184 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
14185 regs from GENERAL_REGS.
14186 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
14187 * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
14188 * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
14189 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
14190 2000-04-23 Alexandre Oliva <aoliva@cygnus.com>
14191 * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
14192 as FP_REGS.
14193 2000-04-21 Alexandre Oliva <aoliva@cygnus.com>
14194 * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
14195 (EXTRA_CONSTRAINT): Added OK_FOR_Q.
14196 * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
14197 * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
14198 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
14199 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
14200 AM33/2.0 floating-point registers.
14201 (CONDITIONAL_REGISTER_USAGE): Adjust.
14202 (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
14203 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
14204 (REG_CLASS_FROM_LETTER): Added `f' and `A'.
14205 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
14206 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
14207 (MULTILIB_DIRNAMES): Likewise.
14208 * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
14209 `__AM33_2__' when `-mam33-2' is given.
14210 (TARGET_AM33_2): Define.
14211 (TARGET_SWITCHES): Adjust.
14212 * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
14213 when appropriate.
14214
14215 2003-07-09 Matt Kraai <kraai@alumni.cmu.edu>
14216
14217 * doc/install.texi: Add missing @.
14218
14219 2003-07-09 Bob Wilson <bob.wilson@acm.org>
14220
14221 * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
14222
14223 2003-07-09 Aldy Hernandez <aldyh@redhat.com>
14224
14225 PR/11144
14226 * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
14227
14228 2003-07-09 Nathanael Nerode <neroden@gcc.gnu.org>
14229
14230 PR bootstrap/11043
14231 * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
14232 "x-crtfini.o" with "crtinit.o", "crtfini.o".
14233
14234 * fixinc/inclhack.def (limits_ifndefs): Add select test.
14235 * fixinc/fixincl.x: Rebuild.
14236
14237 * fixinc/inclhack.def (math_exception): Improve bypass and comment.
14238 * fixinc/fixincl.x: Rebuild.
14239
14240 2003-07-09 Hans-Peter Nilsson <hp@bitrange.com>
14241
14242 * doc/install.texi (Configuration): Document the valgrind option
14243 to --enable-checking.
14244
14245 2003-07-09 Jan Hubicka <jh@suse.cz>
14246
14247 * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14248
14249 2003-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14250
14251 * c-lex.c (cb_ident): Cast cstr.text to const char *.
14252
14253 2003-07-09 Nathan Sidwell <nathan@codesourcery.com>
14254
14255 * gcov-io.h: Update documentation.
14256 (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
14257 GCOV_NOTE_MAGIC.
14258 (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
14259 (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
14260 (struct gcov_var): Change buffer's type. Add endian flag.
14261 (gcov_open): Remove mode in libgcov.
14262 (gcov_magic): Prototype.
14263 * gcov-io.c (from_file): New.
14264 (gcov_open): Clear endian flag.
14265 (gcov_magic): New.
14266 (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
14267 pointers.
14268 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
14269 gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
14270 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
14271 * gcov-iov.c (main): Correct cast.
14272 * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
14273 conversion.
14274 (gcov_begin_output): Use GCOV_NOTE_MAGIC.
14275 (coverage_init): Use GCOV_NOTE_SUFFIX.
14276 * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
14277 Rename to gcov_version, and return flag.
14278 (gcov_exit): Use gcov_version.
14279 (__gcov_init): Use gcov_version.
14280 * Makefile.in (coverageexts): Update.
14281 * gcov.c (print_version): Remove endianness conversion.
14282 (create_file_names): Use GCOV_NOTE_SUFFIX.
14283 (read_graph_file): Use gcov_magic.
14284 (read_count_file): Likewise.
14285 * gcov-dump.c (dump_file): Remove endianness conversion, use
14286 gcov_magic.
14287
14288 2003-07-09 Nathan Sidwell <nathan@codesourcery.com>
14289
14290 * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
14291 coverage is on.
14292 * configure: Regenerated.
14293 * Makefile.in (ALL_CFLAGS): Correct its comment.
14294
14295 2003-07-08 Mark Mitchell <mark@codesourcery.com>
14296
14297 * fold-const.c (make_range): Do not access operand 1 for a
14298 zero-operand operator.
14299
14300 2003-07-09 Neil Booth <neil@daikokuya.co.uk>
14301
14302 * toplev.c (warn_dummy, W_options): Die.
14303 (display_help): Don't print W_options.
14304 * common.opt: Add W_options help from toplev.c.
14305
14306 2003-07-09 Andreas Jaeger <aj@suse.de>
14307
14308 * opts.c (wrap_help): Only pass int arguments as arguments to
14309 printf's '*' modifier. Change argument of function.
14310
14311 2003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
14312
14313 * doc/invoke.texi: Fix misspelling of "@item".
14314
14315 2003-07-08 Kazu Hirata <kazu@cs.umass.edu>
14316
14317 * config/i386/i386.md: Remove an old comment about
14318 NOTICE_UPDATE_CC.
14319
14320 2003-07-09 Jan Hubicka <jh@suse.cz>
14321
14322 * cgraph.c (cgraph_node_name): New function.
14323 (dump_cgraph): Use it.
14324 * cgraph.h (cgraph_dump_file): Declare.
14325 (cgraph_node_name): Declare.
14326 * cgraphunit.c: Include timevar.h
14327 (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
14328 (cgraph_optimize_function): Use TV_INTEGRATION.
14329 (cgraph_mark_local_functions): reorganize dumps.
14330 (cgraph_mark_functions_to_inline_once): Likewise.
14331 (cgraph_optimize): Likewise; use timevar.
14332 * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
14333 * toplev.c (dump_file_index): Add DFI_cgraph.
14334 (dump_file_info): Likewise.
14335 (cgraph_dump_file): New global variable.
14336 (do_compile): Open and close cgraph dump.
14337 * invoke.texi (-d): Document new flag; renumber.
14338
14339 2003-07-08 Roger Sayle <roger@eyesopen.com>
14340
14341 PR c/11370
14342 * calls.c (emit_call_1): Don't bother popping the arguments off of
14343 the stack after a noreturn function call; The adjustment is dead.
14344 (expand_call): Likewise.
14345
14346 2003-07-08 Geoffrey Keating <geoffk@apple.com>
14347
14348 * expr.c (MOVE_MAX_PIECES): Move from here...
14349 * defaults.h (MOVE_MAX_PIECES): ... to here.
14350
14351 2003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
14352
14353 * Makefile.in (stage1-start): Handle an empty SUBDIRS.
14354
14355 2003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14356
14357 * genattr.c (internal_dfa_insn_code): Don't prototype.
14358 * genattrtab.c (attr_desc): Add `static_p' field.
14359 (expand_units): Make blockage range and ready cost functions
14360 static.
14361 (write_attr_get): Don't add extern prototypes in C file. Mark
14362 static functions as appropriate.
14363 (find_attr, make_internal_attr): Initialize static_p.
14364 * genattrtab.h (ATTR_STATIC): New macro.
14365 * genautomata.c (output_internal_reset_func): Mark output function
14366 as inline.
14367 (make_internal_dfa_insn_code_attr): Mark output function as static.
14368
14369 2003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14370
14371 * genattrtab.h: Add new macros for attr `special' flags.
14372 * genattrtab.c (attr_desc): Reorder/resize fields better.
14373 Use attr `special' macros in all calls to make_internal_attr.
14374 * genautomata.c: Likewise.
14375
14376 2003-07-09 Jan Hubicka <jh@suse.cz>
14377
14378 * c-common.c (c_estimate_num_insns_1): New static function.
14379 (c_estimate_num_insns): New global function.
14380 * c-common.h (DECL_NUM_STMTS): Rename to...
14381 (DECL_ESTIMATED_INSNS): ... this.
14382 (c_estimate_num_insns): Declare.
14383 * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
14384 * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14385 * c-semantics.c (add_stmt): Do not account statements.
14386 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
14387 New.
14388 * langhooks.h (lang_hooks_for_tree_inlining): Add
14389 estimate_num_insns
14390 * params.def (max-inline-insns-auto, max-inline-insns-auto): set
14391 to 100.
14392 (max-inline-insns): set to 300.
14393 (min-inline-insns): set to 10.
14394 * tree-inline.c (struct inline_data): Rename inlined_stmts to
14395 inlined-insns.
14396 (INSNS_PER_STMT): Kill.
14397 (inlinable_function_p): Compute and store body size.
14398 (expand_call_inline): Likewise.
14399 (optimize_inline_calls): Likewise.
14400
14401 2003-07-08 James E Wilson <wilson@tuliptree.org>
14402
14403 PR target/10021
14404 * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
14405 loop over new variable t2 instead of t.
14406
14407 2003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
14408
14409 PR bootstrap/11455
14410 * config/i386/winnt.c: Replace use of error(), warning() with
14411 error_with_decl(), warning_with_decl(), throughout.
14412
14413 2003-07-08 Neil Booth <neil@daikokuya.co.uk>
14414
14415 * opts.c (wrap_help): Use unsigned int, not size_t.
14416
14417 2003-07-08 Stephane Carrez <stcarrez@nerim.fr>
14418
14419 * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
14420 as .file/.loc directives are incompatible with linker relaxation.
14421
14422 2003-07-08 Zack Weinberg <zack@codesourcery.com>
14423
14424 * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
14425 * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
14426 * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
14427 * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
14428 * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
14429 * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
14430 Escape { and } characters which are not part of range expressions.
14431 * fixinc/fixincl.x: Regenerate.
14432 * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
14433
14434 2003-07-08 Steven Bosscher <steven@gcc.gnu.org>
14435
14436 PR c/1687
14437 * tree-inline.c (find_alloca_call): Use
14438 walk_tree_without_duplicates, instead of walk_tree.
14439 (find_builtin_longjmp_call): Likewise.
14440 * c-objc-common.c (c_cannot_inline_fn): Likewise.
14441 * c-semantics.c (find_reachable_label): Likewise.
14442
14443 2003-07-08 Jakub Jelinek <jakub@redhat.com>
14444
14445 PR c/11420
14446 * config/i386/i386.c (ix86_check_movabs): New function.
14447 * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
14448 * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
14449 (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
14450
14451 2003-07-08 Chris Demetriou <cgd@broadcom.com>
14452
14453 * Makefile.in (install-po): Cope with empty CATALOGS.
14454
14455 2003-07-08 Richard Sandiford <rsandifo@redhat.com>
14456
14457 * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14458 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
14459 (SECTION_FUNCTION_TEMPLATE): Delete.
14460 * config/mips/elf.h: As for elf64.h.
14461 (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
14462 * config/mips/linux.h: As for elf.h
14463 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14464 * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
14465 (EXTRA_SECTION_FUNCTIONS): Remove sdata_section. Remove the handling
14466 of in_sdata from current_section_name and current_section_flags.
14467 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14468 * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
14469 (MASK_GP_OPT, TARGET_GP_OPT): Delete.
14470 (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
14471 (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
14472 (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
14473 * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
14474 (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
14475 (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
14476 (override_options): Remove setting of MASK_GPOPT.
14477 (mips_output_external): Use mips_in_small_data_p to check whether a
14478 symbol needs an .extern directive. Don't emit such directives for
14479 TARGET_EXPLICIT_RELOCS.
14480 (mips_declare_object): Update accordingly.
14481 (mips_select_rtx_section): Call named_section rather than
14482 SMALL_DATA_SECTION.
14483 (mips_select_section): Use default_elf_section_section for everything
14484 except .text string constants.
14485 (mips_in_small_data_p): New function.
14486 (mips_encode_section_info): Remove small data handling.
14487 (mips_unique_section): Delete.
14488 (iris6_section_type_flags): New function.
14489 * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
14490
14491 2003-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14492
14493 PR Target/11453
14494 * pa.md: Disparage all mtsar constraints.
14495 (extzv, extv, insv): Don't fail on length of {32|64}.
14496
14497 2003-07-08 Zack Weinberg <zack@codesourcery.com>
14498
14499 * system.h: Poison MAP_CHARACTER.
14500 * config/i370/i370-protos.h (mvs_map_char): Delete.
14501 * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
14502 * config/i370/i370.h (MAP_CHARACTER): Delete definition.
14503 (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
14504
14505 2003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
14506
14507 * toplev.c (randomize): Correct call to time().
14508
14509 2003-07-08 Jakub Jelinek <jakub@redhat.com>
14510
14511 * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
14512 REG_EQUIV notes as well.
14513
14514 2003-07-08 Kazu Hirata <kazu@cs.umass.edu>
14515
14516 * doc/md.texi: Fix the description of addmodecc.
14517
14518 2003-07-07 Zack Weinberg <zack@codesourcery.com>
14519
14520 * Makefile.in (top_builddir): Set to "..", not ".".
14521 (INTLLIBS, INTLDEPS): Delete.
14522 (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
14523 (LIBDEPS): Add $(LIBICONV_DEP).
14524 (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
14525 (INCLUDES): Replace -I../intl with @INCINTL@.
14526 ($(top_builddir)/intl/libintl.a): Delete rule.
14527 (stage2-start, stage3-start, stage4-start, stageprofile-start,
14528 stagefeedback-start): Use $$ for variable to be evaluated by
14529 shell, not make.
14530 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
14531 HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
14532 * aclocal.m4: sinclude ../config/progtest.m4. Add
14533 contents of lcmessage.m4 from gettext distro.
14534 * configure.in: Check for wchar.h and setlocale. Set
14535 LIBICONV_DEP to the empty string and substitute it.
14536 Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
14537 this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
14538 not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
14539 in $LIBINTL, to avoid linking it twice.
14540 * configure, config.in: Regenerate.
14541
14542 2003-07-08 Nathanael Nerode <neroden@gcc.gnu.org>
14543
14544 * fixinc/mkfixinc.sh: Remove winnt support.
14545 * fixinc/fixinc.winnt: Delete with extreme prejudice.
14546
14547 2003-07-08 Neil Booth <neil@daikokuya.co.uk>
14548
14549 * Makefile.in: Update.
14550 * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
14551 * c.opt: Update documentation.
14552 * common.opt: Add some help text.
14553 * opts.c: Include intl.h.
14554 (wrap_help, print_help): New.
14555 (find_opt, handle_option, common_handle_option): opt_text now
14556 contains the '-'. Use print_help to output help.
14557 * opts.h (struct cl_option): New member "help".
14558 * opts.sh: Update to handle help text output and to prepend
14559 options with '-'.
14560 * toplev.c (display_help): Remove some help text.
14561
14562 2003-07-07 David Edelsohn <edelsohn@gnu.org>
14563 Fariborz Jahanian <fjahanian@apple.com>
14564
14565 * configure.in: Test for PowerPC mfcr field support in assembler.
14566 * config.in, configure: Regenderated.
14567
14568 * config/rs6000/power4.md: Add mfcrf reservation.
14569 * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
14570 * config/rs6000/rs6000.c (mfcr_operation): Define.
14571 (print_operand): Add 'Q' case for mfcrf.
14572 * config/rs6000/rs6000.h (TARGET_MFCRF): New.
14573 * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
14574 (movcc_internal1): Emit optional field operand for mfcr and set
14575 "type" attribute appropriately.
14576 (mfcr SCC): Likewise.
14577 (movesi_from_cr_one): New.
14578
14579 2003-07-07 Roger Sayle <roger@eyesopen.com>
14580
14581 * config/i386/i386.md: Correct check-in of incorrect version.
14582
14583 2003-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14584
14585 * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
14586 adjacent stdio calls.
14587 * c-decl.c (c_print_identifier): Likewise.
14588 * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
14589 * print-rtl.c (print_rtx): Likewise.
14590 * print-tree.c (print_node_brief, print_node): Likewise.
14591 * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
14592
14593 * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
14594 * config.in, configure: Regenerated.
14595
14596 2003-07-07 Roger Sayle <roger@eyesopen.com>
14597
14598 PR target/10979
14599 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
14600 Changed to define_expand patterns that copy operand[1] to prevent
14601 it from being clobbered before emitting an atan2?f3_1 insn.
14602 (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
14603 patterns that actually specify the behaviour of x87's FPATAN.
14604
14605 2003-07-07 Jakub Jelinek <jakub@redhat.com>
14606
14607 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
14608 clearing of SYMBOL_FLAG_LOCAL bit.
14609 If vcall_offset fits into signed 16-bit immediate, use
14610 one instruction for both addition and load.
14611
14612 2003-07-07 Neil Booth <neil@daikokuya.co.uk>
14613
14614 * opts.c (common_handle_option): Correct handling of the
14615 -falign- switches that do and don't take an argument.
14616
14617 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
14618
14619 * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
14620 today.
14621 (pushhi1_h8300hs): Likewise.
14622
14623 2003-07-07 Andreas Jaeger <aj@suse.de>
14624
14625 * genextract.c: Convert remaining prototypes to ISO C90.
14626
14627 * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
14628 * fold-const.c (fold_single_bit_test): Likewise.
14629 * diagnostic.c (default_diagnostic_finalizer): Likewise.
14630 * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
14631
14632 * gengtype.c (write_array): Generate ISO C90 prototypes.
14633
14634 * genflags.c (gen_proto): Generate ISO C90 prototypes.
14635
14636 2003-07-07 Roger Sayle <roger@eyesopen.com>
14637
14638 PR optimization/11059
14639 * expr.c (can_store_by_pieces): Return true if length is zero.
14640 (store_by_pieces): If length is zero and endp is two, abort,
14641 othwerise, if length is zero and endp is not two, return "to".
14642 (clear_by_pieces): Do nothing if length is zero.
14643 (clear_storage): Do nothing if length is zero.
14644 (store_constructor): Simplify code when size is zero, or the
14645 target has already been cleared. This avoids emitting a
14646 blockage instruction when initializing empty structures.
14647
14648 2003-07-07 Andreas Jaeger <aj@suse.de>
14649
14650 * mips-tfile.c: Convert prototypes to ISO C90.
14651 * mips-tdump.c: Convert prototypes to ISO C90.
14652
14653 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
14654
14655 * rtl.h (emit_line_note): Take a location_t.
14656 (emit_line_note_force): Remove.
14657 (set_file_and_line_for_statement): Take a location_t.
14658 * tree.g (emit_line_note): Take a location_t.
14659 * emit-rtl.c (emit_line_note): Take a location_t.
14660 (emit_line_note_force): Remove.
14661 * function.c (init_function_start): Adjust emit_line_note call.
14662 (expand_function_end): Use force_next_line_note, not
14663 emit_line_note_force.
14664 * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
14665 * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
14666 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
14667 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
14668 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
14669 genrtl_continue_stmt, genrtl_switch_stmt,
14670 genrtl_asm_stmt): Likewise.
14671 * expr.c (expand_expr): Likewise.
14672 * integrate.c (expand_inline_function): Likewise.
14673 * stmt.c (set_file_and_line_for_stmt): Take a location_t.
14674 (expand_decl_init): Adjust emit_line_note call.
14675
14676 2003-07-07 Dale Johannesen <dalej@apple.com>
14677
14678 * config/rs6000/darwin-tramp.asm: Fix trampolines. PR 10900.
14679
14680 2003-07-07 Andreas Jaeger <aj@suse.de>
14681
14682 * config/i386/i386-protos.h: Convert prototypes to ISO C90.
14683 * config/i386/i386.c: Likewise.
14684
14685 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
14686
14687 * config/h8300/h8300.md: Use gen_int_mode instead of
14688 GEN_INT (trunc_int_for_mode (...)).
14689
14690 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
14691
14692 * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
14693 2 bytes and then subtract 2 from the stack pointer.
14694 (pushhi1_h8300hs): Likewise.
14695
14696 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
14697
14698 * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
14699 -frandom-seed.
14700 * configure: Regenerated.
14701 * Makefile.in: Remove extraneous comment.
14702 * toplev.c (randomize): Protect against potential multiple calls.
14703 * doc/invoke.texi (-frandom-seed): Document use for in coverage
14704 files.
14705
14706 2003-07-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14707 Eric Botcazou <ebotcazou@libertysurf.fr>
14708
14709 PR optimization/11198
14710 * alias.c (objects_must_conflict_p): Return 1 if the types have
14711 the same alias set, not if the alias sets only conflict.
14712
14713 2003-07-07 Andrew Pinski <pinskia@physics.uc.edu>
14714
14715 * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
14716 (convert_cset): Change inbuf to type ICONV_CONST char.
14717 * Makefile.in (LIBS): Add LIBICONV.
14718
14719 * doc/invoke.texi (-falign-functions): Document that
14720 when n is zero then a machine-dependent default is used.
14721 (-falign-labels): Document that when n is zero then a
14722 machine-dependent default is used and that -falign-labels =1
14723 is equivalent to -fno-align-labels.
14724 (-falign-loops): Likewise.
14725 (-falign-jumps): Likewise.
14726
14727 2003-07-06 Art Haas <ahaas@airmail.net>
14728
14729 * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
14730 initializer syntax.
14731
14732 2003-07-06 James E Wilson <wilson@tuliptree.org>
14733
14734 PR optimization/9812
14735 * rtl.h (mem_for_const_double): Delete prototype.
14736 * varasm.c (mem_for_const_double): Delete function.
14737 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
14738 config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
14739 (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
14740 * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
14741 (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
14742 * config/m68k/m68k.md (movxf): Add reload_in_progress guard. Add
14743 comment about confused support for XFmode constants.
14744
14745 2003-07-07 Jan Hubicka <jh@suse.cz>
14746
14747 * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
14748
14749 2003-07-06 Kazu Hirata <kazu@cs.umass.edu>
14750
14751 * config/h8300/h8300.c: Fix comment typos.
14752 * config/h8300/h8300.md: Likewise.
14753 * config/i386/athlon.md: Likewise.
14754 * config/i386/i386.c: Likewise.
14755 * config/i386/pentium.md: Likewise.
14756 * config/ia64/ia64.c: Likewise.
14757 * config/ia64/itanium1.md: Likewise.
14758 * config/ia64/itanium2.md: Likewise.
14759 * config/m32r/m32r.md: Likewise.
14760 * config/m68hc11/m68hc11.c: Likewise.
14761 * config/mcore/mcore.c: Likewise.
14762 * config/mips/sr71k.md: Likewise.
14763 * config/mips/t-iris5-as: Likewise.
14764 * config/mmix/mmix.h: Likewise.
14765 * config/ns32k/ns32k.h: Likewise.
14766 * config/ns32k/NOTES: Fix a typo.
14767
14768 2003-07-06 Andreas Jaeger <aj@suse.de>
14769
14770 * stmt.c: Convert remaining prototypes to ISO C90.
14771 * cfglayout.c: Likewise.
14772 * dbxout.c: Likewise.
14773 * gcc.c: Likewise.
14774 * genemit.c: Likewise.
14775
14776 * basic-block.h: Convert prototypes to ISO C90.
14777 * c-parse.in: Likewise.
14778 * c-pragma.h: Likewise.
14779 * c-typeck.c: Likewise.
14780 * cfghooks.h: Likewise.
14781 * cfgloopanal.c: Likewise.
14782 * dbxout.h: Likewise.
14783 * debug.h: Likewise.
14784 * dwarf2asm.h: Likewise.
14785 * gcov.c: Likewise.
14786 * gengtype-lex.l: Likewise.
14787 * sched-int.h: Likewise.
14788 * timevar.c: Likewise.
14789
14790 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
14791
14792 * c-common.h (c_comon_handle_filename,
14793 c_common_missing_arguement): New.
14794 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14795 LANG_HOOKS_MISSING_ARGUMENT): New.
14796 * c-opts.c (missing_arg): Rename c_common_missing_argument,
14797 update to be an appropriate langhook.
14798 (c_common_handle_option): Don't handle filenames.
14799 (c_common_handle_filename): New.
14800 * hooks.c (hook_void_constcharptr,
14801 hook_bool_constcharptr_size_t_false): New.
14802 * hooks.h (hook_void_constcharptr,
14803 hook_bool_constcharptr_size_t_false): New.
14804 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
14805 LANG_HOOKS_MISSING_ARGUMENT): New.
14806 (LANG_HOOKS_INITIALIZER): Update.
14807 * langhooks.h (struct lang_hooks): Add handle_filename and
14808 missing_argument.
14809 * opts.c (handle_option): Don't handle filenames here, but ...
14810 (handle_options): ... here.
14811 (common_handle_option): Don't handle missing arguments here.
14812 * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14813 LANG_HOOKS_MISSING_ARGUMENT): New.
14814
14815 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
14816
14817 * Makfile.in: Remove traces of mbchar.
14818 * c-parse.in (MULTIBYTE_CHARS): Remove.
14819 * config.in (MULTIBYTE_CHARS): Remove.
14820 * configure: Remove --enable-mbchar.
14821 * configure.in: Remove --enable-mbchar.
14822 * mbchar.c, mbchar.h: Remove.
14823 * system.h: Poison MULTIBYTE_CHARS.
14824 * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
14825 * config/linux.h (MULTIBYTE_CHARS): Remove.
14826 * config/svr4.h (MULTIBYTE_CHARS): Remove.
14827 * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
14828
14829 2003-07-06 Andreas Jaeger <aj@suse.de>
14830
14831 * varray.c (varray_check_failed): Fix typo.
14832
14833 * unroll.c: Convert prototypes to ISO C90.
14834 * varasm.c: Likewise.
14835 * varray.c: Likewise.
14836 * varray.h: Likewise.
14837 * vmsdbgout.c: Likewise.
14838 * xcoffout.c: Likewise.
14839 * xcoffout.h: Likewise.
14840
14841 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14842
14843 * gcov-io.h: Add a local time stamp.
14844 (struct gcov_info): Add stamp field.
14845 (gcov_truncate): New.
14846 * coverage.c (read_counts_file): Skip the stamp.
14847 (coverage_begin_output): Write the stamp.
14848 (build_gcov_info): Declare and init the stamp.
14849 (coverage_finish): Only unlink data file, if stamp is zero.
14850 * gcov-dump.c (dump_file): Dump the stamp.
14851 * gcov.c (bbg_stamp): New.
14852 (release_structures): Clear bbg_stamp.
14853 (read_graph_file): Read stamp.
14854 (read_count_file): Check stamp.
14855 * libgcov.c (gcov_exit): Check stamp and truncate if needed.
14856
14857 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14858
14859 * tree.h (default_flag_random_seed): Remove.
14860 * toplev.h (local_tick): Declare.
14861 * tree.c (flag_random_seed, default_flag_random_seed): Move to
14862 toplev.c.
14863 (append_random_chars): Don't call default_flag_random_seed.
14864 * toplev.c (flag_random_seed): Define here. Set local_tick.
14865 (local_tick): Define.
14866 (randomize): New, moved from tree.c.
14867 (print_switch_values): Adjust.
14868 (toplev_main): Call randomize.
14869
14870 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14871
14872 * tree.h (crc32_string): Declare.
14873 * tree.c (append_random_chars): Remove.
14874 (crc32_string): New.
14875 (get_file_function_name_long): Use crc32_string here.
14876
14877 2003-07-06 Andreas Jaeger <aj@suse.de>
14878
14879 * gcc.c: Convert prototypes to ISO C90.
14880 * gcc.h: Likewise.
14881 * gcov-dump.c: Likewise.
14882 * gcov-iov.c: Likewise.
14883 * gcse.c: Likewise.
14884 * genattrtab.h: Likewise.
14885 * ggc.h: Likewise.
14886 * global.c: Likewise.
14887 * graph.c: Likewise.
14888 * graph.h: Likewise.
14889 * hosthooks.h: Likewise.
14890 * hooks.h: Likewise.
14891 * hooks.c: Likewise.
14892 * hashtable.h: Likewise.
14893 * hashtable.c: Likewise.
14894 * haifa-sched.c: Likewise.
14895 * integrate.h: Likewise.
14896 * integrate.c: Likewise.
14897 * input.h: Likewise.
14898 * ifcvt.c: Likewise.
14899 * jump.c: Likewise.
14900 * langhooks-def.h: Likewise. Add extern to prototypes.
14901 * langhooks.c: Likewise.
14902 * langhooks.h: Likewise.
14903 * lcm.c: Likewise.
14904 * local-alloc.c: Likewise.
14905 * loop-init.c: Likewise.
14906 * loop-unroll.c: Likewise.
14907 * loop-unswitch.c: Likewise.
14908 * loop.c: Likewise.
14909 * loop.h: Likewise. Add extern to prototypes.
14910 * machmode.h: Likewise.
14911 * main.c: Likewise.
14912 * mbchar.c: Likewise.
14913 * mbchar.h: Likewise.
14914 * mkdeps.c: Likewise.
14915 * mkdeps.h: Likewise.
14916 * optabs.c: Likewise.
14917 * optabs.h: Likewise.
14918 * output.h: Likewise.
14919 * gccspec.c: Likwise.
14920 * postreload.c: Likewise.
14921 * prefix.c: Likewise.
14922 * prefix.h: Likewise.
14923 * print-rtl.c: Likewise.
14924 * print-tree.c: Likewise.
14925 * profile.c: Likewise.
14926 * read-rtl.c: Likewise.
14927 * real.c: Likewise.
14928 * real.h: Likewise.
14929 * recog.c: Likewise.
14930 * recog.h: Likewise.
14931 * reg-stack.c: Likewise.
14932 * regclass.c: Likewise.
14933 * regmove.c: Likewise.
14934 * regrename.c: Likewise.
14935 * regs.h: Likewise.
14936 * reload.c: Likewise.
14937 * reload.h: Likewise.
14938 * reload1.c: Likewise.
14939 * reorg.c: Likewise.
14940 * resource.c: Likewise.
14941 * resource.h: Likewise.
14942 * rtl-error.c: Likewise.
14943 * rtl.c: Likewise.
14944 * rtl.h: Likewise.
14945 * rtlanal.c: Likewise.
14946 * sbitmap.c: Likewise.
14947 * sbitmap.h: Likewise.
14948 * scan-decls.c: Likewise.
14949 * scan.c: Likewise.
14950 * sched-deps.c: Likewise.
14951 * sched-ebb.c: Likewise.
14952 * sched-int.h: Likewise.
14953 * sched-rgn.c: Likewise.
14954 * sched-vis.c: Likewise.
14955 * sibcall.c: Likewise.
14956 * simplify-rtx.c: Likewise.
14957 * sreal.c: Likewise.
14958 * sreal.h: Likewise.
14959 * ssa-ccp.c: Likewise.
14960 * ssa-dce.c: Likewise.
14961 * ssa.c: Likewise.
14962 * ssa.h: Likewise.
14963 * stack.h: Likewise.
14964 * stmt.c: Likewise.
14965 * stor-layout.c: Likewise.
14966 * stringpool.c: Likewise.
14967 * target.h: Likewise.
14968 * timevar.c: Likewise.
14969 * timevar.h: Likewise.
14970 * tlink.c: Likewise.
14971 * tracer.c: Likewise.
14972 * tree-inline.c: Likewise.
14973 * tree-inline.h: Likewise.
14974 * tree.c: Likewise.
14975 * tree.h: Likewise.
14976
14977 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14978
14979 * combine.c (nonzero_bits1): Fix a warning.
14980
14981 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14982
14983 * config/h8300/h8300.c (compute_mov_length): Correct the
14984 length of loading CONST0_RTX (SFmode).
14985
14986 2003-07-05 Nathan Sidwell <nathan@codesourcery.com>
14987
14988 * toplev.c (output_clean_symbol_name): Remove.
14989 * toplev.h (output_clean_symbol_name): Remove.
14990 * config/alpha/alpha.c (unicosmk_output_module_name): Use
14991 lbasename & clean_symbol_name.
14992
14993 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14994
14995 * ggc.h: Follow spelling conventions.
14996 * config/i386/i386.c: Likewise.
14997 * config/i386/winnt.c: Likewise.
14998 * config/rs6000/rs6000.c: Likewise.
14999
15000 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
15001
15002 * bt-load.c: Fix comment typos.
15003 * c-incpath.c: Likewise.
15004 * cfg.c: Likewise.
15005 * cfgcleanup.c: Likewise.
15006 * cfgloop.h: Likewise.
15007 * cfgloopmanip.c: Likewise.
15008 * cfgrtl.c: Likewise.
15009 * diagnostic.h: Likewise.
15010 * dwarfout.c: Likewise.
15011 * emit-rtl.c: Likewise.
15012 * et-forest.c: Likewise.
15013 * et-forest.h: Likewise.
15014 * expr.c: Likewise.
15015 * gcse.c: Likewise.
15016 * genattr.c: Likewise.
15017 * jump.c: Likewise.
15018 * langhooks.h: Likewise.
15019 * local-alloc.c: Likewise.
15020 * loop-unroll.c: Likewise.
15021 * loop-unswitch.c: Likewise.
15022 * ra-build.c: Likewise.
15023 * regclass.c: Likewise.
15024 * regmove.c: Likewise.
15025 * rtl.def: Likewise.
15026 * rtlanal.c: Likewise.
15027 * sched-ebb.c: Likewise.
15028 * sched-rgn.c: Likewise.
15029 * simplify-rtx.c: Likewise.
15030 * ssa.c: Likewise.
15031 * tracer.c: Likewise.
15032 * tree.c: Likewise.
15033
15034 2003-07-05 Zack Weinberg <zack@codesourcery.com>
15035
15036 * cppcharset.c: Use the correct return type for the fallback iconv
15037 macro.
15038
15039 2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15040
15041 Blame to Jan Hubicka <jh@suse.cz>
15042 * cfglayout.c (record_effective_endpoints): Split insns before
15043 first basic block correctly.
15044
15045 2003-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15046
15047 * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
15048 bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
15049 if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
15050
15051 2003-07-05 Andreas Jaeger <aj@suse.de>
15052
15053 * genattrtab.c (write_attr_get): Revert part of last patch to
15054 always write out a prototype.
15055
15056 * genemit.c (gen_split): Readd lost unused attributes in last
15057 patch.
15058
15059 2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15060
15061 * cfgloopmanip.c (force_single_succ_latches): Force latch to be
15062 different from header.
15063
15064 2003-07-05 Andreas Schwab <schwab@suse.de>
15065
15066 * config/m68k/m68k.c: Remove code protected by CRDS.
15067 * config/m68k/m68k.md: Likewise.
15068
15069 2003-07-05 Neil Booth <neil@daikokuya.co.uk>
15070
15071 PR driver/11417
15072 * c-opts.c (permit_fortran_options): New.
15073 (c_common_init_options): Accept fortran front end options if
15074 it looks like we might be preprocessing Fortran.
15075 (c_common_handle_option): Don't reject switch if permit_fotran_options.
15076
15077 2003-07-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15078
15079 * genattr.c (internal_dfa_insn_code): Output prototype.
15080 * genattrtab.c: Don't output unnecessary decls, output in ISO C.
15081 * genautomata.c: Likewise.
15082 * genconditions.c: Likewise.
15083 * genemit.c: Likewise.
15084 * genextract.c: Likewise.
15085 * gengenrtl.c: Likewise.
15086 * gengtype.c: Likewise.
15087 * genopinit.c: Likewise.
15088 * genoutput.c: Likewise.
15089 * genpeep.c: Likewise.
15090 * genrecog.c: Likewise.
15091
15092 2003-07-04 Zack Weinberg <zack@codesourcery.com>
15093
15094 * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
15095 (struct cpp_options): Add narrow_charset, wide_charset,
15096 bytes_big_endian fields. Remove EBCDIC field.
15097 (cpp_init_iconv, cpp_interpret_string): New external interfaces.
15098
15099 * cpphash.h: Include <iconv.h> if we have it, otherwise
15100 provide a dummy definition of iconv_t.
15101 (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
15102 (_cpp_valid_ucn): Update prototype.
15103 (_cpp_destroy_iconv): New prototype.
15104
15105 * doc/cpp.texi: Document character set handling.
15106 * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
15107 * doc/extend.texi: Delete entire section on multiline strings.
15108 Rewrite section on __FUNCTION__ etc now that these are
15109 variables in C.
15110
15111 * cppucnid.tab, cppucnid.pl: New files.
15112 * cppucnid.h: New generated file.
15113 * cppcharset.c: Include cppucnid.h. Lots of commentary added.
15114 (iconv_open, iconv, iconv_close): Provide dummy definitions
15115 if !HAVE_ICONV.
15116 (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
15117 _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
15118 emit_numeric_escape, convert_hex, convert_oct, convert_escape,
15119 cpp_interpret_string, narrow_str_to_charconst,
15120 wide_str_to_charconst): New.
15121 (ucn_valid_in_identifier): Use a binary search through the
15122 ucnranges table defined in cppucnid.h, not a long chain of if
15123 statements.
15124 (_cpp_valid_ucn): Add a limit pointer. Downgrade "universal
15125 character names are only valid in C++ and C99" to a warning.
15126 Issue the "meaning of \[uU] is different in traditional C"
15127 warning here. Take care not to let iconv see an invalid UCS
15128 value if we get a malformed UCN. Issue an error if we don't
15129 have iconv.
15130 (cpp_interpret_charconst): Moved here from cpplex.c. Use
15131 cpp_interpret_string to do the heavy lifting.
15132
15133 * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
15134 narrow_charset, wide_charset fields of options structure.
15135 (cpp_destroy): Call _cpp_destroy_iconv.
15136 * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
15137 (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
15138 (cpp_interpret_charconst): Moved to cppcharset.c.
15139 * cpplib.c (dequote_string): Delete.
15140 (interpret_string_notranslate): New.
15141 (do_line, do_linemarker): Use interpret_string_notranslate.
15142
15143 * Makefile.in (cppcharset.o): Depend on cppucnid.h.
15144
15145 * c-common.c (fname_string, combine_strings): Delete.
15146 * c-common.h (fname_string, combine_strings): Delete prototypes.
15147 * c-lex.c (ignore_escape_flag): Delete.
15148 (cb_ident): Use cpp_interpret_string, not lex_string.
15149 (get_nonpadding_token): New function.
15150 (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
15151 Adjust calls to lex_string. Don't write *value twice.
15152 (lex_string): Now handles string constant concatenation.
15153 Most of the work handed off to cpp_interpret_string.
15154 Call fix_string_type here.
15155 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
15156 FUNC_NAME, throughout.
15157 (OBJC_STRING): New token type.
15158 (primary:STRING): No need to call fix_string_type here.
15159 (primary:objc_string): Make that OBJC_STRING.
15160 (objc_string nonterminal): Delete.
15161 (yylexname): Delete code to handle fake string constants.
15162 (yylexstring): Delete entirely.
15163 (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING. No need
15164 to handle CPP_ATSIGN.
15165
15166 * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
15167 * c-opts.c (missing_arg, c_common_handle_option): Handle
15168 OPT_fexec_charset_ and OPT_fwide_exec_charset_.
15169 (c_common_init): Set cpp_opts->bytes_big_endian, not
15170 cpp_opts->EBCDIC. Call cpp_init_iconv.
15171 (print_help): Document -fexec-charset= and -fexec-wide-charset=.
15172 (TARGET_EBCDIC): Delete default definition.
15173
15174 * objc/objc-act.c (build_objc_string_object): No need to
15175 handle string constant concatenation.
15176
15177 2003-07-04 Kazu Hirata <kazu@cs.umass.edu>
15178
15179 * doc/install.texi: Fix typos.
15180 * doc/invoke.texi: Likewise.
15181 * doc/tm.texi: Likewise.
15182
15183 2003-07-04 Kazu Hirata <kazu@cs.umass.edu>
15184
15185 * config/pa/fptr.c: Fix comment typos.
15186 * config/pa/pa-64.h: Likewise.
15187 * config/pa/pa.c: Likewise.
15188 * config/pa/pa.h: Likewise.
15189 * config/rs6000/603.md: Likewise.
15190 * config/rs6000/7xx.md: Likewise.
15191 * config/rs6000/darwin.h: Likewise.
15192 * config/rs6000/freebsd.h: Likewise.
15193 * config/rs6000/rs6000.c: Likewise.
15194 * config/rs6000/rs6000.md: Likewise.
15195 * config/rs6000/spe.h: Likewise.
15196
15197 2003-07-04 Ulrich Weigand <uweigand@de.ibm.com>
15198
15199 * config/s390/2064.md: Change GNU CC to GCC.
15200 * config/s390/2084.md: Likewise.
15201 * config/s390/fixdfdi.h: Likewise.
15202 * config/s390/linux.h: Likewise.
15203 * config/s390/s390-modes.def: Likewise.
15204 * config/s390/s390-protos.h: Likewise.
15205 * config/s390/s390.c: Likewise.
15206 * config/s390/s390.h: Likewise.
15207 * config/s390/s390.md: Likewise.
15208 * config/s390/s390x.h: Likewise.
15209
15210 2003-07-04 Jeff Law <law@redhat.com>
15211
15212 PR c/11428
15213 * expr.c (do_store_flag): Pass in the correct result type
15214 when calling fold_single_bit_test.
15215 * fold-const.c (fold_single_bit_test): Use result_type for the
15216 result when folding a sign bit test.
15217
15218 2003-07-04 Neil Booth <neil@daikokuya.co.uk>
15219
15220 * opts.c (common_handle_options): Negate sense of -falign- switches.
15221
15222 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
15223
15224 * Makefile.in: Replace PWD with PWD_COMMAND.
15225
15226 2003-07-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15227
15228 * cfgloopanal.c (count_strange_loop_iterations): New static function.
15229 (constant_iterations, count_loop_iterations, simple_loop_exit_p):
15230 Handle strange loops.
15231
15232 2003-07-04 Toon Moene <toon@moene.indiv.nluug.nl>
15233
15234 * install.texi: Even the g77 manpage is derived from
15235 the full g77 manual.
15236
15237 2003-07-04 Zack Weinberg <zack@codesourcery.com>
15238
15239 * ABOUT-NLS: Delete.
15240 * intl: Delete entire directory.
15241 * aclocal.m4: Include ../config/gettext.m4. Delete
15242 AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
15243 AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
15244 * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
15245 Remove intl/Makefile from all_outputs.
15246 * configure, config.in: Regenerate.
15247 * Makefile.in: Expunge all references to intl subdirectory.
15248 Add -I../intl to INCLUDES.
15249 * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
15250
15251 2003-07-04 Roger Sayle <roger@eyesopen.com>
15252
15253 * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
15254 * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
15255
15256 2003-07-04 Danny Smith <dannysmith@users.sourceforge.net>
15257
15258 PR c++/5287, PR c++/7910, PR c++/11021
15259 * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
15260 dllimport attribute if function is defined at declaration, but
15261 report error instead. Likewise for dllimport'd variable
15262 definitions. Set implicit TREE_PUBLIC for dllimport'd variables
15263 declared within functions, Report error if dllimport or dllexport
15264 symbol is not global.
15265 (i386_pe_dllimport_p): Ignore dllimport attribute of functions
15266 if defined after declaration or if inlined. Don't allow definition
15267 of static data members of C++ classes. Don't dllimport virtual
15268 methods.
15269 (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
15270 (i386_pe_mark_dllimport): Remove unnecessary checks.
15271 (i386_pe_encode_section_info): Warn if the dllimport attribute
15272 and symbol prefix have been instantiated and then overridden.
15273
15274 * doc/extend.texi: Document dllimport and dllexport attributes.
15275
15276 * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
15277
15278 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
15279
15280 * config/kaos.h (CPP_PREDEFINES): Delete.
15281 (TARGET_OS_CPP_BUILTINS): New.
15282
15283 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15284
15285 * c-aux-info.c: Include toplev.h after c-tree.h.
15286 * c-common.c: Likewise.
15287 (GCC_DIAG_STYLE): Undef.
15288 * c-semantics.c (GCC_DIAG_STYLE): Define.
15289 * c-tree.h (GCC_DIAG_STYLE): Likewise.
15290 * diagnostic.h (inform): Move prototype to toplev.h.
15291 * jump.c: Include diagnostic.h before toplev.h.
15292 * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
15293 (warning, error, fatal_error, pedwarn, sorry, inform,
15294 error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
15295
15296 2003-07-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15297
15298 * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
15299 at all if edge is not specified.
15300 (can_copy_bbs_p, copy_bbs): New.
15301 * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
15302 * cfgloop.c (get_loop_body): Comment more precisely.
15303 * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
15304 (scale_bbs_frequencies): Fix comment typo.
15305 (can_duplicate_loop_p): Use can_copy_bbs_p.
15306 (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
15307
15308 2003-07-03 Devang Patel <dpatel@apple.com>
15309
15310 * c-opts.c (c_common_parse_file): Remove extra
15311 debug_hooks->start_source_file call.
15312
15313 2003-07-03 Roger Sayle <roger@eyesopen.com>
15314
15315 * real.c (real_trunc, real_floor, real_ceil): New functions
15316 to implement trunc, floor and ceil respectively.
15317 * real.h (real_trunc, real_floor, real_ceil): Prototype here.
15318 * builtins.c (integer_valued_real_p): New function to test if
15319 a floating point expression has an integer valued result.
15320 (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
15321 foo(x) where foo is an integer rounding function. Similarly,
15322 optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
15323 (double)(int)x when both foo and bar are integer rounding
15324 functions and we don't need to honor errno.
15325 (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
15326 New functions to fold trunc, floor and ceil.
15327 (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
15328 fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
15329 to fold BUILT_IN_CEIL*.
15330 * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
15331 the remaining integer rounding functions.
15332
15333 2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
15334
15335 * config/sparc/sparc.c (function_arg_partial_nregs): Use
15336 SPARC_INT_ARG_MAX to determine where to split unnamed
15337 complex FP arguments.
15338
15339 2003-07-03 Jan Hubicka <jh@suse.cz>
15340
15341 * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
15342 * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
15343 (merge_blocks_move_predecessor_nojumps,
15344 merge_blocks_move_successor_nojumps): Use merge_blocks.
15345 (try_optimize_cfg): Use merge_blocks_move.
15346 * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
15347 (merge_blocks_nomove): Rename to rtl_merge_blocks.
15348 (cfg_layout_create_basic_block): New.
15349 (rtl_can_merge_blocks): New.
15350 (cfg_layout_split_block): Do not alloc aux by hand.
15351 * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
15352 merge_blocks.
15353 (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
15354 * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
15355 * cfgloopmanip.c (loop_split_edge_with): Likewise.
15356 * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
15357
15358 * basic-block.h (basic_block_def): Add field 'rbi'.
15359 * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
15360 find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
15361 * cfg.c (entry_exit_blocks): Add new field.
15362 * cfglayout.c: Include alloc-pool.h;
15363 (cfg_layout_pool): New.
15364 (record_effective_endpoints, fixup_reorder_chain,
15365 fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
15366 of rbi.
15367 (cfg_layout_initialize_rbi): New function.
15368 (cfg_layout_initialize): Use it.
15369 (cfg_layout_finalize): Clear rbi fields.
15370 * cfglayout.h (RBI): Kill.
15371 (cfg_layout_initialize_rbi): Declare.
15372 * cfgloopmanip.c (copy_bbs): Use rbi.
15373 (record_exit_edges): Likewise.
15374 (duplicate_loop_to_header_edge): Likewise.
15375 * cfgrtl.c (cfg_layout_create_basic_block): Use
15376 cfg_layout_initialize_rbi.
15377 (cfg_layout_split_block): Use rbi.
15378 (cfg_layout_delete_block): Likewise.
15379 * loop-init.c (loop_optimizer_finalize): Likewise.
15380 * loop-unswitch.c (unswitch_loop): Likewise.
15381 * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
15382
15383 * cfgrtl.c: Update comments.
15384 (try_redirect_by_replacing_jump): New argument.
15385 (redirect_branch_edge): Break out from ...
15386 (rtl_redirect_edge_and_branch): ... this one.
15387 (update_cfg_after_block_merging): Break out from ...
15388 (rtl_merge_blocks): ... this one.
15389 (cfg_layout_split_edge): New.
15390 (cfg_layout_merge_blocks): New.
15391 (cfg_layout_can_merge_blocks_p): New.
15392 (cfg_layout_redirect_edge_and_branch): Reorganize.
15393 (cfg_layout_rtl_cfg_hooks): Fill in.
15394 (cfg_layout_delete_block): Kill barriers.
15395 * cfganal.c (can_fallthru): Deal with exit blocks
15396 * cfglayout.c (cfg_layout_function_header): New function
15397 (record_effective_endpoints): Record function header.
15398 (fixup_reorder_chain): Fixup dead jumptables; place header
15399
15400 * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
15401 * bb-reorder.c (cfg_layout_initialize): Update call.
15402 * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
15403 edges in cfglayout mode.
15404 * cfglayout.c (cleanup_unconditional_jumps): Kill.
15405 (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
15406 * cfglayout.h (cfg_layout_initialize): Update prototype.
15407 * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
15408 * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
15409 * flow.c (propagate_block): Do not crash when basic block ends
15410 by first insn in the chain.
15411 * loop-init.c (loop_optimizer_init): First enter cfglayout mode; later
15412 do loop discovery.
15413 * tracer.c (tracer): Update call of cfg_layout_initialize.
15414
15415 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15416
15417 * Makefile.in: Use dependency variables in lieu of explicit
15418 files throughout.
15419
15420 2003-07-03 Steven Bosscher <steven@gcc.gnu.org>
15421
15422 * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
15423 * tree.h: ...to here.
15424
15425 2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
15426
15427 * config/s390/2064.md: Fix comment typos.
15428 * config/s390/2084.md: Likewise.
15429 * config/s390/s390.c: Likewise.
15430 * config/s390/s390.md: Likewise.
15431 * config/sh/sh.c: Likewise.
15432 * config/sh/sh.h: Likewise.
15433 * config/sh/sh.md: Likewise.
15434 * config/sparc/sparc.c: Likewise.
15435 * config/sparc/sparc.h: Likewise.
15436 * config/sparc/sparc.md: Likewise.
15437 * config/stormy16/stormy16.c: Likewise.
15438 * config/stormy16/stormy16.h: Likewise.
15439 * config/stormy16/stormy-abi: Fix a typo.
15440
15441 2003-07-03 Kelley Cook <kelleycook@wideopenwest.org>
15442
15443 * Makefile.in (ifcvt.o): Depend on OPTABS_H.
15444
15445 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15446
15447 * config/mips/mips.h (save_argv): Delete.
15448
15449 2003-07-03 Roger Sayle <roger@eyesopen.com>
15450
15451 PR target/10700
15452 * fold-const.c (extract_muldiv_1): There's nothing that can be done
15453 if the expression is a SAVE_EXPR.
15454
15455 2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
15456
15457 * config/m32r/m32r.c: Fix comment typos.
15458 * config/m68hc11/m68hc11.c: Likewise.
15459 * config/m68hc11/m68hc11.h: Likewise.
15460 * config/m68k/m68k.c: Likewise.
15461 * config/mcore/mcore.c: Likewise.
15462 * config/mcore/mcore.h: Likewise.
15463 * config/mcore/mcore.md: Likewise.
15464 * config/mips/mips.c: Likewise.
15465 * config/mips/mips.h: Likewise.
15466 * config/mips/mips.md: Likewise.
15467 * config/mips/netbsd.h: Likewise.
15468 * config/mn10300/mn10300.c: Likewise.
15469
15470 2003-07-03 Andreas Schwab <schwab@suse.de>
15471
15472 * dbxout.c (pending_bincls): Move decl down inside
15473 DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
15474
15475 2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
15476
15477 * rtl.h (NOTE_DATA): Refer to whole union.
15478 * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
15479
15480 2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
15481
15482 PR optimization/11381
15483 * simplify-rtx.c (simplify_relational_operation): Check that
15484 two equal operands have no side-effects before simplifying
15485 the comparison.
15486
15487 2003-07-02 Jeff Law <law@redhat.com>
15488
15489 * expr.c (do_store_flag): Remove special case folding for
15490 single bit tests. Instead call back into the commonized folder
15491 routine.
15492 * fold-const.c (fold_single_bit_test): New function, mostly
15493 extracted from do_store_flag, with an additional case extracted
15494 from fold.
15495 (fold): Call fold_single_bit_test appropriately.
15496 * tree.h (fold_single_bit_test): Prototype.
15497
15498 2003-07-02 Zack Weinberg <zack@codesourcery.com>
15499
15500 * system.h: Include filenames.h.
15501 (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
15502 (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
15503 define based on HAVE_DOS_BASED_FILE_SYSTEM.
15504 * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
15505 * config/i386/xm-mingw32.h: Don't define
15506 HAVE_DOS_BASED_FILE_SYSTEM,
15507 DIR_SEPARATOR, or DIR_SEPARATOR_2.
15508 * doc/hostconfig.texi: Update to match.
15509
15510 * cppfiles.c, gcc.c, gensupport.c, protoize.c,
15511 config/i386/cygwin.h:
15512 Use IS_ABSOLUTE_PATH throughout.
15513 * gcc.c (DIR_UP): Delete, unused.
15514 * protoize.c (IS_SAME_PATH): Define in terms of
15515 FILENAME_CMP.
15516 (is_abspath): Delete.
15517
15518 2003-07-02 Kazu Hirata <kazu@cs.umass.edu>
15519
15520 * config/i386/emmintrin.h: Fix comment typos.
15521 * config/i386/i386.c: Likewise.
15522 * config/i386/i386.h: Likewise.
15523 * config/i386/sco5.h: Likewise.
15524 * config/ia64/ia64.c: Likewise.
15525 * config/ia64/itanium2.md: Likewise.
15526
15527 2003-07-02 H.J. Lu <hongjiu.lu@intel.com>
15528
15529 * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
15530 DBX_USE_BINCL.
15531 (emit_bincl_stab): Same.
15532 (emit_pending_bincls): Same.
15533
15534 2003-07-02 Kazu Hirata <kazu@cs.umass.edu>
15535
15536 * config/h8300/h8300.c (compute_mov_length): Fix the length of
15537 loading CONST0_RTX (SFmode).
15538 * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
15539 'G' to CONST0_RTX (SFmode).
15540 * config/h8300/h8300.md (movsf_h8300): Change the first
15541 constraint to 'G'.
15542 (movsf_h8300h): Likewise.
15543
15544 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
15545
15546 * c-common.h (c_common_init_options): New prototype.
15547 * c-opts.c (deferred_size): Remove.
15548 (defer_opt): Array is now pre-allocated.
15549 (c_common_init_options): Pre-allocate deferred_opts. Make
15550 lang_flags unsigned.
15551 (push_command_line_options): Free deferred_opts.
15552 * hooks.c (hook_uint_uint_constcharptrptr_0): New.
15553 * hooks.h (hook_uint_uint_constcharptrptr_0): New.
15554 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
15555 * langhooks.h (struct lang_hooks): New prototype for init_options.
15556 * main.c (main): Cast argv.
15557 * opts.c (handle_option, handle_options): Update prototypes.
15558 (decode_options): save_argc, save_argv are not global. Constify.
15559 * opts.h (decode_options): New prototype.
15560 * toplev.c (general_init): New protoype.
15561 (save_argv): Make static.
15562 (save_argc): Remove.
15563 (print_switch_values, general_init): Constify.
15564 (toplev_main): Save argv.
15565 * toplev.h (toplev_main): Update prototype.
15566 (save_argc, save_argv): Remove.
15567
15568 2003-07-02 David Edelsohn <edelsohn@gnu.org>
15569
15570 * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
15571 (emit_bincl_stab): Same.
15572 (emit_pending_bincls): Same.
15573
15574 2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
15575
15576 PR c++/11072
15577 * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
15578
15579 2003-07-02 Andreas Schwab <schwab@suse.de>
15580
15581 * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
15582
15583 2003-07-02 Eric Botcazou <ebotcazou@libertysurf.fr>
15584
15585 PR optimization/11210
15586 * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
15587 about the behaviour with regard to bitfields.
15588 * fold-const (decode_field_reference): Record outermost type in
15589 case the expression is a NOP. Strip all NOPs. Set the signedness
15590 to that of the outermost type (if any) when the bitsize is equal
15591 to the size of the type.
15592
15593 2003-07-02 Richard Sandiford <rsandifo@redhat.com>
15594
15595 * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
15596 (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
15597 (adddi3_internal_3, addsi3_internal_2): Likewise.
15598
15599 2003-07-02 Richard Sandiford <rsandifo@redhat.com>
15600
15601 * config/mips/mips.c (machine_function): Add new fields:
15602 ignore_hazard_length_p and all_noreorder_p.
15603 (mips_flag_delayed_branch): New variable.
15604 (override_options): Treat '/' as an operand punctuation character.
15605 Set up mips_flag_delayed_branch.
15606 (print_operand): Handle '/'.
15607 (mips_output_function_prologue): Put the whole function in
15608 .set noreorder and .set nomacro if all_noreorder_p is true.
15609 (mips_output_function_epilogue): End the noreorder/nomacro sequence.
15610 (mips16_optimize_gp): Remove "first insn" parameter.
15611 (mips16_lay_out_constants): New function, split out from mips_reorg.
15612 (mips_avoid_hazard, mips_avoid_hazards): New functions.
15613 (mips_reorg): For mips16 code, call mips16_lay_out_constant
15614 and (optionally) mips16_optimize. If TARGET_EXPLICIT_RELOCS,
15615 do delayed-branch scheduling followed by hazard detection.
15616 (mips_adjust_insn_length): Only account for hazards if
15617 !ignore_hazard_length_p.
15618 (mips_output_load_label): Add a nop to the o32 sequence if
15619 the target suffers from load delays.
15620 (mips_output_conditional_branch): Add %/ to the end of branches.
15621 (mips_output_division): Fill the branch delay slot with %#.
15622 * config/mips/mips.md: Remove redundant '%*' from mips16 branch
15623 instructions. End all other %* branches with %/.
15624 (ffssi2, ffsdi2): Fix lengths.
15625 (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
15626 (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
15627 (fix_truncsfsi2_macro): Likewise.
15628 (mov_lwl): Set hazard to "none".
15629 (ashldi3_internal): Fill the branch delay slot with %#.
15630 (ashrdi3_internal, lshrdi3_internal): Likewise.
15631 (exception_receiver): Explicitly set $28.
15632 (hazard_nop): New pattern.
15633
15634 2003-07-02 Jan Hubicka <jh@suse.cz>
15635
15636 * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
15637 before calling tree_inlinable_function_p.
15638
15639 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15640
15641 * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
15642 <internal/stdio_core.h> too.
15643 (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
15644 <internal/wchar_core.h> too.
15645 Substitute va_list uses in inline definition.
15646 * fixinc/fixincl.x: Regenerate.
15647
15648 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15649
15650 * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
15651 Undef before redefinition.
15652 (LABEL_AFTER_LOC): Likewise.
15653 (DEFAULT_SIGNED_CHAR): Likewise.
15654 (ASM_OUTPUT_ASCII): Moved here from iris4.h.
15655 Fix IRIX spelling.
15656
15657 * config/mips/iris3.h: Remove, unused.
15658 * config/mips/iris4.h: Likewise.
15659
15660 * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
15661
15662 * config/mips/iris5.h (TARGET_DEFAULT): Move ...
15663 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
15664 target_cpu_default.
15665
15666 * config/mips/iris5.h: Move explicit includes ...
15667 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
15668
15669 * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
15670 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15671 tm_defines.
15672
15673 * config/mips/iris6.h (TARGET_DEFAULT): Move ...
15674 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15675 target_cpu_default.
15676
15677 * config/mips/iris6.h: Fix IRIX spelling.
15678 (MULTILIB_DEFAULTS): Undef before redefinition.
15679
15680 * config/mips/iris6.h: Move explicit includes ...
15681 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
15682
15683 2003-07-02 Jan Hubicka <jh@suse.cz>
15684
15685 * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
15686 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
15687 Use next_needed field instead of aux to maintain the queue.
15688 * cgraph.h (cgraph_node): Add next_needed.
15689 (cgraph_varpool_node): Add next_needed; remove aux.
15690 * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
15691
15692 2003-07-02 Jan Hubicka <jh@suse.cz>
15693
15694 * cgraphunit.c (cgraph_finalize_function): Set finalized.
15695 (cgraph_finalize_function): Do not examine inlinablility.
15696 (cgraph_finalize_compilation_unit): Do it here.
15697 * cgraph.h (cgraph_local_info): Add finalized field.
15698
15699 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15700
15701 * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
15702 (gt_pch_restore): Likewise.
15703
15704 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
15705
15706 * config/alpha/alpha.c: Fix comment typos.
15707 * config/alpha/elf.h: Likewise.
15708 * config/arm/arm.c: Likewise.
15709 * config/arm/arm.h: Likewise.
15710 * config/arm/arm.md: Likewise.
15711 * config/arm/t-arm-coff: Likewise.
15712 * config/arm/t-strongarm-pe: Likewise.
15713 * config/arm/xscale-elf.h: Likewise.
15714 * config/avr/avr.h: Likewise.
15715
15716 2003-07-01 Jeff Law <law@redhat.com>
15717
15718 * stmt.c (any_pending_cleanups): Remove another redundant test.
15719
15720 2003-07-01 David Edelsohn <edelsohn@gnu.org>
15721 J"orn Rennecke <joern.rennecke@superh.com>
15722
15723 * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
15724 for MEM case.
15725
15726 2003-07-01 Devang Patel <dpatel@apple.com>
15727
15728 * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
15729 (binclstatus): New.
15730 (struct dbx_file): New members - bincl_status, pending_bincl_name and
15731 prev.
15732 (pending_bincls): New.
15733 (dbxout_init): Initialize new dbx_file members.
15734 (dbxout_start_source_file): Same.
15735 (emit_bincl_stab): New function.
15736 (emit_pending_bincls): Same.
15737 (emit_pending_bincls_if_required): Same.
15738 (dbxout_end_source_file): Emit EINCL stab only if BINCL is already
15739 processed.
15740 (dbxout_begin_block): Emit pending BINCL stabs.
15741 (dbxout_end_block): Same.
15742 (dbxout_function_decl): Same.
15743 (dbxout_continue): Same.
15744 (dbxout_type): Same.
15745 (dbxout_class_name_qualifiers): Same.
15746 (dbxout_symbol): Same.
15747 (dbxout_symbol_location): Same.
15748 (dbxout_parms): Same.
15749
15750 2003-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15751
15752 * c-semantics.c (genrtl_case_label): Fix format specifier bug.
15753 * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
15754
15755 2003-07-01 Andreas Jaeger <aj@suse.de>
15756
15757 * fold-const.c: Convert prototypes to ISO C90.
15758 * function.c: Likewise.
15759 * function.h: Likewise.
15760
15761 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
15762
15763 * doc/contrib.texi: Fix typos.
15764 * doc/invoke.texi: Likewise.
15765 * doc/passes.texi: Likewise.
15766 * doc/sourcebuild.texi: Likewise.
15767 * doc/tm.texi: Likewise.
15768
15769 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
15770
15771 * basic-block.h: Fix comment typos.
15772 * bb-reorder.c: Likewise.
15773 * c-format.c: Likewise.
15774 * cfgcleanup.c: Likewise.
15775 * cfghooks.h: Likewise.
15776 * cfgloop.c: Likewise.
15777 * cfgloopmanip.c: Likewise.
15778 * cfgrtl.c: Likewise.
15779 * cgraph.h: Likewise.
15780 * cgraphunit.c: Likewise.
15781 * combine.c: Likewise.
15782 * convert.c: Likewise.
15783 * dbxout.c: Likewise.
15784 * df.c: Likewise.
15785 * df.h: Likewise.
15786 * diagnostic.c: Likewise.
15787 * dwarf2out.c: Likewise.
15788 * et-forest.h: Likewise.
15789 * flow.c: Likewise.
15790 * fold-const.c: Likewise.
15791 * function.h: Likewise.
15792 * gcov-io.h: Likewise.
15793 * gcov.c: Likewise.
15794 * gcse.c: Likewise.
15795 * genautomata.c: Likewise.
15796 * ggc-common.c: Likewise.
15797 * ggc-page.c: Likewise.
15798 * loop-unroll.c: Likewise.
15799 * loop-unswitch.c: Likewise.
15800 * loop.c: Likewise.
15801 * mips-tfile.c: Likewise.
15802 * optabs.c: Likewise.
15803 * ra-build.c: Likewise.
15804 * ra-colorize.c: Likewise.
15805 * ra-rewrite.c: Likewise.
15806 * ra.h: Likewise.
15807 * regmove.c: Likewise.
15808 * reload.c: Likewise.
15809 * rtlanal.c: Likewise.
15810 * sched-ebb.c: Likewise.
15811 * sched-int.h: Likewise.
15812 * sched-vis.c: Likewise.
15813 * sreal.c: Likewise.
15814 * ssa-ccp.c: Likewise.
15815 * ssa.c: Likewise.
15816 * toplev.c: Likewise.
15817 * tree-inline.c: Likewise.
15818 * value-prof.c: Likewise.
15819 * value-prof.h: Likewise.
15820
15821 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
15822
15823 * rtl.h (emit_line_note_after): Remove.
15824 (emit_note_copy_after, emit_note_copy): New.
15825 * emit-rtl.c (reorder_insns_with_line_notes): Replace
15826 emit_line_note_after with emit_note_copy_after.
15827 (emit_insn_after_with_line_notes): Likewise.
15828 (emit_line_note_after): Kill.
15829 (emit_note_copy_after): New.
15830 (emit_note_copy): New.
15831 * function.c (emit_return_into_block): Use emit_note_copy_after.
15832 (thread_prologue_and_epilogue_insns): Likewise.
15833 * integrate.c (expand_inline_function): Use emit_note_copy.
15834 (copy_insn_list): Likewise.
15835 * unroll.c (copy_loop_body): Likewise.
15836 * cfglayout.c (duplicate_insn_chain): Likewise.
15837
15838 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
15839
15840 * c-tree.h (define_label): Replace filename and lineno arguments
15841 with a location_t.
15842 * c-decl.c (poplevel): Adjust define_label call.
15843 (pop_label_level): Likewise.
15844 (define_label): Replace filename and lineno arguments with a
15845 location_t.
15846 (store_parm_decls): Use DECL_SOURCE_LOCATION.
15847 * c-parse.in (label): Adjust define_label call.
15848
15849 2003-07-01 Neil Booth <neil@daikokuya.co.uk>
15850
15851 * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
15852 config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
15853 config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
15854 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
15855 config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
15856
15857 2003-07-01 Andreas Jaeger <aj@suse.de>
15858
15859 * final.c: Convert prototypes to ISO C90.
15860 * flow.c: Likewise.
15861 * flags.h: Likewise.
15862 * gcov-io.c: Likewise.
15863 * gcov-io.h: Likewise.
15864
15865 See ChangeLog.9 for earlier changes.