OSDN Git Service

2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
2
3         * c-decl.c (finish_function): Change order of checks.
4         (c_expand_body): Likewise.
5
6 2003-12-22  Fariborz Jahanian <fjahanian@apple.com>
7
8         * config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
9         check for the legitimate offset when memory of 
10         DImode/DFmode/TFmode/TImode mode is being referenced and target 
11         is TARGET_POWERPC64.
12
13 2003-12-22  Dale Johannesen  <dalej@apple.com>
14
15         * reload1.c:  Add reg_reloaded_call_part_clobbered.
16         (reload_as_needed):  Use it.
17         (forget_old_reloads_1):  Ditto.
18         (emit_reload_insns):  Ditto.
19
20 2003-12-22  Dale Johannesen  <dalej@apple.com>
21
22         PR optimization/12828
23         * loop.c:  Add find_regs_nested to look inside CLOBBER(MEM).
24         (scan_loop):  Call it.
25         * regclass.c (reg_scan_mark_regs):  Look inside CLOBBER(MEM).
26
27 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
28
29         PR c/9163
30         * c-decl.c (poplevel): Only set DECL_INITIAL of a current function
31         if it is non-null.
32         (finish_function): Check for error_mark_node or null on DECL_RESULT and
33         DECL_RESULT of fndecl.
34         (c_expand_body): Only expand when DECL_INITIAL of fndecl is not
35         error_mark_node and not null.
36
37 2003-12-21  Dan Nicolaescu  <dann@ics.uci.edu>
38
39         * rtl.h (dump_rtx_statistics): Declare it.
40         * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
41         rtx_alloc_sizes): New static vars.
42         (rtx_alloc, rtvec_alloc): Update them.
43         (dump_rtx_statistics): New function.
44         * toplev.c (finalize): Call it.
45         * ggc-page.c (struct globals): Fix comments. Add new member
46         total_allocated_per_order.
47         (ggc_alloc): Keep track of the total allocated memory.
48         (ggc_print_statistics): Clarify message. Print total allocated
49         memory stats.
50         * configure.in (gather-detailed-mem-stats): New flag.
51         * configure: Regenerate.
52         * config.in: Regenerate.
53         * doc/install.texi (Configuration): Document 
54         --enable-gather-detailed-mem-stats.
55
56 2003-12-22  Kazu Hirata  <kazu@cs.umass.edu>
57
58         * system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
59         * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
60
61 2003-12-21  Roger Sayle  <roger@eyesopen.com>
62
63         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
64         when compiling in ILP32 mode.
65
66 2003-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
67
68         * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
69         TARGET_HAVE_TLS is false.
70
71 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
72
73         * config/ip2k/ip2k-protos.h: Remove the prototype for
74         asm_output_section_name.
75         * config/ip2k/ip2k.c (asm_output_section_name): Remove.
76
77 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
78
79         * alias.c: Fix comment formatting.
80         * alloc-pool.c: Likewise.
81         * bitmap.c: Likewise.
82         * bitmap.h: Likewise.
83         * bt-load.c: Likewise.
84         * c-common.c: Likewise.
85         * c-common.h: Likewise.
86         * c-decl.c: Likewise.
87         * c-opts.c: Likewise.
88         * c-pretty-print.c: Likewise.
89         * caller-save.c: Likewise.
90         * cfghooks.h: Likewise.
91         * cgraph.c: Likewise.
92         * collect2.c: Likewise.
93         * cppfiles.c: Likewise.
94         * cpplib.h: Likewise.
95         * dwarf2out.c: Likewise.
96         * dwarfout.c: Likewise.
97         * emit-rtl.c: Likewise.
98         * final.c: Likewise.
99         * function.c: Likewise.
100         * gcov.c: Likewise.
101         * gcse.c: Likewise.
102         * genemit.c: Likewise.
103         * ggc.h: Likewise.
104         * haifa-sched.c: Likewise.
105         * ifcvt.c: Likewise.
106         * libgcc2.h: Likewise.
107         * loop.c: Likewise.
108         * predict.h: Likewise.
109         * unwind-libunwind.c: Likewise.
110         * varasm.c: Likewise.
111
112 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
113
114         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
115         a warning.
116
117 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
118
119         * config/arm/arm.c: Convert to ISO-C.
120         * config/avr/avr.h: Likewise.
121         * config/fr30/fr30.c: Likewise.
122         * config/ip2k/ip2k.c: Likewise.
123         * config/mn10300/mn10300.c: Likewise.
124
125 2003-12-20  Andrew Pinski  <pinskia@gcc.gnu.org>
126             Matt Thomas  <matt@3am-software.com>
127
128         PR target/12749
129         * config/i386/i386.c (print_operand): Print only the first
130         8 characters of the float in hex.
131
132 2003-12-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
133
134         * pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
135         2.0 code.
136         (TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
137         (INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
138         and end addresses to I and D cache instruction patterns.
139         * pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
140         and_operand and ior_operand, respectively.  When generating 64-bit
141         code, only one operand needs to be a register operand.
142         (xordi3): Change predicates of operands 1 and 2 to register_operand.
143         (one_cmpldi2): Change predicate of operand 1 to register_operand.
144         (dcacheflush, icacheflush): Revise to flush an arbitrary number of
145         cache lines.
146
147 2003-12-20  Josef Zlomek  <zlomekj@suse.cz>
148
149         PR optimization/13430, PR optimization/12322
150         * bb-reorder.c (copy_bb_p): Do not allow block with many successors to
151         be copied.
152         (find_traces_1_round): Surround check for fake edges by
153         #ifdef ENABLE_CHECKING #endif.
154
155 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
156
157         PR other/7956
158         * genmultilib: New variable disable_multilib.  Set it to 'yes'
159         if enable_multilib was set to 'no'.  Emit DISABLE_MULTILIB
160         if disable_multilib was set to 'yes'.
161         * gcc.c: Include multilib.h before tm.h.
162         * config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
163         message for multiarch options if DISABLE_MULTILIB is set.
164         * config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
165
166 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
167
168         PR c/12085
169         * c-typeck.c (build_function_call): Issue a warning if a
170         function is called through an incompatible prototype and
171         replace the call by a trap in this case.
172
173 2003-12-19  James E Wilson  <wilson@specifixinc.com>
174
175         * install.texi (ia64-*-linux): Document minimum libunwind version
176         number.
177
178 2003-12-19  Per Bothner  <per@bothner.com>
179
180         * langhooks.c (lhd_print_error_function):  Fix for PR c/13110.
181         Don't do pp_newline; it causes an extra blank line.
182         * pretty-print.c (pp_base_flush):  Clear pp_needs_newline.
183
184 2003-12-19  Jason Merrill  <jason@redhat.com>
185
186         * tree.c (get_unwidened): Decide whether to narrow a bitfield
187         reference based on TYPE_SIZE, not TYPE_PRECISION.
188
189         * stmt.c (parse_output_constraint): Warn about in-out constraint
190         that doesn't allow a register.
191         (parse_input_constraint): Warn about matching constraint that
192         doesn't allow a register.
193
194 2003-12-19  James E Wilson  <wilson@specifixinc.com>
195
196         * flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
197         Add case for ASM_OPERANDS.
198         * global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
199         registers.
200
201 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
202
203         * expr.c (check_max_integer_computation_mode): Remove.
204         * dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
205         * fold-const.c (fold): Likewise.
206         * system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
207         * doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
208
209 2003-12-19  James E Wilson  <wilson@specifixinc.com>
210
211         * configure.in: Delete libunwind_has_eh_support test.
212         * configure: Regenerate.
213         * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
214         and libunwind_has_eh_support check.
215         * config/t-libunwind-no-eh: Delete.
216
217 2003-12-19  Joseph S. Myers  <jsm@polyomino.org.uk>
218
219         * c-format.c (print_char_table): Allow 'I' flag on floating point
220         decimal formats.
221
222 2003-12-19  Stuart Hastings  <stuart@apple.com>
223
224         * gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
225         Trivial fixes for i386.c on Darwin/x86.
226         
227 2003-12-19  Fariborz Jahanian <fjahanian@apple.com>
228
229         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
230         recognize macho-style lo_sum adrress patterns.
231
232 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
233
234         * dwarfout.c: Remove uses of "register" specifier in
235         declarations of arguments and local variables.
236         * gensupport.c: Likewise.
237         * local-alloc.c: Likewise.
238         * regclass.c: Likewise.
239
240 2003-12-19  Kelley Cook  <kelleycook@wideopenwest.com>
241
242         * config.guess: Remove.
243
244 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
245
246         * config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
247         (unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
248         regstk_top.
249         (uw_frame_state_for): Handle locations inside bundles.
250         (uw_init_context_1): Initialize context->rnat.
251         Set context->regstk_top to lowest rbs address which has nat collection
252         in context->rnat.
253         (uw_install_context): Fix rnat restoring.
254         Restore ar.rsc to previous state.
255         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
256         MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
257
258 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
259
260         PR c++/13239
261         * builtins.c (expand_builtin_expect_jump): Update
262         TREE_VALUE (arglist) if unsave_expr_now langhook
263         created a new tree.
264
265 2003-12-19  Richard Earnshaw  <rearnsha@arm.com>
266
267         * arm.c (thumb_base_register_rtx_p): Use regno in comparison against
268         FIRST_PSEUDO_REGISTER.
269
270 2003-12-18  Hartmut Penner  <hpenner@de.ibm.com>
271
272         * gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
273         for SVR4 ABI.
274
275 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
276
277         * config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
278         (OS_MISSING_ALTIVEC): Define.
279         * config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
280         -force_cpusubtype_ALL.
281         * config/rs6000/rs6000.c (rs6000_override_options): Rearrange
282         CPU information table; now always set all CPU-specific values.
283         Also, use Altivec and powerpc64 when chip and OS supports them.
284
285 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
286
287         * fixinc/inclhack.def (darwin_macho_dyldh): New.
288         * fixinc/fixincl.x: Regenerate.
289
290 2003-12-18  Dara Hazeghi  <dhazeghi@yahoo.com>
291
292         * version.c (version_string): Renumber as 3.4.0
293         * doc/include/gcc-common.texi: Likewise
294
295 2003-12-18  Richard Henderson  <rth@redhat.com>
296
297         * genrecog.c (print_host_wide_int): New.
298         (write_switch, write_cond): Use it.
299
300 2003-12-18  Richard Henderson  <rth@redhat.com>
301
302         * c-decl.c (check_bitfield_type_and_width): Remove enum special
303         case suppression of pedwarn.
304         * system.h (ENUM_BITFIELD): Use __extension__.
305         (CHAR_BITFIELD): Likewise.
306
307 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
308             Mark Dettinger  <dettinge@de.ibm.com>
309
310         * config/s390/s390.md (UNSPEC_SRST): New constant.
311         ("strlendi", "strlensi"): New expanders.
312         ("*strlendi", "*strlensi"): New insns.
313
314 2003-12-18  Mark Mitchell  <mark@codesourcery.com>
315
316         * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
317         (LINK_ARCH32_SPEC_BASE): ... this new macro.
318         * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
319         ...
320         (LINK_ARCH64_SPEC_BASE): ... this new macro.
321         * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
322         (LINK_ARCH64_SPEC): Likewise.
323
324 2003-12-18  Jason Merrill  <jason@redhat.com>
325
326         PR middle-end/13234
327         * tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
328         classes.
329
330 2003-12-18  Steven Bosscher  <stevenb@suse.de>
331
332         * Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
333         * toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
334         Don't push and pop TV_REORDER_BLOCKS timevars, do it...
335         * bb-reorder.c (reorder_basic_blocks): ...here, and...
336         * tracer.c (tracer): here.
337
338 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
339
340         * loop.c (move_movables): Handle combination of m->consec, 
341         m->move_insn_first, and m->insert_temp all nonzero correctly.
342
343 2003-12-18  Kazu Hirata  <kazu@cs.umass.edu>
344
345         * calls.c (load_register_parameters): Don't use
346         LOAD_ARGS_REVERSED.
347         * system.h (LOAD_ARGS_REVERSED): Poison.
348         * doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
349
350 2003-12-17  Per Bothner  <per@bothner.com>
351
352         * emit-rtl.c (set_new_first_and_last_label_num):  Remove function.
353         * rtl.h (set_new_first_and_last_label_num):  Remove declaration.
354
355 2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
356
357         * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
358         scratch insns of the then branch that clobber regs needed by the
359         else branch.
360
361 2003-12-17  Kazu Hirata  <kazu@cs.umass.edu>
362
363         * calls.c (expand_call): Update comments.
364         * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
365         * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
366
367 2003-12-17  James E Wilson  <wilson@specifixinc.com>
368             Roger Sayle  <roger@eyesopen.com>
369         
370         * Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
371         * gcse.c: Include tree.h.
372         (implicit_set_cond_p): New.
373         (find_implicit_sets): Call it.
374
375 2003-12-17  Santiago Vila  <sanvila@unex.es>
376
377         * config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
378         TARET_OS_CPP_BUILTINS.
379
380 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
381
382         * emit-rtl.c: Fix signed/unsigned comparison warnings.
383
384 2003-12-17  Joseph S. Myers  <jsm@polyomino.org.uk>
385
386         * predict.c (struct block_info_def, struct edge_info_def): Change
387         bit-fields of width 1 to unsigned int.
388
389 2003-12-16  Geoffrey Keating  <geoffk@apple.com>
390
391         PR 12480
392         * c-pch.c (pch_init): Improve error message when precompiled
393         header can't be written.
394
395         PR 12606
396         * c-pch.c (pch_init): Make a PCH file appear invalid while it's
397         being written.
398         (c_common_write_pch): Make it valid once it's done.
399
400 2003-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
401
402         PR target/11992
403         * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
404         instead of CLCL.
405         ("*cmpmem_long_31"): Likewise.
406
407 2003-12-17  Vladimir Makarov  <vmakarov@redhat.com>
408
409         * config/ia64/ia64.c: Add more comments about insn bundling.
410
411 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
412
413         PR optimization/10592
414         * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
415         or subreg in SET_DEST if it isn't a hard register.
416
417 2003-12-17  David Edelsohn  <edelsohn@gnu.org>
418
419         * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
420         -fno-branch-probabilities to arguments when compiling ctors and
421         dtors.
422
423 2003-12-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
424
425         * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
426         * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
427
428 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
429
430         * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
431         as base registers for sub-word operations.
432         (thumb_legitimate_address_p): Simplify REG+REG test.
433
434 2003-12-17  Segher Boessenkool  <boessen@de.ibm.com>
435
436         * opts.c (wrap_help): Fix overflow.
437
438 2003-12-17  Fred Fish  <fnf@redhat.com>
439
440         * configure.in: Remove code to examine linker scripts and set
441         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
442         * configure, config.in: Regenerate.
443
444 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
445
446         PR c++/12218
447         * varasm.c (initializer_constant_valid_p): Allow a conversion from
448         an integral constant to an OFFSET_TYPE.
449
450 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
451
452         PR target/11012
453         * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
454         gen_cmp_ne_small_const_insn.
455         * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
456
457 2003-12-17  Neil Booth  <neil@daikokuya.co.uk>
458             Joseph S. Myers  <jsm@polyomino.org.uk>
459
460         PR c/3347
461         * c-decl.c (enum_decl_context): Remove BITFIELD.
462         (grokdeclarator): Take bit-field width as an input.
463         Perform bit-field width validation with
464         check_bitfield_type_and_width rather than waiting for
465         finish_struct.
466         (groktypename, groktypename_in_parm_context, start_decl,
467         push_parm_decl, grokfield, start_function): Update calls to
468         grokdeclarator.
469         (check_bitfield_type_and_width): New function.
470         (finish_struct): Move bit-field validation to grokdeclarator
471         and check_bitfield_type_and_width.
472
473 2003-12-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
474
475         PR bootstrap/13386
476         * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
477         using HP native linker.
478         * configure: Rebuilt.
479
480 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
481
482         PR c++/13275
483         * c-common.h (enum rid): Add RID_OFFSETOF.
484         * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
485         * ginclude/stddef.h (offsetof): Reimplement for C++, using
486         __offsetof__.
487         * doc/extend.texi: Document __offsetof__.
488         
489 2003-12-16  Stan Cox  <scox@redhat.com>
490
491         * config/iq2000/iq2000.h: Formatting.
492         (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
493         (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
494         (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
495         * config/iq2000/iq2000.c: Formatting.
496         (iq2000_rtx_costs): New.
497
498 2003-12-16  Richard Earnshaw  <rearnsha@arm.com>
499
500         * arm.md (addsi3_carryin_shift): Add missing register constraints.
501
502 2003-12-16  Loren James Rittle  <ljrittle@acm.org>
503
504         * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
505         pass with -pthread on FreeBSD systems.
506
507 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
508
509         * config/mips/mips.c (mips_file_end): Only write symbols that have
510         been referenced at some point.
511
512 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
513
514         * config/mips/mips.c: Include langhooks.h
515         (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
516
517 2003-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
518
519         PR optimization/13313
520         * combine.c (make_extraction) [REG]: Do not use
521         gen_lowpart_for_combine when POS is non-zero.
522
523 2003-12-16  Hartmut Penner  <hpenner@de.ibm.com>
524
525         * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
526         * testsuite/gcc.dg/altivec-10.c: Test for above.
527         
528 2003-12-15  David O'Brien  <obrien@FreeBSD.org>
529
530         * Makefile.in (CPPFLAGS): Initialize from configure.
531
532 2003-12-15  Roger Sayle  <roger@eyesopen.com>
533
534         PR middle-end/13400
535         * ifcvt.c (noce_process_if_block): Disable unconditional write
536         optimizations if we could introduce a store to trapping memory
537         that wasn't present previously.
538
539 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
540
541         * system.h (DEFAULT_CALLER_SAVES): Poison.
542         * toplev.c (flag_caller_saves): Always initialize with 0.
543         * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
544
545 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
546
547         * flow.c (EXIT_IGNORE_STACK): Move to ...
548         * defaults.h (EXIT_IGNORE_STACK): ... here.
549         * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
550         EXIT_IGNORE_STACK.
551         * function.c (expand_function_end): Likewise.
552         * global.c (global_alloc): Likewise.
553         * ra.c (init_ra): Likewise.
554         * reload1.c (init_elim_table): Likewise.
555         * reorg.c (fill_simple_delay_slots): Likewise.
556         * resource.c (init_resource_info): Likewise.
557         * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
558         is 0.
559
560 2003-12-15  J"orn Rennecke <joern.rennecke@superh.com>
561
562         * reload.c (reg_overlap_mentioned_for_reload_p):
563         When looking at a PLUS in X, avoid spuriously returning nonzero
564         when IN is a REG or another simple PLUS, or a MEM containing one.
565
566         * loop.c (loop_invariant_p): Amend comment about where new registers
567         might come from.
568
569 2003-12-15  Andreas Jaeger  <aj@suse.de>
570
571         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
572         handling of obsolete language CHILL.
573
574 2003-12-15  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
575
576         * tree.c (initializer_zerop): Add test for empty set.
577         * integrate.c (function_cannot_inline_p): Forbid inlining
578         functions calling `longjmp'.
579
580 2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
581
582         PR c++/11773
583         * doc/gcov.texi (Gcov and Optimization): Document inline function
584         behaviour. Fix some file suffixes.
585
586 2003-12-14  David O'Brien  <obrien@FreeBSD.org>
587
588         * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
589
590 2003-12-14  Mark Mitchell  <mark@codesourcery.com>
591
592         * c-common.h (c_parse_error): Declare it.
593         * c-common.c (c_parse_error): New function.
594         * c-parse.y (yyerror): Use it.
595
596 2003-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
597
598         PR target/13054
599         * pa-protos.h (indexed_memory_operand, borx_reg_operand,
600         move_dest_operand, move_src_operand): New protypes.
601         (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
602         * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
603         move_src_operand): New functions.
604         (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
605         (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
606         address until cse is not expected on targets with non-equivalent
607         space registers.
608         (hppa_legitimize_address): Canonicalize unscaled indexed addresses
609         on targets non-equivalent space registers.
610         (emit_move_sequence): Break out indexed addresses from destination
611         operand.  Similarly, break out unscaled indexed addresses from
612         source operand on targets with non-equivalent space registers.  Fix
613         REG_POINTER flag when possible.  Mark register pointer when creating
614         new pointers.
615         (print_operand): Handle unscaled index addresses.
616         * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
617         for EXTRA_CONSTRAINT.
618         (EXTRA_CONSTRAINT): Rework to make more readable.
619         (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
620         subroutines for GO_IF_LEGITIMATE_ADDRESS.
621         (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines.  Allow scaled
622         and unscaled addresses.  Canonicalize unscaled indexed addresses on
623         targets with non-equivalent space registers.  Document issues in
624         handling indexed address modes on PA-RISC.
625         (PREDICATE_CODES): Update for new and deleted predicates.
626         * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
627         Use new predicates in move patterns.
628         Add peephole2 patterns to optimize floating point stores.  Fix
629         constrain preferencing in move patterns.  Delete patterns for handling
630         unscaled indexed memory loads.  Add missing load and store with
631         base-register modification patterns.  Correct SFmode floating point
632         store pattern.  Add missing zero extension loads.
633
634 2003-12-13  Steven Bosscher  <stevenb@suse.de>
635
636         * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
637         comes in with ggc.h.  Add a new bool field `dead'.
638         (destroy_ggc_zone): Don't destroy a zone at once.  Instead, only
639         set the `dead' flag for the dead zone.  Wrap a sanity check in
640         ENABLE_CHECKING.
641         (ggc_collect_1): Always mark and sweep if a zone has the `dead'
642         flag set.
643         (ggc_collect): Free dead zones after collecting.
644
645 2003-12-13  Jan Hubicka  <jh@suse.cz>
646
647         * coverage.c (get_coverage_counts):  Use inform instead of warning
648         about missing profile.
649
650 2003-12-12  Steven Bosscher  <stevenb@suse.de>
651
652         * Makefile.in (opts.o, explow.o): Depend on langhooks.h
653
654 2003-12-12  Geoffrey Keating  <geoffk@apple.com>
655
656         * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
657         <powerpc-*-darwin*>: Likewise.
658
659 2003-12-12  Jakub Jelinek  <jakub@redhat.com>
660
661         * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
662         (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
663         br_loc[7].  Update comment.
664         (MD_HANDLE_UNWABI): Define.
665         * config/ia64/unwind-ia64.c (struct unw_state_record): Add
666         unwabi field.
667         (struct _Unwind_Context): Increase br_loc array size to 8 entries.
668         (desc_abi): Set unwabi.
669         (uw_update_reg_address): Allow br up to 7.
670         (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
671         (uw_install_context): Load b1..b5 from correct locations.
672         Fix insn loading ar.fpsr.
673         * doc/tm.texi: Document MD_HANDLE_UNWABI.
674
675 2003-12-12  Roger Sayle  <roger@eyesopen.com>
676
677         PR optimization/13037
678         * loop.c (update_giv_derive): Ignore redundant sets of a biv when
679         calculating how to derive a giv from a biv.
680
681 2003-12-12  Neil Booth  <neil@daikokuya.co.uk>
682
683         PR preprocessor/12935 preprocessor/12952 preprocessor/13046
684         * cpplib.c (prepare_directive_trad): Clear skipping only in
685         #if and #elif directives.
686         (do_undef): Call the handler even if the identifier is not a macro.
687         * cpptrad.c (scan_parameters): Emit an error message.
688         (_cpp_create_trad_definition): Remember the params list even on
689         failure.
690
691 2003-12-11  Zack Weinberg  <zack@codesourcery.com>
692
693         * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
694         to inline functions: arm_arm_address_cost, arm_thumb_address_cost
695         respectively.
696         (arm_address_cost): Use 'em.
697
698 2003-12-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
699
700         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
701         __STDC_VERSION__ to ISO C94 for C++.
702
703         * fixinc/inclhack.def (alpha_wchar): New fix.
704         * fixinc/fixincl.x: Regenerate.
705         * fixinc/tests/base/wchar.h: New file.
706
707 2003-12-11  David Mosberger  <davidm@hpl.hp.com>
708
709         * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
710         required by C++ ABI for Itanium.
711         * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
712         * config/t-libunwind-no-eh: New file.
713         * configure.in: Check libunwind for _Unwind_Resume() and if it's
714         present, set libunwind_has_eh_support to "yes".
715         * configure: Regenerate.
716         * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
717         set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
718
719 2003-12-11  Richard Sandiford  <rsandifo@redhat.com>
720
721         * config/mips/mips.c (mips_global_pointer): Force functions with
722         a nonlocal goto to set up $gp.
723
724 2003-12-11  James E Wilson  <wilson@specifixinc.com>
725
726         PR target/13132
727         * function.c (gen_mem_addressof): When no decl, explicitly clear flag
728         bits.
729
730 2003-12-12  Nick Clifton  <nickc@redhat.com>
731
732         * config/m32r/m32r.c: Convert to ISO-C
733
734 2003-12-12  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
735
736         * doc/invoke.texi: Replace Mitsubishi with Renesas.
737         * config/m32r/m32r.h: Ditto.
738         * config/m32r/m32r.c: Ditto.
739         * config/m32r/m32r.md: Ditto.
740
741 2003-12-11  Steven Bosscher  <steven@gcc.gnu.org>
742
743         * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
744         (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
745         (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
746         (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
747         fields of a basic block.
748         * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
749         cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
750         cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
751         final.c, flow.c, function.c, gcse.c, global.c, graph.c,
752         haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
753         loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
754         ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
755         regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
756         sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
757         config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
758         accessing the `head' and `end' fields of a basic block directly.
759
760         * gengtype.c: Teach about "void**" pointers and "void *" function
761         types.  Fixes earlier commit.
762
763 2003-12-10  Geoffrey Keating  <geoffk@apple.com>
764
765         * doc/extend.texi (Vector Extensions): Document that bitwise
766         operations also work on vectors.
767
768 2003-12-10  Richard Earnshaw  <rearnsha@arm.com>
769
770         * arm.md: New split patterns for optimizing bitfield accesses.
771
772 2003-12-10  Steven Bosscher  <stevenb@suse.de>
773
774         * README.Portability: Remove K+R section.
775
776         * gengtype-lex.l: Teach about "void**" pointers and
777         "void*" function types.
778
779 2003-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
780
781         PR target/13354
782         * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
783         manually if one can do that with only one instruction.
784
785 2003-12-10  Nick Clifton  <nickc@redhat.com>
786
787         * config.gcc (arm-linux): Include linux.h in tm_file so that
788         LINUX_TARGET_OS_CPP_BUILTINS is defined.
789         * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
790
791 2003-12-09  James E Wilson  <wilson@specifixinc.com>
792
793         * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
794
795 2003-12-09  Matt Austern  <austern@apple.com>
796
797         PR c/13134
798         * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
799
800 2003-12-09  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
801
802         * config/m32r/m32r.h: Add support for m32r2 processor.  Including
803         a new command line option -m32r2 to select it.
804         * config/m32r/m32r.c: Add support for the new processor variant.
805         * config/m32r/m32r.md: Likewise.
806         * config/m32r/t-m32r: Add m32r2 multilibs.
807         * doc/invoke.texi: Document the new command line switch.
808
809 2003-12-08  Kazu Hirata  <kazu@cs.umass.edu>
810
811         * defaults.h (LOCAL_REGNO): Give the default definition.
812         * flow.c (LOCAL_REGNO): Remove.
813         * reload1.c (LOCAL_REGNO): Likewise.
814
815 2003-12-08  Geoffrey Keating  <geoffk@apple.com>
816
817         PR target/11848
818         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
819         in floating-point registers between TFmode and DImode.
820         * rs6000.c (rs6000_emit_move): Split moves early.
821         (secondary_reload_class): Random Whitespace Change.
822         (rs6000_split_multireg_move): Support moves involving FP registers.
823         Emit instructions directly.
824         * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
825         * altivec.md: Update for changes to rs6000_split_multireg_move.
826         * rs6000.md: Update for changes to rs6000_split_multireg_move.
827         (movtf_internal): Support moves to/from GPRs.
828
829 2003-12-08  Stuart Hastings  <stuart@apple.com>
830
831         * config/i386/i386.md: Typo in split of fp-valued if_then_else.
832
833 2003-12-08  James E Wilson  <wilson@specifixinc.com>
834
835         PR target/13132
836         * expmed.c (extract_bit_field): Only call mode_for_size for scalar
837         integer modes.
838
839 2003-12-08  Nathanael Nerode  <neroden@gcc.gnu.org>
840
841         * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
842         directory.
843
844 2003-12-08  Alexandre Oliva  <aoliva@redhat.com>
845
846         * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
847         by using match_scratch.
848         (negdi2): New.
849
850 2003-12-08  Jason Merrill <jason@redhat.com>
851             Daniel Berlin  <dberlin@dberlin.org>
852
853         PR debug/11114
854         Support namespaces in DWARF 2 output.
855         * dwarf2out.c (gen_namespace_die): New function.
856         (force_namespace_die, setup_namespace_context): New fns.
857         (declare_in_namespace): New fn.
858         (gen_decl_die): Call declare_in_namespace.  Handle namespaces.
859         (dwarf2out_decl): Handle namespaces.
860         (scope_die_for): Pass through a namespace scope.
861         (class_scope_p): Rename to class_or_namespace_scope_p.
862         (gen_subprogram_die, gen_variable_die): Adjust.
863         (gen_struct_or_union_die): Always emit a declaration
864         if context_die is a namespace.
865
866 2003-12-08  Jan Hubicka  <jh@suse.cz>
867
868         * unwind-pe.h (read_uleb128): Fix handling of large values
869         (read_sleb128): Fix handling of large values
870
871 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
872
873         PR middle-end/10060
874         * emit-rtl.c (copy_rtx_if_shared): Split out into ...
875         (copy_rtx_if_shared_1): here and optimize the last one
876         in the sequence into tail-recursion.
877         (reset_used_flags): Optimize the last one
878         in the sequence into tail-recursion.
879
880 2003-12-08  Richard Earnshaw  <rearnsha@arm.com>
881
882         * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
883         for constant X.
884
885 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
886
887         * calls.c (expand_call): Don't try using tail or recursive calls
888         after the function body has been expanded.
889
890 2003-12-08  Jan Hubicka  <jh@suse.cz>
891
892         * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
893
894 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
895
896         PR ada/13324, PR ada/12614
897         * doc/install.texi: Update requirements for building Ada.
898
899 2003-12-07  David Edelsohn  <edelsohn@gnu.org>
900             Graham Reed <greed@pobox.com>
901
902         * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
903         (GCC_UNDEF_SYMBOL): Same.
904
905 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
906
907         * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
908         * system.h (FINAL_PRESCAN_LABEL): Poison.
909         * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
910
911 2003-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
912
913         * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
914
915 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
916
917         * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
918         * configure: Regenerate with autoconf 2.13.
919
920         * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
921         with modern equivalents.
922         * configure: Regenerate.
923
924         * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
925         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
926         * configure: Regenerate.
927
928         * configure: Regenerate with (preferred) autoconf 2.57.
929         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
930
931 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
932
933         PR optimization/12965
934         * caller-save.c (save_call_clobbered_regs): Do not save/restore
935         registers around no-return calls.
936
937 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
938
939         * configure.in: Make minimum necessary changes for autoconf 2.5x.
940         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
941         * configure: Regenerate with autoconf 2.58.
942
943 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
944
945         PR optimization/13318
946         * loop.c (express_from): Protect integer division from overflow.
947
948 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
949
950         PR optimization/13060
951         * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
952         replacement already exists.  Fix again the whole insn if that fails.
953
954 2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
955
956         * config/rs6000/rs6000.c (macho_branch_islands): Use
957         HOST_WIDE_INT_PRINT_UNSIGNED.
958
959 2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
960
961         * varasm.c (incorporeal_function_p): New.
962         (assemble_external): Use it as a filter.
963         * config/mips/mips.c (mips_output_external): Don't check for builtin
964         functions here.
965
966 2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
967
968         * arm.md (IOR (COMPARISON) (AND)): New define_splits.
969
970 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
971
972         * Makefile.in (program_transform_cross_name): Delete.
973         (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
974         (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
975         (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
976         (install_cpp, install_driver, install-man, uninstall): Likewise.
977
978 2003-12-06  Alan Modra  <amodra@bigpond.net.au>
979
980         PR 13169
981         * basic-block.h (PROP_ASM_SCAN): Define.
982         * final.c (regs_asm_clobbered): New array.
983         * regs.h (regs_asm_clobbered): Declare.
984         * flow.c (life_analysis): Init it.
985         (mark_set_regs): Set PROP_ASM_SCAN for asms.
986         (mark_set_1): Set regs_asm_clobbered.
987         * global.c (global_alloc): Don't set eliminable_regset when
988         regs_asm_clobbered.
989
990 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
991
992         * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
993
994         PR c++/13314
995         * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
996
997 2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
998
999         PR driver/13211
1000         * gcc.c (execute) Increment execution_count when returning
1001         early because verbose_only_flag is true.
1002
1003 2003-12-05  Per Bothner  <pbothner@apple.com>
1004
1005         * cppfiles.c (file_hash_hash):  New static function.
1006         (hash_string_eq):  Renamed static function to file_hash_eq.
1007         (_cpp_init_files):  Create file_hash table with above callbacks.
1008         (cpp_included):  Must use htab_find_with_hash insead of htab_find.
1009         (_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
1010
1011 2003-12-05  Per Bothner  <pbothner@apple.com>
1012
1013         * line-map.h (source_location):  New typedef.
1014         (fileline):  Redefined as source_location.
1015         (struct line_map, linemap_add, linemap_lookup):  Replace filefile
1016         by source_location.
1017         * line-map.c (linemap_add, linemap_lookup):  Use source_location.
1018
1019 2003-12-05  Richard Henderson  <rth@redhat.com>
1020
1021         * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
1022         field to suppress -Wpadded warnings.
1023
1024 2003-12-05  Stuart Hastings  <stuart@apple.com>
1025
1026         * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
1027
1028 2003-12-05  Stuart Menefy <stuart.menefy@st.com>
1029             J"orn Rennecke <joern.rennecke@superh.com>
1030
1031         PR target/13302
1032         * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
1033
1034 2003-12-05  Roger Sayle  <roger@eyesopen.com>
1035
1036         * dojump.c (do_jump): If the expression being compared against
1037         zero, is the subreg of a promoted variable, perform the comparison
1038         in the promoted mode.
1039         * simplify-rtx.c (simplify_unary_operation): Optimize sign and
1040         zero-extensions of subregs of promoted variables where the
1041         extension is identical to that used to promote the variable.
1042
1043 2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
1044
1045         PR target/13256
1046         * resource.h (enum mark_resource_type): Remove member MARK_DEST.
1047         The only user changed as follows:
1048         * resource.c (mark_set_resources) <case SET>: Always recurse for
1049         SET_SRC (x).
1050         <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
1051         operands.
1052         <case STRICT_LOW_PART>: Delete, deferring to default code.
1053
1054 2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
1055
1056         * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
1057         and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
1058
1059 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
1060
1061         * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
1062         for n32 & n64 abicalls.
1063
1064 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
1065
1066         PR bootstrap/13145
1067         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
1068         * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
1069         (mips_load_got): Always create a constant MEM.
1070         (mips_expand_call): Use load_callsi and load_calldi.
1071         * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
1072         (load_callsi, load_calldi): New patterns.
1073
1074 2003-12-05  Peter Gerwinski <peter@gerwinski.de>
1075
1076         * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
1077
1078 2003-12-05  Steven Bosscher  <stevenb@suse.de>
1079
1080         * config/d30v/d30v-protos.h , config/d30v/d30v.c,
1081         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1082         config/fr30/fr30-protos.h, config/fr30/fr30.c,
1083         config/i370/i370-protos.h, config/i370/i370.c,
1084         config/i960/i960-protos.h, config/i960/i960.c,
1085         config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
1086         config/m32r/m32r-protos.h, config/m32r/m32r.c,
1087         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
1088         config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
1089         Convert to ISO C90 function declarations and definitions.
1090
1091 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
1092
1093         * doc/extend.texi (Constructing Calls): Add warning about
1094         the limitations of the functions.
1095
1096 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
1097
1098         PR middle-end/11151
1099         * function.h (struct function): New field 'x_naked_return_label'.
1100         * function.c (free_after_compilation): Set it to NULL.
1101         (expand_function_end): Emit 'naked_return_label' if it exists.
1102         * rtl.h (expand_naked_return): Declare.
1103         * stmt.c (expand_naked_return): New function to generate a
1104         jump to 'naked_return_label'.
1105         * builtins.c (expand_builtin_return): Call expand_naked_return
1106         instead of expand_null_return.
1107         * config/sparc/sparc.md (untyped_return): Likewise.
1108
1109 2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
1110
1111         PR target/11322
1112         * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
1113
1114         PR target/12467
1115         * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
1116
1117 2003-12-04  Stuart Hastings  <stuart@apple.com>
1118
1119         * rs6000.c (output_call, macho_branch_islands,
1120         add_compiler_branch_island, no_previous_def, get_previous_label)
1121         Revisions of xx_stub functions for branch islands,
1122         add -fPIC support for Darwin.
1123         * rs6000-protos.h (output_call) Prototype.
1124         * rs6000.md Use output_call.
1125         * invoke.texi Explain Darwin semantics of -longcall.
1126         * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
1127
1128 2003-12-04  Richard Henderson  <rth@redhat.com>
1129
1130         * config/i386/i386.md (addqi3_carry): Use q not r constraints.
1131         (subqi3_carry): Likewise.
1132
1133 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
1134
1135         PR optimization/13260
1136         * sh-protos.h (sh_expand_t_scc): Declare.
1137         * sh.h (PREDICATE_CODES): Add cmpsi_operand.
1138         * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
1139         * sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
1140         something that is not a CONST_INT, copy it into a pseudo register.
1141         (subc): Fix description of new T value.
1142         (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
1143         (sltu, sleu, sgeu): Likewise.
1144         (seq, sne): Likewise. Use sh_expand_t_scc.
1145
1146 2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
1147
1148         * configure.in: Generalize the CONFIG_HEADERS pattern under which
1149         we stamp cstamp-h.
1150         * configure: Regenerate.
1151
1152         * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
1153         to avoid trouble when updating to autoconf 2.5x.
1154         * configure: Regenerate (with autoconf 2.13 still).
1155
1156 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
1157
1158         * sh.md (truncdiqi2): Use andi opcode for immediate.
1159         (reload_outdf+1,reload_outdf+2): Remove constraints.
1160         (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
1161         (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
1162         (fipr, ftrv): Add .s suffix to opcode.
1163
1164 2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
1165
1166         PR target/13186
1167
1168         Revert all of the following patch, except the addition of
1169         hook_bool_machine_mode_true:
1170
1171         2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
1172
1173         * Makefile.in (targhooks.o, reload.o): Update dependencies.
1174         (GTFILES): Add targhooks.c.
1175         (gt-targhooks.h): New rule; depend on s-gtype.
1176         * target.h (direct_pool_load_p): New hook.
1177         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1178         (TARGET_INITIALIZER): Include it.
1179         * targhooks.h (default_direct_pool_load_p): Declare.
1180         (hook_bool_machine_mode_true): Declare.
1181         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1182         gt-targhooks.h.
1183         (pool_symbol): New variable.
1184         (default_direct_pool_load_p): New function.
1185         (hook_bool_machine_mode_true): New function.
1186         * reload.c: Include target.h.
1187         (find_reloads): If an alternative will force a constant into memory,
1188         count an extra reload if constant pool symbols are not valid
1189         addresses.  If an alternative uses memory to move values between
1190         registers, count the move as two reloads rather than one.
1191         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1192         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1193
1194 2003-12-03  Mark Mitchell  <mark@codesourcery.com>
1195
1196         * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
1197         * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
1198         HAVE_AS_TLS is true.
1199         * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
1200
1201 2003-12-03  James E Wilson  <wilson@specifixinc.com>
1202
1203         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
1204
1205         * gcc-page.c (extra_order_size_tab): Correct comment.
1206
1207 2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
1208
1209         * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
1210         instead of gen_push_h8300hs.
1211         (pop): Call gen_pop_h8300hs_advanced instead of
1212         gen_pop_h8300hs.
1213         * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
1214         * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
1215         Tighten the predicate.
1216         (*tablejump_h8300hs_normal): Tighten the predicate.
1217         (push_h8300hs): Change to
1218         push_h8300hs_advanced.
1219         (pop_h8300hs): Change to pop_h8300hs_advanced.
1220
1221 2003-12-03  Eric Christopher  <echristo@redhat.com>
1222
1223         * rtl.c: Fix typo.
1224         * config/mips/mips.h: Ditto. Fix formatting.
1225
1226 2003-12-04  Ben Elliston  <bje@wasabisystems.com>
1227
1228         * future.options: Remove. Move to gnu.org web pages.
1229
1230 2003-12-03  Eric Christopher  <echristo@redhat.com>
1231
1232         * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
1233         from here...
1234         * c-tree.h: to here.
1235
1236 2003-12-03  Jan Hubicka  <jh@suse.cz>
1237
1238         PR optimization/12324
1239         * toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
1240         in unit-at-a-time mode.
1241
1242 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
1243
1244         * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
1245         read-only field if cleared is 0.
1246
1247 2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
1248
1249         * config.gcc: Mark obsolete targets for GCC 3.4.
1250
1251 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
1252
1253         * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
1254         * config.in, configure.in: Regenerate.
1255         * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
1256         including iconv.h.
1257
1258 2003-12-03  Alan Modra  <amodra@bigpond.net.au>
1259
1260         PR target/11229
1261         * cse.c (cse_insn): Set classp using src_const_elt if
1262         src_eqv_elt is NULL.
1263
1264 2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
1265
1266         * gcse.c (reg_clear_last_set): New function.
1267         (reg_set_info): If data is non-null, treat it as an sbitmap of
1268         registers, set the bit for the register being set.
1269         (compute_store_table): Allocate last_set_in with xcalloc.  Do not
1270         memset this array on each iteration.  Pass reg_set_in_block[bb->index]
1271         to note_stores while computing last_set_in instead of scanning
1272         last_set_in after the first pass through the insns.
1273         Clear last_set_in using reg_clear_last_set instead of explicitly
1274         rescanning after each insn.  If checking is enabled, assert that
1275         last_set_in is completely zeroed after each bb has been processed.
1276
1277 2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
1278
1279         * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
1280         never read-write.
1281         <REG>: Delete incorrect comment.
1282         <SET>: Remove 'use_flags' variable.
1283
1284 2003-12-03  David Edelsohn  <edelsohn@gnu.org>
1285
1286         * function.c (assign_parms): Make sure parm PARALLEL combined
1287         in reg is composed of more than one object and the mode really
1288         produces a reg.
1289
1290 2003-12-03  Jan Hubicka  <jh@suse.cz>
1291
1292         * i386.c (classify_argument): Make it 64bit clean.
1293
1294 2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
1295
1296         * config/mips/mips.c (mips_output_external): Replace checks for
1297         specific builtin-in functions with a check for DECL_BUILTIN_IN.
1298
1299 2003-12-02  Richard Henderson  <rth@redhat.com>
1300
1301         * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
1302         * tree.h (TREE_SET_CODE): Likewise.
1303         * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
1304
1305 2003-12-02  Ben Elliston  <bje@wasabisystems.com>
1306
1307         * dbxstclass.h: Rename from this ..
1308         * xcoff.h: .. to this.
1309         * xcoffout.c: Include xcoff.h.
1310
1311 2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1312
1313         * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
1314
1315 2003-12-01  James Lemke <jim@wasabisystems.com>
1316
1317         * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
1318
1319 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1320
1321         PR optimization/11634
1322         * recog.c (split_insn): Factor test of INSN_P and handling of
1323         set_noop_p out of here into the two callers.
1324         (split_all_insns): Add INSN_P test and set_noop_p handling here.
1325         If deleting a no-op set after reload that has a REG_UNUSED note,
1326         mark the basic block as changed and recalculate life information.
1327         (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
1328         here.
1329
1330 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1331
1332         PR optimization/12322
1333         * gcse.c (struct ls_expr): Change type of hash_index from int to
1334         unsigned int.
1335         (hash_expr): Document hash_table_size parameter and wrap long line.
1336         (ldst_entry): Calculate expression's hash_index and record in ptr.
1337         (trim_ld_motion_mems): Use hash_index to search a single bucket
1338         instead of scanning the entire hash_table.  Remove the "del" local
1339         variable and use the equivalent "expr == 0" instead.  Change last
1340         to be a pointer to the pointer to the current element, to simplify
1341         and speed-up deleting from a linked list.
1342
1343 2003-12-01  James E Wilson  <wilson@specifixinc.com>
1344
1345         * doc/contrib.texi: Update David Mosberger.
1346
1347         * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
1348         of missing fields.
1349
1350         PR target/8407
1351         * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
1352         gen_rtx_REG to create new reg with argument mode.
1353
1354 2003-12-01  Steven Bosscher  <stevenb@suse.de>
1355
1356         * ggc.h (struct alloc_zone): Move forward declaration up.
1357         (new_ggc_zone): New function prototype.
1358         (destroy_ggc_zone): Ditto.
1359         * ggc-simple.c (new_ggc_zone): New function, does nothing.
1360         (destroy_ggc_zone): Ditto.
1361         * ggc-page.c (new_ggc_zone): New function, does nothing.
1362         (destroy_ggc_zone): Ditto.
1363         * ggc-zone.c (struct page_entry): Fix comment.
1364         (ggc_alloc_typed): Use a switch statement instead of ifs.
1365         (new_ggc_zone): New function to set up a new GC zone.
1366         (destroy_ggc_zone): New function to remove a GC zone.
1367         init_ggc): Use new_ggc_zone to set up the default zones.
1368         (ggc_collect): Walk a list of zones, instead of just the
1369         default zones.  Report statistics using the zone name.
1370
1371 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1372
1373         * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
1374
1375 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1376
1377         PR optimization/12628
1378         * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
1379         * regclass.c (reg_scan): Include allocate_reg_info time in
1380         TV_REG_SCAN.  Minor clean-ups.
1381         (reg_scan_update): Minor clean-ups.
1382
1383 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1384
1385         * config.gcc (s390x-ibm-tpf*): Add extra_parts.
1386
1387 2003-12-01  James E Wilson  <wilson@specifixinc.com>
1388
1389         * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
1390         GR_ARG_FIRST.
1391
1392 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
1393
1394         * common.opt: Remove -fgnu-linker.
1395         * flags.h: Remove flag_gnu_linker.
1396         * opts.c: Don't handle OPT_fgnu_linker.
1397         * toplev.c: Don't initialize flag_gnu_linker.
1398         Remove gnu-linker entry from f_options.
1399         * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
1400         Don't reset flag_gnu_linker.
1401         * config/mips/mips.c (override_options): Likewise.
1402         * doc/invoke.texi: Remove all mention of -fgnu-linker.
1403
1404 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
1405
1406         * ggc-zone.c (ggc_pch_write_object): Calculate object size using
1407         ggc_get_size (which accounts for large objects properly).
1408
1409 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
1410
1411         PR optimization/13024
1412         * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
1413         parameter.
1414         (rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
1415         declaration.  Rebuild jump labels following local_alloc if necessary.
1416         (rest_of_compilation): Remove rebuild_label_notes_after_reload
1417         declaration.  Don't pass rebuild_notes parameter to
1418         rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
1419         Don't rebuild jump labels.
1420
1421 2003-12-01  Jeff Law  <law@redhat.com>
1422
1423         * flow.c (count_or_remove_death_notes_bb): New.  Extracted from
1424         count_or_remove_death_notes.
1425         (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
1426
1427 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
1428
1429         * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
1430
1431 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1432
1433         * reload.c (find_reloads_address): Split addresses of type
1434         (plus (plus (reg) (reg)) (const_int)) only if one register
1435         is either a valid base register or else one of the stack
1436         frame related registers (sp/fp/ap).
1437
1438 2003-12-01  Steven Bosscher  <stevenb@suse.de>
1439
1440         * function.c (update_epilogue_consts): Don't use PARAMS.
1441         * rtl.h (web_main): Ditto.
1442         * target.h (is_costly_dependence): Ditto
1443
1444 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1445
1446         PR middle-end/7847
1447         * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
1448         do not recheck that 'op0' is a MEM.  Move comment.  When testing for
1449         unaligned objects, take also into account the alignment of 'op0' and
1450         'mode1' if 'op0' is a MEM.
1451
1452 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1453
1454         * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
1455
1456 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
1457
1458         * doc/install.texi: Note that fastjar is built with automake 1.7.x
1459         and autoconf 2.57.
1460
1461 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
1462
1463         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
1464         target_flags directly rather than using TARGET_* defines.
1465
1466 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
1467
1468         * doschk.c: Remove.
1469
1470 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
1471
1472         PR target/12727
1473         * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
1474         on 32-bit big-endian targets.
1475
1476 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
1477
1478         * genemit.c (register_constraints): Remove.
1479
1480 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
1481
1482         * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
1483         "iordi3"): Insns now use multiple letter constraints.
1484         ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
1485         covered by "*movdi_64".
1486         ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
1487         covered by "*movsi_zarch" and "*movsi_esa".
1488         ("*movsi_zarch", "*movsi_!zarch"): New insns.
1489         ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
1490         by "*andsi3_zarch" and "anddi3".
1491         ("*anddi3_ni"): Insn merged with "anddi3".
1492         ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
1493         ("*andsi3_zarch", "*andsi3_esa"): New insns.
1494         ("*iordi3_oi"): Insn merged with "iordi3".
1495         ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
1496         ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
1497
1498         * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
1499         merged to s390_single_part.
1500         (s390_single_part): New function.
1501         NOTE: Semantics have changed a bit. Now the value of the part must
1502         be different from the others to get a non-negative return value.
1503         (s390_extract_qi, s390_extract_hi): Functions merged to
1504         s390_extract_part.
1505         (s390_extract_part, s390_extra_constraint_str,
1506         s390_const_ok_for_constraint_p): New functions. The L constraint got a
1507         new meaning and the N constraint was added as a multiple letter
1508         constraint.
1509         (s390_extra_constraint): Function deleted.
1510         (print_operand): New output modifier 'i' and 'j' added.
1511         All uses of CONST_OK_FOR_LETTER_P were replaced by
1512         CONST_OK_FOR_CONSTRAINT_P.
1513
1514         * config/s390/s390-protos.h: Function prototypes adapted.
1515         * doc/md.texi: Documentation for new constraint letters added.
1516
1517 2003-11-30  Andreas Schwab  <schwab@suse.de>
1518
1519         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
1520
1521 2003-11-29  James E Wilson  <wilson@specifixinc.com>
1522
1523         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
1524         instead of in shared_name.
1525
1526         * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
1527         * reload1.c (reload): Re-add it here.
1528
1529 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
1530
1531         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
1532         set SECTION_WRITE on TARGET_RELOCATABLE.
1533
1534 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1535
1536         * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
1537
1538 2003-11-28  Gunther Nikl  <gni@gecko.de>
1539
1540         * config/m68k/m68k.c (MOTOROLA): Move from here...
1541         * config/m68k/m68k.h (MOTOROLA): ... to here.
1542         (OUTPUT_JUMP): Use do {...} while (0).
1543         * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
1544
1545 2003-11-28  Gunther Nikl  <gni@gecko.de>
1546
1547         * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
1548         m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
1549         MOTOROLA and USE_GAS.
1550         * config/m68k/rtemself.h (MOTOROLA): Delete.
1551         * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
1552         * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
1553
1554 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1555
1556         * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
1557
1558 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
1559
1560         * Makefile.in (install-info): Install gccinstall.info too.
1561
1562 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1563
1564         * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
1565
1566 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1567
1568         * config/s390/s390.md ("movhi"): Do not emit extender pattern
1569         when loading from a (MEM (ADDRESSOF ...)).
1570         ("movqi"): Likewise.
1571
1572 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
1573
1574         PR c/10333
1575         * c-parse.in (typespec_reserved_nonattr): Reject typeof on
1576         bit-fields.
1577
1578 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
1579
1580         * stmt.c (expand_asm_operands): Check whether force_const_mem
1581         succeeded.
1582
1583 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1584
1585         * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
1586         * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
1587
1588         * config/alpha/gnu.h, config/alpha/linux.h,
1589         config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
1590         config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
1591         config/i386/linux-aout.h, config/i386/linux.h,
1592         config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
1593         config/m68k/uclinux.h, config/mips/linux.h,
1594         config/mn10300/linux.h, config/pa/pa-linux.h,
1595         config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
1596         config/sparc/linux.h, config/sparc/linux64.h,
1597         config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
1598         HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
1599         all necessary assertions are included.
1600
1601 2003-11-28  Jan Hubicka  <jh@suse.cz>
1602
1603         * emit-rtl.c (set_used_flags): New.
1604         (verify_rtx_sharing, verify_rtl_sharing): New.
1605         (unshare_all_rtl_1): Rename to....
1606         (unshare_all_rtl_in_chain): ... this one; make static.
1607         (copy_rtx_if_shared): LABEL_REF chan be shared.
1608         * ifcvt.c (unshare_ifcvt_sequence): New.
1609         (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
1610         noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
1611         noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
1612         noce_try_abs, noce_process_if_block, find_cond_trap
1613         * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
1614         Declare.
1615
1616 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1617
1618         * config/h8300/h8300.md: Fix a comment typo.
1619
1620 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1621
1622         * config/h8300/h8300.md (*movsf_h8300h): Change to
1623         *movsf_h8300hs.
1624         (addsi_h8300): Change to *addsi_h8300.
1625         (addsi_h8300h): Change to *addsi_h8300hs.
1626         (subsi3_h8300): Change to *subsi3_h8300.
1627         (subsi3_h8300h): Change to *subsi3_h8300hs.
1628         (neghi2_h8300h): Change to *neghi2_h8300hs.
1629         (negsi2_h8300h): Change to *negsi2_h8300hs.
1630
1631 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1632
1633         * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
1634         constraint.
1635         (*subhi3_h8300hs): Likewise.
1636
1637 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
1638
1639         * config/rs6000/rs6000.h (MASK_MFCRF): New.
1640         (TARGET_MFCRF): Test target_flags, not processor type.
1641         (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
1642         Change Don't to Do not.
1643         * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
1644         to power4, 970, G5.
1645
1646 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
1647
1648         * cse.c (cse_set_around_loop): When changing a constant load
1649         to a register -register copy, add a REG_EQUAL note.
1650
1651 2003-11-27  Randolph Chung  <tausq@debian.org>
1652             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1653
1654         * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
1655         insns.  Use the regular call expander for the call to the profiler.
1656         * pa.md (call_profiler): Delete.
1657         (load_offset_label_address): New insn to load the address of the
1658         current function for the profiler.
1659         (lcla1, lcla2): New insns to output a code label and load its address.
1660
1661 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1662
1663         * final.c (final_scan_insn): Remove commented-out code.
1664
1665 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1666
1667         * doc/install.texi: Remove ADAC reference and make accurate.
1668
1669 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1670
1671         * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
1672         (FUNCTION_VALUE_REGNO_P): Likewise.
1673         * config/h8300/h8300.md: Define R0_REG.
1674
1675 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1676
1677         * config/h8300/h8300.c: Fix formatting.
1678         * config/h8300/h8300.md: Likewise.
1679
1680 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1681
1682         * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
1683
1684 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1685
1686         * config/h8300/h8300.md: Give names to anonymous insns.
1687
1688 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1689
1690         * config/h8300/h8300.md (extendqisi2): Remove constraints.
1691
1692 2003-11-27  Gunther Nikl  <gni@gecko.de>
1693
1694         * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
1695
1696 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1697
1698         PR optimization/13041
1699         * final.c (frame_pointer_needed): Fix comment.
1700         * reload1.c (reload): Decrease alignment of the frame
1701         pointer if it was used for register allocation.
1702
1703 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1704
1705         PR target/12900
1706         * reg-stack (move_for_stack_reg): New prototype.  Return
1707         whether a control flow insn was deleted.
1708         (subst_stack_regs_pat): Likewise, using the information provided
1709         by move_for_stack_reg.
1710         (subst_stack_regs): Likewise, using the information provided
1711         by subst_stack_regs_pat.
1712         (convert_regs_1): Record whether a control flow insn was deleted,
1713         using the information provided by subst_stack_regs.  Purge dead
1714         edges only if a control flow insn was deleted.
1715
1716 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1717
1718         PR middle-end/8028
1719         PR middle-end/9890
1720         PR middle-end/11151
1721         PR middle-end/12210
1722         PR middle-end/12503
1723         PR middle-end/12692
1724         * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
1725         as the base address to copy the memory arguments to.
1726
1727 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
1728
1729         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
1730         function aliases as functions.
1731
1732 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1733
1734         * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
1735         of ADAC.
1736         * configure: Regenerate.
1737
1738         * Makefile.in: Remove references to ADAC.
1739
1740         * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
1741         * configure: Regenerate.
1742
1743 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
1744             Olivier Hainque  <hainque@act-europe.fr>
1745
1746         PR target/6466
1747         * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
1748         (sparc_flat_compute_frame_size): Likewise.
1749         (sparc_flat_save_restore): Move prototype...
1750         * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
1751         (save_regs): New prototype.
1752         (build_big_number): Likewise.
1753         (apparent_fsize): Change type to HOST_WIDE_INT.
1754         (actual_fsize): Likewise.
1755         (frame_base_offset): Likewise.
1756         (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
1757         Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1758         [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
1759         to load a 64-bit constant.
1760         (sparc_nonflat_function_prologue): Change string descriptor to
1761         HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
1762         (output_restore_regs): Change offset type to HOST_WIDE_INT.
1763         (sparc_nonflat_function_epilogue): Change string descriptor to
1764         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
1765         (output_sibcall): Change size type to HOST_WIDE_INT.  Use
1766         build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1767         (sparc_frame_info): Change types for several components.
1768         (sparc_flat_compute_frame_size): Update types according to previous
1769         change.
1770         (sparc_flat_function_prologue): Change string descriptor to
1771         HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
1772         build_big_number.
1773         (sparc_flat_function_epilogue): Change offset type to int.
1774         Rename 'size1' into 'reg_offset1'.  Change string descriptor to
1775         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
1776         limit to 4096 instead of 4095.
1777
1778         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
1779         HOST_WIDE_INT.
1780
1781 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
1782
1783         * function.c: Make outer_function-chain external.
1784         * function.h: Likewise.
1785
1786 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
1787
1788         * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
1789         using GNU ld.
1790         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
1791         whole of the previous STARTFILE_SPEC except crtbegin.o%s.
1792         (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
1793         (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1794         (SUBTARGET_EXTRA_SPECS): Define.
1795         * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1796         to __gcc_init and -fini function to __gcc_fini.
1797         (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1798         (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1799         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1800         * config/mips/t-iris6gld,
1801         * config/mips/irix6-crti.asm,
1802         * config/mips/irix6-crtn.asm: New files.
1803
1804 2003-11-24  Eric Christopher  <echristo@redhat.com>
1805
1806         PR C/13014
1807         * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1808         (start_function): Use.
1809         (c_push_function_context): Ditto.
1810         (c-pop_function_context): Ditto.
1811         (language_function): Move...
1812         * c-tree.h: ... here. Add x_in_iteration_stmt, and
1813         x_in_case_stmt.
1814         * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1815         c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1816         check for valid break or continue statment here...
1817         * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1818         here. Change original errors to abort.
1819
1820 2003-11-24  Jan Hubicka  <jh@suse.cz>
1821
1822         * fold-const.c (fold):  Do not return early when optimizing
1823         COMPONENT_REF and constant.
1824
1825 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1826
1827         * config/h8300/h8300.md (tablejump_h8300): Change to
1828         *tablejump_h8300.
1829         (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1830         (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1831         (indirect_jump_h8300): Change to *indirect_jump_h8300.
1832         (indirect_jump_h8300h): Change to
1833         *indirect_jump_h8300hs_advanced.
1834         (indirect_jump_normal_mode): Change to
1835         *indirect_jump_h8300hs_normal.
1836
1837 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1838
1839         * config/h8300/h8300.md: Remove constraints from expanders.
1840
1841 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1842
1843         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1844         stm_h8300s_2_advanced.
1845         (stm_h8300s_2_normal): New.
1846         (stm_h8300s_2): Likewise.
1847         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1848         (stm_h8300s_3_normal): New.
1849         (stm_h8300s_3): Likewise.
1850         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1851         (stm_h8300s_4_normal): New.
1852         (stm_h8300s_4): Likewise.
1853         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1854         (ldm_h8300s_2_normal): New.
1855         (ldm_h8300s_2): Likewise.
1856         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1857         (ldm_h8300s_3_normal): New.
1858         (ldm_h8300s_3): Likewise.
1859         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1860         (ldm_h8300s_4_normal): New.
1861         (ldm_h8300s_4): Likewise.
1862         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1863         (two peephole2's): New.
1864
1865 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1866
1867         * genattrtab.c (simplify_cond): Update indices correctly.
1868         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1869         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1870         (check_attr_test, encode_units_mask, compute_alternative_mask,
1871         make_alternative_compare, simplify_and_tree,
1872         attr_rtx_cost, simplify_test_exp, gen_attr,
1873         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1874         * rtl.def (EQ_ATTR_ALT): New.
1875
1876 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1877
1878         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1879         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1880         New variables.
1881         (main): Initialize them.
1882         (find_attr): Canonicalize the attribute name string.
1883         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1884         string arguments.
1885         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1886         (check_attr_test, check_attr_value, make_length_attrs,
1887         write_length_unit_log, simplify_by_exploding, gen_attr,
1888         write_test_expr, write_attr_value, write_eligible_delay,
1889         write_complex_function, make_internal_attr,
1890         write_const_num_delay_slots): Changed due to change of type of
1891         find_attr.
1892         (fill_attr, evaluate_eq_attr, simplify_and_tree,
1893         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1894         strcmp_check.
1895
1896 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1897
1898         PR target/13122
1899         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1900         normal mode.
1901         (pop): Call pop_h8300hs_normal in normal mode.
1902         * config/h8300/h8300.md: Likewise.
1903         (pushqi1_h8300hs_normal): New.
1904         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1905         (pushhi1_h8300hs_normal): New.
1906         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1907         (push_h8300hs_normal): New.
1908         (pop_h8300hs_normal): Likewise.
1909
1910 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1911
1912         * genattrtab.c (count_sub_rtxs): Removed.
1913
1914 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
1915
1916         * recog.c (preprocess_constraints): Only zero those elements of
1917         recog_op_alt that are needed for this insn.
1918         * arm.c (note_invalid_constants): A function can't contain invalid
1919         constants if it has no constraints.
1920
1921 2003-11-22  Jan Hubicka  <jh@suse.cz>
1922
1923         * i386.c (classify_argument): Pass __float128 in memory.
1924         (ix86_return_in_memory): Likewise.
1925         (ix86_libcall_value): Likewsie.
1926
1927 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1928
1929         * config/h8300/h8300.c (dosize): Convert to ISO-C.
1930
1931 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
1932
1933         * flow.c (update_life_info): Amend comment about when a register
1934         can become dead.
1935
1936 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
1937
1938         * doc/.cvsignore: Delete.
1939
1940 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
1941             David Edelsohn  <edelsohn@gnu.org>
1942
1943         * dwarf2out.c (add_location_or_const_value_attribute): Add support
1944         for PARALLEL.
1945
1946 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1947
1948         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1949         (TARGET_LIBGCC2_CFLAGS): Define.
1950
1951         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1952         (__do_global_ctors): Likewise.
1953
1954 2003-11-21  Mark Wielaard  <mark@klomp.org>
1955
1956         * doc/invoke.texi (-O2): Doesn't enable -fweb.
1957
1958 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1959
1960         * doc/invoke.texi: Mention dV and dZ.
1961
1962 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1963
1964         * doc/invoke.texi: Update dump file names.
1965         Remove de, dW, and dX.
1966
1967 2003-11-20  James E Wilson  <wilson@specifixinc.com>
1968
1969         PR c/13133
1970         * reload1.c (reload): Delete special handling for setjmp.
1971
1972 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
1973
1974         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1975         step too.
1976         * config/t-slibgcc-darwin: Adjust install path.
1977         * config/rs6000/t-darwin: Revert multilib matches since
1978         it is not used on darwin.
1979
1980 2003-11-20  Richard Henderson  <rth@redhat.com>
1981
1982         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
1983         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
1984         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
1985         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
1986         * flow.c: Don't include ssa.h.
1987         (set_phi_alternative_reg): Remove.
1988         (calculate_global_regs_live): Don't call it.
1989         (mark_used_regs): Don't handle PHI.
1990         * gengtype.c (open_base_files): Don't reference ssa.h.
1991         * rtl.def (PHI): Remove.
1992         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
1993         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
1994         * opts.c (common_handle_option): Likewise.
1995         * toplev.c (f_options): Likewise.
1996         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
1997         (dump_file): Update to match.
1998         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
1999         (rest_of_handle_ssa): Remove.
2000         (rest_of_compilation): Don't call it.
2001         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
2002         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
2003         * doc/passes.texi (SSA optimizations): Remove.
2004
2005 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
2006
2007         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
2008         * configure: Regenerate.
2009
2010 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
2011
2012         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
2013
2014 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
2015
2016         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
2017         (SHLIB_LC): Define.
2018         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
2019         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
2020
2021 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
2022             David Edelsohn  <edelsohn@gnu.org>
2023
2024         * calls.c (expand_call): Allocate new temp in pass1.
2025         (store_one_arg): If PARALLEL, calculate excess using mode size of
2026         rtvec elt.
2027         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
2028         mode size of rtvec elt.
2029         * function.c (assign_parms): Use parm in register, if available.
2030
2031 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
2032
2033         * config/h8300/lib1funcs.asm (MOVP): Remove.
2034         (ADDP): Likewise.
2035         (CMPP): Likewise.
2036
2037 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
2038
2039         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
2040         with a single instruction if the stack has been decremented by 4
2041         and we have a frame pointer.  Update all callers.
2042         (output_return_instruction): Likewise.
2043         (arm_output_epilogue): Change argument to SIBLING.  Calculate
2044         really_return from the new argument.  Update all callers.
2045         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
2046         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
2047         pass the sibling call.
2048         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
2049         prototypes.
2050
2051 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2052
2053         * Makefile.in (extraclean): Delete.
2054         * configure.in (target_list): Remove extraclean.
2055         * configure: Regenerate.
2056         * doc/makefile.texi, doc/sourcebuild.texi: Update.
2057         * objc/Make-lang.in (objc.extraclean): Delete.
2058
2059 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2060
2061         * Makefile.in (lang_checks): Add.
2062         (check-c++, check-f77, check-java, check-g++, check-g77,
2063         check-objc): Remove hardcoded targets.
2064         * doc/sourcebuild.texi: Document testsuite hooks.
2065         * objc/Make-lang.in (check-objc, lang_checks): Add.
2066
2067 2003-11-19  Scott Snyder  <snyder@fnal.gov>
2068
2069         PR target/13131
2070         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
2071         flag, not a constant.
2072
2073 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
2074
2075         * config/arc/arc-protos.h: Update to C90 prototypes.
2076         * config/arc/arc.c: Likewise.
2077         * config/arc/initfini.c: Likewise.
2078
2079 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2080
2081         * stmt.c (expand_goto): Memory clobbers added.
2082
2083 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2084
2085         * reload.c (find_reloads): Added missing type casts.
2086
2087 2003-11-19  James E Wilson  <wilson@specifixinc.com>
2088
2089         * combine.c (sets_function_arg_p): Delete unused function.
2090
2091 2003-11-19  Eric Christopher  <echristo@redhat.com>
2092
2093         * reload1.c (reload): Revert 2 previous checkins.
2094
2095 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2096
2097         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
2098         whether directive begins at the beginning of a line.
2099
2100 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
2101
2102         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
2103
2104 2003-11-19  Gerald Pfeifer  <gp@suse.de>
2105
2106         * doc/install.texi (Specific): Remove information on old versions
2107         of glibc versus old versions of GCC.
2108
2109 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
2110
2111         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
2112         the register lowpart is a TRULY_NOOP_TRUNCATION.
2113
2114 2003-11-19  Richard Henderson  <rth@redhat.com>
2115
2116         * config/i386/i386.c (print_reg): Handle QI and HI modes for
2117         non Q regs.
2118
2119 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
2120
2121         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
2122         specification file.
2123         * config/t-slibgcc-darwin: New file, libgcc build specification.
2124         * config/t-darwin: Add libgcc2 flag -fPIC.
2125         * config/rs6000/t-darwin: Multilib matches float.
2126         * libgcc-darwin.ver: New file, contains libgcc symbols.
2127
2128 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
2129
2130         * config/ns32k/ns32k.h: Remove obsolete comment.
2131
2132 2003-11-18  Roger Sayle  <roger@eyesopen.com>
2133
2134         PR middle-end/11821
2135         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
2136         size for calls to libgcc's div & mod subroutines when using -Os.
2137
2138 2003-11-18  Jan Hubicka  <jh@suse.cz>
2139
2140         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
2141
2142 2003-11-18  Marc Espie  <espie@openbsd.org>
2143
2144         * config/rs6000/sysv4.h: OpenBSD hooks.
2145
2146 2003-11-18  Richard Henderson  <rth@redhat.com>
2147
2148         * expr.c (expand_expr): Don't look through constant arrays if
2149         they don't bind locally.
2150
2151 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2152
2153         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
2154         when seeing if truncation or extension.
2155
2156 2003-11-17  Eric Christopher  <echristo@redhat.com>
2157
2158         * reload1.c (reload): Fix previous change.
2159
2160 2003-11-17  Scott Snyder  <snyder@fnal.gov>
2161
2162         PR debug/11325
2163         * dwarf2out.c (struct die_struct): Add die_definition field.
2164         (add_AT_specification): New.
2165         (gen_subprogram_die, gen_variable_die,
2166         gen_struct_or_union_type_die): Use it.
2167         (prune_unused_types_mark): If we're marking a forward declaration,
2168         also mark the full definition, if it exists.
2169
2170 2003-11-16  Nick Clifton  <nickc@redhat.com>
2171
2172         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
2173         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
2174         Remove prototype.
2175         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
2176         to xstormy16_build_builtin_va_list and make static.
2177         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
2178
2179 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2180
2181         * config/h8300/h8300-protos.h: Add the prototype for
2182         same_cmp_following_p.
2183         * config/h8300/h8300.c (same_cmp_following_p): New.
2184         * config/h8300/h8300.md (peephole2): Use it.
2185
2186 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2187
2188         * config/h8300/h8300.md: Don't use REGNO when its operand is
2189         not guaranteed to be a REG.
2190
2191 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
2192
2193         * Makefile.in (expr.o): Depend on $(TARGET_H).
2194         * target.h (return_in_msb): New target hook.
2195         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
2196         (TARGET_CALLS): Include it.
2197         * calls.c (shift_returned_value): New function.
2198         (expand_call): Use it.
2199         * expr.c: Include target.h.
2200         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
2201         deciding what padding is needed.  Change the name of the local
2202         padding variable from big_endian_correction to padding_correction.
2203         * stmt.c (shift_return_value): New function.
2204         (expand_return): Use it.  Adjust memory->register copy in the same
2205         way as copy_blkmode_from_reg.  Only change the return register's
2206         mode if it was originally BLKmode.
2207         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
2208         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
2209         (mips_fpr_return_fields): New, split out from mips_function_value.
2210         (mips_return_in_msb, mips_return_fpr_pair): New functions.
2211         (mips_function_value): Rework to use the functions above.
2212         * config/mips/irix6-libc-compat.c: Delete.
2213         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
2214
2215 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2216
2217         * doc/install.texi (--enable-checking): Update valgrind's URL.
2218
2219 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2220
2221         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
2222         with -2147483647 - 1.
2223
2224 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
2225
2226         Fix links in online manuals.
2227         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
2228         (Precompiled Headers): @pxref to cpp, not cpp.info.
2229
2230 2003-11-16  Jason Merrill  <jason@redhat.com>
2231
2232         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
2233         files in each directory and TAGS files that include them for each
2234         front end.
2235
2236 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2237
2238         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
2239         3 of S2L.
2240         (modnorm): Likewise.
2241         (exitdiv): Look at bit 3 of S2L only.
2242
2243 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2244
2245         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
2246         (DO_GLOBAL_DTORS_BODY): Likewise.
2247
2248 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
2249
2250         * doc/install.texi (Prerequisites): Refine documentation of
2251         autoconf, automake and perl requirements.  Document required
2252         gettext version.
2253
2254 <2003-11-14  Jason Merrill  <jason@redhat.com>
2255
2256         * function.c (assign_parms): Use TREE_TYPE to determine the real
2257         type of the argument object.
2258
2259 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2260
2261         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
2262         iteration.
2263
2264 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
2265
2266         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
2267           New routine to save vararg registers on stack. Support for
2268           -mpowerpc64 in mixed mode.
2269
2270 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
2271
2272         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
2273         for MOTOROLA versus MIT syntax.  Improves readability and provides
2274         better compile-time error checking for both code paths.
2275
2276 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
2277
2278         * config/frv/frv-protos.h: Update for C90.
2279         * config/frv/frv.h: Likewise.
2280         * config/frv/frvbegin.c: Likewise.
2281         * config/frv/frv.c: Likewise.
2282         (frv_adjust_field_align): Delete unused variable.
2283
2284 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
2285
2286         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
2287         to each place where TARGET_LONG_DOUBLE_128 is used with
2288         DEFAULT_ABI == ABI_AIX.
2289
2290         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
2291         message comply with GNU standards.
2292
2293 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2294
2295         PR/6552
2296         * function.c (struct epi_info): New field const_equiv.
2297         (update_epilogue_consts): New function.
2298         (keep_stack_depressed): Clear new field and verify scratch register
2299         doesn't have it set.
2300         Call new function via note_stores.
2301         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
2302         Allow PLUS where second operand is register known set to constant.
2303         (emit_equiv_load): Write load using proper mode if source different.
2304         * config/mips/mips.md (return_internal): Put (return) first.
2305
2306 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2307
2308         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
2309
2310 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2311
2312         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
2313         registers.
2314         (divsi3): Likewise.
2315         (reti): Don't restore unused registers.
2316
2317 2003-11-14  Nick Clifton  <nickc@redhat.com>
2318
2319         * config/fr30/fr30.c: Include toplev.h
2320
2321 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
2322
2323         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
2324
2325 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
2326
2327         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
2328         function definition syntax.
2329
2330 2003-11-14  Eric Christopher  <echristo@redhat.com>
2331
2332         * reload1.c (reload): Revert previous patch. Make
2333         check for assignment into reg_equiv_address stricter.
2334
2335 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
2336
2337         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
2338
2339 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
2340
2341         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
2342         section names.
2343
2344 2003-11-14  Jason Merrill  <jason@redhat.com>
2345
2346         PR middle-end/12526
2347         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
2348         * calls.c (call_expr_flags): New fn.
2349         * tree.h: Declare it.
2350
2351 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2352
2353         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
2354         (divmodsi3): Change the name to ___udivsi3.
2355         Update all callers.
2356
2357 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2358
2359         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
2360         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
2361         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
2362         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
2363         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
2364         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
2365         Const-ify and/or initialize automatic variables at declaration.
2366
2367 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2368
2369         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
2370         of er4 with er3.  Adjust all callers.
2371
2372 2003-11-13  Andrew Pinski <apinski@apple.com>
2373
2374         * config/darwin.c (machopic_output_possible_stub_label):
2375         Allow stub symbol be not defined when outputting possible
2376         stub label.
2377
2378 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2379
2380         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
2381         instead of exitdiv.
2382         (___umodsi3): Likewise.
2383         (exitdiv): Do not restore any register.
2384         (reti): Restore registers.
2385
2386 2003-11-13  Steven Bosscher  <stevenb@suse.de>
2387
2388         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
2389
2390 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2391
2392         * config/h8300/lib1funcs.asm: Fix comment typos.
2393
2394 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2395
2396         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
2397         unused registers.  Don't jump to exitdiv.
2398         (umodsi3): Likewise.
2399
2400 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
2401             Kean Johnston <jkj@sco.com>
2402
2403         PR c/13029
2404         * toplev.c (check_global_declarations): Do not warn about unused
2405         static consts.
2406
2407 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
2408             Kazu Hirata  <kazu@cs.umass.edu>
2409
2410         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
2411         the approximate quotient method.
2412
2413 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
2414
2415         * combine.c (distribute_notes): When re-distributing the notes from
2416         an insn we are about to delete, ensure we can't end up with a cyclic
2417         list of notes.
2418
2419 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2420
2421         PR optimization/12926
2422         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
2423         the UNCHANGING_RTX_P flag on memory references to read-only
2424         components that are not addressable.
2425
2426 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2427
2428         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
2429         DenHighNonZero.
2430
2431 2003-11-13  Jan Hubicka  <jh@suse.cz>
2432
2433         PR opt/12275
2434         * c-decl.c (finish_decl): Use change_decl_assembler_name.
2435         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
2436         * varasm.c (make_decl_rtl): Likewise.
2437         * cgraph.c (change_decl_assembler_name): New function.
2438         * tree.h (set_decl_assembler_name): Kill dead declaration.
2439         (change_decl_assembler_name): Declare.
2440
2441         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2442         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2443
2444 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2445
2446         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
2447         an unused register.
2448
2449 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
2450
2451         PR bootstrap/12752
2452         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
2453         (MULTILIB_OSDIRNAMES): Reorder accordingly.
2454
2455 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
2456
2457         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
2458         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
2459         (rs6000_emit_eh_reg_restore): Add
2460         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
2461         of vars_size and total_size to HOST_WIDE_INT.
2462         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
2463         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
2464         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
2465         values.
2466         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
2467         (rs6000_initial_elimination_offset): New, with code formerly in
2468         INITIAL_ELIMINATION_OFFSET.
2469         * rs6000.h (rs6000_stack_t): Remove.
2470         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
2471         rs6000_initial_elimination_offset.
2472         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
2473         rs6000_emit_eh_reg_restore.
2474
2475 2003-11-12  Mike Stump  <mrs@apple.com>
2476
2477         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
2478         is the argumnt we are processing so that warnings and errors
2479         will have that information.
2480         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
2481         * lang-hooks-def.h
2482         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
2483         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
2484         * langhooks.h (convert_parm_for_inlining): Likewise.
2485         * tree-inline.c (initialize_inlined_parameters): Compute and
2486         pass argnum down.
2487
2488 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
2489             Roger Sayle  <roger@eyesopen.com>
2490
2491         PR optimization/12953
2492         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
2493         before switch by FUNCTION_CODE.
2494
2495 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
2496
2497         * arm.md (storehi): Avoid use of explicit subreg.
2498         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
2499
2500 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
2501
2502         * config/sh/sh.md (prefetch): New pattern.
2503
2504 2003-11-11  Eric Christopher  <echristo@redhat.com>
2505
2506         * reload1.c (reload): Verify that addresses for
2507         reg_equiv_* are valid for the architecture.
2508
2509 2003-11-11  Eric Christopher  <echristo@redhat.com>
2510
2511         * function.c (purge_addressof_1): Add libcall check.
2512         Remove test for cached replacements on fallback case.
2513         Simplify mode comparisons. Add libcall test for
2514         paradoxical subregs.
2515
2516 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2517
2518         * config/h8300/t-h8300: Fix an obsolete comment.
2519
2520 2003-11-11  James E Wilson  <wilson@specifixinc.com>
2521
2522         * expmed.c (store_bit_field, extract_bit_field): Revert last two
2523         changes.
2524
2525 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2526
2527         * config/h8300/lib1funcs.asm: Replace DenHighZero with
2528         DenHighNonZero.
2529
2530 2003-11-11  Jan Hubicka  <jh@suse.cz>
2531
2532         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
2533         really_no_inline.
2534
2535 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2536
2537         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
2538         generating 64-bit code.
2539
2540 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
2541
2542         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
2543         accidental commit in previous change.
2544
2545 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
2546
2547         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
2548         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
2549         address recognition.
2550         (macho_lo_sum_memory_operand): Routine to recognize macho-style
2551         address recognition.
2552
2553 2003-11-10  Richard Henderson  <rth@redhat.com>
2554
2555         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
2556
2557 2003-11-10  Matt Austern  <austern@apple.com>
2558
2559         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
2560         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
2561         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
2562         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
2563         darwin_assemble_visibility instead of default.
2564
2565 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
2566
2567         PR target/12865
2568         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
2569         __enable_execute_stack only after writing onto the stack.
2570         (sparc64_initialize_trampoline): Likewise.
2571
2572 2003-11-09  Roger Sayle  <roger@eyesopen.com>
2573
2574         * loop.c (check_dbra_loop): Try swapping the comparison operands
2575         of the loop condition to identify a suitable induction variable.
2576         * unroll.c (loop_iterations): Likewise.
2577
2578 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2579
2580         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
2581         sparc64 #cpu and #machine assertions.
2582
2583 2003-11-09  Richard Henderson  <rth@redhat.com>
2584
2585         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
2586
2587 2003-11-09  Jan Hubicka  <jh@suse.cz>
2588
2589         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
2590
2591         * cgraphunit.c (cgraph_expand_function): Use
2592         cgraph_possibly_inlined_p.
2593         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
2594
2595         * opts.c (common_handle_option): Do not set max-inline-insns.
2596         * params.def: Update comments.
2597         (PARAM_MAX_INLINE_INSNS): Kill.
2598         * invoke.texi (max-inline-insns): Kill.
2599
2600 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2601
2602         PR c/3190
2603         PR c/8714
2604         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
2605         * invoke.texi: Update.
2606
2607 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2608
2609         PR optimization/12630
2610         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
2611         Handle length computation 64-bit moves.
2612         (compute_clrstr_length, output_block_clear): Implement block clear.
2613         (output_block_move): Handle 64-bit moves.
2614         (pa_adjust_insn_length): Use compute_movstr_length and
2615         compute_clrstr_length.
2616         * pa.md (movstrsi): Revise operand order and comments.  Don't use
2617         match_scratch.
2618         (movstrsi_internal): Delete.
2619         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
2620         and peephole2 patterns to transform prereload to postreload form.
2621         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
2622         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
2623         clrstrdi_postreload): New patterns for 64-bit block move, and block
2624         clear.
2625         * pa-protos.h (output_block_clear): New prototype.
2626
2627 2003-11-08  Andreas Schwab  <schwab@suse.de>
2628
2629         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
2630         XCOFF_DEBUGGING_INFO.
2631
2632 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2633
2634         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
2635
2636 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
2637
2638         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
2639         redundant parens.
2640
2641         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
2642         (find_file_in_dir): Likewise.
2643         (_cpp_find_file): Print message if no header file is found
2644         but an invalid PCH file was.
2645
2646 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2647
2648         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
2649         expressions as lvalues.
2650         (internal_build_compound_expr): Remove special handling for
2651         non-pedantic case.
2652         * doc/extend.texi: Document that all extended lvalues are now
2653         deprecated.
2654
2655 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
2656
2657         PR 11654
2658         * dbxout.c (struct dbx_file): Do not save for PCH.
2659         (current_file): Likewise.
2660         (dbxout_init): Don't allocate struct dbx_file using GC.
2661         (dbxout_start_source_file): Likewise.
2662
2663 2003-11-07  Falk Hueffner  <falk@debian.org>
2664
2665         * config/alpha/elf.h, config/alpha/unicosmk.h,
2666         config/alpha/vms.h: Convert to ISO C90.
2667
2668 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
2669
2670         * config/arm/pe.h: Convert to ISO C90.
2671
2672 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
2673
2674         * sh-protos.h (sh_pch_valid_p): Declare.
2675         * sh.c ("intl.h"): Include.
2676         (TARGET_PCH_VALID_P): Override.
2677         (sh_target_switches): New variable.
2678         (target_switches): Define.
2679         (sh_pch_valid_p): New function.
2680
2681         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
2682
2683 2003-11-07  Jan Hubicka  <jh@suse.cz>
2684
2685         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
2686         (x86_64_zero_extended_value):  likewise.
2687
2688 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
2689
2690         * config/mips/mips.md (loadgp): Take $25 as a second operand.
2691         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
2692
2693 2003-11-06  Matt Austern <austern@apple.com>
2694
2695         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
2696         field instead of hanging an attribute object off the decl.
2697         * tree.h (DECL_VISIBLITY): New accessor macro for
2698         symbol_visibility field in struct tree_decl.
2699         (enum symbol_visibility): Move definition to before tree_decl.
2700         (struct tree_decl): Define new two-bit field, symbol_visibility.
2701         (decl_visibility): Remove declaration.
2702         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
2703         instead of decl_visibility.
2704         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
2705         decl_visibility.
2706         (decl_visibility): Remove.
2707
2708 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
2709
2710         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
2711         where register 14 will be saved.
2712
2713 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
2714
2715         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
2716         (USE_ALTIVEC_FOR_ARG_P): Likewise.
2717         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
2718         Take a pointer as the CUM parameter.  Update callers.
2719         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
2720         32-bit ABIs.
2721         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
2722         of vector parameters as named arguments of stdarg function.
2723         (function_arg): Likewise.
2724
2725         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
2726         -maltivec is specified, not the non-existent -faltivec.
2727
2728 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
2729
2730         * config/s390/s390-protos.h (s390_function_value): Declare.
2731         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
2732         (s390_return_in_memory): New function.
2733         (s390_function_value): New function.
2734         (s390_function_arg_float): Return false for all arguments larger
2735         than 8 bytes.
2736         (s390_function_arg_pass_by_reference): Likewise.  Return true for
2737         all vector arguments.
2738         (s390_function_arg_integer): New function.
2739         (s390_function_arg_advance): Call it.  Add sanity checks.
2740         (s390_function_arg): Likewise.
2741         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
2742         (LIBCALL_VALUE): Likewise.
2743         (RET_REG): Remove.
2744         (RETURN_IN_MEMORY): Remove.
2745
2746 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2747
2748         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
2749         return type to HOST_WIDE_INT.
2750         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
2751         Make initialized a bool.  Make register masks unsigned ints.
2752         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
2753         where appropriate.
2754         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
2755         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
2756
2757 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2758
2759         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
2760         negation.
2761
2762 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2763
2764         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2765
2766 2003-11-06  Momchil Velikov  <velco@fadata.bg>
2767
2768         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
2769         for VR4111 too.
2770
2771 2003-11-06  Jan Hubicka  <jh@suse.cz>
2772
2773         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
2774         missing casts.
2775
2776 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
2777
2778         * genmodes.c: Change the word "bitsize" to "precision" throughout.
2779         * machmode.def: Likewise.
2780         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
2781         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
2782         (GET_MODE_PRECISION): New macro.
2783         (mode_bitsize): Renamed mode_precision.
2784         * stor-layout.c (mode_for_size, smallest_mode_for_size):
2785         Use GET_MODE_PRECISION; clarify comments.
2786
2787 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2788
2789         * doc/install-old.texi: Remove old documentation of building
2790         cross-compilers.
2791         * doc/install.texi: Move some of it to here.
2792
2793 2003-11-05  Per Bothner  <pbothner@apple.com>
2794
2795         PR preprocessor/12891
2796         * c-opts.c (finish_options):  Set include_cursor to disable premature
2797         calls to push_command_line_include from cpp_scan_nooutput.
2798         Fixes bug reported by DJ Delorie.
2799
2800 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2801
2802         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2803         code supporting old-style varargs.
2804
2805         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2806         an intermediate register for better optimisation.
2807
2808 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2809
2810         PR optimization/10080
2811         * cfgloopanal.c (variable_initial_value, variable_initial_values,
2812         simple_loop_exit_p): Record the fact that initial value is extended
2813         from inner mode.
2814         (count_strange_loop_iterations, count_loop_iterations): Handle
2815         ivs that iterate in a narrower mode. Fix handling of overflows.
2816         Improve handling of NE conditions.
2817         (inverse, fits_in_mode_p): New static functions.
2818         (simple_increment): Detect variables that iterate in a narrower mode.
2819         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2820
2821 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2822
2823         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2824         error.
2825
2826         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2827         needs VRSAVE.
2828
2829 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2830
2831         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2832         conditional expressions as lvalues.
2833
2834 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
2835
2836         * tsystem.h: Add the prototype of strlen.
2837         * unwind-pe.h (read_encoded_value_with_base): Add an
2838         appropriate cast to handle a case where the pointer size is
2839         smaller than sizeof (int).
2840
2841 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2842
2843         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2844         (mips_delegitimize_address): Delete.
2845         (mips_gotoff_global, mips_load_got_page): Declare.
2846         (mips_load_got_global, mips_rewrite_small_data): Declare.
2847
2848         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2849         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2850         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2851         small_data_pattern.  Remove CONST from const_arith_operand's entry.
2852
2853         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2854         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2855         (mips_constant_type): Delete.
2856         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2857         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2858         (NUM_SYMBOL_TYPES): New macro.
2859         (mips_address_type): Remove ADDRESS_INVALID.
2860         (machine_function): Add has_gp_insn_p.
2861         (mips_constant_info): Delete.
2862         (mips_address_info): Add the address type as an extra field.  Replace
2863         the c field with symbol_type.
2864         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2865         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2866         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2867         (mips_split_const, mips_symbolic_constant_p): New functions.
2868         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2869         (mips_classify_address): Return true if the address is valid, storing
2870         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
2871         to test whether a LO_SUM address is allowed.
2872         (mips_symbol_insns): Return 0 for general mips16 symbols.
2873         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2874         Handle the new SYMBOL_GOTOFF_*s.
2875         (mips_address_insns): Update call to mips_classify_address.
2876         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
2877         of mips_classify_constant.  Be more accurate about CONSTs.
2878         (mips_global_pic_constant_p): Delete.
2879         (const_arith_operand): Only accept CONST_INTs.
2880         (call_insn_operand): Remove call to mips_classify_constant.
2881         Let mips_symbolic_constant_p check for invalid offsets.
2882         (move_operand): Check for general_operands first.  Only accept symbolic
2883         constants if they satisfy mips_symbolic_constant_p and cannot be split.
2884         (symbolic_constant): Use mips_symbolic_constant_p.
2885         (global_got_operand, local_got_operand): New predicates.
2886         (stack_operand): Update call to mips_classify_address.
2887         (mips_legitimate_address_p): Likewise.
2888         (mips_reloc, mips_lui_reloc): Delete.
2889         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2890         Use emit_move_insn.
2891         (mips_split_symbol, mips_unspec_address): New functions.
2892         (mips_unspec_offset_high): New function.
2893         (mips_load_got): Replace reloc argument with a symbol_type.
2894         Use mips_unspec_address to create the address and put it in a
2895         LO_SUM with the base register.
2896         (mips_load_got16, mips_load_got32): Delete.
2897         (mips_emit_high, mips_legitimize_symbol): Delete.
2898         (mips_gotoff_global): New function.
2899         (mips_load_got_page, mips_load_got_global): New functions.
2900         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2901         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
2902         Inline code to handle constants plus invalid offsets.  Use
2903         mips_split_symbol to legitimize constant pool addresses.
2904         (mips_delegitimize_address): Delete.
2905         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2906         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
2907         (mips_subword): Pass memrefs through mips_rewrite_small_data.
2908         (mips_output_move): Remove use of mips_classify_constant.
2909         (mips_expand_call): Use mips_unspec_offset_high to calculate the
2910         high part of the GOT address for calls to global functions.
2911         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2912         and mips_hi_relocs[].
2913         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2914         Remove use of mips_classify_constant.
2915         (mips_reloc_string): Delete.
2916         (print_operand_reloc): New function.
2917         (print_operand_address): Update call to mips_classify_address.
2918         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2919         (small_data_pattern): New predicate.
2920         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2921         (mips_function_has_gp_insn): New function.
2922         (mips_global_pointer): Use it.
2923         (mips_gp_insn): Delete.
2924         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2925         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
2926         from the start of the current function.
2927         (mips16_gp_pseudo_reg): Revert last patch.
2928
2929         * config/mips/mips.md (RELOC_*): Delete.
2930         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2931         (got): New insn attribute.
2932         (type): Set to "load" if got == load.
2933         (length): Set to 4 if got == load, 8 if got == xgot_high.
2934         (lui[sd]i): Delete.
2935         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2936         (*got_disp[sd]i, *got_page[sd]i): Likewise.
2937         (*low[sd]i): Change constraints to "d".  Add a new define_split to
2938         rewrite small data constants into LO_SUMs.
2939         (loadgp): New insns.
2940
2941 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2942
2943         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2944
2945 2003-11-04  DJ Delorie  <dj@redhat.com>
2946
2947         * config/v850/v850.md (mulhisi3): Expand the const_int case
2948         separately to avoid trying to sign extend the const.
2949
2950 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2951
2952         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2953         addresses to be shared.
2954         (force_const_mem): Return a copy of the pool entry.
2955
2956 2003-11-03  Andreas Jaeger  <aj@suse.de>
2957
2958         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2959
2960 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
2961
2962         * Makefile.in (cpp.dvi): New target split from cpp.info.
2963         (gcc.dvi):  New target split from gcc.info.
2964         (gccint.dvi): New target split from gccint.info.
2965         (cppinternals.dvi): New target split from cppinternals.info
2966         (gccinstall.info): New specific rule.
2967         (gccinstall.dvi): Likewise.
2968         (dvi): Move targets to $(docobjdir).
2969         ($(docobjdir)/%.dvi): New implicit rule.
2970
2971 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2972
2973         * doc/gty.texi (tag, desc): Say more about role of desc values in
2974         selecting between tags.
2975
2976 2003-11-03  Alexander Kabaev  <ak03@gte.com>
2977
2978         * real.c (encode_ieee_single): Ensure proper promotion.
2979
2980 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2981
2982         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
2983         and Andrew Pinski.
2984
2985 2003-11-03  Syd Polk  <spolk@apple.com>
2986
2987         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
2988         marketing names to the list of supported processors.
2989         * config/rs6000/rs6000.h: Ditto.
2990         * doc/invoke.texi: Ditto.
2991         * config.gcc: Ditto.
2992
2993 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2994
2995         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
2996         Merge two substitutions.
2997         * fixinc/fixincl.x: Regenerate.
2998         Fixes PR bootstrap/12666.
2999
3000 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
3001
3002         * doc/install-old.texi: Remove VMS documentation.
3003
3004 2003-11-03  Jan Hubicka  <jh@suse.cz>
3005
3006         * i386.c (override_options):  Remove hack enabling 128bit long double
3007         commited by accident.
3008
3009 2003-11-02  Per Bothner  <per@bothner.com>
3010
3011         * c-opts.c (needValue):  Do cpp_find_main_file before processing
3012         any imacros flags, so pfile->main_file is set for the latter.
3013
3014 2003-11-03  Andreas Jaeger  <aj@suse.de>
3015             Zack Weinberg  <zack@codesourcery.com>
3016
3017         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
3018         (SYSCALLS.c.X-warn): Suppress warnings.
3019
3020 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3021
3022         PR optimization/12845
3023         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
3024
3025 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
3026
3027         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
3028         * config/i386/i386.c (print_reg): Abort on a virtual register
3029         if code != -1; not if file == asm_out_file.
3030         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
3031         (DEBUG_PRINT_REG): Delete, unused.
3032
3033 2003-11-02  Andreas Schwab  <schwab@suse.de>
3034
3035         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
3036         empty to avoid conflict with the definition from configure.
3037
3038 2003-11-02  Roger Sayle  <roger@eyesopen.com>
3039
3040         PR optimization/10817
3041         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
3042         (noce_try_move): New function to optimize an if-the-else into an
3043         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
3044         (noce_process_if_block): Attempt simplification with noce_try_move.
3045
3046         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
3047         and improvements to the optimizations of IF_THEN_ELSE expressions.
3048         (simplify_subreg): Silence signed/unsigned comparison warning.
3049
3050 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
3051
3052         * Makefile.in (targhooks.o, reload.o): Update dependencies.
3053         (GTFILES): Add targhooks.c.
3054         (gt-targhooks.h): New rule; depend on s-gtype.
3055         * target.h (direct_pool_load_p): New hook.
3056         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
3057         (TARGET_INITIALIZER): Include it.
3058         * targhooks.h (default_direct_pool_load_p): Declare.
3059         (hook_bool_machine_mode_true): Declare.
3060         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
3061         gt-targhooks.h.
3062         (pool_symbol): New variable.
3063         (default_direct_pool_load_p): New function.
3064         (hook_bool_machine_mode_true): New function.
3065         * reload.c: Include target.h.
3066         (find_reloads): If an alternative will force a constant into memory,
3067         count an extra reload if constant pool symbols are not valid
3068         addresses.  If an alternative uses memory to move values between
3069         registers, count the move as two reloads rather than one.
3070         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
3071         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
3072
3073 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3074
3075         PR optimization/12799
3076         * postreload.c (reload_cse_move2add): Generate the add2
3077         patterns manually.
3078
3079 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3080
3081         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3082         Return 0 for all complex modes whose size is lesser or equal to
3083         a word.  Add a ??? comment for the condition used with 16-byte
3084         aligned modes.
3085
3086 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
3087
3088         * .cvsignore: Remove c-parse* and tradcif.c.
3089         * objc/.cvsignore: Delete.
3090
3091 2003-11-01  Roger Sayle  <roger@eyesopen.com>
3092
3093         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
3094         of NULL.
3095
3096 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3097
3098         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
3099
3100         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
3101
3102         * collect2.c (scan_libraries): Fix typos.
3103
3104         PR preprocessor/12847
3105         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
3106         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
3107         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
3108         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
3109         "CPP_".
3110
3111 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
3112
3113         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
3114         no_units calculation.
3115
3116 2003-11-01  Andreas Jaeger  <aj@suse.de>
3117
3118         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
3119         enumeration list.
3120
3121 2003-11-01  Andreas Schwab  <schwab@suse.de>
3122
3123         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
3124         prototypes.
3125         (SBSS_SECTION_FUNCTION): Likewise.
3126
3127 2003-11-01  Andreas Jaeger  <aj@suse.de>
3128
3129         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
3130
3131 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
3132
3133         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
3134         prototypes.
3135
3136 2003-11-01  Andreas Jaeger  <aj@suse.de>
3137
3138         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
3139         (uw_frame_state_for): Constify variables.
3140         (extract_cie_info): Constify first argument.
3141
3142         * unwind-dw2-fde-darwin.c: Adjust prototype of
3143         _Unwind_Find_registered_FDE for recent changes.
3144         (examine_objects): Constify return value and local variable result.
3145         (_Unwind_Find_FDE): Constify return value and local variable ret.
3146
3147 2003-10-31  Per Bothner  <pbothner@apple.com>
3148
3149         * c-opts.c (finish_options):  Change to returns boolean - false iff
3150         the call to cpp_find_main_file fails.
3151         (c_common_init):  Skip preprocess_file if finish_options failed.
3152         (c_common_parse_file):  Break if finish_options failed.
3153         Fixes PR preprocessor/12545.
3154
3155 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3156
3157         * aclocal.m4: Blacklist ultrix* for mmap file.
3158         * configure: Rebuilt.
3159
3160         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
3161         reg_parm_stack_space.
3162         * toplev.c (default_get_pch_validity): Fix warning.
3163
3164         * vax.c: Include toplev.h.
3165         (vax_init_libfuncs): Fix typo (umod).
3166         * vax.h (ASM_COMMENT_START): Define.
3167         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
3168
3169 2003-10-31  Roger Sayle  <roger@eyesopen.com>
3170
3171         PR middle-end/11968
3172         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
3173         confusing comment; distributivity isn't handled in expand_expr.
3174         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
3175         in distributivity, if wrap-around semantics are specified with
3176         -fwrapv.
3177
3178 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
3179
3180         PR 12315
3181         * final.c (profile_function): Allow for NULL svrtx.
3182
3183 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3184
3185         * pa.c (pa_select_section): Use new style declaration.
3186         * som.h (readonly_data): Likewise.
3187
3188 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
3189
3190         * config/rs6000/rs6000.c: Update to C90 prototypes.
3191
3192 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3193
3194         PR target/7513
3195         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
3196         code.
3197
3198 2003-10-31  Andreas Jaeger  <aj@suse.de>,
3199             Zack Weinberg  <zack@codesourcery.com>
3200
3201
3202         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
3203         (__deregister_frame_info, __deregister_frame_info_bases):
3204         Constify void * argument.
3205         * unwind-dw2-fde.h (struct fde_vector):
3206         Constify 'orig_data' and 'array' fields.
3207         (__register_frame_info, __register_frame_info_bases)
3208         (__deregister_frame_info, __deregister_frame_info_bases):
3209         Constify void * argument.
3210         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
3211         return values, and casts of type fde *, struct dwarf_fde *,
3212         and struct dwarf_cie *.
3213         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
3214         (__deregister_frame_info, __deregister_frame_info_bases):
3215         Constify void * argument.
3216         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
3217         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
3218         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
3219         fde_split, SWAP, frame_downheap, frame_heapsort)
3220         (classify_object_over_fdes, add_fdes, linear_search_fdes,
3221         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
3222         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
3223         Constify arguments, local variables, return values, and casts
3224         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
3225         Use const pointer types in sizeof expressions, for clarity.
3226         * unwind-dw2-fde-glibc.c
3227         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
3228         (struct unw_eh_callback_data): Constify 'ret' field.
3229
3230 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
3231             David Edelsohn  <edelsohn@gnu.org>
3232
3233         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
3234         (function_arg): Call it.
3235         (rs6000_function_value): Widen integral return value to mode based
3236         on TARGET_32BIT, not word_mode.
3237         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
3238         (UNITS_PER_ARG): New.
3239         (RS6000_ARG_SIZE): Use it.
3240
3241 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
3242
3243         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
3244         and gengtype-yacc.h.
3245
3246 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3247
3248         PR optimization/8896
3249         * postreload.c (reload_combine): Check that REGY doesn't die in an
3250         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
3251
3252 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
3253
3254         PR/10239
3255         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
3256
3257 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
3258
3259         PR/11640
3260         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
3261         immediatelly before BARRIER.
3262
3263 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
3264
3265         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
3266
3267 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3268
3269         PR target/11271
3270         * reload.c (find_reloads_address): Handle any register in
3271         (PLUS (PLUS (REG) (REG)) (CONST_INT).
3272
3273 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3274
3275         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
3276         ENABLE_GC_CHECKING not in GGC_POISON.
3277
3278 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3279
3280         PR bootstrap/9863
3281         * configure.in: Bail out if awk is missing.
3282         * configure: Regenerate.
3283
3284         PR ada/12761
3285         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
3286         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
3287
3288 2003-10-30  Richard Henderson  <rth@redhat.com>
3289
3290         * c-objc-common.c (c_tree_printer): Handle types correctly.
3291         Factor code a bit.
3292
3293 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
3294
3295         * value-prof.c, web.c: Update to C90.
3296
3297 2003-10-30  Eric Christopher  <echristo@redhat.com>
3298
3299         * function.c (purge_addressof_1): Add case for REG_RETVAL
3300         notes when modes are unequal.
3301
3302 2003-10-31  Jan Hubicka  <jh@suse.cz>
3303
3304         * i386-modes.def: Add XFmode format adjustment.
3305
3306 2003-10-30  Jan Hubicka  <jh@suse.cz>
3307
3308         * real.c (encode_ieee_extended): Back out previous patch.
3309
3310 2003-10-30  Jan Hubicka  <jh@suse.cz>
3311
3312         * real.c (encode_ieee_extended): Initialize whole array.
3313         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
3314         * i386-modes.def: Change definitions of TFmode and XFmode.
3315         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
3316         code.
3317         (construct_container): Allow constructing of TFmode integer containers.
3318         (ix86_return_in_memory):  XFmode is not returned in memory.
3319         (init_ext_80387_constants): Always use XFmode.
3320         (print_operand): Likewise.
3321         (ix86_prepare_fp_compare_regs): Likewise.
3322         (split_to_parts): Deal with TFmode.
3323         (split_long_move): Simplify.
3324         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
3325         (ix86_memory_move_cost): Do not confuse TFmode.
3326         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
3327         (IS_STACK_MODE): TFmode is not stack mode.
3328         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
3329         (VALID_SSE_REG_MODE): Allow TFmode.
3330         (VALID_FP_MODE_P): Disallow TFmode.
3331         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
3332         * i386.md (TFmode patterns): Kill.
3333         (movtf, motf_rex64): New patterns.
3334
3335 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3336
3337         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
3338
3339 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3340
3341         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
3342         (mov_lwr, mov_swl, mov_swr): Likewise.
3343         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
3344
3345 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3346
3347         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
3348
3349 2003-10-30  Richard Henderson  <rth@redhat.com>
3350
3351         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
3352         test for irix6 rather than preprocessor test.
3353
3354 2003-10-30  Richard Henderson  <rth@redhat.com>
3355
3356         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
3357
3358 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
3359
3360         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
3361         as a general flag that the return address register needs to be saved,
3362         not necessarily because of __builtin_return_addr (0).
3363         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
3364         remove special handling of zSeries machines.
3365         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
3366         register as a regular register on zSeries machines.
3367         (s390_reorg): Adjust calls to s390_split_branches and
3368         s390_optimize_prolog.
3369         (s390_frame_info): On zSeries machines, do not assume the return
3370         register is always used.  Update regs_ever_live with current data
3371         for the special registers.
3372         (s390_emit_epilogue): Use save_return_addr_p to determine whether
3373         the return register was saved.
3374         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
3375         RETURN_REGNUM fixed on zSeries machines.
3376         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
3377         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
3378         via ahi-jgne pair on zSeries machines.
3379         ("*doloop_di"): Likewise.
3380         ("*doloop_di_long"): Remove.
3381
3382 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
3383
3384         * arm.c (arm_override_options): Revert change of arm_constant_limit
3385         when optimizing for size.
3386
3387 2003-10-29  Richard Henderson  <rth@redhat.com>
3388
3389         * fold-const.c (fold_single_bit_test): Convert the input to the
3390         operational intermediate type.
3391
3392 2003-10-29  Richard Henderson  <rth@redhat.com>
3393
3394         * builtins.c (std_build_builtin_va_list): New.
3395         * expr.h (std_build_builtin_va_list): Declare.
3396         * defaults.h (BUILD_VA_LIST_TYPE): New.
3397         * system.h (BUILD_VA_LIST_TYPE): Poison.
3398         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
3399         * target.h (struct gcc_target): Add build_builtin_va_list.
3400         * tree.c (build_common_tree_nodes_2): Use it.
3401
3402         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
3403         config/alpha/alpha.h, config/alpha/unicosmk.h,
3404         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
3405         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
3406         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
3407         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
3408         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
3409         config/mips/mips.h, config/rs6000/rs6000-protos.h,
3410         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3411         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3412         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3413         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
3414         config/xtensa/xtensa.h: Rename foo_build_va_list to
3415         foo_build_builtin_va_list; make it static.  Define
3416         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
3417         Update protos.
3418
3419         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
3420         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
3421
3422 2003-10-29  James E Wilson  <wilson@specifixinc.com>
3423
3424         * recog.c (asm_operand_ok): Add missing break after case 'X'.
3425         Change if statements to else if statements in default case.
3426         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
3427         in comment.
3428         (constrain_operands_cached): Likewise.
3429         (constrain_operands): Change if statements to else if statements in
3430         default case.
3431         * reload.c (find_reloads): Likewise.
3432
3433 2003-10-29  Richard Henderson  <rth@redhat.com>
3434
3435         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
3436         shifts and rotates.
3437
3438 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
3439
3440         * config/rs6000/rs6000.md: Remove duplicate pattern.
3441
3442 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
3443
3444         * real.c (do_divide): Initialize result with a 0.
3445
3446         * configure.in <enable-checking for valgrind>: Look for
3447         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
3448         if it exists.
3449         * configure, config.in: Regenerate.
3450         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
3451         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
3452         #elif for other alternatives.
3453         * ggc-page.c: Ditto.
3454         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
3455         include structure from ggc-common.c.
3456
3457 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3458
3459         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
3460         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
3461         * pa.c (pa_adjust_insn_length): Check for btable branches using
3462         attribute TYPE_BTABLE_BRANCH.
3463         (pa_reorg): Simplify.
3464         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
3465         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
3466         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
3467         * pa.md (btable_branch): New instruction type.
3468         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
3469         btable branches.
3470         (define_delay): Add btable branches to insn types that may have an
3471         insn in the delay position.
3472         (Z2, Z3): Add btable branch to list.
3473         Simplify unamed pattern set copy pic_label_operand to register.  Add
3474         PA 2.0 variant.
3475         (short_jump): New jump for use in branch tables.
3476         (casesi, casesi0): Revise for new branch table formats.
3477         (casesi32, casesi32p, casesi64p): New casesi patterns.
3478         (indirect_jump): Move.
3479
3480 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
3481
3482         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
3483         !TARGET_POWERPC64.
3484         (UNITS_PER_GPR_WORD): Delete.
3485         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
3486         (HARD_REGNO_MODE_OK): Same.
3487         (CLASS_MAX_NREGS): Same.
3488
3489 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3490
3491         * pa.h (ASM_COMMENT_START): Define.
3492
3493 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
3494
3495         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
3496         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
3497         component, not zero.
3498
3499 2003-10-29  Andreas Schwab  <schwab@suse.de>
3500
3501         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
3502
3503 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3504
3505         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3506         Never return 1 for complex integral modes whose size is lesser or
3507         equal to a word.
3508         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
3509         in the comment.
3510         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
3511         modes.
3512         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
3513         greater than 16 bytes by reference.
3514
3515 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3516
3517         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
3518         not TARGET_ILP32.
3519         (ia64_initialize_trampoline): Use globalize_label target call.
3520
3521 2003-10-29  Andreas Schwab  <schwab@suse.de>
3522
3523         * doc/install.texi (Building): Add a sentence about building Ada
3524         for a canadian cross.
3525
3526 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
3527
3528         * config/ia64/ia64.c (cmptf_libfunc): New static.
3529         (ia64_expand_compare): Add logic to open-code calls to
3530         _U_Qfcmp for TFmode comparisons.
3531         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
3532         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
3533         never be generated anymore.
3534         * config/ia64/ia64.md (cmptf): New expander.
3535
3536 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
3537
3538         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
3539         (*sqrt_approx): New instruction pattern for approximate square roots.
3540         (*setf_exp_xf): New instruction pattern for exponentiation.
3541         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
3542         (sqrtsf2_internal_thr): New define_and_split implementing
3543         throughput-optimized inline calculation of SFmode square root.
3544         (sqrtdf2_internal_thr): Likewise for DFmode.
3545         (sqrtxf2_internal_thr): Likewise for XFmode.
3546         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
3547         latency- and throughput-optimized square root algorithms.
3548         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
3549         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
3550         New macros.
3551         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
3552         -minline-sqrt-max-throughput.
3553         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
3554         and -minline-sqrt-max-throughput are given, notify the user
3555         that both options cannot be used simultaneously.
3556         If -minline-sqrt-min-latency is given, notify the user that
3557         this mode is not yet implemented.
3558         (rtx_needs_barrier): Reformat initial comment to obey
3559         72-character width limit.  Support UNSPEC_SETF_EXP and
3560         UNSPEC_FR_SQRT_RECIP_APPROX.
3561
3562 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
3563
3564         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
3565         moves.
3566
3567 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3568
3569         PR target/11598
3570         PR libgcj/10610
3571         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
3572
3573 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
3574
3575         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
3576         an extra stack adjustment insn if the stack pointer is already
3577         pointing at the right place.
3578         (use_return_insn): Allow a return insn to be used when we have a
3579         frame pointer if the stack pointer is in the right place.
3580         (output_return_instruction): Handle it.
3581
3582 2003-10-28  Andreas Jaeger  <aj@suse.de>
3583
3584         * ggc-zone.c (check_cookies): Add missing variable.
3585         Add void to prototypes.
3586
3587 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3588
3589         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
3590         * crtstuff.c (__do_global_ctors_1): Move prototype.
3591         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
3592         appropriate.
3593         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
3594         Mark parameter with __attribute__((unused)).
3595
3596 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
3597
3598         * c-decl.c (pushdecl): Clarify comment.
3599
3600 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
3601
3602         * doc/install.texi: Update instructions for Ada cross builds
3603
3604         PR ada/5909:
3605         * doc/sourcebuild.texi: Document Ada test suite.
3606
3607 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
3608
3609         * config/m68hc11/m68hc11.c: Convert to ISO C90.
3610         * config/m68hc11/m68hc11-protos.h: Likewise.
3611
3612 2003-10-27  Jan Hubicka  <jh@suse.cz>
3613             Eric Botcazou  <ebotcazou@libertysurf.fr>
3614
3615         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
3616         webizer pass dump.
3617
3618 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
3619             Jan Hubicka  <jh@suse.cz>
3620
3621         * reload1.c (struct elim_table): Change offset, initial_offset and
3622         previous_offset fields to HOST_WIDE_INT.
3623         (offsets_at): Change from int to HOST_WIDE_INT.
3624         (reload): Adjust offsets_at initialization.
3625         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
3626         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
3627         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
3628         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
3629         if TARGET_64BIT.
3630         (pro_epilogue_adjust_stack): New function.
3631         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
3632         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
3633         (pro_epilogue_adjust_stack_1): Remove * in front of name.
3634         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
3635         (pro_epilogue_adjust_stack_rex64_2): New insn.
3636
3637         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
3638
3639         * config/i386/i386.c (ix86_expand_call): Replace 40 with
3640         FIRST_REX_INT_REG + 3 /* R11 */.
3641
3642 2003-10-26  Richard Henderson  <rth@redhat.com>
3643
3644         * config/alpha/alpha.md (attr cannot_copy): New.
3645         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
3646         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
3647         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
3648
3649 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
3650
3651         * ggc-zone.c:  New file, zone allocating collector.
3652         * configure: Accept zone option for --with-gc
3653         * configure.in: Ditto.
3654         * ggc.h (ggc_pch_count_object): Pass bool indicating
3655         stringiness. Update all callers.
3656         (ggc_pch_alloc_object): Ditto.
3657         (ggc_pch_write_object): Ditto.
3658         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
3659         type.
3660         (ggc_alloc_rtvec): Ditto.
3661         (ggc_alloc_tree): Use zone allocation, since some things using this macro
3662         aren't a single typecode.
3663         * ggc-none.c (ggc_alloc_typed): New function.
3664         (ggc_alloc_zone): Ditto.
3665         * ggc-page.c: Ditto on both functions.
3666
3667 2003-10-26  Gunther Nikl  <gni@gecko.de>
3668
3669         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
3670         frame information is always valid.
3671         (m68k_output_function_prologue): Remove superfluous TARGET_68881
3672         test; fix formatting.
3673
3674 2003-10-26  Gunther Nikl  <gni@gecko.de>
3675
3676         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
3677         reg_rev_mask computation.
3678         (m68k_output_function_prologue): Fix usage of current_frame (one typo
3679         and one missing); use reg_rev_mask not reg_mask.
3680         (m68k_output_function_epilogue): Fix usage of current_frame;
3681         use fpu_rev_mask not fpu_mask.
3682
3683 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
3684
3685         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
3686         num_saved_regs, use current_frame.reg_no instead.
3687
3688 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
3689             Paul Dale  <pauli@snapgear.com>
3690
3691         * doc/extend.texi (interrupt_handler): Add m68k to the
3692         list of processors implementing it.
3693         * doc/invoke.texi (-msep-data): Document new m68k option.
3694         (-mno-sep-data): Likewise.
3695         (-mid-shared-library): Likewise.
3696         (-mno-id-shared-library): Likewise.
3697         (-mshared-library-id): Likewise.
3698
3699 2003-10-26  Andreas Jaeger  <aj@suse.de>
3700
3701         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
3702         comparison.
3703         (_Unwind_SetGR): Likewise.
3704
3705 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
3706
3707         PR target/12690
3708         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
3709
3710 2003-10-26  Gunther Nikl  <gni@gecko.de>
3711
3712         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
3713         comment from here to...
3714         (m68k_save_reg): ...here. Fix comment formatting.
3715         (m68k_output_function_prologue): Fix comment formatting.
3716         (m68k_output_function_epilogue): Likewise.
3717         (const_method): Likewise.
3718
3719 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3720
3721         * toplev.c (default_get_pch_validity): Guard the use of
3722         target_options with #ifdef TARGET_OPTIONS.
3723         (default_pch_valid_p): Likewise.
3724
3725 2003-10-26  Andreas Jaeger  <aj@suse.de>
3726             Zack Weinberg  <zack@codesourcery.com>
3727             Andreas Tobler <toa@pop.agri.ch>
3728
3729         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
3730         (output_die): Likewise.
3731         (print_die): Likewise.
3732
3733 2003-10-26  Andreas Jaeger  <aj@suse.de>
3734
3735         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
3736         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
3737         dwarf2out.c change.
3738
3739         * toplev.c (default_pch_valid_p): Fix warning.
3740
3741 2003-10-25  Roger Sayle  <roger@eyesopen.com>
3742
3743         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
3744         RTL nodes.  If an operator's operands are unchanged, return the
3745         original argument unchanged.
3746
3747 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
3748
3749         Fix bootstrap failure.
3750         * expmed.c (store_bit_field): Don't compare bitsize against
3751         modes with zero bit-size.
3752
3753         (extract_bit_field): Likewise
3754
3755 2003-10-25  Jan Hubicka  <jh@suse.cz>
3756
3757         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
3758         (cfa_loc): Likewise.
3759         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
3760         HOST_WIDE_INT.
3761         (args_size, old_args_size): change type to HOST_WIDE_INT.
3762         (dwarf2out_def_cfa, dwarf2out_args_size,
3763         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
3764         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
3765         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
3766         AT_offset): Use HOST_WIDE_INT.
3767         (based_loc_descr): offset is HOST_WIDE_INT.
3768         (add_data_member): Likewise.
3769         (add_const_value_attribute): Simplify.
3770
3771 2003-10-25  Richard Henderson  <rth@redhat.com>
3772
3773         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
3774         (ix86_expand_prologue): Save and restore eax around stack probe
3775         if it's live.
3776
3777 2003-10-25  Jan Hubicka  <jh@suse.cz>
3778
3779         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
3780
3781 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
3782
3783         PR target/12712
3784         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
3785         if the block has no predecessors.
3786         (convert_regs_2): Document the problem with successors whose
3787         only predecessor is the block to be processed.
3788         (convert_regs): Don't create the arbitrary input stack here.
3789
3790 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
3791
3792         * genmodes.c (struct mode_data): Add contained and next_cont
3793         fields.
3794         (complete_mode): Maintain linked list of modes that have a
3795         given component.
3796         (emit_mode_unit_size): Delete.
3797         (emit_mode_nunits): New.
3798         (emit_insn_modes_c): Update to match.
3799         (emit_mode_adjustments): Propagate size and alignment
3800         adjustments from component modes to their containers.
3801         * machmode.h (mode_unit_size): Delete.
3802         (mode_nunits): New.
3803         (GET_MODE_NUNITS): Just return the value in the table.
3804         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3805         GET_MODE_SIZE.
3806         * expmed.c (store_bit_field, extract_bit_field): Can use a
3807         plain move instruction if bitsize >= GET_MODE_BITSIZE of
3808         destination/source mode, respectively.
3809         * varasm.c (assemble_real): Write out the full size of the
3810         constant, not just its bitsize.
3811         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3812
3813         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3814         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3815         alignment of XF and TF modes in compliance with ia64 ABIs.
3816         Can now hardwire the format of both modes.
3817         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3818         (general_tfmode_operand, destination_tfmode_operand)
3819         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3820         general_xfmode_operand, destination_xfmode_operand,
3821         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3822         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3823         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
3824         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3825         __float128.
3826         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3827         Change TFmode to XFmode wherever appropriate.  Remove all
3828         references to INTEL_EXTENDED_IEEE_FORMAT.
3829         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3830         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3831         (PREDICATE_CODES): Update to match function renames.
3832         * config/ia64/ia64.md: Change TF to XF throughout; rename all
3833         patterns to match.  Remove all references to
3834         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
3835         function renames.
3836         * config/ia64/ia64-protos.c: Update all prototypes to match
3837         renamed functions.
3838         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3839         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3840         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3841         __divtf3; keep old name for backward compatibility.
3842         (L__compat): New section providing forwarding stubs for
3843         __fixtfti, __fixunstfti, __floattitf.
3844         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3845
3846 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
3847
3848         PR 10757
3849         * c-pch.c: Include target.h.  Improve comments.
3850         (struct c_pch_validity): Add target_data_length.
3851         (pch_init): Add target's validity data.
3852         (c_common_valid_pch): Check target's validity data.
3853         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3854         (TARGET_PCH_VALID_P): New.
3855         (TARGET_INITIALIZER): Add new fields.
3856         * target.h: Include tm.h.
3857         (struct gcc_target): Add get_pch_validity, pch_valid_p.
3858         * toplev.h (default_get_pch_validity): New prototype.
3859         (default_pch_valid_p): New prototype.
3860         * toplev.c (default_get_pch_validity): New routine.
3861         (default_pch_valid_p): New routine.
3862         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
3863         target.h with $(TARGET_H).
3864         (c-pch.o): Add TARGET_H.
3865         * doc/tm.texi (PCH Target): New node.
3866         (TARGET_GET_PCH_VALIDITY): Document.
3867         (TARGET_PCH_VALID_P): Document.
3868
3869 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
3870
3871         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
3872         and $(docdir)/include from any *.texi dependencies.
3873         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3874         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3875         ($(docobjdir)/%.7): Likewise.
3876         (%.pod): New implicit rule.
3877         (cpp.pod): New dependency only rule.
3878         (gcc.pod): New intermediate rule with dependencies and commands.
3879         (gfdl.pod): Likewise.
3880         (fsf-funding.pod): Likewise.
3881
3882 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
3883
3884         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3885         related code.
3886         * fixinc/fixinc.ptx: Remove.
3887         * fixinc/fixinc.svr4: Remove.
3888
3889 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3890
3891         * config/s390/s390.c (load_multiple_operation): Allow both SImode
3892         and DImode if word_mode is DImode.
3893         (store_multiple_operation): Likewise.
3894         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3895         ("*load_multiple_di"): Allow only if word_mode == DImode.
3896         ("movqi"): Use LLGC whenever TARGET_ZARCH.
3897         ("fix_truncdfsi2"): Fix incorrect temporary size.
3898         ("fix_truncsfsi2"): Likewise.
3899         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3900         string for function return value operand.
3901         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3902
3903 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3904
3905         * c-parse.in (array_declarator): Use expr_no_commas.
3906         Fixes PR c/11943.
3907
3908 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
3909
3910         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3911         associated includes in #ifndef inhibit_libc.
3912
3913 2003-10-24  Roger Sayle  <roger@eyesopen.com>
3914
3915         * doc/libgcc.texi: Document some more of the libgcc API.
3916
3917 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3918
3919         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3920         comparing a constant with small negative numbers and add costing
3921         for constants in conjunction with AND.
3922         (note_invalid_constants): Tidy previous change.
3923         (thumb_cmp_operand): Tidy.
3924         (thumb_cmpneg_operand): New function.
3925         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3926         for size.
3927         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3928         (PREDICATE_CODES): Add thumb_cmpneg_operand.
3929         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
3930         with a negative constant.
3931         (cbranchsi4_insn): Matcher for cbranchsi4.
3932         (cbranchsi4_scratch): Similar, but a scratch is available for
3933         handling negative constants.
3934         (movsi_cbranchsi4): New pattern.
3935         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3936         and use the TST instruction.
3937         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3938         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3939         cannot see high regs or memory alternatives.
3940         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3941
3942 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3943
3944         * arm.c (note_invalid_constants): Try to extract the constant
3945         pool value using avoid_constant_pool_reference; only use
3946         get_pool_constant if that returns the original reference.
3947
3948 2003-10-24  Jan Hubicka  <jh@suse.cz>
3949
3950         PR c++/12624
3951         * varasm.c (notice_global_symbol): Disqualify global registers.
3952
3953 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3954
3955         PR middle-end/11414
3956         * loop.c (load_mems): Use redirect_jump to forward jumps from
3957         the original loop end label to the new "loop sink" block's label.
3958
3959 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3960
3961         PR middle-end/12705
3962         * optabs.c (expand_binop): When expanding complex operations
3963         inline, always calculate result into a new temporary register.
3964         Minor code clean-ups.
3965
3966 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3967
3968         * objc/lang-specs.h: Handle -print-objc-runtime-info.
3969         * doc/invoke.texi (Objective-C Dialect Options): Document it.
3970
3971 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
3972
3973         * config/i386/cygwin.asm: Add copyright notice. Add comment
3974         on why this code is needed.
3975
3976 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
3977
3978         * config/h8300/clzhi2.c: Fix warnings.
3979         * config/h8300/ctzhi2.c: Likewise.
3980         * config/h8300/fixunssfsi.c: Likewise.
3981         * config/h8300/parityhi2.c: Likewise.
3982         * config/h8300/popcounthi2.c: Likewise.
3983
3984 2003-10-23  James E Wilson  <wilson@specifixinc.com>
3985
3986         * gcc.c (option_map): Delete --target and --use-version.
3987
3988 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
3989             David Edelsohn  <edelsohn@gnu.org>
3990
3991         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
3992         TARGET_POWREPC64.
3993         (UNITS_PER_GPR_WORD): Define.
3994         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
3995         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3996         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
3997         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
3998         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
3999         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
4000         (rs6000_emit_prologue): Select reg_mode and reg_size using
4001         TARGET_32BIT, not TARGET_POWERPC64.
4002         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
4003         ABI / 64-bit computation mode
4004
4005 2003-10-22  Andrew Haley  <aph@redhat.com>
4006
4007         * toplev.c (output_file_directive): Allow for null input_name.
4008
4009 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
4010
4011         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
4012
4013 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
4014
4015         * configure.in: In --enable-generated-files-in-srcdir option
4016         handling, fix default case handling.
4017         * configure: Regenerate.
4018
4019 2003-10-22  Phil Edwards  <phil@codesourcery.com>
4020
4021         * config.gcc:  Update *-*-vxworks* generic hook and comments.
4022         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
4023         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
4024         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
4025         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
4026         * config/windiss.h:  New file.
4027         * config/arm/t-vxworks:  New file.
4028         * config/arm/vxworks.h:  New file.
4029         * config/i386/t-vxworks:  New file.
4030         * config/i386/vxworks.h:  New file.
4031         * config/mips/t-vxworks:  New file.
4032         * config/mips/vxworks.h:  New file.
4033         * config/mips/windiss.h:  New file.
4034         * config/sh/t-vxworks:  New file.
4035         * config/sh/vxworks.h:  New file.
4036
4037 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
4038
4039         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
4040         (h8300_saveall_function_p): New.
4041         (h8300_insert_attributes): Insert the saveall attribute if
4042         #pragma saveall is specified.
4043         (h8300_attribute_table): Add saveall.
4044         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
4045         * doc/extend.texi: Mention the saveall attribute.
4046
4047 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
4048
4049         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
4050         deprecation of casts as lvalues.
4051         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
4052         * fixinc/fixincl.x: Regenerate.
4053         * fixinc/tests/base/obstack.h: New test.
4054
4055 2003-10-22  Andreas Schwab  <schwab@suse.de>
4056
4057         PR target/12676
4058         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
4059         LP64 platforms.
4060
4061 2003-10-22  Jan Hubicka  <jh@suse.cz>
4062
4063         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
4064         presence of DW_AT_inline.
4065         (gen_subprogram_die): Likewise; do not abort instead of emitting
4066         DW_AT_not_inline.
4067
4068 2003-10-22  Jan Hubicka  <jh@suse.cz>
4069
4070         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
4071         global info is not ready.
4072
4073 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
4074
4075         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
4076
4077 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
4078
4079         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
4080         ("*movstr_short"): ... into this insn pattern.
4081         ("movstr_short"): New expander.
4082         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
4083         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
4084         ("movstr_long"): New expander.
4085         ("clrstr_short_64", "clrstr_short_31"): Merge ...
4086         ("*clrstr_short"): ... into this insn pattern.
4087         ("clrstr_short"): New expander.
4088         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
4089         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
4090         ("clrstr_long"): New expander.
4091         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
4092         ("*cmpmem_short"): ... into this insn pattern.
4093         ("cmpmem_short"): New expander.
4094         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
4095         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
4096         ("cmpmem_long"): New expander.
4097         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
4098         (s390_expand_clrstr): Likewise.
4099         (s390_expand_cmpmem): Likewise.
4100
4101 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
4102
4103         * c-pch.c (struct c_pch_validity): Add pch_init field.
4104         (pch_init): Set it.
4105         (c_common_valid_pch): Check it.
4106
4107 2003-10-22  David Taylor <dtaylor@emc.com>
4108
4109         PR debug/12500
4110         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
4111
4112 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4113
4114         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
4115         alpha_return_in_memory if no VALTYPE specified.
4116
4117 2003-10-22  Jan Hubicka  <jh@suse.cz>
4118
4119         PR debug/12389
4120         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
4121         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
4122         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
4123         (cgraph_global_info): Add flag inlined
4124         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
4125         cgraph_function_possibly_inded_p
4126         * cgraphunit.c (mark_inline): Set inlined flag.
4127         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
4128         only for possibly inlined functions.
4129         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
4130         body of function.
4131
4132 2003-10-22  Andrew Haley  <aph@redhat.com>
4133
4134         * varasm.c (output_constructor): Make constructor annotation
4135         conditional on ASM_COMMENT_START.
4136
4137 2003-10-21  Jason Merrill  <jason@redhat.com>
4138
4139         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
4140         (get_narrower): Likewise.
4141
4142         * stor-layout.c (layout_decl): Do packed field alignment for
4143         bit-fields, too.
4144
4145 2003-10-21  Eric Christopher  <echristo@redhat.com>
4146
4147         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
4148
4149 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
4150
4151         * c-pch.c: Add comments in various places.
4152         (struct c_pch_validity): Add the lengths of various strings.
4153         (host_machine): New static.
4154         (target_machine): New static.
4155         (get_ident): Bump version number.
4156         (pch_init): Write out version, host, target validity data.
4157         (c_common_valid_pch): Check version, host, target.
4158         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
4159         TARGET_MACHINE.
4160
4161 2003-10-21  Jason Merrill  <jason@redhat.com>
4162
4163         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
4164         (EXPR_P): New macro.
4165
4166 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
4167
4168         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
4169         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
4170         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
4171         DImode.   Use convert_move to load ar.ccv.
4172         (ia64_expand_compare_and_swap): Likewise.
4173         If expand_expr doesn't put 'old' and 'new' in the proper
4174         modes, run them through convert_to_mode.
4175
4176 2003-10-21  Eric Christopher  <echristo@redhat.com>
4177
4178         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
4179         for too large bitfields.
4180
4181 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
4182
4183         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
4184
4185 2003-10-21  Andrew Haley  <aph@redhat.com>
4186
4187         * varasm.c (output_constructor): Annotate constructor.
4188
4189 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
4190
4191         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
4192         on existence of destination file.
4193
4194 2003-10-21  Jan Hubicka  <jh@suse.cz>
4195
4196         * haifa-sched.c (choose_ready): Initialize index.
4197
4198 2003-10-21  Jason Merrill  <jason@redhat.com>
4199
4200         * tree.c (build1): Fix off-by-one error.
4201
4202 2003-10-21  Robert Millan  <robertmh@gnu.org>
4203
4204         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
4205         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
4206         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
4207         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
4208
4209 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
4210
4211         * web.c: Fix various comments.
4212
4213 2003-10-20  Nicolas Pitre <nico@cam.org>
4214
4215         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
4216         to 2 instead of 1 when optimize_size is true.  Gather code based on
4217         optimize_size together.  Add comment about XScale load latency.
4218
4219 2003-10-21  Gunther Nikl  <gni@gecko.de>
4220
4221         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
4222         obsolete comments.
4223
4224 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
4225
4226         * Makefile.in: Get parsedir and docobjdir from configure.
4227         * configure.in: Recogonize --enable-generated-files-in-srcdir.
4228         Pass along parsedir and docobjdir.
4229         * configure: Regenerate.
4230         * doc/install.texi: Document --enable-generated-files-in-srcdir.
4231
4232 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
4233
4234         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
4235         included.
4236
4237 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4238
4239         * c-common.c (expand_tree_builtin): Ensure creal and cimag
4240         functions do not return lvalues.
4241
4242 2003-10-20  Jason Merrill  <jason@redhat.com>
4243
4244         PR c/12553
4245         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
4246         appropriately.
4247
4248         PR c/11446
4249         * stor-layout.c (layout_decl): Fix alignment handling.
4250
4251 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4252
4253         * doc/extend.texi: Deprecate casts as lvalues.
4254
4255 2003-10-20  Jan Hubicka  <jh@suse.cz>
4256
4257         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
4258
4259         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
4260         with functions implicitly made inline.
4261
4262         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
4263         (cgraph_finalize_function): Use it.
4264         (cgraph_mark_inline): Allow incrmental decisions
4265         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
4266         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
4267         * tree-inline.c (limits_allow_inlining): Kill.
4268         (expand_call_inline): Always use unit-at-a-time path.
4269
4270 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4271
4272         * fixinc/inclhack.def (hpux11_snprintf): New edit.
4273         * fixinc/fixincl.x: Regenerate.
4274         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
4275
4276 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
4277
4278         * Makefile.in (install-info): Simplify.
4279         ($(DESTDIR)$(infodir)/%.info): New rule.
4280         * configure.in (target_list): Remove install-info.
4281         * doc/.cvsignore (gcc.info*): Remove.
4282         (gccint.info*): Likewise.
4283         (gccinstall.info*): Likewise.
4284         (cpp.info*): Likewise.
4285         (cppinternals.info*): Likewise.
4286         (*.info*): Add it.
4287         * doc/sourcebuild.texi: Update description of install-info.
4288         * objc/Make-lang.in (objc.install-info): Remove.
4289
4290 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4291
4292         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
4293         Use it in _MIPS_SIM definition.
4294         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
4295
4296 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4297
4298         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
4299         virtual register, but only if file == asm_out_file.
4300         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
4301         for ARG_POINTER_REGNUM.
4302
4303 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4304
4305         * c-common.c (registered_builtin_types): New static.
4306         (c_common_type_for_mode): Consult registered_builtin_types.
4307         (c_register_builtin_type): Add type to registered_builtin_types.
4308         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
4309         all MODE_FLOAT modes, not just the ones corresponding to
4310         float_type_node, double_type_node, and long_double_type_node.
4311
4312 2003-10-20  Richard Henderson  <rth@redhat.com>
4313
4314         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
4315         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
4316
4317 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
4318
4319         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
4320         support new flag -minsert-sched-nops.
4321         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
4322         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
4323         support new flag -minsert-sched-nops.
4324         (is_cracked_insn, is_microcoded_insn): New functions.
4325         (rs6000_sched_finish): New function.
4326         (rs6000_issue_rate): Return 5 for power4.
4327         (get_next_active_insn, insn_terminates_group_p): New
4328         functions.
4329         (is_costly_group, force_new_group): New functions.
4330         (redefine_groups, pad_groups): New functions.
4331         (rs6000_variable_issue): Use new functions.
4332         * doc/invoke.texi (-minsert-sched-nops): Document new
4333         option.
4334
4335 2003-10-20  David S. Miller  <davem@redhat.com>
4336
4337         * config/sparc/sparc.md (type attribute): Add new insn types
4338         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
4339         (patterns emitting VIS insns): Use them.
4340         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
4341         * config/sparc/ultra3.md: Likewise.
4342
4343 2003-10-20  Falk Hueffner  <falk@debian.org>
4344
4345         PR target/12654
4346         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
4347         comparison against constant by adjusting the argument except for
4348         EQ and NE.
4349
4350 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
4351
4352         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
4353         arm1136jfs, and armv6j.
4354         * config/arm/arm.c (FL_ARCH6J): New macro.
4355         (FL_VFPV2): Likewise.
4356         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
4357         and arm1136jfs.
4358         (all_architectures): Add entry for armv6j.
4359         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
4360         arm1136js, and arm1136jfs.
4361         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
4362         (TARGET_CPU_arm1026ej_s): Likewise.
4363         (TARGET_CPU_arm1136j_s): Likewise.
4364         (TARGET_CPU_arm1136jf_s): Likewise.
4365         * doc/invoke.texi: Document new ARM cores and architecture
4366         variants.
4367
4368 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4369
4370         * Makefile.in (toplev.o): Add value-prof.h dependency.
4371         (value-prof.o): Add REGS_H dependency.
4372         * common.opt (fprofile-values, fvpt): New.
4373         * flags.h (flag_value_profile_transformations): Declare.
4374         * opts.c (common_handle_option): Handle -fprofile_values and
4375         -fvpt.
4376         * profile.c (branch_prob): Don't remove death notes here.
4377         * timevar.def (TV_VPT): New.
4378         * value-prof.c: Include regs.h.
4379         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
4380         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
4381         mod_subtract_transform, value_profile_transformations): New.
4382         (insn_values_to_profile): Call insn_divmod_values_to_profile.
4383         (find_values_to_profile): Add dumps.
4384         * value-prof.h (value_profile_transformations): Declare.
4385         * toplev.c: Include value-prof.h.
4386         (rest_of_handle_value_profile_transformations): New.
4387         (enum dump_file_index): Add DFI_vpt.
4388         (dump_file): Add vpt dump.
4389         (flag_value_profile_transformations): New.
4390         (lang_independent_options): Add flag_profile_values and
4391         flag_value_profile_transformations.
4392         (rest_of_compilation): Call
4393         rest_of_handle_value_profile_transformations.
4394         (process_options): Let -fvpt imply -fprofile-values.
4395         * doc/invoke.texi (-fvpt): Document.
4396
4397 2003-10-19  Jan Hubicka  <jh@suse.cz>
4398
4399         * i386.c (print_reg): Do not abort on certain registers.
4400
4401         PR optimization/12612
4402         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
4403         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
4404         match_scratch; avoid bogus paralles.
4405
4406         PR target/12674
4407         * i386.c (ix86_function_regparm): Disable implicit register passing
4408         conventions when profiling.
4409
4410 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4411             Richard Henderson  <rth@redhat.com>
4412
4413         PR optimization/8178
4414         * config/i386/i386.md (*movsi_zero): Delete.
4415         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
4416
4417 2003-10-19  Richard Henderson  <rth@redhat.com>
4418
4419         * config/alpha/alpha.c (fix_operator): New.
4420         (divmod_operator): Tidy.
4421         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
4422         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
4423         (PREDICATE_CODES): Update.
4424         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
4425         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
4426         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
4427         (fix_truncsfdi_ieee): Likewise.
4428         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
4429         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
4430         * config/alpha/alpha-protos.h: Update.
4431
4432 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
4433
4434         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
4435         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
4436         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
4437         constant operands.
4438
4439 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
4440
4441         * doc/extend.texi: Fix typos.
4442         * doc/invoke.texi: Likewise.
4443
4444 2003-10-18  Nicolas Pitre <nico@cam.org>
4445
4446         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
4447         XScale optimizations not arm_arch_xscale.
4448         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
4449
4450 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
4451
4452         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
4453         * config/s390/s390.c (shift_count_operand): New function.
4454         (s390_extra_constraint): Use it to implement 'Y' constraint.
4455         (print_shift_count_operand): New function.
4456         (print_operand): Use it to implement '%Y'.
4457         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
4458         (PREDICATE_CODES): Add shift_count_operand.
4459         * config/s390/s390.md ("rotldi3"): Merge alternatives,
4460         using "shift_count_operand" predicate and "Y" constraint,
4461         and "%Y" to output the combined shift count.
4462         ("rotlsi3"): Likewise.
4463         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
4464         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
4465         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
4466         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
4467         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
4468         ("lshrsi3"): Likewise.
4469
4470 2003-10-18  Gunther Nikl  <gni@gecko.de>
4471
4472         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
4473         argument to asm_fprintf statement.
4474
4475 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
4476
4477         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
4478         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
4479         a "long long" argument.
4480
4481 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
4482
4483         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
4484         as well.
4485
4486 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
4487
4488         * rtl.h (rtl_size): Declare.
4489         (rtunion): Remove rtwint.
4490         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
4491         (RTX_HDR_SIZE, RTX_SIZE): New macros.
4492         (RTL_CHECK1): Adjust for new rtx_def layout.
4493         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
4494         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
4495         (X0WINT): Remove.
4496         (X0ANY): New macro.
4497         * rtl.def: Adjust comments for new rtx_def layout.
4498         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
4499         number of slots.
4500         * rtl.c (rtx_size): New array.
4501         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
4502         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
4503         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
4504         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
4505         * emit-rtl.c (copy_most_rtx): Likewise.
4506         (copy_rtx_if_shared): Use RTX_SIZE.
4507         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
4508         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
4509         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
4510         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
4511         an array.  Adjust output for new rtx_def layout.
4512         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
4513         * reload1.c (eliminate_regs): Use RTX_SIZE.
4514         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
4515         * gdbinit.in (pi): Likewise.
4516
4517 2003-10-18  Jan Hubicka  <jh@suse.cz>
4518
4519         * integrate.c (copy_decl_for_inlining): Revert previous patch.
4520
4521 2003-10-18  Jan Hubicka  <jh@suse.cz>
4522
4523         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
4524
4525 2003-10-18  Roger Sayle  <roger@eyesopen.com>
4526
4527         * libgcc.texi: Group multi-word types, such as "long double" and
4528         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
4529         Document __unord?f2 as returning a non-zero value, not just one.
4530
4531 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
4532
4533         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
4534         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
4535
4536 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4537
4538         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
4539         match_operand.
4540
4541 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4542
4543         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
4544         parameter packed_p.  Search for a DECL_PACKED field only if
4545         packed_p is false.  Pass packed_p recursively.
4546         (function_arg_record_value_2): Likewise.
4547         (function_arg_record_value): Update calls to
4548         function_arg_record_value_1 and function_arg_record_value_2.
4549
4550 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4551
4552         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
4553         was successfully forced to memory before using the result.
4554
4555 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4556
4557         PR optimization/8178
4558         * config/i386/i386.md (*movsi_zero): New insn to set
4559         a register to zero on TARGET_USE_MOV0 targets.
4560
4561 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
4562
4563         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
4564         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
4565
4566 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
4567
4568         * doc/invoke.texi (gcse-las): Fix typo.
4569
4570 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
4571
4572         * doc/install.texi: Remove first part of the sentence for
4573         zsh not working.  Change gcc to GCC.
4574
4575         PR bootstrap/12546
4576         * doc/install.texi: Document that zsh does not work when
4577         configuring gcc.
4578
4579 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
4580
4581         * config/ptx4.h: Switch to DWARF 2; update comments.
4582
4583 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
4584             Hartmut Penner  <hpenner@de.ibm.com>
4585
4586         PR 10404, partial 11591, partial 11601
4587         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
4588         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
4589         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
4590         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
4591         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
4592         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
4593         (altivec_expand_stv_builtin): Adjust for the memory_operand.
4594         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
4595         (altivec_init_builtins): Use `long int' for memory offsets.
4596
4597 2003-10-17  Jan Hubicka  <jh@suse.cz>
4598
4599         * opts.c  (common_handle_option): Handle OPT_fweb
4600         * invoke.texi (-fweb): Add missing parts of documentation.
4601
4602 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4603
4604         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
4605         before redefinition.
4606
4607 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
4608
4609         * common.opt: Add description of the new -fgcse-las flag.
4610         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
4611         * gcse.c (hash_scan_set): Handle the case of store expression and
4612         insert the memory expression to the hash table, this way we make it
4613         possible to discover redundant loads after stores and remove them.
4614         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
4615         to pre_insert_copies, it is not the correct place to call it after
4616         adding stores to be in the available expression hash table.
4617         (pre_insert_copies): Added the call to update_ld_motion_stores when
4618         one or more copies were inserted.
4619         * opts.c (common_handle_option): Handle the -fgcse-las flag.
4620         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
4621
4622         * doc/invoke.tex: Document new -fgcse-las flag.
4623
4624 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
4625
4626         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
4627         for posterity, then remove it.
4628
4629 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
4630             Nathan Sidwell  <nathan@codesourcery.com>
4631
4632         * config/arm/arm.c (use_return_insn): Not a single instruction, if
4633         there's a frame pointer.
4634         (arm_output_epilogue): Protect stack pointer from being corrupted
4635         on interrupt.
4636
4637 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
4638
4639         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
4640
4641 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
4642
4643         * combine.c (simplify_set): Do not clear out undobuf.other_insn
4644         already set elsewhere.
4645
4646 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
4647
4648         * config/i386/i386.c (ix86_expand_prologue):  Use
4649         gen_allocate_stack_worker.
4650
4651 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4652
4653         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
4654         without gas.
4655         (mips-sgi-irix6*): Likewise.
4656
4657         * config/mips/iris6gas.h: New file.
4658         * gcc/config.gcc (mips-sgi-irix6*): Use it.
4659
4660         * config/mips/mips.h (TARGET_IRIX): Provide default.
4661         (TARGET_IRIX5): Likewise.
4662         (TARGET_SGI_O32_AS): Likewise.
4663         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
4664         (TARGET_IRIX5): Likewise.
4665         * config/mips/iris6.h (TARGET_IRIX6): Remove.
4666         (TARGET_IRIX5): Redefine as 0.
4667
4668         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
4669         linker workaround with TARGET_IRIX and mips_abi instead of
4670         ASM_OUTPUT_UNDEF_FUNCTION.
4671         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
4672         testing TARGET_IRIX and mips_abi explicitly.
4673         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
4674         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
4675
4676         * config/mips/mips.c (irix_output_external_libcall): Renamed from
4677         mips_output_external_libcall.
4678         Use new TARGET_IRIX in guard.
4679         * config/mips/mips-protos.h (irix_output_external_libcall): Match
4680         this.
4681         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
4682
4683         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
4684         Define as 0.
4685
4686         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
4687         depending on mips_abi.
4688         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
4689         * config/mips/mips.c (mips_output_function_prologue): Test
4690         FUNCTION_NAME_ALREADY_DECLARED at runtime.
4691         (mips_output_function_epilogue): Likewise.
4692         (build_mips16_function_stub): Likewise.
4693         (build_mips16_call_stub): Likewise.
4694         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
4695         default.
4696
4697         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
4698         IRIX 6 O32 assembler.
4699         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
4700         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
4701         _MIPS_SIM for O32 ABI.
4702         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
4703         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
4704         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
4705         Integrate O32 version.
4706         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
4707         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
4708         O32 ABI.
4709         (BSS_SECTION_ASM_OP_32): Define.
4710         (BSS_SECTION_ASM_OP_64): Likewise.
4711         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
4712         using them.
4713         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
4714         Move up to allow override for O32 ABI without GNU as.
4715         (EH_FRAME_SECTION_NAME): Define explicitly.
4716         (MUST_USE_SJLJ_EXCEPTIONS): Define.
4717         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
4718         DTORS_SECTION_ASM_OP): Dummy definitions.
4719         (TARGET_ASM_NAMED_SECTION): Undef statically.
4720         (EH_FRAME_SECTION_NAME): Likewise.
4721         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
4722         (LINK_SPEC): Only use default options -call_shared -no_unresolved
4723         without -r.
4724         Don't pass -init, -fini with -mabi=32.
4725         (COLLECT_PARSE_FLAG): Define.
4726
4727         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
4728         TARGET_IRIX.
4729         Renamed to use irix_ prefix.
4730         (iris6_asm_named_section): Likewise.
4731         (iris_section_align_entry_eq): Likewise.
4732         (iris_section_align_entry_hash): Likewise.
4733         (iris6_file_start): Likewise.
4734         (iris6_section_align_1): Likewise.
4735         (iris6_file_end): Likewise.
4736         (iris6_section_type_flags): Likewise.
4737         (iris_section_align_htab): Likewise.
4738         (iris_orig_asm_out_file): Likewise.
4739         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
4740         (TARGET_ASM_FILE_END): Likewise.
4741         (TARGET_SECTION_TYPE_FLAGS): Likewise.
4742
4743         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
4744         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
4745         override_options instead.
4746         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
4747         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
4748         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
4749         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
4750         assemblers.
4751         Likewise for constructor/destructor handling.
4752         (override_options): Handle IRIX O32 assembler quirks.
4753         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
4754         without gas.
4755         (mips_file_start): Use new TARGET_IRIX.
4756         (mips_declare_object_name): No special processing for IRIX O32
4757         assembler.
4758         (mips_finish_declare_object): Likewise.
4759         (irix_asm_output_align): Renamed from iris6_asm_output_align.
4760         Don't record alignment for O32 ABI.
4761         (irix_file_start): Renamed from iris6_file_start.
4762         Return early for O32 ABI.
4763         (irix_file_end): Renamed from iris6_file_end.
4764         Don't emit .section directives for O32 ABI.
4765         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
4766         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
4767
4768         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
4769         (MULTILIB_OSDIRNAMES): Likewise.
4770
4771 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4772
4773         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
4774         (main): Use it.
4775         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
4776
4777 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
4778
4779         * arm-modes.def (CC_Nmode): New condition code mode.
4780         * arm.c (thumb_condition_code): Delete.
4781         (arm_select_cc_mode): Handle single-bit test for Thumb.
4782         (arm_print_operand, cases 'd' and 'D'): Don't special case the
4783         condition code logic for Thumb.
4784         (get_arm_condition_code): Handle CC_Nmode.
4785         (thumb_cbrch_target_operand): New function.
4786         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
4787         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
4788         * arm.md: Add Thumb split patterns for zero_extract and
4789         sign_extract.
4790         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
4791         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
4792         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
4793         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4794         (cbranchne_decr1): Re-work to use CC_Nmode.
4795
4796         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
4797         by the return instruction.  Add a use of the link register if it
4798         wasn't stored.
4799
4800 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
4801
4802         * flow.c (init_propagate_block_info): Don't abort if a conditional
4803         jump is not a comparison of a register.  Instead, just don't record
4804         conditional life information.
4805
4806 2003-10-16  Jan Hubicka  <jh@suse.cz>
4807
4808         PR optimization/12630
4809         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4810         for operands 7 and 8.
4811
4812 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
4813
4814         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4815
4816 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
4817
4818         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4819
4820         * config/i386/winnt.c (gen_stdcall_suffix): Make static
4821         (gen_fastcall_suffix): Likewise.
4822         (i386_pe_dllexport_p): Likewise.
4823         (i386_pe_dllimport_p): Likewise.
4824         (i386_pe_mark_dllexport): Likewise.
4825         (i386_pe_mark_dllimport): Likewise.
4826         (i386_pe_asm_named_section): Fix formatting.
4827
4828 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
4829
4830         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4831         * system.h: Declare snprintf if necessary.
4832         * configure, config.in: Regenerate.
4833
4834 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
4835
4836         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4837         arguments if TARGET_ALTIVEC_ABI.
4838
4839 2003-10-15  Roger Sayle  <roger@eyesopen.com>
4840
4841         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4842         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4843         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4844         New functions.
4845         (expand_builtin_memcpy): Use integer_zerop instead of testing
4846         host_integerp and tree_low_cst directly.  Move misapplied hunk
4847         for optimization wher SRC and DEST point to the same location.
4848         (expand_builtin_mempcpy): From here.
4849         (expand_builtin_memmove): Use integer_zerop instead of testing
4850         host_integerp and tree_low_cst_directly.
4851         (expand_builtin_memset): Likewise.
4852         (expand_builtin_memcmp): Likewise (and for integer_onep).
4853         (expand_builtin_strncmp): Likewise.
4854         (fold_builtin): Call the appropriate fold_builtin_foo functions
4855         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4856         strcmp and strncmp.
4857
4858 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
4859
4860         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4861         prototype.  Clean up some whitespace.
4862         * config/darwin.c: Use gen_rtx_FOO (...) rather than
4863         gen_rtx (FOO, ...).
4864         (machopic_non_lazy_ptr_name): Make static.
4865         (name_needs_quotes): Allow '.' and '$' unquoted.
4866         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4867         case.
4868
4869 2003-10-15  Gábor Lóki  <alga@rgai.hu>
4870
4871         * fold-const.c (tree_swap_operands_p): Disable some features
4872         when optimizing for size.
4873
4874 2003-10-15  David Daney  <ddaney@avtrex.com>
4875
4876         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
4877         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
4878         from leaf functions.
4879         (DWARF_FRAME_RETURN_COLUMN): Ditto.
4880         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
4881         by MD_FALLBACK_FRAME_STATE_FOR.
4882         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
4883
4884 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
4885
4886         * genmodes.c: Include hashtab.h.
4887         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
4888         (adj_bytesize, adj_alignment, adj_format, new_adjust)
4889         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
4890         (print_maybe_const_decl, emit_mode_adjustments): New.
4891         (known_modes): Rename to modes.
4892         (find_mode): Kill class argument; look up in hash table.
4893         (new_mode): Insert into hash table also.
4894         (new_adjust): New.
4895         (reset_float_format, make_partial_integer_mode)
4896         (make_vector_mode): Tweak error reporting.
4897         (reset_float_format): Correct type of fourth argument.
4898         (emit_insn_modes_h): Add #defines to help make mode_size,
4899         mode_base_align, and real_format_for_mode conditionally const.
4900         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
4901         (emit_real_format_for_mode): Likewise, but temporarily disabled.
4902         (emit_insn_modes_c): Call emit_mode_adjustments.
4903         (main): Initialize modes_by_name.
4904         * Makefile.in: Update dependencies.
4905         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
4906         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
4907         declarations of mode_size and mode_base_align.  Declare
4908         init_adjust_machine_modes.
4909         * toplev.c (backend_init): Call init_adjust_machine_modes.
4910
4911 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
4912
4913         * genmodes.c (calc_wider_mode): Allocate enough room for all the
4914         entries we'll possibly assign in the sort buffer.
4915
4916 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4917
4918         * config.gcc (s390x-ibm-tpf*): New target.
4919         * doc/install.texi: Document it.
4920         * config/s390/t-tpf: New file.
4921         * config/s390/tpf.h: New file.
4922
4923 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
4924
4925         PR target/12598
4926         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
4927         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
4928         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
4929         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
4930         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
4931         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
4932         replace_equiv_address, not gen_rtx_MEM.
4933         * config/cris/cris.c (cris_mem_op): New match_operator function.
4934         (cris_notice_update_cc): Use replace_equiv_address, not
4935         gen_rtx_MEM.
4936         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
4937
4938 2003-10-15  Bernardo Innocenti <bernie@develer.com>
4939
4940         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
4941         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
4942         definitions after the other flags.
4943
4944 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
4945
4946         * c-parse.in (methoddef, methodproto): Call objc_add_method()
4947         instead of add_method().
4948         * objc/objc-act.c (objc_check_decl): Do not check for
4949         constant_string_type.
4950         (add_method): Rename to objc_add_method().
4951         (really_start_method): Call objc_add_method() instead of
4952         add_method().
4953         * objc/objc-act.h (add_method): Rename to objc_add_method().
4954
4955 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
4956
4957         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
4958         (s390_slb_comparison): Likewise.
4959         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
4960         New functions.
4961         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
4962         and s390_slb_comparison.
4963         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
4964         zSeries machines.
4965         ("*adddi3_31z", "*subdi3_31z"): New insns.
4966         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
4967         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
4968         New insns.
4969
4970 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4971
4972         * configure.in: Clean up some feedback echoes.
4973         * configure: Regenerate.
4974
4975         * aclocal.m4: Properly quote names of macros being defined.
4976
4977         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
4978
4979 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
4980
4981         * config/ia64/ia64.c (ia64_expand_call): Force function address
4982         to DImode.
4983         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
4984
4985 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
4986
4987         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
4988         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
4989         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
4990         "*divsf3_ibm"): Likewise.
4991
4992 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4993
4994         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
4995         target_alias with target_noncanonical.
4996
4997 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
4998
4999         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
5000         and add case for machines where outgoing register parameters
5001         get stack space.
5002
5003         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
5004         register when generating indirect address.
5005
5006 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
5007
5008         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
5009         * arm.md (cbranchne_decr1): Fix bootstrap warning.
5010
5011 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5012
5013         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
5014         * fixinc/fixincl.x: Regenerate.
5015         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
5016         testcase.
5017         Fixes PR bootstrap/9330.
5018
5019 2003-10-13  Eric Christopher  <echristo@redhat.com>
5020
5021         * config/frv/frv.c (frv_adjust_field_align): Redo check for
5022         too wide bitfields.
5023         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
5024         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
5025         (SBSS_SECTION_ASM_OP): Remove.
5026         (EXTRA_SECTIONS): Remove in_sbss.
5027         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
5028         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
5029         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
5030         named_section.
5031
5032 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5033
5034         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
5035         uses of ${target_alias} for directory names (and other places which
5036         won't like the empty string) with ${target_noncanonical}.  Introduce
5037         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
5038         available.
5039         * configure: Regenerate.
5040
5041 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
5042
5043         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
5044         * config/arm/arm.md: For splits which rely on conditional moves,
5045         remove ! TARGET_IWMMXT condition.
5046
5047 2003-10-13  David S. Miller  <davem@redhat.com>
5048
5049         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
5050         (find_cond_trap): Always increment if we emit a conditional
5051         trap insn.
5052
5053 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
5054
5055         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
5056         with min-insn-modes.o.
5057         (STAGESTUFF): Add min-insn-modes.c.
5058         (genobjs): Add genmodes.o.
5059         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
5060         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
5061         (min-insn-modes.c, min-insn-modes.o): New rules.
5062         (s-modes): Also generate min-insn-modes.c.
5063         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
5064         * genmodes.c (struct mode_data): Add format field.
5065         (blank_mode, validate_mode, complete_mode): Update to match.
5066         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
5067         (_SCALAR_MODE): Kill.
5068         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
5069         (emit_insn_modes_c_header): Adjust.
5070         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
5071         (emit_min_insn_modes_c): New functions.
5072         (emit_insn_modes_c): Call emit_real_format_for_mode.
5073         (main): Add -m option to generate min-insn-modes.c.
5074         * machmode.h: Update documentation.  Add format argument to
5075         all uses of FLOAT_MODE.
5076         * real.c: Don't define real_format_for_mode here.
5077
5078         * dwarfout.c: Move default definition of PRINT_REG...
5079         * defaults.h: ...here.
5080         * print-rtl.c: Include tm_p.h.
5081         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
5082         Kill.
5083         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
5084         this entire block with #ifndef GENERATOR_FILE.
5085         * regclass.c: Unconditionally define reg_names.
5086         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
5087         Don't define DEBUG_REGISTER_NAMES.
5088         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
5089         redefinition of REGISTER_NAMES.
5090         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
5091
5092         * combine.c: Change all preprocessor conditionals on
5093         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
5094         for clarity.
5095         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
5096         * configure.in: Don't define EXTRA_CC_MODES.
5097         * configure, config.in: Regenerate.
5098         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
5099
5100         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
5101         May assume that GET_MODE_CLASS is accurate for extra CC modes
5102         at all times.
5103
5104         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
5105         number of arguments to aggregate_value_p.
5106
5107         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
5108         * machmode.def: Explain ARCH-modes.def.  Document
5109         RESET_FLOAT_FORMAT.  Improve commentary on various mode
5110         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
5111         XF, or TF modes here.  Remove backward-compatibility
5112         definition of CC.
5113
5114         * config/alpha/alpha-modes.def: New file; define TF mode.
5115         * config/arc/arm-modes.def: Define XF mode.
5116         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
5117         float format for SF and DF modes.
5118         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
5119         * config/i386/i386-modes.def: Define XF and TF modes.
5120         * config/i960/i960-modes.def: Define TF mode.
5121         * config/ia64/ia64-modes.def: Define TF and OI modes.
5122         * config/m68k/m68k-modes.def: New file; define XF mode.
5123         * config/mips/mips-modes.def: New file; define TF mode, reset
5124         formats for SF and DF modes.
5125         * config/pa/pa-modes.def: Define TF mode.
5126         * config/rs6000/rs6000.c: Define TF and PSI modes.
5127         * config/s390/s390-modes.def: Define OI mode.
5128         * config/sh/sh-modes.def: New file; define PSI mode.
5129         * config/sparc/sparc-modes.def: Define TF mode.
5130         * config/vax/vax-modes.def: New file; reset formats for SF and
5131         DF modes.
5132
5133         * config/c4x/c4x.c (c4x_override_options): No need to mess
5134         with real_format_for_mode or set REAL_MODE_FORMATs.
5135         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
5136         variable.
5137         * config/i386/i386.c (override_options): No need to set
5138         REAL_MODE_FORMATs here.
5139         * config/i960/i960.c (i960_initialize): Likewise.
5140         * config/m68k/m68k.c (m68k_override_options): Likewise.
5141         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
5142         for TFmode only if not the default.
5143         * config/mips/mips.c (override_options): Likewise.
5144         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
5145         DFmode only if not the default.
5146
5147         * config/i370/i370.h (RET_REG): Don't consider TFmode.
5148         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
5149         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
5150         of modes that don't appear anywhere in the machine description.
5151
5152         * config/arc/arc-modes.def, config/arm/arm-modes.def
5153         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
5154         * config/i386/i386-modes.def, config/i960/i960-modes.def
5155         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
5156         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
5157         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
5158         * config/sparc/sparc-modes.def: Convert to new style for
5159         declaring extra CC modes.
5160
5161 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
5162
5163         * cpplex.c (_cpp_clean_line): In the common case of a line
5164         with no trigraphs and no \-newline, avoid writing to memory.
5165         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
5166         of the buffer member.  Make c an uchar to avoid unnecessary
5167         sign extensions.
5168
5169 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5170
5171         * configure.in: Remove unnecessary test.
5172         * configure: Regenerate.
5173
5174         * configure.in: Fix grammatical error.  Move UWIN host error to...
5175         * config.host: Here.
5176         * configure: Regenerate.
5177
5178 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
5179
5180         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
5181         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
5182         of flag_unsafe_math_optimizations.
5183         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
5184         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
5185         fused-madd and no-fused-madd.
5186         * doc/invoke.texi: Documented the new options fused-madd and
5187         no-fused-madd for S/390.
5188
5189 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
5190
5191         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
5192         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
5193         assign DEFAULT_ABI.
5194         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
5195         * config/rs6000/rs6000.c: Formatting.
5196         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
5197         when rs6000_alignment_string given.
5198
5199 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
5200
5201         PR target/12538
5202         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
5203         (sparc_flat_must_save_register_p): New function to decide whether
5204         a register must be saved/restored in the function prologue/epilogue.
5205         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
5206
5207 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
5208
5209         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
5210         ISO C90 function declarations and definitions.
5211         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
5212
5213 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
5214
5215         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
5216         config files which do the same thing.
5217         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
5218         config/freebsd6.h: Remove now unnecessary files.
5219
5220 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
5221
5222         * c-common.c (c_common_truthvalue_conversion): Warn if the
5223         address of a non-weak function is used as a truth value.
5224
5225 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
5226
5227         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
5228         a literal.
5229         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
5230         instead of a literal.
5231
5232 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
5233
5234         * doc/extend.texi (Function Attributes): Mention the exceptional
5235         path for noreturn-marked functions.
5236
5237 2003-10-12  Jan Hubicka  <jh@suse.cz>
5238
5239         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
5240         warning.
5241
5242 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
5243
5244         * config/i386/i386.c (x86_this_parameter): Fix typo.
5245
5246 203-10-11  Jan Hubicka  <jh@suse.cz>
5247
5248         * Makefile.in (web.o): New.
5249         * web.c: New file.
5250         * rtl.h (web_main): Declare.
5251         * timervar.def (TV_WEB): New.
5252         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
5253         (rest_of_hanle_web): New.
5254         (flag_web): New static variable.
5255         (lang_independent_options): Add "web".
5256         (rest_of_compilation): Call rest_of_handle_web.
5257         * invoke.texi (-fweb): Document.
5258         * common.opt (fweb): New.
5259         * flags.h (flag_web): New.
5260         * opts.c (decode_options): Set flag_web at -O3.
5261
5262         * passes.texi (web construction):  Document.
5263         * invoke.texi (-O3): Document that -fweb is enabled.
5264
5265         * regrename.c (regrename_optimize): Deal better with situation when
5266         replacement failed.
5267
5268         * sched-ebb.c: Include params.h and profile.h
5269         (schedule_ebbs):  Use tracer parameters to discover superblocks
5270         * Makefile.in (sched-ebb.o):  Add dependencies.
5271
5272 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5273
5274         * fold-const.c (negate_mathfn_p): New function to determine whether
5275         a built-in mathematical function is sign preserving, f(-x) == -f(x).
5276         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
5277         (tree_swap_operands_p): Change API to take an additional argument
5278         indicating that the swapped operands evaluate in reverse order.
5279         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
5280         operand side-effects or we don't care about flag_evaluation_order.
5281         (reorder_operands_p): New function to check whether its safe to
5282         evaluate the given operands in reverse order.
5283         (negate_expr_p):  We can always negate integer constants unless
5284         we honor -ftrapv and the signed type would overflow.  Only allow
5285         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
5286         negation of COMPLEX_CST if both real and imaginary parts can be
5287         negated.  Allow negation through floating point extensions and
5288         sign-preserving built-in functions.
5289         (negate_expr):  Move the code to negate integers from "fold" to
5290         here.  Always negate integer constants unless we honor -ftrapv
5291         and the signed type would overflow.  Always negate real constants
5292         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
5293         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
5294         Optimize negation through floating point extensions and
5295         sign-preserving built-in functions (as defined by negate_mathfn_p).
5296         (fold): Adjust calls to tree_swap_operands_p.
5297         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
5298         to negate_expr_p/negate_expr.
5299         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
5300         allowed to convert (-A) - B into (-B) - A.
5301
5302 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5303
5304         * builtins.c (expand_builtin_strcmp): Defend against the possibility
5305         that gen_cmpstrsi may fail: Stabilize the argument list against
5306         re-evaluation and expand the library call directly using this saved
5307         argument list if a cmpstrsi sequence can't be generated.
5308         (expand_builtin_strncmp): Likewise.
5309
5310         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
5311
5312 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5313
5314         PR optimization/12260
5315         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
5316         operations through CONST nodes.  Optimize (neg (plus X C)) as
5317         (minus -C X) for constant values C.
5318         (simplify_binary_operation): Optimize (minus (neg X) C) as
5319         (minus -C X) for constant values C.
5320         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
5321         instead create (minus -C X).
5322
5323 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5324
5325         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
5326         safe_from_p for us, once it chooses an evaluation order.
5327         (expand_expr <MULT_EXPR>): Likewise.
5328         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
5329         places the second operand in "target", swap the operands.
5330         (do_store_flag): Let expand_operands call safe_from_p for us.
5331
5332 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
5333
5334         PR optimization/12544
5335         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
5336         for DECL_NONLOCAL decls.
5337
5338 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5339
5340         * expr.c: Follow spelling conventions.
5341         * final.c: Likewise.
5342         * optabs.c: Likewise.
5343         * sched-deps.c: Likewise.
5344         * sdbout.c: Likewise.
5345
5346 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
5347
5348         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
5349         re-computing of variable.
5350
5351 2003-10-11  Richard Henderson  <rth@redhat.com>
5352
5353         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
5354         return_in_memory, make static, change signature to match target hook.
5355         (alpha_setup_incoming_varargs): Make static, change signature to
5356         match target hook, add code for vms and unicos.
5357         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
5358         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
5359         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
5360         TARGET_STRICT_ARGUMENT_NAMING,
5361         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
5362         * config/alpha/alpha-protos.h: Update.
5363         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
5364         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
5365         SETUP_INCOMING_VARARGS): Remove.
5366         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
5367         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
5368
5369 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
5370
5371         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
5372
5373 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5374
5375         * config/m68k/lb1sf68.asm: Follow spelling conventions.
5376         * config/m68k/m68k.c: Likewise.
5377         * config/m68k/m68k.h: Likewise.
5378         * config/m68k/m68k.md: Likewise.
5379
5380 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5381
5382         * builtins.c (expand_builtin_memcpy): Optimize case when the two
5383         pointer arguments are the equal, non-volatile and side-effect free.
5384         (expand_builtin_mempcpy): Likewise.
5385         (expand_builtin_memmove): Likewise.
5386         (expand_builtin_strcpy): Likewise.
5387         (expand_builtin_memcmp): Likewise.
5388         (expand_builtin_strcmp): Likewise.
5389         (expand_builtin_strncmp): Likewise.
5390
5391 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5392
5393         * combine.c (apply_distributive_law): Enable "distributive" floating
5394         point optimizations with -funsafe-math-optimizations.
5395
5396 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
5397
5398         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
5399
5400 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5401
5402         * config/m68k/m68k-protos.h: Remove the prototype for
5403         finalize_pic.
5404
5405 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5406
5407         * config/m68k/m68k.c: Fix comment typos.
5408
5409 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5410
5411         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
5412         int to bool.
5413         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
5414         (current_frame): New global var.
5415         (m68k_compute_frame_layout): Cache computations in current_frame.
5416         (m68k_initial_elimination_offset): Use values from current_frame
5417         instead of recomputing them.
5418         (use_return_insn): Likewise.
5419         (m68k_output_function_prologue): Likewise.
5420         (m68k_output_function_epilogue): Likewise.
5421         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
5422         inside the block for __pic__.
5423
5424 2003-10-11  Peter Barada <peter@baradas.org>
5425             Bernardo Innocenti  <bernie@develer.com>
5426
5427         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
5428         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
5429         (m68k_interrupt_function_p): New function.
5430         (m68k_handle_fndecl_attribute): Ditto.
5431         (m68k_compute_frame_layout): Ditto.
5432         (m68k_attribute_table): Define back-end specific attributes.
5433         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
5434         functions.
5435
5436 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5437
5438         * config/m68k/t-uclinux: New target Makefile fragment.
5439         * config/m68k/uclinux.h: New target macro file.
5440         * config.gcc (m68k-*-uclinux): New target definition.
5441
5442 2003-10-10  Roger Sayle  <roger@eyesopen.com>
5443
5444         * builtins.c (builtin_mathfn_code): Generalize to check whether
5445         the call is to any built-in function by comparing the call's
5446         argument list against the builtin decl's function type.
5447
5448 2003-10-10  Roger Sayle  <roger@eyesopen.com>
5449
5450         * cse.c (constant_pool_entries_regcost): New global variable to
5451         hold the register cost component of constant_pool_entries_cost.
5452         (fold_rtx): Calculate constant_pool_entries_regcost at the same
5453         time as constant_pool_entries_cost.
5454         (cse_insn): Set both src_folded_cost and src_folded_regcost from
5455         constant_pool_entries_cost and constant_pool_entries_regcost.
5456         (cse_main): Initialize constant_pool_entries_regcost to zero.
5457
5458         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
5459         the semantics of the sequence of bit operations used to negate
5460         a floating-point value.
5461         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
5462         the semantics of the bit operations used to abs a floating point
5463         value.
5464
5465 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5466             Paul Dale  <pauli@snapgear.com>
5467
5468         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
5469         support.
5470         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
5471         -fpic, -fPIC, -msep-data and -mid-shared-library.
5472         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
5473         (override_options): Add -msep-data and -mshared-library-id support.
5474         (m68k_output_function_prologue): Generate code to load A5 for
5475         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
5476         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
5477         (m68k_output_pic_call): New function.
5478         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
5479         (TARGET_ID_SHARED_LIBRARY): Ditto.
5480         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
5481         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
5482         (call_value): Likewise.
5483
5484 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
5485
5486         * gengenrtl.c (find_formats, genheader): Make i an unsigned
5487         int, remove cast of NUM_RTX_CODE.
5488         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
5489         entire file.  Remove the #ifs on GET_MODE_MASK etc and
5490         GET_MODE_WIDER_MODE etc.
5491
5492 2003-10-10  Eric Christopher  <echristo@redhat.com>
5493
5494         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
5495         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
5496         that set mode.
5497         * config/sh/sh.h (MODE_ENTRY): New macro.
5498         (MODE_EXIT): Ditto.
5499         (MODE_AFTER): Ditto.
5500         * config/sh/sh.md: Change for MODE_AFTER. Add
5501         fp_set attribute.
5502         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
5503
5504 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
5505
5506         * genmodes.c, mode-classes.def: New files.
5507         * machmode.def: Rewritten to genmodes.c interface.
5508         * Makefile.in (extra_modes_file): New substitution variable.
5509         (MACHMODE_H): No longer includes machmode.def or
5510         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
5511         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
5512         (OBJS-common): Add insn-modes.o.
5513         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
5514         genmodes$(build_exeext).
5515         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
5516         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
5517         (s-genrtl): Don't depend on $(RTL_BASE_H).
5518         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
5519         or $(RTL_BASE_H); just rtl.def.
5520         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
5521         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
5522         substitute definition of NUM_RTX_CODE.  Add casts to avoid
5523         warnings.
5524         * machmode.h: Include insn-modes.h, not machmode.def.  Include
5525         mode-classes.def to define enum mode_class.  Tweak definitions
5526         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
5527         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
5528         (inner_mode_array): Renamed mode_inner.
5529         (mode_base_align): New.
5530         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
5531         mode_unit_size, mode_wider_mode, mode_mask_array,
5532         inner_mode_array, class_narrowest_mode): Delete definitions.
5533         * stor-layout.c (get_mode_alignment): Use mode_base_align.
5534         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
5535         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
5536
5537         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
5538         No need to define BITS_PER_UNIT.
5539
5540 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5541
5542         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
5543         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
5544         (ia64_initialize_trampoline): If not using GAS, declare trampoline
5545         as global.
5546         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
5547         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
5548
5549         * stor-layout.c (compute_record_mode): Don't force BLKmode if
5550         field is zero-length BLKmode.
5551         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
5552         zero-size references.
5553
5554         * combine.c (distribute_links): Properly test for REG being set.
5555
5556         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
5557         gen_lowpart and company except for REG.
5558
5559 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5560
5561         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
5562
5563 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
5564
5565         * config.gcc (mips*-*-netbsd*): Remove content-free line.
5566
5567 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5568
5569         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
5570         gcov_position_t and gcov_type.
5571
5572 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
5573
5574         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
5575         * configure: Regenerate.
5576
5577 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
5578
5579         * config/h8300/h8300.md (define_asm_attributes): Specify
5580         the length of an asm insn more precisely.
5581
5582 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5583
5584         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
5585
5586 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
5587
5588         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
5589         FP register number to 48 and MAC16 accumulator to 0x210.
5590
5591 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
5592
5593         * config.gcc: Remove redundant thread_file setting clauses for
5594         various *-*-linux* targets.
5595
5596 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
5597
5598         * config/h8300/h8300.md (define_asm_attributes): New.
5599
5600 2003-10-09  Roger Sayle  <roger@eyesopen.com>
5601
5602         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
5603         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
5604
5605 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
5606
5607         * haifa-sched.c (ok_for_early_schedule): New function.
5608         (early_queue_to_ready): New function.
5609         (schedule_block): Allow early removal of insns from Q.
5610         (schedule_insn): Update INSN_TICK in case of premature
5611         issue.
5612         * common.opt (sched_stalled_insns): New flag.
5613         (sched_stalled_insns_dep): New flag.
5614         * flags.h: Same above flags.
5615         * opts.c: Same as above.
5616         * toplev.c: Same as above.
5617         * target.h (targetm.sched.is_costly_dependence): New
5618         hook.
5619         * target-def.h: Same as above.
5620         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
5621         Support new flag -msched-costly-dep.
5622         (DEFAULT_SCHED_COSTLY_DEP): Define.
5623         * config/rs6000/rs6000.c:
5624         (rs6000_is_costly_dependence): New function.
5625         (is_load_insn, is_store_insn): New functions.
5626         (is_load_insn1, is_store_insn1, is_mem_ref): New
5627         functions.
5628         * doc/invoke.texi (-fsched-stalled-insns-dep)
5629         (-fsched-stalled-insns, -msched-costly-dep): Document
5630         options.
5631         * doc/tm.texi (is_costly_dependence): Define new
5632         scheduler target hook.
5633
5634 2003-10-09  Jason Merrill  <jason@redhat.com>
5635
5636         PR c++/6392
5637         * c-common.c (c_build_qualified_type): Look through arrays first.
5638         (c_apply_type_quals_to_decl): Look through arrays.
5639
5640         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
5641         types with constructors.
5642
5643         * coverage.c (build_ctr_info_value): Use build_decl to make a
5644         VAR_DECL.
5645         (create_coverage): Likewise.
5646
5647         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
5648         here.
5649         (expand_asm_operands): Not here.
5650         (parse_input_constraint): No longer static.
5651         * tree.h: Declare it.
5652
5653 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
5654
5655         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
5656         libgcc_s.so.
5657         (SHLIB_INSTALL): Likewise.
5658
5659 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5660
5661         * doc/install.texi: Remove reference to removed 'pthreads' thread
5662         option.
5663
5664 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
5665
5666         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
5667         operand 2.
5668
5669 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5670
5671         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
5672         up related case statements.
5673         * configure.in: Don't accept --enable-threads=pthreads,
5674         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
5675         supported thread files in case clause.
5676         * configure: Regenerate.
5677
5678 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
5679
5680         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
5681         definition to above SPARC_STACK_BOUNDARY_HACK.
5682
5683 2003-10-08  Jason Merrill  <jason@redhat.com>
5684
5685         * c-pretty-print.c (pp_c_postfix_expression)
5686         <COMPOUND_LITERAL_EXPR>: Fix thinko.
5687
5688 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5689
5690         * mklibgcc.in: Don't hide undefined or typeless symbols.
5691
5692 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5693
5694         PR optimization/12142
5695         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
5696         uses of the register in the SET_SRC.  Remove unnecessary argument.
5697         * pa.c (legitimize_pic_address): Before reload, use a scratch register
5698         for the intermediate result in loading the address of a SYMBOL_REF.
5699         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
5700         which loads the SYMBOL_REF address.
5701
5702 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
5703             Eric Botcazou  <ebotcazou@libertysurf.fr>
5704
5705         PR bootstrap/12490
5706         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
5707         to define the size of the extern_C_braces array.  Set it to 200.
5708         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
5709
5710 2003-10-08  Carlo Wood  <carlo@alinoe.com>
5711
5712         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
5713         a space after the -o option.  flex 2.5.31 understands both, with
5714         and without the space. Removed that space.
5715
5716 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
5717
5718         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
5719         (compute_frame_size): Initialize it.  Remove the .cprestore slot
5720         from args_size.
5721         (mips_output_function_prologue): Simplify accordingly.
5722         (mips_debugger_offset): Change the mips16 frame pointer offset from
5723         current_function_outgoing_args to cfun->machine->frame.args_size.
5724         (mips_initial_elimination_offset): Likewise.
5725         (mips_expand_prologue): Likewise.
5726         (mips_expand_epilogue): Likewise.
5727
5728 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
5729
5730         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
5731         (EXTRA_MEMORY_CONSTRAINT): Define.
5732         (CAN_ELIMINATE): Remove lwu workaround.
5733         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
5734         Use a 'W' constraint for the source operand.
5735
5736 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
5737
5738         * genopinit.c (main): Output code to declare undefined
5739         variables.
5740
5741 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
5742
5743         * gengtype-lex.l: Remove -Wtraditional cruft.
5744         * Makefile.in (gengtype-lex.c): Likewise.
5745
5746 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5747
5748         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
5749
5750 2003-10-07  Jason Merrill  <jason@redhat.com>
5751
5752         PR c++/12519
5753         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
5754         it isn't a decl.
5755
5756 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
5757
5758         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
5759         not overridden.
5760         Fixes PR bootstrap/12173.
5761
5762 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
5763
5764         * errors.c: Don't include coretypes.h or tm.h.
5765         (trim_filename): Use IS_DIR_SEPARATOR.
5766         * Makefile.in: Update dependencies of errors.o and
5767         $(BUILD_PREFIX_1)errors.o.
5768
5769 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
5770
5771         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
5772         account when aligning arguments.
5773         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
5774         * defaults.h (STACK_POINTER_OFFSET): ... to here.
5775         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
5776         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
5777         (SPARC_STACK_BOUNDARY_HACK): Define.
5778         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
5779         arrange for vector parameters to varargs functions to be passed
5780         in both memory and GPRs when appropriate.
5781         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
5782         aligned.
5783
5784         * hooks.c (hook_bool_tree_true): New.
5785         (hook_rtx_tree_int_null): New.
5786         (hook_rtx_rtx_null): Use NULL, not 0.
5787         * hooks.h: Add 'extern' to everything.
5788         (hook_bool_tree_true): New.
5789         (hook_rtx_tree_int_null): New.
5790         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
5791         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
5792         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
5793         prototype.
5794         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
5795         (setup_incoming_varargs): Prototype.
5796         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
5797         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
5798         (TARGET_STRUCT_VALUE_RTX): Define.
5799         (TARGET_RETURN_IN_MEMORY): Define.
5800         (TARGET_SETUP_INCOMING_VARARGS): Define.
5801         (TARGET_STRICT_ARGUMENT_NAMING): Define.
5802         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
5803         (init_cumulative_args): Use rs6000_return_in_memory.
5804         (setup_incoming_varargs): Make 'static'.
5805         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
5806         (PROMOTE_FUNCTION_RETURN): Delete.
5807         (STRUCT_VALUE): Delete.
5808         (RETURN_IN_MEMORY): Delete.
5809         (SETUP_INCOMING_VARARGS): Delete.
5810
5811 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
5812
5813         * doc/invoke.texi (Warning Options): Simplify and clarify the
5814         descriptions of -Wnonnull and -Winit-self.
5815
5816 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
5817
5818         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
5819         indicees for floating-point conversersion libcalls.
5820
5821 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
5822
5823         * Makefile.in: Add more comments separating large conceptually
5824         separate sections.
5825
5826         * configure.in: Clean up thread file logic.
5827         * configure: Regenerate.
5828
5829 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
5830
5831         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
5832         (switch_to_section): Handle in_readonly_data.
5833         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
5834         readonly data.
5835
5836 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
5837
5838         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
5839         it.
5840         (cbranchne_decr1): New Thumb pattern.
5841         * arm.c (arm_addimm_operand): New insn predicate.
5842         * arm-protos.h: Add a prototype for it.
5843         * arm.h (PREDICATE_CODES): Add it.
5844
5845 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
5846
5847         * sched-int.h (sched_info): New field
5848         sched_max_insns_priority.
5849         * sched-rgn.c (init_ready_list): Add invocations to
5850         targetm.sched.adjust_priority.
5851         (sched_max_insns_priority): Init new field.
5852         * sched-ebb.c (sched_max_insns_priority): Init new field.
5853         * haifa-sched.c (set_priorities): Set
5854         sched_info->sched_max_insns_priority.
5855         * config/rs6000/rs6000.h:
5856         (rs6000_sched_restricted_insns_priority_str): Support new
5857         flag -mprioritize-restricted-insns.
5858         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
5859         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
5860         function.
5861         (rs6000_adjust_priority): Change priority of restricted
5862         insns, using above new function and new flag.
5863         * doc/invoke.texi (-mprioritize-restricted-insns): Document
5864         new option.
5865
5866 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
5867
5868         * expr.c (cmpstr_optab, cmpmem_optab): New.
5869         * genopinit.c: Initialize them.
5870         * optabs.h: Declare them.
5871         * optabs.c (init_optabs): Clear them.
5872         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
5873         block memory compare insns, not conditional chains.  Restructure
5874         the fallback generation of a call to memcmp/bcmp for better
5875         readability.
5876
5877 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5878
5879         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
5880         (mips_save_restore_fn): New typedef.
5881         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
5882         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
5883         (save_restore_insns): Remove, replacing with...
5884         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
5885         (mips_save_reg, mips_restore_reg): New function.
5886         (mips_expand_prologue, mips_expand_epilogue): Rework.
5887         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
5888         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
5889         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
5890
5891 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5892
5893         * config/mips/mips.c (mips_expand_prologue): Remove unused
5894         traversal of function arguments.
5895
5896 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5897
5898         * doc/invoke.texi: Remove documentation of -mentry.
5899         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
5900         (override_options, mips_save_reg_p): Remove handling.
5901         (compute_frame_size, mips_output_function_prologue): Likewise.
5902         (mips_expand_prologue, mips_expand_epilogue): Likewise.
5903         * config/mips/mips.h (mips_entry_string): Remove declaration.
5904         (TARGET_OPTIONS): Remove -mentry.
5905         * config/mips/mips16.S: Remove mention of -mentry.
5906
5907 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
5908
5909         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
5910         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
5911         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
5912         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
5913         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
5914         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
5915         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
5916         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
5917         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
5918         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
5919         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
5920         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
5921         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
5922         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
5923         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
5924         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
5925         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
5926         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
5927         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
5928         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
5929         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
5930         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
5931         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
5932         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
5933         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
5934         (fixunstfti_libfunc): Delete.
5935         * optabs.h (struct optab_handlers): Break out of struct optab.
5936         (struct convert_optab, convert_optab, enum convert_optab_index,
5937         convert_optab_table, sext_optab, zext_optab, trunc_optab,
5938         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
5939         sfloat_optab, ufloat_optab): New.
5940         (set_conv_libfunc): Prototype.
5941         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
5942         (trunc_optab): Renamed btrunc_optab.
5943         * builtins.c (expand_builtin_mathfn): Update to match.
5944         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
5945         (convert_optab_table, new_convert_optab, init_convert_optab)
5946         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
5947         (set_conv_libfunc): New.
5948         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
5949         (expand_float, expand_fix): Use new conversion optabs,
5950         not old insn code tables or long chains of ifs.
5951         (init_optabs): No need to clear old insn code tables.
5952         Initialize the new optabs, not the old libfunc array entries.
5953         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5954         * genopinit.c: Initialize conversion optabs, not the
5955         former insn code tables.  Remove unnecessary casts.
5956         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5957         * expr.c (convert_move): Remove redundant check that
5958         to_real==from_real.  Use the conversion optabs instead
5959         of long chains of tests of modes.  Move partial-integer-mode
5960         interconversion above all integer conversion.  Do not recurse
5961         on a value forced into a register in the original mode.
5962
5963         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
5964         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
5965         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
5966         in new conversion optabs; do not reference the old libfunc
5967         array entries.  No need to include libfuncs.h.
5968
5969 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5970
5971         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
5972         point comparison sequence with a REG_EQUAL note that describes
5973         the comparison's semantics.
5974
5975 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5976
5977         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
5978         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
5979
5980 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5981             Zack Weinberg  <zack@codesourcery.com>
5982
5983         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
5984         instruction by using LCT_CONST and then calling emit_libcall_block
5985         ourselves.
5986
5987 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
5988
5989         PR optimization/11974
5990         * optabs.c (expand_unop): Promote libcall outmode according to
5991         hard_libcall_value.
5992
5993 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
5994
5995         * real.h (REAL_MODE_FORMAT): New macro.
5996         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
5997         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
5998         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
5999         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
6000         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
6001         directly to real_format_for_mode array, wherever possible.
6002
6003 2003-10-06  Devang Patel  <dpatel@apple.com>
6004
6005         * dwarf2out.c (is_main_source): Remove variable.
6006         (dwarf2out_start_source_file): Do not check is_main_source.
6007         Do not reset is_main_source.
6008         (dwarf2out_init): Do not initialize is_main_source.
6009
6010 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6011
6012         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
6013         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
6014         introduced some multi-line prototypes.
6015         * fixinc/fixincl.x: Regenerate.
6016
6017 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6018
6019         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
6020         * config/mips/mips.c (stack_operand): New predicate.
6021         * config/mips/mips.md: Use it for the destination of mips16 insns
6022         that store $31.
6023
6024 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6025
6026         * config/mips/mips.md (*lowsi): Renamed from lowsi.
6027         (*lowdi): Likewise lowdi.
6028         (*lowsi_mips16, *lowdi_mips16): New patterns.
6029         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
6030         mips16 CONSTANT_RELOC handling.
6031         (mips_delegitimize_address): Adjust for new sdata representation.
6032
6033 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6034
6035         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
6036         skip any remaining register arguments.
6037
6038 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
6039
6040         * reload.c (find_reloads_subreg_address): Use correct offset for
6041         paradoxical MEM subregs on big-endian targets.
6042
6043 2003-10-06  Andrew Haley  <aph@redhat.com>
6044
6045         * tree.c (get_callee_fndecl): Call
6046         lang_hooks.lang_get_callee_fndecl.
6047         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
6048         (lhd_get_callee_fndecl): New.
6049
6050 2003-10-06  Andrew Pinski  <apinski@apple.com>
6051
6052         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
6053         error in calculating the length of the string.
6054         (machopic_stub_name): Likewise.
6055
6056 2003-10-06  Roger Sayle  <roger@eyesopen.com>
6057
6058         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
6059         describing the return value of the comparison libcall to the
6060         REG_RETVAL instruction of the emitted sequence.
6061
6062 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
6063
6064         PR optimization/12215
6065         * cse.c (cse_set_around_loop): Emit the move at the beginning
6066         of the next basic block for trapping sets.
6067
6068 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
6069
6070         PR optimization/11637
6071         * combine.c (adjust_for_new_dest): New function to adjust the
6072         notes and LOG_LINKS when the dest of an insn has changed.
6073         (try_combine): Use it when deleting the first insn of a two-insn
6074         parallel or splitting a two-load parallel.
6075
6076 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6077
6078         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
6079         if TARGET_EXPLICIT_RELOCS.
6080
6081 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
6082
6083         PR bootstrap/12512
6084         * Makefile.in (info): Use double-colon rules.
6085         (dvi): Likewise.
6086         (generated-manpages): Likewise.
6087         * configure.in: Do not create lang.info, lang.dvi, or
6088         lang.generated-manpages hooks.
6089         * configure: Regenerated.
6090         * objc/Make-lang.in (objc.info): Remove.
6091         (objc.dvi): Remove.
6092         (objc.generated-manpages): Remove.
6093         * doc/sourcebuild.texi: Update description of info, dvi, and
6094         generated-manpages hooks.
6095
6096 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
6097
6098         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
6099
6100 2003-10-05  Andrew Pinski  <apinski@apple.com>
6101
6102         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
6103         errors in memcpy destinations.
6104         (machopic_stub_name): Likewise.
6105
6106 2003-10-05  Andrew Pinski <apinski@apple.com>
6107
6108         * config/darwin.c (machopic_non_lazy_ptr_name):
6109         Change strcat to memcpy and add length together.
6110         (machopic_stub_name): Likewise.
6111
6112 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
6113
6114         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
6115         signal trampoline codes.
6116
6117 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
6118
6119         * config/mips/mips.md (*divsf3): Move description of
6120         SB-1 F2 erratum from here to...
6121         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
6122         flag_unsafe_math_optimizations is not.
6123
6124 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
6125
6126         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
6127         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
6128
6129 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6130
6131         * c-pretty-print.c: Fix comment typos.
6132         * c-pretty-print.h: Likewise.
6133         * calls.c: Likewise.
6134         * cfgloopmanip.c: Likewise.
6135         * cgraphunit.c: Likewise.
6136         * cppfiles.c: Likewise.
6137         * final.c: Likewise.
6138         * function.c: Likewise.
6139         * gcov-io.h: Likewise.
6140         * gcse.c: Likewise.
6141         * genoutput.c: Likewise.
6142         * loop.c: Likewise.
6143         * postreload.c: Likewise.
6144         * reg-stack.c: Likewise.
6145         * regmove.c: Likewise.
6146         * sched-int.h: Likewise.
6147         * sched-rgn.c: Likewise.
6148         * simplify-rtx.c: Likewise.
6149         * tree-inline.c: Likewise.
6150         * config/m68hc11/m68hc11.h: Likewise.
6151         * config/mmix/mmix.c: Likewise.
6152         * config/mn10300/mn10300.md: Likewise.
6153         * config/sh/sh.h: Likewise.
6154
6155 2003-10-05  Richard Henderson  <rth@redhat.com>
6156
6157         * tree-inline.c (remap_type): New.
6158         (remap_decl): Use it.  Remap DECL_SIZE*.
6159         (copy_body_r): Use it.
6160         (walk_tree): Walk TREE_TYPE too.
6161         (copy_tree_r): Don't walk subtrees of types.
6162         * tree.c (variably_modified_type_p): Restructure.  Consider integer
6163         types with non-const bounds variably modified.
6164
6165 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6166
6167         * doc/invoke.texi: Fix typos.
6168
6169 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6170
6171         * fold-const.c: Follow spelling conventions.
6172         * function.c: Likewise.
6173         * config/c4x/c4x.h: Likewise.
6174         * config/c4x/c4x.md: Likewise.
6175         * config/frv/frv.md: Likewise.
6176         * config/rs6000/aix.h: Likewise.
6177         * config/rs6000/linux64.h: Likewise.
6178         * config/xtensa/xtensa.c: Likewise.
6179
6180 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6181
6182         * c-pretty-print.c: Fix comment formatting.
6183         * cfglayout.c: Likewise.
6184         * cfgloopanal.c: Likewise.
6185         * cppcharset.c: Likewise.
6186         * dbxout.c: Likewise.
6187         * ggc-page.c: Likewise.
6188         * ggc.h: Likewise.
6189         * target.h: Likewise.
6190
6191 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
6192
6193         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
6194
6195 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
6196
6197         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
6198         Convert to ISO C90 function declarations and definitions.
6199
6200 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
6201
6202         * libfuncs.h
6203         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
6204         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
6205         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
6206         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
6207         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
6208         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
6209         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
6210         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
6211         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
6212         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
6213         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
6214         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
6215         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
6216         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
6217         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
6218         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
6219         Delete.
6220         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
6221         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
6222         (le_optab, unord_optab): New.
6223
6224         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
6225         from the code_to_optab table, not a giant switch; use
6226         swap_condition; do widening only if a comparison function that
6227         we can call exists in a wider mode, not if a cmp_optab insn or
6228         libfunc exists in a wider mode; call protect_from_queue
6229         exactly once on each operand.
6230         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
6231
6232         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
6233         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
6234         Set floating point comparison libfuncs using set_optab_libfunc
6235         on the appropriate optab.
6236
6237         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
6238         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
6239         selector conditionals.
6240
6241 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
6242
6243         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
6244         identical to m68hc12 as far as libraries are concerned.
6245
6246 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
6247
6248         PR c/12446
6249         * c-typeck.c (convert_for_assignment): Issue an error for
6250         array to pointer assignment after default conversion.
6251         (digest_init): Likewise.
6252
6253 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
6254
6255         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
6256
6257 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
6258
6259         * doc/extend.texi (Function Attributes): Fix title of GNU C
6260         Preprocessor manual.
6261         (C++ Extensions): Fix reference to "Predefined Macros" in the
6262         GNU C Preprocessor manual.
6263
6264 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
6265
6266         * doc/extend.texi: Document how GCC estimates and relies on the size
6267         of an asm.
6268
6269 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
6270
6271         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
6272         arguments downward for big-endian o64.
6273
6274 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
6275
6276         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
6277         PCH generation, avoiding too-frequent flushes when writing to NFS
6278         file system.
6279
6280 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
6281
6282         * objc/objc-act.c (lookup_category): Mark as 'inline'.
6283
6284 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
6285             Ziemowit Laski  <zlaski@apple.com>
6286
6287         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
6288         New functions.
6289         (lookup_method_in_hash_lists): New parameter indicating whether
6290         we are messaging 'Class' or 'id'.
6291         (check_duplicates): Likewise; do not assume all methods will
6292         be either class or instance methods.
6293         (generate_category, finish_class): Use lookup_category().
6294         (add_method): Use add_method_to_hash_list(); insert instance
6295         methods of root classes into the global class method hash table.
6296         (add_category): Use lookup_category(); avoid constructing
6297         duplicate categories.
6298         (really_start_method): Add method to corresponding @interface,
6299         if not already there (and if the @interface exists).
6300         (finish_message_expr, finish_objc): Adjust calls to
6301         check_duplicates().
6302
6303 2003-10-03  Roger Sayle  <roger@eyesopen.com>
6304
6305         PR optimization/9325, PR java/6391
6306         * fold-const.c (fold_convert): For floating point to integer
6307         conversions, return the maximum/minimum representable integer
6308         value if the real constant overflows the destination type.
6309         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
6310         meaning don't truncate the result to a floating point mode.
6311         Simplify the logic by calling real_from_integer directly.
6312         * simplify-rtx.c (simplify_unary_operation):  Implement the
6313         same semantics for folding floating point to integer conversions
6314         in RTL.
6315
6316 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
6317
6318         * config/mips/mips.c (mips_emit_prefetch): Restructure
6319         to avoid use of arrays, handle indexed prefetch.
6320         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
6321         (ISA_HAS_PREFETCHX): New deffine.
6322         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
6323         update comments.
6324         (prefetch_indexed_di, prefetch_indexed_si): New insns.
6325
6326 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
6327             Roger Sayle  <roger@eyesopen.com>
6328
6329         PR optimization/12289
6330         * calls.c (emit_call_1): Pretend to have popped the arguments
6331         to noreturn and longjmp functions instead of ignoring them.
6332         (expand_call): Don't adjust stack_pointer_dela while
6333         inhibit_defer_pop is set.
6334
6335 2003-10-03  Andreas Schwab  <schwab@suse.de>
6336
6337         PR bootstrap/12276
6338         * configure.in: Check for libunwind on the host only if building
6339         a native compiler.
6340         * configure: Regenerated.
6341
6342 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
6343
6344         * unwind-pe.h (read_encoded_value_with_base): Constify u and
6345         its inizialization cast.
6346
6347 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
6348
6349         PR target/12485
6350         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
6351
6352 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
6353
6354         PR optimization/12180
6355         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
6356         functions containing calls to __builtin_next_arg.
6357
6358 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
6359
6360         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
6361         in instructions being output.
6362         * config/mips/mips.md (prefetch_si_address): Change third
6363         operand's constraint letter to 'I'.
6364         (prefetch_di_address): Likewise.
6365         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
6366
6367 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
6368
6369         * system.h: Poison macros obsoleted by earlier patch.
6370         * config/cris/cris.c: C90-ify a function definition.
6371
6372 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6373
6374         PR/12292
6375         * combine.c (make_field_assignment): Check whether rtx's code
6376         is CONST_INT before using INTVAL.
6377
6378 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6379
6380         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
6381         htab_find_slot_with_hash.
6382         (cgraph_node_for_identifier): Use NO_INSERT.
6383         (cgraph_remove_node): Use NO_INSERT.
6384         (cgraph_varpool_node): Use INSERT.
6385         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
6386
6387 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6388
6389         Waldek Hebisch <hebisch@math.uni.wroc.pl>
6390         PR/12072
6391         * varasm.c (compare_constant): Fix thinko.
6392
6393 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
6394
6395         * config/frv/frv.c (frv_issue_rate): New function.
6396         (frv_pack_insns): Use it.
6397         (TARGET_SCHED_ISSUE_RATE): Define.
6398
6399 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
6400
6401         * config/mcore/mcore.c: Convert to ISO C90 function declarations
6402         and definitions.
6403         * config/mcore/mcore.h: Likewise.
6404         * config/mcore/mcore-protos.h: Likewise.
6405
6406 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
6407
6408         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
6409         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
6410
6411 2003-10-01  Per Bothner  <pbothner@apple.com>
6412
6413         * c-lex.c (src_line):   Remove unneeded static variable.
6414         (cb_line_change):  Set input_line directly, instead of src_line.
6415         (get_non_padding_token):  We no longer need to compensate for the
6416         "horrible things" the C++ front-end does with the current line number,
6417
6418         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
6419         callback even when popping the main file.
6420         * c-lex.c (fe_file_change):  Handle a NULL new_map.
6421         * fix-header.c (cb_file_change):  Likewise.
6422         * c-ppoutput.c (pp_file_change):  Likewise.
6423
6424         * cppinit.c (cpp_read_main_file):  Split into two functions:
6425         Distribute _cpp_stack_file call over the two functions.
6426         (cpp_find_main_file):  New function.
6427         Don't call _cpp_do_file_change even if working_directory flag set.
6428         (cpp_push_main_file):  New function.
6429         * cppfiles.c (_cpp_find_failed):  New helper function.
6430         (find_file):  Made non-static and renamed to _cpp_find_file.
6431         (_cpp_stack_file):  No longer needed.  But note the following.
6432         (stack_file):  Made non-static and renamed to _cpp_stack_file.
6433         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
6434         call with calls to cpp_find_main_file and cpp_push_main_file.
6435         (search_path_head):  If there is no current buffer, use main_file.
6436         * cpphash.h:  Update function declarations.
6437         * cpplib.h:  Update function declarations.
6438
6439         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
6440         (c_common_parse_file):  No longer need to call cpp_read_main_file
6441         when file_index > 0 (as in multi-file or server compiation).
6442         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
6443         as this now happens before cpp_push_main_file.
6444         (push_command_line_include):  When done with options, pass LC_LEAVE
6445         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
6446         (fe_file_change):  Handle NULL new_map, and simplify.
6447         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
6448         08-28 change, since we're never called with a NULL buffer.
6449         (_cpp_lex_direct):  Likewise.
6450         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
6451         Return false if buffer is NULL at end.
6452
6453         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
6454         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
6455         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
6456         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
6457         remove the unused return_at_eof parameter.
6458         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
6459         Update callers of cpp_push_buffer.
6460
6461 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
6462
6463         * target.h (init_libfuncs): New hook.
6464         * target-def.h: Default TARGET_INIT_BUILTINS and
6465         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
6466         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
6467         * builtins.c (default_init_builtins): Delete.
6468         * expr.h (default_init_builtins): Delete prototype.
6469         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
6470         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
6471         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
6472         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
6473         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
6474         and UMODDI3_LIBCALL,
6475
6476         * Makefile.in (optabs.o): Depends on target.h.
6477         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
6478         * optabs.c: Include target.h.
6479         (prepare_float_lib_cmp): No need for #ifdef around use of
6480         FLOAT_LIB_COMPARE_RETURNS_BOOL.
6481         (set_optab_libfunc): New function.
6482         (init_optabs): Delete use of all *_LIBCALL defines.
6483         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
6484         * optabs.h: Prototype set_optab_libfunc.
6485
6486         * config.gcc: Remove all references to pa/long_double.h,
6487         ia64/hpux_longdouble.h, and gofast.h.
6488         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
6489         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
6490
6491         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
6492         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
6493         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
6494         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
6495         * config/sparc/sparc.c, config/vax/vax.c:
6496         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
6497         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
6498
6499         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
6500         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
6501         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
6502         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
6503         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
6504         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
6505         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
6506         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
6507         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
6508
6509         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
6510         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6511         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
6512         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6513         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
6514
6515         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
6516         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
6517         SUN_INTEGER_MULTIPLY_64 to 0.
6518         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
6519         SUN_INTEGER_MULTIPLY_64 to 1.
6520         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
6521         SUN_INTEGER_MULTIPLY_64 to 0.
6522         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
6523         Define US_SOFTWARE_GOFAST.
6524         * config/vax/vax.h: Default TARGET_ELF to 0.
6525         * config/vax/elf.h: Redefine TARGET_ELF to 1.
6526
6527         * config/gofast.h: Don't define any macros here.  Provide one
6528         static function, gofast_maybe_init_libfuncs, which does what
6529         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
6530         is already defined.  Do not clear negation libfuncs.  Do
6531         not mess with HFmode, XFmode, or TFmode libfuncs.
6532
6533         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
6534
6535 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
6536
6537         PR C/12466
6538         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
6539
6540 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6541
6542         * config/mips/xm-iris5.h: Remove, unnecessary.
6543         * config.build (mips-sgi-irix5*): Remove.
6544         (mips-sgi-irix6*o32): Likewise.
6545         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
6546         (mips-sgi-irix5cross64): Likewise.
6547         (mips-sgi-irix5*): Likewise.
6548         * config.host (mips-sgi-irix5*): Remove.
6549         (mips-sgi-irix6*o32): Likewise.
6550
6551 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
6552
6553         * dbxout.c (dbxout_fptype_value): Delete.
6554         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
6555
6556 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
6557
6558         * output.h (compute_reloc_for_constant): Declare.
6559         * varasm.c (compute_reloc_for_constant): Extract from...
6560         (output_addressed_constants): ... here.  Adjust all callers.
6561
6562 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6563
6564         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
6565         * configure: Rebuilt.
6566
6567 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6568
6569         * fold-const.c (make_range): When handling unsigned, don't reverse
6570         range if high bound is zero.
6571
6572 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
6573
6574         * config/frv/frv.h (PREDICATE_CODES): Added
6575         condexec_si_media_operator, condexec_sf_add_operator and
6576         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
6577         and condexec_sf_unary_operator.
6578
6579 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6580
6581         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
6582         * configure: Rebuilt.
6583
6584 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6585
6586         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
6587         Allow override.
6588         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
6589
6590 2003-09-23  David S. Miller  <davem@redhat.com>
6591
6592         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
6593         before redefining.
6594         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
6595
6596 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
6597
6598         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
6599         C90 function declarations and definitions.
6600
6601 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6602
6603         * config.gcc (cris-*-linux*): Revert mistaken commit.
6604
6605 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
6606
6607         PR optimization/11753
6608         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
6609         the length in the non-V9 case.
6610
6611 2003-09-30  Richard Henderson  <rth@redhat.com>
6612
6613         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
6614         DWARF_ALT_FRAME_RETURN_COLUMN.
6615         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
6616         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
6617         (uw_frame_state_for): Return end-of-stack for null return address.
6618         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
6619
6620         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
6621         (alpha_expand_prologue): Store a zero for it.
6622         (alpha_expand_epilogue): Don't reload it.
6623         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
6624         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
6625         for the sigframe return address.
6626
6627 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
6628
6629         * sdbout.c: Convert to ISO C90 prototypes.
6630         * objc/objc-act.c: Likewise.
6631
6632 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
6633
6634         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
6635         * config/i386/winnt.c: Likewise.
6636         * config/i386/cygming.h: Likewise.
6637
6638 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
6639
6640         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6641         (A ^ B) - B for any B.
6642
6643 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
6644
6645         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
6646         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
6647
6648 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
6649
6650         * arm/ieee754-sf.S: Tidy formatting.
6651
6652 2003-09-30  Nicolas Pitre  <nico@cam.org>
6653
6654         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
6655         and ARM_MOD_BODY.
6656         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
6657         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
6658         added better divisor alignment in the other case.
6659         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
6660         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
6661         macros above, add fast exits for divisor >= dividend, etc.
6662
6663 2003-09-30  Nicolas Pitre  <nico@cam.org>
6664
6665         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
6666         L_fixdfsi target.
6667         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
6668
6669 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
6670
6671         * config.gcc: Default use_fixproto to 'no'.
6672
6673 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
6674
6675         PR optimization/12345
6676         * config/mips/mips-protos.h (mips_restore_gp): Remove.
6677         (mips_gp_save_slot): Declare.
6678         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
6679         (mips_gp_save_slot): ...this new function.
6680         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
6681         and mips_output_move to generate the output template.
6682         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
6683         a gp load after a noreturn call.  Load the gp using a move rather
6684         than an exception_receiver pattern.
6685         (call_value_internal, call_value_multiple_internal): Likewise.
6686         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
6687
6688 2003-09-30  Carlo Wood  <carlo@alinoe.com>
6689
6690         PR debug/12319
6691         * cfglayout.c (insn_scope):  Use prologue_locator and
6692         epilogue_locator; return the outer function scope for
6693         pro- and epilogue insns.
6694
6695 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
6696
6697         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
6698         REAL_TYPEs based on the bitsize of the type's mode, not the
6699         mode directly.
6700
6701 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6702
6703         * dwarf2out.c (default_eh_frame_section): Split into ...
6704         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
6705         functions.
6706         * output.h (named_section_eh_frame_section): Declare.
6707         (collect2_eh_frame_section): Likewise.
6708
6709 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
6710
6711         * real.c (real_sqrt): Use get_canonical_qnan directly.
6712
6713         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
6714
6715         * varasm.c (assemble_real): Use real_to_target directly,
6716         calculate the number of significant elements of the result
6717         array and write them out in a loop, instead of using a giant
6718         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
6719         macro.
6720
6721 2003-09-29  Jan Hubicka  <jh@suse.cz>
6722
6723         PR c++/12175
6724         * varasm.c (notice_global_symbol): Discard external symbols.
6725
6726         PR optimization/12286
6727         * gcov-io.c (gcov_read_words): Fix memmove call.
6728         * profile.c (compute_branch_probabilities): Add extra sanity checks.
6729
6730 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6731
6732         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
6733         Solaris 7-9.
6734
6735         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
6736         wildcards which explicitly match micro versions.
6737         * fixinc/fixincl.x: Regenerate.
6738
6739 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6740
6741         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6742         (A ^ B) - B, where B is any power of 2 minus 1.
6743
6744 2003-09-29  Jan Hubicka  <jh@suse.cz>
6745
6746         * libgcov.c (gcov_exit): Fix two pastos.
6747
6748 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6749
6750         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
6751         define_split immediately below to form define_insn_and_split.
6752
6753 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6754
6755         * config/h8300/h8300.md (*tstsi_variable_bit): New.
6756         (*tstsi_variable_bit_qi): Likewise.
6757
6758 2003-09-28  Phil Edwards  <phil@codesourcery.com>
6759
6760         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
6761         reference name.
6762
6763 2003-09-28  Richard Henderson  <rth@redhat.com>
6764
6765         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
6766         file and line separately.
6767
6768 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
6769
6770         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
6771         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
6772         "*subdi3_borrow_cconly"): New insns.
6773         ("*addsi3_sub", "*subsi3_sub"): Remove.
6774         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
6775         ("*subsi3_cc"): Fix op_type attribute.
6776
6777 2003-09-28  Richard Henderson  <rth@redhat.com>
6778
6779         * stmt.c (expand_asm_operands): Take a location_t, instead of
6780         individual file and line.
6781         * c-typeck.c (c_expand_asm_operands): Likewise.
6782         * tree.h (expand_asm_operands): Update decl.
6783         * c-common.h (c_expand_asm_operands): Likewise.
6784         * c-semantics (genrtl_asm_stmt): Update call.
6785
6786 2003-09-28  Philip Blundell  <philb@gnu.org>
6787
6788         * config/arm/arm.c (legitimize_pic_address): Check
6789         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
6790         (arm_assemble_integer): Likewise.
6791
6792 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
6793
6794         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6795         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
6796         config/c4x/c4x.h:
6797         Convert to ISO C90 function declarations and definitions.
6798
6799 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
6800
6801         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
6802         Convert to ISO C90 function declarations and definitions.
6803
6804 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
6805
6806         * config/mips/mips.c (mips_constant_info): Add reloc field.
6807         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
6808         underlying symbol, not to an unspec.
6809         (mips_delegitimize_address, print_operand): Clean up accordingly.
6810
6811 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
6812
6813         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
6814         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
6815         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
6816         (mips_classify_constant): Use it.
6817         (mips_splittable_symbol_p): Add an offset argument.
6818         (mips_classify_address): Adjust call accordingly.
6819         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
6820         than a relocation unspec.  Update call to mips_splittable_symbol_p.
6821         Generalize the code that copes with symbols + invalid offsets.
6822         (print_operand): Allow '%R' to be applied to small data addresses.
6823         (mips_reloc_string): Remove RELOC_GPREL16.
6824         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
6825         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
6826         relocation operators.
6827         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
6828         constants accordingly.
6829
6830 2003-09-27  Roger Sayle  <roger@eyesopen.com>
6831
6832         * toplev.c (flag_evaluation_order): New global variable.
6833         * flags.h (flag_evaluation_order): Prototype here.
6834         * expr.c (expand_operands): If we need to preserve observable
6835         evaluation order, protect exp1 from clobbering exp0's result.
6836
6837 2003-09-28  Andreas Jaeger  <aj@suse.de>
6838
6839         * c-decl.c (finish_function): Convert definition to ISO C90.
6840         * ifcvt.c (mark_loop_exit_edges): Likewise.
6841         * ra-rewrite.c (emit_colors): Likewise.
6842
6843 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
6844
6845         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
6846         * config.gcc (arm*-*-uclinux*): Disable fixproto.
6847         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
6848         powerpc-*-eabialtivec*): Disable fixproto.
6849
6850 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
6851
6852         PR optimization/12340
6853         * loop.h (struct induction): Document the new semantics
6854         of the 'same' field for bivs.
6855         * unroll.c (biv_total_increment): Don't count the same
6856         biv increment several times.
6857         (loop_iterations) [GENERAL_INDUCT]: Likewise.
6858
6859 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
6860
6861         * unroll.c (loop_interations)[GT]: Add missing break.
6862
6863 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
6864
6865         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
6866         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
6867         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
6868         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
6869         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
6870         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
6871         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
6872         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
6873         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
6874         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
6875         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
6876         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
6877         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
6878         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
6879         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
6880         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
6881         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
6882         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
6883         config/alpha/xm-vms.h, config/arc/arc-modes.def,
6884         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
6885         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
6886         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
6887         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
6888         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
6889         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
6890         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
6891         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
6892         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6893         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
6894         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
6895         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
6896         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
6897         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
6898         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
6899         config/i960/i960-c.c, config/i960/i960-coff.h,
6900         config/i960/i960-modes.def, config/i960/i960-protos.h,
6901         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
6902         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
6903         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
6904         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
6905         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
6906         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
6907         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
6908         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
6909         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
6910         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
6911         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
6912         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
6913         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6914         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
6915         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
6916         config/mcore/mcore-protos.h, config/mcore/mcore.c,
6917         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
6918         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
6919         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
6920         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
6921         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
6922         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
6923         config/mips/vr.h, config/mn10300/linux.h,
6924         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
6925         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
6926         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
6927         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
6928         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
6929         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
6930         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6931         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
6932         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
6933         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
6934         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
6935         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
6936         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
6937         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
6938         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
6939         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
6940         fixinc/fixinc.svr4: GNU CC -> GCC.
6941
6942 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
6943
6944         * objc/objc-act.c (tm_p.h): Tweak order.
6945         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
6946
6947 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6948
6949         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
6950         Include t-slibgcc-elf-ver and t-linux in tmake_file.
6951         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
6952         Disable fixproto.
6953         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
6954         Disable fixproto.
6955         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
6956         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
6957
6958         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
6959
6960 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
6961
6962         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
6963         * objc/objc-act.c (tm_p.h): Include.
6964
6965 2003-09-26  Per Bothner  <pbothner@apple.com>
6966
6967         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
6968         No longer any need to reverse by recursion.
6969
6970 2003-09-26  Roger Sayle  <roger@eyesopen.com>
6971             Richard Henderson  <rth@redhat.com>
6972
6973         PR optimization/11741
6974         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
6975         appropriate set to match that in hash_scan_insn.  Fall back to
6976         the original copy method, if we can't validate changing insn.
6977         (pre_delete): Only delete instructions that have a single_set,
6978         instead of aborting when we encounter an PARALLEL insn with more
6979         then one SET.
6980
6981 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
6982
6983         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
6984         ("builtin_longjmp"): Insn deleted.
6985         ("save_stack_nonlocal"): Save literal pool base pointer behind
6986         backchain and stack pointer.
6987         ("restore_stack_nonlocal"): Restore literal pool base pointer.
6988         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
6989         the stack save area for the nonlocal goto case.
6990
6991 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6992
6993         PR bootstrap/12358
6994         * pa.c (output_bvb): Fix typo.
6995
6996 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
6997
6998         * expmed.c (store_bit_field): Don't search for an integer mode
6999         unless we need the result.
7000
7001 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
7002
7003         * expr.c (emit_move_insn_1): If there is no move pattern for the
7004         original mode, try using a pattern for the corresponding integer mode.
7005
7006 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
7007
7008         PR middle-end/9200
7009         * combine.c (if_then_else_cond): Tighten mode check.
7010
7011 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7012
7013         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
7014         'struct _cpp_strbuf'.
7015
7016         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
7017         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
7018         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
7019         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
7020         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
7021         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
7022         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
7023         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
7024         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
7025         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
7026         * config/i386/i386-aout.h, config/i386/i386-coff.h,
7027         config/i386/i386-interix.h, config/i386/i386-interix3.h,
7028         config/i386/i386-modes.def, config/i386/i386-protos.h,
7029         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
7030         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
7031         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
7032         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
7033         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
7034         "GNU compiler" -> GCC.
7035         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
7036         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
7037         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
7038         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
7039         config/i386/freebsd-aout.h, config/i386/freebsd.h,
7040         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
7041
7042 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
7043
7044         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
7045         "local" to the callgraph dump.  Output "after inlining" earlier.
7046         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
7047         callgraph dumps.  Correct misspellings.
7048         (cgraph_decide_inlining):  Output number of insns before inlining.
7049         Output the calling function into which a function is inlined.
7050         (cgraph_decide_small_functions): Format dump file like always_inline.
7051
7052 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
7053
7054         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
7055
7056 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
7057
7058         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
7059         FPR slots in the save area.
7060         (s390_emit_epilogue): Likewise.
7061
7062 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
7063
7064         * cgraph.h (cgraph_remove_edge): Declare.
7065         * cgraph.c (cgraph_remove_edge): Make extern.
7066         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
7067         instead of cgraph_remove_call.
7068
7069 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
7070
7071         * objc/objc-act.c (gen_declaration_1): Fix printf format.
7072
7073 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
7074
7075         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
7076         arm7tdmi core.
7077
7078 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
7079
7080         * config/darwin-protos.h (objc_image_info_section):
7081         New prototype.
7082
7083 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
7084
7085         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
7086
7087 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7088
7089         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
7090         tsc701 as a --with-cpu, --with-tune setting for sparc.
7091
7092 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
7093
7094         * c-parse.in (objc_try_stmt): Do not specify a %type.
7095
7096 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7097
7098         * config.gcc: New 'widely ported system' clause for rtems.
7099         Set thread file there, not in individual clauses.
7100
7101 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
7102
7103         PR target/6222
7104         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
7105         passed on the stack.
7106
7107 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7108
7109         * config.gcc (widely ported systems section): Mostly alphabetize
7110         by system.  Comment the case where we can't.
7111         * config.gcc (widely ported systems section): Reindent and clean up.
7112
7113         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
7114         Actually allow ep9312 as an arm --with-arch setting.
7115
7116         * config.gcc (*-hpux11): Disable fixproto.
7117
7118 2003-09-24  Phil Edwards  <phil@codesourcery.com>
7119
7120         PR pch/12112
7121         * gcc/cppfiles.c (pch_open_file): Return based on combined
7122         result of all files.
7123         (validate_pch): Return validate flag for current file.
7124
7125 2003-09-24  Roger Sayle  <roger@eyesopen.com>
7126
7127         PR bootstrap/12358
7128         * fold-const.c (tree_swap_operands_p): Only reorder operands when
7129         one of the operands is constant.
7130
7131 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
7132
7133         MERGE OF objc-improvements-branch into MAINLINE:
7134         * Makefile.in (C_OBJS): Add in stub-objc.o.
7135         (c-parse.y): Change sed demarcations to begin with '@@'.
7136         (stub-objc.o): New rule.
7137         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7138         flag_replace_objc_classes): New flags.
7139         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
7140         RID_AT_SYNCHRONIZED): New keywords.
7141         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7142         flag_replace_objc_classes): New flags.
7143         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
7144         objc_comptypes, objc_message_selector, lookup_objc_ivar,
7145         get_current_scope, objc_mark_locals_volatile): New prototypes,
7146         some moved from c-tree.h.
7147         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
7148         (finish_decl): Adjust where objc_check_decl() gets called.
7149         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
7150         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
7151         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
7152         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
7153         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
7154         '@@end_ifc', respectively.
7155         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
7156         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
7157         objc_finally_block): New rules.
7158         (component_decl_list2): Clean up semantic action for @defs construct.
7159         (component_decl, c99_block_start): Remove call to add_objc_decls().
7160         (poplevel): Add call to objc_clear_super_receiver().
7161         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
7162         constructs.
7163         (classdef, methodprotolist): Clean up/simplify.
7164         (methodprotolist2): Eliminate.
7165         (methodproto): Call add_method() instead of add_class_method() and
7166         add_instance_method().
7167         (receiver): Add TYPENAME production.
7168         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
7169         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
7170         AT_SYNCHRONIZED.
7171         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
7172         objc_comptypes, objc_message_selector)
7173         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
7174         struct and pointer types.
7175         (build_c_cast): Do not discard ObjC protocol qualifiers.
7176         (convert_for_assignment): Cache result of comp_target_types() instead
7177         of calling it more than once.
7178         * c.opt (fnext-runtime): Update description string.
7179         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
7180         New ObjC/ObjC++-specific flags.
7181         * function.h (GCC_FUNCTION_H): Header guard.
7182         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
7183         * stub-objc.c: New file, to be used to satisfy references to ObjC
7184         functions by the C and C++ front-ends.
7185         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
7186         * config/darwin.h (FUNCTION): Add in_objc_image_info.
7187         (SECTION_FUNCTION): Add objc_image_info_section.
7188         * doc/invoke.texi: Link to GCC web site for Objective-C information.
7189         (-fconstant-string-class): Update documentation.
7190         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
7191         -fzero-link): New documentation.
7192         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
7193         with '@@'.
7194         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
7195         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
7196         throughout; provide casts for return values from memory allocation
7197         functions (xmalloc, alloca, ggc_alloc, etc.).
7198         (OBJC_VOID_AT_END): New macro.
7199         (rtl.h): Do not #include any more.
7200         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
7201         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
7202         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
7203         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
7204         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
7205         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
7206         val_stack_pop): New.
7207         (objc_check_decl): Fix precondition for error message, along with
7208         the message itself.
7209         (lookup_and_install_protocols): Remove nonexistent protocols from
7210         protocol list instead of returning error_mark_node.
7211         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
7212         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
7213         (synth_module_prologue): General clean-up; construct NeXT-specific
7214         runtime API prototypes if needed.
7215         (build_string_class_template): Remove.
7216         (check_string_class_template, string_layout_checked): New.
7217         (build_objc_string_object): Generalize to work with
7218         -fconstant-string-class.
7219         (build_objc_symtab_template): Fix layout for the NeXT runtime.
7220         (build_metadata_decl): New.
7221         (forward_declare_categories): Call build_metadata_decl() instead of
7222         create_builtin_decl() et al.
7223         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
7224         void_list_node_1.
7225         (build_selector_reference_decl, build_class_reference_decl,
7226         build_objc_string_decl): Do not set TREE_READONLY.
7227         (get_proto_encoding): Do not call hack_method_prototype().
7228         (get_class_reference): Add failure mode for invalid class names;
7229         support -fzero-link; defer if in an ObjC++ template declaration.
7230         (objc_declare_alias, objc_declare_class): Fix up duplicate name
7231         lookup; check for global scope if in ObjC++.
7232         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
7233         RECORD_TYPE, IDENTIFIER_NODE, etc.)
7234         (objc_is_id): Removed.
7235         (objc_is_object_ptr): New function.
7236         (get_class_ivars_from_name): New function, used for @defs construct.
7237         (get_class_ivars): Add option to return raw ivars; create a
7238         ClASS_OWN_IVARS list for each class as needed.
7239         (objc_enter_block, objc_exit_block, objc_declare_variable,
7240         objc_build_throw_stmt, val_stack_push, val_stack_pop,
7241         objc_build_try_enter_fragment, objc_build_extract_expr,
7242         objc_build_try_exit_fragment, objc_build_extract_fragment,
7243         objc_build_try_prologue, objc_build_try_epilogue,
7244         objc_build_catch_stmt, objc_build_catch_epilogue,
7245         objc_build_finally_prologue, objc_build_finally_epilogue,
7246         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
7247         objc_build_synchronized_epilogue, build_objc_exception_stuff):
7248         New functions.
7249         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
7250         the future).
7251         (build_private_template): Fix up calls to get_class_ivars().
7252         (offset_is_register, forwarding_offset): Remove.
7253         (objc_method_parm_type, objc_encoded_type_size): New functions.
7254         (encode_method_prototype): Simplify to no longer depend on
7255         back-end information.
7256         (build_tmp_function_decl_xxx, build_tmp_function_decl,
7257         hack_method_prototype): Removed.
7258         (generate_protocol_references): Remove calls to
7259         build_tmp_function_decl().
7260         (generate_protocols): Adjust calls to encode_method_prototype().
7261         (build_class_template): Generate sel_id' and 'gc_object_type' fields
7262         for the NeXT runtime.
7263         (synth_forward_declarations): Call build_metadata_decl().
7264         (check_ivars): Check that the number of ivars matches also.
7265         (build_super_template): Modify super_type directly; disable debugging
7266         output while generating decl.
7267         (build_ivar_list_initializer): Skip list elements that are not
7268         FIELD_DECLs.
7269         (ivar_list_length): New function.
7270         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
7271         and encode_method_prototype() instead of encode_method_def().
7272         (build_shared_structure_initializer): Generate 'sel_id' field for
7273         the NeXT runtime.
7274         (generate_category): Do not set TREE_USED.
7275         (build_keyword_selector): Ditto; transform into a function argument
7276         chain.
7277         (get_arg_type_list): If there are no user-specified arguments, use
7278         '...'; use OBJC_VOID_AT_END.
7279         (check_duplicates): Add a parameter indicating whether methods or
7280         selectors are being checked.
7281         (receiver_is_class_object): Add parameters indicating whether
7282         receiver is 'self' or 'super'; robustify.
7283         (build_message_expr): Defer call to finish_message_expr() if
7284         inside an ObjC++ template.
7285         (lookup_method_in_hash_lists): New function.
7286         (finish_message_expr): Complete rewrite/fix.
7287         (build_objc_method_call): Ditto; factor out commonalities between
7288         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
7289         messenger variants on the NeXT.
7290         (lookup_instance_method_static, lookup_class_method_static):
7291         Fold into a single lookup_method_static() function with an
7292         additional parameter.
7293         (add_class_method, add_instance_method): Fold into a single
7294         add_method() function with an additional parameter.
7295         (add_category): Make duplicate categories a hard error in ObjC++.
7296         (add_instance_variable): Properly handle unnamed ivars, arrays of
7297         zero or no size and bitfields.  In ObjC++, check for nontrivial
7298         C++ class instances.
7299         (is_public): Allow C functions to access non-@public ivars, with
7300         a warning.
7301         (start_class): Move common initializations to
7302         synth_module_prologue(); check for global scope if in ObjC++.
7303         (continue_class): Fix calls to finish_struct().
7304         (objc_declare_protocols, start_protocol): Check for global scope
7305         if in ObjC++.
7306         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
7307         (encode_aggregate_within): Rewrite to properly distinguish
7308         struct tags from typedefs in both ObjC and ObjC++.
7309         (encode_bitfield, encode_complete_bitfield): Remove.
7310         (encode_next_bitfield, encode_gnu_bitfield): New functions.
7311         (encode_field_decl): Call encode_next_bitfield() or
7312         encode_gnu_bitfield() as needed.
7313         (synth_self_and_ucmd_args): New function.
7314         (start_method_def): Use it.
7315         (objc_types_are_equivalent): New function.
7316         (comp_proto_with_proto): Use it instead of comptypes(), since
7317         we need symmetry.
7318         (really_start_method): Use lookup_method_static() instead of
7319         lookup_class_method_static() and lookup_instance_method_static();
7320         Emit 'extern "C"' if in ObjC++ mode.
7321         (add_objc_decls): Removed.
7322         (UOBJC_SUPER_scope): New variable.
7323         (get_super_receiver): Move construction of 'super' from
7324         add_objc_decls(); remove dependency on struct objc_class.
7325         (encode_method_def): Removed; encode_method_prototype() is
7326         used instead.
7327         (objc_clear_super_receiver): New function.
7328         (objc_expand_function_end): Do not do anything for ordinary
7329         C functions.
7330         (finish_method_def): Mark ObjC methods as un-inlinable.
7331         (gen_declaration_1): Emit widths of bitfields.
7332         (finish_objc): Call generate_objc_image_info() if needed;
7333         use check_duplicates() when checking for selector duplicates.
7334         (generate_objc_image_info): New function.
7335         * objc/objc-act.h (add_instance_method, add_class_method,
7336         get_class_ivars): Remove prototypes.
7337         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
7338         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
7339         objc_build_catch_stmt, objc_build_catch_epilogue,
7340         objc_build_finally_prologue, objc_build_finally_epilogue,
7341         add_method, get_class_ivars_from_name): New prototypes.
7342         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
7343         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
7344         TRANSLATION_UNIT_DECLs.
7345         (OBJC_TYPE_NAME): New.
7346         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
7347         got included.
7348         (IS_SUPER): Robustify.
7349         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
7350         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
7351         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
7352         objc_exception_match_decl, objc_exception_throw_decl,
7353         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
7354         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
7355         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
7356         objc_catch_type): New ObjC/ObjC++ roots.
7357         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
7358         ObjC/ObjC++ tree node codes.
7359
7360 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
7361
7362         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
7363         code path that calls a handler.
7364
7365 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
7366
7367         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
7368         Disable fixproto.
7369
7370         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
7371         the section giving $with_cpu defaults by target.
7372
7373         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
7374         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
7375         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
7376         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
7377         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
7378         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
7379
7380 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
7381
7382         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
7383         together.  Protect load string instruction with TARGET_STRING.
7384         (movti_string): Collapse case 1 and 2 together.
7385
7386 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
7387
7388         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
7389
7390 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
7391
7392         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
7393         do...while(0)
7394
7395 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7396
7397         * config.gcc: Move use_fixproto=no from generic vxworks clause to
7398         specific one.
7399
7400         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
7401         (accidentally missed in last pass).
7402
7403 2003-09-23  Andrew Pinski  <apinski@apple.com>
7404
7405         PR bootstrap/12383
7406         * configure: Regenerate.
7407
7408 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7409
7410         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
7411         missed in last pass).
7412
7413 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
7414
7415         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
7416         constant.
7417
7418 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7419
7420         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
7421
7422         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
7423         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
7424         powerpcle-*-eabi*): Disable fixproto.
7425
7426         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
7427         specific FreeBSD clauses.
7428         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
7429         specific NetBSD clauses.
7430         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
7431         to specific OpenBSD clauses.
7432
7433 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7434
7435         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
7436         without adding a frame note.
7437         * pa.md (allocate_stack): Save pic register in new frame marker when
7438         generating pic code.
7439
7440 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
7441
7442         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
7443         cgraph_expand_functions.
7444
7445 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7446
7447         * Makefile.in (gnucompare*): Merge into ...
7448         (slowcompare*): ... here.
7449         (fastcompare*): New targets.
7450         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
7451         other "fast" cmp programs.
7452         * configure: Regenerate.
7453
7454 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7455
7456         * targhooks.c: Include output.h.
7457         * Makefile.in (targhooks.o): Add output.h to dependency list.
7458
7459 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7460
7461         * config.host: Removed superfluous newline.
7462
7463 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7464
7465         * config.gcc: Use ${target}, not $machine.
7466         * configure.in: Don't set $machine.
7467         * configure: Regenerate.
7468
7469 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
7470
7471         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
7472
7473         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
7474         pass zero-size arrays by reference.
7475         (rs6000_va_arg): Likewise.
7476
7477 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7478
7479         * config.gcc: Set use_fixproto=no in each specific *-gnu*
7480         configuration, rather than the generic one.
7481
7482 2003-09-23  Richard Henderson  <rth@redhat.com>
7483
7484         * tree-inline.c (remap_save_expr): Map new save_expr to identity
7485         rather than to error_mark_node.
7486
7487 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7488
7489         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
7490         Update description.
7491         * configure: Regenerate.
7492         * config.in: Likewise.
7493         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
7494         HAVE_GAS_SHF_MERGE value.
7495         * varasm.c (mergeable_string_section): Likewise.
7496         (mergeable_constant_section): Likewise.
7497
7498 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7499
7500         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
7501         value.
7502
7503 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7504
7505         * target.h (struct gcc_target): New member external_libcall.
7506         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
7507         (TARGET_ASM_OUT): Use it.
7508         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
7509         * targhooks.c: Convert to ISO C 90.
7510         (default_external_libcall): New function.
7511         * targhooks.h (default_external_libcall): Declare.
7512         * varasm.c (assemble_external_libcall): Use
7513         targetm.asm_out.external_libcall instead of
7514         ASM_OUTPUT_EXTERNAL_LIBCALL.
7515         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
7516         (mips_output_external_libcall): Declare.
7517         * config/mips/mips.c (mips_output_external_libcall): Change
7518         definition guard.
7519         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
7520         Only operate for O32 ABI.
7521         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
7522         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
7523         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
7524         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
7525
7526 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
7527
7528         * config.gcc: Do per-target disabling of fixproto here in clauses,
7529         not in t- fragments.
7530         * configure.in: Adjust to set STMP_FIXPROTO correctly.
7531         * configure: Regenerate.
7532         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
7533         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
7534         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
7535         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
7536         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
7537         t-interix, t-linux-aout:  Delete files consisting only of
7538         setting of STMP_FIXPROTO.
7539
7540         * config.host: Allow unknown hosts (not targets).  Allow
7541         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
7542         empty clauses.  Remove useless obsolete-configuration clause.
7543         Prune unsupported configuration list.  Collapse identical
7544         clauses for closely related systems.  Rewrite comment for
7545         unsupported hosts list.  Reorganize a little.
7546
7547 2003-09-22  Richard Henderson  <rth@redhat.com>
7548
7549         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
7550         not precision.
7551
7552 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
7553             Hartmut Penner  <hpenner@de.ibm.com>
7554             Segher Boessenkool  <boessen@de.ibm.com>
7555
7556         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
7557         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
7558         (rs6000_split_altivec_in_gprs): Rename to ...
7559         (rs6000_split_multireg_move): Add support for update addressing.
7560         * config/rs6000/rs6000-protos.h: Same.
7561         * config/rs6000/altivec.md: Same.
7562         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
7563         multiple GPRs.
7564         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
7565         (movti_power): Use new splitter for multiple GPRs.
7566         (movti_string): Same.
7567         (movti_ppc64): Same.
7568
7569 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
7570
7571         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
7572         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
7573
7574 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
7575
7576         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
7577         (andsi3): Set attr cc to set_zn when using shifts or adds.
7578
7579 2003-09-22  Bernardo Innocenti <bernie@develer.com>
7580
7581         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
7582
7583 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
7584
7585         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
7586         Resurrect -mrtd option.
7587
7588 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
7589
7590         PR target/12281
7591         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
7592         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
7593
7594 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
7595
7596         PR target/9786
7597         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
7598         after potential deletion of trapping insn. Avoids later ICE
7599         from call to fixup_abnormal_edges.
7600         (convert_regs_2): Stack the current block successors before
7601         processing this block, that is, before the potential deletion of
7602         dead edges by convert_regs_1, because these edges have been used
7603         to initialize the predecessors count.
7604
7605 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
7606
7607         * real.c: Fix several nits in the head comment.
7608
7609 2003-09-21  Richard Henderson  <rth@redhat.com>
7610
7611         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7612         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7613         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7614         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7615         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
7616
7617 2003-09-21  Richard Henderson  <rth@redhat.com>
7618
7619         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
7620         (TREE_FILENAME, TREE_LINENO): Likewise.
7621         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
7622         (TREE_LOCUS_SET_P): New.
7623         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7624         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7625         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7626         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7627         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
7628
7629 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
7630
7631         * config/vax/vax-protos.h: Convert to ISO C90.
7632         * config/vax/vax.c: Convert to ISO C90.
7633
7634 2003-09-21  Graham Stott  <grahams@btinternet.com>
7635
7636        PR target/12353
7637        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
7638
7639 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
7640
7641         PR target/12301
7642         * reorg.c (stop_search_p): Return 1 for insns that can
7643         throw internally.
7644
7645 2003-09-20  Richard Henderson  <rth@redhat.com>
7646
7647         * c-format.c (gcc_diag_char_table): Add %J.
7648         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
7649         (check_format_types): Fix wanted_type name lookup.
7650         (init_dynamic_diag_info): Setup %J.
7651         * diagnostic.c (text_specifies_location): Implement %J.
7652         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
7653         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
7654         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
7655         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
7656         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
7657
7658         * tree-inline.c: Include intl.h
7659         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
7660         * Makefile.in (tree-inline.o): Update.
7661
7662 2003-09-20  Roger Sayle  <roger@eyesopen.com>
7663
7664         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
7665         transformation of a>=0 into (unsigned)a<0x80000000.
7666
7667 2003-09-20  Andrew Pinski <apinski@apple.com>
7668
7669         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
7670
7671 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
7672
7673         * Makefile.in: Don't set (unused) DLLTOOL.
7674
7675         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
7676         Remove obsolete references to ENQUIRE.
7677
7678 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
7679
7680         * configure.in: Remove --with-elf, which doesn't work.
7681         * configure: Regenerate.
7682         * config.gcc: Remove references to $elf, which does nothing.
7683
7684         * config/i386/xm-vsta.h: Remove xm-file believed useless.
7685         * config.build (i386-vsta): Remove reference to it.
7686         * config.host (i386-vsta): Remove reference to it.
7687
7688 2003-09-19  Phil Edwards  <phil@codesourcery.com>
7689
7690         * doc/install.texi:  Document the multiple testsuite options.
7691
7692 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
7693
7694         * doc/install.texi (Specific): Add the specific versions of GCC
7695         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
7696         version 3 and older was discontinued.
7697
7698 2003-09-19      Joel Sherrill <joel@oarcorp.com>
7699
7700         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
7701         68881.
7702
7703 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
7704
7705         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
7706         for -m68030, -m68020-60 and -m68020-40.
7707         * config/m68k/m68k.h (TARGET_68030): New target flag.
7708         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
7709         TARGET_REGPARM): Remove.
7710         * config/m68k/m68k.h: Regroup and renumber target flags.
7711         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
7712         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
7713         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
7714         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
7715         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
7716
7717 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7718
7719         * config/m68k/t-rtems (m68k-*-rtems*): New.
7720         * config.gcc: Use config/m68k/t-rtems.
7721
7722 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7723
7724         * config/mips/t-rtems: New.
7725         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
7726
7727 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
7728
7729         * cgraph.c: Fix typo in debugging output.
7730
7731 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7732             Eric Botcazou <ebotcazou@libertysurf.fr>
7733
7734         PR target/12166
7735         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
7736
7737 2003-09-18  Mike Stump  <mrs@apple.com>
7738
7739         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
7740         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
7741         cb_ident, cb_def_pragma):  Use fileline typedef.
7742         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
7743
7744 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
7745
7746         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
7747         total parm size if a parm has incomplete type.
7748         (gen_fastcall_suffix): Likewise.
7749
7750 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7751
7752         * except.c (output_function_exception_table): Adjust last change
7753         to handle TYPE of INTEGER_CST.
7754
7755 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
7756
7757         PR target/11184
7758         * builtins.c (expand_builtin_apply): Use convert_memory_address
7759         before returning the value.
7760
7761         * alias.c (find_base_value): Simplify use of
7762         convert_memory_address.
7763         (find_base_term): Likewise.
7764         * builtins.c (expand_builtin_stejmp_setup): Likewise.
7765         (expand_builtin_longjmp): Likewise.
7766         (expand_builtin_prefetch): Likewise.
7767         (get_memory_rtx): Likewise.
7768         (expand_builtin_return): Likewise.
7769         (expand_builtin_memcpy): Likewise.
7770         (expand_builtin_strncpy): Likewise.
7771         (expand_builtin_memset): Likewise.
7772         (expand_builtin_va_arg): Likewise.
7773         (expand_builtin_va_copy): Likewise.
7774         (expand_builtin_alloca): Likewise.
7775         * calls.c (expand_call): Likewise.
7776         * except.c (expand_builtin_extract_return_addr): Likewise.
7777         (expand_builtin_eh_return): Likewise.
7778         * explow.c (convert_memory_address): Define even when
7779         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
7780         is already in the right mode.
7781         * explow.c (memory_address): Simplify use of convert_memory_address.
7782         (probe_stack_range): Likewise.
7783         * expmed.c (make_tree): Likewise.
7784         * expr.c (emit_block_move_in_libcall): Likewise.
7785         (expand_assignment): Likewise.
7786         (expand_expr): Likewise.
7787         * function.c (assign_parms): Likewise.
7788         (expand_function_end): Likewise.
7789         * integrate.c (copy_rtx_and_substitute): Likewise.
7790         * stmt.c (expand_computed_goto): Likewise.
7791
7792 2003-09-18  Roger Sayle  <roger@eyesopen.com>
7793
7794         * simplify-rtx.c (simplify_unary_operation): Only transform
7795         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
7796         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
7797
7798 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7799
7800         PR target/11674
7801         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
7802
7803 2003-09-18  Roger Sayle  <roger@eyesopen.com>
7804
7805         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
7806         PARITY_EXPR): Delete unused tree codes.
7807         * c-common.c (c_common_truthvalue_conversion): Delete references
7808         to FFS_EXPR and POPCOUNT_EXPR.
7809         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
7810         (pp_c_expression): Likewise.
7811         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
7812         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
7813         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
7814         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
7815         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
7816         and long long variants.
7817
7818 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7819
7820         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
7821         * c-pretty-print.c: Fix formatting.
7822         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
7823         (pp_c_type_specifier): Tidy.
7824         (pp_c_compound_literal): New function.
7825         (pp_c_initializer): Simplify..
7826         (pp_c_initializer_list): Likewise.
7827         (pp_c_brace_enclosed_initializer_list): New function.
7828         (pp_c_postfix_expression): Simplify.
7829
7830 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
7831
7832         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
7833         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
7834
7835 2003-09-17  Richard Henderson  <rth@redhat.com>
7836
7837         * tree-optimize.c (tree_rest_of_compilation): Save and restore
7838         input_location.
7839
7840 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7841
7842         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
7843
7844 2003-09-17  Richard Henderson  <rth@redhat.com>
7845
7846         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
7847
7848 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7849
7850         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
7851         * configure: Regenerate.
7852
7853 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
7854
7855         PR debug/12066
7856         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
7857         * langhooks-def.h (lhd_return_null_tree_v): New function.
7858         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
7859         (LANG_HOOKS_DECLS): Add it to the intializer.
7860         * langhooks.c (lhd_return_null_tree_v): New function.
7861         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
7862
7863 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7864
7865         * configure.in: Quote gcc_config_arguments for configargs.h.
7866         * configure: Regenerated.
7867         * gccbug.in: Don't shell-expand gcc_config_arguments.
7868
7869 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7870
7871         PR c++/11357
7872         * c-pretty-print.c (pp_c_floating_constant): Append
7873         type-annotation to floating constants.
7874
7875 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7876
7877         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
7878         Define _ABIO32.
7879         Use it for _MIPS_SIM.
7880         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
7881
7882         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
7883         Moved ...
7884         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
7885         updating comment.
7886         Fixes PR target/10190.
7887
7888 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7889
7890         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
7891         to shared libraries.
7892
7893 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
7894
7895         PR optimization/11646
7896         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
7897         EDGE_ABNORMAL flag for EH edges.
7898         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
7899         if dead edges were purged.
7900
7901 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
7902
7903         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
7904         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
7905         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
7906         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
7907
7908 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
7909
7910         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
7911         returned by tablejump_p.
7912
7913 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
7914
7915         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
7916
7917 2003-09-16  Roger Sayle  <roger@eyesopen.com>
7918
7919         PR bootstrap/12269
7920         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
7921         argument to be VOIDmode, taking the mode of the comparison from
7922         the operands.  Only call simplify_relational_operation if we
7923         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
7924         if comparison has a floating point result.  Ensure that the
7925         result is always of the specified mode.
7926         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
7927         (simplify_unary_operation): Ensure the correct mode and cmp_mode
7928         are always passed to simplify_gen_relational.  Simplify NOT of
7929         comparison operator in any mode, not just BImode.
7930         (simplify_ternary_operation): Correct tests on the return value
7931         of simplify_relational_operation to use const_true_rtx, not
7932         const1_rtx.  Abort if it ever returns a non-constant result.
7933
7934         * cfgloopanal.c (count_strange_loop_iterations): Use the function
7935         simplify_relational_operation, not simplify_gen_relational, if
7936         we're only interested in constant comparisons and will ignore
7937         non-constant results.
7938
7939 2003-09-16  Roger Sayle  <roger@eyesopen.com>
7940
7941         * fold-const.c (tree_swap_operands_p): New function to determine
7942         the prefered ordering of operands.
7943         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
7944         operands to commutative, comparison or ternary operators.  Replace
7945         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
7946         transformation of A ? B : C into !A ? C : B.
7947
7948 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
7949
7950         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7951         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7952         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7953         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7954         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7955         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7956         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7957         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7958
7959 2003-09-16  Jason Merrill  <jason@redhat.com>
7960             Jakub Jelinek  <jakub@redhat.com>
7961
7962         * c-common.c (handle_warn_unused_result_attribute): New function.
7963         (c_common_attribute_table): Add warn_unused_result.
7964         (c_expand_expr): Issue warning when result of inlined function
7965         with warn_unused_result attribute is ignored.
7966         * calls.c (expand_call): Issue warning when result of function
7967         with warn_unused_result attribute is ignored.
7968         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
7969         * expr.c (expr_wfl_stack): Define.
7970         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
7971         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
7972         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
7973         bit if inlined function has warn_unused_result attribute.
7974         * input.h (expr_wfl_stack): Declare.
7975         * doc/extend.texi: Document warn_unused_result attribute.
7976
7977 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
7978
7979         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
7980
7981 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
7982
7983         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
7984         ATTRIBUTE_UNUSED.
7985         (call_insn_operand): For PIC, don't allow a direct call to a
7986         function in a different section than the current one.
7987
7988 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7989
7990         * doc/invoke.texi (Warning Options): Add missing hyphen before
7991         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
7992         Move "-Wold-style-definition" to the C-only section.
7993         Fix the ordering of the warning options.
7994
7995 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7996             Jeff Law  <law@redhat.com>
7997
7998         * gcse.c (remove_reachable_equiv_notes): New.
7999         replace_store_insn): Call it.  Update antic list.
8000         (store_killed_in_insn): Take REG_EQUAL notes into account.
8001         (build_store_vectors, delete_store): Add parameter to
8002         replace_store_insn call.
8003
8004 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
8005
8006         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
8007         SYMBOL_REF_LOCAL_P.
8008
8009 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
8010
8011         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
8012         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
8013         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
8014         Likewise.
8015         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
8016         Likewise.
8017         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
8018         * config/sparc/sparc.c (function_arg_padding): Likewise.
8019
8020 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
8021
8022         * haifa-sched.c (schedule_block): Use ready_remove_first instead
8023         of choose_ready for non-dfa insn scheduling.
8024
8025 2003-09-15  Andreas Jaeger  <aj@suse.de>
8026             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8027
8028         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
8029         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
8030         * c-parse.in: Warn about old-style parameter definition.
8031         * c-common.c: Define warn_old_style_defintion.
8032         * c-common.h: Declare it.
8033         * c.opt: Add Wold-style-defintion.
8034
8035 2003-09-15  Andreas Jaeger  <aj@suse.de>
8036
8037         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
8038         * config/rs6000/rs6000.c: Likewise.
8039
8040 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8041
8042         PR optimization/10914
8043         * expr.h (get_condition, canonicalize_condition): Declaration changed.
8044         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
8045         and canonicalize_condition calls.
8046         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
8047         delete_null_pointer_checks): Ditto.
8048         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
8049         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
8050         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
8051         (canonicalize_condition, get_condition): Allow to return comparisons
8052         of cc mode registers.
8053         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
8054         cc mode registers comparison in condition.
8055
8056 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
8057
8058         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
8059         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
8060         function.
8061         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
8062
8063 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
8064
8065         * combine.c (simplify_comparison): Convert
8066         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
8067         (eq (and (lshiftrt X Y) 1) 0).
8068
8069 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
8070
8071         * alias.c: Follow spelling conventions.
8072         * cpphash.h: Likewise.
8073         * fold-const.c: Likewise.
8074
8075 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
8076
8077         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
8078         * c-lex.c (cb_line_change): Skip line changing whenever
8079         c-ppoutput.c would.
8080
8081 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
8082
8083         * ra.c: Convert to ISO C90 prototypes.
8084         * ra-build.c: Likewise.
8085         * ra-colorize.c: Likewise.
8086         * ra-debug.c: Likewise.
8087         * ra-rewrite.c: Likewise.
8088
8089 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
8090
8091         * Makefile.in (%.dvi): Remove excess $(docdir).
8092
8093 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
8094
8095         * function.c (STACK_BYTES): Move definition to head of file.
8096         (assign_parms): Don't pass current_function_pretend_args_size
8097         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
8098         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
8099         excess before laying out the argument.
8100
8101 2003-09-14  Andreas Jaeger  <aj@suse.de>
8102
8103         * objc/objc-act.c: Convert to ISO C90 prototypes.
8104         * objc/objc-act.h: Likewise.
8105
8106 2003-09-14  Olaf Hering  <olh@suse.de>
8107
8108         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
8109
8110 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
8111
8112         PR target/12021
8113         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
8114         as they already are done in config/m68k/m68k.h.
8115         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
8116
8117         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
8118         (machopic_output_stub): Only generate pic base symbols when using pic
8119         and generate them in the form L00000000$spb.
8120
8121 2003-09-13  Richard Henderson  <rth@redhat.com>
8122
8123         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
8124         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
8125         * cgraph.h: Update.
8126
8127 2003-09-12  Dale Johannesen  <dalej@apple.com>
8128
8129         * config/rs6000/rs6000.c: Fix typos in previous.
8130
8131 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
8132
8133         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
8134         when allocating pp->buffer.
8135
8136 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
8137
8138         * config/darwin.c (machopic_select_rtx_section): Use
8139         const_data_section for things that might require relocation.
8140
8141 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
8142
8143         PR bootstrap/12264
8144         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
8145
8146 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
8147
8148         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
8149         * config/xtensa/linux.h (ASM_SPEC): Likewise.
8150         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
8151         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
8152         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
8153         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
8154         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
8155         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
8156         and redefine corresponding TARGET_* macros with constants from the
8157         xtensa-config.h header.
8158         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
8159         for the options listed above.
8160
8161 2003-09-12  Dale Johannesen  <dalej@apple.com>
8162
8163         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
8164         * config/rs6000/rs6000-c.c:  Ditto.
8165         * config/rs6000/rs6000.c:  Ditto.
8166         * config/rs6000/ sysv4.h:  Ditto.
8167
8168 2003-09-12  Chris Lattner <sabre@nondot.org>
8169
8170         * loop.c: Move comments describing BIV's and GIV's to top of file
8171
8172 2003-09-12  Roger Sayle  <roger@eyesopen.com>
8173
8174         PR optimization/8967
8175         * alias.c (write_dependence_p): Modify to take an additional constp
8176         argument that controls whether the UNCHANGING_RTX_P flags are used.
8177         (anti_dependence, output_dependence): Adjust write_dependence_p
8178         callers to pass this additional argument, to return the same result.
8179         (unchanging_anti_dependence): New variant of anti_dependence that
8180         ignores the UNCHANGING_RTX_P property on memory references.
8181         * rtl.h (unchaning_anti_dependence): Prototype here.
8182         * flow.c (init_propagate_block): Place fake constant mem writes on
8183         the mem_set_list so that dead writes to const variables are deleted.
8184         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
8185         (mark_used_regs): Likewise.
8186
8187 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
8188
8189         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
8190         (mcore_secondary_reload_class): Declare.
8191         (mcore_output_inline_const_forced): Remove.
8192         * config/mcore/mcore.md (movsi): Remove the code that forced
8193         non-inlineable constants into a register if the target was r15
8194         or the stack pointer.  Remove constant restrictions from the main
8195         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
8196         of an r <- P alternative.  Remove fallback define_insn for reload.
8197         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
8198         define_insn.  Use mcore_output_move in the remaining define_insn.
8199         Adjust condition and constraints in the way as for movsi.
8200         (movdi): Always split unacceptable constants into two.  Use
8201         simplify_gen_subreg instead of operand_subword{,_force}.
8202         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
8203         (mcore_output_move): Support HImode and QImode moves as well.
8204         (mcore_m15_operand_p): New function.
8205         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
8206         (mcore_secondary_reload_class): New function.
8207         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
8208         terms of mcore_secondary_reload_class.
8209
8210 2003-09-11  Mike Stump  <mrs@apple.com>
8211
8212         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
8213
8214 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8215
8216         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
8217         MODE exactly, then only convert logN(N) -> 1.0 if
8218         flag_unsafe_math_optimizations is set.
8219
8220         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
8221         init_builtin_dconsts): Delete.
8222         * emit-rtl.c (dconstpi, dconste): Define.
8223         (init_emit_once): Initialize dconstpi & dconste.
8224         * real.h (dconstpi, dconste): Declare.
8225
8226 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
8227
8228         PR fortran/11522
8229         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
8230         for ultimate origin even if block is abstract.
8231
8232 2003-09-11  Roger Sayle  <roger@eyesopen.com>
8233
8234         * combine.c (combine_simplify_rtx): Move several NOT and NEG
8235         optimizations from here...
8236         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
8237         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
8238
8239 2003-09-11  Richard Henderson  <rth@redhat.com>
8240
8241         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
8242         Tweek tests for function already generated.
8243         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
8244         * cgraph.h (cgraph_finalize_function): Update for extra arg.
8245         * c-decl.c (finish_function): Likewise.
8246
8247 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
8248
8249         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
8250
8251 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
8252
8253         * real.c: Update URL to VAX floating point docs.
8254         (decode_vax_d): Extract 8 exponent bits instead of 7.
8255
8256 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
8257
8258         * combine.c (force_to_mode): Set fuller_mask based only on mask,
8259         not op_mode.
8260
8261 2003-09-11  Jan Hubicka  <jh@suse.cz>
8262
8263         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
8264         on why function is not inlinable; do not check
8265         the body.
8266         (inline_forbidden_p): Move to...
8267         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
8268         deal with alloca, longjmp.
8269         (inline_forbidden_p): New static function.
8270         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
8271         find_builtin_longjmp_call): Kill.
8272
8273 2003-09-10  Richard Henderson  <rth@redhat.com>
8274
8275         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
8276         * cgraphunit.c: Update to match.
8277         (record_call_1): Rearrange.  Call lang hook for language nodes.
8278         (cgraph_analyze_function): Don't call lower_function.
8279         * langhooks.h (struct lang_hooks_for_callgraph): Replace
8280         lower_function with analyze_expr.
8281         * langhooks-def.h: Update to match.
8282         * langhooks.c (lhd_callgraph_analyze_expr): New.
8283
8284 2003-09-10  Martin Husemann  <martin@duskware.de>
8285
8286         PR target/11965
8287         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
8288         constants greater than 63.
8289         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
8290         against constants greater than 31.
8291         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
8292         constants greater than 63.
8293
8294 2003-09-09  Richard Henderson  <rth@redhat.com>
8295
8296         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
8297         * cgraph.h (cgraph_finalize_function): Update.
8298         * c-decl.c (finish_function): Update.
8299
8300 2003-09-09  Devang Patel  <dpatel@apple.com>
8301
8302         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
8303         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
8304
8305 2003-09-09  Eric Christopher  <echristo@redhat.com>
8306
8307         * configure.in: Change usage of 'head' to 'sed 1q'.
8308         * configure: Regenerate.
8309
8310 2003-09-09  Richard Henderson  <rth@redhat.com>
8311
8312         * except.c: Include cgraph.h.
8313         (output_function_exception_table): Invoke
8314         cgraph_varpool_mark_needed_node.
8315         * Makefile.in (except.o): Update.
8316
8317 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
8318
8319         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
8320         and use it throughout.
8321
8322 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8323
8324         * builtins.c (real_dconstp, fold_builtin_logarithm,
8325         fold_builtin_exponent): New, split out from fold_builtin.  Also
8326         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
8327         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
8328         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
8329         of hardcoded array size.
8330         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
8331         (tree_expr_nonnegative_p): Likewise.
8332         * real.h (dconst3, dconst10, dconstthird): New.
8333
8334 2003-09-09  Jan Hubicka  <jh@suse.cz>
8335
8336         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
8337         inline functions.
8338         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
8339         DECL_SAVED_TREE.
8340
8341 2003-09-09  Roger Sayle  <roger@eyesopen.com>
8342
8343         * builtins.c (fold_builtin_cabs): Protect the complex argument
8344         against multiple evaluation when optimizing cabs* into sqrt*.
8345
8346 2003-09-09  Jan Hubicka  <jh@suse.cz>
8347
8348         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
8349
8350 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
8351
8352         * Makefile.in: Revert yesterday's change.
8353
8354 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
8355             Peter Barada <peter@baradas.org>
8356
8357         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
8358         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
8359         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
8360         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
8361         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
8362         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
8363         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
8364         (m68k_compute_frame_layout): New function.
8365         (m68k_initial_elimination_offset): New function.
8366         (m68k_output_function_prologue): ColdFire-specific movem handling.
8367         (m68k_output_function_epilogue): Likewise.
8368         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
8369         (ARG_POINTER_REGNUM): Add new definition.
8370         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
8371         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
8372         (CAN_ELIMINATE): Likewise.
8373         (INITIAL_ELIMINATION_OFFSET): Likewise.
8374
8375 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
8376
8377         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
8378         by removing redundant variable cfa_store_offset.
8379
8380 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
8381
8382         * langhooks-def.h (lhd_register_builtin_type): New function.
8383         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
8384         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
8385         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
8386         * langhooks.c (lhd_register_builtin_type): New function.
8387         * c-common.h (c_register_builtin_type): Declare.
8388         * c-common.c (c_register_builtin_type): New function.
8389         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
8390         c_register_builtin_type.
8391         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
8392         __float80, and __float128 macros.
8393         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
8394         __float80, and __float128 types.
8395
8396 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8397
8398         * builtin-types.def
8399         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
8400         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
8401         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
8402         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
8403         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
8404         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
8405         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
8406         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
8407         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
8408         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
8409         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
8410         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
8411         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
8412         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
8413         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
8414         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
8415         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
8416         New.
8417         * doc/extend.texi: Document new builtins.
8418
8419 2003-09-09  Jan Hubicka  <jh@suse.cz>
8420
8421         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
8422         finalization.
8423         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
8424         functions, check for COMDAT.
8425         (cgraph_assemble_pending_functions): Break out from...
8426         (cgraph_finalize_function): ... here; allow redefinig of extern inline
8427         functions.
8428         (record_call_1): Record function references only in non-unit-at-a-time
8429         mode.
8430         (cgraph_analyze_function): Reset current_function_decl.
8431         (cgraph_finalize_compilation_unit):  Assemble pending functions.
8432
8433 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
8434
8435         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
8436         (libgov.a): Likewise.
8437         (libgcc_eh.a): Likewise.
8438
8439 2003-09-08  Roger Sayle  <roger@eyesopen.com>
8440
8441         * fold-const.c (operand_equal_p): Clarify documentation.
8442
8443 2003-09-08  Richard Henderson  <rth@redhat.com>
8444
8445         * c-decl.c (c_expand_body_1): Push and pop function context here.
8446         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
8447         nested argument instead of computing nesting ourselves.
8448
8449 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
8450
8451         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
8452         regstack if optimizing but not scheduling after reload.
8453
8454 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
8455
8456         * config/sparc/sparc.c (struct machine_function): New type.
8457         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
8458         (sparc_override_options): Initialize init_machine_status.
8459         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
8460         tie_symbolic_operand, tle_symbolic_operand): New functions.
8461         (symbolic_operand): Disallow tls_symbolic_operand.
8462         (symbolic_memory_operand): Likewise.
8463         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
8464         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
8465         New functions.
8466         (sparc_tls_symbol): New variable.
8467         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
8468         legitimize_address): New functions.
8469         (print_operand): Handle %&.
8470         (sparc_init_machine_status, get_some_local_dynamic_name,
8471         get_some_local_dynamic_name_1): New functions.
8472         (sparc_output_dwarf_dtprel): New function.
8473         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
8474         constant_address_p.
8475         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
8476         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
8477         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
8478         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
8479         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
8480         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
8481         (ASM_OUTPUT_DWARF_DTPREL): Define.
8482         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
8483         tie_symbolic_operand, tle_symbolic_operand.
8484         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
8485         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
8486         (tls_call_delay): New attribute.
8487         (in_call_delay): Use it.
8488         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
8489         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
8490         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
8491         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
8492         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
8493         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
8494         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
8495         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
8496         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
8497         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
8498         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
8499         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
8500         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
8501         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
8502         insns.
8503         * config/sparc/sparc-protos.h (legitimate_constant_p,
8504         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
8505         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
8506         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
8507         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
8508         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
8509         * configure.in (sparc*-*-*): Add TLS check.
8510         * configure: Rebuilt.
8511
8512 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
8513
8514         PR target/11689
8515         * config/i386/i386.c (memory_address_length): Fix computation when
8516         the base is esp or ebp.
8517
8518 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
8519
8520         PR c++/11852
8521         * varasm.c (initializer_constant_valid_p): Correct logic for
8522         CONSTRUCTORs.
8523
8524 2003-09-07  Roger Sayle  <roger@eyesopen.com>
8525
8526         * expr.c (expand_operands): New function to expand an operand pair.
8527         (expand_expr): Call expand_operands whenever we need to expand both
8528         operands of a binary operator.
8529         (do_store_flag): Likewise for operands of comparison operations.
8530
8531 2003-09-07  Roger Sayle  <roger@eyesopen.com>
8532
8533         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
8534         (-A)*B if we care about sign-dependent rounding.
8535
8536 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
8537
8538         * c-pretty-print.h (pp_c_left_brace): Declare.
8539         (pp_c_right_brace): Likewise.
8540         * c-pretty-print.c (pp_c_left_brace): Now a function
8541         (pp_c_right_brace): Likewise.
8542
8543 2003-09-07  Jan Hubicka  <jh@suse.cz>
8544
8545         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
8546
8547 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8548
8549         * diagnostic.c (warn_deprecated_use): Move to toplev.c
8550
8551 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8552
8553         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
8554         * Makefile.in (langhooks.o): Depend on diagnostic.h
8555
8556 2003-09-06  James E Wilson  <wilson@tuliptree.org>
8557
8558         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
8559         simplify.
8560
8561 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
8562
8563         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
8564         and use it throughout.
8565
8566 2003-09-07  Jan Hubicka  <jh@suse.cz>
8567
8568         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
8569
8570         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
8571         virables.
8572
8573         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
8574         functions.
8575         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
8576
8577 2003-09-06  Jan Hubicka  <jh@suse.cz>
8578
8579         PR target/12070
8580         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
8581
8582         PR opt/12082
8583         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
8584
8585 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8586
8587         * diagnostic.c (announce_function): Move to toplev.c.
8588
8589 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8590
8591         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
8592         volatile mem.
8593
8594 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8595
8596         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
8597         when gc checking is enabled.
8598
8599 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
8600
8601         PR c/9862
8602         * c-decl.c (c_expand_body_1): Move return warning from here...
8603         (finish_function): ...to here.
8604
8605 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
8606
8607         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
8608         a subset of the input class.
8609
8610 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8611
8612         * config/i860/i860.c: Follow spelling conventions.
8613         * config/i860/i860.h: Likewise.
8614         * config/sh/sh.h: Likewise.
8615
8616 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
8617
8618         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
8619         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
8620         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
8621
8622 2003-09-05  Roger Sayle  <roger@eyesopen.com>
8623             Richard Henderson  <rth@redhat.com>
8624
8625         PR optimization/1823
8626         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
8627         multiplication to implement division by constant integer.
8628
8629 2003-09-05  Jan Hubicka  <jh@suse.cz>
8630
8631         * opts.c (decode_options): Enable unit-at-a-time at -O2.
8632         * params.def (max-inline-insns-single): Set to 500
8633         (max-inline-insns-auto): Set to 150
8634         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
8635
8636 2003-09-04  Richard Henderson  <rth@redhat.com>
8637
8638         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
8639         (cgraph_mark_needed_node): Remove needed argument.
8640         * cgraph.h: Update to match.
8641         * cgraphunit.c (decide_is_function_needed): Split out from ...
8642         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
8643         if we generated the function.
8644         (record_call_1): Update for cgraph_mark_reachable_node.
8645         * varasm.c (mark_referenced): Likewise.
8646         * objc/objc-act.c (mark_referenced_methods): Likewise.
8647
8648 2003-09-04  DJ Delorie  <dj@redhat.com>
8649
8650         * targhooks.c: Add comment explaining the migration process.
8651
8652 2003-09-04  Eric Christopher  <echristo@redhat.com>
8653
8654         * config/frv/t-frv: Fix path for frv-abi.h.
8655         * config/frv/frv-asm.h: Fix string concatenation.
8656
8657 2003-09-04  DJ Delorie  <dj@redhat.com>
8658
8659         * builtins.c (apply_args_size): Guard against a NULL cfun.
8660         (expand_builtin_apply_args_1): Likewise.
8661         (expand_builtin_apply): Likewise.
8662         Fixes PR bootstrap/12172.
8663
8664 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8665
8666         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
8667         assembler supports Sun syntax for cmov.
8668         * configure: Regenerate.
8669         * config.in: Likewise.
8670         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
8671         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
8672         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
8673         Fixes PR target/12101.
8674
8675 2003-09-04  Matt Austern  <austern@apple.com>
8676
8677         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
8678         with verbosity 0, instead of DECL_NAME, for human-readable string.
8679
8680 2003-09-04  Eric Christopher  <echristo@redhat.com>
8681
8682         * targhooks.c (default_return_in_memory): Allow
8683         unconverted ports.
8684
8685 2003-09-04  Eric Christopher  <echristo@redhat.com>
8686
8687         * targhooks.c (default_return_in_memory): Fix typo
8688         in last checkin.
8689
8690 2003-09-04  Eric Christopher  <echristo@redhat.com>
8691
8692         * targhooks.c (default_return_in_memory): Fix default
8693         definition.
8694
8695 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
8696
8697         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
8698         deleted function.
8699         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
8700         enable coff-only code in m68k.c.
8701
8702 2003-09-04  Nick Clifton  <nickc@redhat.com>
8703
8704         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
8705         v850e1.
8706         * config/v850/v850.h: Accept v850e1 as a default CPU.
8707         Accept -mv850e1 as a command line option.
8708         * doc/invoke.texi: Document new -mv850e1 command line switch.
8709         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
8710         -mv850e.
8711
8712 2003-09-04  Nick Clifton  <nickc@redhat.com>
8713
8714         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
8715         * config/v850/t-v850: Only produce one extra multilib - for
8716         the v850e.
8717         * config/v850/t-v850e: New file: Only produce one extra
8718         multilib - for the v850.
8719
8720 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
8721
8722         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
8723         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
8724         * unwind.h (_Unwind_GetBSP): New prototype.
8725         * libgcc-std.ver: Add empty GCC_3.3.2 version.
8726         * mkmap-symver.awk: For symbol versions with no exported symbols,
8727         don't put anything into version script, just change all symbol
8728         versions which inherit from it to inherit from its ancestor.
8729
8730 2003-09-04  Eric Christopher  <echristo@redhat.com>
8731
8732         * config/mips/mips.c (mips_expand_prologue): Convert to
8733         calls.struct_value_rtx hook.
8734         (reg_or_const_float_1_operand): New.
8735         * config/mips/mips.h: Update Comments.
8736         (mips_arg): Add reg_or_const_float_1_operand.
8737         * config/mips/mips.md (divdf3); Convert to expander.
8738         (divsf3): Ditto.
8739         (*divdf3): New pattern.
8740         (*divsf3): Ditto.
8741
8742 2003-09-04  Jan Hubicka  <jh@suse.cz>
8743
8744         * toplev.c (wrapup_global_declarations): Fix final pass in
8745         unit-at-atime mode.
8746
8747 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
8748
8749         * doc/extend.texi: Document removal of cast-as-lvalue extension in
8750         C++.
8751
8752 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
8753
8754         * gcc.c (process_command): Fix typo.
8755
8756 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
8757
8758         optimization/11980
8759         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
8760         (PTRDIFF_TYPE): Likewise.
8761         (WCHAR_TYPE_SIZE): Likewise.
8762
8763 2003-09-03  DJ Delorie  <dj@redhat.com>
8764
8765         * targhooks.c: New file.
8766         * targhooks.h: New file.
8767         * Makefile.in: Add targhooks.o support.
8768         (function.o): Depend on$(TARGET_H).
8769         (stmt.o): Likewise.
8770         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
8771         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
8772         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
8773         (expand_builtin_saveregs): Convert to
8774         calls.expand_builtin_saveregs hook.
8775         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
8776         here, instead of ...
8777         (get_parm_info) ... here.
8778         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
8779         hook.
8780         (finish_function): Handle calls.promote_prototypes hook here too.
8781         * c-typeck.c (convert_arguments): Convert to
8782         calls.promote_prototypes hook.
8783         (c_convert_parm_for_inlining): Likewise.
8784         * calls.c (initialize_argument_information): Convert to
8785         calls.promote_function_args hook.
8786         (expand_call): Convert to calls.struct_value_rtx,
8787         calls.strict_argument_naming,
8788         calls.pretend_outgoing_varargs_named, and
8789         calls.promote_function_return hooks.  Pass fndecl to
8790         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
8791         hooks, so they can use that.
8792         (emit_library_call_value_1): Likewise.
8793         * combine.c (setup_incoming_promotions): Convert to
8794         calls.promote_function_args hook.
8795         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
8796         * expr.c (expand_assignment): Pass call to aggregate_value_p.
8797         (expand_expr): Likewise.
8798         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
8799         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8800         RETURN_IN_MEMORY macro defaults.
8801         * final.c (profile_function): Convert to calls.struct_value_rtx
8802         hook.
8803         * function.c (aggregate_value_p): Accept function type tree as
8804         second parameter; try to deduce fntype from it.  Convert to
8805         calls.return_in_memory hook.
8806         (assign_parms): Convert to calls.setup_incoming_varargs,
8807         calls.strict_argument_naming, calls.promote_function_args,
8808         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
8809         aggregate_value_p.
8810         (expand_function_start): Likewise.  Convert to
8811         calls.struct_value_rtx hook.
8812         (expand_function_end): Convert to calls.promote_function_return hook.
8813         (allocate_struct_function): Pass fndecl to aggregate_value_p.
8814         * hard-reg-set.h: Update comments to new hook names.
8815         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
8816         * reg-stack.c (stack_result): Likewise.
8817         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
8818         * stmt.c (expand_value_return): Convert to
8819         calls.promote_function_return hook.
8820         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
8821         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
8822         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
8823         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
8824         TARGET_STRICT_ARGUMENT_NAMING,
8825         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
8826         * target.h: Likewise.
8827         * tree.h (aggregate_value_p): Also takes a tree to deduce function
8828         attributes from (for target hooks).
8829         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
8830         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
8831         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
8832         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
8833         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
8834         to hooks.
8835
8836         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
8837         to aggregate_value_p.
8838         * config/arm/arm.c (arm_init_cumulative_args,
8839         arm_output_mi_thunk): Likewise.
8840         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
8841         Likewise.
8842         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
8843         mips_can_use_return_insn): Likewise.
8844         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
8845         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
8846         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
8847         aggregate_value_p.
8848         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
8849         function to aggregate_value_p.
8850         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
8851         aggregate_value_p.
8852
8853         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
8854         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
8855         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
8856         (sh_handle_renesas_attribute, sh_promote_prototypes,
8857         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
8858         sh_setup_incoming_varargs, sh_strict_argument_naming,
8859         sh_pretend_outgoing_varargs_named): New decls.
8860         (targetm): Add new hooks.
8861         (calc_live_regs): Save MACL and MACH if the function has the
8862         renesas attribute.
8863         (sh_expand_prologue): Support renesas attribute.
8864         (sh_builtin_saveregs): Make static.
8865         (sh_build_va_list): Support renesas attribute.
8866         (sh_va_start): Likewise.
8867         (sh_va_arg): Likewise.
8868         (sh_promote_prototypes): New.
8869         (sh_function_arg): New, moved from sh.h.  Support renesas
8870         attribute.
8871         (sh_function_arg_advance): Likewise.
8872         (sh_return_in_memory): Likewise.
8873         (sh_strict_argument_naming): Likewise.
8874         (sh_pretend_outgoing_varargs_named): Likewise.
8875         (sh_struct_value_rtx): New.
8876         (sh_attribute): Add renesas attribute.
8877         (sh_handle_renesas_attribute): New.
8878         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
8879         (sh_ms_bitfield_layout_p): Support renesas attribute also.
8880         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
8881         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
8882         -mhitachi.
8883         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
8884         target hooks.
8885         (sh_args): Add renesas_abi flag.
8886         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
8887         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
8888         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
8889         stack for the renesas abi.
8890         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8891         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
8892         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
8893         call cookie to indicate renesas calls.
8894
8895 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
8896
8897         * gcse.c (replace_one_set): New function.
8898         (pre_insert_copy_insn): Change the order of copying
8899         to make copy propagation discover additional PRE opportunities.
8900
8901 2003-09-03  Roger Sayle  <roger@eyesopen.com>
8902
8903         PR optimization/11700.
8904         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
8905         of a hard register is representable before trying to simplify it
8906         using subreg_hard_regno.
8907
8908 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8909
8910         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
8911         * configure: Regenerate.
8912
8913 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8914
8915         * intl.h (N_): Remove parentheses.
8916
8917 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
8918
8919         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
8920         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
8921         definition and code blocks compiled when not defined.
8922         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
8923         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
8924         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
8925         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
8926
8927 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
8928
8929         * cgraphunit.c (visited_nodes): New static variable.
8930         (record_call_1): Use walk_tree with visited_nodes.
8931         (cgraph_create_edges): Use walk_tree with visited_nodes.
8932         Setup/teardown visited_nodes hashtable.
8933
8934 2003-09-03  Roger Sayle  <roger@eyesopen.com>
8935
8936         * toplev.c (flag_rounding_math): New global variable.
8937         (f_options): Add to the list of language independent options.
8938         * flags.h (flag_rounding_math): Prototype here.
8939         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
8940         * common.opt (frounding-math): New common command line option.
8941         * opts.c (common_handle_option): Handle OPT_frounding_math.
8942         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
8943
8944         * doc/invoke.texi: Document this new command line option.
8945
8946 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8947
8948         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
8949
8950 2003-09-03  Jan Hubicka  <jh@suse.cz>
8951
8952         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
8953         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
8954         * c-objc-common.c: Kill include of gt-c-objc-common.h
8955         (expand_deferred_fns, deffer_fn): Kill function.
8956         (deferred_fns): Kill variable.
8957         (finish_cdtor): Update finish_function call.
8958         (c_objc_common_finish_file): Always call cgraph code.
8959         * c-parse.c: Regenerate.
8960         * c-parse.y: Regenerate.
8961         * c-tree.h (finish_function): Update prototype.
8962         * objc-acct.c (build_module_descriptor, finish_method_def):
8963         Update call of finish_function.
8964         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
8965         forward prototype.
8966         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
8967         function and assemble it if needed.
8968         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
8969         mode.
8970         (cgraph_optimize): Likewise.
8971         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
8972         even when it has no inline callees.
8973         * c-parse.in: Update calls to finish_function.
8974
8975 2003-09-03  Nick Clifton  <nickc@redhat.com>
8976
8977         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
8978         Use #error to generate the message if TARGET_DEFAULT is not
8979         recognised.
8980
8981 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
8982
8983         * config/mips/mips.h (MASK_UNUSED1): Remove.
8984         (MASK_XGOT, TARGET_XGOT): Define.
8985         (TARGET_SWITCHES): Add an entry for -mxgot.
8986         (ASM_SPEC): Map -mxgot to -xgot.
8987         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
8988         whether we're using a big-GOT sequences.
8989         (mips_legitimize_const_move, mips_expand_call): Likewise.
8990         (override_options): Revert 2003-01-09 change.
8991         * doc/invoke.texi: Document -mxgot.
8992
8993 2003-09-02  Jason Merrill  <jason@redhat.com>
8994
8995         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
8996         * config/sparc/sol2.h: Not here.
8997
8998 2003-09-02  Roger Sayle  <roger@eyesopen.com>
8999
9000         * expr.c (expand_expr): The code following both_summands performs
9001         the same task as simplify_gen_binary.  Replace all gotos to
9002         both_summands with a call to simplify_gen_binary and delete the
9003         now unused label.
9004
9005 2003-09-02  Jason Merrill  <jason@redhat.com>
9006
9007         PR c++/7327
9008         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
9009
9010 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
9011
9012         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
9013         (cgraph_optimize_function): Set current_function_decl to the
9014         fndecl we're integrating from.
9015
9016 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9017
9018         * builtins.def: Break out _Complex math functions into their
9019         own category.
9020
9021 2003-09-02  Andreas Jaeger  <aj@suse.de>
9022
9023         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
9024
9025 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
9026
9027         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
9028         finding the note again.
9029
9030 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
9031
9032         * config.gcc: Remove host-specific rewrites of target_alias.
9033
9034 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
9035
9036         * Makefile.in (genprogs): Fix typo.
9037
9038         * Makefile.in (gencheck.o): Remove build commands.
9039         (dummy-conditions.o): Likewise.
9040         (read-rtl.o): Likewise.
9041         (gensupport.o): Likewise.
9042         (genconfig$(build_exeext)): Remove rule.
9043         (genconfig.o): Remove build commands.
9044         (genflags$(build_exeext)): Remove rule.
9045         (genflags.o): Remove build commands.
9046         (gencodes$(build_exeext)): Remove rule.
9047         (gencodes.o): Remove build commands.
9048         (genconstants.o): Remove build commands.
9049         (genemit$(build_exeext)): Remove rule.
9050         (genemit.o): Remove build commands.
9051         (genrecog$(build_exeext)): Remove rule.
9052         (genrecog.o): Remove build commands.
9053         (genextract$(build_exeext)): Remove rule.
9054         (genextract.o): Remove build commands.
9055         (genpeep$(build_exeext)): Remove rule.
9056         (genpeep.o): Remove build commands.
9057         (genattr$(build_exeext)): Remove rule.
9058         (genattr.o): Remove build commands.
9059         (genprognames): New variable.
9060         (genprogs): Likewise.
9061         (genobjs): Likewise.
9062         (genprogs): New rule.
9063         (genobjs): Likewise.
9064         (genattrtab.o): Remove build commands.
9065         (genautomata.o): Likewise.
9066         (genoutput$(build_exeext)): Remove rule.
9067         (genoutput.o): Remove build commands.
9068         (gengenrtl.o): Likewise.
9069         (genpreds.o): Likewise.
9070         (gengtype.o): Likewise.
9071         (genconditions.o): Likewise.
9072         (gen-protos.o): Likewise.
9073         (scan.o): Likewise.
9074         (fix-header.o): Likewise.
9075         (scan-decls.o): Likewise.
9076         (check-g++): Combine with other check targets.
9077         (check-gcc): Likewise.
9078         (check-g77): Likewise.
9079         (check-objc): Likewise.
9080
9081 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
9082
9083         * config.gcc: Remove host-specific stuff which is unused here
9084         since the introduction of config.host.
9085
9086         * doc/fragments.texi: Mention config.host.
9087         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
9088         of config.build, config.host, and config.gcc.
9089
9090 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
9091
9092         * c-decl.c (pushdecl): Don't put variables on
9093         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
9094         incomplete.
9095
9096 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
9097
9098         * config.host: New file.
9099         * config.gcc: Remove some host-specific stuff and some
9100         logic needed only for repeated invocation.
9101         * configure.in: Use config.host.
9102         * configure: Regenerate.
9103
9104 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
9105
9106         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
9107         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
9108         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
9109         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
9110         * tree.def (BIT_ANDTC_EXPR): Kill.
9111
9112 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9113
9114         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
9115         * configure: Regenerate.
9116
9117         * config.gcc:  Remove references to install_headers_dir, now unused
9118         since introduction of config.build.
9119         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
9120
9121         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
9122         config.build.
9123
9124         * config.build: New file.
9125         * config.gcc: Remove some build-specific stuff.
9126         * configure.in: Use config.build.
9127         * configure: Regnerate.
9128
9129 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
9130             Roger Sayle  <roger@eyesopen.com>
9131
9132         PR middle-end/11823
9133         * stmt.c (expand_end_case_type): Only use jump tables for dense
9134         switch statements when optimizing for size.
9135
9136 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
9137
9138         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
9139         the != 0 case, which ensures pending stack adjustments are flushed.
9140
9141 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9142
9143         * configure.frag: Delete file.
9144         * configure.in: Rename the substitution variables
9145         dep_host_xmake_file and dep_tmake_file to xmake_file and
9146         tmake_file respectively.  Do not expand $srcdir in the
9147         value of these; leave that for Make.  Introduce a new
9148         substitution varaible, all_lang_makefrags, which lists
9149         subdirectory Make-lang.in files; exclude these from
9150         all_lang_makefiles, which is now only for subdirectory
9151         outputs.  Do not invoke configure.frag.  Do not set nor
9152         AC_SUBST_FILE target_overrides, host_overrides, or
9153         language_fragments. Create build subdirectories in
9154         config.status extra commands.
9155         * configure: Regenerate.
9156         * Makefile.in: Update substitutions to match changes to
9157         configure.  Use include directives instead of @-insertions
9158         to read in host, target, and language fragments.
9159         (Makefile rule): Do not invoke configure.frag.  Do not copy
9160         config.status to config.run before executing it.  Set
9161         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
9162         regenerated.
9163         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
9164
9165 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9166
9167         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
9168         * c-typeck.c (same_translation_unit_p): New function.
9169         (comptypes): Use it instead of flags parameter to identify
9170         structure types from different translation units.
9171         * c-decl.c (duplicate_decls): Always call comptypes with
9172         COMPTYPE_STRICT flags argument.
9173         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
9174         to file_scope_decl.
9175
9176 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9177
9178         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
9179         * c-decl.c (struct c_scope): Remove "incomplete" field.
9180         (pushdecl): Attach variables with incomplete types to
9181         the TYPE_MAIN_VARIANT of the incomplete type in question.
9182         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
9183         to complete, not at current_scope->incomplete.  All such
9184         variables do need completion.
9185
9186 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
9187         Nicolas Pitre <nico@cam.org>
9188
9189         * arm/lib1funcs.asm (RETCOND): Delete.
9190         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
9191         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
9192         (__ARM_ARCH__): Move here from ieee754-?f.S.
9193         (RET, RETc): Clean up definitions.
9194         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
9195         (FUNC_END): New macro that marks the end of any function.
9196         (ARM_FUNC_START): New macro that allows an assembler routine to be
9197         implemented in ARM code even if a Thumb-only build.
9198         Unconditionally include ieee754-?f.S.
9199         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
9200         Mark ends of functions.
9201         Split into separate conditionally-compiled units.
9202         Use RETLDM to return from routines.
9203         * arm/ieee754-sf.S: Similarly.
9204         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
9205         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
9206         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
9207         _fixsfsi and _fixunssfsi.
9208
9209         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
9210         multiplication underflows to zero.
9211         (__adddf3): Fix bug when using VFP ordering on little-endian
9212         processors.
9213         (__fixdfsi): Use rrx to extract the carry into a register instead of
9214         MRS instruction.  Optimize later use of result.
9215         * arm/ieee754-sf.S (__fixsfsi): Likewise.
9216         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
9217
9218 2003-08-29  Richard Henderson  <rth@redhat.com>
9219
9220         * tree-optimize.c: New file.
9221         * Makefile.in (OBJS-archive): Add tree-optimize.o.
9222         (tree-optimize.o): New.
9223         * c-decl.c (store_parm_decls): Use allocate_struct_function.
9224         (finish_function): Don't free_after_parsing or free_after_compilation.
9225         (set_save_expr_context): Move to tree-optimize.c.
9226         (c_expand_body_1): Use tree_rest_of_compilation.
9227         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9228         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9229         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
9230         iterate until closure.
9231         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
9232         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
9233         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
9234         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
9235         * toplev.h (tree_rest_of_compilation): Declare it.
9236
9237 2003-08-29  Richard Henderson  <rth@redhat.com>
9238
9239         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
9240         * integrate.c (save_for_inline): Set saved_for_inline.
9241         * c-semantics.c (genrtl_scope_stmt): Check it.
9242         * toplev.c (wrapup_global_declarations): Check it.
9243         (rest_of_handle_inlining): Set and check rtl_inline_init.
9244         (rest_of_compilation): Remove out of date comment.
9245
9246 2003-08-29  Richard Henderson  <rth@redhat.com>
9247
9248         * function.c (allocate_struct_function): New, split out of ...
9249         (prepare_function_start, init_function_start): ... here.
9250         * expr.c (init_expr): Use ggc_alloc_cleared.
9251         * stmt.c (init_stmt_for_function): Likewise.
9252         * tree.h (allocate_struct_function): Declare.
9253
9254 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9255
9256         * config.gcc: Don't use negated character class in shell case
9257         clause.
9258
9259 2003-08-29  Richard Henderson  <rth@redhat.com>
9260
9261         * function.h (struct function): Move function_frequency and
9262         max_jumptable_ents before start of bit field members.
9263
9264 2003-08-29  Richard Henderson  <rth@redhat.com>
9265
9266         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
9267         (fold_builtin_constant_p) ... not here.
9268
9269 2003-08-29  Richard Henderson  <rth@redhat.com>
9270
9271         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
9272         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
9273         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
9274
9275 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9276
9277         * builtins.def: Fix typos.
9278         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
9279         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
9280         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
9281         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
9282         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
9283
9284         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
9285         Use ATTR_MATHFN_FPROUNDING_ERRNO.
9286
9287 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9288
9289         * config.gcc (i386-*-vsta): Fix obvious bogosity.
9290
9291         * fixinc/inclhack.def:  Remove special cases for unsupported
9292         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
9293         * fixinc/fixincl.x: Regenerate.
9294
9295 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
9296
9297         * Makefile.in (cpp.info): Just state dependencies.
9298         (gcc.info): Likewise.
9299         (gccint.info): Likewise.
9300         (gccinstall.info): Likewise.
9301         (cppinternals.info): Likewise.
9302         (cpp.dvi): Likewise.
9303         (gcc.dvi): Likewise.
9304         (gccint.dvi): Likewise.
9305         (gccinstall.dvi): Likewise.
9306         (cppinternals.dvi): Likewise.
9307         (gcov.1): Likewise.
9308         (cpp.1): Likewise.
9309         (gcc.1): Likewise.
9310         (gfdl.7): Likewise.
9311         (gpl.7): Likewise.
9312         (fsf-funding.7): Likewise.
9313         ($(objdir)/%.info): New pattern rule.
9314         (%.dvi): Likewise.
9315
9316 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
9317
9318         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
9319         (restage2): Likewise.
9320         (restage3): Likewise.
9321         (restage4): Likewise.
9322         (restageprofile): Likewise.
9323         (restagefeedback): Likewise.
9324         (bubblestrap): Likewise.
9325
9326 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9327
9328         * config.gcc: Narrow unsupported target match to avoid clobbering
9329         i?86-sequent-sysv4*.
9330
9331 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9332
9333         * builtins.c (mathfn_built_in): Handle new math builtins.
9334
9335 2003-08-28  Per Bothner  <per@bothner.com>
9336
9337         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
9338         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
9339         (_cpp_lex_buffer):  Likewise.
9340         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
9341
9342 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
9343
9344         * config/s390/s390.md ("*mulsi3_sign"): New insn.
9345         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
9346         ("mulsidi3"): ... this new insn.
9347         ("umulsidi3"): New insn.
9348         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
9349         mixed-mode matching constraints.
9350         ("udivmodsi4", "udivmoddisi3"): New insns.
9351         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
9352
9353 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9354
9355         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
9356         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
9357         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
9358         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
9359         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
9360         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
9361         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
9362         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
9363         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
9364         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
9365         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
9366         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
9367         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
9368         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
9369         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
9370         * tree.c: Assign new type_nodes.
9371         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
9372         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
9373         (float_ptr_type_node, double_ptr_type_node,
9374         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
9375
9376         * doc/extend.texi: Document new builtins.
9377
9378 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9379
9380         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
9381         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
9382
9383         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
9384         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
9385         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
9386         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
9387         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
9388         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
9389         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
9390         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
9391         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
9392         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
9393
9394         * doc/extend.texi: Document new builtins.
9395
9396 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
9397
9398         * fixinc/mkfixinc.sh: Remove special case code for unsupported
9399         variants of i?86, powerpcle, and thumb.
9400         * fixinc/mkfixinc.sh: Remove special case code for unsupported
9401         arm and hppa variants.
9402
9403 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9404
9405         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
9406         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
9407         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
9408         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
9409         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
9410         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
9411         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
9412         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
9413         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
9414         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
9415
9416         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
9417         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
9418         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
9419         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
9420         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
9421         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
9422         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
9423         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
9424         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
9425         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
9426         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
9427         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
9428         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
9429         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
9430         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
9431         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
9432         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
9433         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
9434         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
9435         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
9436         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
9437         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
9438         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
9439         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
9440         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
9441         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
9442         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
9443         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
9444         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
9445         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
9446         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
9447
9448         * doc/extend.texi: Document new builtins.
9449
9450 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
9451
9452         * config/s390/s390.c (legitmate_constant_p): Use LARL on
9453         zSeries machines even in 31-bit addressing mode.
9454         (legitimate_reload_constant_p): Likewise.
9455         (legitimize_pic_address): Likewise.
9456         (legitimize_tls_address): Likewise.
9457         (s390_split_branches): Likewise.
9458         (s390_dump_pool): Likewise.
9459         (s390_mainpool_finish): Likewise.
9460         (s390_chunkify_start): Likewise.
9461         (s390_select_rtx_section): Likewise.
9462         * config/s390/s390.md ("doloop_si"): Likewise.
9463         ("pool_start_31", "pool_end_31"): Likewise.
9464         ("pool_start_64", "pool_end_64"): Likewise.
9465         ("main_base_31_small", "main_base_31_large"): Likewise.
9466         ("main_base_64"): Likewise.
9467         ("reload_base_31", "reload_base_64"): Likewise.
9468         ("*movsi_larl"): New insn.
9469         ("cjump", "icjump"): Use long branches on zSeries machines.
9470         ("jump"): Likewise.
9471         ("call"): Use BRASL on zSeries machines.
9472         ("call_value", "call_value_tls"): Likewise.
9473         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
9474         and replace by ...
9475         ("*bras", "*brasl", "*basr") ... these new insns.
9476         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
9477         "bas_31_r"): Remove and replace by ...
9478         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
9479         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
9480         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
9481         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
9482         ("*return_si", "*return_di"): Remove and replace by ...
9483         ("*return"): ... this new insn.
9484         ("rotlsi3"): Allow on zSeries machines.
9485
9486         * config/s390/s390.c (legitimize_reload_constant_p): Use
9487         LL/LH type instructions in z/Architecture mode.
9488         * config/s390/s390.md ("*movsi_lli"): Likewise.
9489         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
9490         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
9491         ("*extendqisi2"): Use LB in z/Architecture mode.
9492         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
9493         z/Architecture mode.
9494         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
9495         Likewise.
9496
9497         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
9498         and 31-bit mode.
9499         ("ptr_extend"): Allow only in 64-bit mode.
9500
9501 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
9502
9503         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
9504         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
9505         definitions.
9506         (main): Only use standard_startfile_prefix if native.
9507         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
9508
9509 2003-08-27  Per Bothner  <pbothner@apple.com>
9510
9511         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
9512         test fails following my 08-21 change, and it seems unnecessary anyway.
9513         (cpp_error):  Likewise.
9514
9515 2003-08-27  Jason Merrill  <jason@redhat.com>
9516
9517         * real.c (do_multiply): Initialize with memset.
9518
9519 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9520
9521         * gcov.c (typedef struct arc_info): New field cs_count.
9522         (accumulate_line_counts): Find cycles correctly.
9523
9524 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
9525
9526         * config/s390/s390.c (struct machine_function): Remove member
9527         literal_pool_label.
9528         (s390_optimize_prolog): Replace TEMP_REG argument with
9529         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
9530         (general_s_operand): Accept all immediates before reload if
9531         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
9532         references.
9533         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
9534         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
9535         (s390_alloc_pool): New function.
9536         (s390_new_pool): Call it.
9537         (s390_dump_pool): Add REMOTE_LABEL argument.
9538         (s390_chunkify_start): Add BASE_REG argument.  Do not check
9539         get_pool_size ().
9540         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
9541         s390_dump_pool call.
9542         (s390_pool_count, s390_nr_constants): Remove.
9543         (s390_output_constant_pool): Remove.
9544         (s390_mainpool_start): New function.
9545         (s390_mainpool_finish): New function.
9546         (s390_mainpool_cancel): New function.
9547         (s390_reorg): Implement main literal pool handling.
9548         (s390_emit_prologue): Emit main_pool placeholder instead of
9549         literal_pool_31 / literal_pool_64 insns.
9550         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
9551         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
9552         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
9553         ("main_base_31_small", "main_base_31_large"): New insns.
9554         ("main_base_64",  "main_pool"): New insns.
9555         ("literal_pool_31", "literal_pool_64"): Remove.
9556
9557 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
9558
9559         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
9560         fixinc.ptx.
9561         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
9562         Prettify a little.
9563         * fixinc/fixincl.x: Regenerate.
9564
9565 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
9566
9567         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
9568         (L_ieee754_dp): New.  Include ieee754-df.S.
9569         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
9570         and compilation in apcs-26 mode.
9571         * arm/ieee754-df.S: Likewise.
9572         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
9573         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
9574
9575 2003-08-27  Nicolas Pitre  <nico@cam.org>
9576
9577         * arm/ieee754-sf.S: New.
9578         * arm/ieee754-df.S: New.
9579
9580 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
9581
9582         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
9583         and restore it if returning NULL.
9584
9585 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
9586
9587         * calls.c (initialize_argument_information): If an argument has no
9588         stack space associated with it, and BLOCK_REG_PADDING is defined,
9589         use it to decide at which end the argument should be padded.
9590         * function.c (assign_parms): Allocate BLKmode stack slots.
9591         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
9592         (mips_pad_reg_upward): Declare.
9593         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
9594         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
9595         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
9596         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
9597         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
9598         (mips_expand_call): Remove code for generating structure shifts.
9599         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
9600         types unless using the EABI.
9601         (function_arg_advance): Don't generate shift instructions.
9602         (function_arg): Don't return them.  Don't short-circuit the
9603         check for double structure chunks for DFmode arguments.
9604         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
9605         (mips_expand_prologue): Remove code to emit structure shifts.
9606         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
9607         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
9608         comments to say that only structure returns are a problem.
9609
9610 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
9611
9612         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
9613         Fix to match produced versions.
9614         * fixinc/inclhack.def (longlong_t): New disabled test, ported
9615         from fixinc.svr4.
9616         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
9617         from fixinc.ptx.
9618         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
9619         ported from fixinc.ptx.
9620
9621 2003-08-26  Per Bothner  <pbothner@apple.com>
9622
9623         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
9624         (cpp_error_with_line):  Use fileline for appropriate parameter.
9625         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
9626         (struct cpp_reader):  Likewise for fields line and directive_line.
9627         (_cpp_begin_message):  Use fileline for appropriate parameter.
9628         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
9629         cpp_error):  Use fileline for appropriate parameters and variables.
9630         (print_location):  New local lin, since it is not a fileline.
9631
9632 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9633
9634         PR middle-end/12002
9635         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
9636         (FLOAT_TYPE_P): Define in terms of these two new macros.
9637         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
9638         for complex floating point types.
9639
9640 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9641
9642         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
9643         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
9644         s390_output_pool_entry.
9645
9646 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
9647
9648         * fixinc/inclhack.def (svr4_preproc_lint_on,
9649         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
9650         fixes, ported from fixinc.svr4.
9651
9652 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
9653
9654         * doc/install.texi (Prerequisites): Mention GNU make requirement.
9655
9656         * Makefile.in (AR_FOR_TARGET): Export it.
9657         (AR_CREATE_FOR_TARGET): Likewise.
9658         (AR_FLAGS_FOR_TARGET): Likewise.
9659         (AR_EXTRACT_FOR_TARGET): Likewise.
9660         (AWK): Likewise.
9661         (BUILD_PREFIX): Likewise.
9662         (BUILD_PREFIX_1): Likewise.
9663         (DESTDIR): Likewise.
9664         (GCC_FOR_TARGET): Likewise.
9665         (INCLUDES): Likewise.
9666         (INSTALL_DATA): Likewise.
9667         (LIB1ASMSRC): Likewise.
9668         (LIBGCC2_CFLAGS): Likewise.
9669         (MACHMODE_H): Likewise.
9670         (NM_FOR_TARGET): Likewise.
9671         (RANLIB_FOR_TARGET): Likewise.
9672         (libsubdir): Likewise.
9673         (slibdir): Likewise.
9674         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
9675         exporting.
9676         (libgcc.a): Don't pass them here.
9677         (stmp-multilib): Or here.
9678         (install-libgcc): Or here.
9679         (install-multilib): Or here.
9680         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
9681         (stage1_build): Or here.
9682
9683 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
9684
9685         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
9686         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
9687
9688 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
9689
9690         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
9691         "*fmaddsf", "*fmsubsf"): New insns.
9692
9693 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9694
9695         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
9696         (C1*C2)/X when unsafe math optimizations are allowed.
9697         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
9698         math optimizations.  Minor code clean-ups.  Recursively call
9699         fold when constructing sub-expressions.
9700
9701 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9702
9703         * builtins.c (fold_builtin_bitop): New function to perform constant
9704         folding of ffs, clz, ctz, popcount and parity builtin functions
9705         and their long and long long variants (such as ffsl and ffsll).
9706         (fold_builtin): fold_builtin_bitop when appropriate.
9707         * simplify-rtx.c (simplify_unary_operation): Honor both
9708         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
9709         evaluating clz and ctz at compile-time, for operands wider
9710         than HOST_WIDE_INT.
9711
9712 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
9713
9714         * builtins.c (build_function_call_expr): Don't set
9715         TREE_SIDE_EFFECTS here.
9716         * expr.c (emit_block_move_via_libcall): Likewise.
9717         (clear_storage_via_libcall): Likewise.
9718         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
9719         CALL_EXPRs.
9720
9721         * gcse.c (is_too_expensive): New function.
9722         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
9723
9724 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
9725
9726         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
9727         commented-out logic to use DCE threads (if present), add
9728         support for POSIX threads.
9729         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
9730         #defines for -pthread.  Add -lpthread to LIB_SPEC when
9731         -pthread.  In both cases take -mt as a synonym for -pthread
9732         for acc compatibility.
9733         Define GTHREAD_USE_WEAK to 0.
9734         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
9735         Remove old logic for DCE threads from LIB_SPEC.
9736         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
9737
9738 2003-08-25  Roger Sayle  <roger@eyesopen.com>
9739
9740         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
9741         return 0 for invalid argument types.  Instead drop through to a
9742         call of expand_call at the bottom of function.  If op is SQRT,
9743         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
9744
9745 2003-08-25  Richard Henderson  <rth@redhat.com>
9746
9747         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
9748         result when op0 is SImode.
9749
9750 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
9751
9752         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
9753         from fixinc.svr4.
9754         * fixinc/fixincl.x: Regenerate.
9755         * fixinc/tests/base/sys/signal.h: Regenerate.
9756
9757 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9758
9759         * combine.c (simplify_comparison): Re-enable widening of comparisons
9760         with non-paradoxical subregs of non-REG expressions.
9761
9762 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9763
9764         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
9765
9766 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9767
9768         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
9769
9770 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9771
9772         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
9773         * c-pretty-print.h (c_pretty_printer): Now typedef to the
9774         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
9775         (struct c_pretty_print_info): Document.  Add new fields.
9776         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
9777         (pp_direct_abstract_declarator): New macro.
9778         (pp_ptr_operator): Likewise.
9779         (pp_simple_type_specifier): Likewise.
9780         (pp_expression): Likewise.
9781         (pp_parameter_list): Rename from pp_parameter_declaration.
9782         * c-pretty-print.c (pp_c_whitespace): Now a function.
9783         (pp_c_left_paren): Likewise.
9784         (pp_c_right_paren): Likewise.
9785         (pp_c_dot): Likewise.
9786         (pp_c_ampersand): Likewise.
9787         (pp_c_arrow): Likewise.
9788         (pp_c_semicolon): Likewise.
9789         (pp_c_type_cast): New function.
9790         (pp_c_space_for_pointer_operator): Likewise.
9791         (pp_c_call_argument_list): Likewise.
9792         (pp_c_cv_qualifier): Adjust prototype.
9793         (pp_c_type_qualifier_list): Likewise.
9794         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
9795         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
9796         Adjust to follow standard grammar.
9797         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
9798         REFERENCE_TYPE.  Tidy.
9799         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
9800         (pp_c_parameter_declaration): Remove.
9801         (pp_c_abstract_declarator): Adjust prototype.
9802         (pp_c_direct_abstract_declarator): Likewise.
9803         (pp_c_type_id): Likewise.
9804         (pp_c_storage_class_specifier): Likewise.
9805         (pp_c_function_specifier): Likewise.
9806         (pp_c_declaration_specifiers): Likewise.
9807         (pp_c_direct_declarator): Likewise.
9808         (pp_c_declarator): Likewise.
9809         (pp_c_declarator): Likewise.
9810         (pp_c_declaration): Likewise.
9811         (pp_c_attributes): Likewise.  Tidy.
9812         (pp_c_function_definition): Adjust prototype.
9813         (pp_c_char): Likewise.
9814         (pp_c_string_literal): Likewise.
9815         (pp_c_integer_constant): Likewise.
9816         (pp_c_character_constant): Likewise.
9817         (pp_c_bool_constant): Likewise.
9818         (pp_c_enumeration_constant): Likewise.
9819         (pp_c_floating_constant): Likewise.
9820         (pp_c_constant): Likewise.
9821         (pp_c_identifier): Likewise.
9822         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
9823         (pp_c_initializer): Adjust prototype.
9824         (pp_c_init_declarator): Likewise.
9825         (pp_c_initializer_list): Likewise.
9826         (pp_c_id_expression): Likewise.
9827         (pp_c_postfix_expression): Likewise.
9828         (pp_c_expression_list): Likewise.
9829         (pp_c_unary_expression): Likewise.
9830         (pp_c_cast_expression): Likewise.
9831         (pp_c_multiplicative_expression): Likewise.
9832         (pp_c_additive_expression): Likewise.
9833         (pp_c_shift_expression): Likewise.
9834         (pp_c_relational_expression): Likewise.
9835         (pp_c_equality_expression): Likewise.
9836         (pp_c_and_expression): Likewise.
9837         (pp_c_exclusive_or_expression): Likewise.
9838         (pp_c_inclusive_or_expression): Likewise.
9839         (pp_c_logical_and_expression): Likewise.
9840         (pp_c_logical_or_expression): Likewise.
9841         (pp_c_conditional_expression): Likewise.
9842         (pp_c_assignment_expression): Likewise.
9843         (pp_c_expression): Likewise.  Tidy.
9844         (pp_c_statement): Likewise.  Document.
9845         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
9846
9847         * c-lang.c (c_initialize_diagnostics): Update.
9848         * c-common.h (strip_pointer_operator): Declare.
9849         * c-common.c (strip_pointer_operator): Define.
9850
9851 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
9852
9853         PR c++/8795
9854         * tree.h (build_method_type_directly): Declare.
9855         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
9856         (vector_size_helper): Likewise.
9857         * tree.c (build_method_type_directly): New function.
9858         (build_method_type): Use it.
9859
9860 2003-08-24  Richard Henderson  <rth@redhat.com>
9861
9862         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
9863         for 16-byte vector modes if sse not enabled; warn for abi change.
9864         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
9865
9866 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
9867
9868         * rtlanal.c (may_trap_p): Simplify an integer comparison.
9869
9870 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
9871
9872         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
9873         comment.  Enable for DYNIX/ptx systems (when they switch to
9874         regular fixincludes).
9875         * fixinc/fixincl.x: Regenerate.
9876
9877 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9878
9879         * config/i860/t-i860: New.
9880         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
9881
9882 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
9883
9884         * c-decl.c (pushdecl): Only put decls which finish_struct will do
9885         something about onto incomplete chain.
9886         (finish_struct): If not removing type from incomplete
9887         list, update prev.
9888
9889 2003-08-20  Jan Hubicka  <jh@suse.cz>
9890
9891         PR target/11369
9892         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
9893
9894         PR target/11031
9895         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
9896         const_0_to_15_operand, const_0_to_255_operand): New predicates.
9897         * i386.h (PREDICATE_CODES): Add these.
9898         * i386.c (pinsrw and pextrw patterns): Use them.
9899
9900         PR target/10984
9901         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
9902
9903         PR target/8869
9904         * expr.c (convert_modes): Deal properly with integer to vector
9905         constant conversion.
9906
9907         PR target/8871
9908         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
9909
9910 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
9911
9912         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
9913         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
9914         ("*movhi"): ... this.
9915         ("movqi", "*movqi"): Likewise.
9916         ("movqi_64"): Remove.
9917         ("*zero_extendhisi2_31"): Change predicate to s_operand.
9918
9919 2003-08-23  Dale Johannesen  <dalej@apple.com>
9920         * calls.c (emit_library_call_value_1): Fix obvious errors in
9921         arguments to emit_group_store.
9922
9923 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9924
9925         * calls.c (emit_library_call_value_1): Remove code related
9926         to LIBGCC_NEEDS_DOUBLE.
9927         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
9928         * doc/tm.texi: Likewise.
9929         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
9930
9931 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
9932
9933         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
9934
9935 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
9936
9937         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
9938         as well.  Put memory references in the varargs alias set.
9939         (mips_expand_prologue): Remove varargs handling from here.
9940
9941 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
9942
9943         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
9944         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
9945         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
9946         for function pointer calls.
9947         * config/s390/s390.md ("*negdi2_31"): Likewise.
9948
9949 2003-08-23  Roger Sayle  <roger@eyesopen.com>
9950
9951         * combine.c (apply_distributive_law): Correct comment.
9952
9953 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9954
9955         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
9956
9957 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9958
9959         * config/i860/i860.c (i860_build_va_list): Create the va_decl
9960         declaration.  Document the va_list structure.
9961         (i860_va_start): Initialize the va_list structure.
9962         (i860_va_arg): Rewrite completely.
9963         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
9964         * config/i860/varargs.asm: Do not allocate or initialize
9965         a va_list.  Return the address of the register save area.
9966
9967 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9968
9969         * config/iq2000/iq2000.c: Fix comment typos.
9970         * config/iq2000/iq2000.md: Likewise.
9971
9972 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9973
9974         * config/iq2000/iq2000.c: Follow spelling conventions.
9975         * config/iq2000/iq2000.h: Likewise.
9976         * config/mn10300/mn10300.c: Likewise.
9977
9978 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9979
9980         * config/i860/i860.c (output_move_double): Don't set latehalf
9981         to zero for CONST_INT (since it could be, e.g., -1).
9982
9983         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
9984         (MODSI3_LIBCALL): ...with this one.
9985         (UREMSI3_LIBCALL): Replace this macro...
9986         (UMODSI3_LIBCALL): ...with this one.
9987
9988 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9989
9990         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
9991         (output_delayed_branch): Remove prototype.
9992         (single_insn_src_p): Remove prototype.
9993         * config/i860/i860.c (single_insn_src_p): Remove function.
9994         (output_delayed_branch): Remove function.
9995         (output_delay_insn): Remove function.
9996         (va_start): Remove unconditional test and dead code, re-format.
9997         Fix coding style and spelling problems in various comments.
9998         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
9999         (blockage pattern): ...and use it here.
10000         (all define_peephole patterns related to delayed branches): Remove.
10001         Fix coding style and spelling problems in various comments.
10002
10003 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10004
10005         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
10006         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
10007         Convert all function definitions from traditional to ISO C90 syntax.
10008         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
10009         with 'GCC'.  Remove all uses of the PARAMS macro.
10010         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
10011         * config/i860/i860.md: Likewise.
10012         * config/i860/sysv4.h: Likewise.
10013         * config/i860/varargs.asm: Likewise.
10014
10015 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10016
10017         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
10018         argument.
10019         (tdesc_section): Add prototype.
10020         Update copyright dates.
10021         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
10022         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
10023         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
10024         (targetm): Likewise.
10025         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
10026         for '%d' where necessary.
10027         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
10028         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
10029         by UNITS_PER_WORD when referencing (likewise for .floats).
10030         (I860_SVR4_VARARGS): Rename...
10031         (I860_SVR4_VA_LIST): ...to this.
10032         Call build() with 't' rather than 'field'.
10033         (i860_rtx_costs): New function.
10034         (TARGET_RTX_COSTS): Define.
10035         (i860_internal_label): New function.
10036         (TARGET_ASM_INTERNAL_LABEL): Define.
10037         (i860_file_start): New function.
10038         Update copyright dates.
10039         * config/i860/i860.h (CPP_PREDEFINES): Remove.
10040         (TARGET_CPU_CPP_BUILTINS): Define.
10041         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
10042         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
10043         (ASM_FILE_START): Remove.
10044         (ASM_FILE_START_1): Remove.
10045         (ASM_GLOBALIZE_LABEL): Remove.
10046         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
10047         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
10048         with targetm.asm_out.internal_label.
10049         Update copyright dates.
10050         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
10051         (CPP_PREDEFINES): Remove.
10052         (TARGET_OS_CPP_BUILTINS): Define.
10053         (GLOBAL_ASM_OP): Define.
10054         (ASM_FILE_START): Remove.
10055         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
10056         (TARGET_ASM_FILE_START): Define.
10057         Update copyright dates.
10058
10059 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10060
10061         * gcc/config.gcc (i860-*-sysv4*): Add target.
10062         * config/i860/i860-protos.h: New.
10063         * config/i860/i860.c: New.
10064         * config/i860/i860.h: New.
10065         * config/i860/i860.md: New.
10066         * config/i860/sysv4.h: New.
10067         * config/i860/varargs.asm: New.
10068         * config/i860/x-sysv4: New.
10069
10070 2003-08-22  Jason Eckhardt  <jle@rice.edu>
10071
10072         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
10073         Remove all uses of PARAMS macro.
10074         Convert all function definitions to ISO C90 syntax.
10075         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
10076         * config/pa/fptr.c: Likewise.
10077         * config/pa/lib2funcs.asm: Likewise.
10078         * config/pa/long_double.h: Likewise.
10079         * config/pa/milli64.S: Likewise.
10080         * config/pa/pa-64.h: Likewise.
10081         * config/pa/pa-hpux.h: Likewise.
10082         * config/pa/pa-hpux10.h: Likewise.
10083         * config/pa/pa-hpux11.h: Likewise.
10084         * config/pa/pa-linux.h: Likewise.
10085         * config/pa/pa-modes.def: Likewise.
10086         * config/pa/pa-osf.h: Likewise.
10087         * config/pa/pa-pro-end.h: Likewise.
10088         * config/pa/pa.md: Likewise.
10089         * config/pa/pa32-linux.h: Likewise.
10090         * config/pa/pa64-linux.h: Likewise.
10091         * config/pa/pa64-hpux.h: Likewise.
10092         * config/pa/pa64-regs.h: Likewise.
10093         * config/pa/quadlib.c: Likewise.
10094         * config/pa/rtems.h: Likewise.
10095         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
10096         all uses of the PARAMS macro.
10097         * config/pa/pa.h: Likewise.
10098         * config/pa/som.h: Likewise.
10099
10100         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
10101         Remove all uses of PARAMS macro.
10102         Convert all function definitions to ISO C90 syntax.
10103         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
10104         Remove all uses of PARAMS macro.
10105         * config/iq2000.h: Remove all uses of PARAMS macro.
10106         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
10107
10108 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
10109
10110         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
10111         * config/s390/s390.c (gen_consttable): Remove.
10112         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
10113         (s390_output_pool_entry): New function.
10114         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
10115         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
10116         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
10117         (UNSPECV_POOL_ENTRY): ... this new constant.
10118         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
10119         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
10120         ("*pool_entry"): ... and replace by this new insn.
10121         ("literal_pool_31"): Do not emit anchor label if pool empty.
10122
10123         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
10124         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
10125         (s390_fixup_clobbered_return_reg): Remove.
10126         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
10127         (s390_return_addr_rtx): Always retrieve return address from save area
10128         slot.  Use save_return_addr_p to force slot to be filled.
10129         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
10130
10131 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
10132
10133         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
10134         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
10135         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
10136         around SB-1 errata if TARGET_FIX_SB1 is set.
10137         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
10138         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
10139
10140 2003-08-22  Roger Sayle  <roger@eyesopen.com>
10141
10142         * hashtable.c (ht_expand): Avoid calculating rehash for the common
10143         case that the first probe hits an empty hash table slot.
10144
10145 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
10146
10147         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
10148
10149 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
10150
10151         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
10152         (ptr_extend_plus_imm): ... this.
10153         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
10154         optimization in C++.
10155         (ia64_output_mi_thunk): Support ILP32 mode.
10156
10157 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
10158
10159         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
10160         function.
10161         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
10162
10163 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10164
10165         * config/i386/i386.c (const_int_1_operand): Simplify an
10166         integer comparison.
10167
10168 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
10169
10170         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
10171         * config/rs6000/ppc64-fp.c: Likewise.
10172
10173 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10174
10175         * cfgcleanup.c: Fix comment typos.
10176         * emit-rtl.c: Likewise.
10177         * optabs.c: Likewise.
10178         * ra-build.c: Likewise.
10179         * rtlanal.c: Likewise.
10180         * tree.h: Likewise.
10181
10182 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10183
10184         * c-decl.c: Fix comment formatting.
10185         * cfgrtl.c: Likewise.
10186         * combine.c: Likewise.
10187         * convert.c: Likewise.
10188         * dominance.c: Likewise.
10189         * dwarf2out.c: Likewise.
10190         * dwarfout.c: Likewise.
10191         * expmed.c: Likewise.
10192         * fold-const.c: Likewise.
10193         * gcov.c: Likewise.
10194         * genattrtab.c: Likewise.
10195         * ggc-common.c: Likewise.
10196         * mips-tfile.c: Likewise.
10197         * regmove.c: Likewise.
10198
10199 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10200
10201         * builtin-attrs.def: Fix comment formatting.
10202         * c-pretty-print.c: Likewise.
10203         * diagnostic.h: Likewise.
10204         * langhooks.h: Likewise.
10205         * recog.c: Likewise.
10206         * simplify-rtx.c: Likewise.
10207         * tree.def: Likewise.
10208
10209 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
10210
10211         * config/m68k/m68k-protos.h: Convert to ISO C90.
10212         * config/m68k/m68k.c: Likewise.
10213
10214 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
10215             Paul Dale  <pauli@snapgear.com>
10216             Peter Barada <peter@baradas.org>
10217
10218         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
10219         ColdFire cores.
10220
10221 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
10222
10223         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
10224         * config.gcc (*-*-openbsd): Don't set tm_file.
10225         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
10226         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
10227         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
10228         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
10229         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
10230         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
10231         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
10232         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
10233         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
10234         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
10235         xscale-*-coff): Use explicit and complete lists of target headers
10236         to include.  Move definitions to tm_defines where appropriate.
10237         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
10238         not-yet-contributed configuration.
10239
10240         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
10241         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
10242         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
10243         * config/i386/nto.h, config/iq2000/iq2000.h,
10244         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
10245         * config/m68k/linux.h, config/m68k/m68k-aout.h
10246         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
10247         * config/m68k/netbsd.h, config/m68k/openbsd.h
10248         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
10249         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
10250         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
10251         Remove includes of other target config headers, and
10252         definitions of macros moved to tm_defines lists.  Add #undefs
10253         where now necessary to prevent redefinition warnings.
10254
10255         * config/h8300/coff.h: New file split out of...
10256         * config/h8300/elf.h: ...here.
10257         * config/m68k/hp320base.h: New file split out of...
10258         * config/m68k/hp320.h: ...here.
10259         * config/rs6000/lynxbase.h: New file split out of...
10260         * config/rs6000/lynx.h: ...here.
10261
10262         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
10263         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
10264
10265         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
10266         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
10267         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
10268         Remove unnecessary #ifndef.
10269         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
10270         [under IN_LIBGCC2] with config/.
10271
10272 2003-08-21  Per Bothner  <pbothner@apple.com>
10273
10274         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
10275         to cpp_push_buffer.
10276         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
10277         by return_at_eof check.  Always call _cpp_pop_buffer at end.
10278
10279 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
10280
10281         PR target/11805
10282         * config/h8300/h8300.md (two anonymous patterns): Remove.
10283
10284 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
10285
10286         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
10287         * config/mips/mips.c (function_arg_pass_by_reference): Never return
10288         true for n32 & n64.
10289
10290 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
10291
10292         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
10293         and similarly in (A | C) == D where C & ~D != 0.
10294
10295 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
10296
10297         PR 8180
10298         * configure.in: When testing with_libs and with_headers, treat
10299         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
10300         * configure: Regenerate.
10301
10302 2003-08-20  Peter Barada <peter@baradas.org>
10303
10304         * longlong.h (umul_ppmm): Add ColdFire support.
10305
10306 2003-08-20  Peter Barada <peter@baradas.org>
10307             Bernardo Innocenti  <bernie@develer.com>
10308
10309         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
10310         * config/m68k/m68k.h: Likewise.
10311         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
10312         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
10313         * config/m68k/linux.h: Likewise.
10314         * config/m68k/m68k.c: Likewise.
10315         * config/m68k/m68k.md: Likewise.
10316         * config/m68k/m68kelf.h: Likewise.
10317         * config/m68k/netbsd-elf.h: Likewise.
10318         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
10319
10320 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
10321
10322         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
10323         * config/m68k/m68k.md: Likewise.
10324
10325 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
10326
10327         PR java/11996
10328         Revert this change:
10329         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
10330         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10331         types with precisions other than those given by native machine
10332         modes.
10333
10334 2003-08-20  Gunther Nikl  <gni@gecko.de>
10335
10336         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
10337         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
10338         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
10339         * config/m68k/m68k.md (anonymous define_insn): Likewise
10340         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
10341         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
10342         code selected by NO_ASM_FMOVECR
10343
10344 2003-08-20  Gunther Nikl  <gni@gecko.de>
10345
10346         * config/m68k/m68k.c (output_move_const_into_data_reg,
10347         output_move_himode): unify MOTOROLA/MIT handling of moveq
10348         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
10349         Likewise
10350
10351 2003-08-20  Gunther Nikl  <gni@gecko.de>
10352
10353         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
10354         label name
10355         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
10356         HOST_WIDE_INT_PRINT_DEC with %wd
10357
10358 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
10359
10360         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
10361         redefine warning.
10362
10363 2003-08-20  Roger Sayle  <roger@eyesopen.com>
10364
10365         PR middle-end/11984
10366         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
10367         operands before calling tree_int_cst_lt when performing associative
10368         transformations.
10369
10370 2003-08-20  Jason Merrill  <jason@redhat.com>
10371
10372         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
10373         (EXPR_CHECK): Don't check for 'r' or 's' if we're
10374         checking IS_EXPR_CODE_CLASS.
10375         * calls.c (calls_function_1): Likewise.
10376         * fold-const.c (fold): Likewise.
10377         * tree.c (iterative_hash_expr): Likewise.
10378         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
10379
10380 2003-08-20  Gunther Nikl  <gni@gecko.de>
10381
10382         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
10383         depending on MOTOROLA_BSR
10384         * config/m68k/m68k.md (anonymous define_insn): Likewise
10385
10386 2003-08-20  Jason Merrill  <jason@redhat.com>
10387
10388         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
10389         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
10390         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
10391         * dojump.c (do_jump): Likewise.
10392         * fold-const.c (operand_equal_p, fold): Likewise.
10393         (tree_expr_nonnegative_p): Likewise.
10394
10395         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
10396         TYPE_USER_ALIGN for FIELD_DECLs.
10397
10398         * attribs.c (decl_attributes): Rebuild the function pointer type after
10399         changing the target type.
10400         * tree.c (get_qualified_type): Also check that the attributes match.
10401
10402 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
10403
10404         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
10405         * objc/config-lang.in (stagestuff): ... to here.
10406
10407 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
10408
10409         PR c++/11946
10410         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
10411         NOP_EXPR) when necessary.
10412         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10413         types with precisions other than those given by native machine
10414         modes.
10415
10416 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
10417
10418         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
10419         because some macro is defined.
10420
10421         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
10422         options.
10423         * config/i386/darwin.h (ASM_SPEC): New.
10424         (SUBTARGET_EXTRA_SPECS): New.
10425         * config/rs6000/darwin.h (ASM_SPEC): New.
10426         (SUBTARGET_EXTRA_SPECS): New.
10427         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
10428         a cross-compiler between two different processors on Darwin.
10429         * configure: Regenerate.
10430
10431 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10432
10433         * builtins.c: Fix comment typos.
10434         * c-common.c: Likewise.
10435         * c-decl.c: Likewise.
10436         * c-pretty-print.c: Likewise.
10437         * cfgbuild.c: Likewise.
10438         * cfglayout.c: Likewise.
10439         * cfgloopanal.c: Likewise.
10440         * cgraphunit.c: Likewise.
10441         * cppfiles.c: Likewise.
10442         * dwarfout.c: Likewise.
10443         * expr.c: Likewise.
10444         * fold-const.c: Likewise.
10445         * gcse.c: Likewise.
10446         * ggc-page.c: Likewise.
10447         * haifa-sched.c: Likewise.
10448         * pretty-print.c: Likewise.
10449         * tree.c: Likewise.
10450         * tree.h: Likewise.
10451         * value-prof.c: Likewise.
10452
10453 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10454
10455         * c-decl.c: Follow spelling conventions.
10456         * cppfiles.c: Likewise.
10457
10458 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10459
10460         * c-common.c: Fix comment formatting.
10461         * c-common.h: Likewise.
10462         * c-decl.c: Likewise.
10463         * cppinit.c: Likewise.
10464         * cpplib.h: Likewise.
10465         * emit-rtl.c: Likewise.
10466         * input.h: Likewise.
10467         * line-map.h: Likewise.
10468         * opts.c: Likewise.
10469         * opts.h: Likewise.
10470         * simplify-rtx.c: Likewise.
10471
10472 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
10473
10474         * unwind-c.c: Add libgcc-style exception.
10475         * unwind-dw2.c: Likewise.
10476         * unwind-pe.h: Likewise.
10477         * unwind-sjlj.c: Likewise.
10478         * unwind.inc: Likewise.
10479
10480 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
10481
10482         PR c/5582 PR c++/10538
10483         * langhooks-def.h (lhd_decl_uninit): Declare.
10484         (LANG_HOOKS_DECL_UNINIT): New macro.
10485         (LANG_HOOKS_INITIALIZER): Adjust.
10486         * langhooks.h (struct lang_hooks): Add new field
10487         decl_uninit.
10488         * langhooks.c (lhd_decl_uninit): Define.
10489         * c-common.c (c_decl_uninit_1): New function.
10490         (c_decl_uninit): New function.
10491         (warn_init_self): Define.
10492         * c-common.h (c_decl_uninit): Declare.
10493         (warn_init_self): Declare.
10494         * c.opt: Introduce -Winit-self.
10495         * c-opts.c (c_common_handle_options): Set warn_init_self.
10496         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
10497         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
10498         * function.c (uninitialized_vars_warning): Call the language hook.
10499         * doc/invoke.texi: Document -Winit-self.
10500
10501 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
10502
10503         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
10504         to use better predicates and constraints.  Define new
10505         instruction to handle "trap_if" with DI-mode arguments.
10506         (conditional_trap): FAIL if trap code is not 0.
10507
10508 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
10509
10510         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
10511         strstr with $pb to a strcompare with "<pic base>"
10512         (ix86_output_addr_diff_elt): Output the real pic base.
10513
10514 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10515
10516         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
10517         (LANG_HOOKS_INITIALIZER): Correct.
10518         * c-lang.c: Likewise.
10519
10520 2003-08-19  Jan Hubicka  <jh@suse.cz>
10521
10522         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
10523         (cgraph_varpool_mark_needed_node): Likewise.
10524         * cgraph.h (notice_global_symbol): Declare
10525         * varasm.c (notice_global_symbol): Break out from ...
10526         (assemble_start_function): ... here; update for variables.
10527         (assemble_variable): Use notice_global_symbol.
10528
10529 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
10530
10531         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
10532         expect SFmode and DFmode arguments to be passed in FPRs,
10533         regardless of the underlying type.
10534
10535 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
10536
10537         PR target/11924
10538         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
10539         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
10540
10541 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
10542
10543         PR c/11207
10544         * c-typeck.c (set_init_index): Check for negative index.
10545
10546 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
10547
10548         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
10549         call0 ABI.
10550         * config/xtensa/crtn.asm (_init, _fini): Likewise.
10551         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
10552         __umodsi3, __modsi3): Likewise.
10553         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
10554         $(INCLUDES).
10555
10556 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
10557
10558         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
10559
10560 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10561
10562         * config/mips/mips.md: Quote C code in braces.  Remove use of
10563         fake const0_rtx operands.  Remove double backslashes.  Use \;.
10564         Remove workarounds for bogus warnings.
10565
10566 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10567
10568         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
10569         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
10570         rather than TARGET_MIPS4300.
10571         (mulsf3_internal, mulsf3_r4300): Likewise.
10572
10573 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10574
10575         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
10576
10577 2003-08-17  Roger Sayle  <roger@eyesopen.com>
10578
10579         * simplify-rtx.c (associative_constant_p): New function to test
10580         whether an RTX expression is an immediate constant.
10581         (simplify_associative_operation): New function to perform some
10582         reassociation optimizations of associative binary expressions.
10583         (simplify_binary_operation): Use simplify_associative_operation
10584         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
10585         Floating point expressions are only reassociated when unsafe
10586         math optimizations are permitted.
10587
10588 2003-08-17  Andreas Jaeger  <aj@suse.de>
10589
10590         * config/alpha/alpha.md: Remove usage of PARAMS.
10591
10592         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
10593         * config/i386/i386-interix.h: Likewise.
10594         * config/i386/winnt.c: Likewise.
10595         * config/i386/cygming.h: Likewise.
10596         * config/i386/cygwin2.c: Likewise.
10597         * config/darwin.c: Likewise.
10598         * config/darwin-c.c: Likewise.
10599         * config/darwin-protos.h: Likewise.
10600         * config/darwin.h: Likewise.
10601         * config/s390/s390-protos.h: Likewise.
10602         * config/s390/s390.c: Likewise.
10603         * config/ia64/ia64.c: Likewse
10604         * config/ia64/ia64-protos.h: Likewise.
10605         * config/ia64/ia64-c.c: Likewise.
10606
10607 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10608
10609         * config/sparc/sparc.c: Convert to ISO C.
10610
10611         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
10612         * config/sparc/sparc.c: Likewise.
10613
10614 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
10615
10616         PR c++/11512
10617         * stmt.c (expand_expr_stmt_value): Don't warn about any void
10618         typed expression.
10619
10620 2003-08-16  Jan Hubicka  <jh@suse.cz>
10621
10622         * i386.c (ix86_fntype_regparm): Rename from ...
10623         (ix86_function_regparm): ... this one; add fastcall and local
10624         functions.
10625         (ix86_function_ok_for_sibcall): Update.
10626         (ix86_return_pops_args): Likewise.
10627         (init_cumulative_args): Likewise.
10628         (x86_can_output_mi_thunk): Likewise.
10629         (function_arg): Fix formating.
10630         (x86_this_parameter): Fix fastcall.
10631         (x86_output_mi_thunk): Likewise.
10632
10633         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
10634         body as reachable; mark nested functions as needed too.
10635         (dump_cgraph): Do not output global.calls.
10636         * cgraph.h (cgraph_global_info): Kill.
10637         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
10638         (record_call_1): Speedup.
10639         (cgraph_analyze_function): Break out from ...; compute inlining
10640         parameters.
10641         (cgraph_finalize_compilation_unit): ... here.
10642         (cgraph_mark_inline): Kill computation of calls.
10643         (cgraph_decide_inlining): Do not compute most of initial values.
10644
10645 2003-08-14  Roger Sayle  <roger@eyesopen.com>
10646
10647         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
10648         to negate if either operand is easy to negate, if we don't care
10649         about sign-dependent rounding.
10650         (negate_expr): Make the logic to negate a REAL_CST explicit.
10651         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
10652         that's easy to negate, if we don't honor sign-dependent rounding.
10653         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
10654         negate, and the symmetric A * -B as -A * B if A is easy to negate.
10655         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
10656         -C/D if B and C are cheap to negate.  Add an explicit rule to
10657         optimize X/-1.0 as -X when we don't care about signaling NaNs.
10658
10659 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
10660
10661         * Makefile.in (tm_file): Rename tm_include_list.
10662         (tm_p_file): Rename tm_p_include_list.
10663         (build_xm_file): Rename build_xm_include_list.
10664         (host_xm_file): Rename host_xm_include_list.
10665         (xm_file): Rename xm_include_list.
10666         (xm_file_list): Add to be substituted.
10667         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
10668         Update to match.
10669         (bt-load.o): Add missing dependency on $(TM_H).
10670         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
10671         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
10672         build_xm_file, generate both *_file_list and *_include_list
10673         values from it.  (xm_file_list was formerly not being generated.)
10674         In *_include_list, prefix the names of all headers found in
10675         $(srcdir)/config with config/.  In each loop, consider only
10676         the special case files that can actually appear in that list.
10677         AC_SUBST all *_file_list and all *_include_list variables; do
10678         not AC_SUBST the plain *_file variables.
10679         * configure: Regenerate.
10680
10681 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10682
10683         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
10684
10685 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10686
10687         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
10688         direct calls.
10689         (attr_length_call): Include it here.  Improve length estimate for
10690         local calls.
10691         (output_call): Use targetm.binds_local_p.
10692
10693 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10694
10695         * builtins.c (CASE_MATHFN): New helper macro.
10696         (mathfn_built_in): Simplify and sort.
10697
10698         * protoize.c (substr): Delete, callers changed to `strstr'.
10699
10700 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
10701
10702         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
10703         * config/iq2000/xm-iq2000.h: Delete file.
10704
10705 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
10706
10707         * gengtype.c (walk_type): Process a subobject before processing
10708         the pointer that points to the subobject.
10709
10710 2003-08-13  Per Bothner  <pbothner@apple.com>
10711
10712         * regclass.c (init_reg_modes):  Make non-static.
10713         Rename to init_reg_modes_once per new naming convention.
10714         (init_regs):  Don't call init_reg_modes here.
10715         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
10716         * rtl.h (init_reg_modes_once):  New declaration.
10717         * toplev.c (backend_init):  Call init_regs after init_emit_once.
10718
10719 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
10720
10721         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
10722         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
10723
10724 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
10725
10726         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
10727         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
10728
10729 2003-08-13  Dale Johannesen  <dalej@apple.com>
10730
10731         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
10732         handling of decrement-and-branch farther than 32 bits.
10733
10734 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
10735
10736         * configure.in (make_compare_target): Move test to ...
10737         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
10738         * configure: Regenerate.
10739
10740 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
10741
10742         * config/mips/iris6.h: Convert to C90 prototypes.
10743         * config/mips/irix6-libc-compat.c: Likewise.
10744         * config/mips/mips-protos.h: Likewise.
10745         * config/mips/mips.c: Likewise.
10746
10747 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10748
10749         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
10750         for selected machines.  Comment heavily.
10751         fixinc/fixincl.x: Rebuild.
10752         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
10753
10754 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
10755
10756         * config/mips/mips.h: Tweak various comments.
10757         * config/mips/mips.c: Likewise.
10758
10759 2003-08-11  James E Wilson  <wilson@tuliptree.org>
10760
10761         PR optimization/11319
10762         PR target/10021
10763         * alias.c (find_base_value, case REG): Return 0 not src if no base
10764         found.
10765
10766 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10767
10768         * gcse.c (gmalloc): Fix last change.
10769
10770 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10771
10772         * simplify-rtx.c (simplify_binary_operation): Replace calls to
10773         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
10774         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
10775         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
10776
10777 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10778
10779         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
10780         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
10781         typecode for an ABS_EXPR.
10782
10783         * doc/c-tree.texi: Document ABS_EXPR.
10784
10785 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10786
10787         * fold-const.c (fold): Optimize any associative floating point
10788         operator with -funsafe-math-optimizations, not just MULT_EXPR.
10789
10790 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
10791
10792         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
10793         information in SHmedia case too.
10794         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
10795         Likewise.
10796         (__set_fpscr): Use an access via GOT for PIC case.
10797
10798 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
10799
10800         * configure.in (intermodule): Make switch test more portable.
10801         * configure: Regenerate.
10802
10803 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
10804
10805         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
10806         (restrap): Likewise.
10807
10808 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10809
10810         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
10811         (grealloc): Size argument is a size_t.
10812         (gcalloc): New function.  Use throughout in lieu of
10813         gmalloc/memset.
10814
10815         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
10816         xmalloc/memset.
10817         * config/ia64/ia64.c (ia64_reorg): Likewise.
10818         * conflict.c (conflict_graph_new): Likewise.
10819         * fixinc/fixincl.c (run_compiles): Likewise.
10820         * genattrtab.c (optimize_attrs): Likewise.
10821         * genrecog.c (new_decision): Likewise.
10822         * haifa-sched.c (schedule_block): Likewise.
10823         * hashtable.c (ht_create): Likewise.
10824
10825 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
10826
10827         * config/xtensa/lib2funcs.S: Fix whitespace.
10828         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
10829         syntax where appropriate.  Remove unnecessary backslash escapes.
10830         Reformat comments and fix some code formatting.
10831         (extendqisi2): Rearrange conditional.
10832         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
10833         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
10834         of fatal_insn.
10835
10836 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
10837
10838         * config/mips/mips.c: Various formatting fixes.
10839         (override_options): Resync -mtune handling with gas.
10840         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
10841         * config/mips/mips.h: More formatting fixes.
10842         (mips_abi): Move declaration.
10843         * config/mips/mips.md (exception_receiver): Add mode to
10844         unspec_volatile.
10845
10846 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
10847
10848         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
10849         evsplatfi here.
10850         (bdesc_1arg): Remove evsplati and evsplatfi.
10851
10852 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
10853
10854         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
10855         into account.
10856
10857 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10858
10859         * builtins.c (expand_builtin_strcat): Optimize constant strings.
10860
10861 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10862
10863         * pretty-print.c (pp_base_indent): Rename from pp_indent.
10864         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
10865         (struct c_pretty_print_info): Add more fields.
10866         (pp_c_left_paren): Move to c-pretty-print.c.
10867         (pp_c_right_paren): Likewise.
10868         (pp_c_left_brace): Likewise.
10869         (pp_c_right_brace): Likewise.
10870         (pp_c_left_bracket): Likewise.
10871         (pp_c_right_bracket): Likewise.
10872         (pp_c_declarator): Declare.
10873         (pp_c_direct_declarator): Likewise.
10874         (pp_c_specifier_qualifier_list): Likewise.
10875         (pp_c_type_id): Likewise.
10876         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
10877         (pp_c_type_qualifier_list): New.
10878         (pp_c_pointer): Likewise.
10879         (pp_c_parameter_type_list): Likewise.
10880         (pp_c_function_definition): Likewise.
10881         (pp_c_id_expression): Likewise.
10882         (pp_c_simple_type_specifier): Tidy.
10883         (pp_c_unary_expression): Likewise.
10884         (pp_c_expression): Likewise.
10885         (pp_c_pretty_printer_init): Likewise.
10886         (pp_c_specifier_qualifier_list): Rework..
10887         (pp_c_abstract_declarator): Likewise.
10888         (pp_c_postfix_expression): Likewise.
10889         (pp_c_primary_expression): Likewise.
10890         (pp_c_cast_expression): Likewise.
10891         (pp_c_direct_abstract_declarator): Likewise.
10892         (pp_c_storage_class_specifier): Likewise.
10893         (pp_c_function_specifier): Likewise.
10894         (pp_c_declaration_specifiers): Likewise.
10895         (pp_c_direct_declarator): Likewise.
10896         (pp_c_declarator): Likewise.
10897         (pp_c_declaration): Likewise.
10898         (pp_c_statement): Likewise.
10899         (pp_c_integer_constant): Rename from pp_c_integer_literal.
10900         (pp_c_character_constant): Rename from pp_c_character_literal.
10901         (pp_c_bool_constant): Rename from pp_c_bool_literal.
10902         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
10903         (pp_c_floating_constant): Rename from pp_c_real_literal.
10904         (pp_c_constant): Rename from pp_c_literal.
10905         * c-lang.c: Include diagnostic.h and c-pretty-print.h
10906         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
10907         (c_initialize_diagnostics): New.
10908         * Makefile.in (c-lang.o): Update dependency.
10909
10910 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
10911
10912         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
10913
10914 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
10915
10916         * config/mips/mips.c (mips_no_mips16_string): Remove.
10917         (override_options): Don't handle -mips16 as part of -mipsN.
10918         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
10919         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
10920         (TARGET_OPTIONS): Remove -mno-mips16.
10921
10922 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
10923
10924         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
10925         (coprocessor2_operand): Likewise.
10926         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
10927         (lookup_name): Remove declaration.
10928         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
10929         (mips16, mips_abicalls): Remove.
10930         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
10931         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
10932         (coprocessor_operand, coprocessor2_operand): Remove.
10933         (override_options): Don't set mips16 or mips_abicalls.
10934         (print_operand): Don't expect SIGN_EXTEND operands.
10935         (mips_secondary_reload_class): Likewise.
10936         (mips_output_conditional_branch): Remove disabled long-branch code.
10937         * config/mips/mips.h (call_used_regs): Remove declaration.
10938         (may_call_alloca): Likewise.
10939         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
10940         (mips_abicalls, mips16): Remove declarations.
10941         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
10942         (CC1_SPEC): Remove outdated comment.
10943         (MIPS_VERSION, MACHINE_TYPE): Remove.
10944         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
10945         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
10946         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
10947         (PUSH_ROUNDING): Likewise.
10948         (ASSEMBLER_SCRATCH_REGNUM): Remove.
10949         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
10950         and mips16 with TARGET_MIPS16.
10951
10952 2003-08-09  Per Bothner  <pbothner@apple.com>
10953
10954         * cppinit.c (cpp_read_main_file):  Split out source-independent
10955         initialization to separate function ...
10956         (cpp_post_options):  New function.
10957         * cppfiles.c (cpp_stack_file):  Rename public name to ...
10958         (_cpp_stack_file):  New internal function name.
10959         * cpplib.h:  Update accordingly.
10960         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
10961         (cpp_read_main_file):  Don't initialize line here.
10962         * c-opts.c (c_common_post_options):  Call cpp_post_options.
10963         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
10964         * fix-header.c (read_scan_file):  Call cpp_post_options.
10965
10966 2003-08-09  Per Bothner  <per@bothner.com>
10967
10968         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
10969
10970 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10971
10972         * pa.c (pa_asm_output_mi_thunk): Fix typo.
10973
10974 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
10975
10976         PR preprocessor/11839
10977         * cppfiles.c (open_file): Handle ENOTDIR.
10978
10979 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
10980
10981         PR target/11699
10982         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
10983
10984 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10985
10986         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
10987         source/destination is not a register operand.
10988
10989 2003-08-08  Richard Henderson  <rth@redhat.com>
10990
10991         PR target/11535
10992         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
10993         RETURN_ADDRESS_POINTER_REGNUM.
10994         (ia64_expand_prologue): Don't frob it.
10995         (ia64_output_function_epilogue): Likewise.
10996         (ia64_return_addr_rtx): New.
10997         (ia64_split_return_addr_rtx): New.
10998         * config/ia64/ia64-protos.h: Update.
10999         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
11000         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
11001         (GENERAL_REGNO_P): Don't check it.
11002         (AR_*_REGNUM): Renumber.
11003         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
11004         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
11005         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
11006         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
11007         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
11008         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
11009         (movdi_ret_addr): New.
11010
11011 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
11012
11013         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
11014
11015 2003-08-08  Roger Sayle  <roger@eyesopen.com>
11016
11017         * tree.h (get_identifier) Define a macro form of get_identifier
11018         that calls get_identifier_with_length when the string is constant.
11019         (get_identifier_with_length): Change type of second argument to
11020         size_t in prototype.
11021         * stringpool.c (get_identifier): Undefine the macro before giving
11022         the function definition.
11023         (get_identifier_with_length): Change  type of second argument to
11024         size_t in function definition.
11025         * hashtable.c (calc_hash): Change type of second argument to size_t.
11026         (ht_lookup): Change type of third argument to size_t.  Reorganize
11027         to speed-up the cases where the hash table slot is empty, or the
11028         first probe matches (i.e. there isn't a collision).
11029         * hashtable.h (ht_lookup): Adjust function prototype.
11030
11031 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
11032
11033         PR target/9697
11034         PR target/11777
11035         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
11036
11037 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
11038
11039         * common.opt: Add debug switches.
11040         * flags.h (use_gnu_debug_info_extensions): Boolify.
11041         * opts.c (write_symbols, debug_info_level,
11042         use_gnu_debug_info_extensions): Move from toplev.c.
11043         (set_debug_level): New.
11044         (common_handle_options): Handle debug switches.
11045         (print_help): Display target options directly.
11046         * toplev.c (debug_hooks): Don't initialize.
11047         (write_symbols, debug_info_level,
11048         use_gnu_debug_info_extensions): Move to opts.c.
11049         (debug_args, display_help, decode_g_option): Remove.
11050         (process_options): Set no debug if level zero here,
11051         and no-debug-hooks.  Error here if impossible debug format selected.
11052         * toplev.h (display_help, decode_g_option): Remove.
11053
11054 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
11055
11056         * tree.c (get_file_function_name_long): Fix size of alloca() area.
11057
11058 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
11059
11060         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
11061         and gcc_cv_prog_cmp_skip.
11062         * configure: Regenerate.
11063
11064 2003-08-08  Stan Cox  <scox@redhat.com>
11065
11066         * config/iq2000: New port.
11067         * config.gcc (iq2000-*-elf): Added.
11068         * doc/install.texi (Specific):  Add iq2000 description.
11069
11070 2003-08-08  Andreas Schwab  <schwab@suse.de>
11071
11072         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
11073         and insert missing empty argument.
11074         * configure: Regenerate.
11075
11076 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11077
11078         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
11079         (attr_length_millicode_call): Likewise.
11080         (attr_length_call): Likewise.  Revise some maximum insn lengths.
11081         (attr_length_indirect_call): Likewise.
11082         (output_call): Fix thinko that added extra nop.
11083         * pa.h (IN_NAMED_SECTION_P): Define.
11084
11085         PR c++/11712
11086         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
11087         __STDC_EXT__ when using C++ dialect.
11088
11089 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
11090
11091         * sh.c (calc_live_regs): If the return address pointer is live,
11092         force pr live.
11093         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
11094         for saves / restores.
11095         (sh_expand_epilogue): If sh_media_register_for_return returns a
11096         register number, flag the instructions that restores PR_MEDIA_REG
11097         as possibly dead.
11098         Remove dead update of offset.
11099         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
11100         we can use the result of get_hard_reg_initial_val.
11101         * sh.md (UNSPEC_RA): New constant.
11102         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
11103         (load_ra).  Handle UNSPEC_RA.
11104         (sibcall_media): Use PR_MEDIA_REG.
11105
11106         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
11107         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
11108         needs saving on SHmedia.
11109
11110 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
11111
11112         * config/s390/s390.md: Replace all occurrences of \\t with \t.
11113
11114 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
11115
11116         * local-alloc.c (combine_regs): Fix comment typo.
11117
11118 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
11119
11120         * c-decl.c (builtin_decls): Replace with first_builtin_decl
11121         and last_builtin_decl.
11122         (c_init_decl_processing): Initialize both.
11123         (c_reset_state): Iterate from first_builtin_decl to
11124         last_builtin_decl inclusive to reintroduce builtins.
11125
11126 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
11127
11128         * doc/extend.texi (Function Attributes): Document the IA-64 version
11129         of the "model" attribute.
11130
11131         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
11132         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
11133         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
11134
11135         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
11136         (ia64_encode_section_info): Likewise.
11137         (ia64_attribute_table): Add "model" attribute.
11138         (TARGET_ENCODE_SECTION_INFO): Define.
11139         (small_addr_symbolic_operand): New function.
11140         (got_symbolic_operand): Return 0 for a symbolref to an object
11141         in the small address area.
11142         (enum ia64_addr_area): New type.
11143         (small_ident1): New variable.
11144         (small_ident2): Likewise.
11145         (init_idents): New function.
11146         (ia64_get_addr_area): Likewise.
11147         (ia64_encode_addr_area): Likewise.
11148         (ia64_encode_section_info): Likewise.
11149         (ia64_expand_load_address): For symbolic references to objects in
11150         the small-address-area, load the address via gen_rtx_SET() (which,
11151         eventually, will expand into "addl").
11152
11153 2003-08-06  Per Bothner  <pbothner@apple.com>
11154
11155         * line-map.h (fileline):  New typedef.
11156         (struct line_map, linemap_add, linemap_lookup):  Use it.
11157         * input.h (struct location_s):  Comment notes that long-term we want
11158         to replace it by fileline.
11159
11160 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
11161
11162         Fix SHcompact exception handling:
11163         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
11164         by the prologue, return a MEM with return_address_pointer_rtx
11165         as address.
11166         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
11167         (RETURN_ADDR_OFFSET): Don't define.
11168         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
11169         registers that are visible in compact mode.  Show that SHmedia
11170         registers still exist in compact mode, even if there are not
11171         readily accessible.
11172         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
11173         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
11174         and DW_EH_PE_pcrel for pic data.
11175         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
11176         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
11177         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
11178         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
11179         * sh.md (movsi_media-1): New splitter.
11180
11181 2003-08-06  Graeme Peterson <gp@qnx.com>
11182
11183         * config/i386/nto.h: New.
11184         * config/i386/t-nto: New.
11185         * config.gcc (i[34567]86-*-nto-qnx*): New.
11186
11187 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
11188
11189         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
11190
11191 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
11192
11193         * calls.c (load_register_parameters): Arrange for call_fusage to
11194         report the whole register as used when shifting to the msb.
11195
11196 2003-08-05  Roger Sayle  <roger@eyesopen.com>
11197
11198         * builtins.c (expand_builtin): When not optimizing, call the library
11199         function for all builtins that have library functions (except alloca).
11200
11201 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
11202
11203         * c.opt: Introduce -fworking-directory.
11204         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
11205         * c-common.h (flag_working_directory): Declare.
11206         * c-common.c (flag_working_directory): Define.
11207         * c-opts.c (c_common_handle_options): Set it.
11208         (sanitize_cpp_opts): Set...
11209         * cpplib.h (struct cpp_options): ... working_directory option.
11210         (struct cpp_callbacks): Add dir_change.
11211         * cppinit.c (read_original_filename): Call...
11212         (read_original_directory): New.  Look for # 1 "directory//"
11213         and process it.
11214         (cpp_read_main_file): Call dir_change callback if working_directory
11215         option is set.
11216         * gcc.c (cpp_unique_options): Pass -g*.
11217         * c-lex.c (cb_dir_change): New.
11218         (init_c_lex): Set dir_change callback.
11219         * toplev.c (src_pwd): New static variable.
11220         (set_src_pwd, get_src_pwd): New functions.
11221         * toplev.h (get_src_pwd, set_src_pwd): Declare.
11222         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
11223         * dwarf2out.c (gen_compile_unit_die): Likewise.
11224         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
11225
11226 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11227
11228         * pretty-print.h (pp_set_line_maximum_length): Make macro.
11229         (pp_set_prefix): Likewise.
11230         (pp_destroy_prefix): Likewise.
11231         (pp_remaining_character_count_for_line): Likewise.
11232         (pp_clear_output_area): Likewise.
11233         (pp_formatted_text): Likewise.
11234         (pp_last_position_in_text): Likewise.
11235         (pp_emit_prefix): Likewise.
11236         (pp_append_text): Likewise.
11237         (pp_flush): Likewise.
11238         (pp_format_text): Likewise.
11239         (pp_format_verbatim): Likewise.
11240         (pp_tree_identifier): Tidy.
11241         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
11242         (pp_base_format_verbatim): Rename from pp_format_verbatim.
11243         (pp_base_flush): Rename from pp_flush.
11244         (pp_base_set_line_maximum_length): Rename from
11245         pp_set_line_maximum_length.
11246         (pp_base_clear_output_area): Rename from pp_clear_output_area.
11247         (pp_base_set_prefix): Rename from pp_set_prefix.
11248         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
11249         (pp_base_emit_prefix): Rename from pp_emit_prefix.
11250         (pp_base_append_text): Rename from pp_append_text.
11251         (pp_base_formatted_text): Rename from pp_formatted_text.
11252         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
11253         (pp_base_remaining_character_count_for_line): Rename from
11254         pp_remaining_character_count_for_line.
11255         * diagnostic.h (diagnostic_format_decoder): Tidy.
11256         (diagnostic_flush_buffer): Likewise.
11257         * c-pretty-print.h: (pp_c_string_literal): Declare.
11258         (pp_c_real_literal): Likewise.
11259         (pp_c_integer_literal): Likewise.
11260         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
11261         pp_identifier.
11262         (pp_c_character_literal): Tidy.
11263         (pp_c_string_literal): Make public.
11264         (pp_c_bool_literal): Likewise.
11265         (pp_c_integer_literal): Likewise.
11266         (pp_c_real_literal): Likewise.
11267
11268         * Makefile.in (C_PRETTY_PRINT_H): New variable.
11269         (c-pretty-print.o): Update dependence.
11270
11271 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
11272
11273         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
11274         ".set nomacro" state.
11275         (fix_truncsfsi2_macro): Likewise.
11276
11277 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
11278
11279         * tree.h (DID_INLINE_FUNC): Remove macro.
11280         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
11281         add tree check for FUNCTION_DECL.
11282         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
11283         (struct tree_decl): Rename inlined_function_flag to
11284         declared_inline_flag.
11285         * c-common.h (c_lang_decl): Remove.
11286         (DECL_ESTIMATED_INSNS): Remove.
11287         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
11288         (DECL_DECLARED_INLINE_P): Remove.
11289         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
11290         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
11291         (finish_function): Make uninlinable a bool.  Fixup call to
11292         tree_inlinable_function_p() and fix some code style issues.
11293         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
11294         * cgraph.c (dump_cgraph): Likewise.
11295         * cgraphunit.c (cgraph_decide_inlining): Likewise
11296         (cgraph_finalize_compilation_unit): Likewise.
11297         Also update call to tree_inlinable_function_p().
11298         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
11299         look at DECL_DECLARED_INLINE and reverse logic.
11300         * print-tree.c (print_node): Likewise.
11301         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
11302         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
11303         prototype.
11304         * tree-inline.c (inlinable_function_p): Split up in this function to
11305         check for basic inlining inhibiting conditions, and new
11306         limits_allow_inlining() function.  Warn if inlining is impossible
11307         because the inline candidate calls alloca or uses sjlj exceptions.
11308         (limits_allow_inlining): this new function to check if the inlining
11309         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
11310         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
11311         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
11312         Update prototypes.
11313         (tree_inlinable_function_p): Make a bool.  Update call to
11314         inlinable_function_p
11315         (expand_call_inline): Use limits_allow_inlining() when not in
11316         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
11317         instead see if the function was declared `inline'.
11318
11319 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
11320
11321         * gcse.c (try_replace_reg): Fix updating of note.
11322
11323 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11324
11325         PR middle-end/11771
11326         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
11327         logic in negate_expr, i.e. we don't invert (A-B) for floating
11328         point types unless flag_unsafe_math_optimizations.
11329
11330 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11331
11332         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
11333         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
11334         for floating point expressions with -ffast-math.
11335         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
11336         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
11337
11338 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11339
11340         * c-common.c (flag_noniso_default_format_attributes): Delete.
11341         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
11342         (c_attrs_initialized): Delete.
11343         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
11344         always call c_init_attributes.
11345         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
11346         set c_attrs_initialized when done.
11347         (c_common_insert_default_attributes): Delete.
11348         * c-common.h (flag_noniso_default_format_attributes): Delete.
11349         (c_coomon_insert_default_attributes): Delete prototype.
11350         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
11351         flag_noniso_default_format_attributes.
11352
11353         * c-decl.c (c_insert_default_attributes): Delete.
11354         * c-tree.h (c_insert_default_attributes): Delete prototype.
11355
11356         * attribs.c (decl_attributes): Don't call insert_default_attributes
11357         langhook.  Update function description comment.
11358         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
11359         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
11360         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
11361         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
11362
11363         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
11364         define.
11365
11366 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
11367
11368         * config/mips/mips.c (override_options): Disable -G on targets that
11369         have no .section support.
11370         (mips_select_section): Use default_select_section for such targets.
11371
11372 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
11373
11374         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
11375         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
11376         * fixinc/fixincl.x: Rebuild.
11377         * fixinc/tests/base/regexp.h: New test.
11378
11379 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
11380
11381         * c-ppoutput.c (cb_line_change): Don't skip line changing while
11382         parsing macro arguments in the top-level context.
11383
11384 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
11385
11386         * config.in: Remove HAVE_LSTAT.
11387         * configure, configure.in: Don't test for lstat.
11388
11389 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11390
11391         * opts.c (decode_options): Do language-specific initialization for
11392         the global diagnostic context.
11393         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
11394         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
11395         (LANG_HOOKS_INITIALIZER): Adjust.
11396         * langhooks.h (struct lang_hooks): Add new field
11397         initialize_diagnostics.
11398         * langhooks.c (lhd_initialize_diagnostics): Define.
11399
11400 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11401
11402         * pretty-print.h:   Adjust macro definitions.
11403         * pretty-print.c (pp_newline): Rename to pp_base_newline.
11404         (pp_character): Rename to pp_base_character.
11405         (pp_string): Rename to pp_base_string.
11406         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
11407         (pp_newline):  Likewise.  Adjust.
11408         (pp_c_char): Adjust.
11409
11410 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11411
11412         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
11413         BUILT_IN_LLABS): Move to miscellaneous section.
11414
11415 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
11416
11417         PR preprocessor/11534
11418         * cppexp.c (parse_defined): Warn only if -pedantic.
11419
11420 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
11421
11422         * cppfiles.c (stack_file): Use file path.
11423
11424 2003-08-02  Roger Sayle  <roger@eyesopen.com>
11425
11426         * builtin-types.def (BT_SSIZE): New primitive type.
11427         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
11428         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
11429         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
11430         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
11431         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
11432         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
11433         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
11434         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
11435         few functions that define default attributes using it.
11436         * c-common.c (c_common_insert_default_attributes): Do nothing.
11437
11438         * doc/extend.texi: Document these "new" builtins.
11439
11440 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
11441
11442         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
11443         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
11444         when -mieee-fp set and -shared not set.
11445         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
11446
11447 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
11448
11449         * cppfiles.c (struct _cpp_file): Rename once_only_next to
11450         next_file.  Remove import and pragma_once, add once_only.
11451         (find_file): Add new file structures to the all_files list.
11452         (should_stack_file): Mark #import-ed files once-only, and
11453         don't stack them if the file has already been stacked.
11454         (_cp_mark_file_once_only): Simplify.
11455         * cpphash.h (struct cpp_reader): Rename once_only_files
11456         to all_files.  Rename saw_pragma_once to seen_once_only.
11457         (_cpp_mark_file_once_only): Update prototype.
11458         * cpplib.c (do_pragma_once): Update.
11459
11460 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
11461
11462         * cppfiles.c (ENOTDIR): Remove.
11463         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
11464         other than ENOENT here.
11465         (once_only_file_p): Rename should_stack_file.
11466         (find_file, open_file_failed, read_file_guts): Report errors
11467         with full path name.
11468         (read_file): Move pch handling to should_stack_file.
11469         (should_stack_file): Handle PCH and once-only issues, and
11470         reading the file.
11471         (stack_file): Don't do file reads.
11472
11473 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11474
11475         * libgcov.c (gcov_exit): Cleanup and fix.
11476         * profile.c (compute_value_histograms): Don't try to read profiles
11477         that are not present.
11478
11479 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11480
11481         * builtins.def: Categorize.
11482
11483         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
11484         Mind fp rounding.
11485         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
11486
11487 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
11488
11489         * config.gcc: Enable posix threads by default on darwin.
11490
11491 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
11492
11493         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
11494         even if nehedges1 is 0.
11495
11496 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
11497
11498         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
11499         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
11500         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
11501         and defintions.
11502
11503         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
11504         * fixinc/fixincl.x: Regenerate.
11505         * fixinc/tests/base/math.h: Regenerate to match test_text change.
11506
11507 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11508
11509         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
11510
11511 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11512
11513         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
11514         for accesses to exc_ptr.
11515
11516 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
11517
11518         * doc/sourcebuild.texi (Front End Directory): Don't make references
11519         to libsubdir, it's not part of the interface to frontends.
11520         * doc/install.texi (Configuration): Help users read faster by saying
11521         that GCC's configure options are the standard autoconf ones.
11522         Mention --libdir.  Update the default rules for finding the
11523         assembler.  Don't use libsubdir since we haven't said what it means.
11524         (Specific): In the Solaris 7 notes, update the place to put the
11525         assembler.
11526         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
11527         * doc/cpp.texi (Search Path): Actually, the search path
11528         depends on libdir, which can relocate with cpp.
11529         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
11530         now a private interface between the Makefile and the driver.
11531
11532 2003-08-01  Richard Henderson  <rth@redhat.com>
11533
11534         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
11535
11536         * varasm.c (lookup_constant_def): New function.
11537         * rtl.h (lookup_constant_def): Declare it.
11538         * dwarf2out.c (loc_descriptor_from_tree): Use it.
11539         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
11540
11541 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
11542
11543         * c-decl.c (gettags, pushdecl_function_level): Delete.
11544         (last_function_parm_vars): Rename last_function_parm_others.
11545         (current_function_parm_vars): Rename current_function_parm_others.
11546         (struct c_scope): Rewrite comment explaining this data structure.
11547         Add names_last, blocks_last, parms_last fields.  Rename
11548         incomplete_list to incomplete.
11549         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
11550         (poplevel): Ignore second argument.  No need to nreverse
11551         anything.  Restructure such that each list is processed
11552         exactly once.  Use 'const location_t *locus' syntactic sugar
11553         variable where useful.  Issue unused variable warnings
11554         ourselves, do not rely on function.c.
11555         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
11556         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
11557         (implicitly_declare): decl cannot be error_mark_node.
11558         (undeclared_variable): Manipulate scope structure directly.
11559         (c_make_fname_decl): Likewise.
11560         (getdecls, c_init_decl_processing): Fix comment.
11561         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
11562         for 'last' variable.
11563         (grokparms): No need to nreverse parms list.
11564         (store_parm_decls_newstyle): Set up the parms_last and
11565         names_last fields of the new scope too.
11566         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
11567         on parms to begin with; check this under ENABLE_CHECKING.  Set
11568         up parms_last.
11569         (check_for_loop_decls): Refer directly to current_scope->tags.
11570         Use consistent quote style in diagnostics.
11571         (c_write_global_declarations): The names list is not backward.
11572
11573         * c-common.h: Don't prototype gettags.
11574         * c-parse.in: Call poplevel with second argument 0 always.
11575
11576 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11577
11578         * builtins.def: Resort builtins.
11579
11580 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11581
11582         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
11583         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
11584         Prepend "__builtin_" onto NAME with string concatenation.  Remove
11585         explicit "__builtin_" from each macro call.
11586
11587         Reformat entire file.
11588
11589 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11590
11591         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
11592         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
11593
11594 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
11595
11596         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
11597         CCL1, or CCL2 modes with floating point operations.
11598
11599         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
11600         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
11601         "*subdf3_cconly"): New insns.
11602         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
11603
11604 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
11605
11606         * Makefile.in: Refine dependencies.
11607         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
11608         * c.opt: Update help for -Wimport.
11609         * cppfiles.c: Include hashtab.h.  Update comments.
11610         (stack_file): Read the file before updating dependencies.
11611         (once_only_file_p): Be smarter about marking once-only files.
11612         (_cpp_mark_file_once_only): Correct the check for existence on
11613         the list.
11614         (open_file_failed): Use name not path, which is NULL.
11615         * cpphash.h: Don't include hashtab.h.
11616         (struct _cpp_file): Remove.
11617         (struct cpp_reader): Update.
11618         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
11619         * cpplib.h (struct cpp_options): Remove warn_import.
11620         (cpp_simplify_path): Remove.
11621
11622 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
11623
11624         PR c++/11295
11625         * doc/extend.texi (Statement Expressions): Document C++ semantics.
11626
11627 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
11628
11629         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
11630
11631 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11632
11633         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
11634         throughout.
11635         * builtins.def: Likewise.
11636
11637 2003-07-31  Jason Merrill  <jason@redhat.com>
11638
11639         * Makefile.in (bubblestrap): Don't require a previous full
11640         bootstrap.
11641
11642         * expr.c (mostly_zeros_p): No longer static.
11643         * tree.h: Declare it.
11644         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
11645         unless we need to do substitutions.
11646
11647 2003-07-31  Roger Sayle  <roger@eyesopen.com>
11648
11649         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
11650         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
11651         as pow(x,2.0) when the latter will be expanded back into x*x.
11652         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
11653         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
11654         pow can never set errno when used with an integer exponent.
11655         Always use expand_powi when exponent is -1, 0, 1 or 2.
11656         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
11657         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
11658         the pow forms of these expressions.
11659
11660 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
11661
11662         * Makefile.in (libexecdir): New.
11663         (libsubdir): Use gcc instead of gcc-lib.
11664         (libexecsubdir): New.
11665         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
11666         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
11667         gcc-lib.
11668         (installdirs): Make libexecsubdir.
11669         (install-common): Put executables in libexecsubdir.
11670         (itoolsdir): Use libexecsubdir.
11671         (itoolsdatadir): New.
11672         (install-mkheaders): Separate data files and executables.
11673         (install-collect2): Put executables in libexecsubdir.
11674         (uninstall): Remove libexecsubdir.
11675         * mkheaders.in: Update for new arrangement of files.
11676         (libexecdir): New.
11677         (libexecsubdir): New.
11678         (itoolsdir): Use libexecsubdir.
11679         (itoolsdatadir): New.
11680         * gcc.c (gcc_libexec_prefix): New.
11681         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
11682         (standard_exec_prefix_1): Use libexec.
11683         (standard_exec_prefix_2): New.
11684         (standard_libexec_prefix): New.
11685         (process_command): Update for new arrangement of files.  Compute
11686         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
11687
11688 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
11689
11690         * inclhack.def (stdio_va_list): Avoid bogus replacement which
11691         triggers on Interix.
11692         * fixincl.x: Regenerate.
11693
11694 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
11695
11696         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
11697         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
11698
11699 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11700
11701         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
11702
11703 2003-07-31  Per Bothner  <pbothner@apple.com>
11704
11705         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
11706         (add_input_filename):  New function.
11707         (handle_options):  Call add_input_filename directly instead of
11708         with a lang hook.
11709         * opts.h (in_fnames, num_in_fnames):  Moved here.
11710         (add_input_filename):  Declare.
11711         * c-decl.c:  Need to #include opts.h.
11712         * Makefile.in (c-decl.o):  Also depends on opts.h.
11713         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
11714         (c_common_handle_filename):  Replaced by add_input_filename.
11715         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
11716         Remove.
11717         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
11718         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
11719         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
11720         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
11721
11722 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11723
11724         * combine.c (try_combine): Set JUMP_LABEL for newly created
11725         unconditional jump.
11726
11727 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11728
11729         * fold-const.c (fold): Fold some comparisons of bit operations.
11730
11731 2003-07-31  Jan Hubicka  <jh@suse.cz>
11732
11733         * cgraph.c (create_edge): Fix typo.
11734         * i386.c (pic_symbolic_operand): Reorder tests.
11735
11736 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
11737
11738         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
11739         more fully.
11740         (Gcov Data Files): Update.
11741
11742 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11743
11744         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
11745         default.
11746
11747         * gthr-posix.c: New file.
11748         * gthr-posix.h: Define _REENTRANT if missing.
11749         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
11750
11751         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
11752         by gthr-posix.o.
11753         * config/alpha/t-osf-pthread: New file.
11754
11755         * fixinc/inclhack.def (alpha_pthread): New fix.
11756         * fixinc/fixincl.x: Regenerate.
11757         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
11758
11759         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
11760         warning.
11761         Fixes PR bootstrap/9330.
11762
11763 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11764
11765         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
11766         without GNU ld.
11767         Update comment.
11768         * configure: Regenerate.
11769
11770 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
11771
11772         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
11773         setter.
11774
11775 2003-07-30  Roger Sayle  <roger@eyesopen.com>
11776
11777         * builtins.def: Alphabetize.
11778
11779 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
11780
11781         * doc/c-tree.texi: Normalize spellings of "lowercase" and
11782         "uppercase".
11783         * doc/cpp.texi: Likewise.
11784         * doc/md.texi: Likewise.
11785         * doc/rtl.texi: Likewise.
11786         * doc/tm.texi: Likewise.
11787
11788 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
11789
11790         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
11791         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
11792         of cc1obj.
11793
11794 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
11795
11796         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
11797         macros before defining them.
11798
11799 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
11800
11801         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
11802         UNSPECV_BLOCKAGE): New constants.
11803         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
11804         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
11805         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
11806         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
11807
11808         (all insns and expanders): Write output control string as brace block
11809         where appropriate.  Remove \-escapes for doublequote characters.
11810
11811 2003-07-31  Jan Hubicka  <jh@suse.cz>
11812
11813         * gcse.c (insert_store): Fix typo in previous patch.
11814
11815 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
11816
11817         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
11818
11819 2003-07-30  Andi Kleen  <ak@muc.de>
11820
11821         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
11822
11823 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11824
11825         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
11826         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
11827         GCOV_N_VALUE_COUNTERS): New.
11828         * profile.c (compute_value_histograms): New static function.
11829         (branch_prob): Read back the value histograms.
11830         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
11831         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
11832         * value-prof.c: Add comment on reading the profile.
11833         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
11834         * doc/invoke.texi (-fprofile-values): Document behavior with
11835         -fbranch-probabilities.
11836
11837 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
11838
11839         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
11840
11841 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
11842
11843         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
11844         symbolically.
11845
11846 2003-07-30  Jan Hubicka  <jh@suse.cz>
11847
11848         * gcse.c (insert_store): Ignore fake edges.
11849
11850         * c-common.c (flag_vtable_gc): Kill.
11851         * c-common.g (flag_vtable_gc): Kill.
11852         * c-opts (c_common_handle_option): Kill.
11853         * c.opt (fvtable-gc): Kill.
11854         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
11855         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11856         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11857
11858         * invoke.texi (-ftable-gc): Kill documentation.
11859
11860         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
11861         just because function body is missing.
11862
11863         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
11864
11865 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
11866
11867         * unwind-sjlj.c: Fix typo in file description.
11868
11869 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
11870
11871         * calls.c (load_register_parameters): When shifting reg sized values
11872         to the msb, move the value to a reg first.
11873
11874 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
11875
11876         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
11877         * line-map.h (linemap_add): Update comments.
11878         * line-map.c (linemap_add): Update comments, interpret zero-length
11879         filename as "<stdin>".
11880
11881 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
11882
11883         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
11884
11885 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
11886
11887         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
11888         New static variables.
11889         (struct c_scope): Add parms and warned_forward_parm_decls
11890         fields; remove parm_order.
11891         (storedecls, storetags): Delete.
11892         (poplevel): Also clear bindings on the parms chain.
11893         (pushdecl): Handle forward declarations of parameters, and
11894         chain PARM_DECLs on the parms list, not the names list.
11895         (lookup_name_current_level): Check for PARM_DECLs on the parms
11896         list too.
11897         (push_parm_decl): Don't update parm_order.
11898         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
11899         warning, only once per parameter list, and set TREE_ASM_WRITTEN
11900         on the decls here.  Then move the forward decls to the names list.
11901         (grokparms): Set last_function_parm_vars.
11902         (get_parm_info): Don't use gettags or getdecls.  No need to
11903         extract non-parms from the parms list, or reorganize the parms
11904         list.  Feed nonparms back in the TREE_TYPE of the list node
11905         returned.  Issue only one error per parameter list for "void"
11906         appearing more than once in said parameter list.  Collapse
11907         parmlist_tags_warning into this function to avoid double scan
11908         of tags list.
11909         (start_function): Set current_function_parm_vars.
11910         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
11911         directly.  Get non-parms from current_function_parm_vars; no
11912         need to extract them from the parms chain.  Properly bind tags
11913         in the new scope.
11914         (store_parm_decls_oldstyle): No need to extract non-parameters
11915         from the parms chain, nor to store them back afterward.  Move
11916         declaration to top of function, restructure code reordering
11917         DECL_ARGUMENTS.
11918         (store_parm_decls): No need to save and restore warn_shadow.
11919         * c-parse.in: Don't call parmlist_tags_warning nor
11920         clear_parm_order.  Call mark_forward_parm_decls when forward
11921         parm decls are encountered.
11922         * c-tree.h: Prototype mark_forward_parm_decls; not
11923         clear_parm_order or parmlist_tags_warning.
11924
11925 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
11926
11927         * c-common.c (allow_pch): Remove.
11928         * c-common.h (allow_pch): Remove.
11929         (c_common_no_more_pch): Declare.
11930         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
11931         * c-pch.c: Include hosthooks.h.
11932         (c_common_valid_pch): Don't check allow_pch.
11933         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
11934         (c_common_no_more_pch): New.
11935         * ggc-common.c: Include hosthooks.h.
11936         (gt_pch_save): Call gt_pch_get_address.
11937         (gt_pch_restore): Call gt_pch_use_address.
11938         * hooks.c (hook_voidp_size_t_null): New.
11939         (hook_bool_voidp_size_t_false): New.
11940         * hooks.h (hook_voidp_size_t_null): New.
11941         (hook_bool_voidp_size_t_false): New.
11942         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
11943         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
11944         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
11945         HOST_HOOKS_GT_PCH_USE_ADDRESS.
11946         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
11947         gt_pch_use_address.
11948         * doc/hostconfig.texi (Host Common): Document
11949         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
11950         * Makefile.in (c-pch.o): Depend on hosthooks.h.
11951         (ggc-common.o): Likewise.
11952
11953         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
11954         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
11955         (pch_address_space): New.
11956         (darwin_rs6000_gt_pch_get_address): New.
11957         (darwin_rs6000_gt_pch_use_address): New.
11958
11959 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
11960
11961         PR preprocessor/11569
11962         PR preprocessor/11649
11963         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
11964         * cppfiles.c: Completely rewritten.
11965         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
11966         struct cpp_path is now struct cpp_dir.
11967         (remove_duplicates): Don't simplify path names.
11968         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
11969         cpp_stack_file.
11970         * cpphash.h: Include hashtab.h.
11971         (_cpp_file): Declare.
11972         (struct cpp_buffer): struct include_file is now struct _cpp_file,
11973         and struct cpp_path is now struct cpp_dir.  Rename members.
11974         (struct cpp_reader): Similarly.  New members once_only_files,
11975         file_hash, file_hash_entries, quote_ignores_source_dir,
11976         no_search_path, saw_pragma_once.  Remove all_include_files and
11977         max_include_len.  Make some members bool.
11978         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
11979         (_cpp_stack_file): Renamed from _cpp_read_file.
11980         (_cpp_stack_include): Renamed from _cpp_execute_include.
11981         (_cpp_init_files): Renamed from _cpp_init_includes.
11982         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
11983         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
11984         (cpp_read_next_file): Rename and move to cppfiles.c.
11985         (cpp_read_main_file): Update.
11986         * cpplib.c (run_directive): Update for renamed members.
11987         (do_include_common, _cpp_pop_buffer): Update.
11988         (do_import): Undeprecate #import.
11989         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
11990         * cpplib.h: Remove file_name_map_list.
11991         (cpp_options): Remove map_list.
11992         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
11993         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
11994
11995 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
11996
11997         * Makefile.in:  Make stamp-objdir safe for parallel builds.
11998
11999 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
12000
12001         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
12002         (info):  Depend on stmp-docobjdir.
12003
12004 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12005
12006         * configure: Regenerate.
12007
12008 2003-07-29  Jan Hubicka  <jh@suse.cz>
12009
12010         PR C++/11131
12011         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
12012         in !unit-at-a-time mode.
12013
12014 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
12015
12016         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
12017         main function.
12018
12019 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
12020
12021         PR c++/11667
12022         * c-common.c (shorten_compare): Take into account differences
12023         between C and C++ representation for enumeration types.
12024         * tree.h (set_min_and_max_values_for_integral_type): Declare.
12025         * stor-layout.c (set_min_and_max_values_for_integral_type): New
12026         function, broken out from ...
12027         (fixup_signed_type): ... here and ...
12028         (fixup_unsigned_type): ... here.
12029
12030 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
12031
12032         * c-decl.c: Update commentary, adjust blank lines throughout.
12033         (struct c_scope): Fix indentation.  Reorder members so
12034         outer-context pointers come first, booleans last.
12035         (duplicate_decls, define_label): Use a 'locus' variable for
12036         diagnostic locations in a few more places.
12037         (warn_if_shadowing): Un-split a conditional that fits on one line.
12038         (c_init_decl_processing): No need to clear current_scope and
12039         current_function_scope.
12040         (start_decl): Merge if/else if statements with same action.
12041         (push_parm_decl): Rename old_immediate_size_expand to use
12042         save_foo convention; save/restore around entire function.
12043         (grokdeclarator): Remove unnecessary braces.
12044
12045 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
12046             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
12047
12048         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
12049         when warn_declaration_after_statement.  Call pedwarn_c90, not
12050         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
12051         * c-common.c (warn_declaration_after_statement): Define.
12052         * c-common.h (warn_declaration_after_statement): Declare.
12053         * c.opt (Wdeclaration-after-statement): New.
12054         * c-errors.c (pedwarn_c90): New function.
12055         * c-opts.c (c_common_handle_option) <case
12056         OPT_Wdeclaration_after_statement>: New.
12057         * c-tree.h (pedwarn_c90): Declare.
12058         * doc/invoke.texi (Option Summary): Document
12059         -Wdeclaration-after-statement.
12060         (Warning Options): Ditto.
12061
12062 2003-07-28  Jan Hubicka  <jh@suse.cz>
12063
12064         * i386.md (memory attribute) Avoid accessing uninitialized memory
12065         for ishift1 type instructions.
12066
12067 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
12068
12069         * configure.in (--enable-checking): Add fold category.
12070         (ENABLE_FOLD_CHECKING): Define if requested.
12071         * configure: Rebuilt.
12072         * config.in: Rebuilt.
12073         * doc/install.texi: Document it.
12074         * fold-const.c: Include md5.h.
12075         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
12076         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
12077         print_fold_checksum): New functions.
12078
12079         * fold-const.c (fold): Never modify argument passed to fold, instead
12080         change a copy and return it.
12081         * convert.c (convert_to_integer): Likewise.
12082
12083 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
12084
12085         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
12086         cleanup of junk after #else and #endif directives.  Collapse repeated
12087         clauses into for statment.
12088
12089         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
12090
12091 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
12092
12093         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
12094         (keep_next_if_subblocks): Rename next_is_function_body.
12095         (pushlevel): Adjust commentary.  Always set ->keep on the
12096         outermost level of a function.  Don't set ->keep_if_subblocks.
12097         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
12098         (store_parm_decls): Adjust to match.
12099         (finish_function): Adjust to match.
12100         Call poplevel with all three arguments zero.
12101
12102         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
12103         New functions split out of store_parm_decls.
12104         Avoid unnecessary work. Use local variables consistently.
12105         (store_parm_decls): Likewise.
12106
12107         (finish_function): No need to set functionbody flag on call to
12108         poplevel.
12109         (struct language_function): Remove scope field.
12110         (c_push_function_context, c_pop_function_context): No need to
12111         save and restore current_scope.
12112
12113 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
12114
12115         * doc/extend.texi (Deprecated Features): Implicit typename is
12116         gone. Default args on types is going.
12117
12118 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
12119
12120         * Makefile.in (ifcvt.o): Depend on target.h
12121         * ifcvt.c (target.h): Include.
12122         (if_convert): Don't call mark_loop_exit_edges if we can't
12123         modify jumps.
12124
12125 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12126
12127         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
12128
12129 2003-07-26  Richard Henderson  <rth@redhat.com>
12130
12131         PR inline-asm/11676
12132         * cse.c (count_reg_usage): Handle asm_operands properly.
12133
12134 2003-07-26  Roger Sayle  <roger@eyesopen.com>
12135
12136         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
12137         (DEF_EXT_FALLBACK_BUILTIN): Delete.
12138         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
12139         the regular DEF_EXT_LIB_BUILTIN macro.
12140         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
12141         the regular DEF_LIB_BUILTIN macro.
12142         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
12143         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
12144         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
12145         DEF_EXT_LIB_BUILTIN macro.
12146
12147         * c-decl.c (duplicate_decls): Remove code to handle builtin
12148         functions prototyped without an argument list.
12149
12150 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
12151
12152         * config/i386/winnt.c: Revert 2003-07-08 change.
12153         (i386_pe_section_type_flags): Remove error_with_decl here too.
12154
12155 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12156
12157         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
12158         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
12159         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
12160         (v850_handle_data_area_attribute): Likewise.
12161
12162 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
12163
12164         * varasm.c (output_constant_def_contents): Use
12165         ASM_DECLARE_CONSTANT_NAME if defined.
12166         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
12167         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
12168         objects get at least one byte to prevent assembler problems.
12169         (ASM_DECLARE_CONSTANT_NAME): New.
12170
12171         * Makefile.in (libbackend.o): Remove options_.h.
12172         (mostlyclean): Likewise.
12173
12174         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
12175         insert a label at the end of an function under Mach-O.
12176
12177         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
12178
12179 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
12180
12181         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
12182         equality.
12183         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
12184
12185         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
12186
12187 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12188
12189         * doc/passes.texi (Passes): Mention pretty-printing and
12190         diagnostic files.
12191
12192 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
12193
12194         * doc/extend.texi (Function Attributes): GNU C++ does now allow
12195         unused parameter decls.
12196         (Attribute Syntax): GNU C++ does not allow label attributes to be
12197         after the ':'.
12198
12199 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12200
12201         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
12202         (objc_declare_class): Likewise.
12203         (error_with_ivar): Likewise.
12204         (start_class): Likewise.
12205         (warn_with_method): Likewise.
12206
12207 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12208
12209         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
12210         from GCC.
12211         * calls.c (try_to_integrate): Don't use xxx_with_decl.
12212         (expand_call): Likewise.
12213         * dwarfout.c (output_reg_number): Likewise.
12214         * expr.c (expand_expr): Likewise.
12215         * function.c (assign_temp): Likewise.
12216         (uninitialized_vars_warning): Likewise.
12217         (setjmp_args_warning): Likewise.
12218         (expand_function_end): Likewise.
12219         * stmt.c (fixup_gotos): Likewise.
12220         (warn_about_unused_variables): Likewise.
12221         (expand_end_bindings): Likewise.
12222         * stor-layout.c (layout_decl): Likewise.
12223         (place_field): Likewise.
12224         * toplev.c (check_global_declarations): Likewise.
12225         (rest_of_handle_inlining): Likewise.
12226         (default_tree_printer): New function.
12227         (general_init): Initialize diagnostic machinery before routing
12228         signals to the ICE machinery.  Set default tree printer.
12229         * toplev.h (pedwarn_with_decl): Remove declaration.
12230         (warning_with_decl): Likewise.
12231         (error_with_decl): Likewise.
12232         (pedwarn): Remove attribute for the time being.
12233         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
12234         * varasm.c (named_section): Likewise.
12235         (make_decl_rtl): Likewise.
12236         (assemble_variable): Likewise.
12237         (merge_weak): Likewise.
12238         (declare_weak): Likewise.
12239
12240         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
12241         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
12242         (format_with_decl): Remove.
12243         (diagnostic_for_decl): Likewise.
12244         (pedwarn_with_decl): Likewise.
12245         (warning_with_decl): Likewise.
12246         (error_with_decl): Likewise.
12247         (diagnostic_initialize): Adjust.
12248         (diagnostic_count_diagnostic): Likewise.
12249         (announce_function): Likewise.
12250         (lhd_print_error_function): Likewise.
12251         (diagnostic_report_current_module): Likewise.
12252         (default_diagnostic_starter): Likewise.
12253         (diagnostic_report_diagnostic): Likewise.
12254         (default_diagnostic_finalizer): Likewise.
12255         (verbatim): Likewise.
12256         (error): Likewise.
12257         (warning): Likewise.
12258         * opts.c (common_handle_option): Likewise.
12259         * pretty-print.c: New file.
12260         * c-pretty-print.h (pp_base): Override.
12261         * c-pretty-print.c: Adjust use of macros throughout.
12262         (pp_buffer): New macro.
12263         (pp_newline): Likewise.
12264         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
12265         * Makefile.in (DIAGNOSTIC_H): New variable.
12266         (c-errors.o): Use it.
12267         (c-objc-common.o): Likewise.
12268         (c-common.o): Likewise.
12269         (c-opts.o): Likewise.
12270         (c-format.o): Likewise.
12271         (diagnostic.o): Likewise.
12272         (opts.o): Likewise.
12273         (toplev.o): Likewise.
12274         (rtl-error.o): Likewise.
12275         (dwarf2out.o): Likewise.
12276         (jump.o): Likewise.
12277         (pretty-print.o): New rule.
12278
12279 2003-07-24  Roger Sayle  <roger@eyesopen.com>
12280
12281         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
12282         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
12283         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
12284         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
12285         (DEF_FRONT_END_LIB_BUILTIN): Delete.
12286         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
12287         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
12288
12289         * builtins.c (build_string_literal): New function to construct
12290         a char* pointer to a string literal.
12291         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
12292         "rtx target" to be consistent with other expand_builtin_* functions.
12293         Change 3rd argument from "int unlocked" to "bool unlocked".
12294         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
12295         c-common.c to avoid front-end dependencies.  Optimize printf("")
12296         as a no-op when the result isn't required.  Handle embedded NULs
12297         in format string.
12298         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
12299         from c-common.c to avoid front-end dependencies.  Likewise, optimize
12300         fprintf(fp,"") as a no-op when the result isn't required, evaluating
12301         fp for side-effects.  Handle embedded NULs in format string.
12302         (expand_builtin_sprintf): Fix typo.
12303         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
12304         optimizing.  Adjust calls of expand_builtin_fputs to match the API
12305         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
12306         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
12307         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
12308
12309         * c-common.c (is_valid_printf_arglist): Delete.
12310         (c_expand_builtin): Delete.
12311         (c_expand_builtin_printf): Moved to builtins.c. Delete.
12312         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
12313         (c_expand_expr): No longer treat CALL_EXPRs specially.
12314         (CALLED_AS_BUILT_IN): Delete.
12315
12316 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12317
12318         PR optimization/11631
12319         * gcse.c (store_motion): Connect infinite loops to exit.
12320
12321 2003-07-24  Jason Merrill  <jason@redhat.com>
12322
12323         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
12324         (boolean_true_node, boolean_false_node): Likewise.
12325         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
12326         * tree.c (build_common_tree_nodes): Init boolean_type_node.
12327         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
12328         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
12329         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
12330         (truthvalue_true_node): Renamed from boolean_true_node.
12331         (truthvalue_false_node): Renamed from boolean_false_node.
12332         * c-decl.c: Just set truthvalue_* to integer_*.
12333         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
12334
12335 2003-07-24  Roger Sayle  <roger@eyesopen.com>
12336
12337         * c-decl.c (match_builtin_function_types): New subroutine of
12338         duplicate_decls to test whether a redeclaration of a builtin
12339         function is suitably close, i.e. the return type and all of
12340         the argument types have the same modes as the builtin expects.
12341         (duplicate_decls): Fuzzy type matching for builtin functions
12342         moved to match_builtin_function_types.
12343
12344 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12345
12346         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
12347         flag correctly.
12348
12349 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
12350
12351         * c-decl.c: Search-and-replace change 'binding level' to
12352         'scope' in commentary.
12353         (struct binding_level): Now struct c_scope.
12354         (current_binding_level): Now current_scope.
12355         (free_binding_level): Now scope_freelist.
12356         (current_function_level): Now current_function_scope.
12357         (global_binding_level): Now global_scope.
12358         (make_binding_level): Now make_scope.
12359         (pop_binding_level): Now pop_scope.
12360
12361 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12362
12363         * configure.in (libgcc_visibility): Add missing whitespace.
12364
12365 2003-07-24  Richard Henderson  <rth@redhat.com>
12366
12367         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
12368         __gcc_personality_v0.
12369
12370 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12371
12372         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
12373
12374 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
12375
12376         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
12377         documentation missed from my 2003-07-09 patch.
12378
12379 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
12380
12381         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
12382         it's not provided.
12383         * configure: Rebuild.
12384
12385 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
12386
12387         PR c/10602
12388         * c-typeck.c (type_lists_compatible_p): Do not compare
12389         arguments if one of them is an error_mark_node
12390
12391 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
12392
12393         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
12394         if current_function_calls_eh_return.
12395
12396 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
12397
12398         * doc/c-tree.texi (OFFSET_TYPE): Update description.
12399
12400 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
12401
12402         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
12403         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
12404         __umodsi3, __modsi3): Increase frame size to 32.
12405
12406 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
12407
12408         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
12409         prototype.
12410
12411 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
12412
12413         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
12414
12415         PR optimization/10679
12416         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
12417
12418 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12419
12420         PR target/11607 and PR target/11516
12421         * pa.md (extzv, extv, insv): Revert latter half of last patch.
12422
12423 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
12424
12425         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
12426         * varasam.c (output_constant): Likewise.
12427
12428 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
12429
12430         * alias.c: Fix comment formatting.
12431         * c-common.c: Likewise.
12432         * c-decl.c: Likewise.
12433         * c-opts.c: Likewise.
12434         * combine.c: Likewise.
12435         * cpplib.c: Likewise.
12436         * diagnostic.c: Likewise.
12437         * dojump.c: Likewise.
12438         * final.c: Likewise.
12439         * fold-const.c: Likewise.
12440         * gcc.c: Likewise.
12441         * gcse.c: Likewise.
12442         * ggc-page.c: Likewise.
12443         * jump.c: Likewise.
12444         * loop.c: Likewise.
12445         * mips-tfile.c: Likewise.
12446         * recog.c: Likewise.
12447         * regclass.c: Likewise.
12448         * regmove.c: Likewise.
12449         * tree.c: Likewise.
12450         * tree.h: Likewise.
12451
12452 2003-07-22  Per Bothner  <pbothner@apple.com>
12453
12454         * line-map.c (add_line_map):  Handle invalid LEAVE request.
12455         Fixes PR preprocessor/11361.
12456
12457 2003-07-22  Per Bothner  <pbothner@apple.com>
12458
12459         * diagnostic.c.(diagnostic_report_current_module):  Update to match
12460         2003-06-05 changes to push_srcloc and pop_srcloc.
12461
12462 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
12463
12464         * doc/trouble.texi: Better document two-stage name lookup.
12465
12466 2003-07-22  Eric Christopher <echristo@redhat.com>
12467
12468         * config/s390.c (s390_valid_pointer_mode): New.
12469         (TARGET_VALID_POINTER_MODE): Use.
12470         (s390_emit_prologue): Add tpf profiling hooks.
12471         (s390_emit_epilogue): Ditto.
12472         * config/s390.h (MASK_TPF): New.
12473         (TARGET_TPF): Use.
12474         (POINTERS_EXTEND_UNSIGNED): Define.
12475         * config/s390.md (ptr_extend): New pattern.
12476
12477 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
12478
12479         * hashtable.c (approx_sqrt): Make static.
12480         * hashtable.h: Don't prototype approx_sqrt.
12481         * line-map.c (init_line_maps): Rename linemap_init.
12482         (free_line_maps): Rename linemap_free.
12483         (add_line_map): Rename linemap_add.
12484         (lookup_line): Rename linemap_lookup.
12485         (print_containing_files): Rename linemap_print_containing_files.
12486         * linemap.h: Update to match.
12487
12488         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
12489         linemap routines to use new names.
12490
12491 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
12492
12493         * c-common.c (handle_packed_attribute): Don't pack a struct via a
12494         typedef. Propagate packedness from a main variant.
12495
12496 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
12497
12498         * Makefile.in (install-common): Add dependency on installdirs.
12499
12500 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
12501
12502         * c-common.c (c_common_type_for_mode): Return integer types for
12503         pointer modes.
12504
12505 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
12506
12507         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
12508         (finish_decl): Call maybe_apply_pragma_weak here.
12509         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
12510         TREE_PUBLIC and TREE_STATIC are decided.
12511         (start_function): Move call to maybe_apply_pragma_weak.  Check that
12512         DECL_ASSEMBLER_NAME isn't set too early.
12513
12514         * cpplex.c (_cpp_process_line_notes): Mention option name in
12515         trigraphs warning.
12516
12517 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
12518
12519         * combine.c (if_then_else_cond): Simplify the comparison of
12520         rtx against -1, 0, and 1.
12521         * loop.c (check_dbra_loop): Likewise.
12522         * optabs.c (emit_conditional_move): Likewise.
12523         (emit_conditional_add): Likewise.
12524         * config/i386/i386.md (*movsi_or): Likewise.
12525         (*movdi_or_rex6): Likewise.
12526
12527 2003-07-22  Jan Hubicka  <jh@suse.cz>
12528
12529         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
12530
12531 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
12532
12533         * cppfiles.c (open_file_pch): Don't put unused entries in the
12534         splay tree.  Remove dead code.
12535
12536 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
12537
12538         * c-common.h (num_in_fnames): Declare.
12539         (c_static_assembler_name): Move from here...
12540         * c-tree.h (c_static_assembler_name): ... to here.
12541         * c-opts.c: Don't include langhooks-def.h.
12542         (c_static_assembler_name): Move to c-decl.c.
12543         (num_in_fnames): Make externally visible.
12544         * c-decl.c: Include langhooks-def.h.
12545         (c_static_assembler_name): Move from c-opts.c.
12546         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
12547         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
12548
12549         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
12550         when it's not needed.
12551
12552 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
12553
12554         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
12555         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
12556         (rs6000_emit_prologue): Save FPRs inline if set.
12557
12558 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
12559
12560         * config/ia64/ia64.md (prefetch): Support predicate.
12561
12562 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
12563
12564         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
12565         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
12566         table.
12567
12568 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
12569
12570         PR optimization/11536
12571         * unroll.c (loop_iterations): Do not replace a register holding
12572         the final value by its equivalent before the loop if it is not
12573         invariant.
12574
12575 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
12576
12577         * doc/extend.texi: Fixes to spelling, grammar, and diction.
12578
12579 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
12580
12581         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
12582         (V850 Options): Spelling fixes.
12583
12584 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
12585
12586         * doc/invoke.texi: Fixes to style, grammar and diction.
12587
12588 2003-07-20  Roger Sayle  <roger@eyesopen.com>
12589
12590         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
12591         * system.h (SMALL_STACK): Poison obsolete target macro.
12592         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
12593
12594 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
12595
12596         * configure.in:  Cache the results of testing for cmp's capabilities.
12597         * configure:  Regenerate.
12598
12599 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
12600
12601         PR debug/11279
12602         * dwarf2out.c (gen_enumeration_type_die): Remember that
12603         enumerators can be unsigned.
12604
12605 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
12606
12607         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
12608         (push_label_level, pop_label_level): Kill.
12609         (struct binding_level): Rename level_chain to outer.
12610         Add outer_function field.  Change parm_flag, function_body,
12611         keep, keep_if_subblocks to 1-bit bitfields of type bool.
12612         (current_function_level): New variable.
12613         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
12614         (keep_next_level, declare_parm_level, warn_if_shadowing):
12615         Update to match.
12616         (struct language_function): Kill named_labels, shadowed_labels fields.
12617         (c_init_decl_processing, start_function, c_push__function_context)
12618         (c_pop_function_context): No need to muck with named_labels nor
12619         shadowed_labels.
12620
12621         (make_binding_level): No need to clear the structure here.
12622         (pop_binding_level): Always operate on current_binding_level.
12623         Update current_function_level if necessary.
12624         (pushlevel): Don't clear named_labels.  Update current_function_level
12625         if necessary.  Use "true" and "false" where appropriate.
12626         (poplevel): Diagnose labels defined but not used, or vice
12627         versa, and clear out label-meanings leaving scope, while
12628         walking down the decls list, for all binding levels.
12629         Handle LABEL_DECLs appearing in the shadowed list.
12630         pop_binding_level takes no arguments.
12631         (pushdecl_function_level): Use current_function_level.
12632
12633         (make_label, bind_label): New static functions.
12634         (declare_label): New exported function.
12635         (lookup_label, define_label): Rewritten for new data structure.
12636         (shadow_label): Kill.
12637
12638         * c-tree.h: Prototype declare_label; don't prototype
12639         push_label_level, pop_label_level, nor shadow_label.
12640         * c-parse.in: Remove all calls to push_label_level and
12641         pop_label_level.  Use declare_label for __label__ decls.
12642
12643         * doc/extend.texi: Clarify that __label__ can be used to
12644         declare labels with local scope in any nested block, not
12645         just statement expressions.  Cross-reference nested functions
12646         section from local labels section.
12647
12648 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12649
12650         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
12651
12652 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
12653
12654         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
12655
12656 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12657
12658         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
12659         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
12660
12661 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
12662
12663         * config/s390/s390.c (legitimize_pic_address): Access local symbols
12664         relative to the GOT instead of relative to the literal pool base.
12665         (s390_output_symbolic_const): Handle new GOT-relative accesses.
12666         * config/s390/s390.md ("call"): Access local functions and PLT stubs
12667         relative to the GOT instead of relative to the literal pool base.
12668         ("call_value"): Likewise.
12669         ("call_value_tls"): Likewise.
12670
12671         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
12672         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
12673         (s390_chunkify_finish): Likewise.
12674         (s390_chunkify_cancel): Likewise.
12675         (s390_reorg): Adapt caller.
12676         (find_base_register_in_addr,
12677         find_base_register_ref, replace_base_register_ref): Delete.
12678         (find_ltrel_base, replace_ltrel_base): New functions.
12679         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
12680         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
12681         base vs. index register usage.
12682         (struct constant_pool): Remove 'anchor'.
12683         (s390_add_anchor): Delete.
12684         (s390_dump_pool): Remove anchor handling.
12685         * config/s390/s390.md ("reload_anchor"): Remove.
12686
12687         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
12688         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
12689         (s390_emit_prologue): Use it.
12690         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
12691         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
12692         hard-code register 14.
12693         * config/s390/s390-protos.h (s390_load_got): Declare.
12694
12695         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
12696         Support TImode constants.
12697         * config/s390/s390.md ("consttable_ti"): New.
12698         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
12699
12700         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
12701         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
12702         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
12703         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
12704         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
12705         New symbolic constants.
12706         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
12707         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
12708         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
12709         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
12710         symbolic UNSPEC values.
12711         * config/s390/s390.c (larl_operand, s390_short_displacement,
12712         bras_sym_operand, s390_cannot_force_const_mem,
12713         s390_delegitimize_address, s390_decompose_address,
12714         legitimize_pic_address, s390_output_symbolic_const,
12715         s390_function_profiler): Use symbolic UNSPEC values.
12716
12717 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12718
12719         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
12720         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
12721         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
12722         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
12723         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
12724         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
12725         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
12726         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
12727         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
12728         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
12729         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
12730         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
12731         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
12732         postreload.c prefix.c print-tree.c protoize.c ra-build.c
12733         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
12734         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
12735         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
12736         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
12737         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
12738         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
12739         casts.
12740
12741 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12742
12743         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
12744         * toplev.h (warning): Remove attribute.
12745
12746 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12747
12748         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
12749         (pop_label_level): Likewise.
12750         (duplicate_decls): Likewise.
12751         (implicitly_declare): Likewise.
12752         (shadow_label): Likewise.
12753         (start_decl): Likewise.
12754         (finish_decl): Likewise.
12755         (grokdeclarator): Likewise.
12756         (get_parm_info): Likewise.
12757         (detect_field_duplicates): Likewise.
12758         (finish_struct): Likewise.
12759         (start_function): Likewise.
12760         (store_parm_decls): Likewise.
12761         (finish_function): Likewise.
12762         (c_expand_body_1): Likewise.
12763         (check_for_loop_decls): Likewise.
12764         (merge_translation_unit_decls): Likewise.
12765
12766 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
12767
12768         * common.opt:  Document --param.
12769         * opts.c (columns, undocumented_msg): New.
12770         (print_help): Get number of columns from environment.  Print
12771         --param help.  Tweak newline handling.
12772         (print_param_help): New.
12773         (print_filtered_help): Better handling of duplicates.  Complain
12774         about undocumented switches.
12775         (print_switch): New.
12776         (wrap_help): Improve wrapping, use COLUMNS.
12777         * opts.sh: Ignore comments in records.
12778         * params.def: Fix typos and remove trailing periods.
12779         * toplev.c (display_help): Don't dump --param help.
12780         * doc/sourcebuild.texi: Update.
12781
12782 2003-07-18  Richard Henderson  <rth@redhat.com>
12783
12784         PR target/11556
12785         * optabs.c (prepare_operand): Fail gracefully instead of abort
12786         if the predicate doesn't satisfy.
12787         (gen_cond_trap): Allow prepare_operand to fail.
12788
12789 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12790
12791         * c-common.c: Don't undefine GCC_DIAG_STYLE.
12792         (fname_decl): Don't use xxx_with_decl.
12793         (c_add_case_label): Likewise.
12794         (handle_section_attribute): Likewise.
12795         (handle_alias_attribute): Likewise.
12796         (handle_no_instrument_function_attribute): Likewise.
12797         (handle_no_limit_stack_attribute): Likewise.
12798         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
12799         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
12800
12801 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12802
12803         * Makefile.in (ifcvt.o): Add cfgloop.h.
12804         * basic-block.h (EDGE_LOOP_EXIT): New flag.
12805         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
12806         * ifcvt.c: Include cfgloop.h.
12807         (mark_loop_exit_edges): New static function.
12808         (if_convert): Call it.
12809         (find_if_header): Ignore branches out of loops.
12810
12811 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
12812
12813         * combine.c (simplify_comparison): Don't share rtx when converting
12814         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
12815
12816 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
12817
12818         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
12819         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
12820         (MUST_PASS_IN_STACK): Define.
12821         (BLOCK_REG_PADDING): Define.
12822
12823 2003-07-18  Richard Henderson  <rth@redhat.com>
12824
12825         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
12826         to skip the addr_vec.
12827
12828 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
12829
12830         * combine.c (combinable_i3pat): Don't forbid occurrences of
12831         i2dest or i1dest in inner_dest if inner_dest is a mem.
12832
12833 2003-07-18  Jan Hubicka  <jh@suse.cz>
12834
12835         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
12836
12837 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
12838
12839         PR target/11087
12840         * loop.c (basic_induction_var): Check if convert_modes emitted any
12841         instructions. Remove them and return 0 if so.
12842
12843 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
12844
12845         PR optimization/11083
12846         * toplev.c (rest_of_handle_addresof): Rename into
12847         rest_of_handle_addressof.  Delete unreachable blocks
12848         if dead edges were purged after the addressof pass.
12849
12850 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
12851
12852         * Makefile.in, configure, configure.in: Remove handling of
12853         lang-options.h and options_.h.
12854         * toplev.c (struct lang_opt, documented_lang_options): Remove.
12855         (display_help): Don't use documented_lang_options.
12856
12857 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
12858
12859         * c-decl.c (pushdecl_function_level): Make static, return nothing.
12860         (kept_level_p): Fold into poplevel.
12861         (undeclared_variable): Moved here from c-typeck.c.  Export.
12862         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
12863         (undeclared_variable): Prototype here.  Don't prototype
12864         kept_level_p nor pushdecl_function_level.
12865         * c-parse.in: Change first argument to poplevel from
12866         "kept_level_p()" to "KEEP_MAYBE".
12867         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
12868
12869 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12870
12871         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
12872         commutative operands instead of modifying the RTL in-place.
12873
12874 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
12875
12876         PR optimization/11557
12877         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
12878         unless we know which function is being called.
12879
12880 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12881
12882         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
12883         whether to reorder the operands of a commutative binary operator.
12884
12885 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12886
12887         * fold-const.c (const_binop): Avoid performing the FP operation at
12888         compile-time, if either operand is NaN and we honor signaling NaNs,
12889         or if we're dividing by zero and either flag_trapping_math is set
12890         or the desired mode doesn't support infinities.
12891         (fold_initializer): New function to fold an expression ignoring any
12892         potential run-time exceptions or traps.
12893         * tree.h (fold_initializer): Prototype here.
12894         * c-typeck.c (build_binary_op): Move to the end of the file so
12895         that intializer_stack is in scope.  If constructing an initializer,
12896         i.e. when initializer_stack is not NULL, use fold_initializer to
12897         fold expressions.
12898         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
12899         performing FP operations at compile-time, if they would raise an
12900         exception at run-time.
12901
12902 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
12903
12904         PR 11498
12905         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
12906         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
12907         (GTFILES): Add langhooks.c.
12908         (gt-langhooks.h): New.
12909         * c-common.h (c_static_assembler_name): Prototype.
12910         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12911         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12912         * c-opts.c: Include langhooks-def.h.
12913         (c_static_assembler_name): New.
12914         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
12915         (var_labelno): New.
12916         (lhd_set_decl_assembler_name): Give static objects with context
12917         unique names.
12918         * varasm.c (var_labelno): Delete.
12919         (make_decl_rtl): Don't change the assembler name once it's set.
12920
12921         * c-opts.c (this_input_filename): New.
12922         (finish_options): Take new parameter, name of file being compiled.
12923         Update callers.  Set this_input_filename.
12924         (push_command_line_include): Use this_input_filename not
12925         main_input_filename.
12926
12927 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
12928
12929         * Makefile.in: Depend .pot generation on options.c.
12930         * po/exgettext: Add an extra_files variable containing additional
12931         files to scan.
12932
12933 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
12934
12935         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
12936         c_write_global_declarations.
12937
12938         * c-decl.c: Fix typos in several comments.  Remove all
12939         #if 0 blocks; reindent as needed.  Remove unused argument
12940         to declare_parm_level; all callers changed.
12941         * c-parse.in: Update calls to declare_parm_level.  Avoid
12942         issuing a double warning in some circumstances.
12943         * c-typeck.c: Update calls to declare_parm_level.
12944         * c-tree.h: Update prototype of declare_parm_level.
12945
12946         * c-pragma.c (apply_pragma_weak): Don't complain about a
12947         redundant #pragma weak.
12948
12949         * objc/objc-act.c (forward_declare_categories,
12950         build_selector_reference_decl, build_class_reference_decl,
12951         build_objc_string_decl, synth_forward_declarations,
12952         build_protocol_reference): Set TREE_PUBLIC on synthetic
12953         forward decl to 0, consistent with eventual definition.
12954         Correct comments to match.
12955
12956         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
12957         in regexp that don't form a range expression.
12958         * fixinc/fixincl.def: Regenerate.
12959
12960 2003-07-17  Richard Henderson  <rth@redhat.com>
12961
12962         PR target/10907
12963         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
12964         even with !TARGET_CONST_GP.
12965         (ia64_function_ok_for_sibcall): Reject non-local functions.
12966
12967 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
12968
12969         * c-common.c (c_estimate_num_insns_1): Don't handle
12970         METHOD_CALL_EXPR.
12971         * expr.c (safe_from_p): Likewise.
12972         * gengtype.c (adjust_field_tree_exp): Likewise.
12973         * stmt.c (warn_if_unused_value): Likewise
12974         * tree.c (first_rtl_op): Likewise.
12975         * tree.def: Don't define METHOD_CALL_EXPR.
12976         * java/lang.c (java_estimate_num_insns_1): Don't handle
12977         METHOD_CALL_EXPR.
12978
12979 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
12980
12981         PR other/11466
12982         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
12983         and its restrictions for the SPARC64 port.
12984         Move the entry of "-mimpure-text" before that of "-mv8".
12985
12986 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
12987             Phil Edwards <phil@jaj.com>
12988
12989         * doc/install.texi (*-*-solaris2*): Document the step-by-step
12990         procedure to bootstrap and install.
12991         Document the preference for the legacy Sun tools in /usr/bin
12992         over the POSIX tools in /usr/xpg4/bin for the build process.
12993
12994 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
12995
12996         * c.opt: Document Uncodumented; use it.  Document ObjC options.
12997         * opts.c (print_filtered_help): Skip undocumented switches.
12998         * opts.h (CL_UNDOCUMENTED): New.
12999         * opts.sh: Handle Undocumented.
13000         * toplev.c (documented_lang_options): Prevent its becoming empty.
13001 objc:
13002         * lang-options.h: Remove.
13003
13004 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
13005
13006         * loop.c (check_ext_dependent_givs): Pass const struct loop *
13007         instead of struct loop_info * as argument.  Accept BIVs with
13008         increment +/- 1 provided there is a friendly exit test against
13009         a loop-invariant value.
13010         (strength_reduce): Adapt call to check_ext_dependent_givs.
13011
13012 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
13013             Con Bradley <con.bradley@superh.com>
13014
13015         * sh-protos.h (sh_get_pr_initial_val): Declare.
13016         * sh.c (regno_reg_class): Make its elements type enum reg_class.
13017         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
13018         and live_regs_mask arguments.  Changed all callers.
13019         (save_schedule_s): New structure.
13020         (save_schedule): New typedef.
13021         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
13022         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
13023         In interrupts handlers, also save registers that are usually
13024         partially saved, and make sure there is at least one general purpose
13025         register saved if a target register needs saving.
13026         Add casts in comparisons to avoid warnings.
13027         (sh_media_register_for_return): return -1 for interrupt handlers.
13028         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
13029         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
13030         registers used are available.
13031         Set RTX_FRAME_RELATED_P where appropriate.
13032         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
13033         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
13034         (initial_elimination_offset): Likewise.
13035         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
13036         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
13037         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
13038         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
13039         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
13040         and for target registers.
13041         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
13042         (regno_reg_class): Make its elements type enum reg_class.
13043         (CONSTRAINT_LEN): Don't use isdigit.
13044         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
13045         (FUNCTION_ARG): Add parentheses to avoid warnings.
13046         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
13047         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
13048         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
13049         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
13050         * sh.md (xordi3+1): Remove unused variable regno.
13051         (return_media): Check that tr0 is available before using it.
13052
13053 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
13054
13055         * c.opt: Document more options.
13056
13057 2003-07-16  Roger Sayle  <roger@eyesopen.com>
13058
13059         * combine.c (subst): Also handle (subreg (const_double ...)) case
13060         if created by a substitution, by using the original inner mode.
13061
13062 2003-07-16  Roger Sayle  <roger@eyesopen.com>
13063
13064         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
13065         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
13066         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
13067
13068 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
13069
13070         * doc/install.texi (--without-headers): New.
13071
13072         Partial Fix PR/10129
13073         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
13074         (machopic_output_function_base_name): New; print the true pic label.
13075         (machopic_classify_ident): Pic Base is always a defined data.
13076         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
13077         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
13078
13079         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
13080         if they are not floating point registers.
13081
13082         PR c/10962
13083         * ggc.h: Add header guards.
13084         * c-decl.c (finish_struct): Sort fields if
13085         number greater than 15 and there are no
13086         anonymous structs/unions.
13087         * c-common.h: Include ggc.h.
13088         (sorted_fields_type): New struct.
13089         (field_decl_cmp): New prototype.
13090         (resort_sorted_fields): New prototype.
13091         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
13092         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
13093         as s, removing other fields.
13094         * c-typeck.c (lookup_field): Use s in lang_type.
13095         These were mostly moved from cp/class.c:
13096         * c-common.c (field_decl_cmp): New static function.
13097         (field_decl_cmp): New function.
13098         (resort_sorted_fields): New function.
13099
13100 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
13101
13102         * config/darwin.c (machopic_select_section): Use decl_readonly_section
13103         to do most of the work.
13104
13105 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
13106
13107         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
13108         * config/mmix/mmix.c: Convert functions to ISO C90.
13109         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
13110         formatting.
13111         (mmix_get_hard_reg_initial_val): Tweak section head comment.
13112
13113 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
13114
13115         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
13116
13117 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
13118
13119         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
13120         (uw_update_context_1): Use it.
13121         * config/rs6000/rs6000.c (insn_after_throw): Remove.
13122         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
13123         in parent frame if _Unwind_* called directly instead of through
13124         .plt.
13125         (rs6000_emit_eh_toc_restore): Remove.
13126         (rs6000_emit_prologue): Update stack pointer before doing any saving
13127         if current_function_calls_eh_return.  Generate unwind info for $r2.
13128         (rs6000_emit_epilogue): Restore stack pointer after doing all
13129         restoring if current_function_calls_eh_return.  Restore $r2.
13130         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
13131         * config/rs6000/rs6000.md (eh_return): Remove call to
13132         rs6000_emit_eh_toc_restore.
13133         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
13134         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
13135
13136 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
13137
13138         * expr.c (emit_block_move): Don't move anything if size is const 0.
13139         (clear_storage): Test against const0_rtx instead of comparing INTVAL
13140         against 0.
13141
13142 2003-07-15  David S. Miller  <davem@redhat.com>
13143
13144         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
13145         emit nop if the last real insn is CALL_INSN.
13146
13147 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
13148
13149         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
13150         as "nul".
13151         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
13152
13153 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
13154
13155         * config/i386/winnt.c (associated_type): Artificial methods are not
13156         affected by the import/export status of their class unless they are
13157         COMDAT.
13158         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
13159
13160         * config/i386/winnt.c: Fix GCC copyright comment.
13161
13162 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
13163
13164         PR c++/11531
13165         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
13166         not recursing on hard error.
13167         (diagnostic_for_decl): Likewise.
13168         * diagnostic.def: Rearrange.
13169
13170 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
13171
13172         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13173         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
13174
13175 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
13176             Richard Henderson  <rth@redhat.com>
13177
13178         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
13179         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
13180         (_Unwind_SetGR): Likewise.
13181         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
13182         (Unwind_SpTmp): New typedef.
13183         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
13184         (uw_update_context): Use _Unwind_GetPtr.
13185         (init_dwarf_reg_size_table): Move above uw_init_context_1.
13186         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
13187         Use _Unwind_SetSpColumn.
13188         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
13189         Use _Unwind_GetPtr.
13190
13191 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
13192
13193         * c.opt: Document more options.
13194         * toplev.c (documented_lang_options): Remove all local help strings.
13195
13196 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
13197
13198         PR debug/11473
13199         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
13200         base classes.
13201
13202 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
13203
13204         PR target/10795
13205         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
13206         swap comparison operands if doing so would generate an
13207         unrecognizable insn.
13208
13209 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
13210
13211         PR optimization/11320
13212         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
13213         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
13214         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
13215         current_sched_info->compute_jump_reg_dependencies. Record which
13216         registers are used and which registers are set by the jump.
13217         Clear deps->reg_conditional_sets after a barrier.
13218         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
13219         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
13220         (init_deps): Initialize reg_conditional_sets.
13221         (free_deps): Clear reg_conditional_sets.
13222         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
13223         Mark registers live on entry of the fallthrough block and conditionally
13224         set as set by the jump. Mark registers live on entry of non-fallthrough
13225         blocks as used by the jump.
13226         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
13227         Mark new parameters as unused.
13228
13229 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13230
13231         * doc/invoke.texi: Resync MIPS -march documentation.
13232
13233 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13234
13235         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
13236         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
13237         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
13238         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
13239         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
13240         (mips_issue_rate): Handle PROCESSOR_R9000.
13241         (mips_use_dfa_pipeline_interface): Likewise.
13242         * config/mips/9000.md: New file.
13243         * config/mips/mips.md: Include it.
13244         (define_attr cpu): Add r9000.
13245         (mulsi3_mult3): Use "mul" for rm9000 code.
13246
13247 2003-07-15  Stan Cox  <scox@redhat.com>
13248
13249         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
13250         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
13251         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
13252         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
13253         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
13254         (mips_issue_rate): Handle PROCESSOR_R7000.
13255         (mips_use_dfa_pipeline_interface): Likewise.
13256         * config/mips/7000.md: New file.
13257         * config/mips/mips.md: Include it.
13258         (define_attr cpu): Add r7000.
13259         (mulsi3_mult3): Use "mul" for rm7000 code.
13260
13261 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13262
13263         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
13264         the conditional move patterns.
13265         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
13266         Check for condmove type.
13267         (ir_vr54_arith): Add move type.
13268         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
13269         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
13270
13271 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
13272
13273         * c-opts.c (print_help): Remove.
13274         (c_common_handle_option): Don't handle --help.
13275         * c.opt: Document some options.
13276         (--help): Remove.
13277         * opts.c (print_filtered_help): New.
13278         (print_help): Use it.
13279
13280 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
13281
13282         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
13283         * tree.c: (build_common_tree_nodes_2): Likewise.
13284         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
13285         (V4DF_type_node): New.
13286
13287         * c-opts.c (push_command_line_include): Don't free deferred_opts,
13288         we'll need it.
13289         (finish_options): Reset init_cursor.
13290
13291 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
13292
13293         * expr.c (expand_assignment): Remove an unused argument
13294         SUGGEST_REG.
13295         * expr.h: Update the prototype.
13296         * function.c: Update the callers.
13297         * stmt.c: Likewise.
13298
13299 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
13300
13301         PR debug/11098
13302         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
13303         as DECL_ABSTRACT.
13304
13305 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13306
13307         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
13308         with __cplusplus, not "we must use the C++ compiler's type"
13309         * fixinc/inclhack.def (void_null): Note that Interix needs this.
13310         * fixinc/fixincl.x: Regenerate.
13311
13312 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
13313
13314         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
13315         and unseen_objects from the global data before calling
13316         __deregister_frame_info_bases.
13317         (examine_objects): Insert objects into the seen_objects list,
13318         not unseen_objects.
13319         (_Unwind_Find_FDE): Always unlock the global object lists, even if
13320         we couldn't allocate a data structure to put in it.
13321
13322         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
13323         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
13324         (SET_TYPE_PROTOCOL_LIST): New.
13325         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
13326         (get_object_reference): Likewise.
13327
13328 2003-07-14  Jan Hubicka  <jh@suse.cz>
13329
13330         * cfglayout.c (locator_file): Break out from ....
13331         (insn_file): ... here.
13332         (locator_line): Break out from ....
13333         (insn_line): ... here.
13334         * rtl.h (locator_file, locator_line): Declare.
13335         (final_start_function): Set proper line/file info.
13336
13337 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13338
13339         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
13340         handled by pp_c_cast_expression.
13341
13342 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13343
13344         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
13345         allocate 32768 bytes of stack.  Use addition rather than subtraction
13346         when a single insn is enough.
13347         * config/mips/mips.md: Remove insns and splitters for subtracting
13348         constants.
13349         (subsi3): Only accept register operands.
13350         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
13351         (subdi3_internal_3, subsi3_internal_2): Likewise.
13352         (casesi): Use expand_binop to subtract the lower bound.
13353
13354 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13355
13356         * config/mips/mips.c (mips_in_small_data_p): Don't handle
13357         TARGET_MIPS16 specially.
13358
13359 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13360
13361         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
13362         mips_output_aligned_bss.
13363         * config/mips/linux.h: Likewise.
13364         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
13365         * config/mips/mips.c (mips_output_aligned_bss): New function.
13366
13367         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
13368         * config/mips/elf64.h: Likewise.
13369
13370         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
13371         mips_declare_object_name.
13372         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
13373         * config/mips/elf64.h: As for elf.h.
13374         * config/mips/iris6.h: Likewise.
13375         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
13376         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
13377         do...while (0) block.
13378         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
13379         (mips_finish_declare_object): Declare.
13380         * config/mips/mips.c (mips_declare_object_name): New function.
13381         (mips_finish_declare_object): New function.
13382
13383         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
13384         * config/mips/linux.h: Likewise.
13385
13386         * config/mips/mips.c (inside_function): Delete.
13387         (file_in_function_warning, ignore_line_number): Delete.
13388         (mips_output_filename): Don't warn about changing filenames within
13389         a function.
13390         (mips_output_lineno): Update accordingly.
13391         (mips_output_function_prologue): Don't reset the deleted variables.
13392         * config/mips/mips.h (inside_function): Delete.
13393         (file_in_function_warning, ignore_line_number): Delete.
13394
13395         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
13396         * config/mips/elf64.h: Likewise.
13397         * config/mips/openbsd.h: Likewise.
13398         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
13399         * config/mips/linux.h: Likewise.
13400         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
13401         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
13402
13403         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
13404         to the list of include files when using gas.
13405         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
13406         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
13407         * config/mips/elf64.h: Likewise.
13408         * config/mips/iris5.h: Likewise.
13409         * config/mips/linux.h: Likewise.
13410         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
13411         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
13412         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
13413         * config/mips/sdb.h: ...this new file.
13414
13415 2003-07-14  Douglas Rupp  <rupp@gnat.com>
13416
13417         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
13418         argument to getcwd; use fixed buffer instead.
13419
13420 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13421
13422         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
13423         * fixinc/fixinc.wrap: Delete.
13424
13425 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
13426
13427         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
13428         don't have 2.
13429
13430 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
13431
13432         * ggc-page.c (struct globals): Add new fields to keep track of the
13433         total allocated memory and overhead.
13434         (ggc_print_statistics): Print them.
13435         (ggc_alloc): Keep track of the total allocated memory and the
13436         overhead.
13437
13438         * tree.c (dump_tree_statistics): Increase spacing.
13439         (enum tree_node_kind): Move to ...
13440         * tree.h (enum tree_node_kind): ... here.
13441         (tree_node_counts, tree_node_sizes): Declare.
13442
13443 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
13444
13445         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
13446
13447 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13448
13449         PR optimization/11440
13450         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
13451         SIGN_EXTRACT SETs.
13452
13453 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
13454
13455         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
13456         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
13457         (emit_group_load, emit_group_store): Adjust declarations.
13458         Remove most occurrences of #ifdef TREE_CODE.
13459         * expr.c (emit_group_load): Add "type" param, and use
13460         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
13461         aligned accesses if !SLOW_UNALIGNED_ACCESS.
13462         (emit_group_store): Likewise.
13463         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
13464         emit_group_load and emit_group_store calls.
13465         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
13466         BLOCK_REG_PADDING to determine whether we need endian_correction.
13467         (load_register_parameters): Localize vars.  Handle shifting of
13468         small values to the correct end of regs.  Adjust emit_group_load
13469         call.
13470         (expand_call, emit_library_call_value_1): Adjust emit_group_load
13471         and emit_group_store calls.
13472         * function.c (assign_parms): Set mem alignment for stack slots.
13473         Adjust emit_group_store call.  Store values at the "wrong" end
13474         of regs to the stack.  Use BLOCK_REG_PADDING.
13475         (locate_and_pad_parm): Save where_pad.
13476         (expand_function_end): Adjust emit_group_load call.
13477         * stmt.c (expand_value_return): Adjust emit_group_load call.
13478         * Makefile.in (calls.o): Depend on $(OPTABS_H).
13479         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
13480         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
13481         (MUST_PASS_IN_STACK): Define.
13482         (BLOCK_REG_PADDING): Define.
13483         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
13484         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
13485         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
13486         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
13487         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
13488
13489 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
13490
13491         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
13492
13493 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13494
13495         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
13496         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
13497
13498 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13499
13500         PR other/11123
13501         * toplev.c: Don't cut off option names.
13502
13503 2003-07-13  Andreas Jaeger  <aj@suse.de>
13504
13505         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
13506         to integer of different size.
13507
13508 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
13509
13510         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
13511         to (eq (and X 1) 0).
13512
13513 2003-07-13  Andreas Jaeger  <aj@suse.de>
13514
13515         * config.gcc: Add pmmintrin.h for x86_64-*-*.
13516
13517 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
13518
13519         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
13520         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
13521         list.  Move these all together down by cpplib.
13522
13523         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
13524         definition of CPPCHAR_SIGNED_T.
13525
13526         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
13527         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
13528         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
13529
13530         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
13531         * cppinit.c (cpp_create_reader): Likewise.
13532
13533         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
13534         * cpptrad.c: Likewise.  All callers changed.
13535         * cpplib.c: All callers changed.
13536         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
13537         * hashtable.h: Define GTY(x) to nothing here too.
13538
13539 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13540
13541         * stor-layout.c (compute_record_mode): Remove very obsolete test
13542         that forces BLKmode for records with fields crossing word boundary.
13543
13544 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
13545
13546         * Makefile.in: Remove orphan reference to acconfig.h.
13547
13548 2003-07-13  Andreas Jaeger  <aj@suse.de>
13549
13550         * cgraphunit.c: Convert prototypes to ISO C90.
13551
13552 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13553
13554         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
13555         (for OpenBSD).
13556         * fixinc/fixincl.x: Rebuild.
13557
13558 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
13559
13560         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
13561         i?86-*-*.  Use correct name of cache variable.
13562         * configure: Regenerate.
13563
13564 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
13565
13566         * config/alpha/alpha.c: Fix comment typos.
13567         * config/alpha/alpha.md: Likewise.
13568         * config/arm/arm.c: Likewise.
13569         * config/arm/arm.md: Likewise.
13570         * config/arm/lib1funcs.asm: Likewise.
13571         * config/avr/avr.md: Likewise.
13572         * config/arm/README-interworking: Fix typos.
13573
13574 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
13575
13576         * c-format.c: Fix comment formatting.
13577         * c-typeck.c: Likewise.
13578         * coverage.c: Likewise.
13579         * cppcharset.c: Likewise.
13580         * cpplib.c: Likewise.
13581         * dbxout.c: Likewise.
13582         * gcov-io.h: Likewise.
13583         * toplev.c: Likewise.
13584
13585 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13586
13587         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
13588         fix.
13589
13590 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
13591
13592         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
13593         uses three-argument AC_DEFINE so no acconfig.h entries are
13594         needed.
13595         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
13596         which contains the GAS version number as a scaled integer.
13597         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
13598         ability to check for ELF assembler.
13599         (gcc_GAS_CHECK_FEATURE): New macro.
13600         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
13601         assembler feature checks using gcc_GAS_CHECK_FEATURE.
13602         Use three-argument AC_DEFINE everywhere.
13603         * acconfig.h: Deleted.
13604         * config.in, configure: Regenerate.
13605
13606 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13607
13608         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
13609         (on OpenBSD).
13610         * fixinc/fixincl.x: Regenerate.
13611
13612         * fixinc/inclhack.def (gnu_types): Improve comment.
13613
13614 2003-07-12  Andreas Jaeger  <aj@suse.de>
13615
13616         * fp-test.c (main): Use ISO C90 prototype.
13617
13618         * version.c: Remove unneded include of ansidecl.h.
13619
13620         * cgraph.h: Convert prototypes to ISO C90.
13621         * cgraph.c: Likewise.
13622         * fix-header.c: Likewise.
13623         * ra.h: Likewise.
13624         * protoize.c: Likewise.
13625
13626 2003-07-12  Jan Hubicka  <jh@suse.cz>
13627
13628         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
13629         warning.
13630
13631 2003-07-12  Jan Hubicka  <jh@suse.cz>
13632                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13633
13634         * cgraph.c (cgraph_max_uid): New global variable.
13635         (cgraph_node): Set uid field.
13636         (create_edge): Keep inline flags consistent.
13637         (dump_cgraph): Dump more info.
13638         * cgraph.h (struct cgraph_local_info): Remove inline_many and
13639         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
13640         (struct cgraph_global_info): Add insns, calls, cloned_times,
13641         will_be_output.
13642         (struct cgraph_node): Add uid.
13643         (struct cgraph_edge): Add inline_call.
13644         (cgraph_max_uid, cgraph_inline_p): Declare.
13645         * cgraph.c: Include params.h and fibheap.h
13646         (cgraph_mark_functions_to_inline_once): Kill.
13647         (INSNS_PER_CALL): New constant.
13648         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
13649         static variables.
13650         (cgraph_finalize_function): Do not analyze inlining.
13651         (cgraph_finalize_compilation_unit): Set inlining attributes.
13652         (cgraph_mark_functions_to_output): More consistency checks.
13653         (cgraph_optimize_function): Set current_function_decl to NULL.
13654         (cgraph_expand_function): Use new inline flags.
13655         (cgraph_postorder): Expand from cgraph_expand_functions.
13656         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
13657         (cgraph_inlined_into, cgraph_inlined_callees,
13658         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
13659         cgraph_mark_inline, cgraph_check_inline_limits,
13660         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
13661         cgraph_decide_inlining, cgraph_inline_p): New functions.
13662         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
13663         PARAM_INLINE_UNIT_GROWTH): New parameters.
13664         * tree-inline.c (struct inline_data): New field current_decl.
13665         (expand_call_inline): Avoid forward declarations; use
13666         inlinable_function_p.
13667         (optimize_inline_calls): Set id.current_decl.
13668
13669 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
13670
13671         * configure.in: Remove wrongly added definition of
13672         local_prefix.
13673         * configure: Regenerate.
13674
13675 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
13676
13677         * rtl.def (NOTE): Do not use padding.
13678
13679 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
13680
13681         * doc/install.tex: Update required binutils for i?86-*-linux*
13682
13683 2003-07-11  Richard Henderson  <rth@redhat.com>
13684
13685         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
13686
13687 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
13688
13689         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
13690         TRANSLATION_UNIT_DECL as top_level.
13691
13692 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
13693
13694         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
13695         then fall back to cmpstrM.
13696         * builtins.c (expand_builtin_memcmp): Likewise.
13697         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
13698         (s390_expand_cmpmem): ... this.
13699         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
13700         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
13701         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
13702         to s390_expand_cmpmem.
13703         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
13704         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
13705         to cmpmem*.
13706         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
13707         cmpstr* patterns.
13708         * doc/md.texi (cmpstrM): Describe as String compare insn, not
13709         Block compare insn.
13710         (cmpmemM): Add.
13711
13712 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
13713
13714         * config/i386/freebsd.h (SET_ASM_OP): Remove.
13715         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
13716         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
13717          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
13718
13719 2003-07-11  Richard Henderson  <rth@redhat.com>
13720
13721         * function.c (assign_parms): Don't recombine complex args if
13722         fnargs is unchanged from orig_fnargs.
13723         (split_complex_args): Return args without complex before copying.
13724         Re-layout the modified parameters.
13725
13726 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
13727
13728         * regclass.c (choose_hard_reg_mode): Add third argument.
13729         Changed all callers.
13730         * rtl.h (choose_hard_reg_mode): Update declaration.
13731         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13732         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
13733
13734 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
13735
13736         * c-decl.c (finish_decl): Handle 'used' here...
13737         * cgraphunit.c (cgraph_finalize_function): ... and here ...
13738         * c-common.c: (handle_used_attribute): ... not here.
13739
13740         * configure.in (onstep): Support --enable-intermodule.
13741         * Makefile.in (OBJS-common): New.
13742         (OBJS-md): New.
13743         (OBJS-archive): New.
13744         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
13745         (OBJS-onestep): New.
13746         (libbackend.a): Support @onestep@.
13747         (libbackend.o): New.
13748         * configure: Regenerate.
13749
13750         * c-common.h (c_reset_state): New prototype.
13751         (c_parse_file): New prototype.
13752         (finish_file): Move prototype from c-tree.h.
13753         * c-decl.c: Include <hashtab.h>.
13754         (builtin_decls): New.
13755         (current_file_decl): New.
13756         (duplicate_decls): Add extra parameter. Change all callers.  Don't
13757         output duplicate common symbols.
13758         (link_hash_hash): New.
13759         (link_hash_eq): New.
13760         (poplevel): Handle popping of the top level.
13761         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
13762         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
13763         (pushdecl_top_level): Likewise.
13764         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
13765         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
13766         (finish_decl): Handle TRANSLATION_UNIT_DECL.
13767         (merge_translation_unit_decls): New.
13768         (c_write_global_declarations): New.
13769         (c_reset_state): New.
13770         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
13771         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
13772         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
13773         TRANSLATION_UNIT_DECL.
13774         (c_objc_common_finish_file): Call merge_translation_unit_decls.
13775         * c-opts.c (in_fnames): Rename from in_fname.
13776         (c_common_decode_option): Handle multiple input filenames.
13777         (c_common_post_options): Likewise.
13778         (c_common_parse_file): Likewise; also, call c_parse_file rather than
13779         yyparse.
13780         * c-parse.in: Move cleanup code to c_parse_file.
13781         (free_parser_stacks): Move contents to c_parse_file.
13782         (c_parse_file): New.
13783         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
13784         for integer types.
13785         (C_DECL_FILE_SCOPE): New.
13786         (finish_file): Move prototype to c-common.h.
13787         (merge_translation_unit_decls): New prototype.
13788         (comptypes): Add extra parameter to prototype.
13789         (c_write_global_declarations): New prototype.
13790         * c-typeck.c (tagged_types_tu_compatible_p): New.
13791         (function_types_compatible_p): Add extra parameter, change all callers.
13792         (type_lists_compatible_p): Likewise.
13793         (comptypes): Likewise.
13794         (struct tagged_tu_seen): New.
13795         (tagged_tu_seen_base): New.
13796         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
13797         (c_mark_addressable): Remove #if 0 code.
13798         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
13799         comment explaining why it shouldn't have to.
13800         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
13801         options.
13802         * cppinit.c (cpp_read_next_file): New.
13803         (cpp_read_main_file): Use it.
13804         * cpplib.c (undefine_macros): New.
13805         (cpp_undef_all): New.
13806         * cpplib.h (cpp_read_next_file): Prototype.
13807         (cpp_undef_all): Prototype.
13808         * langhooks-def.h (write_global_declarations): Remove prototype.
13809         * toplev.h (write_global_declarations): Add prototype.
13810         * tree.c (decl_type_context): Use switch statement, handle
13811         TRANSLATION_UNIT_DECL.
13812         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
13813         (TRANSLATION_UNIT_DECL): New kind of tree.
13814         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
13815         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
13816         * doc/invoke.texi: Make attempt to document new functionality.
13817
13818         2003-05-19  Per Bothner <bothner@apple.com>
13819
13820         * gcc.c (combine_inputs): New.
13821         (process_command): Set combine_inputs.
13822         (do_spec_1): Handle combine_inputs.
13823         (main): Likewise.
13824
13825 2003-07-10  James E Wilson  <wilson@tuliptree.org>
13826
13827         PR optimization/9745
13828         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
13829         loop_insn_emit_before.
13830         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
13831
13832 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
13833
13834         * cppcharset.c: Fix comment.
13835         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
13836         (EILSEQ): #define to EINVAL if not already defined.
13837         (convert_using_iconv): #if out when !HAVE_ICONV.
13838         (init_iconv_desc): Handle !HAVE_ICONV here...
13839         (cpp_init_iconv): ...not here.
13840
13841 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
13842
13843         * common.opt: More --help messages.
13844         * opts.c (print_help): Use puts().
13845         * toplev.c (f_options): Remove help text.
13846         (display_help): Don't dump f_options.
13847
13848 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
13849
13850         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
13851         Move i?86-*-interix* to the don't-fix list.
13852         * fixinc/fixinc.interix: Delete with extreme prejudice.
13853
13854 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
13855
13856         PR bootstrap/10758
13857         * doc/install.texi: Document requirements for ia64-*-hpux* target.
13858
13859 2003-07-10  Roger Sayle  <roger@eyesopen.com>
13860
13861         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
13862
13863 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
13864
13865         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
13866         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
13867         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
13868         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
13869         convert_no_conversion, convert_using_iconv): New functions.
13870         (APPLY_CONVERSION): New macro.
13871         (struct conversion, conversion_tab): New data structure.
13872         (init_iconv_desc): Check conversion_tab for a custom conversion
13873         primitive before trying to use iconv.
13874         (convert_cset): Deleted.
13875         (cpp_init_iconv): Use UTF- terminology, not UCS-.
13876         (_cpp_destroy_iconv): Update to match.
13877         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
13878         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
13879         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
13880         (_cpp_interpret_string_notranslate): New function, moved here
13881         from cpplib.c.
13882
13883         * cpphash.h (convert_f, struct cset_converter): New types.
13884         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
13885         are now struct cset_converter, not bare iconv_t.
13886         Update prototypes.
13887         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
13888         all callers changed.
13889
13890 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
13891
13892         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
13893         to opts.sh command line.
13894         * opts.sh: Write to temporary files with a move-if-change at the end.
13895
13896 2003-07-10  Denis Chertykov  <denisc@overta.ru>
13897             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13898
13899         * combine.c (gen_binary): Handle the CLOBBER rtx and
13900         don't build a binary operation with it.
13901
13902 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13903
13904         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
13905         store_killed_after, store_killed_before): Keep track of the correct
13906         dependency function to use.
13907
13908 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
13909         * toplev.c (do_compile): Don't try to open dump files before
13910         lang_dependent_init initializes dump_base_name.
13911
13912 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13913
13914         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
13915         Use ARRAY_SIZE.
13916         * config/frv/frv.c (frv_expand_builtin): Likewise.
13917         * config/sh/sh.c (sh_media_init_builtins): Likewise.
13918
13919 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
13920
13921         PR c++/10032
13922         * doc/invoke.texi (C++ Dialect Options): Change documentation of
13923         -fpermissive.
13924
13925 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
13926
13927         * tm.texi (RETURN_ADDR_OFFSET): Document.
13928
13929 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
13930
13931         * gcov-io.h: Update documentation.
13932         (GCOV_UNSIGNED2STRING): New.
13933         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
13934         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
13935         GCOV_TAG_SUMMARY_LENGTH): Adjust.
13936         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
13937         GCOV_TAG_COUNTER_NUM): New.
13938         (GCOV_BLOCK_SIZE): Number of words.
13939         (gcov_var): Adjust buffer type.
13940         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
13941         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
13942         count, not byte count.
13943         (gcov_open): Adjust overread init.
13944         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
13945         gcov_write_string, gcov_write_tag, gcov_write_length,
13946         gcov_write_tag_length): Adjust.
13947         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
13948         (gcov_sync, gcov_seek): Adjust.
13949         * gcov-dump.c (print_usage): Show gcc version only.
13950         (dump_file): Use GCOV_UNSIGNED2STRING.
13951         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
13952         * gcov.c (print_version): Show gcc version only.
13953         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
13954         GCOV_TAG_*_NUM macros.
13955         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
13956         GCOV_TAG_COUNTER_LENGTH.
13957         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
13958         Use GCOV_TAG_COUNTER_NUM.
13959         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
13960         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
13961
13962 2003-07-10  Andreas Schwab  <schwab@suse.de>
13963
13964         * gcov-dump.c (dump_file): Fix missing address operator.
13965
13966 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
13967
13968         PR c/11449
13969         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
13970         of HOST_WIDE_INT.
13971         (fold_single_bit_test): If sign_bit_p() fails, assume that the
13972         bit being tested is not a sign bit.
13973
13974 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
13975
13976         * config/h8300/h8300.md (a peephole2): New.
13977
13978 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
13979
13980         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
13981         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
13982         from ld-linux.so.2 to ld.so.1.
13983         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
13984         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
13985         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
13986         nor -Wl,-rpath-link.
13987         (LIB_SPEC): Add -rpath-link if !static.
13988         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
13989         * config/mn10300/mn10300.c (mn10300_protect_label): New
13990         variable.
13991         * config/mn10300/linux.h (PRINT_OPERAND,
13992         PRINT_OPERAND_ADDRESS): Set it during their execution.
13993         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
13994         mn10300_protect_label is set.
13995         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
13996         -Wl,-rpath-link.
13997         (LIB_SPEC, STARTFILE_SPEC): Define.
13998         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
13999         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
14000         FLOAT_BIT_ORDER_MISMATCH.
14001         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
14002         * config.gcc (am33_2.0-*-linux*): Added.
14003         * config/mn10300/linux.h: New.
14004         * config/mn10300/t-linux: New.
14005
14006 2003-07-10  Andreas Jaeger  <aj@suse.de>
14007
14008         * fold-const.c: Properly wrap prototypes.
14009
14010 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
14011
14012         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
14013         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
14014         Moved from...
14015         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
14016         * config/mn10300/mn10300.h: GTY-declare it.
14017         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
14018         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
14019         prototype.  Use incoming RTL argument.
14020         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
14021         * config/mn10300/mn10300.md (int_label): Move C statements...
14022         (GOTaddr2picreg): ... here.
14023         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
14024         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
14025         * config/mn10300/mn10300.c (mn10300_encode_section_info):
14026         ... here.  New function.
14027         (TARGET_ENCODE_SECTION_INFO): Define to it.
14028         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
14029         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
14030         pattern name.
14031         (mn10300_loadPC): Define as insn splittable after reload.
14032         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
14033         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
14034         be defined in .rodata even in PIC, now that the assembler
14035         supports that.
14036         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
14037         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
14038         symbol take an underscore prefix.
14039         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
14040         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
14041         legitimize_pic_address): Declare.
14042         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
14043         the PIC register as fixed.
14044         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
14045         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
14046         PIC.
14047         (LEGITIMATE_PIC_OPERAND_P): Define.
14048         (PIC_OFFSET_TABLE_REGNUM): Define.
14049         (GOT_SYMBOL_NAME): Define.
14050         (SYMBOLIC_CONST_P): Define.
14051         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
14052         symbols.
14053         (MN10300_GLOBAL_P): Test it.
14054         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
14055         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
14056         * config/mn10300/mn10300.c (print_operand): Handle unspec.
14057         (expand_prologue): Set PIC register.
14058         (call_address_operand): Don't match SYMBOL_REFs in PIC.
14059         (legitimize_address): Call legitimize_pic_address.
14060         (legitimize_pic_address): New fn.
14061         (legitimate_pic_operand_p): New fn.
14062         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
14063         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
14064         UNSPEC_PLT): New constants.
14065         (pop_pic_reg): New insn.
14066         (movsi): Adjust non-PIC addresses.
14067         (builtin_setjmp_receiver): Restore the PIC register.
14068         (casesi): New insn.
14069         (call): Adjust non-PIC addresses.
14070         (int_label, GOTaddr2picreg): New expands.
14071         (am33_loadPC): New insn.
14072         (mn10300_loadPC): New expand.
14073         (call_next_insn): New insn.
14074         (add_GOT_to_pic_reg): New expand.
14075         (symGOT2reg, symGOT2reg_i): New expands.
14076         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
14077         (sym2PIC, sym2PLT): New expands.
14078
14079 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
14080
14081         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
14082         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
14083         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
14084         to flag_unsafe_math_optimizations.
14085         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
14086         * config/mn10300/mn10300.c (expand_prologue): Mark
14087         FP-register-saving insns as frame-related.
14088         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
14089         * config/mn10300/mn10300.c
14090         (mn10300_get_live_callee_saved_regs): Don't search past
14091         LAST_EXTENDED_REGNUM.
14092         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
14093         * config/mn10300/mn10300.md: Remove excessive line breaks from
14094         `@' output patterns that were accounted as additional
14095         alternatives.
14096         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
14097         Re-introduce changes accidentally removed in Richard Sandiford's
14098         2000-12-05's patch.
14099         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14100         Re-instate am33-2 lost in merge from net GCC.
14101         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
14102         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
14103         floating-point registers.
14104         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
14105         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
14106         pessimizations that had gone in on 2000-05-08.
14107         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
14108         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
14109         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
14110         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
14111         operand 0.
14112         * (movhi): Likewise.
14113         * (movsi): Likewise.
14114         * (movsf): Likewise.
14115         * (movdi): Likewise.
14116         * (movdf): Likewise.
14117         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
14118         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
14119         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
14120         (expand_prologue, expand_epilogue): Save and restore FP regs.
14121         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
14122         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
14123         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
14124         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
14125         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
14126         Do not clobber cc0.
14127         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
14128         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
14129         Discourage the two-argument, longer opcodes.
14130         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
14131         ones.
14132         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
14133         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
14134         * config/mn10300/mn10300.md (cmpsf): New pattern.
14135         (branch): Test mdep.fpCC and output fbCC.
14136         * config/mn10300/mn10300.c (print_operand): Output conditions.
14137         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
14138         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
14139         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
14140         mulsf3, divsf3): Use the `F' constraint for FP values.
14141         * config/mn10300/mn10300.c (const_1f_operand): New function.
14142         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
14143         * config/mn10300/mn10300.md (sqrtsf2): New expand.
14144         (rsqrtsf2): New insn.
14145         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
14146         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
14147         previous check-in.
14148         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
14149         * config/mn10300/mn10300.md (abssf2, negdf2): On
14150         TARGET_AM33_2, expand to...
14151         (abssf2_am33_2, negdf2_am33_2): New insns.
14152         (addsf3, subsf3, mulsf3, divsf3): Likewise.
14153         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
14154         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
14155         movdi, movdf): Added FP regs.
14156         * invoke.texi (-mam33-2, -mno-am33-2): Document.
14157         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
14158         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
14159         New macros.
14160         (REGNO_AM33_2_FP_P): Renamed to...
14161         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
14162         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
14163         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
14164         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
14165         regs from GENERAL_REGS.
14166         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
14167         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
14168         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
14169         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
14170         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
14171         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
14172         as FP_REGS.
14173         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
14174         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
14175         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
14176         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
14177         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
14178         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
14179         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
14180         AM33/2.0 floating-point registers.
14181         (CONDITIONAL_REGISTER_USAGE): Adjust.
14182         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
14183         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
14184         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
14185         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
14186         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
14187         (MULTILIB_DIRNAMES): Likewise.
14188         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
14189         `__AM33_2__' when `-mam33-2' is given.
14190         (TARGET_AM33_2): Define.
14191         (TARGET_SWITCHES): Adjust.
14192         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
14193         when appropriate.
14194
14195 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
14196
14197         * doc/install.texi: Add missing @.
14198
14199 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
14200
14201         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
14202
14203 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
14204
14205         PR/11144
14206         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
14207
14208 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
14209
14210         PR bootstrap/11043
14211         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
14212         "x-crtfini.o" with "crtinit.o", "crtfini.o".
14213
14214         * fixinc/inclhack.def (limits_ifndefs): Add select test.
14215         * fixinc/fixincl.x: Rebuild.
14216
14217         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
14218         * fixinc/fixincl.x: Rebuild.
14219
14220 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
14221
14222         * doc/install.texi (Configuration): Document the valgrind option
14223         to --enable-checking.
14224
14225 2003-07-09  Jan Hubicka  <jh@suse.cz>
14226
14227         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14228
14229 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14230
14231         * c-lex.c (cb_ident): Cast cstr.text to const char *.
14232
14233 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
14234
14235         * gcov-io.h: Update documentation.
14236         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
14237         GCOV_NOTE_MAGIC.
14238         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
14239         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
14240         (struct gcov_var): Change buffer's type. Add endian flag.
14241         (gcov_open): Remove mode in libgcov.
14242         (gcov_magic): Prototype.
14243         * gcov-io.c (from_file): New.
14244         (gcov_open): Clear endian flag.
14245         (gcov_magic): New.
14246         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
14247         pointers.
14248         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
14249         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
14250         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
14251         * gcov-iov.c (main): Correct cast.
14252         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
14253         conversion.
14254         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
14255         (coverage_init): Use GCOV_NOTE_SUFFIX.
14256         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
14257         Rename to gcov_version, and return flag.
14258         (gcov_exit): Use gcov_version.
14259         (__gcov_init): Use gcov_version.
14260         * Makefile.in (coverageexts): Update.
14261         * gcov.c (print_version): Remove endianness conversion.
14262         (create_file_names): Use GCOV_NOTE_SUFFIX.
14263         (read_graph_file): Use gcov_magic.
14264         (read_count_file): Likewise.
14265         * gcov-dump.c (dump_file): Remove endianness conversion, use
14266         gcov_magic.
14267
14268 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
14269
14270         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
14271         coverage is on.
14272         * configure: Regenerated.
14273         * Makefile.in (ALL_CFLAGS): Correct its comment.
14274
14275 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
14276
14277         * fold-const.c (make_range): Do not access operand 1 for a
14278         zero-operand operator.
14279
14280 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
14281
14282         * toplev.c (warn_dummy, W_options): Die.
14283         (display_help): Don't print W_options.
14284         * common.opt: Add W_options help from toplev.c.
14285
14286 2003-07-09  Andreas Jaeger  <aj@suse.de>
14287
14288         * opts.c (wrap_help): Only pass int arguments as arguments to
14289         printf's '*' modifier.  Change argument of function.
14290
14291 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
14292
14293         * doc/invoke.texi: Fix misspelling of "@item".
14294
14295 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
14296
14297         * config/i386/i386.md: Remove an old comment about
14298         NOTICE_UPDATE_CC.
14299
14300 2003-07-09  Jan Hubicka  <jh@suse.cz>
14301
14302         * cgraph.c (cgraph_node_name): New function.
14303         (dump_cgraph): Use it.
14304         * cgraph.h (cgraph_dump_file): Declare.
14305         (cgraph_node_name): Declare.
14306         * cgraphunit.c: Include timevar.h
14307         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
14308         (cgraph_optimize_function): Use TV_INTEGRATION.
14309         (cgraph_mark_local_functions): reorganize dumps.
14310         (cgraph_mark_functions_to_inline_once): Likewise.
14311         (cgraph_optimize): Likewise; use timevar.
14312         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
14313         * toplev.c (dump_file_index): Add DFI_cgraph.
14314         (dump_file_info): Likewise.
14315         (cgraph_dump_file): New global variable.
14316         (do_compile): Open and close cgraph dump.
14317         * invoke.texi (-d): Document new flag; renumber.
14318
14319 2003-07-08  Roger Sayle  <roger@eyesopen.com>
14320
14321         PR c/11370
14322         * calls.c (emit_call_1): Don't bother popping the arguments off of
14323         the stack after a noreturn function call;  The adjustment is dead.
14324         (expand_call): Likewise.
14325
14326 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
14327
14328         * expr.c (MOVE_MAX_PIECES): Move from here...
14329         * defaults.h (MOVE_MAX_PIECES): ... to here.
14330
14331 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
14332
14333         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
14334
14335 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14336
14337         * genattr.c (internal_dfa_insn_code): Don't prototype.
14338         * genattrtab.c (attr_desc): Add `static_p' field.
14339         (expand_units): Make blockage range and ready cost functions
14340         static.
14341         (write_attr_get): Don't add extern prototypes in C file.  Mark
14342         static functions as appropriate.
14343         (find_attr, make_internal_attr): Initialize static_p.
14344         * genattrtab.h (ATTR_STATIC): New macro.
14345         * genautomata.c (output_internal_reset_func): Mark output function
14346         as inline.
14347         (make_internal_dfa_insn_code_attr): Mark output function as static.
14348
14349 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14350
14351         * genattrtab.h: Add new macros for attr `special' flags.
14352         * genattrtab.c (attr_desc): Reorder/resize fields better.
14353         Use attr `special' macros in all calls to make_internal_attr.
14354         * genautomata.c: Likewise.
14355
14356 2003-07-09  Jan Hubicka  <jh@suse.cz>
14357
14358         * c-common.c (c_estimate_num_insns_1): New static function.
14359         (c_estimate_num_insns): New global function.
14360         * c-common.h (DECL_NUM_STMTS): Rename to...
14361         (DECL_ESTIMATED_INSNS): ... this.
14362         (c_estimate_num_insns): Declare.
14363         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
14364         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14365         * c-semantics.c (add_stmt): Do not account statements.
14366         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
14367         New.
14368         * langhooks.h (lang_hooks_for_tree_inlining): Add
14369         estimate_num_insns
14370         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
14371         to 100.
14372         (max-inline-insns): set to 300.
14373         (min-inline-insns): set to 10.
14374         * tree-inline.c (struct inline_data): Rename inlined_stmts to
14375         inlined-insns.
14376         (INSNS_PER_STMT): Kill.
14377         (inlinable_function_p): Compute and store body size.
14378         (expand_call_inline): Likewise.
14379         (optimize_inline_calls): Likewise.
14380
14381 2003-07-08  James E Wilson  <wilson@tuliptree.org>
14382
14383         PR target/10021
14384         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
14385         loop over new variable t2 instead of t.
14386
14387 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
14388
14389         PR bootstrap/11455
14390         * config/i386/winnt.c: Replace use of error(), warning() with
14391         error_with_decl(), warning_with_decl(),  throughout.
14392
14393 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
14394
14395         * opts.c (wrap_help): Use unsigned int, not size_t.
14396
14397 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
14398
14399         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
14400         as .file/.loc directives are incompatible with linker relaxation.
14401
14402 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
14403
14404         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
14405         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
14406         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
14407         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
14408         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
14409         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
14410         Escape { and } characters which are not part of range expressions.
14411         * fixinc/fixincl.x: Regenerate.
14412         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
14413
14414 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
14415
14416         PR c/1687
14417         * tree-inline.c (find_alloca_call): Use
14418         walk_tree_without_duplicates, instead of walk_tree.
14419         (find_builtin_longjmp_call): Likewise.
14420         * c-objc-common.c (c_cannot_inline_fn): Likewise.
14421         * c-semantics.c (find_reachable_label): Likewise.
14422
14423 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
14424
14425         PR c/11420
14426         * config/i386/i386.c (ix86_check_movabs): New function.
14427         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
14428         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
14429         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
14430
14431 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
14432
14433         * Makefile.in (install-po): Cope with empty CATALOGS.
14434
14435 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
14436
14437         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14438         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
14439         (SECTION_FUNCTION_TEMPLATE): Delete.
14440         * config/mips/elf.h: As for elf64.h.
14441         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
14442         * config/mips/linux.h: As for elf.h
14443         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14444         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
14445         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
14446         of in_sdata from current_section_name and current_section_flags.
14447         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14448         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
14449         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
14450         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
14451         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
14452         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
14453         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
14454         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
14455         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
14456         (override_options): Remove setting of MASK_GPOPT.
14457         (mips_output_external): Use mips_in_small_data_p to check whether a
14458         symbol needs an .extern directive.  Don't emit such directives for
14459         TARGET_EXPLICIT_RELOCS.
14460         (mips_declare_object): Update accordingly.
14461         (mips_select_rtx_section): Call named_section rather than
14462         SMALL_DATA_SECTION.
14463         (mips_select_section): Use default_elf_section_section for everything
14464         except .text string constants.
14465         (mips_in_small_data_p): New function.
14466         (mips_encode_section_info): Remove small data handling.
14467         (mips_unique_section): Delete.
14468         (iris6_section_type_flags): New function.
14469         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
14470
14471 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14472
14473         PR Target/11453
14474         * pa.md: Disparage all mtsar constraints.
14475         (extzv, extv, insv): Don't fail on length of {32|64}.
14476
14477 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
14478
14479         * system.h: Poison MAP_CHARACTER.
14480         * config/i370/i370-protos.h (mvs_map_char): Delete.
14481         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
14482         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
14483         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
14484
14485 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
14486
14487         * toplev.c (randomize): Correct call to time().
14488
14489 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
14490
14491         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
14492         REG_EQUIV notes as well.
14493
14494 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
14495
14496         * doc/md.texi: Fix the description of addmodecc.
14497
14498 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
14499
14500         * Makefile.in (top_builddir): Set to "..", not ".".
14501         (INTLLIBS, INTLDEPS): Delete.
14502         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
14503         (LIBDEPS): Add $(LIBICONV_DEP).
14504         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
14505         (INCLUDES): Replace -I../intl with @INCINTL@.
14506         ($(top_builddir)/intl/libintl.a): Delete rule.
14507         (stage2-start, stage3-start, stage4-start, stageprofile-start,
14508         stagefeedback-start): Use $$ for variable to be evaluated by
14509         shell, not make.
14510         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
14511         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
14512         * aclocal.m4: sinclude ../config/progtest.m4.  Add
14513         contents of lcmessage.m4 from gettext distro.
14514         * configure.in: Check for wchar.h and setlocale.  Set
14515         LIBICONV_DEP to the empty string and substitute it.
14516         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
14517         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
14518         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
14519         in $LIBINTL, to avoid linking it twice.
14520         * configure, config.in: Regenerate.
14521
14522 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
14523
14524         * fixinc/mkfixinc.sh: Remove winnt support.
14525         * fixinc/fixinc.winnt: Delete with extreme prejudice.
14526
14527 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
14528
14529         * Makefile.in: Update.
14530         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
14531         * c.opt: Update documentation.
14532         * common.opt: Add some help text.
14533         * opts.c: Include intl.h.
14534         (wrap_help, print_help): New.
14535         (find_opt, handle_option, common_handle_option): opt_text now
14536         contains the '-'.  Use print_help to output help.
14537         * opts.h (struct cl_option): New member "help".
14538         * opts.sh: Update to handle help text output and to prepend
14539         options with '-'.
14540         * toplev.c (display_help): Remove some help text.
14541
14542 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
14543             Fariborz Jahanian  <fjahanian@apple.com>
14544
14545         * configure.in: Test for PowerPC mfcr field support in assembler.
14546         * config.in, configure: Regenderated.
14547
14548         * config/rs6000/power4.md: Add mfcrf reservation.
14549         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
14550         * config/rs6000/rs6000.c (mfcr_operation): Define.
14551         (print_operand): Add 'Q' case for mfcrf.
14552         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
14553         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
14554         (movcc_internal1): Emit optional field operand for mfcr and set
14555         "type" attribute appropriately.
14556         (mfcr SCC): Likewise.
14557         (movesi_from_cr_one): New.
14558
14559 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14560
14561         * config/i386/i386.md: Correct check-in of incorrect version.
14562
14563 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14564
14565         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
14566         adjacent stdio calls.
14567         * c-decl.c (c_print_identifier): Likewise.
14568         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
14569         * print-rtl.c (print_rtx): Likewise.
14570         * print-tree.c (print_node_brief, print_node): Likewise.
14571         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
14572
14573         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
14574         * config.in, configure: Regenerated.
14575
14576 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14577
14578         PR target/10979
14579         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
14580         Changed to define_expand patterns that copy operand[1] to prevent
14581         it from being clobbered before emitting an atan2?f3_1 insn.
14582         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
14583         patterns that actually specify the behaviour of x87's FPATAN.
14584
14585 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
14586
14587         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
14588         clearing of SYMBOL_FLAG_LOCAL bit.
14589         If vcall_offset fits into signed 16-bit immediate, use
14590         one instruction for both addition and load.
14591
14592 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
14593
14594         * opts.c (common_handle_option): Correct handling of the
14595         -falign- switches that do and don't take an argument.
14596
14597 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14598
14599         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
14600         today.
14601         (pushhi1_h8300hs): Likewise.
14602
14603 2003-07-07  Andreas Jaeger  <aj@suse.de>
14604
14605         * genextract.c: Convert remaining prototypes to ISO C90.
14606
14607         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
14608         * fold-const.c (fold_single_bit_test): Likewise.
14609         * diagnostic.c (default_diagnostic_finalizer): Likewise.
14610         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
14611
14612         * gengtype.c (write_array): Generate ISO C90 prototypes.
14613
14614         * genflags.c (gen_proto): Generate ISO C90 prototypes.
14615
14616 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14617
14618         PR optimization/11059
14619         * expr.c (can_store_by_pieces): Return true if length is zero.
14620         (store_by_pieces): If length is zero and endp is two, abort,
14621         othwerise, if length is zero and endp is not two, return "to".
14622         (clear_by_pieces): Do nothing if length is zero.
14623         (clear_storage): Do nothing if length is zero.
14624         (store_constructor): Simplify code when size is zero, or the
14625         target has already been cleared.  This avoids emitting a
14626         blockage instruction when initializing empty structures.
14627
14628 2003-07-07  Andreas Jaeger  <aj@suse.de>
14629
14630         * mips-tfile.c: Convert prototypes to ISO C90.
14631         * mips-tdump.c: Convert prototypes to ISO C90.
14632
14633 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
14634
14635         * rtl.h (emit_line_note): Take a location_t.
14636         (emit_line_note_force): Remove.
14637         (set_file_and_line_for_statement): Take a location_t.
14638         * tree.g (emit_line_note): Take a location_t.
14639         * emit-rtl.c (emit_line_note): Take a location_t.
14640         (emit_line_note_force): Remove.
14641         * function.c (init_function_start): Adjust emit_line_note call.
14642         (expand_function_end): Use force_next_line_note, not
14643         emit_line_note_force.
14644         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
14645         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
14646         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
14647         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
14648         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
14649         genrtl_continue_stmt, genrtl_switch_stmt,
14650         genrtl_asm_stmt): Likewise.
14651         * expr.c (expand_expr): Likewise.
14652         * integrate.c (expand_inline_function): Likewise.
14653         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
14654         (expand_decl_init): Adjust emit_line_note call.
14655
14656 2003-07-07  Dale Johannesen  <dalej@apple.com>
14657
14658         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
14659
14660 2003-07-07  Andreas Jaeger  <aj@suse.de>
14661
14662         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
14663         * config/i386/i386.c: Likewise.
14664
14665 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14666
14667         * config/h8300/h8300.md: Use gen_int_mode instead of
14668         GEN_INT (trunc_int_for_mode (...)).
14669
14670 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14671
14672         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
14673         2 bytes and then subtract 2 from the stack pointer.
14674         (pushhi1_h8300hs): Likewise.
14675
14676 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
14677
14678         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
14679         -frandom-seed.
14680         * configure: Regenerated.
14681         * Makefile.in: Remove extraneous comment.
14682         * toplev.c (randomize): Protect against potential multiple calls.
14683         * doc/invoke.texi (-frandom-seed): Document use for in coverage
14684         files.
14685
14686 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14687             Eric Botcazou  <ebotcazou@libertysurf.fr>
14688
14689         PR optimization/11198
14690         * alias.c (objects_must_conflict_p): Return 1 if the types have
14691         the same alias set, not if the alias sets only conflict.
14692
14693 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
14694
14695         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
14696         (convert_cset): Change inbuf to type ICONV_CONST char.
14697         * Makefile.in (LIBS): Add LIBICONV.
14698
14699         * doc/invoke.texi (-falign-functions): Document that
14700         when n is zero then a machine-dependent default is used.
14701         (-falign-labels): Document that when n is zero then a
14702         machine-dependent default is used and that -falign-labels =1
14703         is equivalent to -fno-align-labels.
14704         (-falign-loops): Likewise.
14705         (-falign-jumps): Likewise.
14706
14707 2003-07-06  Art Haas  <ahaas@airmail.net>
14708
14709         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
14710         initializer syntax.
14711
14712 2003-07-06  James E Wilson  <wilson@tuliptree.org>
14713
14714         PR optimization/9812
14715         * rtl.h (mem_for_const_double): Delete prototype.
14716         * varasm.c (mem_for_const_double): Delete function.
14717         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
14718         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
14719         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
14720         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
14721         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
14722         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
14723         comment about confused support for XFmode constants.
14724
14725 2003-07-07  Jan Hubicka  <jh@suse.cz>
14726
14727         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
14728
14729 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
14730
14731         * config/h8300/h8300.c: Fix comment typos.
14732         * config/h8300/h8300.md: Likewise.
14733         * config/i386/athlon.md: Likewise.
14734         * config/i386/i386.c: Likewise.
14735         * config/i386/pentium.md: Likewise.
14736         * config/ia64/ia64.c: Likewise.
14737         * config/ia64/itanium1.md: Likewise.
14738         * config/ia64/itanium2.md: Likewise.
14739         * config/m32r/m32r.md: Likewise.
14740         * config/m68hc11/m68hc11.c: Likewise.
14741         * config/mcore/mcore.c: Likewise.
14742         * config/mips/sr71k.md: Likewise.
14743         * config/mips/t-iris5-as: Likewise.
14744         * config/mmix/mmix.h: Likewise.
14745         * config/ns32k/ns32k.h: Likewise.
14746         * config/ns32k/NOTES: Fix a typo.
14747
14748 2003-07-06  Andreas Jaeger  <aj@suse.de>
14749
14750         * stmt.c: Convert remaining prototypes to ISO C90.
14751         * cfglayout.c: Likewise.
14752         * dbxout.c: Likewise.
14753         * gcc.c: Likewise.
14754         * genemit.c: Likewise.
14755
14756         * basic-block.h: Convert prototypes to ISO C90.
14757         * c-parse.in: Likewise.
14758         * c-pragma.h: Likewise.
14759         * c-typeck.c: Likewise.
14760         * cfghooks.h: Likewise.
14761         * cfgloopanal.c: Likewise.
14762         * dbxout.h: Likewise.
14763         * debug.h: Likewise.
14764         * dwarf2asm.h: Likewise.
14765         * gcov.c: Likewise.
14766         * gengtype-lex.l: Likewise.
14767         * sched-int.h: Likewise.
14768         * timevar.c: Likewise.
14769
14770 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
14771
14772         * c-common.h (c_comon_handle_filename,
14773         c_common_missing_arguement): New.
14774         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14775         LANG_HOOKS_MISSING_ARGUMENT): New.
14776         * c-opts.c (missing_arg): Rename c_common_missing_argument,
14777         update to be an appropriate langhook.
14778         (c_common_handle_option): Don't handle filenames.
14779         (c_common_handle_filename): New.
14780         * hooks.c (hook_void_constcharptr,
14781         hook_bool_constcharptr_size_t_false): New.
14782         * hooks.h (hook_void_constcharptr,
14783         hook_bool_constcharptr_size_t_false): New.
14784         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
14785         LANG_HOOKS_MISSING_ARGUMENT): New.
14786         (LANG_HOOKS_INITIALIZER): Update.
14787         * langhooks.h (struct lang_hooks): Add handle_filename and
14788         missing_argument.
14789         * opts.c (handle_option): Don't handle filenames here, but ...
14790         (handle_options): ... here.
14791         (common_handle_option): Don't handle missing arguments here.
14792         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14793         LANG_HOOKS_MISSING_ARGUMENT): New.
14794
14795 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
14796
14797         * Makfile.in: Remove traces of mbchar.
14798         * c-parse.in (MULTIBYTE_CHARS): Remove.
14799         * config.in (MULTIBYTE_CHARS): Remove.
14800         * configure: Remove --enable-mbchar.
14801         * configure.in: Remove --enable-mbchar.
14802         * mbchar.c, mbchar.h: Remove.
14803         * system.h: Poison MULTIBYTE_CHARS.
14804         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
14805         * config/linux.h (MULTIBYTE_CHARS): Remove.
14806         * config/svr4.h (MULTIBYTE_CHARS): Remove.
14807         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
14808
14809 2003-07-06  Andreas Jaeger  <aj@suse.de>
14810
14811         * varray.c (varray_check_failed): Fix typo.
14812
14813         * unroll.c: Convert prototypes to ISO C90.
14814         * varasm.c: Likewise.
14815         * varray.c: Likewise.
14816         * varray.h: Likewise.
14817         * vmsdbgout.c: Likewise.
14818         * xcoffout.c: Likewise.
14819         * xcoffout.h: Likewise.
14820
14821 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14822
14823         * gcov-io.h: Add a local time stamp.
14824         (struct gcov_info): Add stamp field.
14825         (gcov_truncate): New.
14826         * coverage.c (read_counts_file): Skip the stamp.
14827         (coverage_begin_output): Write the stamp.
14828         (build_gcov_info): Declare and init the stamp.
14829         (coverage_finish): Only unlink data file, if stamp is zero.
14830         * gcov-dump.c (dump_file): Dump the stamp.
14831         * gcov.c (bbg_stamp): New.
14832         (release_structures): Clear bbg_stamp.
14833         (read_graph_file): Read stamp.
14834         (read_count_file): Check stamp.
14835         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
14836
14837 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14838
14839         * tree.h (default_flag_random_seed): Remove.
14840         * toplev.h (local_tick): Declare.
14841         * tree.c (flag_random_seed, default_flag_random_seed): Move to
14842         toplev.c.
14843         (append_random_chars): Don't call default_flag_random_seed.
14844         * toplev.c (flag_random_seed): Define here. Set local_tick.
14845         (local_tick): Define.
14846         (randomize): New, moved from tree.c.
14847         (print_switch_values): Adjust.
14848         (toplev_main): Call randomize.
14849
14850 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14851
14852         * tree.h (crc32_string): Declare.
14853         * tree.c (append_random_chars): Remove.
14854         (crc32_string): New.
14855         (get_file_function_name_long): Use crc32_string here.
14856
14857 2003-07-06  Andreas Jaeger  <aj@suse.de>
14858
14859         * gcc.c: Convert prototypes to ISO C90.
14860         * gcc.h: Likewise.
14861         * gcov-dump.c: Likewise.
14862         * gcov-iov.c: Likewise.
14863         * gcse.c: Likewise.
14864         * genattrtab.h: Likewise.
14865         * ggc.h: Likewise.
14866         * global.c: Likewise.
14867         * graph.c: Likewise.
14868         * graph.h: Likewise.
14869         * hosthooks.h: Likewise.
14870         * hooks.h: Likewise.
14871         * hooks.c: Likewise.
14872         * hashtable.h: Likewise.
14873         * hashtable.c: Likewise.
14874         * haifa-sched.c: Likewise.
14875         * integrate.h: Likewise.
14876         * integrate.c: Likewise.
14877         * input.h: Likewise.
14878         * ifcvt.c: Likewise.
14879         * jump.c: Likewise.
14880         * langhooks-def.h: Likewise.  Add extern to prototypes.
14881         * langhooks.c: Likewise.
14882         * langhooks.h: Likewise.
14883         * lcm.c: Likewise.
14884         * local-alloc.c: Likewise.
14885         * loop-init.c: Likewise.
14886         * loop-unroll.c: Likewise.
14887         * loop-unswitch.c: Likewise.
14888         * loop.c: Likewise.
14889         * loop.h: Likewise. Add extern to prototypes.
14890         * machmode.h: Likewise.
14891         * main.c: Likewise.
14892         * mbchar.c: Likewise.
14893         * mbchar.h: Likewise.
14894         * mkdeps.c: Likewise.
14895         * mkdeps.h: Likewise.
14896         * optabs.c: Likewise.
14897         * optabs.h: Likewise.
14898         * output.h: Likewise.
14899         * gccspec.c: Likwise.
14900         * postreload.c: Likewise.
14901         * prefix.c: Likewise.
14902         * prefix.h: Likewise.
14903         * print-rtl.c: Likewise.
14904         * print-tree.c: Likewise.
14905         * profile.c: Likewise.
14906         * read-rtl.c: Likewise.
14907         * real.c: Likewise.
14908         * real.h: Likewise.
14909         * recog.c: Likewise.
14910         * recog.h: Likewise.
14911         * reg-stack.c: Likewise.
14912         * regclass.c: Likewise.
14913         * regmove.c: Likewise.
14914         * regrename.c: Likewise.
14915         * regs.h: Likewise.
14916         * reload.c: Likewise.
14917         * reload.h: Likewise.
14918         * reload1.c: Likewise.
14919         * reorg.c: Likewise.
14920         * resource.c: Likewise.
14921         * resource.h: Likewise.
14922         * rtl-error.c: Likewise.
14923         * rtl.c: Likewise.
14924         * rtl.h: Likewise.
14925         * rtlanal.c: Likewise.
14926         * sbitmap.c: Likewise.
14927         * sbitmap.h: Likewise.
14928         * scan-decls.c: Likewise.
14929         * scan.c: Likewise.
14930         * sched-deps.c: Likewise.
14931         * sched-ebb.c: Likewise.
14932         * sched-int.h: Likewise.
14933         * sched-rgn.c: Likewise.
14934         * sched-vis.c: Likewise.
14935         * sibcall.c: Likewise.
14936         * simplify-rtx.c: Likewise.
14937         * sreal.c: Likewise.
14938         * sreal.h: Likewise.
14939         * ssa-ccp.c: Likewise.
14940         * ssa-dce.c: Likewise.
14941         * ssa.c: Likewise.
14942         * ssa.h: Likewise.
14943         * stack.h: Likewise.
14944         * stmt.c: Likewise.
14945         * stor-layout.c: Likewise.
14946         * stringpool.c: Likewise.
14947         * target.h: Likewise.
14948         * timevar.c: Likewise.
14949         * timevar.h: Likewise.
14950         * tlink.c: Likewise.
14951         * tracer.c: Likewise.
14952         * tree-inline.c: Likewise.
14953         * tree-inline.h: Likewise.
14954         * tree.c: Likewise.
14955         * tree.h: Likewise.
14956
14957 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14958
14959         * combine.c (nonzero_bits1): Fix a warning.
14960
14961 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14962
14963         * config/h8300/h8300.c (compute_mov_length): Correct the
14964         length of loading CONST0_RTX (SFmode).
14965
14966 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14967
14968         * toplev.c (output_clean_symbol_name): Remove.
14969         * toplev.h (output_clean_symbol_name): Remove.
14970         * config/alpha/alpha.c (unicosmk_output_module_name): Use
14971         lbasename & clean_symbol_name.
14972
14973 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14974
14975         * ggc.h: Follow spelling conventions.
14976         * config/i386/i386.c: Likewise.
14977         * config/i386/winnt.c: Likewise.
14978         * config/rs6000/rs6000.c: Likewise.
14979
14980 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14981
14982         * bt-load.c: Fix comment typos.
14983         * c-incpath.c: Likewise.
14984         * cfg.c: Likewise.
14985         * cfgcleanup.c: Likewise.
14986         * cfgloop.h: Likewise.
14987         * cfgloopmanip.c: Likewise.
14988         * cfgrtl.c: Likewise.
14989         * diagnostic.h: Likewise.
14990         * dwarfout.c: Likewise.
14991         * emit-rtl.c: Likewise.
14992         * et-forest.c: Likewise.
14993         * et-forest.h: Likewise.
14994         * expr.c: Likewise.
14995         * gcse.c: Likewise.
14996         * genattr.c: Likewise.
14997         * jump.c: Likewise.
14998         * langhooks.h: Likewise.
14999         * local-alloc.c: Likewise.
15000         * loop-unroll.c: Likewise.
15001         * loop-unswitch.c: Likewise.
15002         * ra-build.c: Likewise.
15003         * regclass.c: Likewise.
15004         * regmove.c: Likewise.
15005         * rtl.def: Likewise.
15006         * rtlanal.c: Likewise.
15007         * sched-ebb.c: Likewise.
15008         * sched-rgn.c: Likewise.
15009         * simplify-rtx.c: Likewise.
15010         * ssa.c: Likewise.
15011         * tracer.c: Likewise.
15012         * tree.c: Likewise.
15013
15014 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
15015
15016         * cppcharset.c: Use the correct return type for the fallback iconv
15017         macro.
15018
15019 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15020
15021         Blame to Jan Hubicka  <jh@suse.cz>
15022         * cfglayout.c (record_effective_endpoints): Split insns before
15023         first basic block correctly.
15024
15025 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15026
15027         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
15028         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
15029         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
15030
15031 2003-07-05  Andreas Jaeger  <aj@suse.de>
15032
15033         * genattrtab.c (write_attr_get): Revert part of last patch to
15034         always write out a prototype.
15035
15036         * genemit.c (gen_split): Readd lost unused attributes in last
15037         patch.
15038
15039 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15040
15041         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
15042         different from header.
15043
15044 2003-07-05  Andreas Schwab  <schwab@suse.de>
15045
15046         * config/m68k/m68k.c: Remove code protected by CRDS.
15047         * config/m68k/m68k.md: Likewise.
15048
15049 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
15050
15051         PR driver/11417
15052         * c-opts.c (permit_fortran_options): New.
15053         (c_common_init_options): Accept fortran front end options if
15054         it looks like we might be preprocessing Fortran.
15055         (c_common_handle_option): Don't reject switch if permit_fotran_options.
15056
15057 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15058
15059         * genattr.c (internal_dfa_insn_code): Output prototype.
15060         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
15061         * genautomata.c: Likewise.
15062         * genconditions.c: Likewise.
15063         * genemit.c: Likewise.
15064         * genextract.c: Likewise.
15065         * gengenrtl.c: Likewise.
15066         * gengtype.c: Likewise.
15067         * genopinit.c: Likewise.
15068         * genoutput.c: Likewise.
15069         * genpeep.c: Likewise.
15070         * genrecog.c: Likewise.
15071
15072 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
15073
15074         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
15075         (struct cpp_options): Add narrow_charset, wide_charset,
15076         bytes_big_endian fields.  Remove EBCDIC field.
15077         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
15078
15079         * cpphash.h: Include <iconv.h> if we have it, otherwise
15080         provide a dummy definition of iconv_t.
15081         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
15082         (_cpp_valid_ucn): Update prototype.
15083         (_cpp_destroy_iconv): New prototype.
15084
15085         * doc/cpp.texi: Document character set handling.
15086         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
15087         * doc/extend.texi: Delete entire section on multiline strings.
15088         Rewrite section on __FUNCTION__ etc now that these are
15089         variables in C.
15090
15091         * cppucnid.tab, cppucnid.pl: New files.
15092         * cppucnid.h: New generated file.
15093         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
15094         (iconv_open, iconv, iconv_close): Provide dummy definitions
15095         if !HAVE_ICONV.
15096         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
15097         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
15098         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
15099         cpp_interpret_string, narrow_str_to_charconst,
15100         wide_str_to_charconst): New.
15101         (ucn_valid_in_identifier): Use a binary search through the
15102         ucnranges table defined in cppucnid.h, not a long chain of if
15103         statements.
15104         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
15105         character names are only valid in C++ and C99" to a warning.
15106         Issue the "meaning of \[uU] is different in traditional C"
15107         warning here.  Take care not to let iconv see an invalid UCS
15108         value if we get a malformed UCN.  Issue an error if we don't
15109         have iconv.
15110         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
15111         cpp_interpret_string to do the heavy lifting.
15112
15113         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
15114         narrow_charset, wide_charset fields of options structure.
15115         (cpp_destroy): Call _cpp_destroy_iconv.
15116         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
15117         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
15118         (cpp_interpret_charconst): Moved to cppcharset.c.
15119         * cpplib.c (dequote_string): Delete.
15120         (interpret_string_notranslate): New.
15121         (do_line, do_linemarker): Use interpret_string_notranslate.
15122
15123         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
15124
15125         * c-common.c (fname_string, combine_strings): Delete.
15126         * c-common.h (fname_string, combine_strings): Delete prototypes.
15127         * c-lex.c (ignore_escape_flag): Delete.
15128         (cb_ident): Use cpp_interpret_string, not lex_string.
15129         (get_nonpadding_token): New function.
15130         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
15131         Adjust calls to lex_string.  Don't write *value twice.
15132         (lex_string): Now handles string constant concatenation.
15133         Most of the work handed off to cpp_interpret_string.
15134         Call fix_string_type here.
15135         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
15136         FUNC_NAME, throughout.
15137         (OBJC_STRING): New token type.
15138         (primary:STRING): No need to call fix_string_type here.
15139         (primary:objc_string): Make that OBJC_STRING.
15140         (objc_string nonterminal): Delete.
15141         (yylexname): Delete code to handle fake string constants.
15142         (yylexstring): Delete entirely.
15143         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
15144         to handle CPP_ATSIGN.
15145
15146         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
15147         * c-opts.c (missing_arg, c_common_handle_option): Handle
15148         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
15149         (c_common_init): Set cpp_opts->bytes_big_endian, not
15150         cpp_opts->EBCDIC.  Call cpp_init_iconv.
15151         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
15152         (TARGET_EBCDIC): Delete default definition.
15153
15154         * objc/objc-act.c (build_objc_string_object): No need to
15155         handle string constant concatenation.
15156
15157 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
15158
15159         * doc/install.texi: Fix typos.
15160         * doc/invoke.texi: Likewise.
15161         * doc/tm.texi: Likewise.
15162
15163 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
15164
15165         * config/pa/fptr.c: Fix comment typos.
15166         * config/pa/pa-64.h: Likewise.
15167         * config/pa/pa.c: Likewise.
15168         * config/pa/pa.h: Likewise.
15169         * config/rs6000/603.md: Likewise.
15170         * config/rs6000/7xx.md: Likewise.
15171         * config/rs6000/darwin.h: Likewise.
15172         * config/rs6000/freebsd.h: Likewise.
15173         * config/rs6000/rs6000.c: Likewise.
15174         * config/rs6000/rs6000.md: Likewise.
15175         * config/rs6000/spe.h: Likewise.
15176
15177 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
15178
15179         * config/s390/2064.md: Change GNU CC to GCC.
15180         * config/s390/2084.md: Likewise.
15181         * config/s390/fixdfdi.h: Likewise.
15182         * config/s390/linux.h: Likewise.
15183         * config/s390/s390-modes.def: Likewise.
15184         * config/s390/s390-protos.h: Likewise.
15185         * config/s390/s390.c: Likewise.
15186         * config/s390/s390.h: Likewise.
15187         * config/s390/s390.md: Likewise.
15188         * config/s390/s390x.h: Likewise.
15189
15190 2003-07-04  Jeff Law  <law@redhat.com>
15191
15192         PR c/11428
15193         * expr.c (do_store_flag): Pass in the correct result type
15194         when calling fold_single_bit_test.
15195         * fold-const.c (fold_single_bit_test): Use result_type for the
15196         result when folding a sign bit test.
15197
15198 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
15199
15200         * opts.c (common_handle_options): Negate sense of -falign- switches.
15201
15202 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
15203
15204         * Makefile.in: Replace PWD with PWD_COMMAND.
15205
15206 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15207
15208         * cfgloopanal.c (count_strange_loop_iterations): New static function.
15209         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
15210         Handle strange loops.
15211
15212 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
15213
15214         * install.texi: Even the g77 manpage is derived from
15215         the full g77 manual.
15216
15217 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
15218
15219         * ABOUT-NLS: Delete.
15220         * intl: Delete entire directory.
15221         * aclocal.m4: Include ../config/gettext.m4.  Delete
15222         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
15223         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
15224         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
15225         Remove intl/Makefile from all_outputs.
15226         * configure, config.in: Regenerate.
15227         * Makefile.in: Expunge all references to intl subdirectory.
15228         Add -I../intl to INCLUDES.
15229         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
15230
15231 2003-07-04  Roger Sayle  <roger@eyesopen.com>
15232
15233         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
15234         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
15235
15236 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
15237
15238         PR c++/5287, PR c++/7910, PR c++/11021
15239         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
15240         dllimport attribute if function is defined at declaration, but
15241         report error instead. Likewise for dllimport'd variable
15242         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
15243         declared within functions, Report error if dllimport or dllexport
15244         symbol is not global.
15245         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
15246         if defined after declaration or if inlined. Don't allow definition
15247         of static data members of C++ classes. Don't dllimport virtual
15248         methods.
15249         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
15250         (i386_pe_mark_dllimport): Remove unnecessary checks.
15251         (i386_pe_encode_section_info): Warn if the dllimport attribute
15252         and symbol prefix have been instantiated and then overridden.
15253
15254         * doc/extend.texi: Document dllimport and dllexport attributes.
15255
15256         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
15257
15258 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
15259
15260         * config/kaos.h (CPP_PREDEFINES): Delete.
15261         (TARGET_OS_CPP_BUILTINS): New.
15262
15263 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15264
15265         * c-aux-info.c: Include toplev.h after c-tree.h.
15266         * c-common.c: Likewise.
15267         (GCC_DIAG_STYLE): Undef.
15268         * c-semantics.c (GCC_DIAG_STYLE): Define.
15269         * c-tree.h (GCC_DIAG_STYLE): Likewise.
15270         * diagnostic.h (inform): Move prototype to toplev.h.
15271         * jump.c: Include diagnostic.h before toplev.h.
15272         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
15273         (warning, error, fatal_error, pedwarn, sorry, inform,
15274         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
15275
15276 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15277
15278         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
15279         at all if edge is not specified.
15280         (can_copy_bbs_p, copy_bbs): New.
15281         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
15282         * cfgloop.c (get_loop_body): Comment more precisely.
15283         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
15284         (scale_bbs_frequencies): Fix comment typo.
15285         (can_duplicate_loop_p): Use can_copy_bbs_p.
15286         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
15287
15288 2003-07-03  Devang Patel <dpatel@apple.com>
15289
15290         * c-opts.c (c_common_parse_file): Remove extra
15291         debug_hooks->start_source_file call.
15292
15293 2003-07-03  Roger Sayle  <roger@eyesopen.com>
15294
15295         * real.c (real_trunc, real_floor, real_ceil): New functions
15296         to implement trunc, floor and ceil respectively.
15297         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
15298         * builtins.c (integer_valued_real_p): New function to test if
15299         a floating point expression has an integer valued result.
15300         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
15301         foo(x) where foo is an integer rounding function.  Similarly,
15302         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
15303         (double)(int)x when both foo and bar are integer rounding
15304         functions and we don't need to honor errno.
15305         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
15306         New functions to fold trunc, floor and ceil.
15307         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
15308         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
15309         to fold BUILT_IN_CEIL*.
15310         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
15311         the remaining integer rounding functions.
15312
15313 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
15314
15315         * config/sparc/sparc.c (function_arg_partial_nregs): Use
15316         SPARC_INT_ARG_MAX to determine where to split unnamed
15317         complex FP arguments.
15318
15319 2003-07-03  Jan Hubicka  <jh@suse.cz>
15320
15321         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
15322         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
15323         (merge_blocks_move_predecessor_nojumps,
15324          merge_blocks_move_successor_nojumps): Use merge_blocks.
15325         (try_optimize_cfg): Use merge_blocks_move.
15326         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
15327         (merge_blocks_nomove): Rename to rtl_merge_blocks.
15328         (cfg_layout_create_basic_block): New.
15329         (rtl_can_merge_blocks): New.
15330         (cfg_layout_split_block): Do not alloc aux by hand.
15331         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
15332         merge_blocks.
15333         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
15334         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
15335         * cfgloopmanip.c (loop_split_edge_with): Likewise.
15336         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
15337
15338         * basic-block.h (basic_block_def): Add field 'rbi'.
15339         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
15340         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
15341         * cfg.c (entry_exit_blocks): Add new field.
15342         * cfglayout.c: Include alloc-pool.h;
15343         (cfg_layout_pool): New.
15344         (record_effective_endpoints, fixup_reorder_chain,
15345         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
15346         of rbi.
15347         (cfg_layout_initialize_rbi): New function.
15348         (cfg_layout_initialize): Use it.
15349         (cfg_layout_finalize): Clear rbi fields.
15350         * cfglayout.h (RBI): Kill.
15351         (cfg_layout_initialize_rbi): Declare.
15352         * cfgloopmanip.c (copy_bbs): Use rbi.
15353         (record_exit_edges): Likewise.
15354         (duplicate_loop_to_header_edge): Likewise.
15355         * cfgrtl.c (cfg_layout_create_basic_block): Use
15356         cfg_layout_initialize_rbi.
15357         (cfg_layout_split_block): Use rbi.
15358         (cfg_layout_delete_block): Likewise.
15359         * loop-init.c (loop_optimizer_finalize): Likewise.
15360         * loop-unswitch.c (unswitch_loop): Likewise.
15361         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
15362
15363         * cfgrtl.c: Update comments.
15364         (try_redirect_by_replacing_jump): New argument.
15365         (redirect_branch_edge): Break out from ...
15366         (rtl_redirect_edge_and_branch): ... this one.
15367         (update_cfg_after_block_merging): Break out from ...
15368         (rtl_merge_blocks): ... this one.
15369         (cfg_layout_split_edge): New.
15370         (cfg_layout_merge_blocks): New.
15371         (cfg_layout_can_merge_blocks_p): New.
15372         (cfg_layout_redirect_edge_and_branch): Reorganize.
15373         (cfg_layout_rtl_cfg_hooks): Fill in.
15374         (cfg_layout_delete_block): Kill barriers.
15375         * cfganal.c (can_fallthru): Deal with exit blocks
15376         * cfglayout.c (cfg_layout_function_header): New function
15377         (record_effective_endpoints): Record function header.
15378         (fixup_reorder_chain): Fixup dead jumptables; place header
15379
15380         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
15381         * bb-reorder.c (cfg_layout_initialize): Update call.
15382         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
15383         edges in cfglayout mode.
15384         * cfglayout.c (cleanup_unconditional_jumps): Kill.
15385         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
15386         * cfglayout.h (cfg_layout_initialize): Update prototype.
15387         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
15388         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
15389         * flow.c (propagate_block): Do not crash when basic block ends
15390         by first insn in the chain.
15391         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
15392         do loop discovery.
15393         * tracer.c (tracer): Update call of cfg_layout_initialize.
15394
15395 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15396
15397         * Makefile.in: Use dependency variables in lieu of explicit
15398         files throughout.
15399
15400 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
15401
15402         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
15403         * tree.h: ...to here.
15404
15405 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
15406
15407         * config/s390/2064.md: Fix comment typos.
15408         * config/s390/2084.md: Likewise.
15409         * config/s390/s390.c: Likewise.
15410         * config/s390/s390.md: Likewise.
15411         * config/sh/sh.c: Likewise.
15412         * config/sh/sh.h: Likewise.
15413         * config/sh/sh.md: Likewise.
15414         * config/sparc/sparc.c: Likewise.
15415         * config/sparc/sparc.h: Likewise.
15416         * config/sparc/sparc.md: Likewise.
15417         * config/stormy16/stormy16.c: Likewise.
15418         * config/stormy16/stormy16.h: Likewise.
15419         * config/stormy16/stormy-abi: Fix a typo.
15420
15421 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
15422
15423         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
15424
15425 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15426
15427         * config/mips/mips.h (save_argv): Delete.
15428
15429 2003-07-03  Roger Sayle  <roger@eyesopen.com>
15430
15431         PR target/10700
15432         * fold-const.c (extract_muldiv_1): There's nothing that can be done
15433         if the expression is a SAVE_EXPR.
15434
15435 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
15436
15437         * config/m32r/m32r.c: Fix comment typos.
15438         * config/m68hc11/m68hc11.c: Likewise.
15439         * config/m68hc11/m68hc11.h: Likewise.
15440         * config/m68k/m68k.c: Likewise.
15441         * config/mcore/mcore.c: Likewise.
15442         * config/mcore/mcore.h: Likewise.
15443         * config/mcore/mcore.md: Likewise.
15444         * config/mips/mips.c: Likewise.
15445         * config/mips/mips.h: Likewise.
15446         * config/mips/mips.md: Likewise.
15447         * config/mips/netbsd.h: Likewise.
15448         * config/mn10300/mn10300.c: Likewise.
15449
15450 2003-07-03  Andreas Schwab  <schwab@suse.de>
15451
15452         * dbxout.c (pending_bincls): Move decl down inside
15453         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
15454
15455 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15456
15457         * rtl.h (NOTE_DATA): Refer to whole union.
15458         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
15459
15460 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
15461
15462         PR optimization/11381
15463         * simplify-rtx.c (simplify_relational_operation): Check that
15464         two equal operands have no side-effects before simplifying
15465         the comparison.
15466
15467 2003-07-02  Jeff Law  <law@redhat.com>
15468
15469         * expr.c (do_store_flag): Remove special case folding for
15470         single bit tests.  Instead call back into the commonized folder
15471         routine.
15472         * fold-const.c (fold_single_bit_test): New function, mostly
15473         extracted from do_store_flag, with an additional case extracted
15474         from fold.
15475         (fold): Call fold_single_bit_test appropriately.
15476         * tree.h (fold_single_bit_test): Prototype.
15477
15478 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
15479
15480         * system.h: Include filenames.h.
15481         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
15482         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
15483         define based on HAVE_DOS_BASED_FILE_SYSTEM.
15484         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
15485         * config/i386/xm-mingw32.h: Don't define
15486         HAVE_DOS_BASED_FILE_SYSTEM,
15487         DIR_SEPARATOR, or DIR_SEPARATOR_2.
15488         * doc/hostconfig.texi: Update to match.
15489
15490         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
15491         config/i386/cygwin.h:
15492         Use IS_ABSOLUTE_PATH throughout.
15493         * gcc.c (DIR_UP): Delete, unused.
15494         * protoize.c (IS_SAME_PATH): Define in terms of
15495         FILENAME_CMP.
15496         (is_abspath): Delete.
15497
15498 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
15499
15500         * config/i386/emmintrin.h: Fix comment typos.
15501         * config/i386/i386.c: Likewise.
15502         * config/i386/i386.h: Likewise.
15503         * config/i386/sco5.h: Likewise.
15504         * config/ia64/ia64.c: Likewise.
15505         * config/ia64/itanium2.md: Likewise.
15506
15507 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
15508
15509         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
15510         DBX_USE_BINCL.
15511         (emit_bincl_stab): Same.
15512         (emit_pending_bincls): Same.
15513
15514 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
15515
15516         * config/h8300/h8300.c (compute_mov_length): Fix the length of
15517         loading CONST0_RTX (SFmode).
15518         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
15519         'G' to CONST0_RTX (SFmode).
15520         * config/h8300/h8300.md (movsf_h8300): Change the first
15521         constraint to 'G'.
15522         (movsf_h8300h): Likewise.
15523
15524 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
15525
15526         * c-common.h (c_common_init_options): New prototype.
15527         * c-opts.c (deferred_size): Remove.
15528         (defer_opt): Array is now pre-allocated.
15529         (c_common_init_options): Pre-allocate deferred_opts.  Make
15530         lang_flags unsigned.
15531         (push_command_line_options): Free deferred_opts.
15532         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
15533         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
15534         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
15535         * langhooks.h (struct lang_hooks): New prototype for init_options.
15536         * main.c (main): Cast argv.
15537         * opts.c (handle_option, handle_options): Update prototypes.
15538         (decode_options): save_argc, save_argv are not global.  Constify.
15539         * opts.h (decode_options): New prototype.
15540         * toplev.c (general_init): New protoype.
15541         (save_argv): Make static.
15542         (save_argc): Remove.
15543         (print_switch_values, general_init): Constify.
15544         (toplev_main): Save argv.
15545         * toplev.h (toplev_main): Update prototype.
15546         (save_argc, save_argv): Remove.
15547
15548 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
15549
15550         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
15551         (emit_bincl_stab): Same.
15552         (emit_pending_bincls): Same.
15553
15554 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15555
15556         PR c++/11072
15557         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
15558
15559 2003-07-02  Andreas Schwab  <schwab@suse.de>
15560
15561         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
15562
15563 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
15564
15565         PR optimization/11210
15566         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
15567         about the behaviour with regard to bitfields.
15568         * fold-const (decode_field_reference): Record outermost type in
15569         case the expression is a NOP. Strip all NOPs. Set the signedness
15570         to that of the outermost type (if any) when the bitsize is equal
15571         to the size of the type.
15572
15573 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
15574
15575         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
15576         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
15577         (adddi3_internal_3, addsi3_internal_2): Likewise.
15578
15579 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
15580
15581         * config/mips/mips.c (machine_function): Add new fields:
15582         ignore_hazard_length_p and all_noreorder_p.
15583         (mips_flag_delayed_branch): New variable.
15584         (override_options): Treat '/' as an operand punctuation character.
15585         Set up mips_flag_delayed_branch.
15586         (print_operand): Handle '/'.
15587         (mips_output_function_prologue): Put the whole function in
15588         .set noreorder and .set nomacro if all_noreorder_p is true.
15589         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
15590         (mips16_optimize_gp): Remove "first insn" parameter.
15591         (mips16_lay_out_constants): New function, split out from mips_reorg.
15592         (mips_avoid_hazard, mips_avoid_hazards): New functions.
15593         (mips_reorg): For mips16 code, call mips16_lay_out_constant
15594         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
15595         do delayed-branch scheduling followed by hazard detection.
15596         (mips_adjust_insn_length): Only account for hazards if
15597         !ignore_hazard_length_p.
15598         (mips_output_load_label): Add a nop to the o32 sequence if
15599         the target suffers from load delays.
15600         (mips_output_conditional_branch): Add %/ to the end of branches.
15601         (mips_output_division): Fill the branch delay slot with %#.
15602         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
15603         instructions.  End all other %* branches with %/.
15604         (ffssi2, ffsdi2): Fix lengths.
15605         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
15606         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
15607         (fix_truncsfsi2_macro): Likewise.
15608         (mov_lwl): Set hazard to "none".
15609         (ashldi3_internal): Fill the branch delay slot with %#.
15610         (ashrdi3_internal, lshrdi3_internal): Likewise.
15611         (exception_receiver): Explicitly set $28.
15612         (hazard_nop): New pattern.
15613
15614 2003-07-02  Jan Hubicka  <jh@suse.cz>
15615
15616         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
15617         before calling tree_inlinable_function_p.
15618
15619 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15620
15621         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
15622         <internal/stdio_core.h> too.
15623         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
15624         <internal/wchar_core.h> too.
15625         Substitute va_list uses in inline definition.
15626         * fixinc/fixincl.x: Regenerate.
15627
15628 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15629
15630         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
15631         Undef before redefinition.
15632         (LABEL_AFTER_LOC): Likewise.
15633         (DEFAULT_SIGNED_CHAR): Likewise.
15634         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
15635         Fix IRIX spelling.
15636
15637         * config/mips/iris3.h: Remove, unused.
15638         * config/mips/iris4.h: Likewise.
15639
15640         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
15641
15642         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
15643         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
15644         target_cpu_default.
15645
15646         * config/mips/iris5.h: Move explicit includes ...
15647         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
15648
15649         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
15650         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15651         tm_defines.
15652
15653         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
15654         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15655         target_cpu_default.
15656
15657         * config/mips/iris6.h: Fix IRIX spelling.
15658         (MULTILIB_DEFAULTS): Undef before redefinition.
15659
15660         * config/mips/iris6.h: Move explicit includes ...
15661         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
15662
15663 2003-07-02  Jan Hubicka  <jh@suse.cz>
15664
15665         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
15666         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
15667         Use next_needed field instead of aux to maintain the queue.
15668         * cgraph.h (cgraph_node): Add next_needed.
15669         (cgraph_varpool_node): Add next_needed; remove aux.
15670         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
15671
15672 2003-07-02  Jan Hubicka  <jh@suse.cz>
15673
15674         * cgraphunit.c (cgraph_finalize_function): Set finalized.
15675         (cgraph_finalize_function): Do not examine inlinablility.
15676         (cgraph_finalize_compilation_unit): Do it here.
15677         * cgraph.h (cgraph_local_info): Add finalized field.
15678
15679 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15680
15681         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
15682         (gt_pch_restore): Likewise.
15683
15684 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15685
15686         * config/alpha/alpha.c: Fix comment typos.
15687         * config/alpha/elf.h: Likewise.
15688         * config/arm/arm.c: Likewise.
15689         * config/arm/arm.h: Likewise.
15690         * config/arm/arm.md: Likewise.
15691         * config/arm/t-arm-coff: Likewise.
15692         * config/arm/t-strongarm-pe: Likewise.
15693         * config/arm/xscale-elf.h: Likewise.
15694         * config/avr/avr.h: Likewise.
15695
15696 2003-07-01  Jeff Law  <law@redhat.com>
15697
15698         * stmt.c (any_pending_cleanups): Remove another redundant test.
15699
15700 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
15701             J"orn Rennecke <joern.rennecke@superh.com>
15702
15703         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
15704         for MEM case.
15705
15706 2003-07-01  Devang Patel  <dpatel@apple.com>
15707
15708         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
15709         (binclstatus): New.
15710         (struct dbx_file): New members - bincl_status, pending_bincl_name and
15711         prev.
15712         (pending_bincls): New.
15713         (dbxout_init): Initialize new dbx_file members.
15714         (dbxout_start_source_file): Same.
15715         (emit_bincl_stab): New function.
15716         (emit_pending_bincls): Same.
15717         (emit_pending_bincls_if_required): Same.
15718         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
15719         processed.
15720         (dbxout_begin_block): Emit pending BINCL stabs.
15721         (dbxout_end_block): Same.
15722         (dbxout_function_decl): Same.
15723         (dbxout_continue): Same.
15724         (dbxout_type): Same.
15725         (dbxout_class_name_qualifiers): Same.
15726         (dbxout_symbol): Same.
15727         (dbxout_symbol_location): Same.
15728         (dbxout_parms): Same.
15729
15730 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15731
15732         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
15733         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
15734
15735 2003-07-01  Andreas Jaeger  <aj@suse.de>
15736
15737         * fold-const.c: Convert prototypes to ISO C90.
15738         * function.c: Likewise.
15739         * function.h: Likewise.
15740
15741 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15742
15743         * doc/contrib.texi: Fix typos.
15744         * doc/invoke.texi: Likewise.
15745         * doc/passes.texi: Likewise.
15746         * doc/sourcebuild.texi: Likewise.
15747         * doc/tm.texi: Likewise.
15748
15749 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15750
15751         * basic-block.h: Fix comment typos.
15752         * bb-reorder.c: Likewise.
15753         * c-format.c: Likewise.
15754         * cfgcleanup.c: Likewise.
15755         * cfghooks.h: Likewise.
15756         * cfgloop.c: Likewise.
15757         * cfgloopmanip.c: Likewise.
15758         * cfgrtl.c: Likewise.
15759         * cgraph.h: Likewise.
15760         * cgraphunit.c: Likewise.
15761         * combine.c: Likewise.
15762         * convert.c: Likewise.
15763         * dbxout.c: Likewise.
15764         * df.c: Likewise.
15765         * df.h: Likewise.
15766         * diagnostic.c: Likewise.
15767         * dwarf2out.c: Likewise.
15768         * et-forest.h: Likewise.
15769         * flow.c: Likewise.
15770         * fold-const.c: Likewise.
15771         * function.h: Likewise.
15772         * gcov-io.h: Likewise.
15773         * gcov.c: Likewise.
15774         * gcse.c: Likewise.
15775         * genautomata.c: Likewise.
15776         * ggc-common.c: Likewise.
15777         * ggc-page.c: Likewise.
15778         * loop-unroll.c: Likewise.
15779         * loop-unswitch.c: Likewise.
15780         * loop.c: Likewise.
15781         * mips-tfile.c: Likewise.
15782         * optabs.c: Likewise.
15783         * ra-build.c: Likewise.
15784         * ra-colorize.c: Likewise.
15785         * ra-rewrite.c: Likewise.
15786         * ra.h: Likewise.
15787         * regmove.c: Likewise.
15788         * reload.c: Likewise.
15789         * rtlanal.c: Likewise.
15790         * sched-ebb.c: Likewise.
15791         * sched-int.h: Likewise.
15792         * sched-vis.c: Likewise.
15793         * sreal.c: Likewise.
15794         * ssa-ccp.c: Likewise.
15795         * ssa.c: Likewise.
15796         * toplev.c: Likewise.
15797         * tree-inline.c: Likewise.
15798         * value-prof.c: Likewise.
15799         * value-prof.h: Likewise.
15800
15801 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15802
15803         * rtl.h (emit_line_note_after): Remove.
15804         (emit_note_copy_after, emit_note_copy): New.
15805         * emit-rtl.c (reorder_insns_with_line_notes): Replace
15806         emit_line_note_after with emit_note_copy_after.
15807         (emit_insn_after_with_line_notes): Likewise.
15808         (emit_line_note_after): Kill.
15809         (emit_note_copy_after): New.
15810         (emit_note_copy): New.
15811         * function.c (emit_return_into_block): Use emit_note_copy_after.
15812         (thread_prologue_and_epilogue_insns): Likewise.
15813         * integrate.c (expand_inline_function): Use emit_note_copy.
15814         (copy_insn_list): Likewise.
15815         * unroll.c (copy_loop_body): Likewise.
15816         * cfglayout.c (duplicate_insn_chain): Likewise.
15817
15818 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15819
15820         * c-tree.h (define_label): Replace filename and lineno arguments
15821         with a location_t.
15822         * c-decl.c (poplevel): Adjust define_label call.
15823         (pop_label_level): Likewise.
15824         (define_label): Replace filename and lineno arguments with a
15825         location_t.
15826         (store_parm_decls): Use DECL_SOURCE_LOCATION.
15827         * c-parse.in (label): Adjust define_label call.
15828
15829 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
15830
15831         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
15832         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
15833         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
15834         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
15835         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
15836
15837 2003-07-01  Andreas Jaeger  <aj@suse.de>
15838
15839         * final.c: Convert prototypes to ISO C90.
15840         * flow.c: Likewise.
15841         * flags.h: Likewise.
15842         * gcov-io.c: Likewise.
15843         * gcov-io.h: Likewise.
15844
15845 See ChangeLog.9 for earlier changes.