OSDN Git Service

* config/arm/arm.c: Convert to ISO-C.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * config/arm/arm.c: Convert to ISO-C.
4         * config/avr/avr.h: Likewise.
5         * config/fr30/fr30.c: Likewise.
6         * config/ip2k/ip2k.c: Likewise.
7         * config/mn10300/mn10300.c: Likewise.
8
9 2003-12-20  Andrew Pinski  <pinskia@gcc.gnu.org>
10             Matt Thomas  <matt@3am-software.com>
11
12         PR target/12749
13         * config/i386/i386.c (print_operand): Print only the first
14         8 characters of the float in hex.
15
16 2003-12-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17
18         * pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
19         2.0 code.
20         (TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
21         (INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
22         and end addresses to I and D cache instruction patterns.
23         * pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
24         and_operand and ior_operand, respectively.  When generating 64-bit
25         code, only one operand needs to be a register operand.
26         (xordi3): Change predicates of operands 1 and 2 to register_operand.
27         (one_cmpldi2): Change predicate of operand 1 to register_operand.
28         (dcacheflush, icacheflush): Revise to flush an arbitrary number of
29         cache lines.
30
31 2003-12-20  Josef Zlomek  <zlomekj@suse.cz>
32
33         PR optimization/13430, PR optimization/12322
34         * bb-reorder.c (copy_bb_p): Do not allow block with many successors to
35         be copied.
36         (find_traces_1_round): Surround check for fake edges by
37         #ifdef ENABLE_CHECKING #endif.
38
39 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
40
41         PR other/7956
42         * genmultilib: New variable disable_multilib.  Set it to 'yes'
43         if enable_multilib was set to 'no'.  Emit DISABLE_MULTILIB
44         if disable_multilib was set to 'yes'.
45         * gcc.c: Include multilib.h before tm.h.
46         * config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
47         message for multiarch options if DISABLE_MULTILIB is set.
48         * config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
49
50 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
51
52         PR c/12085
53         * c-typeck.c (build_function_call): Issue a warning if a
54         function is called through an incompatible prototype and
55         replace the call by a trap in this case.
56
57 2003-12-19  James E Wilson  <wilson@specifixinc.com>
58
59         * install.texi (ia64-*-linux): Document minimum libunwind version
60         number.
61
62 2003-12-19  Per Bothner  <per@bothner.com>
63
64         * langhooks.c (lhd_print_error_function):  Fix for PR c/13110.
65         Don't do pp_newline; it causes an extra blank line.
66         * pretty-print.c (pp_base_flush):  Clear pp_needs_newline.
67
68 2003-12-19  Jason Merrill  <jason@redhat.com>
69
70         * tree.c (get_unwidened): Decide whether to narrow a bitfield
71         reference based on TYPE_SIZE, not TYPE_PRECISION.
72
73         * stmt.c (parse_output_constraint): Warn about in-out constraint
74         that doesn't allow a register.
75         (parse_input_constraint): Warn about matching constraint that
76         doesn't allow a register.
77
78 2003-12-19  James E Wilson  <wilson@specifixinc.com>
79
80         * flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
81         Add case for ASM_OPERANDS.
82         * global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
83         registers.
84
85 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
86
87         * expr.c (check_max_integer_computation_mode): Remove.
88         * dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
89         * fold-const.c (fold): Likewise.
90         * system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
91         * doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
92
93 2003-12-19  James E Wilson  <wilson@specifixinc.com>
94
95         * configure.in: Delete libunwind_has_eh_support test.
96         * configure: Regenerate.
97         * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
98         and libunwind_has_eh_support check.
99         * config/t-libunwind-no-eh: Delete.
100
101 2003-12-19  Joseph S. Myers  <jsm@polyomino.org.uk>
102
103         * c-format.c (print_char_table): Allow 'I' flag on floating point
104         decimal formats.
105
106 2003-12-19  Stuart Hastings  <stuart@apple.com>
107
108         * gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
109         Trivial fixes for i386.c on Darwin/x86.
110         
111 2003-12-19  Fariborz Jahanian <fjahanian@apple.com>
112
113         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
114         recognize macho-style lo_sum adrress patterns.
115
116 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
117
118         * dwarfout.c: Remove uses of "register" specifier in
119         declarations of arguments and local variables.
120         * gensupport.c: Likewise.
121         * local-alloc.c: Likewise.
122         * regclass.c: Likewise.
123
124 2003-12-19  Kelley Cook  <kelleycook@wideopenwest.com>
125
126         * config.guess: Remove.
127
128 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
129
130         * config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
131         (unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
132         regstk_top.
133         (uw_frame_state_for): Handle locations inside bundles.
134         (uw_init_context_1): Initialize context->rnat.
135         Set context->regstk_top to lowest rbs address which has nat collection
136         in context->rnat.
137         (uw_install_context): Fix rnat restoring.
138         Restore ar.rsc to previous state.
139         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
140         MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
141
142 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
143
144         PR c++/13239
145         * builtins.c (expand_builtin_expect_jump): Update
146         TREE_VALUE (arglist) if unsave_expr_now langhook
147         created a new tree.
148
149 2003-12-19  Richard Earnshaw  <rearnsha@arm.com>
150
151         * arm.c (thumb_base_register_rtx_p): Use regno in comparison against
152         FIRST_PSEUDO_REGISTER.
153
154 2003-12-18  Hartmut Penner  <hpenner@de.ibm.com>
155
156         * gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
157         for SVR4 ABI.
158
159 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
160
161         * config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
162         (OS_MISSING_ALTIVEC): Define.
163         * config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
164         -force_cpusubtype_ALL.
165         * config/rs6000/rs6000.c (rs6000_override_options): Rearrange
166         CPU information table; now always set all CPU-specific values.
167         Also, use Altivec and powerpc64 when chip and OS supports them.
168
169 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
170
171         * fixinc/inclhack.def (darwin_macho_dyldh): New.
172         * fixinc/fixincl.x: Regenerate.
173
174 2003-12-18  Dara Hazeghi  <dhazeghi@yahoo.com>
175
176         * version.c (version_string): Renumber as 3.4.0
177         * doc/include/gcc-common.texi: Likewise
178
179 2003-12-18  Richard Henderson  <rth@redhat.com>
180
181         * genrecog.c (print_host_wide_int): New.
182         (write_switch, write_cond): Use it.
183
184 2003-12-18  Richard Henderson  <rth@redhat.com>
185
186         * c-decl.c (check_bitfield_type_and_width): Remove enum special
187         case suppression of pedwarn.
188         * system.h (ENUM_BITFIELD): Use __extension__.
189         (CHAR_BITFIELD): Likewise.
190
191 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
192             Mark Dettinger  <dettinge@de.ibm.com>
193
194         * config/s390/s390.md (UNSPEC_SRST): New constant.
195         ("strlendi", "strlensi"): New expanders.
196         ("*strlendi", "*strlensi"): New insns.
197
198 2003-12-18  Mark Mitchell  <mark@codesourcery.com>
199
200         * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
201         (LINK_ARCH32_SPEC_BASE): ... this new macro.
202         * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
203         ...
204         (LINK_ARCH64_SPEC_BASE): ... this new macro.
205         * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
206         (LINK_ARCH64_SPEC): Likewise.
207
208 2003-12-18  Jason Merrill  <jason@redhat.com>
209
210         PR middle-end/13234
211         * tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
212         classes.
213
214 2003-12-18  Steven Bosscher  <stevenb@suse.de>
215
216         * Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
217         * toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
218         Don't push and pop TV_REORDER_BLOCKS timevars, do it...
219         * bb-reorder.c (reorder_basic_blocks): ...here, and...
220         * tracer.c (tracer): here.
221
222 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
223
224         * loop.c (move_movables): Handle combination of m->consec, 
225         m->move_insn_first, and m->insert_temp all nonzero correctly.
226
227 2003-12-18  Kazu Hirata  <kazu@cs.umass.edu>
228
229         * calls.c (load_register_parameters): Don't use
230         LOAD_ARGS_REVERSED.
231         * system.h (LOAD_ARGS_REVERSED): Poison.
232         * doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
233
234 2003-12-17  Per Bothner  <per@bothner.com>
235
236         * emit-rtl.c (set_new_first_and_last_label_num):  Remove function.
237         * rtl.h (set_new_first_and_last_label_num):  Remove declaration.
238
239 2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
240
241         * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
242         scratch insns of the then branch that clobber regs needed by the
243         else branch.
244
245 2003-12-17  Kazu Hirata  <kazu@cs.umass.edu>
246
247         * calls.c (expand_call): Update comments.
248         * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
249         * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
250
251 2003-12-17  James E Wilson  <wilson@specifixinc.com>
252             Roger Sayle  <roger@eyesopen.com>
253         
254         * Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
255         * gcse.c: Include tree.h.
256         (implicit_set_cond_p): New.
257         (find_implicit_sets): Call it.
258
259 2003-12-17  Santiago Vila  <sanvila@unex.es>
260
261         * config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
262         TARET_OS_CPP_BUILTINS.
263
264 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
265
266         * emit-rtl.c: Fix signed/unsigned comparison warnings.
267
268 2003-12-17  Joseph S. Myers  <jsm@polyomino.org.uk>
269
270         * predict.c (struct block_info_def, struct edge_info_def): Change
271         bit-fields of width 1 to unsigned int.
272
273 2003-12-16  Geoffrey Keating  <geoffk@apple.com>
274
275         PR 12480
276         * c-pch.c (pch_init): Improve error message when precompiled
277         header can't be written.
278
279         PR 12606
280         * c-pch.c (pch_init): Make a PCH file appear invalid while it's
281         being written.
282         (c_common_write_pch): Make it valid once it's done.
283
284 2003-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
285
286         PR target/11992
287         * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
288         instead of CLCL.
289         ("*cmpmem_long_31"): Likewise.
290
291 2003-12-17  Vladimir Makarov  <vmakarov@redhat.com>
292
293         * config/ia64/ia64.c: Add more comments about insn bundling.
294
295 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
296
297         PR optimization/10592
298         * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
299         or subreg in SET_DEST if it isn't a hard register.
300
301 2003-12-17  David Edelsohn  <edelsohn@gnu.org>
302
303         * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
304         -fno-branch-probabilities to arguments when compiling ctors and
305         dtors.
306
307 2003-12-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
308
309         * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
310         * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
311
312 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
313
314         * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
315         as base registers for sub-word operations.
316         (thumb_legitimate_address_p): Simplify REG+REG test.
317
318 2003-12-17  Segher Boessenkool  <boessen@de.ibm.com>
319
320         * opts.c (wrap_help): Fix overflow.
321
322 2003-12-17  Fred Fish  <fnf@redhat.com>
323
324         * configure.in: Remove code to examine linker scripts and set
325         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
326         * configure, config.in: Regenerate.
327
328 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
329
330         PR c++/12218
331         * varasm.c (initializer_constant_valid_p): Allow a conversion from
332         an integral constant to an OFFSET_TYPE.
333
334 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
335
336         PR target/11012
337         * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
338         gen_cmp_ne_small_const_insn.
339         * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
340
341 2003-12-17  Neil Booth  <neil@daikokuya.co.uk>
342             Joseph S. Myers  <jsm@polyomino.org.uk>
343
344         PR c/3347
345         * c-decl.c (enum_decl_context): Remove BITFIELD.
346         (grokdeclarator): Take bit-field width as an input.
347         Perform bit-field width validation with
348         check_bitfield_type_and_width rather than waiting for
349         finish_struct.
350         (groktypename, groktypename_in_parm_context, start_decl,
351         push_parm_decl, grokfield, start_function): Update calls to
352         grokdeclarator.
353         (check_bitfield_type_and_width): New function.
354         (finish_struct): Move bit-field validation to grokdeclarator
355         and check_bitfield_type_and_width.
356
357 2003-12-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
358
359         PR bootstrap/13386
360         * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
361         using HP native linker.
362         * configure: Rebuilt.
363
364 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
365
366         PR c++/13275
367         * c-common.h (enum rid): Add RID_OFFSETOF.
368         * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
369         * ginclude/stddef.h (offsetof): Reimplement for C++, using
370         __offsetof__.
371         * doc/extend.texi: Document __offsetof__.
372         
373 2003-12-16  Stan Cox  <scox@redhat.com>
374
375         * config/iq2000/iq2000.h: Formatting.
376         (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
377         (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
378         (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
379         * config/iq2000/iq2000.c: Formatting.
380         (iq2000_rtx_costs): New.
381
382 2003-12-16  Richard Earnshaw  <rearnsha@arm.com>
383
384         * arm.md (addsi3_carryin_shift): Add missing register constraints.
385
386 2003-12-16  Loren James Rittle  <ljrittle@acm.org>
387
388         * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
389         pass with -pthread on FreeBSD systems.
390
391 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
392
393         * config/mips/mips.c (mips_file_end): Only write symbols that have
394         been referenced at some point.
395
396 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
397
398         * config/mips/mips.c: Include langhooks.h
399         (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
400
401 2003-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
402
403         PR optimization/13313
404         * combine.c (make_extraction) [REG]: Do not use
405         gen_lowpart_for_combine when POS is non-zero.
406
407 2003-12-16  Hartmut Penner  <hpenner@de.ibm.com>
408
409         * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
410         * testsuite/gcc.dg/altivec-10.c: Test for above.
411         
412 2003-12-15  David O'Brien  <obrien@FreeBSD.org>
413
414         * Makefile.in (CPPFLAGS): Initialize from configure.
415
416 2003-12-15  Roger Sayle  <roger@eyesopen.com>
417
418         PR middle-end/13400
419         * ifcvt.c (noce_process_if_block): Disable unconditional write
420         optimizations if we could introduce a store to trapping memory
421         that wasn't present previously.
422
423 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
424
425         * system.h (DEFAULT_CALLER_SAVES): Poison.
426         * toplev.c (flag_caller_saves): Always initialize with 0.
427         * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
428
429 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
430
431         * flow.c (EXIT_IGNORE_STACK): Move to ...
432         * defaults.h (EXIT_IGNORE_STACK): ... here.
433         * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
434         EXIT_IGNORE_STACK.
435         * function.c (expand_function_end): Likewise.
436         * global.c (global_alloc): Likewise.
437         * ra.c (init_ra): Likewise.
438         * reload1.c (init_elim_table): Likewise.
439         * reorg.c (fill_simple_delay_slots): Likewise.
440         * resource.c (init_resource_info): Likewise.
441         * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
442         is 0.
443
444 2003-12-15  J"orn Rennecke <joern.rennecke@superh.com>
445
446         * reload.c (reg_overlap_mentioned_for_reload_p):
447         When looking at a PLUS in X, avoid spuriously returning nonzero
448         when IN is a REG or another simple PLUS, or a MEM containing one.
449
450         * loop.c (loop_invariant_p): Amend comment about where new registers
451         might come from.
452
453 2003-12-15  Andreas Jaeger  <aj@suse.de>
454
455         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
456         handling of obsolete language CHILL.
457
458 2003-12-15  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
459
460         * tree.c (initializer_zerop): Add test for empty set.
461         * integrate.c (function_cannot_inline_p): Forbid inlining
462         functions calling `longjmp'.
463
464 2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
465
466         PR c++/11773
467         * doc/gcov.texi (Gcov and Optimization): Document inline function
468         behaviour. Fix some file suffixes.
469
470 2003-12-14  David O'Brien  <obrien@FreeBSD.org>
471
472         * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
473
474 2003-12-14  Mark Mitchell  <mark@codesourcery.com>
475
476         * c-common.h (c_parse_error): Declare it.
477         * c-common.c (c_parse_error): New function.
478         * c-parse.y (yyerror): Use it.
479
480 2003-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
481
482         PR target/13054
483         * pa-protos.h (indexed_memory_operand, borx_reg_operand,
484         move_dest_operand, move_src_operand): New protypes.
485         (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
486         * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
487         move_src_operand): New functions.
488         (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
489         (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
490         address until cse is not expected on targets with non-equivalent
491         space registers.
492         (hppa_legitimize_address): Canonicalize unscaled indexed addresses
493         on targets non-equivalent space registers.
494         (emit_move_sequence): Break out indexed addresses from destination
495         operand.  Similarly, break out unscaled indexed addresses from
496         source operand on targets with non-equivalent space registers.  Fix
497         REG_POINTER flag when possible.  Mark register pointer when creating
498         new pointers.
499         (print_operand): Handle unscaled index addresses.
500         * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
501         for EXTRA_CONSTRAINT.
502         (EXTRA_CONSTRAINT): Rework to make more readable.
503         (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
504         subroutines for GO_IF_LEGITIMATE_ADDRESS.
505         (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines.  Allow scaled
506         and unscaled addresses.  Canonicalize unscaled indexed addresses on
507         targets with non-equivalent space registers.  Document issues in
508         handling indexed address modes on PA-RISC.
509         (PREDICATE_CODES): Update for new and deleted predicates.
510         * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
511         Use new predicates in move patterns.
512         Add peephole2 patterns to optimize floating point stores.  Fix
513         constrain preferencing in move patterns.  Delete patterns for handling
514         unscaled indexed memory loads.  Add missing load and store with
515         base-register modification patterns.  Correct SFmode floating point
516         store pattern.  Add missing zero extension loads.
517
518 2003-12-13  Steven Bosscher  <stevenb@suse.de>
519
520         * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
521         comes in with ggc.h.  Add a new bool field `dead'.
522         (destroy_ggc_zone): Don't destroy a zone at once.  Instead, only
523         set the `dead' flag for the dead zone.  Wrap a sanity check in
524         ENABLE_CHECKING.
525         (ggc_collect_1): Always mark and sweep if a zone has the `dead'
526         flag set.
527         (ggc_collect): Free dead zones after collecting.
528
529 2003-12-13  Jan Hubicka  <jh@suse.cz>
530
531         * coverage.c (get_coverage_counts):  Use inform instead of warning
532         about missing profile.
533
534 2003-12-12  Steven Bosscher  <stevenb@suse.de>
535
536         * Makefile.in (opts.o, explow.o): Depend on langhooks.h
537
538 2003-12-12  Geoffrey Keating  <geoffk@apple.com>
539
540         * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
541         <powerpc-*-darwin*>: Likewise.
542
543 2003-12-12  Jakub Jelinek  <jakub@redhat.com>
544
545         * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
546         (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
547         br_loc[7].  Update comment.
548         (MD_HANDLE_UNWABI): Define.
549         * config/ia64/unwind-ia64.c (struct unw_state_record): Add
550         unwabi field.
551         (struct _Unwind_Context): Increase br_loc array size to 8 entries.
552         (desc_abi): Set unwabi.
553         (uw_update_reg_address): Allow br up to 7.
554         (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
555         (uw_install_context): Load b1..b5 from correct locations.
556         Fix insn loading ar.fpsr.
557         * doc/tm.texi: Document MD_HANDLE_UNWABI.
558
559 2003-12-12  Roger Sayle  <roger@eyesopen.com>
560
561         PR optimization/13037
562         * loop.c (update_giv_derive): Ignore redundant sets of a biv when
563         calculating how to derive a giv from a biv.
564
565 2003-12-12  Neil Booth  <neil@daikokuya.co.uk>
566
567         PR preprocessor/12935 preprocessor/12952 preprocessor/13046
568         * cpplib.c (prepare_directive_trad): Clear skipping only in
569         #if and #elif directives.
570         (do_undef): Call the handler even if the identifier is not a macro.
571         * cpptrad.c (scan_parameters): Emit an error message.
572         (_cpp_create_trad_definition): Remember the params list even on
573         failure.
574
575 2003-12-11  Zack Weinberg  <zack@codesourcery.com>
576
577         * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
578         to inline functions: arm_arm_address_cost, arm_thumb_address_cost
579         respectively.
580         (arm_address_cost): Use 'em.
581
582 2003-12-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
583
584         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
585         __STDC_VERSION__ to ISO C94 for C++.
586
587         * fixinc/inclhack.def (alpha_wchar): New fix.
588         * fixinc/fixincl.x: Regenerate.
589         * fixinc/tests/base/wchar.h: New file.
590
591 2003-12-11  David Mosberger  <davidm@hpl.hp.com>
592
593         * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
594         required by C++ ABI for Itanium.
595         * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
596         * config/t-libunwind-no-eh: New file.
597         * configure.in: Check libunwind for _Unwind_Resume() and if it's
598         present, set libunwind_has_eh_support to "yes".
599         * configure: Regenerate.
600         * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
601         set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
602
603 2003-12-11  Richard Sandiford  <rsandifo@redhat.com>
604
605         * config/mips/mips.c (mips_global_pointer): Force functions with
606         a nonlocal goto to set up $gp.
607
608 2003-12-11  James E Wilson  <wilson@specifixinc.com>
609
610         PR target/13132
611         * function.c (gen_mem_addressof): When no decl, explicitly clear flag
612         bits.
613
614 2003-12-12  Nick Clifton  <nickc@redhat.com>
615
616         * config/m32r/m32r.c: Convert to ISO-C
617
618 2003-12-12  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
619
620         * doc/invoke.texi: Replace Mitsubishi with Renesas.
621         * config/m32r/m32r.h: Ditto.
622         * config/m32r/m32r.c: Ditto.
623         * config/m32r/m32r.md: Ditto.
624
625 2003-12-11  Steven Bosscher  <steven@gcc.gnu.org>
626
627         * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
628         (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
629         (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
630         (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
631         fields of a basic block.
632         * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
633         cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
634         cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
635         final.c, flow.c, function.c, gcse.c, global.c, graph.c,
636         haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
637         loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
638         ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
639         regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
640         sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
641         config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
642         accessing the `head' and `end' fields of a basic block directly.
643
644         * gengtype.c: Teach about "void**" pointers and "void *" function
645         types.  Fixes earlier commit.
646
647 2003-12-10  Geoffrey Keating  <geoffk@apple.com>
648
649         * doc/extend.texi (Vector Extensions): Document that bitwise
650         operations also work on vectors.
651
652 2003-12-10  Richard Earnshaw  <rearnsha@arm.com>
653
654         * arm.md: New split patterns for optimizing bitfield accesses.
655
656 2003-12-10  Steven Bosscher  <stevenb@suse.de>
657
658         * README.Portability: Remove K+R section.
659
660         * gengtype-lex.l: Teach about "void**" pointers and
661         "void*" function types.
662
663 2003-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
664
665         PR target/13354
666         * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
667         manually if one can do that with only one instruction.
668
669 2003-12-10  Nick Clifton  <nickc@redhat.com>
670
671         * config.gcc (arm-linux): Include linux.h in tm_file so that
672         LINUX_TARGET_OS_CPP_BUILTINS is defined.
673         * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
674
675 2003-12-09  James E Wilson  <wilson@specifixinc.com>
676
677         * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
678
679 2003-12-09  Matt Austern  <austern@apple.com>
680
681         PR c/13134
682         * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
683
684 2003-12-09  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
685
686         * config/m32r/m32r.h: Add support for m32r2 processor.  Including
687         a new command line option -m32r2 to select it.
688         * config/m32r/m32r.c: Add support for the new processor variant.
689         * config/m32r/m32r.md: Likewise.
690         * config/m32r/t-m32r: Add m32r2 multilibs.
691         * doc/invoke.texi: Document the new command line switch.
692
693 2003-12-08  Kazu Hirata  <kazu@cs.umass.edu>
694
695         * defaults.h (LOCAL_REGNO): Give the default definition.
696         * flow.c (LOCAL_REGNO): Remove.
697         * reload1.c (LOCAL_REGNO): Likewise.
698
699 2003-12-08  Geoffrey Keating  <geoffk@apple.com>
700
701         PR target/11848
702         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
703         in floating-point registers between TFmode and DImode.
704         * rs6000.c (rs6000_emit_move): Split moves early.
705         (secondary_reload_class): Random Whitespace Change.
706         (rs6000_split_multireg_move): Support moves involving FP registers.
707         Emit instructions directly.
708         * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
709         * altivec.md: Update for changes to rs6000_split_multireg_move.
710         * rs6000.md: Update for changes to rs6000_split_multireg_move.
711         (movtf_internal): Support moves to/from GPRs.
712
713 2003-12-08  Stuart Hastings  <stuart@apple.com>
714
715         * config/i386/i386.md: Typo in split of fp-valued if_then_else.
716
717 2003-12-08  James E Wilson  <wilson@specifixinc.com>
718
719         PR target/13132
720         * expmed.c (extract_bit_field): Only call mode_for_size for scalar
721         integer modes.
722
723 2003-12-08  Nathanael Nerode  <neroden@gcc.gnu.org>
724
725         * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
726         directory.
727
728 2003-12-08  Alexandre Oliva  <aoliva@redhat.com>
729
730         * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
731         by using match_scratch.
732         (negdi2): New.
733
734 2003-12-08  Jason Merrill <jason@redhat.com>
735             Daniel Berlin  <dberlin@dberlin.org>
736
737         PR debug/11114
738         Support namespaces in DWARF 2 output.
739         * dwarf2out.c (gen_namespace_die): New function.
740         (force_namespace_die, setup_namespace_context): New fns.
741         (declare_in_namespace): New fn.
742         (gen_decl_die): Call declare_in_namespace.  Handle namespaces.
743         (dwarf2out_decl): Handle namespaces.
744         (scope_die_for): Pass through a namespace scope.
745         (class_scope_p): Rename to class_or_namespace_scope_p.
746         (gen_subprogram_die, gen_variable_die): Adjust.
747         (gen_struct_or_union_die): Always emit a declaration
748         if context_die is a namespace.
749
750 2003-12-08  Jan Hubicka  <jh@suse.cz>
751
752         * unwind-pe.h (read_uleb128): Fix handling of large values
753         (read_sleb128): Fix handling of large values
754
755 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
756
757         PR middle-end/10060
758         * emit-rtl.c (copy_rtx_if_shared): Split out into ...
759         (copy_rtx_if_shared_1): here and optimize the last one
760         in the sequence into tail-recursion.
761         (reset_used_flags): Optimize the last one
762         in the sequence into tail-recursion.
763
764 2003-12-08  Richard Earnshaw  <rearnsha@arm.com>
765
766         * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
767         for constant X.
768
769 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
770
771         * calls.c (expand_call): Don't try using tail or recursive calls
772         after the function body has been expanded.
773
774 2003-12-08  Jan Hubicka  <jh@suse.cz>
775
776         * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
777
778 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
779
780         PR ada/13324, PR ada/12614
781         * doc/install.texi: Update requirements for building Ada.
782
783 2003-12-07  David Edelsohn  <edelsohn@gnu.org>
784             Graham Reed <greed@pobox.com>
785
786         * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
787         (GCC_UNDEF_SYMBOL): Same.
788
789 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
790
791         * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
792         * system.h (FINAL_PRESCAN_LABEL): Poison.
793         * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
794
795 2003-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
796
797         * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
798
799 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
800
801         * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
802         * configure: Regenerate with autoconf 2.13.
803
804         * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
805         with modern equivalents.
806         * configure: Regenerate.
807
808         * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
809         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
810         * configure: Regenerate.
811
812         * configure: Regenerate with (preferred) autoconf 2.57.
813         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
814
815 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
816
817         PR optimization/12965
818         * caller-save.c (save_call_clobbered_regs): Do not save/restore
819         registers around no-return calls.
820
821 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
822
823         * configure.in: Make minimum necessary changes for autoconf 2.5x.
824         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
825         * configure: Regenerate with autoconf 2.58.
826
827 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
828
829         PR optimization/13318
830         * loop.c (express_from): Protect integer division from overflow.
831
832 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
833
834         PR optimization/13060
835         * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
836         replacement already exists.  Fix again the whole insn if that fails.
837
838 2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
839
840         * config/rs6000/rs6000.c (macho_branch_islands): Use
841         HOST_WIDE_INT_PRINT_UNSIGNED.
842
843 2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
844
845         * varasm.c (incorporeal_function_p): New.
846         (assemble_external): Use it as a filter.
847         * config/mips/mips.c (mips_output_external): Don't check for builtin
848         functions here.
849
850 2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
851
852         * arm.md (IOR (COMPARISON) (AND)): New define_splits.
853
854 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
855
856         * Makefile.in (program_transform_cross_name): Delete.
857         (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
858         (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
859         (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
860         (install_cpp, install_driver, install-man, uninstall): Likewise.
861
862 2003-12-06  Alan Modra  <amodra@bigpond.net.au>
863
864         PR 13169
865         * basic-block.h (PROP_ASM_SCAN): Define.
866         * final.c (regs_asm_clobbered): New array.
867         * regs.h (regs_asm_clobbered): Declare.
868         * flow.c (life_analysis): Init it.
869         (mark_set_regs): Set PROP_ASM_SCAN for asms.
870         (mark_set_1): Set regs_asm_clobbered.
871         * global.c (global_alloc): Don't set eliminable_regset when
872         regs_asm_clobbered.
873
874 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
875
876         * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
877
878         PR c++/13314
879         * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
880
881 2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
882
883         PR driver/13211
884         * gcc.c (execute) Increment execution_count when returning
885         early because verbose_only_flag is true.
886
887 2003-12-05  Per Bothner  <pbothner@apple.com>
888
889         * cppfiles.c (file_hash_hash):  New static function.
890         (hash_string_eq):  Renamed static function to file_hash_eq.
891         (_cpp_init_files):  Create file_hash table with above callbacks.
892         (cpp_included):  Must use htab_find_with_hash insead of htab_find.
893         (_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
894
895 2003-12-05  Per Bothner  <pbothner@apple.com>
896
897         * line-map.h (source_location):  New typedef.
898         (fileline):  Redefined as source_location.
899         (struct line_map, linemap_add, linemap_lookup):  Replace filefile
900         by source_location.
901         * line-map.c (linemap_add, linemap_lookup):  Use source_location.
902
903 2003-12-05  Richard Henderson  <rth@redhat.com>
904
905         * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
906         field to suppress -Wpadded warnings.
907
908 2003-12-05  Stuart Hastings  <stuart@apple.com>
909
910         * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
911
912 2003-12-05  Stuart Menefy <stuart.menefy@st.com>
913             J"orn Rennecke <joern.rennecke@superh.com>
914
915         PR target/13302
916         * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
917
918 2003-12-05  Roger Sayle  <roger@eyesopen.com>
919
920         * dojump.c (do_jump): If the expression being compared against
921         zero, is the subreg of a promoted variable, perform the comparison
922         in the promoted mode.
923         * simplify-rtx.c (simplify_unary_operation): Optimize sign and
924         zero-extensions of subregs of promoted variables where the
925         extension is identical to that used to promote the variable.
926
927 2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
928
929         PR target/13256
930         * resource.h (enum mark_resource_type): Remove member MARK_DEST.
931         The only user changed as follows:
932         * resource.c (mark_set_resources) <case SET>: Always recurse for
933         SET_SRC (x).
934         <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
935         operands.
936         <case STRICT_LOW_PART>: Delete, deferring to default code.
937
938 2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
939
940         * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
941         and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
942
943 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
944
945         * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
946         for n32 & n64 abicalls.
947
948 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
949
950         PR bootstrap/13145
951         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
952         * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
953         (mips_load_got): Always create a constant MEM.
954         (mips_expand_call): Use load_callsi and load_calldi.
955         * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
956         (load_callsi, load_calldi): New patterns.
957
958 2003-12-05  Peter Gerwinski <peter@gerwinski.de>
959
960         * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
961
962 2003-12-05  Steven Bosscher  <stevenb@suse.de>
963
964         * config/d30v/d30v-protos.h , config/d30v/d30v.c,
965         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
966         config/fr30/fr30-protos.h, config/fr30/fr30.c,
967         config/i370/i370-protos.h, config/i370/i370.c,
968         config/i960/i960-protos.h, config/i960/i960.c,
969         config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
970         config/m32r/m32r-protos.h, config/m32r/m32r.c,
971         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
972         config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
973         Convert to ISO C90 function declarations and definitions.
974
975 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
976
977         * doc/extend.texi (Constructing Calls): Add warning about
978         the limitations of the functions.
979
980 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
981
982         PR middle-end/11151
983         * function.h (struct function): New field 'x_naked_return_label'.
984         * function.c (free_after_compilation): Set it to NULL.
985         (expand_function_end): Emit 'naked_return_label' if it exists.
986         * rtl.h (expand_naked_return): Declare.
987         * stmt.c (expand_naked_return): New function to generate a
988         jump to 'naked_return_label'.
989         * builtins.c (expand_builtin_return): Call expand_naked_return
990         instead of expand_null_return.
991         * config/sparc/sparc.md (untyped_return): Likewise.
992
993 2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
994
995         PR target/11322
996         * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
997
998         PR target/12467
999         * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
1000
1001 2003-12-04  Stuart Hastings  <stuart@apple.com>
1002
1003         * rs6000.c (output_call, macho_branch_islands,
1004         add_compiler_branch_island, no_previous_def, get_previous_label)
1005         Revisions of xx_stub functions for branch islands,
1006         add -fPIC support for Darwin.
1007         * rs6000-protos.h (output_call) Prototype.
1008         * rs6000.md Use output_call.
1009         * invoke.texi Explain Darwin semantics of -longcall.
1010         * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
1011
1012 2003-12-04  Richard Henderson  <rth@redhat.com>
1013
1014         * config/i386/i386.md (addqi3_carry): Use q not r constraints.
1015         (subqi3_carry): Likewise.
1016
1017 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
1018
1019         PR optimization/13260
1020         * sh-protos.h (sh_expand_t_scc): Declare.
1021         * sh.h (PREDICATE_CODES): Add cmpsi_operand.
1022         * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
1023         * sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
1024         something that is not a CONST_INT, copy it into a pseudo register.
1025         (subc): Fix description of new T value.
1026         (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
1027         (sltu, sleu, sgeu): Likewise.
1028         (seq, sne): Likewise. Use sh_expand_t_scc.
1029
1030 2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
1031
1032         * configure.in: Generalize the CONFIG_HEADERS pattern under which
1033         we stamp cstamp-h.
1034         * configure: Regenerate.
1035
1036         * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
1037         to avoid trouble when updating to autoconf 2.5x.
1038         * configure: Regenerate (with autoconf 2.13 still).
1039
1040 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
1041
1042         * sh.md (truncdiqi2): Use andi opcode for immediate.
1043         (reload_outdf+1,reload_outdf+2): Remove constraints.
1044         (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
1045         (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
1046         (fipr, ftrv): Add .s suffix to opcode.
1047
1048 2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
1049
1050         PR target/13186
1051
1052         Revert all of the following patch, except the addition of
1053         hook_bool_machine_mode_true:
1054
1055         2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
1056
1057         * Makefile.in (targhooks.o, reload.o): Update dependencies.
1058         (GTFILES): Add targhooks.c.
1059         (gt-targhooks.h): New rule; depend on s-gtype.
1060         * target.h (direct_pool_load_p): New hook.
1061         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1062         (TARGET_INITIALIZER): Include it.
1063         * targhooks.h (default_direct_pool_load_p): Declare.
1064         (hook_bool_machine_mode_true): Declare.
1065         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1066         gt-targhooks.h.
1067         (pool_symbol): New variable.
1068         (default_direct_pool_load_p): New function.
1069         (hook_bool_machine_mode_true): New function.
1070         * reload.c: Include target.h.
1071         (find_reloads): If an alternative will force a constant into memory,
1072         count an extra reload if constant pool symbols are not valid
1073         addresses.  If an alternative uses memory to move values between
1074         registers, count the move as two reloads rather than one.
1075         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1076         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1077
1078 2003-12-03  Mark Mitchell  <mark@codesourcery.com>
1079
1080         * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
1081         * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
1082         HAVE_AS_TLS is true.
1083         * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
1084
1085 2003-12-03  James E Wilson  <wilson@specifixinc.com>
1086
1087         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
1088
1089         * gcc-page.c (extra_order_size_tab): Correct comment.
1090
1091 2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
1092
1093         * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
1094         instead of gen_push_h8300hs.
1095         (pop): Call gen_pop_h8300hs_advanced instead of
1096         gen_pop_h8300hs.
1097         * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
1098         * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
1099         Tighten the predicate.
1100         (*tablejump_h8300hs_normal): Tighten the predicate.
1101         (push_h8300hs): Change to
1102         push_h8300hs_advanced.
1103         (pop_h8300hs): Change to pop_h8300hs_advanced.
1104
1105 2003-12-03  Eric Christopher  <echristo@redhat.com>
1106
1107         * rtl.c: Fix typo.
1108         * config/mips/mips.h: Ditto. Fix formatting.
1109
1110 2003-12-04  Ben Elliston  <bje@wasabisystems.com>
1111
1112         * future.options: Remove. Move to gnu.org web pages.
1113
1114 2003-12-03  Eric Christopher  <echristo@redhat.com>
1115
1116         * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
1117         from here...
1118         * c-tree.h: to here.
1119
1120 2003-12-03  Jan Hubicka  <jh@suse.cz>
1121
1122         PR optimization/12324
1123         * toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
1124         in unit-at-a-time mode.
1125
1126 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
1127
1128         * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
1129         read-only field if cleared is 0.
1130
1131 2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
1132
1133         * config.gcc: Mark obsolete targets for GCC 3.4.
1134
1135 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
1136
1137         * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
1138         * config.in, configure.in: Regenerate.
1139         * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
1140         including iconv.h.
1141
1142 2003-12-03  Alan Modra  <amodra@bigpond.net.au>
1143
1144         PR target/11229
1145         * cse.c (cse_insn): Set classp using src_const_elt if
1146         src_eqv_elt is NULL.
1147
1148 2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
1149
1150         * gcse.c (reg_clear_last_set): New function.
1151         (reg_set_info): If data is non-null, treat it as an sbitmap of
1152         registers, set the bit for the register being set.
1153         (compute_store_table): Allocate last_set_in with xcalloc.  Do not
1154         memset this array on each iteration.  Pass reg_set_in_block[bb->index]
1155         to note_stores while computing last_set_in instead of scanning
1156         last_set_in after the first pass through the insns.
1157         Clear last_set_in using reg_clear_last_set instead of explicitly
1158         rescanning after each insn.  If checking is enabled, assert that
1159         last_set_in is completely zeroed after each bb has been processed.
1160
1161 2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
1162
1163         * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
1164         never read-write.
1165         <REG>: Delete incorrect comment.
1166         <SET>: Remove 'use_flags' variable.
1167
1168 2003-12-03  David Edelsohn  <edelsohn@gnu.org>
1169
1170         * function.c (assign_parms): Make sure parm PARALLEL combined
1171         in reg is composed of more than one object and the mode really
1172         produces a reg.
1173
1174 2003-12-03  Jan Hubicka  <jh@suse.cz>
1175
1176         * i386.c (classify_argument): Make it 64bit clean.
1177
1178 2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
1179
1180         * config/mips/mips.c (mips_output_external): Replace checks for
1181         specific builtin-in functions with a check for DECL_BUILTIN_IN.
1182
1183 2003-12-02  Richard Henderson  <rth@redhat.com>
1184
1185         * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
1186         * tree.h (TREE_SET_CODE): Likewise.
1187         * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
1188
1189 2003-12-02  Ben Elliston  <bje@wasabisystems.com>
1190
1191         * dbxstclass.h: Rename from this ..
1192         * xcoff.h: .. to this.
1193         * xcoffout.c: Include xcoff.h.
1194
1195 2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1196
1197         * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
1198
1199 2003-12-01  James Lemke <jim@wasabisystems.com>
1200
1201         * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
1202
1203 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1204
1205         PR optimization/11634
1206         * recog.c (split_insn): Factor test of INSN_P and handling of
1207         set_noop_p out of here into the two callers.
1208         (split_all_insns): Add INSN_P test and set_noop_p handling here.
1209         If deleting a no-op set after reload that has a REG_UNUSED note,
1210         mark the basic block as changed and recalculate life information.
1211         (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
1212         here.
1213
1214 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1215
1216         PR optimization/12322
1217         * gcse.c (struct ls_expr): Change type of hash_index from int to
1218         unsigned int.
1219         (hash_expr): Document hash_table_size parameter and wrap long line.
1220         (ldst_entry): Calculate expression's hash_index and record in ptr.
1221         (trim_ld_motion_mems): Use hash_index to search a single bucket
1222         instead of scanning the entire hash_table.  Remove the "del" local
1223         variable and use the equivalent "expr == 0" instead.  Change last
1224         to be a pointer to the pointer to the current element, to simplify
1225         and speed-up deleting from a linked list.
1226
1227 2003-12-01  James E Wilson  <wilson@specifixinc.com>
1228
1229         * doc/contrib.texi: Update David Mosberger.
1230
1231         * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
1232         of missing fields.
1233
1234         PR target/8407
1235         * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
1236         gen_rtx_REG to create new reg with argument mode.
1237
1238 2003-12-01  Steven Bosscher  <stevenb@suse.de>
1239
1240         * ggc.h (struct alloc_zone): Move forward declaration up.
1241         (new_ggc_zone): New function prototype.
1242         (destroy_ggc_zone): Ditto.
1243         * ggc-simple.c (new_ggc_zone): New function, does nothing.
1244         (destroy_ggc_zone): Ditto.
1245         * ggc-page.c (new_ggc_zone): New function, does nothing.
1246         (destroy_ggc_zone): Ditto.
1247         * ggc-zone.c (struct page_entry): Fix comment.
1248         (ggc_alloc_typed): Use a switch statement instead of ifs.
1249         (new_ggc_zone): New function to set up a new GC zone.
1250         (destroy_ggc_zone): New function to remove a GC zone.
1251         init_ggc): Use new_ggc_zone to set up the default zones.
1252         (ggc_collect): Walk a list of zones, instead of just the
1253         default zones.  Report statistics using the zone name.
1254
1255 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1256
1257         * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
1258
1259 2003-12-01  Roger Sayle  <roger@eyesopen.com>
1260
1261         PR optimization/12628
1262         * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
1263         * regclass.c (reg_scan): Include allocate_reg_info time in
1264         TV_REG_SCAN.  Minor clean-ups.
1265         (reg_scan_update): Minor clean-ups.
1266
1267 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1268
1269         * config.gcc (s390x-ibm-tpf*): Add extra_parts.
1270
1271 2003-12-01  James E Wilson  <wilson@specifixinc.com>
1272
1273         * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
1274         GR_ARG_FIRST.
1275
1276 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
1277
1278         * common.opt: Remove -fgnu-linker.
1279         * flags.h: Remove flag_gnu_linker.
1280         * opts.c: Don't handle OPT_fgnu_linker.
1281         * toplev.c: Don't initialize flag_gnu_linker.
1282         Remove gnu-linker entry from f_options.
1283         * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
1284         Don't reset flag_gnu_linker.
1285         * config/mips/mips.c (override_options): Likewise.
1286         * doc/invoke.texi: Remove all mention of -fgnu-linker.
1287
1288 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
1289
1290         * ggc-zone.c (ggc_pch_write_object): Calculate object size using
1291         ggc_get_size (which accounts for large objects properly).
1292
1293 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
1294
1295         PR optimization/13024
1296         * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
1297         parameter.
1298         (rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
1299         declaration.  Rebuild jump labels following local_alloc if necessary.
1300         (rest_of_compilation): Remove rebuild_label_notes_after_reload
1301         declaration.  Don't pass rebuild_notes parameter to
1302         rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
1303         Don't rebuild jump labels.
1304
1305 2003-12-01  Jeff Law  <law@redhat.com>
1306
1307         * flow.c (count_or_remove_death_notes_bb): New.  Extracted from
1308         count_or_remove_death_notes.
1309         (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
1310
1311 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
1312
1313         * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
1314
1315 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1316
1317         * reload.c (find_reloads_address): Split addresses of type
1318         (plus (plus (reg) (reg)) (const_int)) only if one register
1319         is either a valid base register or else one of the stack
1320         frame related registers (sp/fp/ap).
1321
1322 2003-12-01  Steven Bosscher  <stevenb@suse.de>
1323
1324         * function.c (update_epilogue_consts): Don't use PARAMS.
1325         * rtl.h (web_main): Ditto.
1326         * target.h (is_costly_dependence): Ditto
1327
1328 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1329
1330         PR middle-end/7847
1331         * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
1332         do not recheck that 'op0' is a MEM.  Move comment.  When testing for
1333         unaligned objects, take also into account the alignment of 'op0' and
1334         'mode1' if 'op0' is a MEM.
1335
1336 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1337
1338         * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
1339
1340 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
1341
1342         * doc/install.texi: Note that fastjar is built with automake 1.7.x
1343         and autoconf 2.57.
1344
1345 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
1346
1347         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
1348         target_flags directly rather than using TARGET_* defines.
1349
1350 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
1351
1352         * doschk.c: Remove.
1353
1354 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
1355
1356         PR target/12727
1357         * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
1358         on 32-bit big-endian targets.
1359
1360 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
1361
1362         * genemit.c (register_constraints): Remove.
1363
1364 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
1365
1366         * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
1367         "iordi3"): Insns now use multiple letter constraints.
1368         ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
1369         covered by "*movdi_64".
1370         ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
1371         covered by "*movsi_zarch" and "*movsi_esa".
1372         ("*movsi_zarch", "*movsi_!zarch"): New insns.
1373         ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
1374         by "*andsi3_zarch" and "anddi3".
1375         ("*anddi3_ni"): Insn merged with "anddi3".
1376         ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
1377         ("*andsi3_zarch", "*andsi3_esa"): New insns.
1378         ("*iordi3_oi"): Insn merged with "iordi3".
1379         ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
1380         ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
1381
1382         * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
1383         merged to s390_single_part.
1384         (s390_single_part): New function.
1385         NOTE: Semantics have changed a bit. Now the value of the part must
1386         be different from the others to get a non-negative return value.
1387         (s390_extract_qi, s390_extract_hi): Functions merged to
1388         s390_extract_part.
1389         (s390_extract_part, s390_extra_constraint_str,
1390         s390_const_ok_for_constraint_p): New functions. The L constraint got a
1391         new meaning and the N constraint was added as a multiple letter
1392         constraint.
1393         (s390_extra_constraint): Function deleted.
1394         (print_operand): New output modifier 'i' and 'j' added.
1395         All uses of CONST_OK_FOR_LETTER_P were replaced by
1396         CONST_OK_FOR_CONSTRAINT_P.
1397
1398         * config/s390/s390-protos.h: Function prototypes adapted.
1399         * doc/md.texi: Documentation for new constraint letters added.
1400
1401 2003-11-30  Andreas Schwab  <schwab@suse.de>
1402
1403         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
1404
1405 2003-11-29  James E Wilson  <wilson@specifixinc.com>
1406
1407         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
1408         instead of in shared_name.
1409
1410         * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
1411         * reload1.c (reload): Re-add it here.
1412
1413 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
1414
1415         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
1416         set SECTION_WRITE on TARGET_RELOCATABLE.
1417
1418 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1419
1420         * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
1421
1422 2003-11-28  Gunther Nikl  <gni@gecko.de>
1423
1424         * config/m68k/m68k.c (MOTOROLA): Move from here...
1425         * config/m68k/m68k.h (MOTOROLA): ... to here.
1426         (OUTPUT_JUMP): Use do {...} while (0).
1427         * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
1428
1429 2003-11-28  Gunther Nikl  <gni@gecko.de>
1430
1431         * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
1432         m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
1433         MOTOROLA and USE_GAS.
1434         * config/m68k/rtemself.h (MOTOROLA): Delete.
1435         * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
1436         * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
1437
1438 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1439
1440         * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
1441
1442 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
1443
1444         * Makefile.in (install-info): Install gccinstall.info too.
1445
1446 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1447
1448         * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
1449
1450 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1451
1452         * config/s390/s390.md ("movhi"): Do not emit extender pattern
1453         when loading from a (MEM (ADDRESSOF ...)).
1454         ("movqi"): Likewise.
1455
1456 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
1457
1458         PR c/10333
1459         * c-parse.in (typespec_reserved_nonattr): Reject typeof on
1460         bit-fields.
1461
1462 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
1463
1464         * stmt.c (expand_asm_operands): Check whether force_const_mem
1465         succeeded.
1466
1467 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1468
1469         * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
1470         * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
1471
1472         * config/alpha/gnu.h, config/alpha/linux.h,
1473         config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
1474         config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
1475         config/i386/linux-aout.h, config/i386/linux.h,
1476         config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
1477         config/m68k/uclinux.h, config/mips/linux.h,
1478         config/mn10300/linux.h, config/pa/pa-linux.h,
1479         config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
1480         config/sparc/linux.h, config/sparc/linux64.h,
1481         config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
1482         HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
1483         all necessary assertions are included.
1484
1485 2003-11-28  Jan Hubicka  <jh@suse.cz>
1486
1487         * emit-rtl.c (set_used_flags): New.
1488         (verify_rtx_sharing, verify_rtl_sharing): New.
1489         (unshare_all_rtl_1): Rename to....
1490         (unshare_all_rtl_in_chain): ... this one; make static.
1491         (copy_rtx_if_shared): LABEL_REF chan be shared.
1492         * ifcvt.c (unshare_ifcvt_sequence): New.
1493         (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
1494         noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
1495         noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
1496         noce_try_abs, noce_process_if_block, find_cond_trap
1497         * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
1498         Declare.
1499
1500 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1501
1502         * config/h8300/h8300.md: Fix a comment typo.
1503
1504 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1505
1506         * config/h8300/h8300.md (*movsf_h8300h): Change to
1507         *movsf_h8300hs.
1508         (addsi_h8300): Change to *addsi_h8300.
1509         (addsi_h8300h): Change to *addsi_h8300hs.
1510         (subsi3_h8300): Change to *subsi3_h8300.
1511         (subsi3_h8300h): Change to *subsi3_h8300hs.
1512         (neghi2_h8300h): Change to *neghi2_h8300hs.
1513         (negsi2_h8300h): Change to *negsi2_h8300hs.
1514
1515 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1516
1517         * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
1518         constraint.
1519         (*subhi3_h8300hs): Likewise.
1520
1521 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
1522
1523         * config/rs6000/rs6000.h (MASK_MFCRF): New.
1524         (TARGET_MFCRF): Test target_flags, not processor type.
1525         (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
1526         Change Don't to Do not.
1527         * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
1528         to power4, 970, G5.
1529
1530 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
1531
1532         * cse.c (cse_set_around_loop): When changing a constant load
1533         to a register -register copy, add a REG_EQUAL note.
1534
1535 2003-11-27  Randolph Chung  <tausq@debian.org>
1536             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1537
1538         * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
1539         insns.  Use the regular call expander for the call to the profiler.
1540         * pa.md (call_profiler): Delete.
1541         (load_offset_label_address): New insn to load the address of the
1542         current function for the profiler.
1543         (lcla1, lcla2): New insns to output a code label and load its address.
1544
1545 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1546
1547         * final.c (final_scan_insn): Remove commented-out code.
1548
1549 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1550
1551         * doc/install.texi: Remove ADAC reference and make accurate.
1552
1553 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1554
1555         * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
1556         (FUNCTION_VALUE_REGNO_P): Likewise.
1557         * config/h8300/h8300.md: Define R0_REG.
1558
1559 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1560
1561         * config/h8300/h8300.c: Fix formatting.
1562         * config/h8300/h8300.md: Likewise.
1563
1564 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1565
1566         * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
1567
1568 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1569
1570         * config/h8300/h8300.md: Give names to anonymous insns.
1571
1572 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1573
1574         * config/h8300/h8300.md (extendqisi2): Remove constraints.
1575
1576 2003-11-27  Gunther Nikl  <gni@gecko.de>
1577
1578         * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
1579
1580 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1581
1582         PR optimization/13041
1583         * final.c (frame_pointer_needed): Fix comment.
1584         * reload1.c (reload): Decrease alignment of the frame
1585         pointer if it was used for register allocation.
1586
1587 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1588
1589         PR target/12900
1590         * reg-stack (move_for_stack_reg): New prototype.  Return
1591         whether a control flow insn was deleted.
1592         (subst_stack_regs_pat): Likewise, using the information provided
1593         by move_for_stack_reg.
1594         (subst_stack_regs): Likewise, using the information provided
1595         by subst_stack_regs_pat.
1596         (convert_regs_1): Record whether a control flow insn was deleted,
1597         using the information provided by subst_stack_regs.  Purge dead
1598         edges only if a control flow insn was deleted.
1599
1600 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1601
1602         PR middle-end/8028
1603         PR middle-end/9890
1604         PR middle-end/11151
1605         PR middle-end/12210
1606         PR middle-end/12503
1607         PR middle-end/12692
1608         * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
1609         as the base address to copy the memory arguments to.
1610
1611 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
1612
1613         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
1614         function aliases as functions.
1615
1616 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1617
1618         * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
1619         of ADAC.
1620         * configure: Regenerate.
1621
1622         * Makefile.in: Remove references to ADAC.
1623
1624         * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
1625         * configure: Regenerate.
1626
1627 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
1628             Olivier Hainque  <hainque@act-europe.fr>
1629
1630         PR target/6466
1631         * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
1632         (sparc_flat_compute_frame_size): Likewise.
1633         (sparc_flat_save_restore): Move prototype...
1634         * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
1635         (save_regs): New prototype.
1636         (build_big_number): Likewise.
1637         (apparent_fsize): Change type to HOST_WIDE_INT.
1638         (actual_fsize): Likewise.
1639         (frame_base_offset): Likewise.
1640         (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
1641         Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1642         [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
1643         to load a 64-bit constant.
1644         (sparc_nonflat_function_prologue): Change string descriptor to
1645         HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
1646         (output_restore_regs): Change offset type to HOST_WIDE_INT.
1647         (sparc_nonflat_function_epilogue): Change string descriptor to
1648         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
1649         (output_sibcall): Change size type to HOST_WIDE_INT.  Use
1650         build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1651         (sparc_frame_info): Change types for several components.
1652         (sparc_flat_compute_frame_size): Update types according to previous
1653         change.
1654         (sparc_flat_function_prologue): Change string descriptor to
1655         HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
1656         build_big_number.
1657         (sparc_flat_function_epilogue): Change offset type to int.
1658         Rename 'size1' into 'reg_offset1'.  Change string descriptor to
1659         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
1660         limit to 4096 instead of 4095.
1661
1662         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
1663         HOST_WIDE_INT.
1664
1665 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
1666
1667         * function.c: Make outer_function-chain external.
1668         * function.h: Likewise.
1669
1670 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
1671
1672         * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
1673         using GNU ld.
1674         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
1675         whole of the previous STARTFILE_SPEC except crtbegin.o%s.
1676         (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
1677         (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1678         (SUBTARGET_EXTRA_SPECS): Define.
1679         * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1680         to __gcc_init and -fini function to __gcc_fini.
1681         (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1682         (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1683         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1684         * config/mips/t-iris6gld,
1685         * config/mips/irix6-crti.asm,
1686         * config/mips/irix6-crtn.asm: New files.
1687
1688 2003-11-24  Eric Christopher  <echristo@redhat.com>
1689
1690         PR C/13014
1691         * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1692         (start_function): Use.
1693         (c_push_function_context): Ditto.
1694         (c-pop_function_context): Ditto.
1695         (language_function): Move...
1696         * c-tree.h: ... here. Add x_in_iteration_stmt, and
1697         x_in_case_stmt.
1698         * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1699         c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1700         check for valid break or continue statment here...
1701         * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1702         here. Change original errors to abort.
1703
1704 2003-11-24  Jan Hubicka  <jh@suse.cz>
1705
1706         * fold-const.c (fold):  Do not return early when optimizing
1707         COMPONENT_REF and constant.
1708
1709 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1710
1711         * config/h8300/h8300.md (tablejump_h8300): Change to
1712         *tablejump_h8300.
1713         (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1714         (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1715         (indirect_jump_h8300): Change to *indirect_jump_h8300.
1716         (indirect_jump_h8300h): Change to
1717         *indirect_jump_h8300hs_advanced.
1718         (indirect_jump_normal_mode): Change to
1719         *indirect_jump_h8300hs_normal.
1720
1721 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1722
1723         * config/h8300/h8300.md: Remove constraints from expanders.
1724
1725 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1726
1727         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1728         stm_h8300s_2_advanced.
1729         (stm_h8300s_2_normal): New.
1730         (stm_h8300s_2): Likewise.
1731         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1732         (stm_h8300s_3_normal): New.
1733         (stm_h8300s_3): Likewise.
1734         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1735         (stm_h8300s_4_normal): New.
1736         (stm_h8300s_4): Likewise.
1737         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1738         (ldm_h8300s_2_normal): New.
1739         (ldm_h8300s_2): Likewise.
1740         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1741         (ldm_h8300s_3_normal): New.
1742         (ldm_h8300s_3): Likewise.
1743         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1744         (ldm_h8300s_4_normal): New.
1745         (ldm_h8300s_4): Likewise.
1746         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1747         (two peephole2's): New.
1748
1749 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1750
1751         * genattrtab.c (simplify_cond): Update indices correctly.
1752         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1753         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1754         (check_attr_test, encode_units_mask, compute_alternative_mask,
1755         make_alternative_compare, simplify_and_tree,
1756         attr_rtx_cost, simplify_test_exp, gen_attr,
1757         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1758         * rtl.def (EQ_ATTR_ALT): New.
1759
1760 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1761
1762         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1763         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1764         New variables.
1765         (main): Initialize them.
1766         (find_attr): Canonicalize the attribute name string.
1767         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1768         string arguments.
1769         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1770         (check_attr_test, check_attr_value, make_length_attrs,
1771         write_length_unit_log, simplify_by_exploding, gen_attr,
1772         write_test_expr, write_attr_value, write_eligible_delay,
1773         write_complex_function, make_internal_attr,
1774         write_const_num_delay_slots): Changed due to change of type of
1775         find_attr.
1776         (fill_attr, evaluate_eq_attr, simplify_and_tree,
1777         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1778         strcmp_check.
1779
1780 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1781
1782         PR target/13122
1783         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1784         normal mode.
1785         (pop): Call pop_h8300hs_normal in normal mode.
1786         * config/h8300/h8300.md: Likewise.
1787         (pushqi1_h8300hs_normal): New.
1788         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1789         (pushhi1_h8300hs_normal): New.
1790         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1791         (push_h8300hs_normal): New.
1792         (pop_h8300hs_normal): Likewise.
1793
1794 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1795
1796         * genattrtab.c (count_sub_rtxs): Removed.
1797
1798 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
1799
1800         * recog.c (preprocess_constraints): Only zero those elements of
1801         recog_op_alt that are needed for this insn.
1802         * arm.c (note_invalid_constants): A function can't contain invalid
1803         constants if it has no constraints.
1804
1805 2003-11-22  Jan Hubicka  <jh@suse.cz>
1806
1807         * i386.c (classify_argument): Pass __float128 in memory.
1808         (ix86_return_in_memory): Likewise.
1809         (ix86_libcall_value): Likewsie.
1810
1811 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1812
1813         * config/h8300/h8300.c (dosize): Convert to ISO-C.
1814
1815 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
1816
1817         * flow.c (update_life_info): Amend comment about when a register
1818         can become dead.
1819
1820 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
1821
1822         * doc/.cvsignore: Delete.
1823
1824 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
1825             David Edelsohn  <edelsohn@gnu.org>
1826
1827         * dwarf2out.c (add_location_or_const_value_attribute): Add support
1828         for PARALLEL.
1829
1830 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1831
1832         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1833         (TARGET_LIBGCC2_CFLAGS): Define.
1834
1835         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1836         (__do_global_ctors): Likewise.
1837
1838 2003-11-21  Mark Wielaard  <mark@klomp.org>
1839
1840         * doc/invoke.texi (-O2): Doesn't enable -fweb.
1841
1842 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1843
1844         * doc/invoke.texi: Mention dV and dZ.
1845
1846 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1847
1848         * doc/invoke.texi: Update dump file names.
1849         Remove de, dW, and dX.
1850
1851 2003-11-20  James E Wilson  <wilson@specifixinc.com>
1852
1853         PR c/13133
1854         * reload1.c (reload): Delete special handling for setjmp.
1855
1856 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
1857
1858         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1859         step too.
1860         * config/t-slibgcc-darwin: Adjust install path.
1861         * config/rs6000/t-darwin: Revert multilib matches since
1862         it is not used on darwin.
1863
1864 2003-11-20  Richard Henderson  <rth@redhat.com>
1865
1866         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
1867         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
1868         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
1869         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
1870         * flow.c: Don't include ssa.h.
1871         (set_phi_alternative_reg): Remove.
1872         (calculate_global_regs_live): Don't call it.
1873         (mark_used_regs): Don't handle PHI.
1874         * gengtype.c (open_base_files): Don't reference ssa.h.
1875         * rtl.def (PHI): Remove.
1876         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
1877         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
1878         * opts.c (common_handle_option): Likewise.
1879         * toplev.c (f_options): Likewise.
1880         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
1881         (dump_file): Update to match.
1882         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
1883         (rest_of_handle_ssa): Remove.
1884         (rest_of_compilation): Don't call it.
1885         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
1886         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
1887         * doc/passes.texi (SSA optimizations): Remove.
1888
1889 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
1890
1891         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
1892         * configure: Regenerate.
1893
1894 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
1895
1896         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
1897
1898 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
1899
1900         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
1901         (SHLIB_LC): Define.
1902         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
1903         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
1904
1905 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
1906             David Edelsohn  <edelsohn@gnu.org>
1907
1908         * calls.c (expand_call): Allocate new temp in pass1.
1909         (store_one_arg): If PARALLEL, calculate excess using mode size of
1910         rtvec elt.
1911         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
1912         mode size of rtvec elt.
1913         * function.c (assign_parms): Use parm in register, if available.
1914
1915 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
1916
1917         * config/h8300/lib1funcs.asm (MOVP): Remove.
1918         (ADDP): Likewise.
1919         (CMPP): Likewise.
1920
1921 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
1922
1923         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
1924         with a single instruction if the stack has been decremented by 4
1925         and we have a frame pointer.  Update all callers.
1926         (output_return_instruction): Likewise.
1927         (arm_output_epilogue): Change argument to SIBLING.  Calculate
1928         really_return from the new argument.  Update all callers.
1929         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
1930         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
1931         pass the sibling call.
1932         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
1933         prototypes.
1934
1935 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1936
1937         * Makefile.in (extraclean): Delete.
1938         * configure.in (target_list): Remove extraclean.
1939         * configure: Regenerate.
1940         * doc/makefile.texi, doc/sourcebuild.texi: Update.
1941         * objc/Make-lang.in (objc.extraclean): Delete.
1942
1943 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1944
1945         * Makefile.in (lang_checks): Add.
1946         (check-c++, check-f77, check-java, check-g++, check-g77,
1947         check-objc): Remove hardcoded targets.
1948         * doc/sourcebuild.texi: Document testsuite hooks.
1949         * objc/Make-lang.in (check-objc, lang_checks): Add.
1950
1951 2003-11-19  Scott Snyder  <snyder@fnal.gov>
1952
1953         PR target/13131
1954         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
1955         flag, not a constant.
1956
1957 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
1958
1959         * config/arc/arc-protos.h: Update to C90 prototypes.
1960         * config/arc/arc.c: Likewise.
1961         * config/arc/initfini.c: Likewise.
1962
1963 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1964
1965         * stmt.c (expand_goto): Memory clobbers added.
1966
1967 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1968
1969         * reload.c (find_reloads): Added missing type casts.
1970
1971 2003-11-19  James E Wilson  <wilson@specifixinc.com>
1972
1973         * combine.c (sets_function_arg_p): Delete unused function.
1974
1975 2003-11-19  Eric Christopher  <echristo@redhat.com>
1976
1977         * reload1.c (reload): Revert 2 previous checkins.
1978
1979 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1980
1981         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
1982         whether directive begins at the beginning of a line.
1983
1984 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
1985
1986         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
1987
1988 2003-11-19  Gerald Pfeifer  <gp@suse.de>
1989
1990         * doc/install.texi (Specific): Remove information on old versions
1991         of glibc versus old versions of GCC.
1992
1993 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
1994
1995         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
1996         the register lowpart is a TRULY_NOOP_TRUNCATION.
1997
1998 2003-11-19  Richard Henderson  <rth@redhat.com>
1999
2000         * config/i386/i386.c (print_reg): Handle QI and HI modes for
2001         non Q regs.
2002
2003 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
2004
2005         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
2006         specification file.
2007         * config/t-slibgcc-darwin: New file, libgcc build specification.
2008         * config/t-darwin: Add libgcc2 flag -fPIC.
2009         * config/rs6000/t-darwin: Multilib matches float.
2010         * libgcc-darwin.ver: New file, contains libgcc symbols.
2011
2012 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
2013
2014         * config/ns32k/ns32k.h: Remove obsolete comment.
2015
2016 2003-11-18  Roger Sayle  <roger@eyesopen.com>
2017
2018         PR middle-end/11821
2019         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
2020         size for calls to libgcc's div & mod subroutines when using -Os.
2021
2022 2003-11-18  Jan Hubicka  <jh@suse.cz>
2023
2024         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
2025
2026 2003-11-18  Marc Espie  <espie@openbsd.org>
2027
2028         * config/rs6000/sysv4.h: OpenBSD hooks.
2029
2030 2003-11-18  Richard Henderson  <rth@redhat.com>
2031
2032         * expr.c (expand_expr): Don't look through constant arrays if
2033         they don't bind locally.
2034
2035 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2036
2037         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
2038         when seeing if truncation or extension.
2039
2040 2003-11-17  Eric Christopher  <echristo@redhat.com>
2041
2042         * reload1.c (reload): Fix previous change.
2043
2044 2003-11-17  Scott Snyder  <snyder@fnal.gov>
2045
2046         PR debug/11325
2047         * dwarf2out.c (struct die_struct): Add die_definition field.
2048         (add_AT_specification): New.
2049         (gen_subprogram_die, gen_variable_die,
2050         gen_struct_or_union_type_die): Use it.
2051         (prune_unused_types_mark): If we're marking a forward declaration,
2052         also mark the full definition, if it exists.
2053
2054 2003-11-16  Nick Clifton  <nickc@redhat.com>
2055
2056         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
2057         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
2058         Remove prototype.
2059         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
2060         to xstormy16_build_builtin_va_list and make static.
2061         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
2062
2063 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2064
2065         * config/h8300/h8300-protos.h: Add the prototype for
2066         same_cmp_following_p.
2067         * config/h8300/h8300.c (same_cmp_following_p): New.
2068         * config/h8300/h8300.md (peephole2): Use it.
2069
2070 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2071
2072         * config/h8300/h8300.md: Don't use REGNO when its operand is
2073         not guaranteed to be a REG.
2074
2075 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
2076
2077         * Makefile.in (expr.o): Depend on $(TARGET_H).
2078         * target.h (return_in_msb): New target hook.
2079         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
2080         (TARGET_CALLS): Include it.
2081         * calls.c (shift_returned_value): New function.
2082         (expand_call): Use it.
2083         * expr.c: Include target.h.
2084         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
2085         deciding what padding is needed.  Change the name of the local
2086         padding variable from big_endian_correction to padding_correction.
2087         * stmt.c (shift_return_value): New function.
2088         (expand_return): Use it.  Adjust memory->register copy in the same
2089         way as copy_blkmode_from_reg.  Only change the return register's
2090         mode if it was originally BLKmode.
2091         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
2092         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
2093         (mips_fpr_return_fields): New, split out from mips_function_value.
2094         (mips_return_in_msb, mips_return_fpr_pair): New functions.
2095         (mips_function_value): Rework to use the functions above.
2096         * config/mips/irix6-libc-compat.c: Delete.
2097         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
2098
2099 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2100
2101         * doc/install.texi (--enable-checking): Update valgrind's URL.
2102
2103 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2104
2105         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
2106         with -2147483647 - 1.
2107
2108 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
2109
2110         Fix links in online manuals.
2111         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
2112         (Precompiled Headers): @pxref to cpp, not cpp.info.
2113
2114 2003-11-16  Jason Merrill  <jason@redhat.com>
2115
2116         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
2117         files in each directory and TAGS files that include them for each
2118         front end.
2119
2120 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2121
2122         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
2123         3 of S2L.
2124         (modnorm): Likewise.
2125         (exitdiv): Look at bit 3 of S2L only.
2126
2127 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2128
2129         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
2130         (DO_GLOBAL_DTORS_BODY): Likewise.
2131
2132 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
2133
2134         * doc/install.texi (Prerequisites): Refine documentation of
2135         autoconf, automake and perl requirements.  Document required
2136         gettext version.
2137
2138 <2003-11-14  Jason Merrill  <jason@redhat.com>
2139
2140         * function.c (assign_parms): Use TREE_TYPE to determine the real
2141         type of the argument object.
2142
2143 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2144
2145         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
2146         iteration.
2147
2148 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
2149
2150         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
2151           New routine to save vararg registers on stack. Support for
2152           -mpowerpc64 in mixed mode.
2153
2154 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
2155
2156         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
2157         for MOTOROLA versus MIT syntax.  Improves readability and provides
2158         better compile-time error checking for both code paths.
2159
2160 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
2161
2162         * config/frv/frv-protos.h: Update for C90.
2163         * config/frv/frv.h: Likewise.
2164         * config/frv/frvbegin.c: Likewise.
2165         * config/frv/frv.c: Likewise.
2166         (frv_adjust_field_align): Delete unused variable.
2167
2168 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
2169
2170         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
2171         to each place where TARGET_LONG_DOUBLE_128 is used with
2172         DEFAULT_ABI == ABI_AIX.
2173
2174         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
2175         message comply with GNU standards.
2176
2177 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2178
2179         PR/6552
2180         * function.c (struct epi_info): New field const_equiv.
2181         (update_epilogue_consts): New function.
2182         (keep_stack_depressed): Clear new field and verify scratch register
2183         doesn't have it set.
2184         Call new function via note_stores.
2185         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
2186         Allow PLUS where second operand is register known set to constant.
2187         (emit_equiv_load): Write load using proper mode if source different.
2188         * config/mips/mips.md (return_internal): Put (return) first.
2189
2190 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2191
2192         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
2193
2194 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2195
2196         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
2197         registers.
2198         (divsi3): Likewise.
2199         (reti): Don't restore unused registers.
2200
2201 2003-11-14  Nick Clifton  <nickc@redhat.com>
2202
2203         * config/fr30/fr30.c: Include toplev.h
2204
2205 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
2206
2207         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
2208
2209 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
2210
2211         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
2212         function definition syntax.
2213
2214 2003-11-14  Eric Christopher  <echristo@redhat.com>
2215
2216         * reload1.c (reload): Revert previous patch. Make
2217         check for assignment into reg_equiv_address stricter.
2218
2219 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
2220
2221         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
2222
2223 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
2224
2225         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
2226         section names.
2227
2228 2003-11-14  Jason Merrill  <jason@redhat.com>
2229
2230         PR middle-end/12526
2231         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
2232         * calls.c (call_expr_flags): New fn.
2233         * tree.h: Declare it.
2234
2235 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2236
2237         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
2238         (divmodsi3): Change the name to ___udivsi3.
2239         Update all callers.
2240
2241 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2242
2243         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
2244         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
2245         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
2246         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
2247         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
2248         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
2249         Const-ify and/or initialize automatic variables at declaration.
2250
2251 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2252
2253         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
2254         of er4 with er3.  Adjust all callers.
2255
2256 2003-11-13  Andrew Pinski <apinski@apple.com>
2257
2258         * config/darwin.c (machopic_output_possible_stub_label):
2259         Allow stub symbol be not defined when outputting possible
2260         stub label.
2261
2262 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2263
2264         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
2265         instead of exitdiv.
2266         (___umodsi3): Likewise.
2267         (exitdiv): Do not restore any register.
2268         (reti): Restore registers.
2269
2270 2003-11-13  Steven Bosscher  <stevenb@suse.de>
2271
2272         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
2273
2274 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2275
2276         * config/h8300/lib1funcs.asm: Fix comment typos.
2277
2278 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2279
2280         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
2281         unused registers.  Don't jump to exitdiv.
2282         (umodsi3): Likewise.
2283
2284 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
2285             Kean Johnston <jkj@sco.com>
2286
2287         PR c/13029
2288         * toplev.c (check_global_declarations): Do not warn about unused
2289         static consts.
2290
2291 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
2292             Kazu Hirata  <kazu@cs.umass.edu>
2293
2294         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
2295         the approximate quotient method.
2296
2297 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
2298
2299         * combine.c (distribute_notes): When re-distributing the notes from
2300         an insn we are about to delete, ensure we can't end up with a cyclic
2301         list of notes.
2302
2303 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2304
2305         PR optimization/12926
2306         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
2307         the UNCHANGING_RTX_P flag on memory references to read-only
2308         components that are not addressable.
2309
2310 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2311
2312         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
2313         DenHighNonZero.
2314
2315 2003-11-13  Jan Hubicka  <jh@suse.cz>
2316
2317         PR opt/12275
2318         * c-decl.c (finish_decl): Use change_decl_assembler_name.
2319         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
2320         * varasm.c (make_decl_rtl): Likewise.
2321         * cgraph.c (change_decl_assembler_name): New function.
2322         * tree.h (set_decl_assembler_name): Kill dead declaration.
2323         (change_decl_assembler_name): Declare.
2324
2325         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2326         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2327
2328 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2329
2330         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
2331         an unused register.
2332
2333 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
2334
2335         PR bootstrap/12752
2336         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
2337         (MULTILIB_OSDIRNAMES): Reorder accordingly.
2338
2339 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
2340
2341         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
2342         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
2343         (rs6000_emit_eh_reg_restore): Add
2344         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
2345         of vars_size and total_size to HOST_WIDE_INT.
2346         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
2347         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
2348         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
2349         values.
2350         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
2351         (rs6000_initial_elimination_offset): New, with code formerly in
2352         INITIAL_ELIMINATION_OFFSET.
2353         * rs6000.h (rs6000_stack_t): Remove.
2354         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
2355         rs6000_initial_elimination_offset.
2356         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
2357         rs6000_emit_eh_reg_restore.
2358
2359 2003-11-12  Mike Stump  <mrs@apple.com>
2360
2361         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
2362         is the argumnt we are processing so that warnings and errors
2363         will have that information.
2364         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
2365         * lang-hooks-def.h
2366         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
2367         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
2368         * langhooks.h (convert_parm_for_inlining): Likewise.
2369         * tree-inline.c (initialize_inlined_parameters): Compute and
2370         pass argnum down.
2371
2372 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
2373             Roger Sayle  <roger@eyesopen.com>
2374
2375         PR optimization/12953
2376         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
2377         before switch by FUNCTION_CODE.
2378
2379 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
2380
2381         * arm.md (storehi): Avoid use of explicit subreg.
2382         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
2383
2384 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
2385
2386         * config/sh/sh.md (prefetch): New pattern.
2387
2388 2003-11-11  Eric Christopher  <echristo@redhat.com>
2389
2390         * reload1.c (reload): Verify that addresses for
2391         reg_equiv_* are valid for the architecture.
2392
2393 2003-11-11  Eric Christopher  <echristo@redhat.com>
2394
2395         * function.c (purge_addressof_1): Add libcall check.
2396         Remove test for cached replacements on fallback case.
2397         Simplify mode comparisons. Add libcall test for
2398         paradoxical subregs.
2399
2400 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2401
2402         * config/h8300/t-h8300: Fix an obsolete comment.
2403
2404 2003-11-11  James E Wilson  <wilson@specifixinc.com>
2405
2406         * expmed.c (store_bit_field, extract_bit_field): Revert last two
2407         changes.
2408
2409 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2410
2411         * config/h8300/lib1funcs.asm: Replace DenHighZero with
2412         DenHighNonZero.
2413
2414 2003-11-11  Jan Hubicka  <jh@suse.cz>
2415
2416         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
2417         really_no_inline.
2418
2419 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2420
2421         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
2422         generating 64-bit code.
2423
2424 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
2425
2426         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
2427         accidental commit in previous change.
2428
2429 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
2430
2431         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
2432         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
2433         address recognition.
2434         (macho_lo_sum_memory_operand): Routine to recognize macho-style
2435         address recognition.
2436
2437 2003-11-10  Richard Henderson  <rth@redhat.com>
2438
2439         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
2440
2441 2003-11-10  Matt Austern  <austern@apple.com>
2442
2443         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
2444         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
2445         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
2446         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
2447         darwin_assemble_visibility instead of default.
2448
2449 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
2450
2451         PR target/12865
2452         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
2453         __enable_execute_stack only after writing onto the stack.
2454         (sparc64_initialize_trampoline): Likewise.
2455
2456 2003-11-09  Roger Sayle  <roger@eyesopen.com>
2457
2458         * loop.c (check_dbra_loop): Try swapping the comparison operands
2459         of the loop condition to identify a suitable induction variable.
2460         * unroll.c (loop_iterations): Likewise.
2461
2462 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2463
2464         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
2465         sparc64 #cpu and #machine assertions.
2466
2467 2003-11-09  Richard Henderson  <rth@redhat.com>
2468
2469         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
2470
2471 2003-11-09  Jan Hubicka  <jh@suse.cz>
2472
2473         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
2474
2475         * cgraphunit.c (cgraph_expand_function): Use
2476         cgraph_possibly_inlined_p.
2477         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
2478
2479         * opts.c (common_handle_option): Do not set max-inline-insns.
2480         * params.def: Update comments.
2481         (PARAM_MAX_INLINE_INSNS): Kill.
2482         * invoke.texi (max-inline-insns): Kill.
2483
2484 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2485
2486         PR c/3190
2487         PR c/8714
2488         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
2489         * invoke.texi: Update.
2490
2491 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2492
2493         PR optimization/12630
2494         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
2495         Handle length computation 64-bit moves.
2496         (compute_clrstr_length, output_block_clear): Implement block clear.
2497         (output_block_move): Handle 64-bit moves.
2498         (pa_adjust_insn_length): Use compute_movstr_length and
2499         compute_clrstr_length.
2500         * pa.md (movstrsi): Revise operand order and comments.  Don't use
2501         match_scratch.
2502         (movstrsi_internal): Delete.
2503         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
2504         and peephole2 patterns to transform prereload to postreload form.
2505         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
2506         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
2507         clrstrdi_postreload): New patterns for 64-bit block move, and block
2508         clear.
2509         * pa-protos.h (output_block_clear): New prototype.
2510
2511 2003-11-08  Andreas Schwab  <schwab@suse.de>
2512
2513         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
2514         XCOFF_DEBUGGING_INFO.
2515
2516 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2517
2518         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
2519
2520 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
2521
2522         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
2523         redundant parens.
2524
2525         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
2526         (find_file_in_dir): Likewise.
2527         (_cpp_find_file): Print message if no header file is found
2528         but an invalid PCH file was.
2529
2530 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2531
2532         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
2533         expressions as lvalues.
2534         (internal_build_compound_expr): Remove special handling for
2535         non-pedantic case.
2536         * doc/extend.texi: Document that all extended lvalues are now
2537         deprecated.
2538
2539 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
2540
2541         PR 11654
2542         * dbxout.c (struct dbx_file): Do not save for PCH.
2543         (current_file): Likewise.
2544         (dbxout_init): Don't allocate struct dbx_file using GC.
2545         (dbxout_start_source_file): Likewise.
2546
2547 2003-11-07  Falk Hueffner  <falk@debian.org>
2548
2549         * config/alpha/elf.h, config/alpha/unicosmk.h,
2550         config/alpha/vms.h: Convert to ISO C90.
2551
2552 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
2553
2554         * config/arm/pe.h: Convert to ISO C90.
2555
2556 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
2557
2558         * sh-protos.h (sh_pch_valid_p): Declare.
2559         * sh.c ("intl.h"): Include.
2560         (TARGET_PCH_VALID_P): Override.
2561         (sh_target_switches): New variable.
2562         (target_switches): Define.
2563         (sh_pch_valid_p): New function.
2564
2565         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
2566
2567 2003-11-07  Jan Hubicka  <jh@suse.cz>
2568
2569         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
2570         (x86_64_zero_extended_value):  likewise.
2571
2572 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
2573
2574         * config/mips/mips.md (loadgp): Take $25 as a second operand.
2575         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
2576
2577 2003-11-06  Matt Austern <austern@apple.com>
2578
2579         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
2580         field instead of hanging an attribute object off the decl.
2581         * tree.h (DECL_VISIBLITY): New accessor macro for
2582         symbol_visibility field in struct tree_decl.
2583         (enum symbol_visibility): Move definition to before tree_decl.
2584         (struct tree_decl): Define new two-bit field, symbol_visibility.
2585         (decl_visibility): Remove declaration.
2586         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
2587         instead of decl_visibility.
2588         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
2589         decl_visibility.
2590         (decl_visibility): Remove.
2591
2592 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
2593
2594         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
2595         where register 14 will be saved.
2596
2597 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
2598
2599         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
2600         (USE_ALTIVEC_FOR_ARG_P): Likewise.
2601         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
2602         Take a pointer as the CUM parameter.  Update callers.
2603         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
2604         32-bit ABIs.
2605         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
2606         of vector parameters as named arguments of stdarg function.
2607         (function_arg): Likewise.
2608
2609         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
2610         -maltivec is specified, not the non-existent -faltivec.
2611
2612 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
2613
2614         * config/s390/s390-protos.h (s390_function_value): Declare.
2615         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
2616         (s390_return_in_memory): New function.
2617         (s390_function_value): New function.
2618         (s390_function_arg_float): Return false for all arguments larger
2619         than 8 bytes.
2620         (s390_function_arg_pass_by_reference): Likewise.  Return true for
2621         all vector arguments.
2622         (s390_function_arg_integer): New function.
2623         (s390_function_arg_advance): Call it.  Add sanity checks.
2624         (s390_function_arg): Likewise.
2625         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
2626         (LIBCALL_VALUE): Likewise.
2627         (RET_REG): Remove.
2628         (RETURN_IN_MEMORY): Remove.
2629
2630 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2631
2632         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
2633         return type to HOST_WIDE_INT.
2634         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
2635         Make initialized a bool.  Make register masks unsigned ints.
2636         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
2637         where appropriate.
2638         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
2639         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
2640
2641 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2642
2643         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
2644         negation.
2645
2646 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2647
2648         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2649
2650 2003-11-06  Momchil Velikov  <velco@fadata.bg>
2651
2652         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
2653         for VR4111 too.
2654
2655 2003-11-06  Jan Hubicka  <jh@suse.cz>
2656
2657         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
2658         missing casts.
2659
2660 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
2661
2662         * genmodes.c: Change the word "bitsize" to "precision" throughout.
2663         * machmode.def: Likewise.
2664         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
2665         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
2666         (GET_MODE_PRECISION): New macro.
2667         (mode_bitsize): Renamed mode_precision.
2668         * stor-layout.c (mode_for_size, smallest_mode_for_size):
2669         Use GET_MODE_PRECISION; clarify comments.
2670
2671 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2672
2673         * doc/install-old.texi: Remove old documentation of building
2674         cross-compilers.
2675         * doc/install.texi: Move some of it to here.
2676
2677 2003-11-05  Per Bothner  <pbothner@apple.com>
2678
2679         PR preprocessor/12891
2680         * c-opts.c (finish_options):  Set include_cursor to disable premature
2681         calls to push_command_line_include from cpp_scan_nooutput.
2682         Fixes bug reported by DJ Delorie.
2683
2684 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2685
2686         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2687         code supporting old-style varargs.
2688
2689         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2690         an intermediate register for better optimisation.
2691
2692 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2693
2694         PR optimization/10080
2695         * cfgloopanal.c (variable_initial_value, variable_initial_values,
2696         simple_loop_exit_p): Record the fact that initial value is extended
2697         from inner mode.
2698         (count_strange_loop_iterations, count_loop_iterations): Handle
2699         ivs that iterate in a narrower mode. Fix handling of overflows.
2700         Improve handling of NE conditions.
2701         (inverse, fits_in_mode_p): New static functions.
2702         (simple_increment): Detect variables that iterate in a narrower mode.
2703         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2704
2705 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2706
2707         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2708         error.
2709
2710         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2711         needs VRSAVE.
2712
2713 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2714
2715         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2716         conditional expressions as lvalues.
2717
2718 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
2719
2720         * tsystem.h: Add the prototype of strlen.
2721         * unwind-pe.h (read_encoded_value_with_base): Add an
2722         appropriate cast to handle a case where the pointer size is
2723         smaller than sizeof (int).
2724
2725 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2726
2727         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2728         (mips_delegitimize_address): Delete.
2729         (mips_gotoff_global, mips_load_got_page): Declare.
2730         (mips_load_got_global, mips_rewrite_small_data): Declare.
2731
2732         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2733         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2734         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2735         small_data_pattern.  Remove CONST from const_arith_operand's entry.
2736
2737         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2738         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2739         (mips_constant_type): Delete.
2740         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2741         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2742         (NUM_SYMBOL_TYPES): New macro.
2743         (mips_address_type): Remove ADDRESS_INVALID.
2744         (machine_function): Add has_gp_insn_p.
2745         (mips_constant_info): Delete.
2746         (mips_address_info): Add the address type as an extra field.  Replace
2747         the c field with symbol_type.
2748         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2749         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2750         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2751         (mips_split_const, mips_symbolic_constant_p): New functions.
2752         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2753         (mips_classify_address): Return true if the address is valid, storing
2754         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
2755         to test whether a LO_SUM address is allowed.
2756         (mips_symbol_insns): Return 0 for general mips16 symbols.
2757         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2758         Handle the new SYMBOL_GOTOFF_*s.
2759         (mips_address_insns): Update call to mips_classify_address.
2760         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
2761         of mips_classify_constant.  Be more accurate about CONSTs.
2762         (mips_global_pic_constant_p): Delete.
2763         (const_arith_operand): Only accept CONST_INTs.
2764         (call_insn_operand): Remove call to mips_classify_constant.
2765         Let mips_symbolic_constant_p check for invalid offsets.
2766         (move_operand): Check for general_operands first.  Only accept symbolic
2767         constants if they satisfy mips_symbolic_constant_p and cannot be split.
2768         (symbolic_constant): Use mips_symbolic_constant_p.
2769         (global_got_operand, local_got_operand): New predicates.
2770         (stack_operand): Update call to mips_classify_address.
2771         (mips_legitimate_address_p): Likewise.
2772         (mips_reloc, mips_lui_reloc): Delete.
2773         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2774         Use emit_move_insn.
2775         (mips_split_symbol, mips_unspec_address): New functions.
2776         (mips_unspec_offset_high): New function.
2777         (mips_load_got): Replace reloc argument with a symbol_type.
2778         Use mips_unspec_address to create the address and put it in a
2779         LO_SUM with the base register.
2780         (mips_load_got16, mips_load_got32): Delete.
2781         (mips_emit_high, mips_legitimize_symbol): Delete.
2782         (mips_gotoff_global): New function.
2783         (mips_load_got_page, mips_load_got_global): New functions.
2784         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2785         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
2786         Inline code to handle constants plus invalid offsets.  Use
2787         mips_split_symbol to legitimize constant pool addresses.
2788         (mips_delegitimize_address): Delete.
2789         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2790         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
2791         (mips_subword): Pass memrefs through mips_rewrite_small_data.
2792         (mips_output_move): Remove use of mips_classify_constant.
2793         (mips_expand_call): Use mips_unspec_offset_high to calculate the
2794         high part of the GOT address for calls to global functions.
2795         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2796         and mips_hi_relocs[].
2797         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2798         Remove use of mips_classify_constant.
2799         (mips_reloc_string): Delete.
2800         (print_operand_reloc): New function.
2801         (print_operand_address): Update call to mips_classify_address.
2802         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2803         (small_data_pattern): New predicate.
2804         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2805         (mips_function_has_gp_insn): New function.
2806         (mips_global_pointer): Use it.
2807         (mips_gp_insn): Delete.
2808         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2809         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
2810         from the start of the current function.
2811         (mips16_gp_pseudo_reg): Revert last patch.
2812
2813         * config/mips/mips.md (RELOC_*): Delete.
2814         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2815         (got): New insn attribute.
2816         (type): Set to "load" if got == load.
2817         (length): Set to 4 if got == load, 8 if got == xgot_high.
2818         (lui[sd]i): Delete.
2819         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2820         (*got_disp[sd]i, *got_page[sd]i): Likewise.
2821         (*low[sd]i): Change constraints to "d".  Add a new define_split to
2822         rewrite small data constants into LO_SUMs.
2823         (loadgp): New insns.
2824
2825 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2826
2827         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2828
2829 2003-11-04  DJ Delorie  <dj@redhat.com>
2830
2831         * config/v850/v850.md (mulhisi3): Expand the const_int case
2832         separately to avoid trying to sign extend the const.
2833
2834 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2835
2836         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2837         addresses to be shared.
2838         (force_const_mem): Return a copy of the pool entry.
2839
2840 2003-11-03  Andreas Jaeger  <aj@suse.de>
2841
2842         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2843
2844 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
2845
2846         * Makefile.in (cpp.dvi): New target split from cpp.info.
2847         (gcc.dvi):  New target split from gcc.info.
2848         (gccint.dvi): New target split from gccint.info.
2849         (cppinternals.dvi): New target split from cppinternals.info
2850         (gccinstall.info): New specific rule.
2851         (gccinstall.dvi): Likewise.
2852         (dvi): Move targets to $(docobjdir).
2853         ($(docobjdir)/%.dvi): New implicit rule.
2854
2855 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2856
2857         * doc/gty.texi (tag, desc): Say more about role of desc values in
2858         selecting between tags.
2859
2860 2003-11-03  Alexander Kabaev  <ak03@gte.com>
2861
2862         * real.c (encode_ieee_single): Ensure proper promotion.
2863
2864 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2865
2866         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
2867         and Andrew Pinski.
2868
2869 2003-11-03  Syd Polk  <spolk@apple.com>
2870
2871         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
2872         marketing names to the list of supported processors.
2873         * config/rs6000/rs6000.h: Ditto.
2874         * doc/invoke.texi: Ditto.
2875         * config.gcc: Ditto.
2876
2877 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2878
2879         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
2880         Merge two substitutions.
2881         * fixinc/fixincl.x: Regenerate.
2882         Fixes PR bootstrap/12666.
2883
2884 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
2885
2886         * doc/install-old.texi: Remove VMS documentation.
2887
2888 2003-11-03  Jan Hubicka  <jh@suse.cz>
2889
2890         * i386.c (override_options):  Remove hack enabling 128bit long double
2891         commited by accident.
2892
2893 2003-11-02  Per Bothner  <per@bothner.com>
2894
2895         * c-opts.c (needValue):  Do cpp_find_main_file before processing
2896         any imacros flags, so pfile->main_file is set for the latter.
2897
2898 2003-11-03  Andreas Jaeger  <aj@suse.de>
2899             Zack Weinberg  <zack@codesourcery.com>
2900
2901         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
2902         (SYSCALLS.c.X-warn): Suppress warnings.
2903
2904 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2905
2906         PR optimization/12845
2907         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
2908
2909 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
2910
2911         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
2912         * config/i386/i386.c (print_reg): Abort on a virtual register
2913         if code != -1; not if file == asm_out_file.
2914         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
2915         (DEBUG_PRINT_REG): Delete, unused.
2916
2917 2003-11-02  Andreas Schwab  <schwab@suse.de>
2918
2919         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
2920         empty to avoid conflict with the definition from configure.
2921
2922 2003-11-02  Roger Sayle  <roger@eyesopen.com>
2923
2924         PR optimization/10817
2925         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
2926         (noce_try_move): New function to optimize an if-the-else into an
2927         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
2928         (noce_process_if_block): Attempt simplification with noce_try_move.
2929
2930         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
2931         and improvements to the optimizations of IF_THEN_ELSE expressions.
2932         (simplify_subreg): Silence signed/unsigned comparison warning.
2933
2934 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
2935
2936         * Makefile.in (targhooks.o, reload.o): Update dependencies.
2937         (GTFILES): Add targhooks.c.
2938         (gt-targhooks.h): New rule; depend on s-gtype.
2939         * target.h (direct_pool_load_p): New hook.
2940         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
2941         (TARGET_INITIALIZER): Include it.
2942         * targhooks.h (default_direct_pool_load_p): Declare.
2943         (hook_bool_machine_mode_true): Declare.
2944         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
2945         gt-targhooks.h.
2946         (pool_symbol): New variable.
2947         (default_direct_pool_load_p): New function.
2948         (hook_bool_machine_mode_true): New function.
2949         * reload.c: Include target.h.
2950         (find_reloads): If an alternative will force a constant into memory,
2951         count an extra reload if constant pool symbols are not valid
2952         addresses.  If an alternative uses memory to move values between
2953         registers, count the move as two reloads rather than one.
2954         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
2955         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
2956
2957 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2958
2959         PR optimization/12799
2960         * postreload.c (reload_cse_move2add): Generate the add2
2961         patterns manually.
2962
2963 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2964
2965         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2966         Return 0 for all complex modes whose size is lesser or equal to
2967         a word.  Add a ??? comment for the condition used with 16-byte
2968         aligned modes.
2969
2970 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
2971
2972         * .cvsignore: Remove c-parse* and tradcif.c.
2973         * objc/.cvsignore: Delete.
2974
2975 2003-11-01  Roger Sayle  <roger@eyesopen.com>
2976
2977         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
2978         of NULL.
2979
2980 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2981
2982         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
2983
2984         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
2985
2986         * collect2.c (scan_libraries): Fix typos.
2987
2988         PR preprocessor/12847
2989         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
2990         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
2991         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
2992         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
2993         "CPP_".
2994
2995 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
2996
2997         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
2998         no_units calculation.
2999
3000 2003-11-01  Andreas Jaeger  <aj@suse.de>
3001
3002         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
3003         enumeration list.
3004
3005 2003-11-01  Andreas Schwab  <schwab@suse.de>
3006
3007         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
3008         prototypes.
3009         (SBSS_SECTION_FUNCTION): Likewise.
3010
3011 2003-11-01  Andreas Jaeger  <aj@suse.de>
3012
3013         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
3014
3015 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
3016
3017         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
3018         prototypes.
3019
3020 2003-11-01  Andreas Jaeger  <aj@suse.de>
3021
3022         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
3023         (uw_frame_state_for): Constify variables.
3024         (extract_cie_info): Constify first argument.
3025
3026         * unwind-dw2-fde-darwin.c: Adjust prototype of
3027         _Unwind_Find_registered_FDE for recent changes.
3028         (examine_objects): Constify return value and local variable result.
3029         (_Unwind_Find_FDE): Constify return value and local variable ret.
3030
3031 2003-10-31  Per Bothner  <pbothner@apple.com>
3032
3033         * c-opts.c (finish_options):  Change to returns boolean - false iff
3034         the call to cpp_find_main_file fails.
3035         (c_common_init):  Skip preprocess_file if finish_options failed.
3036         (c_common_parse_file):  Break if finish_options failed.
3037         Fixes PR preprocessor/12545.
3038
3039 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3040
3041         * aclocal.m4: Blacklist ultrix* for mmap file.
3042         * configure: Rebuilt.
3043
3044         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
3045         reg_parm_stack_space.
3046         * toplev.c (default_get_pch_validity): Fix warning.
3047
3048         * vax.c: Include toplev.h.
3049         (vax_init_libfuncs): Fix typo (umod).
3050         * vax.h (ASM_COMMENT_START): Define.
3051         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
3052
3053 2003-10-31  Roger Sayle  <roger@eyesopen.com>
3054
3055         PR middle-end/11968
3056         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
3057         confusing comment; distributivity isn't handled in expand_expr.
3058         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
3059         in distributivity, if wrap-around semantics are specified with
3060         -fwrapv.
3061
3062 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
3063
3064         PR 12315
3065         * final.c (profile_function): Allow for NULL svrtx.
3066
3067 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3068
3069         * pa.c (pa_select_section): Use new style declaration.
3070         * som.h (readonly_data): Likewise.
3071
3072 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
3073
3074         * config/rs6000/rs6000.c: Update to C90 prototypes.
3075
3076 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3077
3078         PR target/7513
3079         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
3080         code.
3081
3082 2003-10-31  Andreas Jaeger  <aj@suse.de>,
3083             Zack Weinberg  <zack@codesourcery.com>
3084
3085
3086         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
3087         (__deregister_frame_info, __deregister_frame_info_bases):
3088         Constify void * argument.
3089         * unwind-dw2-fde.h (struct fde_vector):
3090         Constify 'orig_data' and 'array' fields.
3091         (__register_frame_info, __register_frame_info_bases)
3092         (__deregister_frame_info, __deregister_frame_info_bases):
3093         Constify void * argument.
3094         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
3095         return values, and casts of type fde *, struct dwarf_fde *,
3096         and struct dwarf_cie *.
3097         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
3098         (__deregister_frame_info, __deregister_frame_info_bases):
3099         Constify void * argument.
3100         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
3101         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
3102         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
3103         fde_split, SWAP, frame_downheap, frame_heapsort)
3104         (classify_object_over_fdes, add_fdes, linear_search_fdes,
3105         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
3106         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
3107         Constify arguments, local variables, return values, and casts
3108         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
3109         Use const pointer types in sizeof expressions, for clarity.
3110         * unwind-dw2-fde-glibc.c
3111         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
3112         (struct unw_eh_callback_data): Constify 'ret' field.
3113
3114 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
3115             David Edelsohn  <edelsohn@gnu.org>
3116
3117         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
3118         (function_arg): Call it.
3119         (rs6000_function_value): Widen integral return value to mode based
3120         on TARGET_32BIT, not word_mode.
3121         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
3122         (UNITS_PER_ARG): New.
3123         (RS6000_ARG_SIZE): Use it.
3124
3125 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
3126
3127         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
3128         and gengtype-yacc.h.
3129
3130 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3131
3132         PR optimization/8896
3133         * postreload.c (reload_combine): Check that REGY doesn't die in an
3134         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
3135
3136 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
3137
3138         PR/10239
3139         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
3140
3141 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
3142
3143         PR/11640
3144         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
3145         immediatelly before BARRIER.
3146
3147 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
3148
3149         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
3150
3151 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3152
3153         PR target/11271
3154         * reload.c (find_reloads_address): Handle any register in
3155         (PLUS (PLUS (REG) (REG)) (CONST_INT).
3156
3157 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
3158
3159         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
3160         ENABLE_GC_CHECKING not in GGC_POISON.
3161
3162 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3163
3164         PR bootstrap/9863
3165         * configure.in: Bail out if awk is missing.
3166         * configure: Regenerate.
3167
3168         PR ada/12761
3169         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
3170         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
3171
3172 2003-10-30  Richard Henderson  <rth@redhat.com>
3173
3174         * c-objc-common.c (c_tree_printer): Handle types correctly.
3175         Factor code a bit.
3176
3177 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
3178
3179         * value-prof.c, web.c: Update to C90.
3180
3181 2003-10-30  Eric Christopher  <echristo@redhat.com>
3182
3183         * function.c (purge_addressof_1): Add case for REG_RETVAL
3184         notes when modes are unequal.
3185
3186 2003-10-31  Jan Hubicka  <jh@suse.cz>
3187
3188         * i386-modes.def: Add XFmode format adjustment.
3189
3190 2003-10-30  Jan Hubicka  <jh@suse.cz>
3191
3192         * real.c (encode_ieee_extended): Back out previous patch.
3193
3194 2003-10-30  Jan Hubicka  <jh@suse.cz>
3195
3196         * real.c (encode_ieee_extended): Initialize whole array.
3197         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
3198         * i386-modes.def: Change definitions of TFmode and XFmode.
3199         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
3200         code.
3201         (construct_container): Allow constructing of TFmode integer containers.
3202         (ix86_return_in_memory):  XFmode is not returned in memory.
3203         (init_ext_80387_constants): Always use XFmode.
3204         (print_operand): Likewise.
3205         (ix86_prepare_fp_compare_regs): Likewise.
3206         (split_to_parts): Deal with TFmode.
3207         (split_long_move): Simplify.
3208         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
3209         (ix86_memory_move_cost): Do not confuse TFmode.
3210         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
3211         (IS_STACK_MODE): TFmode is not stack mode.
3212         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
3213         (VALID_SSE_REG_MODE): Allow TFmode.
3214         (VALID_FP_MODE_P): Disallow TFmode.
3215         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
3216         * i386.md (TFmode patterns): Kill.
3217         (movtf, motf_rex64): New patterns.
3218
3219 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3220
3221         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
3222
3223 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3224
3225         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
3226         (mov_lwr, mov_swl, mov_swr): Likewise.
3227         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
3228
3229 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
3230
3231         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
3232
3233 2003-10-30  Richard Henderson  <rth@redhat.com>
3234
3235         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
3236         test for irix6 rather than preprocessor test.
3237
3238 2003-10-30  Richard Henderson  <rth@redhat.com>
3239
3240         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
3241
3242 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
3243
3244         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
3245         as a general flag that the return address register needs to be saved,
3246         not necessarily because of __builtin_return_addr (0).
3247         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
3248         remove special handling of zSeries machines.
3249         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
3250         register as a regular register on zSeries machines.
3251         (s390_reorg): Adjust calls to s390_split_branches and
3252         s390_optimize_prolog.
3253         (s390_frame_info): On zSeries machines, do not assume the return
3254         register is always used.  Update regs_ever_live with current data
3255         for the special registers.
3256         (s390_emit_epilogue): Use save_return_addr_p to determine whether
3257         the return register was saved.
3258         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
3259         RETURN_REGNUM fixed on zSeries machines.
3260         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
3261         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
3262         via ahi-jgne pair on zSeries machines.
3263         ("*doloop_di"): Likewise.
3264         ("*doloop_di_long"): Remove.
3265
3266 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
3267
3268         * arm.c (arm_override_options): Revert change of arm_constant_limit
3269         when optimizing for size.
3270
3271 2003-10-29  Richard Henderson  <rth@redhat.com>
3272
3273         * fold-const.c (fold_single_bit_test): Convert the input to the
3274         operational intermediate type.
3275
3276 2003-10-29  Richard Henderson  <rth@redhat.com>
3277
3278         * builtins.c (std_build_builtin_va_list): New.
3279         * expr.h (std_build_builtin_va_list): Declare.
3280         * defaults.h (BUILD_VA_LIST_TYPE): New.
3281         * system.h (BUILD_VA_LIST_TYPE): Poison.
3282         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
3283         * target.h (struct gcc_target): Add build_builtin_va_list.
3284         * tree.c (build_common_tree_nodes_2): Use it.
3285
3286         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
3287         config/alpha/alpha.h, config/alpha/unicosmk.h,
3288         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
3289         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
3290         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
3291         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
3292         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
3293         config/mips/mips.h, config/rs6000/rs6000-protos.h,
3294         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3295         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3296         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3297         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
3298         config/xtensa/xtensa.h: Rename foo_build_va_list to
3299         foo_build_builtin_va_list; make it static.  Define
3300         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
3301         Update protos.
3302
3303         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
3304         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
3305
3306 2003-10-29  James E Wilson  <wilson@specifixinc.com>
3307
3308         * recog.c (asm_operand_ok): Add missing break after case 'X'.
3309         Change if statements to else if statements in default case.
3310         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
3311         in comment.
3312         (constrain_operands_cached): Likewise.
3313         (constrain_operands): Change if statements to else if statements in
3314         default case.
3315         * reload.c (find_reloads): Likewise.
3316
3317 2003-10-29  Richard Henderson  <rth@redhat.com>
3318
3319         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
3320         shifts and rotates.
3321
3322 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
3323
3324         * config/rs6000/rs6000.md: Remove duplicate pattern.
3325
3326 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
3327
3328         * real.c (do_divide): Initialize result with a 0.
3329
3330         * configure.in <enable-checking for valgrind>: Look for
3331         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
3332         if it exists.
3333         * configure, config.in: Regenerate.
3334         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
3335         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
3336         #elif for other alternatives.
3337         * ggc-page.c: Ditto.
3338         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
3339         include structure from ggc-common.c.
3340
3341 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3342
3343         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
3344         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
3345         * pa.c (pa_adjust_insn_length): Check for btable branches using
3346         attribute TYPE_BTABLE_BRANCH.
3347         (pa_reorg): Simplify.
3348         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
3349         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
3350         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
3351         * pa.md (btable_branch): New instruction type.
3352         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
3353         btable branches.
3354         (define_delay): Add btable branches to insn types that may have an
3355         insn in the delay position.
3356         (Z2, Z3): Add btable branch to list.
3357         Simplify unamed pattern set copy pic_label_operand to register.  Add
3358         PA 2.0 variant.
3359         (short_jump): New jump for use in branch tables.
3360         (casesi, casesi0): Revise for new branch table formats.
3361         (casesi32, casesi32p, casesi64p): New casesi patterns.
3362         (indirect_jump): Move.
3363
3364 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
3365
3366         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
3367         !TARGET_POWERPC64.
3368         (UNITS_PER_GPR_WORD): Delete.
3369         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
3370         (HARD_REGNO_MODE_OK): Same.
3371         (CLASS_MAX_NREGS): Same.
3372
3373 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3374
3375         * pa.h (ASM_COMMENT_START): Define.
3376
3377 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
3378
3379         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
3380         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
3381         component, not zero.
3382
3383 2003-10-29  Andreas Schwab  <schwab@suse.de>
3384
3385         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
3386
3387 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3388
3389         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3390         Never return 1 for complex integral modes whose size is lesser or
3391         equal to a word.
3392         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
3393         in the comment.
3394         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
3395         modes.
3396         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
3397         greater than 16 bytes by reference.
3398
3399 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3400
3401         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
3402         not TARGET_ILP32.
3403         (ia64_initialize_trampoline): Use globalize_label target call.
3404
3405 2003-10-29  Andreas Schwab  <schwab@suse.de>
3406
3407         * doc/install.texi (Building): Add a sentence about building Ada
3408         for a canadian cross.
3409
3410 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
3411
3412         * config/ia64/ia64.c (cmptf_libfunc): New static.
3413         (ia64_expand_compare): Add logic to open-code calls to
3414         _U_Qfcmp for TFmode comparisons.
3415         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
3416         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
3417         never be generated anymore.
3418         * config/ia64/ia64.md (cmptf): New expander.
3419
3420 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
3421
3422         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
3423         (*sqrt_approx): New instruction pattern for approximate square roots.
3424         (*setf_exp_xf): New instruction pattern for exponentiation.
3425         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
3426         (sqrtsf2_internal_thr): New define_and_split implementing
3427         throughput-optimized inline calculation of SFmode square root.
3428         (sqrtdf2_internal_thr): Likewise for DFmode.
3429         (sqrtxf2_internal_thr): Likewise for XFmode.
3430         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
3431         latency- and throughput-optimized square root algorithms.
3432         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
3433         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
3434         New macros.
3435         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
3436         -minline-sqrt-max-throughput.
3437         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
3438         and -minline-sqrt-max-throughput are given, notify the user
3439         that both options cannot be used simultaneously.
3440         If -minline-sqrt-min-latency is given, notify the user that
3441         this mode is not yet implemented.
3442         (rtx_needs_barrier): Reformat initial comment to obey
3443         72-character width limit.  Support UNSPEC_SETF_EXP and
3444         UNSPEC_FR_SQRT_RECIP_APPROX.
3445
3446 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
3447
3448         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
3449         moves.
3450
3451 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3452
3453         PR target/11598
3454         PR libgcj/10610
3455         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
3456
3457 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
3458
3459         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
3460         an extra stack adjustment insn if the stack pointer is already
3461         pointing at the right place.
3462         (use_return_insn): Allow a return insn to be used when we have a
3463         frame pointer if the stack pointer is in the right place.
3464         (output_return_instruction): Handle it.
3465
3466 2003-10-28  Andreas Jaeger  <aj@suse.de>
3467
3468         * ggc-zone.c (check_cookies): Add missing variable.
3469         Add void to prototypes.
3470
3471 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3472
3473         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
3474         * crtstuff.c (__do_global_ctors_1): Move prototype.
3475         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
3476         appropriate.
3477         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
3478         Mark parameter with __attribute__((unused)).
3479
3480 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
3481
3482         * c-decl.c (pushdecl): Clarify comment.
3483
3484 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
3485
3486         * doc/install.texi: Update instructions for Ada cross builds
3487
3488         PR ada/5909:
3489         * doc/sourcebuild.texi: Document Ada test suite.
3490
3491 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
3492
3493         * config/m68hc11/m68hc11.c: Convert to ISO C90.
3494         * config/m68hc11/m68hc11-protos.h: Likewise.
3495
3496 2003-10-27  Jan Hubicka  <jh@suse.cz>
3497             Eric Botcazou  <ebotcazou@libertysurf.fr>
3498
3499         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
3500         webizer pass dump.
3501
3502 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
3503             Jan Hubicka  <jh@suse.cz>
3504
3505         * reload1.c (struct elim_table): Change offset, initial_offset and
3506         previous_offset fields to HOST_WIDE_INT.
3507         (offsets_at): Change from int to HOST_WIDE_INT.
3508         (reload): Adjust offsets_at initialization.
3509         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
3510         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
3511         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
3512         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
3513         if TARGET_64BIT.
3514         (pro_epilogue_adjust_stack): New function.
3515         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
3516         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
3517         (pro_epilogue_adjust_stack_1): Remove * in front of name.
3518         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
3519         (pro_epilogue_adjust_stack_rex64_2): New insn.
3520
3521         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
3522
3523         * config/i386/i386.c (ix86_expand_call): Replace 40 with
3524         FIRST_REX_INT_REG + 3 /* R11 */.
3525
3526 2003-10-26  Richard Henderson  <rth@redhat.com>
3527
3528         * config/alpha/alpha.md (attr cannot_copy): New.
3529         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
3530         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
3531         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
3532
3533 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
3534
3535         * ggc-zone.c:  New file, zone allocating collector.
3536         * configure: Accept zone option for --with-gc
3537         * configure.in: Ditto.
3538         * ggc.h (ggc_pch_count_object): Pass bool indicating
3539         stringiness. Update all callers.
3540         (ggc_pch_alloc_object): Ditto.
3541         (ggc_pch_write_object): Ditto.
3542         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
3543         type.
3544         (ggc_alloc_rtvec): Ditto.
3545         (ggc_alloc_tree): Use zone allocation, since some things using this macro
3546         aren't a single typecode.
3547         * ggc-none.c (ggc_alloc_typed): New function.
3548         (ggc_alloc_zone): Ditto.
3549         * ggc-page.c: Ditto on both functions.
3550
3551 2003-10-26  Gunther Nikl  <gni@gecko.de>
3552
3553         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
3554         frame information is always valid.
3555         (m68k_output_function_prologue): Remove superfluous TARGET_68881
3556         test; fix formatting.
3557
3558 2003-10-26  Gunther Nikl  <gni@gecko.de>
3559
3560         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
3561         reg_rev_mask computation.
3562         (m68k_output_function_prologue): Fix usage of current_frame (one typo
3563         and one missing); use reg_rev_mask not reg_mask.
3564         (m68k_output_function_epilogue): Fix usage of current_frame;
3565         use fpu_rev_mask not fpu_mask.
3566
3567 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
3568
3569         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
3570         num_saved_regs, use current_frame.reg_no instead.
3571
3572 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
3573             Paul Dale  <pauli@snapgear.com>
3574
3575         * doc/extend.texi (interrupt_handler): Add m68k to the
3576         list of processors implementing it.
3577         * doc/invoke.texi (-msep-data): Document new m68k option.
3578         (-mno-sep-data): Likewise.
3579         (-mid-shared-library): Likewise.
3580         (-mno-id-shared-library): Likewise.
3581         (-mshared-library-id): Likewise.
3582
3583 2003-10-26  Andreas Jaeger  <aj@suse.de>
3584
3585         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
3586         comparison.
3587         (_Unwind_SetGR): Likewise.
3588
3589 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
3590
3591         PR target/12690
3592         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
3593
3594 2003-10-26  Gunther Nikl  <gni@gecko.de>
3595
3596         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
3597         comment from here to...
3598         (m68k_save_reg): ...here. Fix comment formatting.
3599         (m68k_output_function_prologue): Fix comment formatting.
3600         (m68k_output_function_epilogue): Likewise.
3601         (const_method): Likewise.
3602
3603 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3604
3605         * toplev.c (default_get_pch_validity): Guard the use of
3606         target_options with #ifdef TARGET_OPTIONS.
3607         (default_pch_valid_p): Likewise.
3608
3609 2003-10-26  Andreas Jaeger  <aj@suse.de>
3610             Zack Weinberg  <zack@codesourcery.com>
3611             Andreas Tobler <toa@pop.agri.ch>
3612
3613         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
3614         (output_die): Likewise.
3615         (print_die): Likewise.
3616
3617 2003-10-26  Andreas Jaeger  <aj@suse.de>
3618
3619         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
3620         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
3621         dwarf2out.c change.
3622
3623         * toplev.c (default_pch_valid_p): Fix warning.
3624
3625 2003-10-25  Roger Sayle  <roger@eyesopen.com>
3626
3627         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
3628         RTL nodes.  If an operator's operands are unchanged, return the
3629         original argument unchanged.
3630
3631 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
3632
3633         Fix bootstrap failure.
3634         * expmed.c (store_bit_field): Don't compare bitsize against
3635         modes with zero bit-size.
3636
3637         (extract_bit_field): Likewise
3638
3639 2003-10-25  Jan Hubicka  <jh@suse.cz>
3640
3641         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
3642         (cfa_loc): Likewise.
3643         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
3644         HOST_WIDE_INT.
3645         (args_size, old_args_size): change type to HOST_WIDE_INT.
3646         (dwarf2out_def_cfa, dwarf2out_args_size,
3647         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
3648         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
3649         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
3650         AT_offset): Use HOST_WIDE_INT.
3651         (based_loc_descr): offset is HOST_WIDE_INT.
3652         (add_data_member): Likewise.
3653         (add_const_value_attribute): Simplify.
3654
3655 2003-10-25  Richard Henderson  <rth@redhat.com>
3656
3657         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
3658         (ix86_expand_prologue): Save and restore eax around stack probe
3659         if it's live.
3660
3661 2003-10-25  Jan Hubicka  <jh@suse.cz>
3662
3663         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
3664
3665 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
3666
3667         PR target/12712
3668         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
3669         if the block has no predecessors.
3670         (convert_regs_2): Document the problem with successors whose
3671         only predecessor is the block to be processed.
3672         (convert_regs): Don't create the arbitrary input stack here.
3673
3674 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
3675
3676         * genmodes.c (struct mode_data): Add contained and next_cont
3677         fields.
3678         (complete_mode): Maintain linked list of modes that have a
3679         given component.
3680         (emit_mode_unit_size): Delete.
3681         (emit_mode_nunits): New.
3682         (emit_insn_modes_c): Update to match.
3683         (emit_mode_adjustments): Propagate size and alignment
3684         adjustments from component modes to their containers.
3685         * machmode.h (mode_unit_size): Delete.
3686         (mode_nunits): New.
3687         (GET_MODE_NUNITS): Just return the value in the table.
3688         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3689         GET_MODE_SIZE.
3690         * expmed.c (store_bit_field, extract_bit_field): Can use a
3691         plain move instruction if bitsize >= GET_MODE_BITSIZE of
3692         destination/source mode, respectively.
3693         * varasm.c (assemble_real): Write out the full size of the
3694         constant, not just its bitsize.
3695         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3696
3697         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3698         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3699         alignment of XF and TF modes in compliance with ia64 ABIs.
3700         Can now hardwire the format of both modes.
3701         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3702         (general_tfmode_operand, destination_tfmode_operand)
3703         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3704         general_xfmode_operand, destination_xfmode_operand,
3705         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3706         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3707         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
3708         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3709         __float128.
3710         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3711         Change TFmode to XFmode wherever appropriate.  Remove all
3712         references to INTEL_EXTENDED_IEEE_FORMAT.
3713         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3714         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3715         (PREDICATE_CODES): Update to match function renames.
3716         * config/ia64/ia64.md: Change TF to XF throughout; rename all
3717         patterns to match.  Remove all references to
3718         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
3719         function renames.
3720         * config/ia64/ia64-protos.c: Update all prototypes to match
3721         renamed functions.
3722         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3723         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3724         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3725         __divtf3; keep old name for backward compatibility.
3726         (L__compat): New section providing forwarding stubs for
3727         __fixtfti, __fixunstfti, __floattitf.
3728         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3729
3730 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
3731
3732         PR 10757
3733         * c-pch.c: Include target.h.  Improve comments.
3734         (struct c_pch_validity): Add target_data_length.
3735         (pch_init): Add target's validity data.
3736         (c_common_valid_pch): Check target's validity data.
3737         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3738         (TARGET_PCH_VALID_P): New.
3739         (TARGET_INITIALIZER): Add new fields.
3740         * target.h: Include tm.h.
3741         (struct gcc_target): Add get_pch_validity, pch_valid_p.
3742         * toplev.h (default_get_pch_validity): New prototype.
3743         (default_pch_valid_p): New prototype.
3744         * toplev.c (default_get_pch_validity): New routine.
3745         (default_pch_valid_p): New routine.
3746         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
3747         target.h with $(TARGET_H).
3748         (c-pch.o): Add TARGET_H.
3749         * doc/tm.texi (PCH Target): New node.
3750         (TARGET_GET_PCH_VALIDITY): Document.
3751         (TARGET_PCH_VALID_P): Document.
3752
3753 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
3754
3755         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
3756         and $(docdir)/include from any *.texi dependencies.
3757         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3758         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3759         ($(docobjdir)/%.7): Likewise.
3760         (%.pod): New implicit rule.
3761         (cpp.pod): New dependency only rule.
3762         (gcc.pod): New intermediate rule with dependencies and commands.
3763         (gfdl.pod): Likewise.
3764         (fsf-funding.pod): Likewise.
3765
3766 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
3767
3768         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3769         related code.
3770         * fixinc/fixinc.ptx: Remove.
3771         * fixinc/fixinc.svr4: Remove.
3772
3773 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3774
3775         * config/s390/s390.c (load_multiple_operation): Allow both SImode
3776         and DImode if word_mode is DImode.
3777         (store_multiple_operation): Likewise.
3778         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3779         ("*load_multiple_di"): Allow only if word_mode == DImode.
3780         ("movqi"): Use LLGC whenever TARGET_ZARCH.
3781         ("fix_truncdfsi2"): Fix incorrect temporary size.
3782         ("fix_truncsfsi2"): Likewise.
3783         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3784         string for function return value operand.
3785         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3786
3787 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3788
3789         * c-parse.in (array_declarator): Use expr_no_commas.
3790         Fixes PR c/11943.
3791
3792 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
3793
3794         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3795         associated includes in #ifndef inhibit_libc.
3796
3797 2003-10-24  Roger Sayle  <roger@eyesopen.com>
3798
3799         * doc/libgcc.texi: Document some more of the libgcc API.
3800
3801 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3802
3803         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3804         comparing a constant with small negative numbers and add costing
3805         for constants in conjunction with AND.
3806         (note_invalid_constants): Tidy previous change.
3807         (thumb_cmp_operand): Tidy.
3808         (thumb_cmpneg_operand): New function.
3809         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3810         for size.
3811         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3812         (PREDICATE_CODES): Add thumb_cmpneg_operand.
3813         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
3814         with a negative constant.
3815         (cbranchsi4_insn): Matcher for cbranchsi4.
3816         (cbranchsi4_scratch): Similar, but a scratch is available for
3817         handling negative constants.
3818         (movsi_cbranchsi4): New pattern.
3819         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3820         and use the TST instruction.
3821         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3822         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3823         cannot see high regs or memory alternatives.
3824         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3825
3826 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3827
3828         * arm.c (note_invalid_constants): Try to extract the constant
3829         pool value using avoid_constant_pool_reference; only use
3830         get_pool_constant if that returns the original reference.
3831
3832 2003-10-24  Jan Hubicka  <jh@suse.cz>
3833
3834         PR c++/12624
3835         * varasm.c (notice_global_symbol): Disqualify global registers.
3836
3837 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3838
3839         PR middle-end/11414
3840         * loop.c (load_mems): Use redirect_jump to forward jumps from
3841         the original loop end label to the new "loop sink" block's label.
3842
3843 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3844
3845         PR middle-end/12705
3846         * optabs.c (expand_binop): When expanding complex operations
3847         inline, always calculate result into a new temporary register.
3848         Minor code clean-ups.
3849
3850 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3851
3852         * objc/lang-specs.h: Handle -print-objc-runtime-info.
3853         * doc/invoke.texi (Objective-C Dialect Options): Document it.
3854
3855 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
3856
3857         * config/i386/cygwin.asm: Add copyright notice. Add comment
3858         on why this code is needed.
3859
3860 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
3861
3862         * config/h8300/clzhi2.c: Fix warnings.
3863         * config/h8300/ctzhi2.c: Likewise.
3864         * config/h8300/fixunssfsi.c: Likewise.
3865         * config/h8300/parityhi2.c: Likewise.
3866         * config/h8300/popcounthi2.c: Likewise.
3867
3868 2003-10-23  James E Wilson  <wilson@specifixinc.com>
3869
3870         * gcc.c (option_map): Delete --target and --use-version.
3871
3872 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
3873             David Edelsohn  <edelsohn@gnu.org>
3874
3875         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
3876         TARGET_POWREPC64.
3877         (UNITS_PER_GPR_WORD): Define.
3878         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
3879         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3880         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
3881         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
3882         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
3883         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
3884         (rs6000_emit_prologue): Select reg_mode and reg_size using
3885         TARGET_32BIT, not TARGET_POWERPC64.
3886         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
3887         ABI / 64-bit computation mode
3888
3889 2003-10-22  Andrew Haley  <aph@redhat.com>
3890
3891         * toplev.c (output_file_directive): Allow for null input_name.
3892
3893 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
3894
3895         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
3896
3897 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
3898
3899         * configure.in: In --enable-generated-files-in-srcdir option
3900         handling, fix default case handling.
3901         * configure: Regenerate.
3902
3903 2003-10-22  Phil Edwards  <phil@codesourcery.com>
3904
3905         * config.gcc:  Update *-*-vxworks* generic hook and comments.
3906         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
3907         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
3908         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
3909         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
3910         * config/windiss.h:  New file.
3911         * config/arm/t-vxworks:  New file.
3912         * config/arm/vxworks.h:  New file.
3913         * config/i386/t-vxworks:  New file.
3914         * config/i386/vxworks.h:  New file.
3915         * config/mips/t-vxworks:  New file.
3916         * config/mips/vxworks.h:  New file.
3917         * config/mips/windiss.h:  New file.
3918         * config/sh/t-vxworks:  New file.
3919         * config/sh/vxworks.h:  New file.
3920
3921 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3922
3923         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
3924         (h8300_saveall_function_p): New.
3925         (h8300_insert_attributes): Insert the saveall attribute if
3926         #pragma saveall is specified.
3927         (h8300_attribute_table): Add saveall.
3928         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3929         * doc/extend.texi: Mention the saveall attribute.
3930
3931 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
3932
3933         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
3934         deprecation of casts as lvalues.
3935         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
3936         * fixinc/fixincl.x: Regenerate.
3937         * fixinc/tests/base/obstack.h: New test.
3938
3939 2003-10-22  Andreas Schwab  <schwab@suse.de>
3940
3941         PR target/12676
3942         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
3943         LP64 platforms.
3944
3945 2003-10-22  Jan Hubicka  <jh@suse.cz>
3946
3947         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
3948         presence of DW_AT_inline.
3949         (gen_subprogram_die): Likewise; do not abort instead of emitting
3950         DW_AT_not_inline.
3951
3952 2003-10-22  Jan Hubicka  <jh@suse.cz>
3953
3954         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
3955         global info is not ready.
3956
3957 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3958
3959         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
3960
3961 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3962
3963         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
3964         ("*movstr_short"): ... into this insn pattern.
3965         ("movstr_short"): New expander.
3966         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
3967         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
3968         ("movstr_long"): New expander.
3969         ("clrstr_short_64", "clrstr_short_31"): Merge ...
3970         ("*clrstr_short"): ... into this insn pattern.
3971         ("clrstr_short"): New expander.
3972         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
3973         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
3974         ("clrstr_long"): New expander.
3975         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
3976         ("*cmpmem_short"): ... into this insn pattern.
3977         ("cmpmem_short"): New expander.
3978         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
3979         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
3980         ("cmpmem_long"): New expander.
3981         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
3982         (s390_expand_clrstr): Likewise.
3983         (s390_expand_cmpmem): Likewise.
3984
3985 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
3986
3987         * c-pch.c (struct c_pch_validity): Add pch_init field.
3988         (pch_init): Set it.
3989         (c_common_valid_pch): Check it.
3990
3991 2003-10-22  David Taylor <dtaylor@emc.com>
3992
3993         PR debug/12500
3994         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
3995
3996 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3997
3998         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
3999         alpha_return_in_memory if no VALTYPE specified.
4000
4001 2003-10-22  Jan Hubicka  <jh@suse.cz>
4002
4003         PR debug/12389
4004         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
4005         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
4006         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
4007         (cgraph_global_info): Add flag inlined
4008         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
4009         cgraph_function_possibly_inded_p
4010         * cgraphunit.c (mark_inline): Set inlined flag.
4011         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
4012         only for possibly inlined functions.
4013         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
4014         body of function.
4015
4016 2003-10-22  Andrew Haley  <aph@redhat.com>
4017
4018         * varasm.c (output_constructor): Make constructor annotation
4019         conditional on ASM_COMMENT_START.
4020
4021 2003-10-21  Jason Merrill  <jason@redhat.com>
4022
4023         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
4024         (get_narrower): Likewise.
4025
4026         * stor-layout.c (layout_decl): Do packed field alignment for
4027         bit-fields, too.
4028
4029 2003-10-21  Eric Christopher  <echristo@redhat.com>
4030
4031         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
4032
4033 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
4034
4035         * c-pch.c: Add comments in various places.
4036         (struct c_pch_validity): Add the lengths of various strings.
4037         (host_machine): New static.
4038         (target_machine): New static.
4039         (get_ident): Bump version number.
4040         (pch_init): Write out version, host, target validity data.
4041         (c_common_valid_pch): Check version, host, target.
4042         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
4043         TARGET_MACHINE.
4044
4045 2003-10-21  Jason Merrill  <jason@redhat.com>
4046
4047         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
4048         (EXPR_P): New macro.
4049
4050 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
4051
4052         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
4053         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
4054         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
4055         DImode.   Use convert_move to load ar.ccv.
4056         (ia64_expand_compare_and_swap): Likewise.
4057         If expand_expr doesn't put 'old' and 'new' in the proper
4058         modes, run them through convert_to_mode.
4059
4060 2003-10-21  Eric Christopher  <echristo@redhat.com>
4061
4062         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
4063         for too large bitfields.
4064
4065 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
4066
4067         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
4068
4069 2003-10-21  Andrew Haley  <aph@redhat.com>
4070
4071         * varasm.c (output_constructor): Annotate constructor.
4072
4073 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
4074
4075         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
4076         on existence of destination file.
4077
4078 2003-10-21  Jan Hubicka  <jh@suse.cz>
4079
4080         * haifa-sched.c (choose_ready): Initialize index.
4081
4082 2003-10-21  Jason Merrill  <jason@redhat.com>
4083
4084         * tree.c (build1): Fix off-by-one error.
4085
4086 2003-10-21  Robert Millan  <robertmh@gnu.org>
4087
4088         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
4089         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
4090         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
4091         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
4092
4093 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
4094
4095         * web.c: Fix various comments.
4096
4097 2003-10-20  Nicolas Pitre <nico@cam.org>
4098
4099         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
4100         to 2 instead of 1 when optimize_size is true.  Gather code based on
4101         optimize_size together.  Add comment about XScale load latency.
4102
4103 2003-10-21  Gunther Nikl  <gni@gecko.de>
4104
4105         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
4106         obsolete comments.
4107
4108 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
4109
4110         * Makefile.in: Get parsedir and docobjdir from configure.
4111         * configure.in: Recogonize --enable-generated-files-in-srcdir.
4112         Pass along parsedir and docobjdir.
4113         * configure: Regenerate.
4114         * doc/install.texi: Document --enable-generated-files-in-srcdir.
4115
4116 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
4117
4118         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
4119         included.
4120
4121 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4122
4123         * c-common.c (expand_tree_builtin): Ensure creal and cimag
4124         functions do not return lvalues.
4125
4126 2003-10-20  Jason Merrill  <jason@redhat.com>
4127
4128         PR c/12553
4129         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
4130         appropriately.
4131
4132         PR c/11446
4133         * stor-layout.c (layout_decl): Fix alignment handling.
4134
4135 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4136
4137         * doc/extend.texi: Deprecate casts as lvalues.
4138
4139 2003-10-20  Jan Hubicka  <jh@suse.cz>
4140
4141         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
4142
4143         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
4144         with functions implicitly made inline.
4145
4146         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
4147         (cgraph_finalize_function): Use it.
4148         (cgraph_mark_inline): Allow incrmental decisions
4149         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
4150         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
4151         * tree-inline.c (limits_allow_inlining): Kill.
4152         (expand_call_inline): Always use unit-at-a-time path.
4153
4154 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4155
4156         * fixinc/inclhack.def (hpux11_snprintf): New edit.
4157         * fixinc/fixincl.x: Regenerate.
4158         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
4159
4160 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
4161
4162         * Makefile.in (install-info): Simplify.
4163         ($(DESTDIR)$(infodir)/%.info): New rule.
4164         * configure.in (target_list): Remove install-info.
4165         * doc/.cvsignore (gcc.info*): Remove.
4166         (gccint.info*): Likewise.
4167         (gccinstall.info*): Likewise.
4168         (cpp.info*): Likewise.
4169         (cppinternals.info*): Likewise.
4170         (*.info*): Add it.
4171         * doc/sourcebuild.texi: Update description of install-info.
4172         * objc/Make-lang.in (objc.install-info): Remove.
4173
4174 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4175
4176         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
4177         Use it in _MIPS_SIM definition.
4178         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
4179
4180 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4181
4182         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
4183         virtual register, but only if file == asm_out_file.
4184         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
4185         for ARG_POINTER_REGNUM.
4186
4187 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
4188
4189         * c-common.c (registered_builtin_types): New static.
4190         (c_common_type_for_mode): Consult registered_builtin_types.
4191         (c_register_builtin_type): Add type to registered_builtin_types.
4192         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
4193         all MODE_FLOAT modes, not just the ones corresponding to
4194         float_type_node, double_type_node, and long_double_type_node.
4195
4196 2003-10-20  Richard Henderson  <rth@redhat.com>
4197
4198         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
4199         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
4200
4201 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
4202
4203         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
4204         support new flag -minsert-sched-nops.
4205         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
4206         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
4207         support new flag -minsert-sched-nops.
4208         (is_cracked_insn, is_microcoded_insn): New functions.
4209         (rs6000_sched_finish): New function.
4210         (rs6000_issue_rate): Return 5 for power4.
4211         (get_next_active_insn, insn_terminates_group_p): New
4212         functions.
4213         (is_costly_group, force_new_group): New functions.
4214         (redefine_groups, pad_groups): New functions.
4215         (rs6000_variable_issue): Use new functions.
4216         * doc/invoke.texi (-minsert-sched-nops): Document new
4217         option.
4218
4219 2003-10-20  David S. Miller  <davem@redhat.com>
4220
4221         * config/sparc/sparc.md (type attribute): Add new insn types
4222         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
4223         (patterns emitting VIS insns): Use them.
4224         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
4225         * config/sparc/ultra3.md: Likewise.
4226
4227 2003-10-20  Falk Hueffner  <falk@debian.org>
4228
4229         PR target/12654
4230         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
4231         comparison against constant by adjusting the argument except for
4232         EQ and NE.
4233
4234 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
4235
4236         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
4237         arm1136jfs, and armv6j.
4238         * config/arm/arm.c (FL_ARCH6J): New macro.
4239         (FL_VFPV2): Likewise.
4240         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
4241         and arm1136jfs.
4242         (all_architectures): Add entry for armv6j.
4243         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
4244         arm1136js, and arm1136jfs.
4245         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
4246         (TARGET_CPU_arm1026ej_s): Likewise.
4247         (TARGET_CPU_arm1136j_s): Likewise.
4248         (TARGET_CPU_arm1136jf_s): Likewise.
4249         * doc/invoke.texi: Document new ARM cores and architecture
4250         variants.
4251
4252 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4253
4254         * Makefile.in (toplev.o): Add value-prof.h dependency.
4255         (value-prof.o): Add REGS_H dependency.
4256         * common.opt (fprofile-values, fvpt): New.
4257         * flags.h (flag_value_profile_transformations): Declare.
4258         * opts.c (common_handle_option): Handle -fprofile_values and
4259         -fvpt.
4260         * profile.c (branch_prob): Don't remove death notes here.
4261         * timevar.def (TV_VPT): New.
4262         * value-prof.c: Include regs.h.
4263         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
4264         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
4265         mod_subtract_transform, value_profile_transformations): New.
4266         (insn_values_to_profile): Call insn_divmod_values_to_profile.
4267         (find_values_to_profile): Add dumps.
4268         * value-prof.h (value_profile_transformations): Declare.
4269         * toplev.c: Include value-prof.h.
4270         (rest_of_handle_value_profile_transformations): New.
4271         (enum dump_file_index): Add DFI_vpt.
4272         (dump_file): Add vpt dump.
4273         (flag_value_profile_transformations): New.
4274         (lang_independent_options): Add flag_profile_values and
4275         flag_value_profile_transformations.
4276         (rest_of_compilation): Call
4277         rest_of_handle_value_profile_transformations.
4278         (process_options): Let -fvpt imply -fprofile-values.
4279         * doc/invoke.texi (-fvpt): Document.
4280
4281 2003-10-19  Jan Hubicka  <jh@suse.cz>
4282
4283         * i386.c (print_reg): Do not abort on certain registers.
4284
4285         PR optimization/12612
4286         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
4287         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
4288         match_scratch; avoid bogus paralles.
4289
4290         PR target/12674
4291         * i386.c (ix86_function_regparm): Disable implicit register passing
4292         conventions when profiling.
4293
4294 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4295             Richard Henderson  <rth@redhat.com>
4296
4297         PR optimization/8178
4298         * config/i386/i386.md (*movsi_zero): Delete.
4299         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
4300
4301 2003-10-19  Richard Henderson  <rth@redhat.com>
4302
4303         * config/alpha/alpha.c (fix_operator): New.
4304         (divmod_operator): Tidy.
4305         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
4306         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
4307         (PREDICATE_CODES): Update.
4308         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
4309         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
4310         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
4311         (fix_truncsfdi_ieee): Likewise.
4312         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
4313         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
4314         * config/alpha/alpha-protos.h: Update.
4315
4316 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
4317
4318         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
4319         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
4320         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
4321         constant operands.
4322
4323 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
4324
4325         * doc/extend.texi: Fix typos.
4326         * doc/invoke.texi: Likewise.
4327
4328 2003-10-18  Nicolas Pitre <nico@cam.org>
4329
4330         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
4331         XScale optimizations not arm_arch_xscale.
4332         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
4333
4334 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
4335
4336         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
4337         * config/s390/s390.c (shift_count_operand): New function.
4338         (s390_extra_constraint): Use it to implement 'Y' constraint.
4339         (print_shift_count_operand): New function.
4340         (print_operand): Use it to implement '%Y'.
4341         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
4342         (PREDICATE_CODES): Add shift_count_operand.
4343         * config/s390/s390.md ("rotldi3"): Merge alternatives,
4344         using "shift_count_operand" predicate and "Y" constraint,
4345         and "%Y" to output the combined shift count.
4346         ("rotlsi3"): Likewise.
4347         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
4348         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
4349         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
4350         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
4351         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
4352         ("lshrsi3"): Likewise.
4353
4354 2003-10-18  Gunther Nikl  <gni@gecko.de>
4355
4356         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
4357         argument to asm_fprintf statement.
4358
4359 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
4360
4361         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
4362         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
4363         a "long long" argument.
4364
4365 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
4366
4367         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
4368         as well.
4369
4370 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
4371
4372         * rtl.h (rtl_size): Declare.
4373         (rtunion): Remove rtwint.
4374         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
4375         (RTX_HDR_SIZE, RTX_SIZE): New macros.
4376         (RTL_CHECK1): Adjust for new rtx_def layout.
4377         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
4378         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
4379         (X0WINT): Remove.
4380         (X0ANY): New macro.
4381         * rtl.def: Adjust comments for new rtx_def layout.
4382         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
4383         number of slots.
4384         * rtl.c (rtx_size): New array.
4385         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
4386         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
4387         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
4388         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
4389         * emit-rtl.c (copy_most_rtx): Likewise.
4390         (copy_rtx_if_shared): Use RTX_SIZE.
4391         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
4392         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
4393         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
4394         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
4395         an array.  Adjust output for new rtx_def layout.
4396         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
4397         * reload1.c (eliminate_regs): Use RTX_SIZE.
4398         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
4399         * gdbinit.in (pi): Likewise.
4400
4401 2003-10-18  Jan Hubicka  <jh@suse.cz>
4402
4403         * integrate.c (copy_decl_for_inlining): Revert previous patch.
4404
4405 2003-10-18  Jan Hubicka  <jh@suse.cz>
4406
4407         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
4408
4409 2003-10-18  Roger Sayle  <roger@eyesopen.com>
4410
4411         * libgcc.texi: Group multi-word types, such as "long double" and
4412         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
4413         Document __unord?f2 as returning a non-zero value, not just one.
4414
4415 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
4416
4417         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
4418         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
4419
4420 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4421
4422         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
4423         match_operand.
4424
4425 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4426
4427         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
4428         parameter packed_p.  Search for a DECL_PACKED field only if
4429         packed_p is false.  Pass packed_p recursively.
4430         (function_arg_record_value_2): Likewise.
4431         (function_arg_record_value): Update calls to
4432         function_arg_record_value_1 and function_arg_record_value_2.
4433
4434 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4435
4436         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
4437         was successfully forced to memory before using the result.
4438
4439 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4440
4441         PR optimization/8178
4442         * config/i386/i386.md (*movsi_zero): New insn to set
4443         a register to zero on TARGET_USE_MOV0 targets.
4444
4445 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
4446
4447         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
4448         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
4449
4450 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
4451
4452         * doc/invoke.texi (gcse-las): Fix typo.
4453
4454 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
4455
4456         * doc/install.texi: Remove first part of the sentence for
4457         zsh not working.  Change gcc to GCC.
4458
4459         PR bootstrap/12546
4460         * doc/install.texi: Document that zsh does not work when
4461         configuring gcc.
4462
4463 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
4464
4465         * config/ptx4.h: Switch to DWARF 2; update comments.
4466
4467 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
4468             Hartmut Penner  <hpenner@de.ibm.com>
4469
4470         PR 10404, partial 11591, partial 11601
4471         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
4472         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
4473         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
4474         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
4475         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
4476         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
4477         (altivec_expand_stv_builtin): Adjust for the memory_operand.
4478         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
4479         (altivec_init_builtins): Use `long int' for memory offsets.
4480
4481 2003-10-17  Jan Hubicka  <jh@suse.cz>
4482
4483         * opts.c  (common_handle_option): Handle OPT_fweb
4484         * invoke.texi (-fweb): Add missing parts of documentation.
4485
4486 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4487
4488         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
4489         before redefinition.
4490
4491 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
4492
4493         * common.opt: Add description of the new -fgcse-las flag.
4494         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
4495         * gcse.c (hash_scan_set): Handle the case of store expression and
4496         insert the memory expression to the hash table, this way we make it
4497         possible to discover redundant loads after stores and remove them.
4498         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
4499         to pre_insert_copies, it is not the correct place to call it after
4500         adding stores to be in the available expression hash table.
4501         (pre_insert_copies): Added the call to update_ld_motion_stores when
4502         one or more copies were inserted.
4503         * opts.c (common_handle_option): Handle the -fgcse-las flag.
4504         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
4505
4506         * doc/invoke.tex: Document new -fgcse-las flag.
4507
4508 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
4509
4510         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
4511         for posterity, then remove it.
4512
4513 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
4514             Nathan Sidwell  <nathan@codesourcery.com>
4515
4516         * config/arm/arm.c (use_return_insn): Not a single instruction, if
4517         there's a frame pointer.
4518         (arm_output_epilogue): Protect stack pointer from being corrupted
4519         on interrupt.
4520
4521 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
4522
4523         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
4524
4525 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
4526
4527         * combine.c (simplify_set): Do not clear out undobuf.other_insn
4528         already set elsewhere.
4529
4530 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
4531
4532         * config/i386/i386.c (ix86_expand_prologue):  Use
4533         gen_allocate_stack_worker.
4534
4535 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4536
4537         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
4538         without gas.
4539         (mips-sgi-irix6*): Likewise.
4540
4541         * config/mips/iris6gas.h: New file.
4542         * gcc/config.gcc (mips-sgi-irix6*): Use it.
4543
4544         * config/mips/mips.h (TARGET_IRIX): Provide default.
4545         (TARGET_IRIX5): Likewise.
4546         (TARGET_SGI_O32_AS): Likewise.
4547         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
4548         (TARGET_IRIX5): Likewise.
4549         * config/mips/iris6.h (TARGET_IRIX6): Remove.
4550         (TARGET_IRIX5): Redefine as 0.
4551
4552         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
4553         linker workaround with TARGET_IRIX and mips_abi instead of
4554         ASM_OUTPUT_UNDEF_FUNCTION.
4555         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
4556         testing TARGET_IRIX and mips_abi explicitly.
4557         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
4558         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
4559
4560         * config/mips/mips.c (irix_output_external_libcall): Renamed from
4561         mips_output_external_libcall.
4562         Use new TARGET_IRIX in guard.
4563         * config/mips/mips-protos.h (irix_output_external_libcall): Match
4564         this.
4565         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
4566
4567         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
4568         Define as 0.
4569
4570         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
4571         depending on mips_abi.
4572         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
4573         * config/mips/mips.c (mips_output_function_prologue): Test
4574         FUNCTION_NAME_ALREADY_DECLARED at runtime.
4575         (mips_output_function_epilogue): Likewise.
4576         (build_mips16_function_stub): Likewise.
4577         (build_mips16_call_stub): Likewise.
4578         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
4579         default.
4580
4581         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
4582         IRIX 6 O32 assembler.
4583         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
4584         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
4585         _MIPS_SIM for O32 ABI.
4586         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
4587         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
4588         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
4589         Integrate O32 version.
4590         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
4591         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
4592         O32 ABI.
4593         (BSS_SECTION_ASM_OP_32): Define.
4594         (BSS_SECTION_ASM_OP_64): Likewise.
4595         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
4596         using them.
4597         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
4598         Move up to allow override for O32 ABI without GNU as.
4599         (EH_FRAME_SECTION_NAME): Define explicitly.
4600         (MUST_USE_SJLJ_EXCEPTIONS): Define.
4601         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
4602         DTORS_SECTION_ASM_OP): Dummy definitions.
4603         (TARGET_ASM_NAMED_SECTION): Undef statically.
4604         (EH_FRAME_SECTION_NAME): Likewise.
4605         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
4606         (LINK_SPEC): Only use default options -call_shared -no_unresolved
4607         without -r.
4608         Don't pass -init, -fini with -mabi=32.
4609         (COLLECT_PARSE_FLAG): Define.
4610
4611         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
4612         TARGET_IRIX.
4613         Renamed to use irix_ prefix.
4614         (iris6_asm_named_section): Likewise.
4615         (iris_section_align_entry_eq): Likewise.
4616         (iris_section_align_entry_hash): Likewise.
4617         (iris6_file_start): Likewise.
4618         (iris6_section_align_1): Likewise.
4619         (iris6_file_end): Likewise.
4620         (iris6_section_type_flags): Likewise.
4621         (iris_section_align_htab): Likewise.
4622         (iris_orig_asm_out_file): Likewise.
4623         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
4624         (TARGET_ASM_FILE_END): Likewise.
4625         (TARGET_SECTION_TYPE_FLAGS): Likewise.
4626
4627         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
4628         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
4629         override_options instead.
4630         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
4631         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
4632         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
4633         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
4634         assemblers.
4635         Likewise for constructor/destructor handling.
4636         (override_options): Handle IRIX O32 assembler quirks.
4637         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
4638         without gas.
4639         (mips_file_start): Use new TARGET_IRIX.
4640         (mips_declare_object_name): No special processing for IRIX O32
4641         assembler.
4642         (mips_finish_declare_object): Likewise.
4643         (irix_asm_output_align): Renamed from iris6_asm_output_align.
4644         Don't record alignment for O32 ABI.
4645         (irix_file_start): Renamed from iris6_file_start.
4646         Return early for O32 ABI.
4647         (irix_file_end): Renamed from iris6_file_end.
4648         Don't emit .section directives for O32 ABI.
4649         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
4650         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
4651
4652         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
4653         (MULTILIB_OSDIRNAMES): Likewise.
4654
4655 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4656
4657         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
4658         (main): Use it.
4659         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
4660
4661 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
4662
4663         * arm-modes.def (CC_Nmode): New condition code mode.
4664         * arm.c (thumb_condition_code): Delete.
4665         (arm_select_cc_mode): Handle single-bit test for Thumb.
4666         (arm_print_operand, cases 'd' and 'D'): Don't special case the
4667         condition code logic for Thumb.
4668         (get_arm_condition_code): Handle CC_Nmode.
4669         (thumb_cbrch_target_operand): New function.
4670         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
4671         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
4672         * arm.md: Add Thumb split patterns for zero_extract and
4673         sign_extract.
4674         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
4675         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
4676         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
4677         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4678         (cbranchne_decr1): Re-work to use CC_Nmode.
4679
4680         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
4681         by the return instruction.  Add a use of the link register if it
4682         wasn't stored.
4683
4684 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
4685
4686         * flow.c (init_propagate_block_info): Don't abort if a conditional
4687         jump is not a comparison of a register.  Instead, just don't record
4688         conditional life information.
4689
4690 2003-10-16  Jan Hubicka  <jh@suse.cz>
4691
4692         PR optimization/12630
4693         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4694         for operands 7 and 8.
4695
4696 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
4697
4698         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4699
4700 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
4701
4702         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4703
4704         * config/i386/winnt.c (gen_stdcall_suffix): Make static
4705         (gen_fastcall_suffix): Likewise.
4706         (i386_pe_dllexport_p): Likewise.
4707         (i386_pe_dllimport_p): Likewise.
4708         (i386_pe_mark_dllexport): Likewise.
4709         (i386_pe_mark_dllimport): Likewise.
4710         (i386_pe_asm_named_section): Fix formatting.
4711
4712 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
4713
4714         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4715         * system.h: Declare snprintf if necessary.
4716         * configure, config.in: Regenerate.
4717
4718 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
4719
4720         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4721         arguments if TARGET_ALTIVEC_ABI.
4722
4723 2003-10-15  Roger Sayle  <roger@eyesopen.com>
4724
4725         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4726         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4727         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4728         New functions.
4729         (expand_builtin_memcpy): Use integer_zerop instead of testing
4730         host_integerp and tree_low_cst directly.  Move misapplied hunk
4731         for optimization wher SRC and DEST point to the same location.
4732         (expand_builtin_mempcpy): From here.
4733         (expand_builtin_memmove): Use integer_zerop instead of testing
4734         host_integerp and tree_low_cst_directly.
4735         (expand_builtin_memset): Likewise.
4736         (expand_builtin_memcmp): Likewise (and for integer_onep).
4737         (expand_builtin_strncmp): Likewise.
4738         (fold_builtin): Call the appropriate fold_builtin_foo functions
4739         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4740         strcmp and strncmp.
4741
4742 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
4743
4744         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4745         prototype.  Clean up some whitespace.
4746         * config/darwin.c: Use gen_rtx_FOO (...) rather than
4747         gen_rtx (FOO, ...).
4748         (machopic_non_lazy_ptr_name): Make static.
4749         (name_needs_quotes): Allow '.' and '$' unquoted.
4750         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4751         case.
4752
4753 2003-10-15  Gábor Lóki  <alga@rgai.hu>
4754
4755         * fold-const.c (tree_swap_operands_p): Disable some features
4756         when optimizing for size.
4757
4758 2003-10-15  David Daney  <ddaney@avtrex.com>
4759
4760         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
4761         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
4762         from leaf functions.
4763         (DWARF_FRAME_RETURN_COLUMN): Ditto.
4764         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
4765         by MD_FALLBACK_FRAME_STATE_FOR.
4766         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
4767
4768 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
4769
4770         * genmodes.c: Include hashtab.h.
4771         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
4772         (adj_bytesize, adj_alignment, adj_format, new_adjust)
4773         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
4774         (print_maybe_const_decl, emit_mode_adjustments): New.
4775         (known_modes): Rename to modes.
4776         (find_mode): Kill class argument; look up in hash table.
4777         (new_mode): Insert into hash table also.
4778         (new_adjust): New.
4779         (reset_float_format, make_partial_integer_mode)
4780         (make_vector_mode): Tweak error reporting.
4781         (reset_float_format): Correct type of fourth argument.
4782         (emit_insn_modes_h): Add #defines to help make mode_size,
4783         mode_base_align, and real_format_for_mode conditionally const.
4784         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
4785         (emit_real_format_for_mode): Likewise, but temporarily disabled.
4786         (emit_insn_modes_c): Call emit_mode_adjustments.
4787         (main): Initialize modes_by_name.
4788         * Makefile.in: Update dependencies.
4789         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
4790         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
4791         declarations of mode_size and mode_base_align.  Declare
4792         init_adjust_machine_modes.
4793         * toplev.c (backend_init): Call init_adjust_machine_modes.
4794
4795 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
4796
4797         * genmodes.c (calc_wider_mode): Allocate enough room for all the
4798         entries we'll possibly assign in the sort buffer.
4799
4800 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4801
4802         * config.gcc (s390x-ibm-tpf*): New target.
4803         * doc/install.texi: Document it.
4804         * config/s390/t-tpf: New file.
4805         * config/s390/tpf.h: New file.
4806
4807 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
4808
4809         PR target/12598
4810         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
4811         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
4812         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
4813         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
4814         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
4815         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
4816         replace_equiv_address, not gen_rtx_MEM.
4817         * config/cris/cris.c (cris_mem_op): New match_operator function.
4818         (cris_notice_update_cc): Use replace_equiv_address, not
4819         gen_rtx_MEM.
4820         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
4821
4822 2003-10-15  Bernardo Innocenti <bernie@develer.com>
4823
4824         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
4825         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
4826         definitions after the other flags.
4827
4828 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
4829
4830         * c-parse.in (methoddef, methodproto): Call objc_add_method()
4831         instead of add_method().
4832         * objc/objc-act.c (objc_check_decl): Do not check for
4833         constant_string_type.
4834         (add_method): Rename to objc_add_method().
4835         (really_start_method): Call objc_add_method() instead of
4836         add_method().
4837         * objc/objc-act.h (add_method): Rename to objc_add_method().
4838
4839 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
4840
4841         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
4842         (s390_slb_comparison): Likewise.
4843         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
4844         New functions.
4845         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
4846         and s390_slb_comparison.
4847         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
4848         zSeries machines.
4849         ("*adddi3_31z", "*subdi3_31z"): New insns.
4850         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
4851         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
4852         New insns.
4853
4854 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4855
4856         * configure.in: Clean up some feedback echoes.
4857         * configure: Regenerate.
4858
4859         * aclocal.m4: Properly quote names of macros being defined.
4860
4861         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
4862
4863 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
4864
4865         * config/ia64/ia64.c (ia64_expand_call): Force function address
4866         to DImode.
4867         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
4868
4869 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
4870
4871         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
4872         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
4873         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
4874         "*divsf3_ibm"): Likewise.
4875
4876 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4877
4878         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
4879         target_alias with target_noncanonical.
4880
4881 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
4882
4883         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
4884         and add case for machines where outgoing register parameters
4885         get stack space.
4886
4887         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
4888         register when generating indirect address.
4889
4890 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
4891
4892         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
4893         * arm.md (cbranchne_decr1): Fix bootstrap warning.
4894
4895 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4896
4897         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
4898         * fixinc/fixincl.x: Regenerate.
4899         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
4900         testcase.
4901         Fixes PR bootstrap/9330.
4902
4903 2003-10-13  Eric Christopher  <echristo@redhat.com>
4904
4905         * config/frv/frv.c (frv_adjust_field_align): Redo check for
4906         too wide bitfields.
4907         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
4908         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
4909         (SBSS_SECTION_ASM_OP): Remove.
4910         (EXTRA_SECTIONS): Remove in_sbss.
4911         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
4912         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
4913         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
4914         named_section.
4915
4916 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
4917
4918         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
4919         uses of ${target_alias} for directory names (and other places which
4920         won't like the empty string) with ${target_noncanonical}.  Introduce
4921         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
4922         available.
4923         * configure: Regenerate.
4924
4925 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
4926
4927         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
4928         * config/arm/arm.md: For splits which rely on conditional moves,
4929         remove ! TARGET_IWMMXT condition.
4930
4931 2003-10-13  David S. Miller  <davem@redhat.com>
4932
4933         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
4934         (find_cond_trap): Always increment if we emit a conditional
4935         trap insn.
4936
4937 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
4938
4939         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
4940         with min-insn-modes.o.
4941         (STAGESTUFF): Add min-insn-modes.c.
4942         (genobjs): Add genmodes.o.
4943         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
4944         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
4945         (min-insn-modes.c, min-insn-modes.o): New rules.
4946         (s-modes): Also generate min-insn-modes.c.
4947         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
4948         * genmodes.c (struct mode_data): Add format field.
4949         (blank_mode, validate_mode, complete_mode): Update to match.
4950         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
4951         (_SCALAR_MODE): Kill.
4952         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
4953         (emit_insn_modes_c_header): Adjust.
4954         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
4955         (emit_min_insn_modes_c): New functions.
4956         (emit_insn_modes_c): Call emit_real_format_for_mode.
4957         (main): Add -m option to generate min-insn-modes.c.
4958         * machmode.h: Update documentation.  Add format argument to
4959         all uses of FLOAT_MODE.
4960         * real.c: Don't define real_format_for_mode here.
4961
4962         * dwarfout.c: Move default definition of PRINT_REG...
4963         * defaults.h: ...here.
4964         * print-rtl.c: Include tm_p.h.
4965         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
4966         Kill.
4967         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
4968         this entire block with #ifndef GENERATOR_FILE.
4969         * regclass.c: Unconditionally define reg_names.
4970         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
4971         Don't define DEBUG_REGISTER_NAMES.
4972         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
4973         redefinition of REGISTER_NAMES.
4974         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
4975
4976         * combine.c: Change all preprocessor conditionals on
4977         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
4978         for clarity.
4979         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
4980         * configure.in: Don't define EXTRA_CC_MODES.
4981         * configure, config.in: Regenerate.
4982         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
4983
4984         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
4985         May assume that GET_MODE_CLASS is accurate for extra CC modes
4986         at all times.
4987
4988         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
4989         number of arguments to aggregate_value_p.
4990
4991         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
4992         * machmode.def: Explain ARCH-modes.def.  Document
4993         RESET_FLOAT_FORMAT.  Improve commentary on various mode
4994         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
4995         XF, or TF modes here.  Remove backward-compatibility
4996         definition of CC.
4997
4998         * config/alpha/alpha-modes.def: New file; define TF mode.
4999         * config/arc/arm-modes.def: Define XF mode.
5000         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
5001         float format for SF and DF modes.
5002         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
5003         * config/i386/i386-modes.def: Define XF and TF modes.
5004         * config/i960/i960-modes.def: Define TF mode.
5005         * config/ia64/ia64-modes.def: Define TF and OI modes.
5006         * config/m68k/m68k-modes.def: New file; define XF mode.
5007         * config/mips/mips-modes.def: New file; define TF mode, reset
5008         formats for SF and DF modes.
5009         * config/pa/pa-modes.def: Define TF mode.
5010         * config/rs6000/rs6000.c: Define TF and PSI modes.
5011         * config/s390/s390-modes.def: Define OI mode.
5012         * config/sh/sh-modes.def: New file; define PSI mode.
5013         * config/sparc/sparc-modes.def: Define TF mode.
5014         * config/vax/vax-modes.def: New file; reset formats for SF and
5015         DF modes.
5016
5017         * config/c4x/c4x.c (c4x_override_options): No need to mess
5018         with real_format_for_mode or set REAL_MODE_FORMATs.
5019         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
5020         variable.
5021         * config/i386/i386.c (override_options): No need to set
5022         REAL_MODE_FORMATs here.
5023         * config/i960/i960.c (i960_initialize): Likewise.
5024         * config/m68k/m68k.c (m68k_override_options): Likewise.
5025         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
5026         for TFmode only if not the default.
5027         * config/mips/mips.c (override_options): Likewise.
5028         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
5029         DFmode only if not the default.
5030
5031         * config/i370/i370.h (RET_REG): Don't consider TFmode.
5032         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
5033         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
5034         of modes that don't appear anywhere in the machine description.
5035
5036         * config/arc/arc-modes.def, config/arm/arm-modes.def
5037         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
5038         * config/i386/i386-modes.def, config/i960/i960-modes.def
5039         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
5040         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
5041         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
5042         * config/sparc/sparc-modes.def: Convert to new style for
5043         declaring extra CC modes.
5044
5045 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
5046
5047         * cpplex.c (_cpp_clean_line): In the common case of a line
5048         with no trigraphs and no \-newline, avoid writing to memory.
5049         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
5050         of the buffer member.  Make c an uchar to avoid unnecessary
5051         sign extensions.
5052
5053 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
5054
5055         * configure.in: Remove unnecessary test.
5056         * configure: Regenerate.
5057
5058         * configure.in: Fix grammatical error.  Move UWIN host error to...
5059         * config.host: Here.
5060         * configure: Regenerate.
5061
5062 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
5063
5064         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
5065         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
5066         of flag_unsafe_math_optimizations.
5067         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
5068         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
5069         fused-madd and no-fused-madd.
5070         * doc/invoke.texi: Documented the new options fused-madd and
5071         no-fused-madd for S/390.
5072
5073 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
5074
5075         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
5076         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
5077         assign DEFAULT_ABI.
5078         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
5079         * config/rs6000/rs6000.c: Formatting.
5080         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
5081         when rs6000_alignment_string given.
5082
5083 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
5084
5085         PR target/12538
5086         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
5087         (sparc_flat_must_save_register_p): New function to decide whether
5088         a register must be saved/restored in the function prologue/epilogue.
5089         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
5090
5091 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
5092
5093         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
5094         ISO C90 function declarations and definitions.
5095         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
5096
5097 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
5098
5099         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
5100         config files which do the same thing.
5101         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
5102         config/freebsd6.h: Remove now unnecessary files.
5103
5104 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
5105
5106         * c-common.c (c_common_truthvalue_conversion): Warn if the
5107         address of a non-weak function is used as a truth value.
5108
5109 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
5110
5111         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
5112         a literal.
5113         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
5114         instead of a literal.
5115
5116 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
5117
5118         * doc/extend.texi (Function Attributes): Mention the exceptional
5119         path for noreturn-marked functions.
5120
5121 2003-10-12  Jan Hubicka  <jh@suse.cz>
5122
5123         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
5124         warning.
5125
5126 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
5127
5128         * config/i386/i386.c (x86_this_parameter): Fix typo.
5129
5130 203-10-11  Jan Hubicka  <jh@suse.cz>
5131
5132         * Makefile.in (web.o): New.
5133         * web.c: New file.
5134         * rtl.h (web_main): Declare.
5135         * timervar.def (TV_WEB): New.
5136         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
5137         (rest_of_hanle_web): New.
5138         (flag_web): New static variable.
5139         (lang_independent_options): Add "web".
5140         (rest_of_compilation): Call rest_of_handle_web.
5141         * invoke.texi (-fweb): Document.
5142         * common.opt (fweb): New.
5143         * flags.h (flag_web): New.
5144         * opts.c (decode_options): Set flag_web at -O3.
5145
5146         * passes.texi (web construction):  Document.
5147         * invoke.texi (-O3): Document that -fweb is enabled.
5148
5149         * regrename.c (regrename_optimize): Deal better with situation when
5150         replacement failed.
5151
5152         * sched-ebb.c: Include params.h and profile.h
5153         (schedule_ebbs):  Use tracer parameters to discover superblocks
5154         * Makefile.in (sched-ebb.o):  Add dependencies.
5155
5156 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5157
5158         * fold-const.c (negate_mathfn_p): New function to determine whether
5159         a built-in mathematical function is sign preserving, f(-x) == -f(x).
5160         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
5161         (tree_swap_operands_p): Change API to take an additional argument
5162         indicating that the swapped operands evaluate in reverse order.
5163         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
5164         operand side-effects or we don't care about flag_evaluation_order.
5165         (reorder_operands_p): New function to check whether its safe to
5166         evaluate the given operands in reverse order.
5167         (negate_expr_p):  We can always negate integer constants unless
5168         we honor -ftrapv and the signed type would overflow.  Only allow
5169         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
5170         negation of COMPLEX_CST if both real and imaginary parts can be
5171         negated.  Allow negation through floating point extensions and
5172         sign-preserving built-in functions.
5173         (negate_expr):  Move the code to negate integers from "fold" to
5174         here.  Always negate integer constants unless we honor -ftrapv
5175         and the signed type would overflow.  Always negate real constants
5176         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
5177         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
5178         Optimize negation through floating point extensions and
5179         sign-preserving built-in functions (as defined by negate_mathfn_p).
5180         (fold): Adjust calls to tree_swap_operands_p.
5181         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
5182         to negate_expr_p/negate_expr.
5183         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
5184         allowed to convert (-A) - B into (-B) - A.
5185
5186 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5187
5188         * builtins.c (expand_builtin_strcmp): Defend against the possibility
5189         that gen_cmpstrsi may fail: Stabilize the argument list against
5190         re-evaluation and expand the library call directly using this saved
5191         argument list if a cmpstrsi sequence can't be generated.
5192         (expand_builtin_strncmp): Likewise.
5193
5194         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
5195
5196 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5197
5198         PR optimization/12260
5199         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
5200         operations through CONST nodes.  Optimize (neg (plus X C)) as
5201         (minus -C X) for constant values C.
5202         (simplify_binary_operation): Optimize (minus (neg X) C) as
5203         (minus -C X) for constant values C.
5204         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
5205         instead create (minus -C X).
5206
5207 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5208
5209         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
5210         safe_from_p for us, once it chooses an evaluation order.
5211         (expand_expr <MULT_EXPR>): Likewise.
5212         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
5213         places the second operand in "target", swap the operands.
5214         (do_store_flag): Let expand_operands call safe_from_p for us.
5215
5216 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
5217
5218         PR optimization/12544
5219         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
5220         for DECL_NONLOCAL decls.
5221
5222 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5223
5224         * expr.c: Follow spelling conventions.
5225         * final.c: Likewise.
5226         * optabs.c: Likewise.
5227         * sched-deps.c: Likewise.
5228         * sdbout.c: Likewise.
5229
5230 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
5231
5232         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
5233         re-computing of variable.
5234
5235 2003-10-11  Richard Henderson  <rth@redhat.com>
5236
5237         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
5238         return_in_memory, make static, change signature to match target hook.
5239         (alpha_setup_incoming_varargs): Make static, change signature to
5240         match target hook, add code for vms and unicos.
5241         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
5242         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
5243         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
5244         TARGET_STRICT_ARGUMENT_NAMING,
5245         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
5246         * config/alpha/alpha-protos.h: Update.
5247         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
5248         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
5249         SETUP_INCOMING_VARARGS): Remove.
5250         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
5251         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
5252
5253 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
5254
5255         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
5256
5257 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5258
5259         * config/m68k/lb1sf68.asm: Follow spelling conventions.
5260         * config/m68k/m68k.c: Likewise.
5261         * config/m68k/m68k.h: Likewise.
5262         * config/m68k/m68k.md: Likewise.
5263
5264 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5265
5266         * builtins.c (expand_builtin_memcpy): Optimize case when the two
5267         pointer arguments are the equal, non-volatile and side-effect free.
5268         (expand_builtin_mempcpy): Likewise.
5269         (expand_builtin_memmove): Likewise.
5270         (expand_builtin_strcpy): Likewise.
5271         (expand_builtin_memcmp): Likewise.
5272         (expand_builtin_strcmp): Likewise.
5273         (expand_builtin_strncmp): Likewise.
5274
5275 2003-10-11  Roger Sayle  <roger@eyesopen.com>
5276
5277         * combine.c (apply_distributive_law): Enable "distributive" floating
5278         point optimizations with -funsafe-math-optimizations.
5279
5280 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
5281
5282         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
5283
5284 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5285
5286         * config/m68k/m68k-protos.h: Remove the prototype for
5287         finalize_pic.
5288
5289 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
5290
5291         * config/m68k/m68k.c: Fix comment typos.
5292
5293 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5294
5295         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
5296         int to bool.
5297         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
5298         (current_frame): New global var.
5299         (m68k_compute_frame_layout): Cache computations in current_frame.
5300         (m68k_initial_elimination_offset): Use values from current_frame
5301         instead of recomputing them.
5302         (use_return_insn): Likewise.
5303         (m68k_output_function_prologue): Likewise.
5304         (m68k_output_function_epilogue): Likewise.
5305         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
5306         inside the block for __pic__.
5307
5308 2003-10-11  Peter Barada <peter@baradas.org>
5309             Bernardo Innocenti  <bernie@develer.com>
5310
5311         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
5312         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
5313         (m68k_interrupt_function_p): New function.
5314         (m68k_handle_fndecl_attribute): Ditto.
5315         (m68k_compute_frame_layout): Ditto.
5316         (m68k_attribute_table): Define back-end specific attributes.
5317         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
5318         functions.
5319
5320 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5321
5322         * config/m68k/t-uclinux: New target Makefile fragment.
5323         * config/m68k/uclinux.h: New target macro file.
5324         * config.gcc (m68k-*-uclinux): New target definition.
5325
5326 2003-10-10  Roger Sayle  <roger@eyesopen.com>
5327
5328         * builtins.c (builtin_mathfn_code): Generalize to check whether
5329         the call is to any built-in function by comparing the call's
5330         argument list against the builtin decl's function type.
5331
5332 2003-10-10  Roger Sayle  <roger@eyesopen.com>
5333
5334         * cse.c (constant_pool_entries_regcost): New global variable to
5335         hold the register cost component of constant_pool_entries_cost.
5336         (fold_rtx): Calculate constant_pool_entries_regcost at the same
5337         time as constant_pool_entries_cost.
5338         (cse_insn): Set both src_folded_cost and src_folded_regcost from
5339         constant_pool_entries_cost and constant_pool_entries_regcost.
5340         (cse_main): Initialize constant_pool_entries_regcost to zero.
5341
5342         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
5343         the semantics of the sequence of bit operations used to negate
5344         a floating-point value.
5345         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
5346         the semantics of the bit operations used to abs a floating point
5347         value.
5348
5349 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5350             Paul Dale  <pauli@snapgear.com>
5351
5352         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
5353         support.
5354         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
5355         -fpic, -fPIC, -msep-data and -mid-shared-library.
5356         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
5357         (override_options): Add -msep-data and -mshared-library-id support.
5358         (m68k_output_function_prologue): Generate code to load A5 for
5359         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
5360         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
5361         (m68k_output_pic_call): New function.
5362         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
5363         (TARGET_ID_SHARED_LIBRARY): Ditto.
5364         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
5365         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
5366         (call_value): Likewise.
5367
5368 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
5369
5370         * gengenrtl.c (find_formats, genheader): Make i an unsigned
5371         int, remove cast of NUM_RTX_CODE.
5372         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
5373         entire file.  Remove the #ifs on GET_MODE_MASK etc and
5374         GET_MODE_WIDER_MODE etc.
5375
5376 2003-10-10  Eric Christopher  <echristo@redhat.com>
5377
5378         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
5379         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
5380         that set mode.
5381         * config/sh/sh.h (MODE_ENTRY): New macro.
5382         (MODE_EXIT): Ditto.
5383         (MODE_AFTER): Ditto.
5384         * config/sh/sh.md: Change for MODE_AFTER. Add
5385         fp_set attribute.
5386         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
5387
5388 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
5389
5390         * genmodes.c, mode-classes.def: New files.
5391         * machmode.def: Rewritten to genmodes.c interface.
5392         * Makefile.in (extra_modes_file): New substitution variable.
5393         (MACHMODE_H): No longer includes machmode.def or
5394         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
5395         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
5396         (OBJS-common): Add insn-modes.o.
5397         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
5398         genmodes$(build_exeext).
5399         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
5400         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
5401         (s-genrtl): Don't depend on $(RTL_BASE_H).
5402         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
5403         or $(RTL_BASE_H); just rtl.def.
5404         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
5405         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
5406         substitute definition of NUM_RTX_CODE.  Add casts to avoid
5407         warnings.
5408         * machmode.h: Include insn-modes.h, not machmode.def.  Include
5409         mode-classes.def to define enum mode_class.  Tweak definitions
5410         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
5411         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
5412         (inner_mode_array): Renamed mode_inner.
5413         (mode_base_align): New.
5414         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
5415         mode_unit_size, mode_wider_mode, mode_mask_array,
5416         inner_mode_array, class_narrowest_mode): Delete definitions.
5417         * stor-layout.c (get_mode_alignment): Use mode_base_align.
5418         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
5419         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
5420
5421         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
5422         No need to define BITS_PER_UNIT.
5423
5424 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5425
5426         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
5427         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
5428         (ia64_initialize_trampoline): If not using GAS, declare trampoline
5429         as global.
5430         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
5431         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
5432
5433         * stor-layout.c (compute_record_mode): Don't force BLKmode if
5434         field is zero-length BLKmode.
5435         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
5436         zero-size references.
5437
5438         * combine.c (distribute_links): Properly test for REG being set.
5439
5440         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
5441         gen_lowpart and company except for REG.
5442
5443 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5444
5445         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
5446
5447 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
5448
5449         * config.gcc (mips*-*-netbsd*): Remove content-free line.
5450
5451 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5452
5453         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
5454         gcov_position_t and gcov_type.
5455
5456 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
5457
5458         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
5459         * configure: Regenerate.
5460
5461 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
5462
5463         * config/h8300/h8300.md (define_asm_attributes): Specify
5464         the length of an asm insn more precisely.
5465
5466 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5467
5468         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
5469
5470 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
5471
5472         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
5473         FP register number to 48 and MAC16 accumulator to 0x210.
5474
5475 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
5476
5477         * config.gcc: Remove redundant thread_file setting clauses for
5478         various *-*-linux* targets.
5479
5480 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
5481
5482         * config/h8300/h8300.md (define_asm_attributes): New.
5483
5484 2003-10-09  Roger Sayle  <roger@eyesopen.com>
5485
5486         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
5487         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
5488
5489 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
5490
5491         * haifa-sched.c (ok_for_early_schedule): New function.
5492         (early_queue_to_ready): New function.
5493         (schedule_block): Allow early removal of insns from Q.
5494         (schedule_insn): Update INSN_TICK in case of premature
5495         issue.
5496         * common.opt (sched_stalled_insns): New flag.
5497         (sched_stalled_insns_dep): New flag.
5498         * flags.h: Same above flags.
5499         * opts.c: Same as above.
5500         * toplev.c: Same as above.
5501         * target.h (targetm.sched.is_costly_dependence): New
5502         hook.
5503         * target-def.h: Same as above.
5504         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
5505         Support new flag -msched-costly-dep.
5506         (DEFAULT_SCHED_COSTLY_DEP): Define.
5507         * config/rs6000/rs6000.c:
5508         (rs6000_is_costly_dependence): New function.
5509         (is_load_insn, is_store_insn): New functions.
5510         (is_load_insn1, is_store_insn1, is_mem_ref): New
5511         functions.
5512         * doc/invoke.texi (-fsched-stalled-insns-dep)
5513         (-fsched-stalled-insns, -msched-costly-dep): Document
5514         options.
5515         * doc/tm.texi (is_costly_dependence): Define new
5516         scheduler target hook.
5517
5518 2003-10-09  Jason Merrill  <jason@redhat.com>
5519
5520         PR c++/6392
5521         * c-common.c (c_build_qualified_type): Look through arrays first.
5522         (c_apply_type_quals_to_decl): Look through arrays.
5523
5524         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
5525         types with constructors.
5526
5527         * coverage.c (build_ctr_info_value): Use build_decl to make a
5528         VAR_DECL.
5529         (create_coverage): Likewise.
5530
5531         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
5532         here.
5533         (expand_asm_operands): Not here.
5534         (parse_input_constraint): No longer static.
5535         * tree.h: Declare it.
5536
5537 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
5538
5539         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
5540         libgcc_s.so.
5541         (SHLIB_INSTALL): Likewise.
5542
5543 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5544
5545         * doc/install.texi: Remove reference to removed 'pthreads' thread
5546         option.
5547
5548 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
5549
5550         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
5551         operand 2.
5552
5553 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5554
5555         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
5556         up related case statements.
5557         * configure.in: Don't accept --enable-threads=pthreads,
5558         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
5559         supported thread files in case clause.
5560         * configure: Regenerate.
5561
5562 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
5563
5564         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
5565         definition to above SPARC_STACK_BOUNDARY_HACK.
5566
5567 2003-10-08  Jason Merrill  <jason@redhat.com>
5568
5569         * c-pretty-print.c (pp_c_postfix_expression)
5570         <COMPOUND_LITERAL_EXPR>: Fix thinko.
5571
5572 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5573
5574         * mklibgcc.in: Don't hide undefined or typeless symbols.
5575
5576 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5577
5578         PR optimization/12142
5579         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
5580         uses of the register in the SET_SRC.  Remove unnecessary argument.
5581         * pa.c (legitimize_pic_address): Before reload, use a scratch register
5582         for the intermediate result in loading the address of a SYMBOL_REF.
5583         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
5584         which loads the SYMBOL_REF address.
5585
5586 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
5587             Eric Botcazou  <ebotcazou@libertysurf.fr>
5588
5589         PR bootstrap/12490
5590         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
5591         to define the size of the extern_C_braces array.  Set it to 200.
5592         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
5593
5594 2003-10-08  Carlo Wood  <carlo@alinoe.com>
5595
5596         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
5597         a space after the -o option.  flex 2.5.31 understands both, with
5598         and without the space. Removed that space.
5599
5600 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
5601
5602         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
5603         (compute_frame_size): Initialize it.  Remove the .cprestore slot
5604         from args_size.
5605         (mips_output_function_prologue): Simplify accordingly.
5606         (mips_debugger_offset): Change the mips16 frame pointer offset from
5607         current_function_outgoing_args to cfun->machine->frame.args_size.
5608         (mips_initial_elimination_offset): Likewise.
5609         (mips_expand_prologue): Likewise.
5610         (mips_expand_epilogue): Likewise.
5611
5612 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
5613
5614         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
5615         (EXTRA_MEMORY_CONSTRAINT): Define.
5616         (CAN_ELIMINATE): Remove lwu workaround.
5617         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
5618         Use a 'W' constraint for the source operand.
5619
5620 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
5621
5622         * genopinit.c (main): Output code to declare undefined
5623         variables.
5624
5625 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
5626
5627         * gengtype-lex.l: Remove -Wtraditional cruft.
5628         * Makefile.in (gengtype-lex.c): Likewise.
5629
5630 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5631
5632         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
5633
5634 2003-10-07  Jason Merrill  <jason@redhat.com>
5635
5636         PR c++/12519
5637         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
5638         it isn't a decl.
5639
5640 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
5641
5642         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
5643         not overridden.
5644         Fixes PR bootstrap/12173.
5645
5646 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
5647
5648         * errors.c: Don't include coretypes.h or tm.h.
5649         (trim_filename): Use IS_DIR_SEPARATOR.
5650         * Makefile.in: Update dependencies of errors.o and
5651         $(BUILD_PREFIX_1)errors.o.
5652
5653 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
5654
5655         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
5656         account when aligning arguments.
5657         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
5658         * defaults.h (STACK_POINTER_OFFSET): ... to here.
5659         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
5660         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
5661         (SPARC_STACK_BOUNDARY_HACK): Define.
5662         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
5663         arrange for vector parameters to varargs functions to be passed
5664         in both memory and GPRs when appropriate.
5665         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
5666         aligned.
5667
5668         * hooks.c (hook_bool_tree_true): New.
5669         (hook_rtx_tree_int_null): New.
5670         (hook_rtx_rtx_null): Use NULL, not 0.
5671         * hooks.h: Add 'extern' to everything.
5672         (hook_bool_tree_true): New.
5673         (hook_rtx_tree_int_null): New.
5674         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
5675         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
5676         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
5677         prototype.
5678         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
5679         (setup_incoming_varargs): Prototype.
5680         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
5681         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
5682         (TARGET_STRUCT_VALUE_RTX): Define.
5683         (TARGET_RETURN_IN_MEMORY): Define.
5684         (TARGET_SETUP_INCOMING_VARARGS): Define.
5685         (TARGET_STRICT_ARGUMENT_NAMING): Define.
5686         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
5687         (init_cumulative_args): Use rs6000_return_in_memory.
5688         (setup_incoming_varargs): Make 'static'.
5689         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
5690         (PROMOTE_FUNCTION_RETURN): Delete.
5691         (STRUCT_VALUE): Delete.
5692         (RETURN_IN_MEMORY): Delete.
5693         (SETUP_INCOMING_VARARGS): Delete.
5694
5695 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
5696
5697         * doc/invoke.texi (Warning Options): Simplify and clarify the
5698         descriptions of -Wnonnull and -Winit-self.
5699
5700 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
5701
5702         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
5703         indicees for floating-point conversersion libcalls.
5704
5705 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
5706
5707         * Makefile.in: Add more comments separating large conceptually
5708         separate sections.
5709
5710         * configure.in: Clean up thread file logic.
5711         * configure: Regenerate.
5712
5713 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
5714
5715         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
5716         (switch_to_section): Handle in_readonly_data.
5717         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
5718         readonly data.
5719
5720 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
5721
5722         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
5723         it.
5724         (cbranchne_decr1): New Thumb pattern.
5725         * arm.c (arm_addimm_operand): New insn predicate.
5726         * arm-protos.h: Add a prototype for it.
5727         * arm.h (PREDICATE_CODES): Add it.
5728
5729 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
5730
5731         * sched-int.h (sched_info): New field
5732         sched_max_insns_priority.
5733         * sched-rgn.c (init_ready_list): Add invocations to
5734         targetm.sched.adjust_priority.
5735         (sched_max_insns_priority): Init new field.
5736         * sched-ebb.c (sched_max_insns_priority): Init new field.
5737         * haifa-sched.c (set_priorities): Set
5738         sched_info->sched_max_insns_priority.
5739         * config/rs6000/rs6000.h:
5740         (rs6000_sched_restricted_insns_priority_str): Support new
5741         flag -mprioritize-restricted-insns.
5742         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
5743         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
5744         function.
5745         (rs6000_adjust_priority): Change priority of restricted
5746         insns, using above new function and new flag.
5747         * doc/invoke.texi (-mprioritize-restricted-insns): Document
5748         new option.
5749
5750 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
5751
5752         * expr.c (cmpstr_optab, cmpmem_optab): New.
5753         * genopinit.c: Initialize them.
5754         * optabs.h: Declare them.
5755         * optabs.c (init_optabs): Clear them.
5756         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
5757         block memory compare insns, not conditional chains.  Restructure
5758         the fallback generation of a call to memcmp/bcmp for better
5759         readability.
5760
5761 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5762
5763         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
5764         (mips_save_restore_fn): New typedef.
5765         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
5766         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
5767         (save_restore_insns): Remove, replacing with...
5768         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
5769         (mips_save_reg, mips_restore_reg): New function.
5770         (mips_expand_prologue, mips_expand_epilogue): Rework.
5771         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
5772         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
5773         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
5774
5775 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5776
5777         * config/mips/mips.c (mips_expand_prologue): Remove unused
5778         traversal of function arguments.
5779
5780 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5781
5782         * doc/invoke.texi: Remove documentation of -mentry.
5783         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
5784         (override_options, mips_save_reg_p): Remove handling.
5785         (compute_frame_size, mips_output_function_prologue): Likewise.
5786         (mips_expand_prologue, mips_expand_epilogue): Likewise.
5787         * config/mips/mips.h (mips_entry_string): Remove declaration.
5788         (TARGET_OPTIONS): Remove -mentry.
5789         * config/mips/mips16.S: Remove mention of -mentry.
5790
5791 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
5792
5793         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
5794         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
5795         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
5796         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
5797         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
5798         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
5799         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
5800         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
5801         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
5802         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
5803         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
5804         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
5805         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
5806         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
5807         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
5808         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
5809         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
5810         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
5811         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
5812         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
5813         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
5814         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
5815         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
5816         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
5817         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
5818         (fixunstfti_libfunc): Delete.
5819         * optabs.h (struct optab_handlers): Break out of struct optab.
5820         (struct convert_optab, convert_optab, enum convert_optab_index,
5821         convert_optab_table, sext_optab, zext_optab, trunc_optab,
5822         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
5823         sfloat_optab, ufloat_optab): New.
5824         (set_conv_libfunc): Prototype.
5825         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
5826         (trunc_optab): Renamed btrunc_optab.
5827         * builtins.c (expand_builtin_mathfn): Update to match.
5828         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
5829         (convert_optab_table, new_convert_optab, init_convert_optab)
5830         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
5831         (set_conv_libfunc): New.
5832         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
5833         (expand_float, expand_fix): Use new conversion optabs,
5834         not old insn code tables or long chains of ifs.
5835         (init_optabs): No need to clear old insn code tables.
5836         Initialize the new optabs, not the old libfunc array entries.
5837         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5838         * genopinit.c: Initialize conversion optabs, not the
5839         former insn code tables.  Remove unnecessary casts.
5840         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5841         * expr.c (convert_move): Remove redundant check that
5842         to_real==from_real.  Use the conversion optabs instead
5843         of long chains of tests of modes.  Move partial-integer-mode
5844         interconversion above all integer conversion.  Do not recurse
5845         on a value forced into a register in the original mode.
5846
5847         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
5848         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
5849         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
5850         in new conversion optabs; do not reference the old libfunc
5851         array entries.  No need to include libfuncs.h.
5852
5853 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5854
5855         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
5856         point comparison sequence with a REG_EQUAL note that describes
5857         the comparison's semantics.
5858
5859 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5860
5861         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
5862         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
5863
5864 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5865             Zack Weinberg  <zack@codesourcery.com>
5866
5867         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
5868         instruction by using LCT_CONST and then calling emit_libcall_block
5869         ourselves.
5870
5871 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
5872
5873         PR optimization/11974
5874         * optabs.c (expand_unop): Promote libcall outmode according to
5875         hard_libcall_value.
5876
5877 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
5878
5879         * real.h (REAL_MODE_FORMAT): New macro.
5880         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
5881         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
5882         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
5883         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
5884         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
5885         directly to real_format_for_mode array, wherever possible.
5886
5887 2003-10-06  Devang Patel  <dpatel@apple.com>
5888
5889         * dwarf2out.c (is_main_source): Remove variable.
5890         (dwarf2out_start_source_file): Do not check is_main_source.
5891         Do not reset is_main_source.
5892         (dwarf2out_init): Do not initialize is_main_source.
5893
5894 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5895
5896         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
5897         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
5898         introduced some multi-line prototypes.
5899         * fixinc/fixincl.x: Regenerate.
5900
5901 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5902
5903         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
5904         * config/mips/mips.c (stack_operand): New predicate.
5905         * config/mips/mips.md: Use it for the destination of mips16 insns
5906         that store $31.
5907
5908 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5909
5910         * config/mips/mips.md (*lowsi): Renamed from lowsi.
5911         (*lowdi): Likewise lowdi.
5912         (*lowsi_mips16, *lowdi_mips16): New patterns.
5913         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
5914         mips16 CONSTANT_RELOC handling.
5915         (mips_delegitimize_address): Adjust for new sdata representation.
5916
5917 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5918
5919         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
5920         skip any remaining register arguments.
5921
5922 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
5923
5924         * reload.c (find_reloads_subreg_address): Use correct offset for
5925         paradoxical MEM subregs on big-endian targets.
5926
5927 2003-10-06  Andrew Haley  <aph@redhat.com>
5928
5929         * tree.c (get_callee_fndecl): Call
5930         lang_hooks.lang_get_callee_fndecl.
5931         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
5932         (lhd_get_callee_fndecl): New.
5933
5934 2003-10-06  Andrew Pinski  <apinski@apple.com>
5935
5936         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
5937         error in calculating the length of the string.
5938         (machopic_stub_name): Likewise.
5939
5940 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5941
5942         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
5943         describing the return value of the comparison libcall to the
5944         REG_RETVAL instruction of the emitted sequence.
5945
5946 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5947
5948         PR optimization/12215
5949         * cse.c (cse_set_around_loop): Emit the move at the beginning
5950         of the next basic block for trapping sets.
5951
5952 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5953
5954         PR optimization/11637
5955         * combine.c (adjust_for_new_dest): New function to adjust the
5956         notes and LOG_LINKS when the dest of an insn has changed.
5957         (try_combine): Use it when deleting the first insn of a two-insn
5958         parallel or splitting a two-load parallel.
5959
5960 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5961
5962         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
5963         if TARGET_EXPLICIT_RELOCS.
5964
5965 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
5966
5967         PR bootstrap/12512
5968         * Makefile.in (info): Use double-colon rules.
5969         (dvi): Likewise.
5970         (generated-manpages): Likewise.
5971         * configure.in: Do not create lang.info, lang.dvi, or
5972         lang.generated-manpages hooks.
5973         * configure: Regenerated.
5974         * objc/Make-lang.in (objc.info): Remove.
5975         (objc.dvi): Remove.
5976         (objc.generated-manpages): Remove.
5977         * doc/sourcebuild.texi: Update description of info, dvi, and
5978         generated-manpages hooks.
5979
5980 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5981
5982         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
5983
5984 2003-10-05  Andrew Pinski  <apinski@apple.com>
5985
5986         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
5987         errors in memcpy destinations.
5988         (machopic_stub_name): Likewise.
5989
5990 2003-10-05  Andrew Pinski <apinski@apple.com>
5991
5992         * config/darwin.c (machopic_non_lazy_ptr_name):
5993         Change strcat to memcpy and add length together.
5994         (machopic_stub_name): Likewise.
5995
5996 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
5997
5998         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
5999         signal trampoline codes.
6000
6001 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
6002
6003         * config/mips/mips.md (*divsf3): Move description of
6004         SB-1 F2 erratum from here to...
6005         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
6006         flag_unsafe_math_optimizations is not.
6007
6008 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
6009
6010         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
6011         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
6012
6013 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6014
6015         * c-pretty-print.c: Fix comment typos.
6016         * c-pretty-print.h: Likewise.
6017         * calls.c: Likewise.
6018         * cfgloopmanip.c: Likewise.
6019         * cgraphunit.c: Likewise.
6020         * cppfiles.c: Likewise.
6021         * final.c: Likewise.
6022         * function.c: Likewise.
6023         * gcov-io.h: Likewise.
6024         * gcse.c: Likewise.
6025         * genoutput.c: Likewise.
6026         * loop.c: Likewise.
6027         * postreload.c: Likewise.
6028         * reg-stack.c: Likewise.
6029         * regmove.c: Likewise.
6030         * sched-int.h: Likewise.
6031         * sched-rgn.c: Likewise.
6032         * simplify-rtx.c: Likewise.
6033         * tree-inline.c: Likewise.
6034         * config/m68hc11/m68hc11.h: Likewise.
6035         * config/mmix/mmix.c: Likewise.
6036         * config/mn10300/mn10300.md: Likewise.
6037         * config/sh/sh.h: Likewise.
6038
6039 2003-10-05  Richard Henderson  <rth@redhat.com>
6040
6041         * tree-inline.c (remap_type): New.
6042         (remap_decl): Use it.  Remap DECL_SIZE*.
6043         (copy_body_r): Use it.
6044         (walk_tree): Walk TREE_TYPE too.
6045         (copy_tree_r): Don't walk subtrees of types.
6046         * tree.c (variably_modified_type_p): Restructure.  Consider integer
6047         types with non-const bounds variably modified.
6048
6049 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6050
6051         * doc/invoke.texi: Fix typos.
6052
6053 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6054
6055         * fold-const.c: Follow spelling conventions.
6056         * function.c: Likewise.
6057         * config/c4x/c4x.h: Likewise.
6058         * config/c4x/c4x.md: Likewise.
6059         * config/frv/frv.md: Likewise.
6060         * config/rs6000/aix.h: Likewise.
6061         * config/rs6000/linux64.h: Likewise.
6062         * config/xtensa/xtensa.c: Likewise.
6063
6064 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
6065
6066         * c-pretty-print.c: Fix comment formatting.
6067         * cfglayout.c: Likewise.
6068         * cfgloopanal.c: Likewise.
6069         * cppcharset.c: Likewise.
6070         * dbxout.c: Likewise.
6071         * ggc-page.c: Likewise.
6072         * ggc.h: Likewise.
6073         * target.h: Likewise.
6074
6075 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
6076
6077         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
6078
6079 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
6080
6081         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
6082         Convert to ISO C90 function declarations and definitions.
6083
6084 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
6085
6086         * libfuncs.h
6087         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
6088         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
6089         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
6090         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
6091         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
6092         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
6093         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
6094         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
6095         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
6096         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
6097         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
6098         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
6099         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
6100         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
6101         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
6102         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
6103         Delete.
6104         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
6105         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
6106         (le_optab, unord_optab): New.
6107
6108         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
6109         from the code_to_optab table, not a giant switch; use
6110         swap_condition; do widening only if a comparison function that
6111         we can call exists in a wider mode, not if a cmp_optab insn or
6112         libfunc exists in a wider mode; call protect_from_queue
6113         exactly once on each operand.
6114         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
6115
6116         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
6117         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
6118         Set floating point comparison libfuncs using set_optab_libfunc
6119         on the appropriate optab.
6120
6121         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
6122         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
6123         selector conditionals.
6124
6125 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
6126
6127         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
6128         identical to m68hc12 as far as libraries are concerned.
6129
6130 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
6131
6132         PR c/12446
6133         * c-typeck.c (convert_for_assignment): Issue an error for
6134         array to pointer assignment after default conversion.
6135         (digest_init): Likewise.
6136
6137 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
6138
6139         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
6140
6141 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
6142
6143         * doc/extend.texi (Function Attributes): Fix title of GNU C
6144         Preprocessor manual.
6145         (C++ Extensions): Fix reference to "Predefined Macros" in the
6146         GNU C Preprocessor manual.
6147
6148 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
6149
6150         * doc/extend.texi: Document how GCC estimates and relies on the size
6151         of an asm.
6152
6153 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
6154
6155         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
6156         arguments downward for big-endian o64.
6157
6158 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
6159
6160         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
6161         PCH generation, avoiding too-frequent flushes when writing to NFS
6162         file system.
6163
6164 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
6165
6166         * objc/objc-act.c (lookup_category): Mark as 'inline'.
6167
6168 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
6169             Ziemowit Laski  <zlaski@apple.com>
6170
6171         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
6172         New functions.
6173         (lookup_method_in_hash_lists): New parameter indicating whether
6174         we are messaging 'Class' or 'id'.
6175         (check_duplicates): Likewise; do not assume all methods will
6176         be either class or instance methods.
6177         (generate_category, finish_class): Use lookup_category().
6178         (add_method): Use add_method_to_hash_list(); insert instance
6179         methods of root classes into the global class method hash table.
6180         (add_category): Use lookup_category(); avoid constructing
6181         duplicate categories.
6182         (really_start_method): Add method to corresponding @interface,
6183         if not already there (and if the @interface exists).
6184         (finish_message_expr, finish_objc): Adjust calls to
6185         check_duplicates().
6186
6187 2003-10-03  Roger Sayle  <roger@eyesopen.com>
6188
6189         PR optimization/9325, PR java/6391
6190         * fold-const.c (fold_convert): For floating point to integer
6191         conversions, return the maximum/minimum representable integer
6192         value if the real constant overflows the destination type.
6193         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
6194         meaning don't truncate the result to a floating point mode.
6195         Simplify the logic by calling real_from_integer directly.
6196         * simplify-rtx.c (simplify_unary_operation):  Implement the
6197         same semantics for folding floating point to integer conversions
6198         in RTL.
6199
6200 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
6201
6202         * config/mips/mips.c (mips_emit_prefetch): Restructure
6203         to avoid use of arrays, handle indexed prefetch.
6204         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
6205         (ISA_HAS_PREFETCHX): New deffine.
6206         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
6207         update comments.
6208         (prefetch_indexed_di, prefetch_indexed_si): New insns.
6209
6210 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
6211             Roger Sayle  <roger@eyesopen.com>
6212
6213         PR optimization/12289
6214         * calls.c (emit_call_1): Pretend to have popped the arguments
6215         to noreturn and longjmp functions instead of ignoring them.
6216         (expand_call): Don't adjust stack_pointer_dela while
6217         inhibit_defer_pop is set.
6218
6219 2003-10-03  Andreas Schwab  <schwab@suse.de>
6220
6221         PR bootstrap/12276
6222         * configure.in: Check for libunwind on the host only if building
6223         a native compiler.
6224         * configure: Regenerated.
6225
6226 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
6227
6228         * unwind-pe.h (read_encoded_value_with_base): Constify u and
6229         its inizialization cast.
6230
6231 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
6232
6233         PR target/12485
6234         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
6235
6236 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
6237
6238         PR optimization/12180
6239         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
6240         functions containing calls to __builtin_next_arg.
6241
6242 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
6243
6244         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
6245         in instructions being output.
6246         * config/mips/mips.md (prefetch_si_address): Change third
6247         operand's constraint letter to 'I'.
6248         (prefetch_di_address): Likewise.
6249         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
6250
6251 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
6252
6253         * system.h: Poison macros obsoleted by earlier patch.
6254         * config/cris/cris.c: C90-ify a function definition.
6255
6256 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6257
6258         PR/12292
6259         * combine.c (make_field_assignment): Check whether rtx's code
6260         is CONST_INT before using INTVAL.
6261
6262 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6263
6264         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
6265         htab_find_slot_with_hash.
6266         (cgraph_node_for_identifier): Use NO_INSERT.
6267         (cgraph_remove_node): Use NO_INSERT.
6268         (cgraph_varpool_node): Use INSERT.
6269         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
6270
6271 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
6272
6273         Waldek Hebisch <hebisch@math.uni.wroc.pl>
6274         PR/12072
6275         * varasm.c (compare_constant): Fix thinko.
6276
6277 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
6278
6279         * config/frv/frv.c (frv_issue_rate): New function.
6280         (frv_pack_insns): Use it.
6281         (TARGET_SCHED_ISSUE_RATE): Define.
6282
6283 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
6284
6285         * config/mcore/mcore.c: Convert to ISO C90 function declarations
6286         and definitions.
6287         * config/mcore/mcore.h: Likewise.
6288         * config/mcore/mcore-protos.h: Likewise.
6289
6290 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
6291
6292         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
6293         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
6294
6295 2003-10-01  Per Bothner  <pbothner@apple.com>
6296
6297         * c-lex.c (src_line):   Remove unneeded static variable.
6298         (cb_line_change):  Set input_line directly, instead of src_line.
6299         (get_non_padding_token):  We no longer need to compensate for the
6300         "horrible things" the C++ front-end does with the current line number,
6301
6302         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
6303         callback even when popping the main file.
6304         * c-lex.c (fe_file_change):  Handle a NULL new_map.
6305         * fix-header.c (cb_file_change):  Likewise.
6306         * c-ppoutput.c (pp_file_change):  Likewise.
6307
6308         * cppinit.c (cpp_read_main_file):  Split into two functions:
6309         Distribute _cpp_stack_file call over the two functions.
6310         (cpp_find_main_file):  New function.
6311         Don't call _cpp_do_file_change even if working_directory flag set.
6312         (cpp_push_main_file):  New function.
6313         * cppfiles.c (_cpp_find_failed):  New helper function.
6314         (find_file):  Made non-static and renamed to _cpp_find_file.
6315         (_cpp_stack_file):  No longer needed.  But note the following.
6316         (stack_file):  Made non-static and renamed to _cpp_stack_file.
6317         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
6318         call with calls to cpp_find_main_file and cpp_push_main_file.
6319         (search_path_head):  If there is no current buffer, use main_file.
6320         * cpphash.h:  Update function declarations.
6321         * cpplib.h:  Update function declarations.
6322
6323         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
6324         (c_common_parse_file):  No longer need to call cpp_read_main_file
6325         when file_index > 0 (as in multi-file or server compiation).
6326         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
6327         as this now happens before cpp_push_main_file.
6328         (push_command_line_include):  When done with options, pass LC_LEAVE
6329         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
6330         (fe_file_change):  Handle NULL new_map, and simplify.
6331         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
6332         08-28 change, since we're never called with a NULL buffer.
6333         (_cpp_lex_direct):  Likewise.
6334         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
6335         Return false if buffer is NULL at end.
6336
6337         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
6338         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
6339         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
6340         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
6341         remove the unused return_at_eof parameter.
6342         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
6343         Update callers of cpp_push_buffer.
6344
6345 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
6346
6347         * target.h (init_libfuncs): New hook.
6348         * target-def.h: Default TARGET_INIT_BUILTINS and
6349         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
6350         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
6351         * builtins.c (default_init_builtins): Delete.
6352         * expr.h (default_init_builtins): Delete prototype.
6353         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
6354         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
6355         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
6356         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
6357         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
6358         and UMODDI3_LIBCALL,
6359
6360         * Makefile.in (optabs.o): Depends on target.h.
6361         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
6362         * optabs.c: Include target.h.
6363         (prepare_float_lib_cmp): No need for #ifdef around use of
6364         FLOAT_LIB_COMPARE_RETURNS_BOOL.
6365         (set_optab_libfunc): New function.
6366         (init_optabs): Delete use of all *_LIBCALL defines.
6367         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
6368         * optabs.h: Prototype set_optab_libfunc.
6369
6370         * config.gcc: Remove all references to pa/long_double.h,
6371         ia64/hpux_longdouble.h, and gofast.h.
6372         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
6373         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
6374
6375         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
6376         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
6377         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
6378         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
6379         * config/sparc/sparc.c, config/vax/vax.c:
6380         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
6381         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
6382
6383         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
6384         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
6385         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
6386         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
6387         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
6388         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
6389         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
6390         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
6391         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
6392
6393         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
6394         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6395         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
6396         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6397         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
6398
6399         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
6400         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
6401         SUN_INTEGER_MULTIPLY_64 to 0.
6402         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
6403         SUN_INTEGER_MULTIPLY_64 to 1.
6404         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
6405         SUN_INTEGER_MULTIPLY_64 to 0.
6406         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
6407         Define US_SOFTWARE_GOFAST.
6408         * config/vax/vax.h: Default TARGET_ELF to 0.
6409         * config/vax/elf.h: Redefine TARGET_ELF to 1.
6410
6411         * config/gofast.h: Don't define any macros here.  Provide one
6412         static function, gofast_maybe_init_libfuncs, which does what
6413         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
6414         is already defined.  Do not clear negation libfuncs.  Do
6415         not mess with HFmode, XFmode, or TFmode libfuncs.
6416
6417         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
6418
6419 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
6420
6421         PR C/12466
6422         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
6423
6424 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6425
6426         * config/mips/xm-iris5.h: Remove, unnecessary.
6427         * config.build (mips-sgi-irix5*): Remove.
6428         (mips-sgi-irix6*o32): Likewise.
6429         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
6430         (mips-sgi-irix5cross64): Likewise.
6431         (mips-sgi-irix5*): Likewise.
6432         * config.host (mips-sgi-irix5*): Remove.
6433         (mips-sgi-irix6*o32): Likewise.
6434
6435 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
6436
6437         * dbxout.c (dbxout_fptype_value): Delete.
6438         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
6439
6440 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
6441
6442         * output.h (compute_reloc_for_constant): Declare.
6443         * varasm.c (compute_reloc_for_constant): Extract from...
6444         (output_addressed_constants): ... here.  Adjust all callers.
6445
6446 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6447
6448         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
6449         * configure: Rebuilt.
6450
6451 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6452
6453         * fold-const.c (make_range): When handling unsigned, don't reverse
6454         range if high bound is zero.
6455
6456 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
6457
6458         * config/frv/frv.h (PREDICATE_CODES): Added
6459         condexec_si_media_operator, condexec_sf_add_operator and
6460         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
6461         and condexec_sf_unary_operator.
6462
6463 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6464
6465         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
6466         * configure: Rebuilt.
6467
6468 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6469
6470         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
6471         Allow override.
6472         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
6473
6474 2003-09-23  David S. Miller  <davem@redhat.com>
6475
6476         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
6477         before redefining.
6478         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
6479
6480 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
6481
6482         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
6483         C90 function declarations and definitions.
6484
6485 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6486
6487         * config.gcc (cris-*-linux*): Revert mistaken commit.
6488
6489 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
6490
6491         PR optimization/11753
6492         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
6493         the length in the non-V9 case.
6494
6495 2003-09-30  Richard Henderson  <rth@redhat.com>
6496
6497         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
6498         DWARF_ALT_FRAME_RETURN_COLUMN.
6499         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
6500         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
6501         (uw_frame_state_for): Return end-of-stack for null return address.
6502         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
6503
6504         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
6505         (alpha_expand_prologue): Store a zero for it.
6506         (alpha_expand_epilogue): Don't reload it.
6507         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
6508         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
6509         for the sigframe return address.
6510
6511 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
6512
6513         * sdbout.c: Convert to ISO C90 prototypes.
6514         * objc/objc-act.c: Likewise.
6515
6516 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
6517
6518         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
6519         * config/i386/winnt.c: Likewise.
6520         * config/i386/cygming.h: Likewise.
6521
6522 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
6523
6524         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6525         (A ^ B) - B for any B.
6526
6527 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
6528
6529         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
6530         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
6531
6532 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
6533
6534         * arm/ieee754-sf.S: Tidy formatting.
6535
6536 2003-09-30  Nicolas Pitre  <nico@cam.org>
6537
6538         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
6539         and ARM_MOD_BODY.
6540         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
6541         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
6542         added better divisor alignment in the other case.
6543         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
6544         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
6545         macros above, add fast exits for divisor >= dividend, etc.
6546
6547 2003-09-30  Nicolas Pitre  <nico@cam.org>
6548
6549         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
6550         L_fixdfsi target.
6551         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
6552
6553 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
6554
6555         * config.gcc: Default use_fixproto to 'no'.
6556
6557 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
6558
6559         PR optimization/12345
6560         * config/mips/mips-protos.h (mips_restore_gp): Remove.
6561         (mips_gp_save_slot): Declare.
6562         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
6563         (mips_gp_save_slot): ...this new function.
6564         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
6565         and mips_output_move to generate the output template.
6566         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
6567         a gp load after a noreturn call.  Load the gp using a move rather
6568         than an exception_receiver pattern.
6569         (call_value_internal, call_value_multiple_internal): Likewise.
6570         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
6571
6572 2003-09-30  Carlo Wood  <carlo@alinoe.com>
6573
6574         PR debug/12319
6575         * cfglayout.c (insn_scope):  Use prologue_locator and
6576         epilogue_locator; return the outer function scope for
6577         pro- and epilogue insns.
6578
6579 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
6580
6581         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
6582         REAL_TYPEs based on the bitsize of the type's mode, not the
6583         mode directly.
6584
6585 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6586
6587         * dwarf2out.c (default_eh_frame_section): Split into ...
6588         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
6589         functions.
6590         * output.h (named_section_eh_frame_section): Declare.
6591         (collect2_eh_frame_section): Likewise.
6592
6593 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
6594
6595         * real.c (real_sqrt): Use get_canonical_qnan directly.
6596
6597         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
6598
6599         * varasm.c (assemble_real): Use real_to_target directly,
6600         calculate the number of significant elements of the result
6601         array and write them out in a loop, instead of using a giant
6602         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
6603         macro.
6604
6605 2003-09-29  Jan Hubicka  <jh@suse.cz>
6606
6607         PR c++/12175
6608         * varasm.c (notice_global_symbol): Discard external symbols.
6609
6610         PR optimization/12286
6611         * gcov-io.c (gcov_read_words): Fix memmove call.
6612         * profile.c (compute_branch_probabilities): Add extra sanity checks.
6613
6614 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6615
6616         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
6617         Solaris 7-9.
6618
6619         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
6620         wildcards which explicitly match micro versions.
6621         * fixinc/fixincl.x: Regenerate.
6622
6623 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6624
6625         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6626         (A ^ B) - B, where B is any power of 2 minus 1.
6627
6628 2003-09-29  Jan Hubicka  <jh@suse.cz>
6629
6630         * libgcov.c (gcov_exit): Fix two pastos.
6631
6632 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6633
6634         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
6635         define_split immediately below to form define_insn_and_split.
6636
6637 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6638
6639         * config/h8300/h8300.md (*tstsi_variable_bit): New.
6640         (*tstsi_variable_bit_qi): Likewise.
6641
6642 2003-09-28  Phil Edwards  <phil@codesourcery.com>
6643
6644         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
6645         reference name.
6646
6647 2003-09-28  Richard Henderson  <rth@redhat.com>
6648
6649         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
6650         file and line separately.
6651
6652 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
6653
6654         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
6655         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
6656         "*subdi3_borrow_cconly"): New insns.
6657         ("*addsi3_sub", "*subsi3_sub"): Remove.
6658         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
6659         ("*subsi3_cc"): Fix op_type attribute.
6660
6661 2003-09-28  Richard Henderson  <rth@redhat.com>
6662
6663         * stmt.c (expand_asm_operands): Take a location_t, instead of
6664         individual file and line.
6665         * c-typeck.c (c_expand_asm_operands): Likewise.
6666         * tree.h (expand_asm_operands): Update decl.
6667         * c-common.h (c_expand_asm_operands): Likewise.
6668         * c-semantics (genrtl_asm_stmt): Update call.
6669
6670 2003-09-28  Philip Blundell  <philb@gnu.org>
6671
6672         * config/arm/arm.c (legitimize_pic_address): Check
6673         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
6674         (arm_assemble_integer): Likewise.
6675
6676 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
6677
6678         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6679         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
6680         config/c4x/c4x.h:
6681         Convert to ISO C90 function declarations and definitions.
6682
6683 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
6684
6685         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
6686         Convert to ISO C90 function declarations and definitions.
6687
6688 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
6689
6690         * config/mips/mips.c (mips_constant_info): Add reloc field.
6691         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
6692         underlying symbol, not to an unspec.
6693         (mips_delegitimize_address, print_operand): Clean up accordingly.
6694
6695 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
6696
6697         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
6698         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
6699         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
6700         (mips_classify_constant): Use it.
6701         (mips_splittable_symbol_p): Add an offset argument.
6702         (mips_classify_address): Adjust call accordingly.
6703         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
6704         than a relocation unspec.  Update call to mips_splittable_symbol_p.
6705         Generalize the code that copes with symbols + invalid offsets.
6706         (print_operand): Allow '%R' to be applied to small data addresses.
6707         (mips_reloc_string): Remove RELOC_GPREL16.
6708         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
6709         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
6710         relocation operators.
6711         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
6712         constants accordingly.
6713
6714 2003-09-27  Roger Sayle  <roger@eyesopen.com>
6715
6716         * toplev.c (flag_evaluation_order): New global variable.
6717         * flags.h (flag_evaluation_order): Prototype here.
6718         * expr.c (expand_operands): If we need to preserve observable
6719         evaluation order, protect exp1 from clobbering exp0's result.
6720
6721 2003-09-28  Andreas Jaeger  <aj@suse.de>
6722
6723         * c-decl.c (finish_function): Convert definition to ISO C90.
6724         * ifcvt.c (mark_loop_exit_edges): Likewise.
6725         * ra-rewrite.c (emit_colors): Likewise.
6726
6727 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
6728
6729         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
6730         * config.gcc (arm*-*-uclinux*): Disable fixproto.
6731         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
6732         powerpc-*-eabialtivec*): Disable fixproto.
6733
6734 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
6735
6736         PR optimization/12340
6737         * loop.h (struct induction): Document the new semantics
6738         of the 'same' field for bivs.
6739         * unroll.c (biv_total_increment): Don't count the same
6740         biv increment several times.
6741         (loop_iterations) [GENERAL_INDUCT]: Likewise.
6742
6743 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
6744
6745         * unroll.c (loop_interations)[GT]: Add missing break.
6746
6747 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
6748
6749         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
6750         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
6751         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
6752         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
6753         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
6754         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
6755         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
6756         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
6757         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
6758         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
6759         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
6760         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
6761         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
6762         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
6763         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
6764         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
6765         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
6766         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
6767         config/alpha/xm-vms.h, config/arc/arc-modes.def,
6768         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
6769         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
6770         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
6771         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
6772         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
6773         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
6774         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
6775         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
6776         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6777         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
6778         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
6779         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
6780         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
6781         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
6782         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
6783         config/i960/i960-c.c, config/i960/i960-coff.h,
6784         config/i960/i960-modes.def, config/i960/i960-protos.h,
6785         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
6786         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
6787         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
6788         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
6789         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
6790         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
6791         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
6792         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
6793         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
6794         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
6795         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
6796         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
6797         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6798         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
6799         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
6800         config/mcore/mcore-protos.h, config/mcore/mcore.c,
6801         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
6802         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
6803         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
6804         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
6805         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
6806         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
6807         config/mips/vr.h, config/mn10300/linux.h,
6808         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
6809         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
6810         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
6811         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
6812         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
6813         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
6814         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6815         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
6816         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
6817         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
6818         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
6819         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
6820         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
6821         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
6822         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
6823         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
6824         fixinc/fixinc.svr4: GNU CC -> GCC.
6825
6826 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
6827
6828         * objc/objc-act.c (tm_p.h): Tweak order.
6829         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
6830
6831 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6832
6833         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
6834         Include t-slibgcc-elf-ver and t-linux in tmake_file.
6835         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
6836         Disable fixproto.
6837         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
6838         Disable fixproto.
6839         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
6840         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
6841
6842         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
6843
6844 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
6845
6846         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
6847         * objc/objc-act.c (tm_p.h): Include.
6848
6849 2003-09-26  Per Bothner  <pbothner@apple.com>
6850
6851         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
6852         No longer any need to reverse by recursion.
6853
6854 2003-09-26  Roger Sayle  <roger@eyesopen.com>
6855             Richard Henderson  <rth@redhat.com>
6856
6857         PR optimization/11741
6858         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
6859         appropriate set to match that in hash_scan_insn.  Fall back to
6860         the original copy method, if we can't validate changing insn.
6861         (pre_delete): Only delete instructions that have a single_set,
6862         instead of aborting when we encounter an PARALLEL insn with more
6863         then one SET.
6864
6865 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
6866
6867         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
6868         ("builtin_longjmp"): Insn deleted.
6869         ("save_stack_nonlocal"): Save literal pool base pointer behind
6870         backchain and stack pointer.
6871         ("restore_stack_nonlocal"): Restore literal pool base pointer.
6872         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
6873         the stack save area for the nonlocal goto case.
6874
6875 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6876
6877         PR bootstrap/12358
6878         * pa.c (output_bvb): Fix typo.
6879
6880 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
6881
6882         * expmed.c (store_bit_field): Don't search for an integer mode
6883         unless we need the result.
6884
6885 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
6886
6887         * expr.c (emit_move_insn_1): If there is no move pattern for the
6888         original mode, try using a pattern for the corresponding integer mode.
6889
6890 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
6891
6892         PR middle-end/9200
6893         * combine.c (if_then_else_cond): Tighten mode check.
6894
6895 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
6896
6897         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
6898         'struct _cpp_strbuf'.
6899
6900         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
6901         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
6902         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
6903         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
6904         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
6905         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
6906         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
6907         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
6908         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
6909         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
6910         * config/i386/i386-aout.h, config/i386/i386-coff.h,
6911         config/i386/i386-interix.h, config/i386/i386-interix3.h,
6912         config/i386/i386-modes.def, config/i386/i386-protos.h,
6913         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
6914         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
6915         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
6916         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
6917         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
6918         "GNU compiler" -> GCC.
6919         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
6920         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
6921         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
6922         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
6923         config/i386/freebsd-aout.h, config/i386/freebsd.h,
6924         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
6925
6926 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
6927
6928         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
6929         "local" to the callgraph dump.  Output "after inlining" earlier.
6930         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
6931         callgraph dumps.  Correct misspellings.
6932         (cgraph_decide_inlining):  Output number of insns before inlining.
6933         Output the calling function into which a function is inlined.
6934         (cgraph_decide_small_functions): Format dump file like always_inline.
6935
6936 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
6937
6938         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
6939
6940 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
6941
6942         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
6943         FPR slots in the save area.
6944         (s390_emit_epilogue): Likewise.
6945
6946 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
6947
6948         * cgraph.h (cgraph_remove_edge): Declare.
6949         * cgraph.c (cgraph_remove_edge): Make extern.
6950         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
6951         instead of cgraph_remove_call.
6952
6953 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
6954
6955         * objc/objc-act.c (gen_declaration_1): Fix printf format.
6956
6957 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
6958
6959         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
6960         arm7tdmi core.
6961
6962 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
6963
6964         * config/darwin-protos.h (objc_image_info_section):
6965         New prototype.
6966
6967 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
6968
6969         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
6970
6971 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
6972
6973         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
6974         tsc701 as a --with-cpu, --with-tune setting for sparc.
6975
6976 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
6977
6978         * c-parse.in (objc_try_stmt): Do not specify a %type.
6979
6980 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
6981
6982         * config.gcc: New 'widely ported system' clause for rtems.
6983         Set thread file there, not in individual clauses.
6984
6985 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
6986
6987         PR target/6222
6988         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
6989         passed on the stack.
6990
6991 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
6992
6993         * config.gcc (widely ported systems section): Mostly alphabetize
6994         by system.  Comment the case where we can't.
6995         * config.gcc (widely ported systems section): Reindent and clean up.
6996
6997         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
6998         Actually allow ep9312 as an arm --with-arch setting.
6999
7000         * config.gcc (*-hpux11): Disable fixproto.
7001
7002 2003-09-24  Phil Edwards  <phil@codesourcery.com>
7003
7004         PR pch/12112
7005         * gcc/cppfiles.c (pch_open_file): Return based on combined
7006         result of all files.
7007         (validate_pch): Return validate flag for current file.
7008
7009 2003-09-24  Roger Sayle  <roger@eyesopen.com>
7010
7011         PR bootstrap/12358
7012         * fold-const.c (tree_swap_operands_p): Only reorder operands when
7013         one of the operands is constant.
7014
7015 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
7016
7017         MERGE OF objc-improvements-branch into MAINLINE:
7018         * Makefile.in (C_OBJS): Add in stub-objc.o.
7019         (c-parse.y): Change sed demarcations to begin with '@@'.
7020         (stub-objc.o): New rule.
7021         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7022         flag_replace_objc_classes): New flags.
7023         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
7024         RID_AT_SYNCHRONIZED): New keywords.
7025         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
7026         flag_replace_objc_classes): New flags.
7027         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
7028         objc_comptypes, objc_message_selector, lookup_objc_ivar,
7029         get_current_scope, objc_mark_locals_volatile): New prototypes,
7030         some moved from c-tree.h.
7031         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
7032         (finish_decl): Adjust where objc_check_decl() gets called.
7033         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
7034         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
7035         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
7036         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
7037         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
7038         '@@end_ifc', respectively.
7039         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
7040         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
7041         objc_finally_block): New rules.
7042         (component_decl_list2): Clean up semantic action for @defs construct.
7043         (component_decl, c99_block_start): Remove call to add_objc_decls().
7044         (poplevel): Add call to objc_clear_super_receiver().
7045         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
7046         constructs.
7047         (classdef, methodprotolist): Clean up/simplify.
7048         (methodprotolist2): Eliminate.
7049         (methodproto): Call add_method() instead of add_class_method() and
7050         add_instance_method().
7051         (receiver): Add TYPENAME production.
7052         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
7053         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
7054         AT_SYNCHRONIZED.
7055         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
7056         objc_comptypes, objc_message_selector)
7057         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
7058         struct and pointer types.
7059         (build_c_cast): Do not discard ObjC protocol qualifiers.
7060         (convert_for_assignment): Cache result of comp_target_types() instead
7061         of calling it more than once.
7062         * c.opt (fnext-runtime): Update description string.
7063         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
7064         New ObjC/ObjC++-specific flags.
7065         * function.h (GCC_FUNCTION_H): Header guard.
7066         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
7067         * stub-objc.c: New file, to be used to satisfy references to ObjC
7068         functions by the C and C++ front-ends.
7069         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
7070         * config/darwin.h (FUNCTION): Add in_objc_image_info.
7071         (SECTION_FUNCTION): Add objc_image_info_section.
7072         * doc/invoke.texi: Link to GCC web site for Objective-C information.
7073         (-fconstant-string-class): Update documentation.
7074         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
7075         -fzero-link): New documentation.
7076         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
7077         with '@@'.
7078         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
7079         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
7080         throughout; provide casts for return values from memory allocation
7081         functions (xmalloc, alloca, ggc_alloc, etc.).
7082         (OBJC_VOID_AT_END): New macro.
7083         (rtl.h): Do not #include any more.
7084         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
7085         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
7086         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
7087         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
7088         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
7089         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
7090         val_stack_pop): New.
7091         (objc_check_decl): Fix precondition for error message, along with
7092         the message itself.
7093         (lookup_and_install_protocols): Remove nonexistent protocols from
7094         protocol list instead of returning error_mark_node.
7095         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
7096         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
7097         (synth_module_prologue): General clean-up; construct NeXT-specific
7098         runtime API prototypes if needed.
7099         (build_string_class_template): Remove.
7100         (check_string_class_template, string_layout_checked): New.
7101         (build_objc_string_object): Generalize to work with
7102         -fconstant-string-class.
7103         (build_objc_symtab_template): Fix layout for the NeXT runtime.
7104         (build_metadata_decl): New.
7105         (forward_declare_categories): Call build_metadata_decl() instead of
7106         create_builtin_decl() et al.
7107         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
7108         void_list_node_1.
7109         (build_selector_reference_decl, build_class_reference_decl,
7110         build_objc_string_decl): Do not set TREE_READONLY.
7111         (get_proto_encoding): Do not call hack_method_prototype().
7112         (get_class_reference): Add failure mode for invalid class names;
7113         support -fzero-link; defer if in an ObjC++ template declaration.
7114         (objc_declare_alias, objc_declare_class): Fix up duplicate name
7115         lookup; check for global scope if in ObjC++.
7116         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
7117         RECORD_TYPE, IDENTIFIER_NODE, etc.)
7118         (objc_is_id): Removed.
7119         (objc_is_object_ptr): New function.
7120         (get_class_ivars_from_name): New function, used for @defs construct.
7121         (get_class_ivars): Add option to return raw ivars; create a
7122         ClASS_OWN_IVARS list for each class as needed.
7123         (objc_enter_block, objc_exit_block, objc_declare_variable,
7124         objc_build_throw_stmt, val_stack_push, val_stack_pop,
7125         objc_build_try_enter_fragment, objc_build_extract_expr,
7126         objc_build_try_exit_fragment, objc_build_extract_fragment,
7127         objc_build_try_prologue, objc_build_try_epilogue,
7128         objc_build_catch_stmt, objc_build_catch_epilogue,
7129         objc_build_finally_prologue, objc_build_finally_epilogue,
7130         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
7131         objc_build_synchronized_epilogue, build_objc_exception_stuff):
7132         New functions.
7133         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
7134         the future).
7135         (build_private_template): Fix up calls to get_class_ivars().
7136         (offset_is_register, forwarding_offset): Remove.
7137         (objc_method_parm_type, objc_encoded_type_size): New functions.
7138         (encode_method_prototype): Simplify to no longer depend on
7139         back-end information.
7140         (build_tmp_function_decl_xxx, build_tmp_function_decl,
7141         hack_method_prototype): Removed.
7142         (generate_protocol_references): Remove calls to
7143         build_tmp_function_decl().
7144         (generate_protocols): Adjust calls to encode_method_prototype().
7145         (build_class_template): Generate sel_id' and 'gc_object_type' fields
7146         for the NeXT runtime.
7147         (synth_forward_declarations): Call build_metadata_decl().
7148         (check_ivars): Check that the number of ivars matches also.
7149         (build_super_template): Modify super_type directly; disable debugging
7150         output while generating decl.
7151         (build_ivar_list_initializer): Skip list elements that are not
7152         FIELD_DECLs.
7153         (ivar_list_length): New function.
7154         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
7155         and encode_method_prototype() instead of encode_method_def().
7156         (build_shared_structure_initializer): Generate 'sel_id' field for
7157         the NeXT runtime.
7158         (generate_category): Do not set TREE_USED.
7159         (build_keyword_selector): Ditto; transform into a function argument
7160         chain.
7161         (get_arg_type_list): If there are no user-specified arguments, use
7162         '...'; use OBJC_VOID_AT_END.
7163         (check_duplicates): Add a parameter indicating whether methods or
7164         selectors are being checked.
7165         (receiver_is_class_object): Add parameters indicating whether
7166         receiver is 'self' or 'super'; robustify.
7167         (build_message_expr): Defer call to finish_message_expr() if
7168         inside an ObjC++ template.
7169         (lookup_method_in_hash_lists): New function.
7170         (finish_message_expr): Complete rewrite/fix.
7171         (build_objc_method_call): Ditto; factor out commonalities between
7172         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
7173         messenger variants on the NeXT.
7174         (lookup_instance_method_static, lookup_class_method_static):
7175         Fold into a single lookup_method_static() function with an
7176         additional parameter.
7177         (add_class_method, add_instance_method): Fold into a single
7178         add_method() function with an additional parameter.
7179         (add_category): Make duplicate categories a hard error in ObjC++.
7180         (add_instance_variable): Properly handle unnamed ivars, arrays of
7181         zero or no size and bitfields.  In ObjC++, check for nontrivial
7182         C++ class instances.
7183         (is_public): Allow C functions to access non-@public ivars, with
7184         a warning.
7185         (start_class): Move common initializations to
7186         synth_module_prologue(); check for global scope if in ObjC++.
7187         (continue_class): Fix calls to finish_struct().
7188         (objc_declare_protocols, start_protocol): Check for global scope
7189         if in ObjC++.
7190         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
7191         (encode_aggregate_within): Rewrite to properly distinguish
7192         struct tags from typedefs in both ObjC and ObjC++.
7193         (encode_bitfield, encode_complete_bitfield): Remove.
7194         (encode_next_bitfield, encode_gnu_bitfield): New functions.
7195         (encode_field_decl): Call encode_next_bitfield() or
7196         encode_gnu_bitfield() as needed.
7197         (synth_self_and_ucmd_args): New function.
7198         (start_method_def): Use it.
7199         (objc_types_are_equivalent): New function.
7200         (comp_proto_with_proto): Use it instead of comptypes(), since
7201         we need symmetry.
7202         (really_start_method): Use lookup_method_static() instead of
7203         lookup_class_method_static() and lookup_instance_method_static();
7204         Emit 'extern "C"' if in ObjC++ mode.
7205         (add_objc_decls): Removed.
7206         (UOBJC_SUPER_scope): New variable.
7207         (get_super_receiver): Move construction of 'super' from
7208         add_objc_decls(); remove dependency on struct objc_class.
7209         (encode_method_def): Removed; encode_method_prototype() is
7210         used instead.
7211         (objc_clear_super_receiver): New function.
7212         (objc_expand_function_end): Do not do anything for ordinary
7213         C functions.
7214         (finish_method_def): Mark ObjC methods as un-inlinable.
7215         (gen_declaration_1): Emit widths of bitfields.
7216         (finish_objc): Call generate_objc_image_info() if needed;
7217         use check_duplicates() when checking for selector duplicates.
7218         (generate_objc_image_info): New function.
7219         * objc/objc-act.h (add_instance_method, add_class_method,
7220         get_class_ivars): Remove prototypes.
7221         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
7222         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
7223         objc_build_catch_stmt, objc_build_catch_epilogue,
7224         objc_build_finally_prologue, objc_build_finally_epilogue,
7225         add_method, get_class_ivars_from_name): New prototypes.
7226         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
7227         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
7228         TRANSLATION_UNIT_DECLs.
7229         (OBJC_TYPE_NAME): New.
7230         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
7231         got included.
7232         (IS_SUPER): Robustify.
7233         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
7234         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
7235         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
7236         objc_exception_match_decl, objc_exception_throw_decl,
7237         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
7238         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
7239         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
7240         objc_catch_type): New ObjC/ObjC++ roots.
7241         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
7242         ObjC/ObjC++ tree node codes.
7243
7244 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
7245
7246         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
7247         code path that calls a handler.
7248
7249 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
7250
7251         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
7252         Disable fixproto.
7253
7254         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
7255         the section giving $with_cpu defaults by target.
7256
7257         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
7258         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
7259         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
7260         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
7261         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
7262         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
7263
7264 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
7265
7266         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
7267         together.  Protect load string instruction with TARGET_STRING.
7268         (movti_string): Collapse case 1 and 2 together.
7269
7270 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
7271
7272         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
7273
7274 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
7275
7276         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
7277         do...while(0)
7278
7279 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7280
7281         * config.gcc: Move use_fixproto=no from generic vxworks clause to
7282         specific one.
7283
7284         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
7285         (accidentally missed in last pass).
7286
7287 2003-09-23  Andrew Pinski  <apinski@apple.com>
7288
7289         PR bootstrap/12383
7290         * configure: Regenerate.
7291
7292 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7293
7294         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
7295         missed in last pass).
7296
7297 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
7298
7299         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
7300         constant.
7301
7302 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7303
7304         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
7305
7306         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
7307         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
7308         powerpcle-*-eabi*): Disable fixproto.
7309
7310         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
7311         specific FreeBSD clauses.
7312         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
7313         specific NetBSD clauses.
7314         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
7315         to specific OpenBSD clauses.
7316
7317 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7318
7319         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
7320         without adding a frame note.
7321         * pa.md (allocate_stack): Save pic register in new frame marker when
7322         generating pic code.
7323
7324 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
7325
7326         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
7327         cgraph_expand_functions.
7328
7329 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7330
7331         * Makefile.in (gnucompare*): Merge into ...
7332         (slowcompare*): ... here.
7333         (fastcompare*): New targets.
7334         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
7335         other "fast" cmp programs.
7336         * configure: Regenerate.
7337
7338 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7339
7340         * targhooks.c: Include output.h.
7341         * Makefile.in (targhooks.o): Add output.h to dependency list.
7342
7343 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7344
7345         * config.host: Removed superfluous newline.
7346
7347 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7348
7349         * config.gcc: Use ${target}, not $machine.
7350         * configure.in: Don't set $machine.
7351         * configure: Regenerate.
7352
7353 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
7354
7355         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
7356
7357         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
7358         pass zero-size arrays by reference.
7359         (rs6000_va_arg): Likewise.
7360
7361 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7362
7363         * config.gcc: Set use_fixproto=no in each specific *-gnu*
7364         configuration, rather than the generic one.
7365
7366 2003-09-23  Richard Henderson  <rth@redhat.com>
7367
7368         * tree-inline.c (remap_save_expr): Map new save_expr to identity
7369         rather than to error_mark_node.
7370
7371 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7372
7373         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
7374         Update description.
7375         * configure: Regenerate.
7376         * config.in: Likewise.
7377         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
7378         HAVE_GAS_SHF_MERGE value.
7379         * varasm.c (mergeable_string_section): Likewise.
7380         (mergeable_constant_section): Likewise.
7381
7382 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7383
7384         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
7385         value.
7386
7387 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7388
7389         * target.h (struct gcc_target): New member external_libcall.
7390         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
7391         (TARGET_ASM_OUT): Use it.
7392         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
7393         * targhooks.c: Convert to ISO C 90.
7394         (default_external_libcall): New function.
7395         * targhooks.h (default_external_libcall): Declare.
7396         * varasm.c (assemble_external_libcall): Use
7397         targetm.asm_out.external_libcall instead of
7398         ASM_OUTPUT_EXTERNAL_LIBCALL.
7399         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
7400         (mips_output_external_libcall): Declare.
7401         * config/mips/mips.c (mips_output_external_libcall): Change
7402         definition guard.
7403         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
7404         Only operate for O32 ABI.
7405         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
7406         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
7407         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
7408         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
7409
7410 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
7411
7412         * config.gcc: Do per-target disabling of fixproto here in clauses,
7413         not in t- fragments.
7414         * configure.in: Adjust to set STMP_FIXPROTO correctly.
7415         * configure: Regenerate.
7416         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
7417         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
7418         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
7419         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
7420         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
7421         t-interix, t-linux-aout:  Delete files consisting only of
7422         setting of STMP_FIXPROTO.
7423
7424         * config.host: Allow unknown hosts (not targets).  Allow
7425         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
7426         empty clauses.  Remove useless obsolete-configuration clause.
7427         Prune unsupported configuration list.  Collapse identical
7428         clauses for closely related systems.  Rewrite comment for
7429         unsupported hosts list.  Reorganize a little.
7430
7431 2003-09-22  Richard Henderson  <rth@redhat.com>
7432
7433         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
7434         not precision.
7435
7436 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
7437             Hartmut Penner  <hpenner@de.ibm.com>
7438             Segher Boessenkool  <boessen@de.ibm.com>
7439
7440         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
7441         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
7442         (rs6000_split_altivec_in_gprs): Rename to ...
7443         (rs6000_split_multireg_move): Add support for update addressing.
7444         * config/rs6000/rs6000-protos.h: Same.
7445         * config/rs6000/altivec.md: Same.
7446         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
7447         multiple GPRs.
7448         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
7449         (movti_power): Use new splitter for multiple GPRs.
7450         (movti_string): Same.
7451         (movti_ppc64): Same.
7452
7453 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
7454
7455         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
7456         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
7457
7458 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
7459
7460         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
7461         (andsi3): Set attr cc to set_zn when using shifts or adds.
7462
7463 2003-09-22  Bernardo Innocenti <bernie@develer.com>
7464
7465         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
7466
7467 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
7468
7469         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
7470         Resurrect -mrtd option.
7471
7472 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
7473
7474         PR target/12281
7475         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
7476         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
7477
7478 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
7479
7480         PR target/9786
7481         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
7482         after potential deletion of trapping insn. Avoids later ICE
7483         from call to fixup_abnormal_edges.
7484         (convert_regs_2): Stack the current block successors before
7485         processing this block, that is, before the potential deletion of
7486         dead edges by convert_regs_1, because these edges have been used
7487         to initialize the predecessors count.
7488
7489 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
7490
7491         * real.c: Fix several nits in the head comment.
7492
7493 2003-09-21  Richard Henderson  <rth@redhat.com>
7494
7495         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7496         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7497         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7498         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7499         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
7500
7501 2003-09-21  Richard Henderson  <rth@redhat.com>
7502
7503         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
7504         (TREE_FILENAME, TREE_LINENO): Likewise.
7505         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
7506         (TREE_LOCUS_SET_P): New.
7507         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7508         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7509         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7510         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7511         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
7512
7513 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
7514
7515         * config/vax/vax-protos.h: Convert to ISO C90.
7516         * config/vax/vax.c: Convert to ISO C90.
7517
7518 2003-09-21  Graham Stott  <grahams@btinternet.com>
7519
7520        PR target/12353
7521        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
7522
7523 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
7524
7525         PR target/12301
7526         * reorg.c (stop_search_p): Return 1 for insns that can
7527         throw internally.
7528
7529 2003-09-20  Richard Henderson  <rth@redhat.com>
7530
7531         * c-format.c (gcc_diag_char_table): Add %J.
7532         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
7533         (check_format_types): Fix wanted_type name lookup.
7534         (init_dynamic_diag_info): Setup %J.
7535         * diagnostic.c (text_specifies_location): Implement %J.
7536         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
7537         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
7538         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
7539         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
7540         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
7541
7542         * tree-inline.c: Include intl.h
7543         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
7544         * Makefile.in (tree-inline.o): Update.
7545
7546 2003-09-20  Roger Sayle  <roger@eyesopen.com>
7547
7548         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
7549         transformation of a>=0 into (unsigned)a<0x80000000.
7550
7551 2003-09-20  Andrew Pinski <apinski@apple.com>
7552
7553         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
7554
7555 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
7556
7557         * Makefile.in: Don't set (unused) DLLTOOL.
7558
7559         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
7560         Remove obsolete references to ENQUIRE.
7561
7562 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
7563
7564         * configure.in: Remove --with-elf, which doesn't work.
7565         * configure: Regenerate.
7566         * config.gcc: Remove references to $elf, which does nothing.
7567
7568         * config/i386/xm-vsta.h: Remove xm-file believed useless.
7569         * config.build (i386-vsta): Remove reference to it.
7570         * config.host (i386-vsta): Remove reference to it.
7571
7572 2003-09-19  Phil Edwards  <phil@codesourcery.com>
7573
7574         * doc/install.texi:  Document the multiple testsuite options.
7575
7576 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
7577
7578         * doc/install.texi (Specific): Add the specific versions of GCC
7579         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
7580         version 3 and older was discontinued.
7581
7582 2003-09-19      Joel Sherrill <joel@oarcorp.com>
7583
7584         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
7585         68881.
7586
7587 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
7588
7589         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
7590         for -m68030, -m68020-60 and -m68020-40.
7591         * config/m68k/m68k.h (TARGET_68030): New target flag.
7592         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
7593         TARGET_REGPARM): Remove.
7594         * config/m68k/m68k.h: Regroup and renumber target flags.
7595         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
7596         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
7597         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
7598         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
7599         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
7600
7601 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7602
7603         * config/m68k/t-rtems (m68k-*-rtems*): New.
7604         * config.gcc: Use config/m68k/t-rtems.
7605
7606 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7607
7608         * config/mips/t-rtems: New.
7609         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
7610
7611 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
7612
7613         * cgraph.c: Fix typo in debugging output.
7614
7615 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7616             Eric Botcazou <ebotcazou@libertysurf.fr>
7617
7618         PR target/12166
7619         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
7620
7621 2003-09-18  Mike Stump  <mrs@apple.com>
7622
7623         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
7624         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
7625         cb_ident, cb_def_pragma):  Use fileline typedef.
7626         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
7627
7628 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
7629
7630         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
7631         total parm size if a parm has incomplete type.
7632         (gen_fastcall_suffix): Likewise.
7633
7634 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7635
7636         * except.c (output_function_exception_table): Adjust last change
7637         to handle TYPE of INTEGER_CST.
7638
7639 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
7640
7641         PR target/11184
7642         * builtins.c (expand_builtin_apply): Use convert_memory_address
7643         before returning the value.
7644
7645         * alias.c (find_base_value): Simplify use of
7646         convert_memory_address.
7647         (find_base_term): Likewise.
7648         * builtins.c (expand_builtin_stejmp_setup): Likewise.
7649         (expand_builtin_longjmp): Likewise.
7650         (expand_builtin_prefetch): Likewise.
7651         (get_memory_rtx): Likewise.
7652         (expand_builtin_return): Likewise.
7653         (expand_builtin_memcpy): Likewise.
7654         (expand_builtin_strncpy): Likewise.
7655         (expand_builtin_memset): Likewise.
7656         (expand_builtin_va_arg): Likewise.
7657         (expand_builtin_va_copy): Likewise.
7658         (expand_builtin_alloca): Likewise.
7659         * calls.c (expand_call): Likewise.
7660         * except.c (expand_builtin_extract_return_addr): Likewise.
7661         (expand_builtin_eh_return): Likewise.
7662         * explow.c (convert_memory_address): Define even when
7663         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
7664         is already in the right mode.
7665         * explow.c (memory_address): Simplify use of convert_memory_address.
7666         (probe_stack_range): Likewise.
7667         * expmed.c (make_tree): Likewise.
7668         * expr.c (emit_block_move_in_libcall): Likewise.
7669         (expand_assignment): Likewise.
7670         (expand_expr): Likewise.
7671         * function.c (assign_parms): Likewise.
7672         (expand_function_end): Likewise.
7673         * integrate.c (copy_rtx_and_substitute): Likewise.
7674         * stmt.c (expand_computed_goto): Likewise.
7675
7676 2003-09-18  Roger Sayle  <roger@eyesopen.com>
7677
7678         * simplify-rtx.c (simplify_unary_operation): Only transform
7679         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
7680         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
7681
7682 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7683
7684         PR target/11674
7685         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
7686
7687 2003-09-18  Roger Sayle  <roger@eyesopen.com>
7688
7689         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
7690         PARITY_EXPR): Delete unused tree codes.
7691         * c-common.c (c_common_truthvalue_conversion): Delete references
7692         to FFS_EXPR and POPCOUNT_EXPR.
7693         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
7694         (pp_c_expression): Likewise.
7695         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
7696         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
7697         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
7698         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
7699         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
7700         and long long variants.
7701
7702 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7703
7704         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
7705         * c-pretty-print.c: Fix formatting.
7706         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
7707         (pp_c_type_specifier): Tidy.
7708         (pp_c_compound_literal): New function.
7709         (pp_c_initializer): Simplify..
7710         (pp_c_initializer_list): Likewise.
7711         (pp_c_brace_enclosed_initializer_list): New function.
7712         (pp_c_postfix_expression): Simplify.
7713
7714 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
7715
7716         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
7717         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
7718
7719 2003-09-17  Richard Henderson  <rth@redhat.com>
7720
7721         * tree-optimize.c (tree_rest_of_compilation): Save and restore
7722         input_location.
7723
7724 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7725
7726         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
7727
7728 2003-09-17  Richard Henderson  <rth@redhat.com>
7729
7730         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
7731
7732 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7733
7734         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
7735         * configure: Regenerate.
7736
7737 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
7738
7739         PR debug/12066
7740         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
7741         * langhooks-def.h (lhd_return_null_tree_v): New function.
7742         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
7743         (LANG_HOOKS_DECLS): Add it to the intializer.
7744         * langhooks.c (lhd_return_null_tree_v): New function.
7745         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
7746
7747 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7748
7749         * configure.in: Quote gcc_config_arguments for configargs.h.
7750         * configure: Regenerated.
7751         * gccbug.in: Don't shell-expand gcc_config_arguments.
7752
7753 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7754
7755         PR c++/11357
7756         * c-pretty-print.c (pp_c_floating_constant): Append
7757         type-annotation to floating constants.
7758
7759 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7760
7761         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
7762         Define _ABIO32.
7763         Use it for _MIPS_SIM.
7764         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
7765
7766         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
7767         Moved ...
7768         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
7769         updating comment.
7770         Fixes PR target/10190.
7771
7772 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7773
7774         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
7775         to shared libraries.
7776
7777 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
7778
7779         PR optimization/11646
7780         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
7781         EDGE_ABNORMAL flag for EH edges.
7782         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
7783         if dead edges were purged.
7784
7785 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
7786
7787         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
7788         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
7789         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
7790         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
7791
7792 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
7793
7794         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
7795         returned by tablejump_p.
7796
7797 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
7798
7799         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
7800
7801 2003-09-16  Roger Sayle  <roger@eyesopen.com>
7802
7803         PR bootstrap/12269
7804         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
7805         argument to be VOIDmode, taking the mode of the comparison from
7806         the operands.  Only call simplify_relational_operation if we
7807         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
7808         if comparison has a floating point result.  Ensure that the
7809         result is always of the specified mode.
7810         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
7811         (simplify_unary_operation): Ensure the correct mode and cmp_mode
7812         are always passed to simplify_gen_relational.  Simplify NOT of
7813         comparison operator in any mode, not just BImode.
7814         (simplify_ternary_operation): Correct tests on the return value
7815         of simplify_relational_operation to use const_true_rtx, not
7816         const1_rtx.  Abort if it ever returns a non-constant result.
7817
7818         * cfgloopanal.c (count_strange_loop_iterations): Use the function
7819         simplify_relational_operation, not simplify_gen_relational, if
7820         we're only interested in constant comparisons and will ignore
7821         non-constant results.
7822
7823 2003-09-16  Roger Sayle  <roger@eyesopen.com>
7824
7825         * fold-const.c (tree_swap_operands_p): New function to determine
7826         the prefered ordering of operands.
7827         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
7828         operands to commutative, comparison or ternary operators.  Replace
7829         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
7830         transformation of A ? B : C into !A ? C : B.
7831
7832 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
7833
7834         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7835         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7836         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7837         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7838         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7839         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7840         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7841         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7842
7843 2003-09-16  Jason Merrill  <jason@redhat.com>
7844             Jakub Jelinek  <jakub@redhat.com>
7845
7846         * c-common.c (handle_warn_unused_result_attribute): New function.
7847         (c_common_attribute_table): Add warn_unused_result.
7848         (c_expand_expr): Issue warning when result of inlined function
7849         with warn_unused_result attribute is ignored.
7850         * calls.c (expand_call): Issue warning when result of function
7851         with warn_unused_result attribute is ignored.
7852         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
7853         * expr.c (expr_wfl_stack): Define.
7854         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
7855         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
7856         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
7857         bit if inlined function has warn_unused_result attribute.
7858         * input.h (expr_wfl_stack): Declare.
7859         * doc/extend.texi: Document warn_unused_result attribute.
7860
7861 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
7862
7863         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
7864
7865 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
7866
7867         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
7868         ATTRIBUTE_UNUSED.
7869         (call_insn_operand): For PIC, don't allow a direct call to a
7870         function in a different section than the current one.
7871
7872 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7873
7874         * doc/invoke.texi (Warning Options): Add missing hyphen before
7875         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
7876         Move "-Wold-style-definition" to the C-only section.
7877         Fix the ordering of the warning options.
7878
7879 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7880             Jeff Law  <law@redhat.com>
7881
7882         * gcse.c (remove_reachable_equiv_notes): New.
7883         replace_store_insn): Call it.  Update antic list.
7884         (store_killed_in_insn): Take REG_EQUAL notes into account.
7885         (build_store_vectors, delete_store): Add parameter to
7886         replace_store_insn call.
7887
7888 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
7889
7890         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
7891         SYMBOL_REF_LOCAL_P.
7892
7893 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7894
7895         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
7896         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
7897         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
7898         Likewise.
7899         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
7900         Likewise.
7901         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
7902         * config/sparc/sparc.c (function_arg_padding): Likewise.
7903
7904 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
7905
7906         * haifa-sched.c (schedule_block): Use ready_remove_first instead
7907         of choose_ready for non-dfa insn scheduling.
7908
7909 2003-09-15  Andreas Jaeger  <aj@suse.de>
7910             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7911
7912         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
7913         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
7914         * c-parse.in: Warn about old-style parameter definition.
7915         * c-common.c: Define warn_old_style_defintion.
7916         * c-common.h: Declare it.
7917         * c.opt: Add Wold-style-defintion.
7918
7919 2003-09-15  Andreas Jaeger  <aj@suse.de>
7920
7921         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
7922         * config/rs6000/rs6000.c: Likewise.
7923
7924 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7925
7926         PR optimization/10914
7927         * expr.h (get_condition, canonicalize_condition): Declaration changed.
7928         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
7929         and canonicalize_condition calls.
7930         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
7931         delete_null_pointer_checks): Ditto.
7932         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
7933         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
7934         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
7935         (canonicalize_condition, get_condition): Allow to return comparisons
7936         of cc mode registers.
7937         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
7938         cc mode registers comparison in condition.
7939
7940 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
7941
7942         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
7943         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
7944         function.
7945         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
7946
7947 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7948
7949         * combine.c (simplify_comparison): Convert
7950         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
7951         (eq (and (lshiftrt X Y) 1) 0).
7952
7953 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7954
7955         * alias.c: Follow spelling conventions.
7956         * cpphash.h: Likewise.
7957         * fold-const.c: Likewise.
7958
7959 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
7960
7961         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
7962         * c-lex.c (cb_line_change): Skip line changing whenever
7963         c-ppoutput.c would.
7964
7965 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
7966
7967         * ra.c: Convert to ISO C90 prototypes.
7968         * ra-build.c: Likewise.
7969         * ra-colorize.c: Likewise.
7970         * ra-debug.c: Likewise.
7971         * ra-rewrite.c: Likewise.
7972
7973 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
7974
7975         * Makefile.in (%.dvi): Remove excess $(docdir).
7976
7977 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
7978
7979         * function.c (STACK_BYTES): Move definition to head of file.
7980         (assign_parms): Don't pass current_function_pretend_args_size
7981         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
7982         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
7983         excess before laying out the argument.
7984
7985 2003-09-14  Andreas Jaeger  <aj@suse.de>
7986
7987         * objc/objc-act.c: Convert to ISO C90 prototypes.
7988         * objc/objc-act.h: Likewise.
7989
7990 2003-09-14  Olaf Hering  <olh@suse.de>
7991
7992         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
7993
7994 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
7995
7996         PR target/12021
7997         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
7998         as they already are done in config/m68k/m68k.h.
7999         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
8000
8001         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
8002         (machopic_output_stub): Only generate pic base symbols when using pic
8003         and generate them in the form L00000000$spb.
8004
8005 2003-09-13  Richard Henderson  <rth@redhat.com>
8006
8007         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
8008         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
8009         * cgraph.h: Update.
8010
8011 2003-09-12  Dale Johannesen  <dalej@apple.com>
8012
8013         * config/rs6000/rs6000.c: Fix typos in previous.
8014
8015 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
8016
8017         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
8018         when allocating pp->buffer.
8019
8020 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
8021
8022         * config/darwin.c (machopic_select_rtx_section): Use
8023         const_data_section for things that might require relocation.
8024
8025 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
8026
8027         PR bootstrap/12264
8028         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
8029
8030 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
8031
8032         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
8033         * config/xtensa/linux.h (ASM_SPEC): Likewise.
8034         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
8035         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
8036         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
8037         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
8038         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
8039         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
8040         and redefine corresponding TARGET_* macros with constants from the
8041         xtensa-config.h header.
8042         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
8043         for the options listed above.
8044
8045 2003-09-12  Dale Johannesen  <dalej@apple.com>
8046
8047         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
8048         * config/rs6000/rs6000-c.c:  Ditto.
8049         * config/rs6000/rs6000.c:  Ditto.
8050         * config/rs6000/ sysv4.h:  Ditto.
8051
8052 2003-09-12  Chris Lattner <sabre@nondot.org>
8053
8054         * loop.c: Move comments describing BIV's and GIV's to top of file
8055
8056 2003-09-12  Roger Sayle  <roger@eyesopen.com>
8057
8058         PR optimization/8967
8059         * alias.c (write_dependence_p): Modify to take an additional constp
8060         argument that controls whether the UNCHANGING_RTX_P flags are used.
8061         (anti_dependence, output_dependence): Adjust write_dependence_p
8062         callers to pass this additional argument, to return the same result.
8063         (unchanging_anti_dependence): New variant of anti_dependence that
8064         ignores the UNCHANGING_RTX_P property on memory references.
8065         * rtl.h (unchaning_anti_dependence): Prototype here.
8066         * flow.c (init_propagate_block): Place fake constant mem writes on
8067         the mem_set_list so that dead writes to const variables are deleted.
8068         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
8069         (mark_used_regs): Likewise.
8070
8071 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
8072
8073         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
8074         (mcore_secondary_reload_class): Declare.
8075         (mcore_output_inline_const_forced): Remove.
8076         * config/mcore/mcore.md (movsi): Remove the code that forced
8077         non-inlineable constants into a register if the target was r15
8078         or the stack pointer.  Remove constant restrictions from the main
8079         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
8080         of an r <- P alternative.  Remove fallback define_insn for reload.
8081         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
8082         define_insn.  Use mcore_output_move in the remaining define_insn.
8083         Adjust condition and constraints in the way as for movsi.
8084         (movdi): Always split unacceptable constants into two.  Use
8085         simplify_gen_subreg instead of operand_subword{,_force}.
8086         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
8087         (mcore_output_move): Support HImode and QImode moves as well.
8088         (mcore_m15_operand_p): New function.
8089         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
8090         (mcore_secondary_reload_class): New function.
8091         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
8092         terms of mcore_secondary_reload_class.
8093
8094 2003-09-11  Mike Stump  <mrs@apple.com>
8095
8096         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
8097
8098 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8099
8100         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
8101         MODE exactly, then only convert logN(N) -> 1.0 if
8102         flag_unsafe_math_optimizations is set.
8103
8104         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
8105         init_builtin_dconsts): Delete.
8106         * emit-rtl.c (dconstpi, dconste): Define.
8107         (init_emit_once): Initialize dconstpi & dconste.
8108         * real.h (dconstpi, dconste): Declare.
8109
8110 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
8111
8112         PR fortran/11522
8113         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
8114         for ultimate origin even if block is abstract.
8115
8116 2003-09-11  Roger Sayle  <roger@eyesopen.com>
8117
8118         * combine.c (combine_simplify_rtx): Move several NOT and NEG
8119         optimizations from here...
8120         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
8121         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
8122
8123 2003-09-11  Richard Henderson  <rth@redhat.com>
8124
8125         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
8126         Tweek tests for function already generated.
8127         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
8128         * cgraph.h (cgraph_finalize_function): Update for extra arg.
8129         * c-decl.c (finish_function): Likewise.
8130
8131 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
8132
8133         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
8134
8135 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
8136
8137         * real.c: Update URL to VAX floating point docs.
8138         (decode_vax_d): Extract 8 exponent bits instead of 7.
8139
8140 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
8141
8142         * combine.c (force_to_mode): Set fuller_mask based only on mask,
8143         not op_mode.
8144
8145 2003-09-11  Jan Hubicka  <jh@suse.cz>
8146
8147         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
8148         on why function is not inlinable; do not check
8149         the body.
8150         (inline_forbidden_p): Move to...
8151         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
8152         deal with alloca, longjmp.
8153         (inline_forbidden_p): New static function.
8154         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
8155         find_builtin_longjmp_call): Kill.
8156
8157 2003-09-10  Richard Henderson  <rth@redhat.com>
8158
8159         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
8160         * cgraphunit.c: Update to match.
8161         (record_call_1): Rearrange.  Call lang hook for language nodes.
8162         (cgraph_analyze_function): Don't call lower_function.
8163         * langhooks.h (struct lang_hooks_for_callgraph): Replace
8164         lower_function with analyze_expr.
8165         * langhooks-def.h: Update to match.
8166         * langhooks.c (lhd_callgraph_analyze_expr): New.
8167
8168 2003-09-10  Martin Husemann  <martin@duskware.de>
8169
8170         PR target/11965
8171         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
8172         constants greater than 63.
8173         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
8174         against constants greater than 31.
8175         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
8176         constants greater than 63.
8177
8178 2003-09-09  Richard Henderson  <rth@redhat.com>
8179
8180         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
8181         * cgraph.h (cgraph_finalize_function): Update.
8182         * c-decl.c (finish_function): Update.
8183
8184 2003-09-09  Devang Patel  <dpatel@apple.com>
8185
8186         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
8187         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
8188
8189 2003-09-09  Eric Christopher  <echristo@redhat.com>
8190
8191         * configure.in: Change usage of 'head' to 'sed 1q'.
8192         * configure: Regenerate.
8193
8194 2003-09-09  Richard Henderson  <rth@redhat.com>
8195
8196         * except.c: Include cgraph.h.
8197         (output_function_exception_table): Invoke
8198         cgraph_varpool_mark_needed_node.
8199         * Makefile.in (except.o): Update.
8200
8201 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
8202
8203         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
8204         and use it throughout.
8205
8206 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8207
8208         * builtins.c (real_dconstp, fold_builtin_logarithm,
8209         fold_builtin_exponent): New, split out from fold_builtin.  Also
8210         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
8211         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
8212         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
8213         of hardcoded array size.
8214         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
8215         (tree_expr_nonnegative_p): Likewise.
8216         * real.h (dconst3, dconst10, dconstthird): New.
8217
8218 2003-09-09  Jan Hubicka  <jh@suse.cz>
8219
8220         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
8221         inline functions.
8222         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
8223         DECL_SAVED_TREE.
8224
8225 2003-09-09  Roger Sayle  <roger@eyesopen.com>
8226
8227         * builtins.c (fold_builtin_cabs): Protect the complex argument
8228         against multiple evaluation when optimizing cabs* into sqrt*.
8229
8230 2003-09-09  Jan Hubicka  <jh@suse.cz>
8231
8232         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
8233
8234 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
8235
8236         * Makefile.in: Revert yesterday's change.
8237
8238 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
8239             Peter Barada <peter@baradas.org>
8240
8241         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
8242         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
8243         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
8244         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
8245         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
8246         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
8247         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
8248         (m68k_compute_frame_layout): New function.
8249         (m68k_initial_elimination_offset): New function.
8250         (m68k_output_function_prologue): ColdFire-specific movem handling.
8251         (m68k_output_function_epilogue): Likewise.
8252         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
8253         (ARG_POINTER_REGNUM): Add new definition.
8254         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
8255         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
8256         (CAN_ELIMINATE): Likewise.
8257         (INITIAL_ELIMINATION_OFFSET): Likewise.
8258
8259 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
8260
8261         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
8262         by removing redundant variable cfa_store_offset.
8263
8264 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
8265
8266         * langhooks-def.h (lhd_register_builtin_type): New function.
8267         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
8268         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
8269         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
8270         * langhooks.c (lhd_register_builtin_type): New function.
8271         * c-common.h (c_register_builtin_type): Declare.
8272         * c-common.c (c_register_builtin_type): New function.
8273         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
8274         c_register_builtin_type.
8275         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
8276         __float80, and __float128 macros.
8277         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
8278         __float80, and __float128 types.
8279
8280 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8281
8282         * builtin-types.def
8283         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
8284         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
8285         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
8286         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
8287         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
8288         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
8289         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
8290         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
8291         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
8292         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
8293         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
8294         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
8295         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
8296         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
8297         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
8298         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
8299         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
8300         New.
8301         * doc/extend.texi: Document new builtins.
8302
8303 2003-09-09  Jan Hubicka  <jh@suse.cz>
8304
8305         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
8306         finalization.
8307         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
8308         functions, check for COMDAT.
8309         (cgraph_assemble_pending_functions): Break out from...
8310         (cgraph_finalize_function): ... here; allow redefinig of extern inline
8311         functions.
8312         (record_call_1): Record function references only in non-unit-at-a-time
8313         mode.
8314         (cgraph_analyze_function): Reset current_function_decl.
8315         (cgraph_finalize_compilation_unit):  Assemble pending functions.
8316
8317 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
8318
8319         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
8320         (libgov.a): Likewise.
8321         (libgcc_eh.a): Likewise.
8322
8323 2003-09-08  Roger Sayle  <roger@eyesopen.com>
8324
8325         * fold-const.c (operand_equal_p): Clarify documentation.
8326
8327 2003-09-08  Richard Henderson  <rth@redhat.com>
8328
8329         * c-decl.c (c_expand_body_1): Push and pop function context here.
8330         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
8331         nested argument instead of computing nesting ourselves.
8332
8333 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
8334
8335         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
8336         regstack if optimizing but not scheduling after reload.
8337
8338 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
8339
8340         * config/sparc/sparc.c (struct machine_function): New type.
8341         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
8342         (sparc_override_options): Initialize init_machine_status.
8343         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
8344         tie_symbolic_operand, tle_symbolic_operand): New functions.
8345         (symbolic_operand): Disallow tls_symbolic_operand.
8346         (symbolic_memory_operand): Likewise.
8347         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
8348         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
8349         New functions.
8350         (sparc_tls_symbol): New variable.
8351         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
8352         legitimize_address): New functions.
8353         (print_operand): Handle %&.
8354         (sparc_init_machine_status, get_some_local_dynamic_name,
8355         get_some_local_dynamic_name_1): New functions.
8356         (sparc_output_dwarf_dtprel): New function.
8357         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
8358         constant_address_p.
8359         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
8360         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
8361         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
8362         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
8363         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
8364         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
8365         (ASM_OUTPUT_DWARF_DTPREL): Define.
8366         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
8367         tie_symbolic_operand, tle_symbolic_operand.
8368         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
8369         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
8370         (tls_call_delay): New attribute.
8371         (in_call_delay): Use it.
8372         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
8373         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
8374         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
8375         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
8376         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
8377         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
8378         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
8379         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
8380         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
8381         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
8382         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
8383         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
8384         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
8385         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
8386         insns.
8387         * config/sparc/sparc-protos.h (legitimate_constant_p,
8388         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
8389         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
8390         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
8391         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
8392         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
8393         * configure.in (sparc*-*-*): Add TLS check.
8394         * configure: Rebuilt.
8395
8396 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
8397
8398         PR target/11689
8399         * config/i386/i386.c (memory_address_length): Fix computation when
8400         the base is esp or ebp.
8401
8402 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
8403
8404         PR c++/11852
8405         * varasm.c (initializer_constant_valid_p): Correct logic for
8406         CONSTRUCTORs.
8407
8408 2003-09-07  Roger Sayle  <roger@eyesopen.com>
8409
8410         * expr.c (expand_operands): New function to expand an operand pair.
8411         (expand_expr): Call expand_operands whenever we need to expand both
8412         operands of a binary operator.
8413         (do_store_flag): Likewise for operands of comparison operations.
8414
8415 2003-09-07  Roger Sayle  <roger@eyesopen.com>
8416
8417         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
8418         (-A)*B if we care about sign-dependent rounding.
8419
8420 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
8421
8422         * c-pretty-print.h (pp_c_left_brace): Declare.
8423         (pp_c_right_brace): Likewise.
8424         * c-pretty-print.c (pp_c_left_brace): Now a function
8425         (pp_c_right_brace): Likewise.
8426
8427 2003-09-07  Jan Hubicka  <jh@suse.cz>
8428
8429         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
8430
8431 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8432
8433         * diagnostic.c (warn_deprecated_use): Move to toplev.c
8434
8435 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8436
8437         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
8438         * Makefile.in (langhooks.o): Depend on diagnostic.h
8439
8440 2003-09-06  James E Wilson  <wilson@tuliptree.org>
8441
8442         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
8443         simplify.
8444
8445 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
8446
8447         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
8448         and use it throughout.
8449
8450 2003-09-07  Jan Hubicka  <jh@suse.cz>
8451
8452         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
8453
8454         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
8455         virables.
8456
8457         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
8458         functions.
8459         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
8460
8461 2003-09-06  Jan Hubicka  <jh@suse.cz>
8462
8463         PR target/12070
8464         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
8465
8466         PR opt/12082
8467         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
8468
8469 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8470
8471         * diagnostic.c (announce_function): Move to toplev.c.
8472
8473 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8474
8475         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
8476         volatile mem.
8477
8478 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8479
8480         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
8481         when gc checking is enabled.
8482
8483 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
8484
8485         PR c/9862
8486         * c-decl.c (c_expand_body_1): Move return warning from here...
8487         (finish_function): ...to here.
8488
8489 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
8490
8491         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
8492         a subset of the input class.
8493
8494 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8495
8496         * config/i860/i860.c: Follow spelling conventions.
8497         * config/i860/i860.h: Likewise.
8498         * config/sh/sh.h: Likewise.
8499
8500 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
8501
8502         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
8503         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
8504         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
8505
8506 2003-09-05  Roger Sayle  <roger@eyesopen.com>
8507             Richard Henderson  <rth@redhat.com>
8508
8509         PR optimization/1823
8510         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
8511         multiplication to implement division by constant integer.
8512
8513 2003-09-05  Jan Hubicka  <jh@suse.cz>
8514
8515         * opts.c (decode_options): Enable unit-at-a-time at -O2.
8516         * params.def (max-inline-insns-single): Set to 500
8517         (max-inline-insns-auto): Set to 150
8518         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
8519
8520 2003-09-04  Richard Henderson  <rth@redhat.com>
8521
8522         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
8523         (cgraph_mark_needed_node): Remove needed argument.
8524         * cgraph.h: Update to match.
8525         * cgraphunit.c (decide_is_function_needed): Split out from ...
8526         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
8527         if we generated the function.
8528         (record_call_1): Update for cgraph_mark_reachable_node.
8529         * varasm.c (mark_referenced): Likewise.
8530         * objc/objc-act.c (mark_referenced_methods): Likewise.
8531
8532 2003-09-04  DJ Delorie  <dj@redhat.com>
8533
8534         * targhooks.c: Add comment explaining the migration process.
8535
8536 2003-09-04  Eric Christopher  <echristo@redhat.com>
8537
8538         * config/frv/t-frv: Fix path for frv-abi.h.
8539         * config/frv/frv-asm.h: Fix string concatenation.
8540
8541 2003-09-04  DJ Delorie  <dj@redhat.com>
8542
8543         * builtins.c (apply_args_size): Guard against a NULL cfun.
8544         (expand_builtin_apply_args_1): Likewise.
8545         (expand_builtin_apply): Likewise.
8546         Fixes PR bootstrap/12172.
8547
8548 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8549
8550         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
8551         assembler supports Sun syntax for cmov.
8552         * configure: Regenerate.
8553         * config.in: Likewise.
8554         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
8555         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
8556         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
8557         Fixes PR target/12101.
8558
8559 2003-09-04  Matt Austern  <austern@apple.com>
8560
8561         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
8562         with verbosity 0, instead of DECL_NAME, for human-readable string.
8563
8564 2003-09-04  Eric Christopher  <echristo@redhat.com>
8565
8566         * targhooks.c (default_return_in_memory): Allow
8567         unconverted ports.
8568
8569 2003-09-04  Eric Christopher  <echristo@redhat.com>
8570
8571         * targhooks.c (default_return_in_memory): Fix typo
8572         in last checkin.
8573
8574 2003-09-04  Eric Christopher  <echristo@redhat.com>
8575
8576         * targhooks.c (default_return_in_memory): Fix default
8577         definition.
8578
8579 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
8580
8581         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
8582         deleted function.
8583         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
8584         enable coff-only code in m68k.c.
8585
8586 2003-09-04  Nick Clifton  <nickc@redhat.com>
8587
8588         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
8589         v850e1.
8590         * config/v850/v850.h: Accept v850e1 as a default CPU.
8591         Accept -mv850e1 as a command line option.
8592         * doc/invoke.texi: Document new -mv850e1 command line switch.
8593         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
8594         -mv850e.
8595
8596 2003-09-04  Nick Clifton  <nickc@redhat.com>
8597
8598         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
8599         * config/v850/t-v850: Only produce one extra multilib - for
8600         the v850e.
8601         * config/v850/t-v850e: New file: Only produce one extra
8602         multilib - for the v850.
8603
8604 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
8605
8606         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
8607         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
8608         * unwind.h (_Unwind_GetBSP): New prototype.
8609         * libgcc-std.ver: Add empty GCC_3.3.2 version.
8610         * mkmap-symver.awk: For symbol versions with no exported symbols,
8611         don't put anything into version script, just change all symbol
8612         versions which inherit from it to inherit from its ancestor.
8613
8614 2003-09-04  Eric Christopher  <echristo@redhat.com>
8615
8616         * config/mips/mips.c (mips_expand_prologue): Convert to
8617         calls.struct_value_rtx hook.
8618         (reg_or_const_float_1_operand): New.
8619         * config/mips/mips.h: Update Comments.
8620         (mips_arg): Add reg_or_const_float_1_operand.
8621         * config/mips/mips.md (divdf3); Convert to expander.
8622         (divsf3): Ditto.
8623         (*divdf3): New pattern.
8624         (*divsf3): Ditto.
8625
8626 2003-09-04  Jan Hubicka  <jh@suse.cz>
8627
8628         * toplev.c (wrapup_global_declarations): Fix final pass in
8629         unit-at-atime mode.
8630
8631 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
8632
8633         * doc/extend.texi: Document removal of cast-as-lvalue extension in
8634         C++.
8635
8636 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
8637
8638         * gcc.c (process_command): Fix typo.
8639
8640 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
8641
8642         optimization/11980
8643         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
8644         (PTRDIFF_TYPE): Likewise.
8645         (WCHAR_TYPE_SIZE): Likewise.
8646
8647 2003-09-03  DJ Delorie  <dj@redhat.com>
8648
8649         * targhooks.c: New file.
8650         * targhooks.h: New file.
8651         * Makefile.in: Add targhooks.o support.
8652         (function.o): Depend on$(TARGET_H).
8653         (stmt.o): Likewise.
8654         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
8655         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
8656         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
8657         (expand_builtin_saveregs): Convert to
8658         calls.expand_builtin_saveregs hook.
8659         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
8660         here, instead of ...
8661         (get_parm_info) ... here.
8662         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
8663         hook.
8664         (finish_function): Handle calls.promote_prototypes hook here too.
8665         * c-typeck.c (convert_arguments): Convert to
8666         calls.promote_prototypes hook.
8667         (c_convert_parm_for_inlining): Likewise.
8668         * calls.c (initialize_argument_information): Convert to
8669         calls.promote_function_args hook.
8670         (expand_call): Convert to calls.struct_value_rtx,
8671         calls.strict_argument_naming,
8672         calls.pretend_outgoing_varargs_named, and
8673         calls.promote_function_return hooks.  Pass fndecl to
8674         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
8675         hooks, so they can use that.
8676         (emit_library_call_value_1): Likewise.
8677         * combine.c (setup_incoming_promotions): Convert to
8678         calls.promote_function_args hook.
8679         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
8680         * expr.c (expand_assignment): Pass call to aggregate_value_p.
8681         (expand_expr): Likewise.
8682         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
8683         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8684         RETURN_IN_MEMORY macro defaults.
8685         * final.c (profile_function): Convert to calls.struct_value_rtx
8686         hook.
8687         * function.c (aggregate_value_p): Accept function type tree as
8688         second parameter; try to deduce fntype from it.  Convert to
8689         calls.return_in_memory hook.
8690         (assign_parms): Convert to calls.setup_incoming_varargs,
8691         calls.strict_argument_naming, calls.promote_function_args,
8692         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
8693         aggregate_value_p.
8694         (expand_function_start): Likewise.  Convert to
8695         calls.struct_value_rtx hook.
8696         (expand_function_end): Convert to calls.promote_function_return hook.
8697         (allocate_struct_function): Pass fndecl to aggregate_value_p.
8698         * hard-reg-set.h: Update comments to new hook names.
8699         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
8700         * reg-stack.c (stack_result): Likewise.
8701         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
8702         * stmt.c (expand_value_return): Convert to
8703         calls.promote_function_return hook.
8704         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
8705         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
8706         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
8707         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
8708         TARGET_STRICT_ARGUMENT_NAMING,
8709         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
8710         * target.h: Likewise.
8711         * tree.h (aggregate_value_p): Also takes a tree to deduce function
8712         attributes from (for target hooks).
8713         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
8714         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
8715         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
8716         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
8717         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
8718         to hooks.
8719
8720         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
8721         to aggregate_value_p.
8722         * config/arm/arm.c (arm_init_cumulative_args,
8723         arm_output_mi_thunk): Likewise.
8724         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
8725         Likewise.
8726         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
8727         mips_can_use_return_insn): Likewise.
8728         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
8729         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
8730         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
8731         aggregate_value_p.
8732         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
8733         function to aggregate_value_p.
8734         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
8735         aggregate_value_p.
8736
8737         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
8738         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
8739         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
8740         (sh_handle_renesas_attribute, sh_promote_prototypes,
8741         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
8742         sh_setup_incoming_varargs, sh_strict_argument_naming,
8743         sh_pretend_outgoing_varargs_named): New decls.
8744         (targetm): Add new hooks.
8745         (calc_live_regs): Save MACL and MACH if the function has the
8746         renesas attribute.
8747         (sh_expand_prologue): Support renesas attribute.
8748         (sh_builtin_saveregs): Make static.
8749         (sh_build_va_list): Support renesas attribute.
8750         (sh_va_start): Likewise.
8751         (sh_va_arg): Likewise.
8752         (sh_promote_prototypes): New.
8753         (sh_function_arg): New, moved from sh.h.  Support renesas
8754         attribute.
8755         (sh_function_arg_advance): Likewise.
8756         (sh_return_in_memory): Likewise.
8757         (sh_strict_argument_naming): Likewise.
8758         (sh_pretend_outgoing_varargs_named): Likewise.
8759         (sh_struct_value_rtx): New.
8760         (sh_attribute): Add renesas attribute.
8761         (sh_handle_renesas_attribute): New.
8762         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
8763         (sh_ms_bitfield_layout_p): Support renesas attribute also.
8764         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
8765         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
8766         -mhitachi.
8767         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
8768         target hooks.
8769         (sh_args): Add renesas_abi flag.
8770         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
8771         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
8772         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
8773         stack for the renesas abi.
8774         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8775         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
8776         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
8777         call cookie to indicate renesas calls.
8778
8779 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
8780
8781         * gcse.c (replace_one_set): New function.
8782         (pre_insert_copy_insn): Change the order of copying
8783         to make copy propagation discover additional PRE opportunities.
8784
8785 2003-09-03  Roger Sayle  <roger@eyesopen.com>
8786
8787         PR optimization/11700.
8788         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
8789         of a hard register is representable before trying to simplify it
8790         using subreg_hard_regno.
8791
8792 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8793
8794         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
8795         * configure: Regenerate.
8796
8797 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8798
8799         * intl.h (N_): Remove parentheses.
8800
8801 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
8802
8803         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
8804         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
8805         definition and code blocks compiled when not defined.
8806         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
8807         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
8808         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
8809         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
8810
8811 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
8812
8813         * cgraphunit.c (visited_nodes): New static variable.
8814         (record_call_1): Use walk_tree with visited_nodes.
8815         (cgraph_create_edges): Use walk_tree with visited_nodes.
8816         Setup/teardown visited_nodes hashtable.
8817
8818 2003-09-03  Roger Sayle  <roger@eyesopen.com>
8819
8820         * toplev.c (flag_rounding_math): New global variable.
8821         (f_options): Add to the list of language independent options.
8822         * flags.h (flag_rounding_math): Prototype here.
8823         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
8824         * common.opt (frounding-math): New common command line option.
8825         * opts.c (common_handle_option): Handle OPT_frounding_math.
8826         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
8827
8828         * doc/invoke.texi: Document this new command line option.
8829
8830 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8831
8832         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
8833
8834 2003-09-03  Jan Hubicka  <jh@suse.cz>
8835
8836         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
8837         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
8838         * c-objc-common.c: Kill include of gt-c-objc-common.h
8839         (expand_deferred_fns, deffer_fn): Kill function.
8840         (deferred_fns): Kill variable.
8841         (finish_cdtor): Update finish_function call.
8842         (c_objc_common_finish_file): Always call cgraph code.
8843         * c-parse.c: Regenerate.
8844         * c-parse.y: Regenerate.
8845         * c-tree.h (finish_function): Update prototype.
8846         * objc-acct.c (build_module_descriptor, finish_method_def):
8847         Update call of finish_function.
8848         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
8849         forward prototype.
8850         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
8851         function and assemble it if needed.
8852         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
8853         mode.
8854         (cgraph_optimize): Likewise.
8855         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
8856         even when it has no inline callees.
8857         * c-parse.in: Update calls to finish_function.
8858
8859 2003-09-03  Nick Clifton  <nickc@redhat.com>
8860
8861         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
8862         Use #error to generate the message if TARGET_DEFAULT is not
8863         recognised.
8864
8865 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
8866
8867         * config/mips/mips.h (MASK_UNUSED1): Remove.
8868         (MASK_XGOT, TARGET_XGOT): Define.
8869         (TARGET_SWITCHES): Add an entry for -mxgot.
8870         (ASM_SPEC): Map -mxgot to -xgot.
8871         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
8872         whether we're using a big-GOT sequences.
8873         (mips_legitimize_const_move, mips_expand_call): Likewise.
8874         (override_options): Revert 2003-01-09 change.
8875         * doc/invoke.texi: Document -mxgot.
8876
8877 2003-09-02  Jason Merrill  <jason@redhat.com>
8878
8879         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
8880         * config/sparc/sol2.h: Not here.
8881
8882 2003-09-02  Roger Sayle  <roger@eyesopen.com>
8883
8884         * expr.c (expand_expr): The code following both_summands performs
8885         the same task as simplify_gen_binary.  Replace all gotos to
8886         both_summands with a call to simplify_gen_binary and delete the
8887         now unused label.
8888
8889 2003-09-02  Jason Merrill  <jason@redhat.com>
8890
8891         PR c++/7327
8892         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
8893
8894 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
8895
8896         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
8897         (cgraph_optimize_function): Set current_function_decl to the
8898         fndecl we're integrating from.
8899
8900 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8901
8902         * builtins.def: Break out _Complex math functions into their
8903         own category.
8904
8905 2003-09-02  Andreas Jaeger  <aj@suse.de>
8906
8907         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
8908
8909 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
8910
8911         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
8912         finding the note again.
8913
8914 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8915
8916         * config.gcc: Remove host-specific rewrites of target_alias.
8917
8918 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
8919
8920         * Makefile.in (genprogs): Fix typo.
8921
8922         * Makefile.in (gencheck.o): Remove build commands.
8923         (dummy-conditions.o): Likewise.
8924         (read-rtl.o): Likewise.
8925         (gensupport.o): Likewise.
8926         (genconfig$(build_exeext)): Remove rule.
8927         (genconfig.o): Remove build commands.
8928         (genflags$(build_exeext)): Remove rule.
8929         (genflags.o): Remove build commands.
8930         (gencodes$(build_exeext)): Remove rule.
8931         (gencodes.o): Remove build commands.
8932         (genconstants.o): Remove build commands.
8933         (genemit$(build_exeext)): Remove rule.
8934         (genemit.o): Remove build commands.
8935         (genrecog$(build_exeext)): Remove rule.
8936         (genrecog.o): Remove build commands.
8937         (genextract$(build_exeext)): Remove rule.
8938         (genextract.o): Remove build commands.
8939         (genpeep$(build_exeext)): Remove rule.
8940         (genpeep.o): Remove build commands.
8941         (genattr$(build_exeext)): Remove rule.
8942         (genattr.o): Remove build commands.
8943         (genprognames): New variable.
8944         (genprogs): Likewise.
8945         (genobjs): Likewise.
8946         (genprogs): New rule.
8947         (genobjs): Likewise.
8948         (genattrtab.o): Remove build commands.
8949         (genautomata.o): Likewise.
8950         (genoutput$(build_exeext)): Remove rule.
8951         (genoutput.o): Remove build commands.
8952         (gengenrtl.o): Likewise.
8953         (genpreds.o): Likewise.
8954         (gengtype.o): Likewise.
8955         (genconditions.o): Likewise.
8956         (gen-protos.o): Likewise.
8957         (scan.o): Likewise.
8958         (fix-header.o): Likewise.
8959         (scan-decls.o): Likewise.
8960         (check-g++): Combine with other check targets.
8961         (check-gcc): Likewise.
8962         (check-g77): Likewise.
8963         (check-objc): Likewise.
8964
8965 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
8966
8967         * config.gcc: Remove host-specific stuff which is unused here
8968         since the introduction of config.host.
8969
8970         * doc/fragments.texi: Mention config.host.
8971         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
8972         of config.build, config.host, and config.gcc.
8973
8974 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
8975
8976         * c-decl.c (pushdecl): Don't put variables on
8977         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
8978         incomplete.
8979
8980 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
8981
8982         * config.host: New file.
8983         * config.gcc: Remove some host-specific stuff and some
8984         logic needed only for repeated invocation.
8985         * configure.in: Use config.host.
8986         * configure: Regenerate.
8987
8988 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
8989
8990         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
8991         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
8992         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
8993         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
8994         * tree.def (BIT_ANDTC_EXPR): Kill.
8995
8996 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8997
8998         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
8999         * configure: Regenerate.
9000
9001         * config.gcc:  Remove references to install_headers_dir, now unused
9002         since introduction of config.build.
9003         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
9004
9005         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
9006         config.build.
9007
9008         * config.build: New file.
9009         * config.gcc: Remove some build-specific stuff.
9010         * configure.in: Use config.build.
9011         * configure: Regnerate.
9012
9013 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
9014             Roger Sayle  <roger@eyesopen.com>
9015
9016         PR middle-end/11823
9017         * stmt.c (expand_end_case_type): Only use jump tables for dense
9018         switch statements when optimizing for size.
9019
9020 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
9021
9022         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
9023         the != 0 case, which ensures pending stack adjustments are flushed.
9024
9025 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9026
9027         * configure.frag: Delete file.
9028         * configure.in: Rename the substitution variables
9029         dep_host_xmake_file and dep_tmake_file to xmake_file and
9030         tmake_file respectively.  Do not expand $srcdir in the
9031         value of these; leave that for Make.  Introduce a new
9032         substitution varaible, all_lang_makefrags, which lists
9033         subdirectory Make-lang.in files; exclude these from
9034         all_lang_makefiles, which is now only for subdirectory
9035         outputs.  Do not invoke configure.frag.  Do not set nor
9036         AC_SUBST_FILE target_overrides, host_overrides, or
9037         language_fragments. Create build subdirectories in
9038         config.status extra commands.
9039         * configure: Regenerate.
9040         * Makefile.in: Update substitutions to match changes to
9041         configure.  Use include directives instead of @-insertions
9042         to read in host, target, and language fragments.
9043         (Makefile rule): Do not invoke configure.frag.  Do not copy
9044         config.status to config.run before executing it.  Set
9045         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
9046         regenerated.
9047         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
9048
9049 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9050
9051         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
9052         * c-typeck.c (same_translation_unit_p): New function.
9053         (comptypes): Use it instead of flags parameter to identify
9054         structure types from different translation units.
9055         * c-decl.c (duplicate_decls): Always call comptypes with
9056         COMPTYPE_STRICT flags argument.
9057         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
9058         to file_scope_decl.
9059
9060 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9061
9062         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
9063         * c-decl.c (struct c_scope): Remove "incomplete" field.
9064         (pushdecl): Attach variables with incomplete types to
9065         the TYPE_MAIN_VARIANT of the incomplete type in question.
9066         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
9067         to complete, not at current_scope->incomplete.  All such
9068         variables do need completion.
9069
9070 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
9071         Nicolas Pitre <nico@cam.org>
9072
9073         * arm/lib1funcs.asm (RETCOND): Delete.
9074         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
9075         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
9076         (__ARM_ARCH__): Move here from ieee754-?f.S.
9077         (RET, RETc): Clean up definitions.
9078         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
9079         (FUNC_END): New macro that marks the end of any function.
9080         (ARM_FUNC_START): New macro that allows an assembler routine to be
9081         implemented in ARM code even if a Thumb-only build.
9082         Unconditionally include ieee754-?f.S.
9083         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
9084         Mark ends of functions.
9085         Split into separate conditionally-compiled units.
9086         Use RETLDM to return from routines.
9087         * arm/ieee754-sf.S: Similarly.
9088         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
9089         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
9090         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
9091         _fixsfsi and _fixunssfsi.
9092
9093         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
9094         multiplication underflows to zero.
9095         (__adddf3): Fix bug when using VFP ordering on little-endian
9096         processors.
9097         (__fixdfsi): Use rrx to extract the carry into a register instead of
9098         MRS instruction.  Optimize later use of result.
9099         * arm/ieee754-sf.S (__fixsfsi): Likewise.
9100         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
9101
9102 2003-08-29  Richard Henderson  <rth@redhat.com>
9103
9104         * tree-optimize.c: New file.
9105         * Makefile.in (OBJS-archive): Add tree-optimize.o.
9106         (tree-optimize.o): New.
9107         * c-decl.c (store_parm_decls): Use allocate_struct_function.
9108         (finish_function): Don't free_after_parsing or free_after_compilation.
9109         (set_save_expr_context): Move to tree-optimize.c.
9110         (c_expand_body_1): Use tree_rest_of_compilation.
9111         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9112         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
9113         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
9114         iterate until closure.
9115         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
9116         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
9117         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
9118         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
9119         * toplev.h (tree_rest_of_compilation): Declare it.
9120
9121 2003-08-29  Richard Henderson  <rth@redhat.com>
9122
9123         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
9124         * integrate.c (save_for_inline): Set saved_for_inline.
9125         * c-semantics.c (genrtl_scope_stmt): Check it.
9126         * toplev.c (wrapup_global_declarations): Check it.
9127         (rest_of_handle_inlining): Set and check rtl_inline_init.
9128         (rest_of_compilation): Remove out of date comment.
9129
9130 2003-08-29  Richard Henderson  <rth@redhat.com>
9131
9132         * function.c (allocate_struct_function): New, split out of ...
9133         (prepare_function_start, init_function_start): ... here.
9134         * expr.c (init_expr): Use ggc_alloc_cleared.
9135         * stmt.c (init_stmt_for_function): Likewise.
9136         * tree.h (allocate_struct_function): Declare.
9137
9138 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9139
9140         * config.gcc: Don't use negated character class in shell case
9141         clause.
9142
9143 2003-08-29  Richard Henderson  <rth@redhat.com>
9144
9145         * function.h (struct function): Move function_frequency and
9146         max_jumptable_ents before start of bit field members.
9147
9148 2003-08-29  Richard Henderson  <rth@redhat.com>
9149
9150         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
9151         (fold_builtin_constant_p) ... not here.
9152
9153 2003-08-29  Richard Henderson  <rth@redhat.com>
9154
9155         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
9156         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
9157         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
9158
9159 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9160
9161         * builtins.def: Fix typos.
9162         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
9163         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
9164         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
9165         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
9166         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
9167
9168         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
9169         Use ATTR_MATHFN_FPROUNDING_ERRNO.
9170
9171 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9172
9173         * config.gcc (i386-*-vsta): Fix obvious bogosity.
9174
9175         * fixinc/inclhack.def:  Remove special cases for unsupported
9176         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
9177         * fixinc/fixincl.x: Regenerate.
9178
9179 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
9180
9181         * Makefile.in (cpp.info): Just state dependencies.
9182         (gcc.info): Likewise.
9183         (gccint.info): Likewise.
9184         (gccinstall.info): Likewise.
9185         (cppinternals.info): Likewise.
9186         (cpp.dvi): Likewise.
9187         (gcc.dvi): Likewise.
9188         (gccint.dvi): Likewise.
9189         (gccinstall.dvi): Likewise.
9190         (cppinternals.dvi): Likewise.
9191         (gcov.1): Likewise.
9192         (cpp.1): Likewise.
9193         (gcc.1): Likewise.
9194         (gfdl.7): Likewise.
9195         (gpl.7): Likewise.
9196         (fsf-funding.7): Likewise.
9197         ($(objdir)/%.info): New pattern rule.
9198         (%.dvi): Likewise.
9199
9200 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
9201
9202         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
9203         (restage2): Likewise.
9204         (restage3): Likewise.
9205         (restage4): Likewise.
9206         (restageprofile): Likewise.
9207         (restagefeedback): Likewise.
9208         (bubblestrap): Likewise.
9209
9210 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9211
9212         * config.gcc: Narrow unsupported target match to avoid clobbering
9213         i?86-sequent-sysv4*.
9214
9215 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9216
9217         * builtins.c (mathfn_built_in): Handle new math builtins.
9218
9219 2003-08-28  Per Bothner  <per@bothner.com>
9220
9221         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
9222         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
9223         (_cpp_lex_buffer):  Likewise.
9224         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
9225
9226 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
9227
9228         * config/s390/s390.md ("*mulsi3_sign"): New insn.
9229         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
9230         ("mulsidi3"): ... this new insn.
9231         ("umulsidi3"): New insn.
9232         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
9233         mixed-mode matching constraints.
9234         ("udivmodsi4", "udivmoddisi3"): New insns.
9235         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
9236
9237 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9238
9239         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
9240         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
9241         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
9242         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
9243         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
9244         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
9245         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
9246         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
9247         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
9248         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
9249         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
9250         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
9251         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
9252         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
9253         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
9254         * tree.c: Assign new type_nodes.
9255         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
9256         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
9257         (float_ptr_type_node, double_ptr_type_node,
9258         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
9259
9260         * doc/extend.texi: Document new builtins.
9261
9262 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9263
9264         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
9265         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
9266
9267         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
9268         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
9269         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
9270         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
9271         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
9272         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
9273         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
9274         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
9275         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
9276         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
9277
9278         * doc/extend.texi: Document new builtins.
9279
9280 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
9281
9282         * fixinc/mkfixinc.sh: Remove special case code for unsupported
9283         variants of i?86, powerpcle, and thumb.
9284         * fixinc/mkfixinc.sh: Remove special case code for unsupported
9285         arm and hppa variants.
9286
9287 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9288
9289         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
9290         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
9291         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
9292         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
9293         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
9294         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
9295         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
9296         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
9297         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
9298         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
9299
9300         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
9301         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
9302         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
9303         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
9304         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
9305         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
9306         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
9307         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
9308         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
9309         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
9310         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
9311         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
9312         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
9313         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
9314         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
9315         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
9316         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
9317         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
9318         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
9319         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
9320         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
9321         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
9322         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
9323         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
9324         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
9325         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
9326         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
9327         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
9328         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
9329         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
9330         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
9331
9332         * doc/extend.texi: Document new builtins.
9333
9334 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
9335
9336         * config/s390/s390.c (legitmate_constant_p): Use LARL on
9337         zSeries machines even in 31-bit addressing mode.
9338         (legitimate_reload_constant_p): Likewise.
9339         (legitimize_pic_address): Likewise.
9340         (legitimize_tls_address): Likewise.
9341         (s390_split_branches): Likewise.
9342         (s390_dump_pool): Likewise.
9343         (s390_mainpool_finish): Likewise.
9344         (s390_chunkify_start): Likewise.
9345         (s390_select_rtx_section): Likewise.
9346         * config/s390/s390.md ("doloop_si"): Likewise.
9347         ("pool_start_31", "pool_end_31"): Likewise.
9348         ("pool_start_64", "pool_end_64"): Likewise.
9349         ("main_base_31_small", "main_base_31_large"): Likewise.
9350         ("main_base_64"): Likewise.
9351         ("reload_base_31", "reload_base_64"): Likewise.
9352         ("*movsi_larl"): New insn.
9353         ("cjump", "icjump"): Use long branches on zSeries machines.
9354         ("jump"): Likewise.
9355         ("call"): Use BRASL on zSeries machines.
9356         ("call_value", "call_value_tls"): Likewise.
9357         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
9358         and replace by ...
9359         ("*bras", "*brasl", "*basr") ... these new insns.
9360         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
9361         "bas_31_r"): Remove and replace by ...
9362         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
9363         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
9364         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
9365         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
9366         ("*return_si", "*return_di"): Remove and replace by ...
9367         ("*return"): ... this new insn.
9368         ("rotlsi3"): Allow on zSeries machines.
9369
9370         * config/s390/s390.c (legitimize_reload_constant_p): Use
9371         LL/LH type instructions in z/Architecture mode.
9372         * config/s390/s390.md ("*movsi_lli"): Likewise.
9373         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
9374         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
9375         ("*extendqisi2"): Use LB in z/Architecture mode.
9376         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
9377         z/Architecture mode.
9378         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
9379         Likewise.
9380
9381         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
9382         and 31-bit mode.
9383         ("ptr_extend"): Allow only in 64-bit mode.
9384
9385 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
9386
9387         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
9388         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
9389         definitions.
9390         (main): Only use standard_startfile_prefix if native.
9391         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
9392
9393 2003-08-27  Per Bothner  <pbothner@apple.com>
9394
9395         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
9396         test fails following my 08-21 change, and it seems unnecessary anyway.
9397         (cpp_error):  Likewise.
9398
9399 2003-08-27  Jason Merrill  <jason@redhat.com>
9400
9401         * real.c (do_multiply): Initialize with memset.
9402
9403 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9404
9405         * gcov.c (typedef struct arc_info): New field cs_count.
9406         (accumulate_line_counts): Find cycles correctly.
9407
9408 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
9409
9410         * config/s390/s390.c (struct machine_function): Remove member
9411         literal_pool_label.
9412         (s390_optimize_prolog): Replace TEMP_REG argument with
9413         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
9414         (general_s_operand): Accept all immediates before reload if
9415         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
9416         references.
9417         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
9418         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
9419         (s390_alloc_pool): New function.
9420         (s390_new_pool): Call it.
9421         (s390_dump_pool): Add REMOTE_LABEL argument.
9422         (s390_chunkify_start): Add BASE_REG argument.  Do not check
9423         get_pool_size ().
9424         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
9425         s390_dump_pool call.
9426         (s390_pool_count, s390_nr_constants): Remove.
9427         (s390_output_constant_pool): Remove.
9428         (s390_mainpool_start): New function.
9429         (s390_mainpool_finish): New function.
9430         (s390_mainpool_cancel): New function.
9431         (s390_reorg): Implement main literal pool handling.
9432         (s390_emit_prologue): Emit main_pool placeholder instead of
9433         literal_pool_31 / literal_pool_64 insns.
9434         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
9435         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
9436         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
9437         ("main_base_31_small", "main_base_31_large"): New insns.
9438         ("main_base_64",  "main_pool"): New insns.
9439         ("literal_pool_31", "literal_pool_64"): Remove.
9440
9441 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
9442
9443         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
9444         fixinc.ptx.
9445         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
9446         Prettify a little.
9447         * fixinc/fixincl.x: Regenerate.
9448
9449 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
9450
9451         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
9452         (L_ieee754_dp): New.  Include ieee754-df.S.
9453         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
9454         and compilation in apcs-26 mode.
9455         * arm/ieee754-df.S: Likewise.
9456         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
9457         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
9458
9459 2003-08-27  Nicolas Pitre  <nico@cam.org>
9460
9461         * arm/ieee754-sf.S: New.
9462         * arm/ieee754-df.S: New.
9463
9464 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
9465
9466         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
9467         and restore it if returning NULL.
9468
9469 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
9470
9471         * calls.c (initialize_argument_information): If an argument has no
9472         stack space associated with it, and BLOCK_REG_PADDING is defined,
9473         use it to decide at which end the argument should be padded.
9474         * function.c (assign_parms): Allocate BLKmode stack slots.
9475         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
9476         (mips_pad_reg_upward): Declare.
9477         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
9478         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
9479         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
9480         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
9481         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
9482         (mips_expand_call): Remove code for generating structure shifts.
9483         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
9484         types unless using the EABI.
9485         (function_arg_advance): Don't generate shift instructions.
9486         (function_arg): Don't return them.  Don't short-circuit the
9487         check for double structure chunks for DFmode arguments.
9488         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
9489         (mips_expand_prologue): Remove code to emit structure shifts.
9490         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
9491         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
9492         comments to say that only structure returns are a problem.
9493
9494 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
9495
9496         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
9497         Fix to match produced versions.
9498         * fixinc/inclhack.def (longlong_t): New disabled test, ported
9499         from fixinc.svr4.
9500         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
9501         from fixinc.ptx.
9502         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
9503         ported from fixinc.ptx.
9504
9505 2003-08-26  Per Bothner  <pbothner@apple.com>
9506
9507         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
9508         (cpp_error_with_line):  Use fileline for appropriate parameter.
9509         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
9510         (struct cpp_reader):  Likewise for fields line and directive_line.
9511         (_cpp_begin_message):  Use fileline for appropriate parameter.
9512         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
9513         cpp_error):  Use fileline for appropriate parameters and variables.
9514         (print_location):  New local lin, since it is not a fileline.
9515
9516 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9517
9518         PR middle-end/12002
9519         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
9520         (FLOAT_TYPE_P): Define in terms of these two new macros.
9521         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
9522         for complex floating point types.
9523
9524 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9525
9526         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
9527         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
9528         s390_output_pool_entry.
9529
9530 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
9531
9532         * fixinc/inclhack.def (svr4_preproc_lint_on,
9533         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
9534         fixes, ported from fixinc.svr4.
9535
9536 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
9537
9538         * doc/install.texi (Prerequisites): Mention GNU make requirement.
9539
9540         * Makefile.in (AR_FOR_TARGET): Export it.
9541         (AR_CREATE_FOR_TARGET): Likewise.
9542         (AR_FLAGS_FOR_TARGET): Likewise.
9543         (AR_EXTRACT_FOR_TARGET): Likewise.
9544         (AWK): Likewise.
9545         (BUILD_PREFIX): Likewise.
9546         (BUILD_PREFIX_1): Likewise.
9547         (DESTDIR): Likewise.
9548         (GCC_FOR_TARGET): Likewise.
9549         (INCLUDES): Likewise.
9550         (INSTALL_DATA): Likewise.
9551         (LIB1ASMSRC): Likewise.
9552         (LIBGCC2_CFLAGS): Likewise.
9553         (MACHMODE_H): Likewise.
9554         (NM_FOR_TARGET): Likewise.
9555         (RANLIB_FOR_TARGET): Likewise.
9556         (libsubdir): Likewise.
9557         (slibdir): Likewise.
9558         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
9559         exporting.
9560         (libgcc.a): Don't pass them here.
9561         (stmp-multilib): Or here.
9562         (install-libgcc): Or here.
9563         (install-multilib): Or here.
9564         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
9565         (stage1_build): Or here.
9566
9567 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
9568
9569         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
9570         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
9571
9572 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
9573
9574         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
9575         "*fmaddsf", "*fmsubsf"): New insns.
9576
9577 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9578
9579         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
9580         (C1*C2)/X when unsafe math optimizations are allowed.
9581         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
9582         math optimizations.  Minor code clean-ups.  Recursively call
9583         fold when constructing sub-expressions.
9584
9585 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9586
9587         * builtins.c (fold_builtin_bitop): New function to perform constant
9588         folding of ffs, clz, ctz, popcount and parity builtin functions
9589         and their long and long long variants (such as ffsl and ffsll).
9590         (fold_builtin): fold_builtin_bitop when appropriate.
9591         * simplify-rtx.c (simplify_unary_operation): Honor both
9592         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
9593         evaluating clz and ctz at compile-time, for operands wider
9594         than HOST_WIDE_INT.
9595
9596 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
9597
9598         * builtins.c (build_function_call_expr): Don't set
9599         TREE_SIDE_EFFECTS here.
9600         * expr.c (emit_block_move_via_libcall): Likewise.
9601         (clear_storage_via_libcall): Likewise.
9602         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
9603         CALL_EXPRs.
9604
9605         * gcse.c (is_too_expensive): New function.
9606         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
9607
9608 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
9609
9610         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
9611         commented-out logic to use DCE threads (if present), add
9612         support for POSIX threads.
9613         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
9614         #defines for -pthread.  Add -lpthread to LIB_SPEC when
9615         -pthread.  In both cases take -mt as a synonym for -pthread
9616         for acc compatibility.
9617         Define GTHREAD_USE_WEAK to 0.
9618         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
9619         Remove old logic for DCE threads from LIB_SPEC.
9620         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
9621
9622 2003-08-25  Roger Sayle  <roger@eyesopen.com>
9623
9624         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
9625         return 0 for invalid argument types.  Instead drop through to a
9626         call of expand_call at the bottom of function.  If op is SQRT,
9627         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
9628
9629 2003-08-25  Richard Henderson  <rth@redhat.com>
9630
9631         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
9632         result when op0 is SImode.
9633
9634 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
9635
9636         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
9637         from fixinc.svr4.
9638         * fixinc/fixincl.x: Regenerate.
9639         * fixinc/tests/base/sys/signal.h: Regenerate.
9640
9641 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9642
9643         * combine.c (simplify_comparison): Re-enable widening of comparisons
9644         with non-paradoxical subregs of non-REG expressions.
9645
9646 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9647
9648         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
9649
9650 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9651
9652         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
9653
9654 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9655
9656         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
9657         * c-pretty-print.h (c_pretty_printer): Now typedef to the
9658         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
9659         (struct c_pretty_print_info): Document.  Add new fields.
9660         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
9661         (pp_direct_abstract_declarator): New macro.
9662         (pp_ptr_operator): Likewise.
9663         (pp_simple_type_specifier): Likewise.
9664         (pp_expression): Likewise.
9665         (pp_parameter_list): Rename from pp_parameter_declaration.
9666         * c-pretty-print.c (pp_c_whitespace): Now a function.
9667         (pp_c_left_paren): Likewise.
9668         (pp_c_right_paren): Likewise.
9669         (pp_c_dot): Likewise.
9670         (pp_c_ampersand): Likewise.
9671         (pp_c_arrow): Likewise.
9672         (pp_c_semicolon): Likewise.
9673         (pp_c_type_cast): New function.
9674         (pp_c_space_for_pointer_operator): Likewise.
9675         (pp_c_call_argument_list): Likewise.
9676         (pp_c_cv_qualifier): Adjust prototype.
9677         (pp_c_type_qualifier_list): Likewise.
9678         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
9679         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
9680         Adjust to follow standard grammar.
9681         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
9682         REFERENCE_TYPE.  Tidy.
9683         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
9684         (pp_c_parameter_declaration): Remove.
9685         (pp_c_abstract_declarator): Adjust prototype.
9686         (pp_c_direct_abstract_declarator): Likewise.
9687         (pp_c_type_id): Likewise.
9688         (pp_c_storage_class_specifier): Likewise.
9689         (pp_c_function_specifier): Likewise.
9690         (pp_c_declaration_specifiers): Likewise.
9691         (pp_c_direct_declarator): Likewise.
9692         (pp_c_declarator): Likewise.
9693         (pp_c_declarator): Likewise.
9694         (pp_c_declaration): Likewise.
9695         (pp_c_attributes): Likewise.  Tidy.
9696         (pp_c_function_definition): Adjust prototype.
9697         (pp_c_char): Likewise.
9698         (pp_c_string_literal): Likewise.
9699         (pp_c_integer_constant): Likewise.
9700         (pp_c_character_constant): Likewise.
9701         (pp_c_bool_constant): Likewise.
9702         (pp_c_enumeration_constant): Likewise.
9703         (pp_c_floating_constant): Likewise.
9704         (pp_c_constant): Likewise.
9705         (pp_c_identifier): Likewise.
9706         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
9707         (pp_c_initializer): Adjust prototype.
9708         (pp_c_init_declarator): Likewise.
9709         (pp_c_initializer_list): Likewise.
9710         (pp_c_id_expression): Likewise.
9711         (pp_c_postfix_expression): Likewise.
9712         (pp_c_expression_list): Likewise.
9713         (pp_c_unary_expression): Likewise.
9714         (pp_c_cast_expression): Likewise.
9715         (pp_c_multiplicative_expression): Likewise.
9716         (pp_c_additive_expression): Likewise.
9717         (pp_c_shift_expression): Likewise.
9718         (pp_c_relational_expression): Likewise.
9719         (pp_c_equality_expression): Likewise.
9720         (pp_c_and_expression): Likewise.
9721         (pp_c_exclusive_or_expression): Likewise.
9722         (pp_c_inclusive_or_expression): Likewise.
9723         (pp_c_logical_and_expression): Likewise.
9724         (pp_c_logical_or_expression): Likewise.
9725         (pp_c_conditional_expression): Likewise.
9726         (pp_c_assignment_expression): Likewise.
9727         (pp_c_expression): Likewise.  Tidy.
9728         (pp_c_statement): Likewise.  Document.
9729         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
9730
9731         * c-lang.c (c_initialize_diagnostics): Update.
9732         * c-common.h (strip_pointer_operator): Declare.
9733         * c-common.c (strip_pointer_operator): Define.
9734
9735 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
9736
9737         PR c++/8795
9738         * tree.h (build_method_type_directly): Declare.
9739         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
9740         (vector_size_helper): Likewise.
9741         * tree.c (build_method_type_directly): New function.
9742         (build_method_type): Use it.
9743
9744 2003-08-24  Richard Henderson  <rth@redhat.com>
9745
9746         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
9747         for 16-byte vector modes if sse not enabled; warn for abi change.
9748         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
9749
9750 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
9751
9752         * rtlanal.c (may_trap_p): Simplify an integer comparison.
9753
9754 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
9755
9756         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
9757         comment.  Enable for DYNIX/ptx systems (when they switch to
9758         regular fixincludes).
9759         * fixinc/fixincl.x: Regenerate.
9760
9761 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9762
9763         * config/i860/t-i860: New.
9764         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
9765
9766 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
9767
9768         * c-decl.c (pushdecl): Only put decls which finish_struct will do
9769         something about onto incomplete chain.
9770         (finish_struct): If not removing type from incomplete
9771         list, update prev.
9772
9773 2003-08-20  Jan Hubicka  <jh@suse.cz>
9774
9775         PR target/11369
9776         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
9777
9778         PR target/11031
9779         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
9780         const_0_to_15_operand, const_0_to_255_operand): New predicates.
9781         * i386.h (PREDICATE_CODES): Add these.
9782         * i386.c (pinsrw and pextrw patterns): Use them.
9783
9784         PR target/10984
9785         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
9786
9787         PR target/8869
9788         * expr.c (convert_modes): Deal properly with integer to vector
9789         constant conversion.
9790
9791         PR target/8871
9792         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
9793
9794 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
9795
9796         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
9797         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
9798         ("*movhi"): ... this.
9799         ("movqi", "*movqi"): Likewise.
9800         ("movqi_64"): Remove.
9801         ("*zero_extendhisi2_31"): Change predicate to s_operand.
9802
9803 2003-08-23  Dale Johannesen  <dalej@apple.com>
9804         * calls.c (emit_library_call_value_1): Fix obvious errors in
9805         arguments to emit_group_store.
9806
9807 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9808
9809         * calls.c (emit_library_call_value_1): Remove code related
9810         to LIBGCC_NEEDS_DOUBLE.
9811         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
9812         * doc/tm.texi: Likewise.
9813         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
9814
9815 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
9816
9817         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
9818
9819 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
9820
9821         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
9822         as well.  Put memory references in the varargs alias set.
9823         (mips_expand_prologue): Remove varargs handling from here.
9824
9825 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
9826
9827         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
9828         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
9829         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
9830         for function pointer calls.
9831         * config/s390/s390.md ("*negdi2_31"): Likewise.
9832
9833 2003-08-23  Roger Sayle  <roger@eyesopen.com>
9834
9835         * combine.c (apply_distributive_law): Correct comment.
9836
9837 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9838
9839         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
9840
9841 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9842
9843         * config/i860/i860.c (i860_build_va_list): Create the va_decl
9844         declaration.  Document the va_list structure.
9845         (i860_va_start): Initialize the va_list structure.
9846         (i860_va_arg): Rewrite completely.
9847         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
9848         * config/i860/varargs.asm: Do not allocate or initialize
9849         a va_list.  Return the address of the register save area.
9850
9851 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9852
9853         * config/iq2000/iq2000.c: Fix comment typos.
9854         * config/iq2000/iq2000.md: Likewise.
9855
9856 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9857
9858         * config/iq2000/iq2000.c: Follow spelling conventions.
9859         * config/iq2000/iq2000.h: Likewise.
9860         * config/mn10300/mn10300.c: Likewise.
9861
9862 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9863
9864         * config/i860/i860.c (output_move_double): Don't set latehalf
9865         to zero for CONST_INT (since it could be, e.g., -1).
9866
9867         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
9868         (MODSI3_LIBCALL): ...with this one.
9869         (UREMSI3_LIBCALL): Replace this macro...
9870         (UMODSI3_LIBCALL): ...with this one.
9871
9872 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9873
9874         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
9875         (output_delayed_branch): Remove prototype.
9876         (single_insn_src_p): Remove prototype.
9877         * config/i860/i860.c (single_insn_src_p): Remove function.
9878         (output_delayed_branch): Remove function.
9879         (output_delay_insn): Remove function.
9880         (va_start): Remove unconditional test and dead code, re-format.
9881         Fix coding style and spelling problems in various comments.
9882         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
9883         (blockage pattern): ...and use it here.
9884         (all define_peephole patterns related to delayed branches): Remove.
9885         Fix coding style and spelling problems in various comments.
9886
9887 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9888
9889         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
9890         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
9891         Convert all function definitions from traditional to ISO C90 syntax.
9892         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
9893         with 'GCC'.  Remove all uses of the PARAMS macro.
9894         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
9895         * config/i860/i860.md: Likewise.
9896         * config/i860/sysv4.h: Likewise.
9897         * config/i860/varargs.asm: Likewise.
9898
9899 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9900
9901         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
9902         argument.
9903         (tdesc_section): Add prototype.
9904         Update copyright dates.
9905         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
9906         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
9907         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
9908         (targetm): Likewise.
9909         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
9910         for '%d' where necessary.
9911         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
9912         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
9913         by UNITS_PER_WORD when referencing (likewise for .floats).
9914         (I860_SVR4_VARARGS): Rename...
9915         (I860_SVR4_VA_LIST): ...to this.
9916         Call build() with 't' rather than 'field'.
9917         (i860_rtx_costs): New function.
9918         (TARGET_RTX_COSTS): Define.
9919         (i860_internal_label): New function.
9920         (TARGET_ASM_INTERNAL_LABEL): Define.
9921         (i860_file_start): New function.
9922         Update copyright dates.
9923         * config/i860/i860.h (CPP_PREDEFINES): Remove.
9924         (TARGET_CPU_CPP_BUILTINS): Define.
9925         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
9926         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
9927         (ASM_FILE_START): Remove.
9928         (ASM_FILE_START_1): Remove.
9929         (ASM_GLOBALIZE_LABEL): Remove.
9930         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
9931         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
9932         with targetm.asm_out.internal_label.
9933         Update copyright dates.
9934         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
9935         (CPP_PREDEFINES): Remove.
9936         (TARGET_OS_CPP_BUILTINS): Define.
9937         (GLOBAL_ASM_OP): Define.
9938         (ASM_FILE_START): Remove.
9939         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
9940         (TARGET_ASM_FILE_START): Define.
9941         Update copyright dates.
9942
9943 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9944
9945         * gcc/config.gcc (i860-*-sysv4*): Add target.
9946         * config/i860/i860-protos.h: New.
9947         * config/i860/i860.c: New.
9948         * config/i860/i860.h: New.
9949         * config/i860/i860.md: New.
9950         * config/i860/sysv4.h: New.
9951         * config/i860/varargs.asm: New.
9952         * config/i860/x-sysv4: New.
9953
9954 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9955
9956         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
9957         Remove all uses of PARAMS macro.
9958         Convert all function definitions to ISO C90 syntax.
9959         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
9960         * config/pa/fptr.c: Likewise.
9961         * config/pa/lib2funcs.asm: Likewise.
9962         * config/pa/long_double.h: Likewise.
9963         * config/pa/milli64.S: Likewise.
9964         * config/pa/pa-64.h: Likewise.
9965         * config/pa/pa-hpux.h: Likewise.
9966         * config/pa/pa-hpux10.h: Likewise.
9967         * config/pa/pa-hpux11.h: Likewise.
9968         * config/pa/pa-linux.h: Likewise.
9969         * config/pa/pa-modes.def: Likewise.
9970         * config/pa/pa-osf.h: Likewise.
9971         * config/pa/pa-pro-end.h: Likewise.
9972         * config/pa/pa.md: Likewise.
9973         * config/pa/pa32-linux.h: Likewise.
9974         * config/pa/pa64-linux.h: Likewise.
9975         * config/pa/pa64-hpux.h: Likewise.
9976         * config/pa/pa64-regs.h: Likewise.
9977         * config/pa/quadlib.c: Likewise.
9978         * config/pa/rtems.h: Likewise.
9979         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
9980         all uses of the PARAMS macro.
9981         * config/pa/pa.h: Likewise.
9982         * config/pa/som.h: Likewise.
9983
9984         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
9985         Remove all uses of PARAMS macro.
9986         Convert all function definitions to ISO C90 syntax.
9987         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
9988         Remove all uses of PARAMS macro.
9989         * config/iq2000.h: Remove all uses of PARAMS macro.
9990         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
9991
9992 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
9993
9994         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
9995         * config/s390/s390.c (gen_consttable): Remove.
9996         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
9997         (s390_output_pool_entry): New function.
9998         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
9999         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
10000         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
10001         (UNSPECV_POOL_ENTRY): ... this new constant.
10002         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
10003         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
10004         ("*pool_entry"): ... and replace by this new insn.
10005         ("literal_pool_31"): Do not emit anchor label if pool empty.
10006
10007         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
10008         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
10009         (s390_fixup_clobbered_return_reg): Remove.
10010         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
10011         (s390_return_addr_rtx): Always retrieve return address from save area
10012         slot.  Use save_return_addr_p to force slot to be filled.
10013         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
10014
10015 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
10016
10017         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
10018         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
10019         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
10020         around SB-1 errata if TARGET_FIX_SB1 is set.
10021         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
10022         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
10023
10024 2003-08-22  Roger Sayle  <roger@eyesopen.com>
10025
10026         * hashtable.c (ht_expand): Avoid calculating rehash for the common
10027         case that the first probe hits an empty hash table slot.
10028
10029 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
10030
10031         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
10032
10033 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
10034
10035         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
10036         (ptr_extend_plus_imm): ... this.
10037         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
10038         optimization in C++.
10039         (ia64_output_mi_thunk): Support ILP32 mode.
10040
10041 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
10042
10043         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
10044         function.
10045         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
10046
10047 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10048
10049         * config/i386/i386.c (const_int_1_operand): Simplify an
10050         integer comparison.
10051
10052 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
10053
10054         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
10055         * config/rs6000/ppc64-fp.c: Likewise.
10056
10057 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10058
10059         * cfgcleanup.c: Fix comment typos.
10060         * emit-rtl.c: Likewise.
10061         * optabs.c: Likewise.
10062         * ra-build.c: Likewise.
10063         * rtlanal.c: Likewise.
10064         * tree.h: Likewise.
10065
10066 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10067
10068         * c-decl.c: Fix comment formatting.
10069         * cfgrtl.c: Likewise.
10070         * combine.c: Likewise.
10071         * convert.c: Likewise.
10072         * dominance.c: Likewise.
10073         * dwarf2out.c: Likewise.
10074         * dwarfout.c: Likewise.
10075         * expmed.c: Likewise.
10076         * fold-const.c: Likewise.
10077         * gcov.c: Likewise.
10078         * genattrtab.c: Likewise.
10079         * ggc-common.c: Likewise.
10080         * mips-tfile.c: Likewise.
10081         * regmove.c: Likewise.
10082
10083 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
10084
10085         * builtin-attrs.def: Fix comment formatting.
10086         * c-pretty-print.c: Likewise.
10087         * diagnostic.h: Likewise.
10088         * langhooks.h: Likewise.
10089         * recog.c: Likewise.
10090         * simplify-rtx.c: Likewise.
10091         * tree.def: Likewise.
10092
10093 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
10094
10095         * config/m68k/m68k-protos.h: Convert to ISO C90.
10096         * config/m68k/m68k.c: Likewise.
10097
10098 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
10099             Paul Dale  <pauli@snapgear.com>
10100             Peter Barada <peter@baradas.org>
10101
10102         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
10103         ColdFire cores.
10104
10105 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
10106
10107         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
10108         * config.gcc (*-*-openbsd): Don't set tm_file.
10109         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
10110         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
10111         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
10112         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
10113         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
10114         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
10115         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
10116         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
10117         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
10118         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
10119         xscale-*-coff): Use explicit and complete lists of target headers
10120         to include.  Move definitions to tm_defines where appropriate.
10121         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
10122         not-yet-contributed configuration.
10123
10124         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
10125         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
10126         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
10127         * config/i386/nto.h, config/iq2000/iq2000.h,
10128         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
10129         * config/m68k/linux.h, config/m68k/m68k-aout.h
10130         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
10131         * config/m68k/netbsd.h, config/m68k/openbsd.h
10132         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
10133         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
10134         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
10135         Remove includes of other target config headers, and
10136         definitions of macros moved to tm_defines lists.  Add #undefs
10137         where now necessary to prevent redefinition warnings.
10138
10139         * config/h8300/coff.h: New file split out of...
10140         * config/h8300/elf.h: ...here.
10141         * config/m68k/hp320base.h: New file split out of...
10142         * config/m68k/hp320.h: ...here.
10143         * config/rs6000/lynxbase.h: New file split out of...
10144         * config/rs6000/lynx.h: ...here.
10145
10146         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
10147         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
10148
10149         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
10150         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
10151         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
10152         Remove unnecessary #ifndef.
10153         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
10154         [under IN_LIBGCC2] with config/.
10155
10156 2003-08-21  Per Bothner  <pbothner@apple.com>
10157
10158         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
10159         to cpp_push_buffer.
10160         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
10161         by return_at_eof check.  Always call _cpp_pop_buffer at end.
10162
10163 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
10164
10165         PR target/11805
10166         * config/h8300/h8300.md (two anonymous patterns): Remove.
10167
10168 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
10169
10170         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
10171         * config/mips/mips.c (function_arg_pass_by_reference): Never return
10172         true for n32 & n64.
10173
10174 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
10175
10176         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
10177         and similarly in (A | C) == D where C & ~D != 0.
10178
10179 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
10180
10181         PR 8180
10182         * configure.in: When testing with_libs and with_headers, treat
10183         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
10184         * configure: Regenerate.
10185
10186 2003-08-20  Peter Barada <peter@baradas.org>
10187
10188         * longlong.h (umul_ppmm): Add ColdFire support.
10189
10190 2003-08-20  Peter Barada <peter@baradas.org>
10191             Bernardo Innocenti  <bernie@develer.com>
10192
10193         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
10194         * config/m68k/m68k.h: Likewise.
10195         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
10196         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
10197         * config/m68k/linux.h: Likewise.
10198         * config/m68k/m68k.c: Likewise.
10199         * config/m68k/m68k.md: Likewise.
10200         * config/m68k/m68kelf.h: Likewise.
10201         * config/m68k/netbsd-elf.h: Likewise.
10202         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
10203
10204 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
10205
10206         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
10207         * config/m68k/m68k.md: Likewise.
10208
10209 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
10210
10211         PR java/11996
10212         Revert this change:
10213         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
10214         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10215         types with precisions other than those given by native machine
10216         modes.
10217
10218 2003-08-20  Gunther Nikl  <gni@gecko.de>
10219
10220         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
10221         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
10222         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
10223         * config/m68k/m68k.md (anonymous define_insn): Likewise
10224         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
10225         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
10226         code selected by NO_ASM_FMOVECR
10227
10228 2003-08-20  Gunther Nikl  <gni@gecko.de>
10229
10230         * config/m68k/m68k.c (output_move_const_into_data_reg,
10231         output_move_himode): unify MOTOROLA/MIT handling of moveq
10232         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
10233         Likewise
10234
10235 2003-08-20  Gunther Nikl  <gni@gecko.de>
10236
10237         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
10238         label name
10239         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
10240         HOST_WIDE_INT_PRINT_DEC with %wd
10241
10242 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
10243
10244         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
10245         redefine warning.
10246
10247 2003-08-20  Roger Sayle  <roger@eyesopen.com>
10248
10249         PR middle-end/11984
10250         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
10251         operands before calling tree_int_cst_lt when performing associative
10252         transformations.
10253
10254 2003-08-20  Jason Merrill  <jason@redhat.com>
10255
10256         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
10257         (EXPR_CHECK): Don't check for 'r' or 's' if we're
10258         checking IS_EXPR_CODE_CLASS.
10259         * calls.c (calls_function_1): Likewise.
10260         * fold-const.c (fold): Likewise.
10261         * tree.c (iterative_hash_expr): Likewise.
10262         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
10263
10264 2003-08-20  Gunther Nikl  <gni@gecko.de>
10265
10266         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
10267         depending on MOTOROLA_BSR
10268         * config/m68k/m68k.md (anonymous define_insn): Likewise
10269
10270 2003-08-20  Jason Merrill  <jason@redhat.com>
10271
10272         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
10273         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
10274         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
10275         * dojump.c (do_jump): Likewise.
10276         * fold-const.c (operand_equal_p, fold): Likewise.
10277         (tree_expr_nonnegative_p): Likewise.
10278
10279         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
10280         TYPE_USER_ALIGN for FIELD_DECLs.
10281
10282         * attribs.c (decl_attributes): Rebuild the function pointer type after
10283         changing the target type.
10284         * tree.c (get_qualified_type): Also check that the attributes match.
10285
10286 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
10287
10288         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
10289         * objc/config-lang.in (stagestuff): ... to here.
10290
10291 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
10292
10293         PR c++/11946
10294         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
10295         NOP_EXPR) when necessary.
10296         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10297         types with precisions other than those given by native machine
10298         modes.
10299
10300 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
10301
10302         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
10303         because some macro is defined.
10304
10305         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
10306         options.
10307         * config/i386/darwin.h (ASM_SPEC): New.
10308         (SUBTARGET_EXTRA_SPECS): New.
10309         * config/rs6000/darwin.h (ASM_SPEC): New.
10310         (SUBTARGET_EXTRA_SPECS): New.
10311         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
10312         a cross-compiler between two different processors on Darwin.
10313         * configure: Regenerate.
10314
10315 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10316
10317         * builtins.c: Fix comment typos.
10318         * c-common.c: Likewise.
10319         * c-decl.c: Likewise.
10320         * c-pretty-print.c: Likewise.
10321         * cfgbuild.c: Likewise.
10322         * cfglayout.c: Likewise.
10323         * cfgloopanal.c: Likewise.
10324         * cgraphunit.c: Likewise.
10325         * cppfiles.c: Likewise.
10326         * dwarfout.c: Likewise.
10327         * expr.c: Likewise.
10328         * fold-const.c: Likewise.
10329         * gcse.c: Likewise.
10330         * ggc-page.c: Likewise.
10331         * haifa-sched.c: Likewise.
10332         * pretty-print.c: Likewise.
10333         * tree.c: Likewise.
10334         * tree.h: Likewise.
10335         * value-prof.c: Likewise.
10336
10337 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10338
10339         * c-decl.c: Follow spelling conventions.
10340         * cppfiles.c: Likewise.
10341
10342 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10343
10344         * c-common.c: Fix comment formatting.
10345         * c-common.h: Likewise.
10346         * c-decl.c: Likewise.
10347         * cppinit.c: Likewise.
10348         * cpplib.h: Likewise.
10349         * emit-rtl.c: Likewise.
10350         * input.h: Likewise.
10351         * line-map.h: Likewise.
10352         * opts.c: Likewise.
10353         * opts.h: Likewise.
10354         * simplify-rtx.c: Likewise.
10355
10356 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
10357
10358         * unwind-c.c: Add libgcc-style exception.
10359         * unwind-dw2.c: Likewise.
10360         * unwind-pe.h: Likewise.
10361         * unwind-sjlj.c: Likewise.
10362         * unwind.inc: Likewise.
10363
10364 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
10365
10366         PR c/5582 PR c++/10538
10367         * langhooks-def.h (lhd_decl_uninit): Declare.
10368         (LANG_HOOKS_DECL_UNINIT): New macro.
10369         (LANG_HOOKS_INITIALIZER): Adjust.
10370         * langhooks.h (struct lang_hooks): Add new field
10371         decl_uninit.
10372         * langhooks.c (lhd_decl_uninit): Define.
10373         * c-common.c (c_decl_uninit_1): New function.
10374         (c_decl_uninit): New function.
10375         (warn_init_self): Define.
10376         * c-common.h (c_decl_uninit): Declare.
10377         (warn_init_self): Declare.
10378         * c.opt: Introduce -Winit-self.
10379         * c-opts.c (c_common_handle_options): Set warn_init_self.
10380         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
10381         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
10382         * function.c (uninitialized_vars_warning): Call the language hook.
10383         * doc/invoke.texi: Document -Winit-self.
10384
10385 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
10386
10387         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
10388         to use better predicates and constraints.  Define new
10389         instruction to handle "trap_if" with DI-mode arguments.
10390         (conditional_trap): FAIL if trap code is not 0.
10391
10392 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
10393
10394         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
10395         strstr with $pb to a strcompare with "<pic base>"
10396         (ix86_output_addr_diff_elt): Output the real pic base.
10397
10398 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10399
10400         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
10401         (LANG_HOOKS_INITIALIZER): Correct.
10402         * c-lang.c: Likewise.
10403
10404 2003-08-19  Jan Hubicka  <jh@suse.cz>
10405
10406         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
10407         (cgraph_varpool_mark_needed_node): Likewise.
10408         * cgraph.h (notice_global_symbol): Declare
10409         * varasm.c (notice_global_symbol): Break out from ...
10410         (assemble_start_function): ... here; update for variables.
10411         (assemble_variable): Use notice_global_symbol.
10412
10413 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
10414
10415         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
10416         expect SFmode and DFmode arguments to be passed in FPRs,
10417         regardless of the underlying type.
10418
10419 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
10420
10421         PR target/11924
10422         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
10423         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
10424
10425 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
10426
10427         PR c/11207
10428         * c-typeck.c (set_init_index): Check for negative index.
10429
10430 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
10431
10432         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
10433         call0 ABI.
10434         * config/xtensa/crtn.asm (_init, _fini): Likewise.
10435         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
10436         __umodsi3, __modsi3): Likewise.
10437         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
10438         $(INCLUDES).
10439
10440 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
10441
10442         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
10443
10444 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10445
10446         * config/mips/mips.md: Quote C code in braces.  Remove use of
10447         fake const0_rtx operands.  Remove double backslashes.  Use \;.
10448         Remove workarounds for bogus warnings.
10449
10450 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10451
10452         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
10453         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
10454         rather than TARGET_MIPS4300.
10455         (mulsf3_internal, mulsf3_r4300): Likewise.
10456
10457 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10458
10459         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
10460
10461 2003-08-17  Roger Sayle  <roger@eyesopen.com>
10462
10463         * simplify-rtx.c (associative_constant_p): New function to test
10464         whether an RTX expression is an immediate constant.
10465         (simplify_associative_operation): New function to perform some
10466         reassociation optimizations of associative binary expressions.
10467         (simplify_binary_operation): Use simplify_associative_operation
10468         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
10469         Floating point expressions are only reassociated when unsafe
10470         math optimizations are permitted.
10471
10472 2003-08-17  Andreas Jaeger  <aj@suse.de>
10473
10474         * config/alpha/alpha.md: Remove usage of PARAMS.
10475
10476         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
10477         * config/i386/i386-interix.h: Likewise.
10478         * config/i386/winnt.c: Likewise.
10479         * config/i386/cygming.h: Likewise.
10480         * config/i386/cygwin2.c: Likewise.
10481         * config/darwin.c: Likewise.
10482         * config/darwin-c.c: Likewise.
10483         * config/darwin-protos.h: Likewise.
10484         * config/darwin.h: Likewise.
10485         * config/s390/s390-protos.h: Likewise.
10486         * config/s390/s390.c: Likewise.
10487         * config/ia64/ia64.c: Likewse
10488         * config/ia64/ia64-protos.h: Likewise.
10489         * config/ia64/ia64-c.c: Likewise.
10490
10491 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10492
10493         * config/sparc/sparc.c: Convert to ISO C.
10494
10495         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
10496         * config/sparc/sparc.c: Likewise.
10497
10498 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
10499
10500         PR c++/11512
10501         * stmt.c (expand_expr_stmt_value): Don't warn about any void
10502         typed expression.
10503
10504 2003-08-16  Jan Hubicka  <jh@suse.cz>
10505
10506         * i386.c (ix86_fntype_regparm): Rename from ...
10507         (ix86_function_regparm): ... this one; add fastcall and local
10508         functions.
10509         (ix86_function_ok_for_sibcall): Update.
10510         (ix86_return_pops_args): Likewise.
10511         (init_cumulative_args): Likewise.
10512         (x86_can_output_mi_thunk): Likewise.
10513         (function_arg): Fix formating.
10514         (x86_this_parameter): Fix fastcall.
10515         (x86_output_mi_thunk): Likewise.
10516
10517         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
10518         body as reachable; mark nested functions as needed too.
10519         (dump_cgraph): Do not output global.calls.
10520         * cgraph.h (cgraph_global_info): Kill.
10521         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
10522         (record_call_1): Speedup.
10523         (cgraph_analyze_function): Break out from ...; compute inlining
10524         parameters.
10525         (cgraph_finalize_compilation_unit): ... here.
10526         (cgraph_mark_inline): Kill computation of calls.
10527         (cgraph_decide_inlining): Do not compute most of initial values.
10528
10529 2003-08-14  Roger Sayle  <roger@eyesopen.com>
10530
10531         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
10532         to negate if either operand is easy to negate, if we don't care
10533         about sign-dependent rounding.
10534         (negate_expr): Make the logic to negate a REAL_CST explicit.
10535         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
10536         that's easy to negate, if we don't honor sign-dependent rounding.
10537         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
10538         negate, and the symmetric A * -B as -A * B if A is easy to negate.
10539         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
10540         -C/D if B and C are cheap to negate.  Add an explicit rule to
10541         optimize X/-1.0 as -X when we don't care about signaling NaNs.
10542
10543 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
10544
10545         * Makefile.in (tm_file): Rename tm_include_list.
10546         (tm_p_file): Rename tm_p_include_list.
10547         (build_xm_file): Rename build_xm_include_list.
10548         (host_xm_file): Rename host_xm_include_list.
10549         (xm_file): Rename xm_include_list.
10550         (xm_file_list): Add to be substituted.
10551         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
10552         Update to match.
10553         (bt-load.o): Add missing dependency on $(TM_H).
10554         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
10555         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
10556         build_xm_file, generate both *_file_list and *_include_list
10557         values from it.  (xm_file_list was formerly not being generated.)
10558         In *_include_list, prefix the names of all headers found in
10559         $(srcdir)/config with config/.  In each loop, consider only
10560         the special case files that can actually appear in that list.
10561         AC_SUBST all *_file_list and all *_include_list variables; do
10562         not AC_SUBST the plain *_file variables.
10563         * configure: Regenerate.
10564
10565 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10566
10567         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
10568
10569 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10570
10571         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
10572         direct calls.
10573         (attr_length_call): Include it here.  Improve length estimate for
10574         local calls.
10575         (output_call): Use targetm.binds_local_p.
10576
10577 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10578
10579         * builtins.c (CASE_MATHFN): New helper macro.
10580         (mathfn_built_in): Simplify and sort.
10581
10582         * protoize.c (substr): Delete, callers changed to `strstr'.
10583
10584 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
10585
10586         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
10587         * config/iq2000/xm-iq2000.h: Delete file.
10588
10589 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
10590
10591         * gengtype.c (walk_type): Process a subobject before processing
10592         the pointer that points to the subobject.
10593
10594 2003-08-13  Per Bothner  <pbothner@apple.com>
10595
10596         * regclass.c (init_reg_modes):  Make non-static.
10597         Rename to init_reg_modes_once per new naming convention.
10598         (init_regs):  Don't call init_reg_modes here.
10599         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
10600         * rtl.h (init_reg_modes_once):  New declaration.
10601         * toplev.c (backend_init):  Call init_regs after init_emit_once.
10602
10603 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
10604
10605         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
10606         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
10607
10608 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
10609
10610         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
10611         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
10612
10613 2003-08-13  Dale Johannesen  <dalej@apple.com>
10614
10615         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
10616         handling of decrement-and-branch farther than 32 bits.
10617
10618 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
10619
10620         * configure.in (make_compare_target): Move test to ...
10621         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
10622         * configure: Regenerate.
10623
10624 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
10625
10626         * config/mips/iris6.h: Convert to C90 prototypes.
10627         * config/mips/irix6-libc-compat.c: Likewise.
10628         * config/mips/mips-protos.h: Likewise.
10629         * config/mips/mips.c: Likewise.
10630
10631 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10632
10633         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
10634         for selected machines.  Comment heavily.
10635         fixinc/fixincl.x: Rebuild.
10636         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
10637
10638 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
10639
10640         * config/mips/mips.h: Tweak various comments.
10641         * config/mips/mips.c: Likewise.
10642
10643 2003-08-11  James E Wilson  <wilson@tuliptree.org>
10644
10645         PR optimization/11319
10646         PR target/10021
10647         * alias.c (find_base_value, case REG): Return 0 not src if no base
10648         found.
10649
10650 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10651
10652         * gcse.c (gmalloc): Fix last change.
10653
10654 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10655
10656         * simplify-rtx.c (simplify_binary_operation): Replace calls to
10657         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
10658         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
10659         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
10660
10661 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10662
10663         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
10664         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
10665         typecode for an ABS_EXPR.
10666
10667         * doc/c-tree.texi: Document ABS_EXPR.
10668
10669 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10670
10671         * fold-const.c (fold): Optimize any associative floating point
10672         operator with -funsafe-math-optimizations, not just MULT_EXPR.
10673
10674 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
10675
10676         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
10677         information in SHmedia case too.
10678         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
10679         Likewise.
10680         (__set_fpscr): Use an access via GOT for PIC case.
10681
10682 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
10683
10684         * configure.in (intermodule): Make switch test more portable.
10685         * configure: Regenerate.
10686
10687 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
10688
10689         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
10690         (restrap): Likewise.
10691
10692 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10693
10694         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
10695         (grealloc): Size argument is a size_t.
10696         (gcalloc): New function.  Use throughout in lieu of
10697         gmalloc/memset.
10698
10699         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
10700         xmalloc/memset.
10701         * config/ia64/ia64.c (ia64_reorg): Likewise.
10702         * conflict.c (conflict_graph_new): Likewise.
10703         * fixinc/fixincl.c (run_compiles): Likewise.
10704         * genattrtab.c (optimize_attrs): Likewise.
10705         * genrecog.c (new_decision): Likewise.
10706         * haifa-sched.c (schedule_block): Likewise.
10707         * hashtable.c (ht_create): Likewise.
10708
10709 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
10710
10711         * config/xtensa/lib2funcs.S: Fix whitespace.
10712         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
10713         syntax where appropriate.  Remove unnecessary backslash escapes.
10714         Reformat comments and fix some code formatting.
10715         (extendqisi2): Rearrange conditional.
10716         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
10717         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
10718         of fatal_insn.
10719
10720 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
10721
10722         * config/mips/mips.c: Various formatting fixes.
10723         (override_options): Resync -mtune handling with gas.
10724         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
10725         * config/mips/mips.h: More formatting fixes.
10726         (mips_abi): Move declaration.
10727         * config/mips/mips.md (exception_receiver): Add mode to
10728         unspec_volatile.
10729
10730 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
10731
10732         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
10733         evsplatfi here.
10734         (bdesc_1arg): Remove evsplati and evsplatfi.
10735
10736 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
10737
10738         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
10739         into account.
10740
10741 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10742
10743         * builtins.c (expand_builtin_strcat): Optimize constant strings.
10744
10745 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10746
10747         * pretty-print.c (pp_base_indent): Rename from pp_indent.
10748         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
10749         (struct c_pretty_print_info): Add more fields.
10750         (pp_c_left_paren): Move to c-pretty-print.c.
10751         (pp_c_right_paren): Likewise.
10752         (pp_c_left_brace): Likewise.
10753         (pp_c_right_brace): Likewise.
10754         (pp_c_left_bracket): Likewise.
10755         (pp_c_right_bracket): Likewise.
10756         (pp_c_declarator): Declare.
10757         (pp_c_direct_declarator): Likewise.
10758         (pp_c_specifier_qualifier_list): Likewise.
10759         (pp_c_type_id): Likewise.
10760         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
10761         (pp_c_type_qualifier_list): New.
10762         (pp_c_pointer): Likewise.
10763         (pp_c_parameter_type_list): Likewise.
10764         (pp_c_function_definition): Likewise.
10765         (pp_c_id_expression): Likewise.
10766         (pp_c_simple_type_specifier): Tidy.
10767         (pp_c_unary_expression): Likewise.
10768         (pp_c_expression): Likewise.
10769         (pp_c_pretty_printer_init): Likewise.
10770         (pp_c_specifier_qualifier_list): Rework..
10771         (pp_c_abstract_declarator): Likewise.
10772         (pp_c_postfix_expression): Likewise.
10773         (pp_c_primary_expression): Likewise.
10774         (pp_c_cast_expression): Likewise.
10775         (pp_c_direct_abstract_declarator): Likewise.
10776         (pp_c_storage_class_specifier): Likewise.
10777         (pp_c_function_specifier): Likewise.
10778         (pp_c_declaration_specifiers): Likewise.
10779         (pp_c_direct_declarator): Likewise.
10780         (pp_c_declarator): Likewise.
10781         (pp_c_declaration): Likewise.
10782         (pp_c_statement): Likewise.
10783         (pp_c_integer_constant): Rename from pp_c_integer_literal.
10784         (pp_c_character_constant): Rename from pp_c_character_literal.
10785         (pp_c_bool_constant): Rename from pp_c_bool_literal.
10786         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
10787         (pp_c_floating_constant): Rename from pp_c_real_literal.
10788         (pp_c_constant): Rename from pp_c_literal.
10789         * c-lang.c: Include diagnostic.h and c-pretty-print.h
10790         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
10791         (c_initialize_diagnostics): New.
10792         * Makefile.in (c-lang.o): Update dependency.
10793
10794 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
10795
10796         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
10797
10798 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
10799
10800         * config/mips/mips.c (mips_no_mips16_string): Remove.
10801         (override_options): Don't handle -mips16 as part of -mipsN.
10802         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
10803         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
10804         (TARGET_OPTIONS): Remove -mno-mips16.
10805
10806 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
10807
10808         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
10809         (coprocessor2_operand): Likewise.
10810         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
10811         (lookup_name): Remove declaration.
10812         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
10813         (mips16, mips_abicalls): Remove.
10814         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
10815         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
10816         (coprocessor_operand, coprocessor2_operand): Remove.
10817         (override_options): Don't set mips16 or mips_abicalls.
10818         (print_operand): Don't expect SIGN_EXTEND operands.
10819         (mips_secondary_reload_class): Likewise.
10820         (mips_output_conditional_branch): Remove disabled long-branch code.
10821         * config/mips/mips.h (call_used_regs): Remove declaration.
10822         (may_call_alloca): Likewise.
10823         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
10824         (mips_abicalls, mips16): Remove declarations.
10825         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
10826         (CC1_SPEC): Remove outdated comment.
10827         (MIPS_VERSION, MACHINE_TYPE): Remove.
10828         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
10829         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
10830         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
10831         (PUSH_ROUNDING): Likewise.
10832         (ASSEMBLER_SCRATCH_REGNUM): Remove.
10833         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
10834         and mips16 with TARGET_MIPS16.
10835
10836 2003-08-09  Per Bothner  <pbothner@apple.com>
10837
10838         * cppinit.c (cpp_read_main_file):  Split out source-independent
10839         initialization to separate function ...
10840         (cpp_post_options):  New function.
10841         * cppfiles.c (cpp_stack_file):  Rename public name to ...
10842         (_cpp_stack_file):  New internal function name.
10843         * cpplib.h:  Update accordingly.
10844         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
10845         (cpp_read_main_file):  Don't initialize line here.
10846         * c-opts.c (c_common_post_options):  Call cpp_post_options.
10847         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
10848         * fix-header.c (read_scan_file):  Call cpp_post_options.
10849
10850 2003-08-09  Per Bothner  <per@bothner.com>
10851
10852         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
10853
10854 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10855
10856         * pa.c (pa_asm_output_mi_thunk): Fix typo.
10857
10858 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
10859
10860         PR preprocessor/11839
10861         * cppfiles.c (open_file): Handle ENOTDIR.
10862
10863 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
10864
10865         PR target/11699
10866         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
10867
10868 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10869
10870         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
10871         source/destination is not a register operand.
10872
10873 2003-08-08  Richard Henderson  <rth@redhat.com>
10874
10875         PR target/11535
10876         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
10877         RETURN_ADDRESS_POINTER_REGNUM.
10878         (ia64_expand_prologue): Don't frob it.
10879         (ia64_output_function_epilogue): Likewise.
10880         (ia64_return_addr_rtx): New.
10881         (ia64_split_return_addr_rtx): New.
10882         * config/ia64/ia64-protos.h: Update.
10883         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
10884         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
10885         (GENERAL_REGNO_P): Don't check it.
10886         (AR_*_REGNUM): Renumber.
10887         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
10888         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
10889         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
10890         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
10891         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
10892         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
10893         (movdi_ret_addr): New.
10894
10895 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
10896
10897         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
10898
10899 2003-08-08  Roger Sayle  <roger@eyesopen.com>
10900
10901         * tree.h (get_identifier) Define a macro form of get_identifier
10902         that calls get_identifier_with_length when the string is constant.
10903         (get_identifier_with_length): Change type of second argument to
10904         size_t in prototype.
10905         * stringpool.c (get_identifier): Undefine the macro before giving
10906         the function definition.
10907         (get_identifier_with_length): Change  type of second argument to
10908         size_t in function definition.
10909         * hashtable.c (calc_hash): Change type of second argument to size_t.
10910         (ht_lookup): Change type of third argument to size_t.  Reorganize
10911         to speed-up the cases where the hash table slot is empty, or the
10912         first probe matches (i.e. there isn't a collision).
10913         * hashtable.h (ht_lookup): Adjust function prototype.
10914
10915 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
10916
10917         PR target/9697
10918         PR target/11777
10919         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
10920
10921 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
10922
10923         * common.opt: Add debug switches.
10924         * flags.h (use_gnu_debug_info_extensions): Boolify.
10925         * opts.c (write_symbols, debug_info_level,
10926         use_gnu_debug_info_extensions): Move from toplev.c.
10927         (set_debug_level): New.
10928         (common_handle_options): Handle debug switches.
10929         (print_help): Display target options directly.
10930         * toplev.c (debug_hooks): Don't initialize.
10931         (write_symbols, debug_info_level,
10932         use_gnu_debug_info_extensions): Move to opts.c.
10933         (debug_args, display_help, decode_g_option): Remove.
10934         (process_options): Set no debug if level zero here,
10935         and no-debug-hooks.  Error here if impossible debug format selected.
10936         * toplev.h (display_help, decode_g_option): Remove.
10937
10938 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
10939
10940         * tree.c (get_file_function_name_long): Fix size of alloca() area.
10941
10942 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
10943
10944         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
10945         and gcc_cv_prog_cmp_skip.
10946         * configure: Regenerate.
10947
10948 2003-08-08  Stan Cox  <scox@redhat.com>
10949
10950         * config/iq2000: New port.
10951         * config.gcc (iq2000-*-elf): Added.
10952         * doc/install.texi (Specific):  Add iq2000 description.
10953
10954 2003-08-08  Andreas Schwab  <schwab@suse.de>
10955
10956         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
10957         and insert missing empty argument.
10958         * configure: Regenerate.
10959
10960 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10961
10962         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
10963         (attr_length_millicode_call): Likewise.
10964         (attr_length_call): Likewise.  Revise some maximum insn lengths.
10965         (attr_length_indirect_call): Likewise.
10966         (output_call): Fix thinko that added extra nop.
10967         * pa.h (IN_NAMED_SECTION_P): Define.
10968
10969         PR c++/11712
10970         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
10971         __STDC_EXT__ when using C++ dialect.
10972
10973 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
10974
10975         * sh.c (calc_live_regs): If the return address pointer is live,
10976         force pr live.
10977         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
10978         for saves / restores.
10979         (sh_expand_epilogue): If sh_media_register_for_return returns a
10980         register number, flag the instructions that restores PR_MEDIA_REG
10981         as possibly dead.
10982         Remove dead update of offset.
10983         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
10984         we can use the result of get_hard_reg_initial_val.
10985         * sh.md (UNSPEC_RA): New constant.
10986         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
10987         (load_ra).  Handle UNSPEC_RA.
10988         (sibcall_media): Use PR_MEDIA_REG.
10989
10990         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
10991         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
10992         needs saving on SHmedia.
10993
10994 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
10995
10996         * config/s390/s390.md: Replace all occurrences of \\t with \t.
10997
10998 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
10999
11000         * local-alloc.c (combine_regs): Fix comment typo.
11001
11002 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
11003
11004         * c-decl.c (builtin_decls): Replace with first_builtin_decl
11005         and last_builtin_decl.
11006         (c_init_decl_processing): Initialize both.
11007         (c_reset_state): Iterate from first_builtin_decl to
11008         last_builtin_decl inclusive to reintroduce builtins.
11009
11010 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
11011
11012         * doc/extend.texi (Function Attributes): Document the IA-64 version
11013         of the "model" attribute.
11014
11015         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
11016         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
11017         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
11018
11019         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
11020         (ia64_encode_section_info): Likewise.
11021         (ia64_attribute_table): Add "model" attribute.
11022         (TARGET_ENCODE_SECTION_INFO): Define.
11023         (small_addr_symbolic_operand): New function.
11024         (got_symbolic_operand): Return 0 for a symbolref to an object
11025         in the small address area.
11026         (enum ia64_addr_area): New type.
11027         (small_ident1): New variable.
11028         (small_ident2): Likewise.
11029         (init_idents): New function.
11030         (ia64_get_addr_area): Likewise.
11031         (ia64_encode_addr_area): Likewise.
11032         (ia64_encode_section_info): Likewise.
11033         (ia64_expand_load_address): For symbolic references to objects in
11034         the small-address-area, load the address via gen_rtx_SET() (which,
11035         eventually, will expand into "addl").
11036
11037 2003-08-06  Per Bothner  <pbothner@apple.com>
11038
11039         * line-map.h (fileline):  New typedef.
11040         (struct line_map, linemap_add, linemap_lookup):  Use it.
11041         * input.h (struct location_s):  Comment notes that long-term we want
11042         to replace it by fileline.
11043
11044 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
11045
11046         Fix SHcompact exception handling:
11047         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
11048         by the prologue, return a MEM with return_address_pointer_rtx
11049         as address.
11050         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
11051         (RETURN_ADDR_OFFSET): Don't define.
11052         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
11053         registers that are visible in compact mode.  Show that SHmedia
11054         registers still exist in compact mode, even if there are not
11055         readily accessible.
11056         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
11057         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
11058         and DW_EH_PE_pcrel for pic data.
11059         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
11060         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
11061         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
11062         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
11063         * sh.md (movsi_media-1): New splitter.
11064
11065 2003-08-06  Graeme Peterson <gp@qnx.com>
11066
11067         * config/i386/nto.h: New.
11068         * config/i386/t-nto: New.
11069         * config.gcc (i[34567]86-*-nto-qnx*): New.
11070
11071 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
11072
11073         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
11074
11075 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
11076
11077         * calls.c (load_register_parameters): Arrange for call_fusage to
11078         report the whole register as used when shifting to the msb.
11079
11080 2003-08-05  Roger Sayle  <roger@eyesopen.com>
11081
11082         * builtins.c (expand_builtin): When not optimizing, call the library
11083         function for all builtins that have library functions (except alloca).
11084
11085 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
11086
11087         * c.opt: Introduce -fworking-directory.
11088         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
11089         * c-common.h (flag_working_directory): Declare.
11090         * c-common.c (flag_working_directory): Define.
11091         * c-opts.c (c_common_handle_options): Set it.
11092         (sanitize_cpp_opts): Set...
11093         * cpplib.h (struct cpp_options): ... working_directory option.
11094         (struct cpp_callbacks): Add dir_change.
11095         * cppinit.c (read_original_filename): Call...
11096         (read_original_directory): New.  Look for # 1 "directory//"
11097         and process it.
11098         (cpp_read_main_file): Call dir_change callback if working_directory
11099         option is set.
11100         * gcc.c (cpp_unique_options): Pass -g*.
11101         * c-lex.c (cb_dir_change): New.
11102         (init_c_lex): Set dir_change callback.
11103         * toplev.c (src_pwd): New static variable.
11104         (set_src_pwd, get_src_pwd): New functions.
11105         * toplev.h (get_src_pwd, set_src_pwd): Declare.
11106         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
11107         * dwarf2out.c (gen_compile_unit_die): Likewise.
11108         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
11109
11110 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11111
11112         * pretty-print.h (pp_set_line_maximum_length): Make macro.
11113         (pp_set_prefix): Likewise.
11114         (pp_destroy_prefix): Likewise.
11115         (pp_remaining_character_count_for_line): Likewise.
11116         (pp_clear_output_area): Likewise.
11117         (pp_formatted_text): Likewise.
11118         (pp_last_position_in_text): Likewise.
11119         (pp_emit_prefix): Likewise.
11120         (pp_append_text): Likewise.
11121         (pp_flush): Likewise.
11122         (pp_format_text): Likewise.
11123         (pp_format_verbatim): Likewise.
11124         (pp_tree_identifier): Tidy.
11125         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
11126         (pp_base_format_verbatim): Rename from pp_format_verbatim.
11127         (pp_base_flush): Rename from pp_flush.
11128         (pp_base_set_line_maximum_length): Rename from
11129         pp_set_line_maximum_length.
11130         (pp_base_clear_output_area): Rename from pp_clear_output_area.
11131         (pp_base_set_prefix): Rename from pp_set_prefix.
11132         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
11133         (pp_base_emit_prefix): Rename from pp_emit_prefix.
11134         (pp_base_append_text): Rename from pp_append_text.
11135         (pp_base_formatted_text): Rename from pp_formatted_text.
11136         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
11137         (pp_base_remaining_character_count_for_line): Rename from
11138         pp_remaining_character_count_for_line.
11139         * diagnostic.h (diagnostic_format_decoder): Tidy.
11140         (diagnostic_flush_buffer): Likewise.
11141         * c-pretty-print.h: (pp_c_string_literal): Declare.
11142         (pp_c_real_literal): Likewise.
11143         (pp_c_integer_literal): Likewise.
11144         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
11145         pp_identifier.
11146         (pp_c_character_literal): Tidy.
11147         (pp_c_string_literal): Make public.
11148         (pp_c_bool_literal): Likewise.
11149         (pp_c_integer_literal): Likewise.
11150         (pp_c_real_literal): Likewise.
11151
11152         * Makefile.in (C_PRETTY_PRINT_H): New variable.
11153         (c-pretty-print.o): Update dependence.
11154
11155 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
11156
11157         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
11158         ".set nomacro" state.
11159         (fix_truncsfsi2_macro): Likewise.
11160
11161 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
11162
11163         * tree.h (DID_INLINE_FUNC): Remove macro.
11164         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
11165         add tree check for FUNCTION_DECL.
11166         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
11167         (struct tree_decl): Rename inlined_function_flag to
11168         declared_inline_flag.
11169         * c-common.h (c_lang_decl): Remove.
11170         (DECL_ESTIMATED_INSNS): Remove.
11171         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
11172         (DECL_DECLARED_INLINE_P): Remove.
11173         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
11174         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
11175         (finish_function): Make uninlinable a bool.  Fixup call to
11176         tree_inlinable_function_p() and fix some code style issues.
11177         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
11178         * cgraph.c (dump_cgraph): Likewise.
11179         * cgraphunit.c (cgraph_decide_inlining): Likewise
11180         (cgraph_finalize_compilation_unit): Likewise.
11181         Also update call to tree_inlinable_function_p().
11182         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
11183         look at DECL_DECLARED_INLINE and reverse logic.
11184         * print-tree.c (print_node): Likewise.
11185         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
11186         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
11187         prototype.
11188         * tree-inline.c (inlinable_function_p): Split up in this function to
11189         check for basic inlining inhibiting conditions, and new
11190         limits_allow_inlining() function.  Warn if inlining is impossible
11191         because the inline candidate calls alloca or uses sjlj exceptions.
11192         (limits_allow_inlining): this new function to check if the inlining
11193         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
11194         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
11195         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
11196         Update prototypes.
11197         (tree_inlinable_function_p): Make a bool.  Update call to
11198         inlinable_function_p
11199         (expand_call_inline): Use limits_allow_inlining() when not in
11200         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
11201         instead see if the function was declared `inline'.
11202
11203 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
11204
11205         * gcse.c (try_replace_reg): Fix updating of note.
11206
11207 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11208
11209         PR middle-end/11771
11210         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
11211         logic in negate_expr, i.e. we don't invert (A-B) for floating
11212         point types unless flag_unsafe_math_optimizations.
11213
11214 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11215
11216         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
11217         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
11218         for floating point expressions with -ffast-math.
11219         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
11220         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
11221
11222 2003-08-04  Roger Sayle  <roger@eyesopen.com>
11223
11224         * c-common.c (flag_noniso_default_format_attributes): Delete.
11225         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
11226         (c_attrs_initialized): Delete.
11227         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
11228         always call c_init_attributes.
11229         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
11230         set c_attrs_initialized when done.
11231         (c_common_insert_default_attributes): Delete.
11232         * c-common.h (flag_noniso_default_format_attributes): Delete.
11233         (c_coomon_insert_default_attributes): Delete prototype.
11234         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
11235         flag_noniso_default_format_attributes.
11236
11237         * c-decl.c (c_insert_default_attributes): Delete.
11238         * c-tree.h (c_insert_default_attributes): Delete prototype.
11239
11240         * attribs.c (decl_attributes): Don't call insert_default_attributes
11241         langhook.  Update function description comment.
11242         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
11243         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
11244         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
11245         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
11246
11247         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
11248         define.
11249
11250 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
11251
11252         * config/mips/mips.c (override_options): Disable -G on targets that
11253         have no .section support.
11254         (mips_select_section): Use default_select_section for such targets.
11255
11256 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
11257
11258         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
11259         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
11260         * fixinc/fixincl.x: Rebuild.
11261         * fixinc/tests/base/regexp.h: New test.
11262
11263 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
11264
11265         * c-ppoutput.c (cb_line_change): Don't skip line changing while
11266         parsing macro arguments in the top-level context.
11267
11268 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
11269
11270         * config.in: Remove HAVE_LSTAT.
11271         * configure, configure.in: Don't test for lstat.
11272
11273 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11274
11275         * opts.c (decode_options): Do language-specific initialization for
11276         the global diagnostic context.
11277         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
11278         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
11279         (LANG_HOOKS_INITIALIZER): Adjust.
11280         * langhooks.h (struct lang_hooks): Add new field
11281         initialize_diagnostics.
11282         * langhooks.c (lhd_initialize_diagnostics): Define.
11283
11284 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11285
11286         * pretty-print.h:   Adjust macro definitions.
11287         * pretty-print.c (pp_newline): Rename to pp_base_newline.
11288         (pp_character): Rename to pp_base_character.
11289         (pp_string): Rename to pp_base_string.
11290         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
11291         (pp_newline):  Likewise.  Adjust.
11292         (pp_c_char): Adjust.
11293
11294 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11295
11296         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
11297         BUILT_IN_LLABS): Move to miscellaneous section.
11298
11299 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
11300
11301         PR preprocessor/11534
11302         * cppexp.c (parse_defined): Warn only if -pedantic.
11303
11304 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
11305
11306         * cppfiles.c (stack_file): Use file path.
11307
11308 2003-08-02  Roger Sayle  <roger@eyesopen.com>
11309
11310         * builtin-types.def (BT_SSIZE): New primitive type.
11311         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
11312         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
11313         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
11314         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
11315         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
11316         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
11317         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
11318         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
11319         few functions that define default attributes using it.
11320         * c-common.c (c_common_insert_default_attributes): Do nothing.
11321
11322         * doc/extend.texi: Document these "new" builtins.
11323
11324 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
11325
11326         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
11327         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
11328         when -mieee-fp set and -shared not set.
11329         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
11330
11331 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
11332
11333         * cppfiles.c (struct _cpp_file): Rename once_only_next to
11334         next_file.  Remove import and pragma_once, add once_only.
11335         (find_file): Add new file structures to the all_files list.
11336         (should_stack_file): Mark #import-ed files once-only, and
11337         don't stack them if the file has already been stacked.
11338         (_cp_mark_file_once_only): Simplify.
11339         * cpphash.h (struct cpp_reader): Rename once_only_files
11340         to all_files.  Rename saw_pragma_once to seen_once_only.
11341         (_cpp_mark_file_once_only): Update prototype.
11342         * cpplib.c (do_pragma_once): Update.
11343
11344 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
11345
11346         * cppfiles.c (ENOTDIR): Remove.
11347         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
11348         other than ENOENT here.
11349         (once_only_file_p): Rename should_stack_file.
11350         (find_file, open_file_failed, read_file_guts): Report errors
11351         with full path name.
11352         (read_file): Move pch handling to should_stack_file.
11353         (should_stack_file): Handle PCH and once-only issues, and
11354         reading the file.
11355         (stack_file): Don't do file reads.
11356
11357 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11358
11359         * libgcov.c (gcov_exit): Cleanup and fix.
11360         * profile.c (compute_value_histograms): Don't try to read profiles
11361         that are not present.
11362
11363 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11364
11365         * builtins.def: Categorize.
11366
11367         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
11368         Mind fp rounding.
11369         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
11370
11371 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
11372
11373         * config.gcc: Enable posix threads by default on darwin.
11374
11375 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
11376
11377         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
11378         even if nehedges1 is 0.
11379
11380 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
11381
11382         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
11383         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
11384         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
11385         and defintions.
11386
11387         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
11388         * fixinc/fixincl.x: Regenerate.
11389         * fixinc/tests/base/math.h: Regenerate to match test_text change.
11390
11391 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11392
11393         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
11394
11395 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11396
11397         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
11398         for accesses to exc_ptr.
11399
11400 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
11401
11402         * doc/sourcebuild.texi (Front End Directory): Don't make references
11403         to libsubdir, it's not part of the interface to frontends.
11404         * doc/install.texi (Configuration): Help users read faster by saying
11405         that GCC's configure options are the standard autoconf ones.
11406         Mention --libdir.  Update the default rules for finding the
11407         assembler.  Don't use libsubdir since we haven't said what it means.
11408         (Specific): In the Solaris 7 notes, update the place to put the
11409         assembler.
11410         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
11411         * doc/cpp.texi (Search Path): Actually, the search path
11412         depends on libdir, which can relocate with cpp.
11413         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
11414         now a private interface between the Makefile and the driver.
11415
11416 2003-08-01  Richard Henderson  <rth@redhat.com>
11417
11418         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
11419
11420         * varasm.c (lookup_constant_def): New function.
11421         * rtl.h (lookup_constant_def): Declare it.
11422         * dwarf2out.c (loc_descriptor_from_tree): Use it.
11423         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
11424
11425 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
11426
11427         * c-decl.c (gettags, pushdecl_function_level): Delete.
11428         (last_function_parm_vars): Rename last_function_parm_others.
11429         (current_function_parm_vars): Rename current_function_parm_others.
11430         (struct c_scope): Rewrite comment explaining this data structure.
11431         Add names_last, blocks_last, parms_last fields.  Rename
11432         incomplete_list to incomplete.
11433         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
11434         (poplevel): Ignore second argument.  No need to nreverse
11435         anything.  Restructure such that each list is processed
11436         exactly once.  Use 'const location_t *locus' syntactic sugar
11437         variable where useful.  Issue unused variable warnings
11438         ourselves, do not rely on function.c.
11439         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
11440         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
11441         (implicitly_declare): decl cannot be error_mark_node.
11442         (undeclared_variable): Manipulate scope structure directly.
11443         (c_make_fname_decl): Likewise.
11444         (getdecls, c_init_decl_processing): Fix comment.
11445         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
11446         for 'last' variable.
11447         (grokparms): No need to nreverse parms list.
11448         (store_parm_decls_newstyle): Set up the parms_last and
11449         names_last fields of the new scope too.
11450         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
11451         on parms to begin with; check this under ENABLE_CHECKING.  Set
11452         up parms_last.
11453         (check_for_loop_decls): Refer directly to current_scope->tags.
11454         Use consistent quote style in diagnostics.
11455         (c_write_global_declarations): The names list is not backward.
11456
11457         * c-common.h: Don't prototype gettags.
11458         * c-parse.in: Call poplevel with second argument 0 always.
11459
11460 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11461
11462         * builtins.def: Resort builtins.
11463
11464 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11465
11466         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
11467         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
11468         Prepend "__builtin_" onto NAME with string concatenation.  Remove
11469         explicit "__builtin_" from each macro call.
11470
11471         Reformat entire file.
11472
11473 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11474
11475         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
11476         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
11477
11478 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
11479
11480         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
11481         CCL1, or CCL2 modes with floating point operations.
11482
11483         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
11484         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
11485         "*subdf3_cconly"): New insns.
11486         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
11487
11488 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
11489
11490         * Makefile.in: Refine dependencies.
11491         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
11492         * c.opt: Update help for -Wimport.
11493         * cppfiles.c: Include hashtab.h.  Update comments.
11494         (stack_file): Read the file before updating dependencies.
11495         (once_only_file_p): Be smarter about marking once-only files.
11496         (_cpp_mark_file_once_only): Correct the check for existence on
11497         the list.
11498         (open_file_failed): Use name not path, which is NULL.
11499         * cpphash.h: Don't include hashtab.h.
11500         (struct _cpp_file): Remove.
11501         (struct cpp_reader): Update.
11502         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
11503         * cpplib.h (struct cpp_options): Remove warn_import.
11504         (cpp_simplify_path): Remove.
11505
11506 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
11507
11508         PR c++/11295
11509         * doc/extend.texi (Statement Expressions): Document C++ semantics.
11510
11511 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
11512
11513         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
11514
11515 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11516
11517         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
11518         throughout.
11519         * builtins.def: Likewise.
11520
11521 2003-07-31  Jason Merrill  <jason@redhat.com>
11522
11523         * Makefile.in (bubblestrap): Don't require a previous full
11524         bootstrap.
11525
11526         * expr.c (mostly_zeros_p): No longer static.
11527         * tree.h: Declare it.
11528         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
11529         unless we need to do substitutions.
11530
11531 2003-07-31  Roger Sayle  <roger@eyesopen.com>
11532
11533         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
11534         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
11535         as pow(x,2.0) when the latter will be expanded back into x*x.
11536         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
11537         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
11538         pow can never set errno when used with an integer exponent.
11539         Always use expand_powi when exponent is -1, 0, 1 or 2.
11540         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
11541         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
11542         the pow forms of these expressions.
11543
11544 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
11545
11546         * Makefile.in (libexecdir): New.
11547         (libsubdir): Use gcc instead of gcc-lib.
11548         (libexecsubdir): New.
11549         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
11550         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
11551         gcc-lib.
11552         (installdirs): Make libexecsubdir.
11553         (install-common): Put executables in libexecsubdir.
11554         (itoolsdir): Use libexecsubdir.
11555         (itoolsdatadir): New.
11556         (install-mkheaders): Separate data files and executables.
11557         (install-collect2): Put executables in libexecsubdir.
11558         (uninstall): Remove libexecsubdir.
11559         * mkheaders.in: Update for new arrangement of files.
11560         (libexecdir): New.
11561         (libexecsubdir): New.
11562         (itoolsdir): Use libexecsubdir.
11563         (itoolsdatadir): New.
11564         * gcc.c (gcc_libexec_prefix): New.
11565         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
11566         (standard_exec_prefix_1): Use libexec.
11567         (standard_exec_prefix_2): New.
11568         (standard_libexec_prefix): New.
11569         (process_command): Update for new arrangement of files.  Compute
11570         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
11571
11572 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
11573
11574         * inclhack.def (stdio_va_list): Avoid bogus replacement which
11575         triggers on Interix.
11576         * fixincl.x: Regenerate.
11577
11578 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
11579
11580         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
11581         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
11582
11583 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11584
11585         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
11586
11587 2003-07-31  Per Bothner  <pbothner@apple.com>
11588
11589         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
11590         (add_input_filename):  New function.
11591         (handle_options):  Call add_input_filename directly instead of
11592         with a lang hook.
11593         * opts.h (in_fnames, num_in_fnames):  Moved here.
11594         (add_input_filename):  Declare.
11595         * c-decl.c:  Need to #include opts.h.
11596         * Makefile.in (c-decl.o):  Also depends on opts.h.
11597         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
11598         (c_common_handle_filename):  Replaced by add_input_filename.
11599         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
11600         Remove.
11601         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
11602         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
11603         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
11604         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
11605
11606 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11607
11608         * combine.c (try_combine): Set JUMP_LABEL for newly created
11609         unconditional jump.
11610
11611 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11612
11613         * fold-const.c (fold): Fold some comparisons of bit operations.
11614
11615 2003-07-31  Jan Hubicka  <jh@suse.cz>
11616
11617         * cgraph.c (create_edge): Fix typo.
11618         * i386.c (pic_symbolic_operand): Reorder tests.
11619
11620 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
11621
11622         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
11623         more fully.
11624         (Gcov Data Files): Update.
11625
11626 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11627
11628         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
11629         default.
11630
11631         * gthr-posix.c: New file.
11632         * gthr-posix.h: Define _REENTRANT if missing.
11633         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
11634
11635         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
11636         by gthr-posix.o.
11637         * config/alpha/t-osf-pthread: New file.
11638
11639         * fixinc/inclhack.def (alpha_pthread): New fix.
11640         * fixinc/fixincl.x: Regenerate.
11641         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
11642
11643         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
11644         warning.
11645         Fixes PR bootstrap/9330.
11646
11647 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11648
11649         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
11650         without GNU ld.
11651         Update comment.
11652         * configure: Regenerate.
11653
11654 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
11655
11656         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
11657         setter.
11658
11659 2003-07-30  Roger Sayle  <roger@eyesopen.com>
11660
11661         * builtins.def: Alphabetize.
11662
11663 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
11664
11665         * doc/c-tree.texi: Normalize spellings of "lowercase" and
11666         "uppercase".
11667         * doc/cpp.texi: Likewise.
11668         * doc/md.texi: Likewise.
11669         * doc/rtl.texi: Likewise.
11670         * doc/tm.texi: Likewise.
11671
11672 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
11673
11674         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
11675         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
11676         of cc1obj.
11677
11678 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
11679
11680         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
11681         macros before defining them.
11682
11683 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
11684
11685         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
11686         UNSPECV_BLOCKAGE): New constants.
11687         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
11688         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
11689         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
11690         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
11691
11692         (all insns and expanders): Write output control string as brace block
11693         where appropriate.  Remove \-escapes for doublequote characters.
11694
11695 2003-07-31  Jan Hubicka  <jh@suse.cz>
11696
11697         * gcse.c (insert_store): Fix typo in previous patch.
11698
11699 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
11700
11701         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
11702
11703 2003-07-30  Andi Kleen  <ak@muc.de>
11704
11705         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
11706
11707 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11708
11709         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
11710         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
11711         GCOV_N_VALUE_COUNTERS): New.
11712         * profile.c (compute_value_histograms): New static function.
11713         (branch_prob): Read back the value histograms.
11714         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
11715         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
11716         * value-prof.c: Add comment on reading the profile.
11717         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
11718         * doc/invoke.texi (-fprofile-values): Document behavior with
11719         -fbranch-probabilities.
11720
11721 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
11722
11723         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
11724
11725 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
11726
11727         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
11728         symbolically.
11729
11730 2003-07-30  Jan Hubicka  <jh@suse.cz>
11731
11732         * gcse.c (insert_store): Ignore fake edges.
11733
11734         * c-common.c (flag_vtable_gc): Kill.
11735         * c-common.g (flag_vtable_gc): Kill.
11736         * c-opts (c_common_handle_option): Kill.
11737         * c.opt (fvtable-gc): Kill.
11738         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
11739         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11740         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11741
11742         * invoke.texi (-ftable-gc): Kill documentation.
11743
11744         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
11745         just because function body is missing.
11746
11747         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
11748
11749 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
11750
11751         * unwind-sjlj.c: Fix typo in file description.
11752
11753 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
11754
11755         * calls.c (load_register_parameters): When shifting reg sized values
11756         to the msb, move the value to a reg first.
11757
11758 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
11759
11760         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
11761         * line-map.h (linemap_add): Update comments.
11762         * line-map.c (linemap_add): Update comments, interpret zero-length
11763         filename as "<stdin>".
11764
11765 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
11766
11767         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
11768
11769 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
11770
11771         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
11772         New static variables.
11773         (struct c_scope): Add parms and warned_forward_parm_decls
11774         fields; remove parm_order.
11775         (storedecls, storetags): Delete.
11776         (poplevel): Also clear bindings on the parms chain.
11777         (pushdecl): Handle forward declarations of parameters, and
11778         chain PARM_DECLs on the parms list, not the names list.
11779         (lookup_name_current_level): Check for PARM_DECLs on the parms
11780         list too.
11781         (push_parm_decl): Don't update parm_order.
11782         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
11783         warning, only once per parameter list, and set TREE_ASM_WRITTEN
11784         on the decls here.  Then move the forward decls to the names list.
11785         (grokparms): Set last_function_parm_vars.
11786         (get_parm_info): Don't use gettags or getdecls.  No need to
11787         extract non-parms from the parms list, or reorganize the parms
11788         list.  Feed nonparms back in the TREE_TYPE of the list node
11789         returned.  Issue only one error per parameter list for "void"
11790         appearing more than once in said parameter list.  Collapse
11791         parmlist_tags_warning into this function to avoid double scan
11792         of tags list.
11793         (start_function): Set current_function_parm_vars.
11794         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
11795         directly.  Get non-parms from current_function_parm_vars; no
11796         need to extract them from the parms chain.  Properly bind tags
11797         in the new scope.
11798         (store_parm_decls_oldstyle): No need to extract non-parameters
11799         from the parms chain, nor to store them back afterward.  Move
11800         declaration to top of function, restructure code reordering
11801         DECL_ARGUMENTS.
11802         (store_parm_decls): No need to save and restore warn_shadow.
11803         * c-parse.in: Don't call parmlist_tags_warning nor
11804         clear_parm_order.  Call mark_forward_parm_decls when forward
11805         parm decls are encountered.
11806         * c-tree.h: Prototype mark_forward_parm_decls; not
11807         clear_parm_order or parmlist_tags_warning.
11808
11809 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
11810
11811         * c-common.c (allow_pch): Remove.
11812         * c-common.h (allow_pch): Remove.
11813         (c_common_no_more_pch): Declare.
11814         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
11815         * c-pch.c: Include hosthooks.h.
11816         (c_common_valid_pch): Don't check allow_pch.
11817         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
11818         (c_common_no_more_pch): New.
11819         * ggc-common.c: Include hosthooks.h.
11820         (gt_pch_save): Call gt_pch_get_address.
11821         (gt_pch_restore): Call gt_pch_use_address.
11822         * hooks.c (hook_voidp_size_t_null): New.
11823         (hook_bool_voidp_size_t_false): New.
11824         * hooks.h (hook_voidp_size_t_null): New.
11825         (hook_bool_voidp_size_t_false): New.
11826         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
11827         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
11828         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
11829         HOST_HOOKS_GT_PCH_USE_ADDRESS.
11830         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
11831         gt_pch_use_address.
11832         * doc/hostconfig.texi (Host Common): Document
11833         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
11834         * Makefile.in (c-pch.o): Depend on hosthooks.h.
11835         (ggc-common.o): Likewise.
11836
11837         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
11838         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
11839         (pch_address_space): New.
11840         (darwin_rs6000_gt_pch_get_address): New.
11841         (darwin_rs6000_gt_pch_use_address): New.
11842
11843 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
11844
11845         PR preprocessor/11569
11846         PR preprocessor/11649
11847         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
11848         * cppfiles.c: Completely rewritten.
11849         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
11850         struct cpp_path is now struct cpp_dir.
11851         (remove_duplicates): Don't simplify path names.
11852         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
11853         cpp_stack_file.
11854         * cpphash.h: Include hashtab.h.
11855         (_cpp_file): Declare.
11856         (struct cpp_buffer): struct include_file is now struct _cpp_file,
11857         and struct cpp_path is now struct cpp_dir.  Rename members.
11858         (struct cpp_reader): Similarly.  New members once_only_files,
11859         file_hash, file_hash_entries, quote_ignores_source_dir,
11860         no_search_path, saw_pragma_once.  Remove all_include_files and
11861         max_include_len.  Make some members bool.
11862         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
11863         (_cpp_stack_file): Renamed from _cpp_read_file.
11864         (_cpp_stack_include): Renamed from _cpp_execute_include.
11865         (_cpp_init_files): Renamed from _cpp_init_includes.
11866         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
11867         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
11868         (cpp_read_next_file): Rename and move to cppfiles.c.
11869         (cpp_read_main_file): Update.
11870         * cpplib.c (run_directive): Update for renamed members.
11871         (do_include_common, _cpp_pop_buffer): Update.
11872         (do_import): Undeprecate #import.
11873         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
11874         * cpplib.h: Remove file_name_map_list.
11875         (cpp_options): Remove map_list.
11876         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
11877         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
11878
11879 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
11880
11881         * Makefile.in:  Make stamp-objdir safe for parallel builds.
11882
11883 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
11884
11885         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
11886         (info):  Depend on stmp-docobjdir.
11887
11888 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11889
11890         * configure: Regenerate.
11891
11892 2003-07-29  Jan Hubicka  <jh@suse.cz>
11893
11894         PR C++/11131
11895         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
11896         in !unit-at-a-time mode.
11897
11898 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
11899
11900         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
11901         main function.
11902
11903 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
11904
11905         PR c++/11667
11906         * c-common.c (shorten_compare): Take into account differences
11907         between C and C++ representation for enumeration types.
11908         * tree.h (set_min_and_max_values_for_integral_type): Declare.
11909         * stor-layout.c (set_min_and_max_values_for_integral_type): New
11910         function, broken out from ...
11911         (fixup_signed_type): ... here and ...
11912         (fixup_unsigned_type): ... here.
11913
11914 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
11915
11916         * c-decl.c: Update commentary, adjust blank lines throughout.
11917         (struct c_scope): Fix indentation.  Reorder members so
11918         outer-context pointers come first, booleans last.
11919         (duplicate_decls, define_label): Use a 'locus' variable for
11920         diagnostic locations in a few more places.
11921         (warn_if_shadowing): Un-split a conditional that fits on one line.
11922         (c_init_decl_processing): No need to clear current_scope and
11923         current_function_scope.
11924         (start_decl): Merge if/else if statements with same action.
11925         (push_parm_decl): Rename old_immediate_size_expand to use
11926         save_foo convention; save/restore around entire function.
11927         (grokdeclarator): Remove unnecessary braces.
11928
11929 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
11930             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
11931
11932         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
11933         when warn_declaration_after_statement.  Call pedwarn_c90, not
11934         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
11935         * c-common.c (warn_declaration_after_statement): Define.
11936         * c-common.h (warn_declaration_after_statement): Declare.
11937         * c.opt (Wdeclaration-after-statement): New.
11938         * c-errors.c (pedwarn_c90): New function.
11939         * c-opts.c (c_common_handle_option) <case
11940         OPT_Wdeclaration_after_statement>: New.
11941         * c-tree.h (pedwarn_c90): Declare.
11942         * doc/invoke.texi (Option Summary): Document
11943         -Wdeclaration-after-statement.
11944         (Warning Options): Ditto.
11945
11946 2003-07-28  Jan Hubicka  <jh@suse.cz>
11947
11948         * i386.md (memory attribute) Avoid accessing uninitialized memory
11949         for ishift1 type instructions.
11950
11951 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
11952
11953         * configure.in (--enable-checking): Add fold category.
11954         (ENABLE_FOLD_CHECKING): Define if requested.
11955         * configure: Rebuilt.
11956         * config.in: Rebuilt.
11957         * doc/install.texi: Document it.
11958         * fold-const.c: Include md5.h.
11959         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
11960         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
11961         print_fold_checksum): New functions.
11962
11963         * fold-const.c (fold): Never modify argument passed to fold, instead
11964         change a copy and return it.
11965         * convert.c (convert_to_integer): Likewise.
11966
11967 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
11968
11969         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
11970         cleanup of junk after #else and #endif directives.  Collapse repeated
11971         clauses into for statment.
11972
11973         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
11974
11975 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
11976
11977         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
11978         (keep_next_if_subblocks): Rename next_is_function_body.
11979         (pushlevel): Adjust commentary.  Always set ->keep on the
11980         outermost level of a function.  Don't set ->keep_if_subblocks.
11981         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
11982         (store_parm_decls): Adjust to match.
11983         (finish_function): Adjust to match.
11984         Call poplevel with all three arguments zero.
11985
11986         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
11987         New functions split out of store_parm_decls.
11988         Avoid unnecessary work. Use local variables consistently.
11989         (store_parm_decls): Likewise.
11990
11991         (finish_function): No need to set functionbody flag on call to
11992         poplevel.
11993         (struct language_function): Remove scope field.
11994         (c_push_function_context, c_pop_function_context): No need to
11995         save and restore current_scope.
11996
11997 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
11998
11999         * doc/extend.texi (Deprecated Features): Implicit typename is
12000         gone. Default args on types is going.
12001
12002 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
12003
12004         * Makefile.in (ifcvt.o): Depend on target.h
12005         * ifcvt.c (target.h): Include.
12006         (if_convert): Don't call mark_loop_exit_edges if we can't
12007         modify jumps.
12008
12009 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12010
12011         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
12012
12013 2003-07-26  Richard Henderson  <rth@redhat.com>
12014
12015         PR inline-asm/11676
12016         * cse.c (count_reg_usage): Handle asm_operands properly.
12017
12018 2003-07-26  Roger Sayle  <roger@eyesopen.com>
12019
12020         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
12021         (DEF_EXT_FALLBACK_BUILTIN): Delete.
12022         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
12023         the regular DEF_EXT_LIB_BUILTIN macro.
12024         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
12025         the regular DEF_LIB_BUILTIN macro.
12026         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
12027         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
12028         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
12029         DEF_EXT_LIB_BUILTIN macro.
12030
12031         * c-decl.c (duplicate_decls): Remove code to handle builtin
12032         functions prototyped without an argument list.
12033
12034 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
12035
12036         * config/i386/winnt.c: Revert 2003-07-08 change.
12037         (i386_pe_section_type_flags): Remove error_with_decl here too.
12038
12039 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12040
12041         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
12042         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
12043         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
12044         (v850_handle_data_area_attribute): Likewise.
12045
12046 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
12047
12048         * varasm.c (output_constant_def_contents): Use
12049         ASM_DECLARE_CONSTANT_NAME if defined.
12050         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
12051         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
12052         objects get at least one byte to prevent assembler problems.
12053         (ASM_DECLARE_CONSTANT_NAME): New.
12054
12055         * Makefile.in (libbackend.o): Remove options_.h.
12056         (mostlyclean): Likewise.
12057
12058         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
12059         insert a label at the end of an function under Mach-O.
12060
12061         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
12062
12063 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
12064
12065         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
12066         equality.
12067         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
12068
12069         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
12070
12071 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12072
12073         * doc/passes.texi (Passes): Mention pretty-printing and
12074         diagnostic files.
12075
12076 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
12077
12078         * doc/extend.texi (Function Attributes): GNU C++ does now allow
12079         unused parameter decls.
12080         (Attribute Syntax): GNU C++ does not allow label attributes to be
12081         after the ':'.
12082
12083 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12084
12085         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
12086         (objc_declare_class): Likewise.
12087         (error_with_ivar): Likewise.
12088         (start_class): Likewise.
12089         (warn_with_method): Likewise.
12090
12091 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12092
12093         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
12094         from GCC.
12095         * calls.c (try_to_integrate): Don't use xxx_with_decl.
12096         (expand_call): Likewise.
12097         * dwarfout.c (output_reg_number): Likewise.
12098         * expr.c (expand_expr): Likewise.
12099         * function.c (assign_temp): Likewise.
12100         (uninitialized_vars_warning): Likewise.
12101         (setjmp_args_warning): Likewise.
12102         (expand_function_end): Likewise.
12103         * stmt.c (fixup_gotos): Likewise.
12104         (warn_about_unused_variables): Likewise.
12105         (expand_end_bindings): Likewise.
12106         * stor-layout.c (layout_decl): Likewise.
12107         (place_field): Likewise.
12108         * toplev.c (check_global_declarations): Likewise.
12109         (rest_of_handle_inlining): Likewise.
12110         (default_tree_printer): New function.
12111         (general_init): Initialize diagnostic machinery before routing
12112         signals to the ICE machinery.  Set default tree printer.
12113         * toplev.h (pedwarn_with_decl): Remove declaration.
12114         (warning_with_decl): Likewise.
12115         (error_with_decl): Likewise.
12116         (pedwarn): Remove attribute for the time being.
12117         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
12118         * varasm.c (named_section): Likewise.
12119         (make_decl_rtl): Likewise.
12120         (assemble_variable): Likewise.
12121         (merge_weak): Likewise.
12122         (declare_weak): Likewise.
12123
12124         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
12125         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
12126         (format_with_decl): Remove.
12127         (diagnostic_for_decl): Likewise.
12128         (pedwarn_with_decl): Likewise.
12129         (warning_with_decl): Likewise.
12130         (error_with_decl): Likewise.
12131         (diagnostic_initialize): Adjust.
12132         (diagnostic_count_diagnostic): Likewise.
12133         (announce_function): Likewise.
12134         (lhd_print_error_function): Likewise.
12135         (diagnostic_report_current_module): Likewise.
12136         (default_diagnostic_starter): Likewise.
12137         (diagnostic_report_diagnostic): Likewise.
12138         (default_diagnostic_finalizer): Likewise.
12139         (verbatim): Likewise.
12140         (error): Likewise.
12141         (warning): Likewise.
12142         * opts.c (common_handle_option): Likewise.
12143         * pretty-print.c: New file.
12144         * c-pretty-print.h (pp_base): Override.
12145         * c-pretty-print.c: Adjust use of macros throughout.
12146         (pp_buffer): New macro.
12147         (pp_newline): Likewise.
12148         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
12149         * Makefile.in (DIAGNOSTIC_H): New variable.
12150         (c-errors.o): Use it.
12151         (c-objc-common.o): Likewise.
12152         (c-common.o): Likewise.
12153         (c-opts.o): Likewise.
12154         (c-format.o): Likewise.
12155         (diagnostic.o): Likewise.
12156         (opts.o): Likewise.
12157         (toplev.o): Likewise.
12158         (rtl-error.o): Likewise.
12159         (dwarf2out.o): Likewise.
12160         (jump.o): Likewise.
12161         (pretty-print.o): New rule.
12162
12163 2003-07-24  Roger Sayle  <roger@eyesopen.com>
12164
12165         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
12166         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
12167         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
12168         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
12169         (DEF_FRONT_END_LIB_BUILTIN): Delete.
12170         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
12171         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
12172
12173         * builtins.c (build_string_literal): New function to construct
12174         a char* pointer to a string literal.
12175         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
12176         "rtx target" to be consistent with other expand_builtin_* functions.
12177         Change 3rd argument from "int unlocked" to "bool unlocked".
12178         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
12179         c-common.c to avoid front-end dependencies.  Optimize printf("")
12180         as a no-op when the result isn't required.  Handle embedded NULs
12181         in format string.
12182         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
12183         from c-common.c to avoid front-end dependencies.  Likewise, optimize
12184         fprintf(fp,"") as a no-op when the result isn't required, evaluating
12185         fp for side-effects.  Handle embedded NULs in format string.
12186         (expand_builtin_sprintf): Fix typo.
12187         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
12188         optimizing.  Adjust calls of expand_builtin_fputs to match the API
12189         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
12190         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
12191         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
12192
12193         * c-common.c (is_valid_printf_arglist): Delete.
12194         (c_expand_builtin): Delete.
12195         (c_expand_builtin_printf): Moved to builtins.c. Delete.
12196         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
12197         (c_expand_expr): No longer treat CALL_EXPRs specially.
12198         (CALLED_AS_BUILT_IN): Delete.
12199
12200 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12201
12202         PR optimization/11631
12203         * gcse.c (store_motion): Connect infinite loops to exit.
12204
12205 2003-07-24  Jason Merrill  <jason@redhat.com>
12206
12207         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
12208         (boolean_true_node, boolean_false_node): Likewise.
12209         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
12210         * tree.c (build_common_tree_nodes): Init boolean_type_node.
12211         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
12212         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
12213         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
12214         (truthvalue_true_node): Renamed from boolean_true_node.
12215         (truthvalue_false_node): Renamed from boolean_false_node.
12216         * c-decl.c: Just set truthvalue_* to integer_*.
12217         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
12218
12219 2003-07-24  Roger Sayle  <roger@eyesopen.com>
12220
12221         * c-decl.c (match_builtin_function_types): New subroutine of
12222         duplicate_decls to test whether a redeclaration of a builtin
12223         function is suitably close, i.e. the return type and all of
12224         the argument types have the same modes as the builtin expects.
12225         (duplicate_decls): Fuzzy type matching for builtin functions
12226         moved to match_builtin_function_types.
12227
12228 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12229
12230         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
12231         flag correctly.
12232
12233 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
12234
12235         * c-decl.c: Search-and-replace change 'binding level' to
12236         'scope' in commentary.
12237         (struct binding_level): Now struct c_scope.
12238         (current_binding_level): Now current_scope.
12239         (free_binding_level): Now scope_freelist.
12240         (current_function_level): Now current_function_scope.
12241         (global_binding_level): Now global_scope.
12242         (make_binding_level): Now make_scope.
12243         (pop_binding_level): Now pop_scope.
12244
12245 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12246
12247         * configure.in (libgcc_visibility): Add missing whitespace.
12248
12249 2003-07-24  Richard Henderson  <rth@redhat.com>
12250
12251         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
12252         __gcc_personality_v0.
12253
12254 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12255
12256         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
12257
12258 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
12259
12260         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
12261         documentation missed from my 2003-07-09 patch.
12262
12263 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
12264
12265         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
12266         it's not provided.
12267         * configure: Rebuild.
12268
12269 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
12270
12271         PR c/10602
12272         * c-typeck.c (type_lists_compatible_p): Do not compare
12273         arguments if one of them is an error_mark_node
12274
12275 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
12276
12277         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
12278         if current_function_calls_eh_return.
12279
12280 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
12281
12282         * doc/c-tree.texi (OFFSET_TYPE): Update description.
12283
12284 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
12285
12286         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
12287         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
12288         __umodsi3, __modsi3): Increase frame size to 32.
12289
12290 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
12291
12292         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
12293         prototype.
12294
12295 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
12296
12297         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
12298
12299         PR optimization/10679
12300         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
12301
12302 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12303
12304         PR target/11607 and PR target/11516
12305         * pa.md (extzv, extv, insv): Revert latter half of last patch.
12306
12307 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
12308
12309         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
12310         * varasam.c (output_constant): Likewise.
12311
12312 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
12313
12314         * alias.c: Fix comment formatting.
12315         * c-common.c: Likewise.
12316         * c-decl.c: Likewise.
12317         * c-opts.c: Likewise.
12318         * combine.c: Likewise.
12319         * cpplib.c: Likewise.
12320         * diagnostic.c: Likewise.
12321         * dojump.c: Likewise.
12322         * final.c: Likewise.
12323         * fold-const.c: Likewise.
12324         * gcc.c: Likewise.
12325         * gcse.c: Likewise.
12326         * ggc-page.c: Likewise.
12327         * jump.c: Likewise.
12328         * loop.c: Likewise.
12329         * mips-tfile.c: Likewise.
12330         * recog.c: Likewise.
12331         * regclass.c: Likewise.
12332         * regmove.c: Likewise.
12333         * tree.c: Likewise.
12334         * tree.h: Likewise.
12335
12336 2003-07-22  Per Bothner  <pbothner@apple.com>
12337
12338         * line-map.c (add_line_map):  Handle invalid LEAVE request.
12339         Fixes PR preprocessor/11361.
12340
12341 2003-07-22  Per Bothner  <pbothner@apple.com>
12342
12343         * diagnostic.c.(diagnostic_report_current_module):  Update to match
12344         2003-06-05 changes to push_srcloc and pop_srcloc.
12345
12346 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
12347
12348         * doc/trouble.texi: Better document two-stage name lookup.
12349
12350 2003-07-22  Eric Christopher <echristo@redhat.com>
12351
12352         * config/s390.c (s390_valid_pointer_mode): New.
12353         (TARGET_VALID_POINTER_MODE): Use.
12354         (s390_emit_prologue): Add tpf profiling hooks.
12355         (s390_emit_epilogue): Ditto.
12356         * config/s390.h (MASK_TPF): New.
12357         (TARGET_TPF): Use.
12358         (POINTERS_EXTEND_UNSIGNED): Define.
12359         * config/s390.md (ptr_extend): New pattern.
12360
12361 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
12362
12363         * hashtable.c (approx_sqrt): Make static.
12364         * hashtable.h: Don't prototype approx_sqrt.
12365         * line-map.c (init_line_maps): Rename linemap_init.
12366         (free_line_maps): Rename linemap_free.
12367         (add_line_map): Rename linemap_add.
12368         (lookup_line): Rename linemap_lookup.
12369         (print_containing_files): Rename linemap_print_containing_files.
12370         * linemap.h: Update to match.
12371
12372         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
12373         linemap routines to use new names.
12374
12375 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
12376
12377         * c-common.c (handle_packed_attribute): Don't pack a struct via a
12378         typedef. Propagate packedness from a main variant.
12379
12380 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
12381
12382         * Makefile.in (install-common): Add dependency on installdirs.
12383
12384 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
12385
12386         * c-common.c (c_common_type_for_mode): Return integer types for
12387         pointer modes.
12388
12389 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
12390
12391         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
12392         (finish_decl): Call maybe_apply_pragma_weak here.
12393         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
12394         TREE_PUBLIC and TREE_STATIC are decided.
12395         (start_function): Move call to maybe_apply_pragma_weak.  Check that
12396         DECL_ASSEMBLER_NAME isn't set too early.
12397
12398         * cpplex.c (_cpp_process_line_notes): Mention option name in
12399         trigraphs warning.
12400
12401 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
12402
12403         * combine.c (if_then_else_cond): Simplify the comparison of
12404         rtx against -1, 0, and 1.
12405         * loop.c (check_dbra_loop): Likewise.
12406         * optabs.c (emit_conditional_move): Likewise.
12407         (emit_conditional_add): Likewise.
12408         * config/i386/i386.md (*movsi_or): Likewise.
12409         (*movdi_or_rex6): Likewise.
12410
12411 2003-07-22  Jan Hubicka  <jh@suse.cz>
12412
12413         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
12414
12415 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
12416
12417         * cppfiles.c (open_file_pch): Don't put unused entries in the
12418         splay tree.  Remove dead code.
12419
12420 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
12421
12422         * c-common.h (num_in_fnames): Declare.
12423         (c_static_assembler_name): Move from here...
12424         * c-tree.h (c_static_assembler_name): ... to here.
12425         * c-opts.c: Don't include langhooks-def.h.
12426         (c_static_assembler_name): Move to c-decl.c.
12427         (num_in_fnames): Make externally visible.
12428         * c-decl.c: Include langhooks-def.h.
12429         (c_static_assembler_name): Move from c-opts.c.
12430         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
12431         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
12432
12433         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
12434         when it's not needed.
12435
12436 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
12437
12438         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
12439         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
12440         (rs6000_emit_prologue): Save FPRs inline if set.
12441
12442 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
12443
12444         * config/ia64/ia64.md (prefetch): Support predicate.
12445
12446 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
12447
12448         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
12449         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
12450         table.
12451
12452 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
12453
12454         PR optimization/11536
12455         * unroll.c (loop_iterations): Do not replace a register holding
12456         the final value by its equivalent before the loop if it is not
12457         invariant.
12458
12459 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
12460
12461         * doc/extend.texi: Fixes to spelling, grammar, and diction.
12462
12463 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
12464
12465         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
12466         (V850 Options): Spelling fixes.
12467
12468 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
12469
12470         * doc/invoke.texi: Fixes to style, grammar and diction.
12471
12472 2003-07-20  Roger Sayle  <roger@eyesopen.com>
12473
12474         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
12475         * system.h (SMALL_STACK): Poison obsolete target macro.
12476         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
12477
12478 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
12479
12480         * configure.in:  Cache the results of testing for cmp's capabilities.
12481         * configure:  Regenerate.
12482
12483 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
12484
12485         PR debug/11279
12486         * dwarf2out.c (gen_enumeration_type_die): Remember that
12487         enumerators can be unsigned.
12488
12489 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
12490
12491         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
12492         (push_label_level, pop_label_level): Kill.
12493         (struct binding_level): Rename level_chain to outer.
12494         Add outer_function field.  Change parm_flag, function_body,
12495         keep, keep_if_subblocks to 1-bit bitfields of type bool.
12496         (current_function_level): New variable.
12497         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
12498         (keep_next_level, declare_parm_level, warn_if_shadowing):
12499         Update to match.
12500         (struct language_function): Kill named_labels, shadowed_labels fields.
12501         (c_init_decl_processing, start_function, c_push__function_context)
12502         (c_pop_function_context): No need to muck with named_labels nor
12503         shadowed_labels.
12504
12505         (make_binding_level): No need to clear the structure here.
12506         (pop_binding_level): Always operate on current_binding_level.
12507         Update current_function_level if necessary.
12508         (pushlevel): Don't clear named_labels.  Update current_function_level
12509         if necessary.  Use "true" and "false" where appropriate.
12510         (poplevel): Diagnose labels defined but not used, or vice
12511         versa, and clear out label-meanings leaving scope, while
12512         walking down the decls list, for all binding levels.
12513         Handle LABEL_DECLs appearing in the shadowed list.
12514         pop_binding_level takes no arguments.
12515         (pushdecl_function_level): Use current_function_level.
12516
12517         (make_label, bind_label): New static functions.
12518         (declare_label): New exported function.
12519         (lookup_label, define_label): Rewritten for new data structure.
12520         (shadow_label): Kill.
12521
12522         * c-tree.h: Prototype declare_label; don't prototype
12523         push_label_level, pop_label_level, nor shadow_label.
12524         * c-parse.in: Remove all calls to push_label_level and
12525         pop_label_level.  Use declare_label for __label__ decls.
12526
12527         * doc/extend.texi: Clarify that __label__ can be used to
12528         declare labels with local scope in any nested block, not
12529         just statement expressions.  Cross-reference nested functions
12530         section from local labels section.
12531
12532 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12533
12534         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
12535
12536 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
12537
12538         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
12539
12540 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12541
12542         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
12543         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
12544
12545 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
12546
12547         * config/s390/s390.c (legitimize_pic_address): Access local symbols
12548         relative to the GOT instead of relative to the literal pool base.
12549         (s390_output_symbolic_const): Handle new GOT-relative accesses.
12550         * config/s390/s390.md ("call"): Access local functions and PLT stubs
12551         relative to the GOT instead of relative to the literal pool base.
12552         ("call_value"): Likewise.
12553         ("call_value_tls"): Likewise.
12554
12555         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
12556         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
12557         (s390_chunkify_finish): Likewise.
12558         (s390_chunkify_cancel): Likewise.
12559         (s390_reorg): Adapt caller.
12560         (find_base_register_in_addr,
12561         find_base_register_ref, replace_base_register_ref): Delete.
12562         (find_ltrel_base, replace_ltrel_base): New functions.
12563         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
12564         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
12565         base vs. index register usage.
12566         (struct constant_pool): Remove 'anchor'.
12567         (s390_add_anchor): Delete.
12568         (s390_dump_pool): Remove anchor handling.
12569         * config/s390/s390.md ("reload_anchor"): Remove.
12570
12571         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
12572         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
12573         (s390_emit_prologue): Use it.
12574         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
12575         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
12576         hard-code register 14.
12577         * config/s390/s390-protos.h (s390_load_got): Declare.
12578
12579         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
12580         Support TImode constants.
12581         * config/s390/s390.md ("consttable_ti"): New.
12582         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
12583
12584         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
12585         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
12586         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
12587         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
12588         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
12589         New symbolic constants.
12590         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
12591         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
12592         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
12593         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
12594         symbolic UNSPEC values.
12595         * config/s390/s390.c (larl_operand, s390_short_displacement,
12596         bras_sym_operand, s390_cannot_force_const_mem,
12597         s390_delegitimize_address, s390_decompose_address,
12598         legitimize_pic_address, s390_output_symbolic_const,
12599         s390_function_profiler): Use symbolic UNSPEC values.
12600
12601 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12602
12603         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
12604         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
12605         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
12606         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
12607         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
12608         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
12609         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
12610         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
12611         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
12612         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
12613         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
12614         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
12615         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
12616         postreload.c prefix.c print-tree.c protoize.c ra-build.c
12617         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
12618         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
12619         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
12620         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
12621         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
12622         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
12623         casts.
12624
12625 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12626
12627         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
12628         * toplev.h (warning): Remove attribute.
12629
12630 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12631
12632         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
12633         (pop_label_level): Likewise.
12634         (duplicate_decls): Likewise.
12635         (implicitly_declare): Likewise.
12636         (shadow_label): Likewise.
12637         (start_decl): Likewise.
12638         (finish_decl): Likewise.
12639         (grokdeclarator): Likewise.
12640         (get_parm_info): Likewise.
12641         (detect_field_duplicates): Likewise.
12642         (finish_struct): Likewise.
12643         (start_function): Likewise.
12644         (store_parm_decls): Likewise.
12645         (finish_function): Likewise.
12646         (c_expand_body_1): Likewise.
12647         (check_for_loop_decls): Likewise.
12648         (merge_translation_unit_decls): Likewise.
12649
12650 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
12651
12652         * common.opt:  Document --param.
12653         * opts.c (columns, undocumented_msg): New.
12654         (print_help): Get number of columns from environment.  Print
12655         --param help.  Tweak newline handling.
12656         (print_param_help): New.
12657         (print_filtered_help): Better handling of duplicates.  Complain
12658         about undocumented switches.
12659         (print_switch): New.
12660         (wrap_help): Improve wrapping, use COLUMNS.
12661         * opts.sh: Ignore comments in records.
12662         * params.def: Fix typos and remove trailing periods.
12663         * toplev.c (display_help): Don't dump --param help.
12664         * doc/sourcebuild.texi: Update.
12665
12666 2003-07-18  Richard Henderson  <rth@redhat.com>
12667
12668         PR target/11556
12669         * optabs.c (prepare_operand): Fail gracefully instead of abort
12670         if the predicate doesn't satisfy.
12671         (gen_cond_trap): Allow prepare_operand to fail.
12672
12673 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12674
12675         * c-common.c: Don't undefine GCC_DIAG_STYLE.
12676         (fname_decl): Don't use xxx_with_decl.
12677         (c_add_case_label): Likewise.
12678         (handle_section_attribute): Likewise.
12679         (handle_alias_attribute): Likewise.
12680         (handle_no_instrument_function_attribute): Likewise.
12681         (handle_no_limit_stack_attribute): Likewise.
12682         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
12683         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
12684
12685 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12686
12687         * Makefile.in (ifcvt.o): Add cfgloop.h.
12688         * basic-block.h (EDGE_LOOP_EXIT): New flag.
12689         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
12690         * ifcvt.c: Include cfgloop.h.
12691         (mark_loop_exit_edges): New static function.
12692         (if_convert): Call it.
12693         (find_if_header): Ignore branches out of loops.
12694
12695 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
12696
12697         * combine.c (simplify_comparison): Don't share rtx when converting
12698         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
12699
12700 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
12701
12702         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
12703         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
12704         (MUST_PASS_IN_STACK): Define.
12705         (BLOCK_REG_PADDING): Define.
12706
12707 2003-07-18  Richard Henderson  <rth@redhat.com>
12708
12709         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
12710         to skip the addr_vec.
12711
12712 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
12713
12714         * combine.c (combinable_i3pat): Don't forbid occurrences of
12715         i2dest or i1dest in inner_dest if inner_dest is a mem.
12716
12717 2003-07-18  Jan Hubicka  <jh@suse.cz>
12718
12719         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
12720
12721 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
12722
12723         PR target/11087
12724         * loop.c (basic_induction_var): Check if convert_modes emitted any
12725         instructions. Remove them and return 0 if so.
12726
12727 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
12728
12729         PR optimization/11083
12730         * toplev.c (rest_of_handle_addresof): Rename into
12731         rest_of_handle_addressof.  Delete unreachable blocks
12732         if dead edges were purged after the addressof pass.
12733
12734 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
12735
12736         * Makefile.in, configure, configure.in: Remove handling of
12737         lang-options.h and options_.h.
12738         * toplev.c (struct lang_opt, documented_lang_options): Remove.
12739         (display_help): Don't use documented_lang_options.
12740
12741 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
12742
12743         * c-decl.c (pushdecl_function_level): Make static, return nothing.
12744         (kept_level_p): Fold into poplevel.
12745         (undeclared_variable): Moved here from c-typeck.c.  Export.
12746         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
12747         (undeclared_variable): Prototype here.  Don't prototype
12748         kept_level_p nor pushdecl_function_level.
12749         * c-parse.in: Change first argument to poplevel from
12750         "kept_level_p()" to "KEEP_MAYBE".
12751         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
12752
12753 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12754
12755         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
12756         commutative operands instead of modifying the RTL in-place.
12757
12758 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
12759
12760         PR optimization/11557
12761         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
12762         unless we know which function is being called.
12763
12764 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12765
12766         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
12767         whether to reorder the operands of a commutative binary operator.
12768
12769 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12770
12771         * fold-const.c (const_binop): Avoid performing the FP operation at
12772         compile-time, if either operand is NaN and we honor signaling NaNs,
12773         or if we're dividing by zero and either flag_trapping_math is set
12774         or the desired mode doesn't support infinities.
12775         (fold_initializer): New function to fold an expression ignoring any
12776         potential run-time exceptions or traps.
12777         * tree.h (fold_initializer): Prototype here.
12778         * c-typeck.c (build_binary_op): Move to the end of the file so
12779         that intializer_stack is in scope.  If constructing an initializer,
12780         i.e. when initializer_stack is not NULL, use fold_initializer to
12781         fold expressions.
12782         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
12783         performing FP operations at compile-time, if they would raise an
12784         exception at run-time.
12785
12786 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
12787
12788         PR 11498
12789         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
12790         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
12791         (GTFILES): Add langhooks.c.
12792         (gt-langhooks.h): New.
12793         * c-common.h (c_static_assembler_name): Prototype.
12794         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12795         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12796         * c-opts.c: Include langhooks-def.h.
12797         (c_static_assembler_name): New.
12798         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
12799         (var_labelno): New.
12800         (lhd_set_decl_assembler_name): Give static objects with context
12801         unique names.
12802         * varasm.c (var_labelno): Delete.
12803         (make_decl_rtl): Don't change the assembler name once it's set.
12804
12805         * c-opts.c (this_input_filename): New.
12806         (finish_options): Take new parameter, name of file being compiled.
12807         Update callers.  Set this_input_filename.
12808         (push_command_line_include): Use this_input_filename not
12809         main_input_filename.
12810
12811 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
12812
12813         * Makefile.in: Depend .pot generation on options.c.
12814         * po/exgettext: Add an extra_files variable containing additional
12815         files to scan.
12816
12817 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
12818
12819         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
12820         c_write_global_declarations.
12821
12822         * c-decl.c: Fix typos in several comments.  Remove all
12823         #if 0 blocks; reindent as needed.  Remove unused argument
12824         to declare_parm_level; all callers changed.
12825         * c-parse.in: Update calls to declare_parm_level.  Avoid
12826         issuing a double warning in some circumstances.
12827         * c-typeck.c: Update calls to declare_parm_level.
12828         * c-tree.h: Update prototype of declare_parm_level.
12829
12830         * c-pragma.c (apply_pragma_weak): Don't complain about a
12831         redundant #pragma weak.
12832
12833         * objc/objc-act.c (forward_declare_categories,
12834         build_selector_reference_decl, build_class_reference_decl,
12835         build_objc_string_decl, synth_forward_declarations,
12836         build_protocol_reference): Set TREE_PUBLIC on synthetic
12837         forward decl to 0, consistent with eventual definition.
12838         Correct comments to match.
12839
12840         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
12841         in regexp that don't form a range expression.
12842         * fixinc/fixincl.def: Regenerate.
12843
12844 2003-07-17  Richard Henderson  <rth@redhat.com>
12845
12846         PR target/10907
12847         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
12848         even with !TARGET_CONST_GP.
12849         (ia64_function_ok_for_sibcall): Reject non-local functions.
12850
12851 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
12852
12853         * c-common.c (c_estimate_num_insns_1): Don't handle
12854         METHOD_CALL_EXPR.
12855         * expr.c (safe_from_p): Likewise.
12856         * gengtype.c (adjust_field_tree_exp): Likewise.
12857         * stmt.c (warn_if_unused_value): Likewise
12858         * tree.c (first_rtl_op): Likewise.
12859         * tree.def: Don't define METHOD_CALL_EXPR.
12860         * java/lang.c (java_estimate_num_insns_1): Don't handle
12861         METHOD_CALL_EXPR.
12862
12863 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
12864
12865         PR other/11466
12866         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
12867         and its restrictions for the SPARC64 port.
12868         Move the entry of "-mimpure-text" before that of "-mv8".
12869
12870 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
12871             Phil Edwards <phil@jaj.com>
12872
12873         * doc/install.texi (*-*-solaris2*): Document the step-by-step
12874         procedure to bootstrap and install.
12875         Document the preference for the legacy Sun tools in /usr/bin
12876         over the POSIX tools in /usr/xpg4/bin for the build process.
12877
12878 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
12879
12880         * c.opt: Document Uncodumented; use it.  Document ObjC options.
12881         * opts.c (print_filtered_help): Skip undocumented switches.
12882         * opts.h (CL_UNDOCUMENTED): New.
12883         * opts.sh: Handle Undocumented.
12884         * toplev.c (documented_lang_options): Prevent its becoming empty.
12885 objc:
12886         * lang-options.h: Remove.
12887
12888 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
12889
12890         * loop.c (check_ext_dependent_givs): Pass const struct loop *
12891         instead of struct loop_info * as argument.  Accept BIVs with
12892         increment +/- 1 provided there is a friendly exit test against
12893         a loop-invariant value.
12894         (strength_reduce): Adapt call to check_ext_dependent_givs.
12895
12896 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
12897             Con Bradley <con.bradley@superh.com>
12898
12899         * sh-protos.h (sh_get_pr_initial_val): Declare.
12900         * sh.c (regno_reg_class): Make its elements type enum reg_class.
12901         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
12902         and live_regs_mask arguments.  Changed all callers.
12903         (save_schedule_s): New structure.
12904         (save_schedule): New typedef.
12905         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
12906         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
12907         In interrupts handlers, also save registers that are usually
12908         partially saved, and make sure there is at least one general purpose
12909         register saved if a target register needs saving.
12910         Add casts in comparisons to avoid warnings.
12911         (sh_media_register_for_return): return -1 for interrupt handlers.
12912         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
12913         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
12914         registers used are available.
12915         Set RTX_FRAME_RELATED_P where appropriate.
12916         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
12917         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
12918         (initial_elimination_offset): Likewise.
12919         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
12920         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
12921         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
12922         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
12923         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
12924         and for target registers.
12925         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
12926         (regno_reg_class): Make its elements type enum reg_class.
12927         (CONSTRAINT_LEN): Don't use isdigit.
12928         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
12929         (FUNCTION_ARG): Add parentheses to avoid warnings.
12930         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
12931         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
12932         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
12933         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
12934         * sh.md (xordi3+1): Remove unused variable regno.
12935         (return_media): Check that tr0 is available before using it.
12936
12937 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
12938
12939         * c.opt: Document more options.
12940
12941 2003-07-16  Roger Sayle  <roger@eyesopen.com>
12942
12943         * combine.c (subst): Also handle (subreg (const_double ...)) case
12944         if created by a substitution, by using the original inner mode.
12945
12946 2003-07-16  Roger Sayle  <roger@eyesopen.com>
12947
12948         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
12949         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
12950         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
12951
12952 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
12953
12954         * doc/install.texi (--without-headers): New.
12955
12956         Partial Fix PR/10129
12957         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
12958         (machopic_output_function_base_name): New; print the true pic label.
12959         (machopic_classify_ident): Pic Base is always a defined data.
12960         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
12961         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
12962
12963         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
12964         if they are not floating point registers.
12965
12966         PR c/10962
12967         * ggc.h: Add header guards.
12968         * c-decl.c (finish_struct): Sort fields if
12969         number greater than 15 and there are no
12970         anonymous structs/unions.
12971         * c-common.h: Include ggc.h.
12972         (sorted_fields_type): New struct.
12973         (field_decl_cmp): New prototype.
12974         (resort_sorted_fields): New prototype.
12975         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
12976         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
12977         as s, removing other fields.
12978         * c-typeck.c (lookup_field): Use s in lang_type.
12979         These were mostly moved from cp/class.c:
12980         * c-common.c (field_decl_cmp): New static function.
12981         (field_decl_cmp): New function.
12982         (resort_sorted_fields): New function.
12983
12984 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
12985
12986         * config/darwin.c (machopic_select_section): Use decl_readonly_section
12987         to do most of the work.
12988
12989 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
12990
12991         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
12992         * config/mmix/mmix.c: Convert functions to ISO C90.
12993         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
12994         formatting.
12995         (mmix_get_hard_reg_initial_val): Tweak section head comment.
12996
12997 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
12998
12999         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
13000
13001 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
13002
13003         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
13004         (uw_update_context_1): Use it.
13005         * config/rs6000/rs6000.c (insn_after_throw): Remove.
13006         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
13007         in parent frame if _Unwind_* called directly instead of through
13008         .plt.
13009         (rs6000_emit_eh_toc_restore): Remove.
13010         (rs6000_emit_prologue): Update stack pointer before doing any saving
13011         if current_function_calls_eh_return.  Generate unwind info for $r2.
13012         (rs6000_emit_epilogue): Restore stack pointer after doing all
13013         restoring if current_function_calls_eh_return.  Restore $r2.
13014         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
13015         * config/rs6000/rs6000.md (eh_return): Remove call to
13016         rs6000_emit_eh_toc_restore.
13017         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
13018         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
13019
13020 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
13021
13022         * expr.c (emit_block_move): Don't move anything if size is const 0.
13023         (clear_storage): Test against const0_rtx instead of comparing INTVAL
13024         against 0.
13025
13026 2003-07-15  David S. Miller  <davem@redhat.com>
13027
13028         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
13029         emit nop if the last real insn is CALL_INSN.
13030
13031 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
13032
13033         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
13034         as "nul".
13035         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
13036
13037 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
13038
13039         * config/i386/winnt.c (associated_type): Artificial methods are not
13040         affected by the import/export status of their class unless they are
13041         COMDAT.
13042         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
13043
13044         * config/i386/winnt.c: Fix GCC copyright comment.
13045
13046 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
13047
13048         PR c++/11531
13049         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
13050         not recursing on hard error.
13051         (diagnostic_for_decl): Likewise.
13052         * diagnostic.def: Rearrange.
13053
13054 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
13055
13056         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13057         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
13058
13059 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
13060             Richard Henderson  <rth@redhat.com>
13061
13062         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
13063         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
13064         (_Unwind_SetGR): Likewise.
13065         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
13066         (Unwind_SpTmp): New typedef.
13067         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
13068         (uw_update_context): Use _Unwind_GetPtr.
13069         (init_dwarf_reg_size_table): Move above uw_init_context_1.
13070         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
13071         Use _Unwind_SetSpColumn.
13072         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
13073         Use _Unwind_GetPtr.
13074
13075 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
13076
13077         * c.opt: Document more options.
13078         * toplev.c (documented_lang_options): Remove all local help strings.
13079
13080 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
13081
13082         PR debug/11473
13083         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
13084         base classes.
13085
13086 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
13087
13088         PR target/10795
13089         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
13090         swap comparison operands if doing so would generate an
13091         unrecognizable insn.
13092
13093 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
13094
13095         PR optimization/11320
13096         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
13097         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
13098         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
13099         current_sched_info->compute_jump_reg_dependencies. Record which
13100         registers are used and which registers are set by the jump.
13101         Clear deps->reg_conditional_sets after a barrier.
13102         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
13103         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
13104         (init_deps): Initialize reg_conditional_sets.
13105         (free_deps): Clear reg_conditional_sets.
13106         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
13107         Mark registers live on entry of the fallthrough block and conditionally
13108         set as set by the jump. Mark registers live on entry of non-fallthrough
13109         blocks as used by the jump.
13110         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
13111         Mark new parameters as unused.
13112
13113 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13114
13115         * doc/invoke.texi: Resync MIPS -march documentation.
13116
13117 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13118
13119         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
13120         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
13121         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
13122         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
13123         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
13124         (mips_issue_rate): Handle PROCESSOR_R9000.
13125         (mips_use_dfa_pipeline_interface): Likewise.
13126         * config/mips/9000.md: New file.
13127         * config/mips/mips.md: Include it.
13128         (define_attr cpu): Add r9000.
13129         (mulsi3_mult3): Use "mul" for rm9000 code.
13130
13131 2003-07-15  Stan Cox  <scox@redhat.com>
13132
13133         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
13134         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
13135         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
13136         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
13137         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
13138         (mips_issue_rate): Handle PROCESSOR_R7000.
13139         (mips_use_dfa_pipeline_interface): Likewise.
13140         * config/mips/7000.md: New file.
13141         * config/mips/mips.md: Include it.
13142         (define_attr cpu): Add r7000.
13143         (mulsi3_mult3): Use "mul" for rm7000 code.
13144
13145 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
13146
13147         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
13148         the conditional move patterns.
13149         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
13150         Check for condmove type.
13151         (ir_vr54_arith): Add move type.
13152         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
13153         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
13154
13155 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
13156
13157         * c-opts.c (print_help): Remove.
13158         (c_common_handle_option): Don't handle --help.
13159         * c.opt: Document some options.
13160         (--help): Remove.
13161         * opts.c (print_filtered_help): New.
13162         (print_help): Use it.
13163
13164 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
13165
13166         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
13167         * tree.c: (build_common_tree_nodes_2): Likewise.
13168         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
13169         (V4DF_type_node): New.
13170
13171         * c-opts.c (push_command_line_include): Don't free deferred_opts,
13172         we'll need it.
13173         (finish_options): Reset init_cursor.
13174
13175 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
13176
13177         * expr.c (expand_assignment): Remove an unused argument
13178         SUGGEST_REG.
13179         * expr.h: Update the prototype.
13180         * function.c: Update the callers.
13181         * stmt.c: Likewise.
13182
13183 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
13184
13185         PR debug/11098
13186         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
13187         as DECL_ABSTRACT.
13188
13189 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13190
13191         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
13192         with __cplusplus, not "we must use the C++ compiler's type"
13193         * fixinc/inclhack.def (void_null): Note that Interix needs this.
13194         * fixinc/fixincl.x: Regenerate.
13195
13196 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
13197
13198         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
13199         and unseen_objects from the global data before calling
13200         __deregister_frame_info_bases.
13201         (examine_objects): Insert objects into the seen_objects list,
13202         not unseen_objects.
13203         (_Unwind_Find_FDE): Always unlock the global object lists, even if
13204         we couldn't allocate a data structure to put in it.
13205
13206         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
13207         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
13208         (SET_TYPE_PROTOCOL_LIST): New.
13209         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
13210         (get_object_reference): Likewise.
13211
13212 2003-07-14  Jan Hubicka  <jh@suse.cz>
13213
13214         * cfglayout.c (locator_file): Break out from ....
13215         (insn_file): ... here.
13216         (locator_line): Break out from ....
13217         (insn_line): ... here.
13218         * rtl.h (locator_file, locator_line): Declare.
13219         (final_start_function): Set proper line/file info.
13220
13221 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13222
13223         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
13224         handled by pp_c_cast_expression.
13225
13226 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13227
13228         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
13229         allocate 32768 bytes of stack.  Use addition rather than subtraction
13230         when a single insn is enough.
13231         * config/mips/mips.md: Remove insns and splitters for subtracting
13232         constants.
13233         (subsi3): Only accept register operands.
13234         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
13235         (subdi3_internal_3, subsi3_internal_2): Likewise.
13236         (casesi): Use expand_binop to subtract the lower bound.
13237
13238 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13239
13240         * config/mips/mips.c (mips_in_small_data_p): Don't handle
13241         TARGET_MIPS16 specially.
13242
13243 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
13244
13245         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
13246         mips_output_aligned_bss.
13247         * config/mips/linux.h: Likewise.
13248         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
13249         * config/mips/mips.c (mips_output_aligned_bss): New function.
13250
13251         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
13252         * config/mips/elf64.h: Likewise.
13253
13254         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
13255         mips_declare_object_name.
13256         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
13257         * config/mips/elf64.h: As for elf.h.
13258         * config/mips/iris6.h: Likewise.
13259         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
13260         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
13261         do...while (0) block.
13262         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
13263         (mips_finish_declare_object): Declare.
13264         * config/mips/mips.c (mips_declare_object_name): New function.
13265         (mips_finish_declare_object): New function.
13266
13267         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
13268         * config/mips/linux.h: Likewise.
13269
13270         * config/mips/mips.c (inside_function): Delete.
13271         (file_in_function_warning, ignore_line_number): Delete.
13272         (mips_output_filename): Don't warn about changing filenames within
13273         a function.
13274         (mips_output_lineno): Update accordingly.
13275         (mips_output_function_prologue): Don't reset the deleted variables.
13276         * config/mips/mips.h (inside_function): Delete.
13277         (file_in_function_warning, ignore_line_number): Delete.
13278
13279         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
13280         * config/mips/elf64.h: Likewise.
13281         * config/mips/openbsd.h: Likewise.
13282         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
13283         * config/mips/linux.h: Likewise.
13284         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
13285         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
13286
13287         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
13288         to the list of include files when using gas.
13289         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
13290         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
13291         * config/mips/elf64.h: Likewise.
13292         * config/mips/iris5.h: Likewise.
13293         * config/mips/linux.h: Likewise.
13294         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
13295         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
13296         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
13297         * config/mips/sdb.h: ...this new file.
13298
13299 2003-07-14  Douglas Rupp  <rupp@gnat.com>
13300
13301         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
13302         argument to getcwd; use fixed buffer instead.
13303
13304 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13305
13306         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
13307         * fixinc/fixinc.wrap: Delete.
13308
13309 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
13310
13311         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
13312         don't have 2.
13313
13314 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
13315
13316         * ggc-page.c (struct globals): Add new fields to keep track of the
13317         total allocated memory and overhead.
13318         (ggc_print_statistics): Print them.
13319         (ggc_alloc): Keep track of the total allocated memory and the
13320         overhead.
13321
13322         * tree.c (dump_tree_statistics): Increase spacing.
13323         (enum tree_node_kind): Move to ...
13324         * tree.h (enum tree_node_kind): ... here.
13325         (tree_node_counts, tree_node_sizes): Declare.
13326
13327 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
13328
13329         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
13330
13331 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13332
13333         PR optimization/11440
13334         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
13335         SIGN_EXTRACT SETs.
13336
13337 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
13338
13339         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
13340         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
13341         (emit_group_load, emit_group_store): Adjust declarations.
13342         Remove most occurrences of #ifdef TREE_CODE.
13343         * expr.c (emit_group_load): Add "type" param, and use
13344         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
13345         aligned accesses if !SLOW_UNALIGNED_ACCESS.
13346         (emit_group_store): Likewise.
13347         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
13348         emit_group_load and emit_group_store calls.
13349         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
13350         BLOCK_REG_PADDING to determine whether we need endian_correction.
13351         (load_register_parameters): Localize vars.  Handle shifting of
13352         small values to the correct end of regs.  Adjust emit_group_load
13353         call.
13354         (expand_call, emit_library_call_value_1): Adjust emit_group_load
13355         and emit_group_store calls.
13356         * function.c (assign_parms): Set mem alignment for stack slots.
13357         Adjust emit_group_store call.  Store values at the "wrong" end
13358         of regs to the stack.  Use BLOCK_REG_PADDING.
13359         (locate_and_pad_parm): Save where_pad.
13360         (expand_function_end): Adjust emit_group_load call.
13361         * stmt.c (expand_value_return): Adjust emit_group_load call.
13362         * Makefile.in (calls.o): Depend on $(OPTABS_H).
13363         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
13364         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
13365         (MUST_PASS_IN_STACK): Define.
13366         (BLOCK_REG_PADDING): Define.
13367         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
13368         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
13369         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
13370         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
13371         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
13372
13373 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
13374
13375         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
13376
13377 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13378
13379         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
13380         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
13381
13382 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13383
13384         PR other/11123
13385         * toplev.c: Don't cut off option names.
13386
13387 2003-07-13  Andreas Jaeger  <aj@suse.de>
13388
13389         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
13390         to integer of different size.
13391
13392 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
13393
13394         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
13395         to (eq (and X 1) 0).
13396
13397 2003-07-13  Andreas Jaeger  <aj@suse.de>
13398
13399         * config.gcc: Add pmmintrin.h for x86_64-*-*.
13400
13401 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
13402
13403         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
13404         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
13405         list.  Move these all together down by cpplib.
13406
13407         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
13408         definition of CPPCHAR_SIGNED_T.
13409
13410         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
13411         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
13412         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
13413
13414         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
13415         * cppinit.c (cpp_create_reader): Likewise.
13416
13417         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
13418         * cpptrad.c: Likewise.  All callers changed.
13419         * cpplib.c: All callers changed.
13420         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
13421         * hashtable.h: Define GTY(x) to nothing here too.
13422
13423 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13424
13425         * stor-layout.c (compute_record_mode): Remove very obsolete test
13426         that forces BLKmode for records with fields crossing word boundary.
13427
13428 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
13429
13430         * Makefile.in: Remove orphan reference to acconfig.h.
13431
13432 2003-07-13  Andreas Jaeger  <aj@suse.de>
13433
13434         * cgraphunit.c: Convert prototypes to ISO C90.
13435
13436 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13437
13438         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
13439         (for OpenBSD).
13440         * fixinc/fixincl.x: Rebuild.
13441
13442 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
13443
13444         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
13445         i?86-*-*.  Use correct name of cache variable.
13446         * configure: Regenerate.
13447
13448 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
13449
13450         * config/alpha/alpha.c: Fix comment typos.
13451         * config/alpha/alpha.md: Likewise.
13452         * config/arm/arm.c: Likewise.
13453         * config/arm/arm.md: Likewise.
13454         * config/arm/lib1funcs.asm: Likewise.
13455         * config/avr/avr.md: Likewise.
13456         * config/arm/README-interworking: Fix typos.
13457
13458 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
13459
13460         * c-format.c: Fix comment formatting.
13461         * c-typeck.c: Likewise.
13462         * coverage.c: Likewise.
13463         * cppcharset.c: Likewise.
13464         * cpplib.c: Likewise.
13465         * dbxout.c: Likewise.
13466         * gcov-io.h: Likewise.
13467         * toplev.c: Likewise.
13468
13469 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13470
13471         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
13472         fix.
13473
13474 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
13475
13476         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
13477         uses three-argument AC_DEFINE so no acconfig.h entries are
13478         needed.
13479         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
13480         which contains the GAS version number as a scaled integer.
13481         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
13482         ability to check for ELF assembler.
13483         (gcc_GAS_CHECK_FEATURE): New macro.
13484         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
13485         assembler feature checks using gcc_GAS_CHECK_FEATURE.
13486         Use three-argument AC_DEFINE everywhere.
13487         * acconfig.h: Deleted.
13488         * config.in, configure: Regenerate.
13489
13490 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13491
13492         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
13493         (on OpenBSD).
13494         * fixinc/fixincl.x: Regenerate.
13495
13496         * fixinc/inclhack.def (gnu_types): Improve comment.
13497
13498 2003-07-12  Andreas Jaeger  <aj@suse.de>
13499
13500         * fp-test.c (main): Use ISO C90 prototype.
13501
13502         * version.c: Remove unneded include of ansidecl.h.
13503
13504         * cgraph.h: Convert prototypes to ISO C90.
13505         * cgraph.c: Likewise.
13506         * fix-header.c: Likewise.
13507         * ra.h: Likewise.
13508         * protoize.c: Likewise.
13509
13510 2003-07-12  Jan Hubicka  <jh@suse.cz>
13511
13512         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
13513         warning.
13514
13515 2003-07-12  Jan Hubicka  <jh@suse.cz>
13516                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13517
13518         * cgraph.c (cgraph_max_uid): New global variable.
13519         (cgraph_node): Set uid field.
13520         (create_edge): Keep inline flags consistent.
13521         (dump_cgraph): Dump more info.
13522         * cgraph.h (struct cgraph_local_info): Remove inline_many and
13523         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
13524         (struct cgraph_global_info): Add insns, calls, cloned_times,
13525         will_be_output.
13526         (struct cgraph_node): Add uid.
13527         (struct cgraph_edge): Add inline_call.
13528         (cgraph_max_uid, cgraph_inline_p): Declare.
13529         * cgraph.c: Include params.h and fibheap.h
13530         (cgraph_mark_functions_to_inline_once): Kill.
13531         (INSNS_PER_CALL): New constant.
13532         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
13533         static variables.
13534         (cgraph_finalize_function): Do not analyze inlining.
13535         (cgraph_finalize_compilation_unit): Set inlining attributes.
13536         (cgraph_mark_functions_to_output): More consistency checks.
13537         (cgraph_optimize_function): Set current_function_decl to NULL.
13538         (cgraph_expand_function): Use new inline flags.
13539         (cgraph_postorder): Expand from cgraph_expand_functions.
13540         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
13541         (cgraph_inlined_into, cgraph_inlined_callees,
13542         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
13543         cgraph_mark_inline, cgraph_check_inline_limits,
13544         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
13545         cgraph_decide_inlining, cgraph_inline_p): New functions.
13546         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
13547         PARAM_INLINE_UNIT_GROWTH): New parameters.
13548         * tree-inline.c (struct inline_data): New field current_decl.
13549         (expand_call_inline): Avoid forward declarations; use
13550         inlinable_function_p.
13551         (optimize_inline_calls): Set id.current_decl.
13552
13553 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
13554
13555         * configure.in: Remove wrongly added definition of
13556         local_prefix.
13557         * configure: Regenerate.
13558
13559 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
13560
13561         * rtl.def (NOTE): Do not use padding.
13562
13563 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
13564
13565         * doc/install.tex: Update required binutils for i?86-*-linux*
13566
13567 2003-07-11  Richard Henderson  <rth@redhat.com>
13568
13569         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
13570
13571 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
13572
13573         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
13574         TRANSLATION_UNIT_DECL as top_level.
13575
13576 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
13577
13578         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
13579         then fall back to cmpstrM.
13580         * builtins.c (expand_builtin_memcmp): Likewise.
13581         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
13582         (s390_expand_cmpmem): ... this.
13583         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
13584         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
13585         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
13586         to s390_expand_cmpmem.
13587         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
13588         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
13589         to cmpmem*.
13590         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
13591         cmpstr* patterns.
13592         * doc/md.texi (cmpstrM): Describe as String compare insn, not
13593         Block compare insn.
13594         (cmpmemM): Add.
13595
13596 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
13597
13598         * config/i386/freebsd.h (SET_ASM_OP): Remove.
13599         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
13600         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
13601          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
13602
13603 2003-07-11  Richard Henderson  <rth@redhat.com>
13604
13605         * function.c (assign_parms): Don't recombine complex args if
13606         fnargs is unchanged from orig_fnargs.
13607         (split_complex_args): Return args without complex before copying.
13608         Re-layout the modified parameters.
13609
13610 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
13611
13612         * regclass.c (choose_hard_reg_mode): Add third argument.
13613         Changed all callers.
13614         * rtl.h (choose_hard_reg_mode): Update declaration.
13615         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13616         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
13617
13618 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
13619
13620         * c-decl.c (finish_decl): Handle 'used' here...
13621         * cgraphunit.c (cgraph_finalize_function): ... and here ...
13622         * c-common.c: (handle_used_attribute): ... not here.
13623
13624         * configure.in (onstep): Support --enable-intermodule.
13625         * Makefile.in (OBJS-common): New.
13626         (OBJS-md): New.
13627         (OBJS-archive): New.
13628         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
13629         (OBJS-onestep): New.
13630         (libbackend.a): Support @onestep@.
13631         (libbackend.o): New.
13632         * configure: Regenerate.
13633
13634         * c-common.h (c_reset_state): New prototype.
13635         (c_parse_file): New prototype.
13636         (finish_file): Move prototype from c-tree.h.
13637         * c-decl.c: Include <hashtab.h>.
13638         (builtin_decls): New.
13639         (current_file_decl): New.
13640         (duplicate_decls): Add extra parameter. Change all callers.  Don't
13641         output duplicate common symbols.
13642         (link_hash_hash): New.
13643         (link_hash_eq): New.
13644         (poplevel): Handle popping of the top level.
13645         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
13646         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
13647         (pushdecl_top_level): Likewise.
13648         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
13649         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
13650         (finish_decl): Handle TRANSLATION_UNIT_DECL.
13651         (merge_translation_unit_decls): New.
13652         (c_write_global_declarations): New.
13653         (c_reset_state): New.
13654         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
13655         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
13656         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
13657         TRANSLATION_UNIT_DECL.
13658         (c_objc_common_finish_file): Call merge_translation_unit_decls.
13659         * c-opts.c (in_fnames): Rename from in_fname.
13660         (c_common_decode_option): Handle multiple input filenames.
13661         (c_common_post_options): Likewise.
13662         (c_common_parse_file): Likewise; also, call c_parse_file rather than
13663         yyparse.
13664         * c-parse.in: Move cleanup code to c_parse_file.
13665         (free_parser_stacks): Move contents to c_parse_file.
13666         (c_parse_file): New.
13667         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
13668         for integer types.
13669         (C_DECL_FILE_SCOPE): New.
13670         (finish_file): Move prototype to c-common.h.
13671         (merge_translation_unit_decls): New prototype.
13672         (comptypes): Add extra parameter to prototype.
13673         (c_write_global_declarations): New prototype.
13674         * c-typeck.c (tagged_types_tu_compatible_p): New.
13675         (function_types_compatible_p): Add extra parameter, change all callers.
13676         (type_lists_compatible_p): Likewise.
13677         (comptypes): Likewise.
13678         (struct tagged_tu_seen): New.
13679         (tagged_tu_seen_base): New.
13680         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
13681         (c_mark_addressable): Remove #if 0 code.
13682         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
13683         comment explaining why it shouldn't have to.
13684         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
13685         options.
13686         * cppinit.c (cpp_read_next_file): New.
13687         (cpp_read_main_file): Use it.
13688         * cpplib.c (undefine_macros): New.
13689         (cpp_undef_all): New.
13690         * cpplib.h (cpp_read_next_file): Prototype.
13691         (cpp_undef_all): Prototype.
13692         * langhooks-def.h (write_global_declarations): Remove prototype.
13693         * toplev.h (write_global_declarations): Add prototype.
13694         * tree.c (decl_type_context): Use switch statement, handle
13695         TRANSLATION_UNIT_DECL.
13696         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
13697         (TRANSLATION_UNIT_DECL): New kind of tree.
13698         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
13699         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
13700         * doc/invoke.texi: Make attempt to document new functionality.
13701
13702         2003-05-19  Per Bothner <bothner@apple.com>
13703
13704         * gcc.c (combine_inputs): New.
13705         (process_command): Set combine_inputs.
13706         (do_spec_1): Handle combine_inputs.
13707         (main): Likewise.
13708
13709 2003-07-10  James E Wilson  <wilson@tuliptree.org>
13710
13711         PR optimization/9745
13712         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
13713         loop_insn_emit_before.
13714         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
13715
13716 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
13717
13718         * cppcharset.c: Fix comment.
13719         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
13720         (EILSEQ): #define to EINVAL if not already defined.
13721         (convert_using_iconv): #if out when !HAVE_ICONV.
13722         (init_iconv_desc): Handle !HAVE_ICONV here...
13723         (cpp_init_iconv): ...not here.
13724
13725 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
13726
13727         * common.opt: More --help messages.
13728         * opts.c (print_help): Use puts().
13729         * toplev.c (f_options): Remove help text.
13730         (display_help): Don't dump f_options.
13731
13732 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
13733
13734         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
13735         Move i?86-*-interix* to the don't-fix list.
13736         * fixinc/fixinc.interix: Delete with extreme prejudice.
13737
13738 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
13739
13740         PR bootstrap/10758
13741         * doc/install.texi: Document requirements for ia64-*-hpux* target.
13742
13743 2003-07-10  Roger Sayle  <roger@eyesopen.com>
13744
13745         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
13746
13747 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
13748
13749         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
13750         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
13751         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
13752         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
13753         convert_no_conversion, convert_using_iconv): New functions.
13754         (APPLY_CONVERSION): New macro.
13755         (struct conversion, conversion_tab): New data structure.
13756         (init_iconv_desc): Check conversion_tab for a custom conversion
13757         primitive before trying to use iconv.
13758         (convert_cset): Deleted.
13759         (cpp_init_iconv): Use UTF- terminology, not UCS-.
13760         (_cpp_destroy_iconv): Update to match.
13761         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
13762         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
13763         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
13764         (_cpp_interpret_string_notranslate): New function, moved here
13765         from cpplib.c.
13766
13767         * cpphash.h (convert_f, struct cset_converter): New types.
13768         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
13769         are now struct cset_converter, not bare iconv_t.
13770         Update prototypes.
13771         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
13772         all callers changed.
13773
13774 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
13775
13776         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
13777         to opts.sh command line.
13778         * opts.sh: Write to temporary files with a move-if-change at the end.
13779
13780 2003-07-10  Denis Chertykov  <denisc@overta.ru>
13781             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13782
13783         * combine.c (gen_binary): Handle the CLOBBER rtx and
13784         don't build a binary operation with it.
13785
13786 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13787
13788         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
13789         store_killed_after, store_killed_before): Keep track of the correct
13790         dependency function to use.
13791
13792 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
13793         * toplev.c (do_compile): Don't try to open dump files before
13794         lang_dependent_init initializes dump_base_name.
13795
13796 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13797
13798         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
13799         Use ARRAY_SIZE.
13800         * config/frv/frv.c (frv_expand_builtin): Likewise.
13801         * config/sh/sh.c (sh_media_init_builtins): Likewise.
13802
13803 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
13804
13805         PR c++/10032
13806         * doc/invoke.texi (C++ Dialect Options): Change documentation of
13807         -fpermissive.
13808
13809 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
13810
13811         * tm.texi (RETURN_ADDR_OFFSET): Document.
13812
13813 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
13814
13815         * gcov-io.h: Update documentation.
13816         (GCOV_UNSIGNED2STRING): New.
13817         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
13818         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
13819         GCOV_TAG_SUMMARY_LENGTH): Adjust.
13820         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
13821         GCOV_TAG_COUNTER_NUM): New.
13822         (GCOV_BLOCK_SIZE): Number of words.
13823         (gcov_var): Adjust buffer type.
13824         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
13825         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
13826         count, not byte count.
13827         (gcov_open): Adjust overread init.
13828         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
13829         gcov_write_string, gcov_write_tag, gcov_write_length,
13830         gcov_write_tag_length): Adjust.
13831         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
13832         (gcov_sync, gcov_seek): Adjust.
13833         * gcov-dump.c (print_usage): Show gcc version only.
13834         (dump_file): Use GCOV_UNSIGNED2STRING.
13835         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
13836         * gcov.c (print_version): Show gcc version only.
13837         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
13838         GCOV_TAG_*_NUM macros.
13839         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
13840         GCOV_TAG_COUNTER_LENGTH.
13841         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
13842         Use GCOV_TAG_COUNTER_NUM.
13843         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
13844         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
13845
13846 2003-07-10  Andreas Schwab  <schwab@suse.de>
13847
13848         * gcov-dump.c (dump_file): Fix missing address operator.
13849
13850 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
13851
13852         PR c/11449
13853         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
13854         of HOST_WIDE_INT.
13855         (fold_single_bit_test): If sign_bit_p() fails, assume that the
13856         bit being tested is not a sign bit.
13857
13858 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
13859
13860         * config/h8300/h8300.md (a peephole2): New.
13861
13862 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
13863
13864         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
13865         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
13866         from ld-linux.so.2 to ld.so.1.
13867         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
13868         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
13869         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
13870         nor -Wl,-rpath-link.
13871         (LIB_SPEC): Add -rpath-link if !static.
13872         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
13873         * config/mn10300/mn10300.c (mn10300_protect_label): New
13874         variable.
13875         * config/mn10300/linux.h (PRINT_OPERAND,
13876         PRINT_OPERAND_ADDRESS): Set it during their execution.
13877         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
13878         mn10300_protect_label is set.
13879         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
13880         -Wl,-rpath-link.
13881         (LIB_SPEC, STARTFILE_SPEC): Define.
13882         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
13883         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
13884         FLOAT_BIT_ORDER_MISMATCH.
13885         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
13886         * config.gcc (am33_2.0-*-linux*): Added.
13887         * config/mn10300/linux.h: New.
13888         * config/mn10300/t-linux: New.
13889
13890 2003-07-10  Andreas Jaeger  <aj@suse.de>
13891
13892         * fold-const.c: Properly wrap prototypes.
13893
13894 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
13895
13896         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
13897         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
13898         Moved from...
13899         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
13900         * config/mn10300/mn10300.h: GTY-declare it.
13901         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
13902         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
13903         prototype.  Use incoming RTL argument.
13904         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
13905         * config/mn10300/mn10300.md (int_label): Move C statements...
13906         (GOTaddr2picreg): ... here.
13907         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
13908         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
13909         * config/mn10300/mn10300.c (mn10300_encode_section_info):
13910         ... here.  New function.
13911         (TARGET_ENCODE_SECTION_INFO): Define to it.
13912         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
13913         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
13914         pattern name.
13915         (mn10300_loadPC): Define as insn splittable after reload.
13916         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
13917         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
13918         be defined in .rodata even in PIC, now that the assembler
13919         supports that.
13920         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
13921         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
13922         symbol take an underscore prefix.
13923         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
13924         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
13925         legitimize_pic_address): Declare.
13926         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
13927         the PIC register as fixed.
13928         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
13929         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
13930         PIC.
13931         (LEGITIMATE_PIC_OPERAND_P): Define.
13932         (PIC_OFFSET_TABLE_REGNUM): Define.
13933         (GOT_SYMBOL_NAME): Define.
13934         (SYMBOLIC_CONST_P): Define.
13935         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
13936         symbols.
13937         (MN10300_GLOBAL_P): Test it.
13938         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
13939         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
13940         * config/mn10300/mn10300.c (print_operand): Handle unspec.
13941         (expand_prologue): Set PIC register.
13942         (call_address_operand): Don't match SYMBOL_REFs in PIC.
13943         (legitimize_address): Call legitimize_pic_address.
13944         (legitimize_pic_address): New fn.
13945         (legitimate_pic_operand_p): New fn.
13946         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
13947         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
13948         UNSPEC_PLT): New constants.
13949         (pop_pic_reg): New insn.
13950         (movsi): Adjust non-PIC addresses.
13951         (builtin_setjmp_receiver): Restore the PIC register.
13952         (casesi): New insn.
13953         (call): Adjust non-PIC addresses.
13954         (int_label, GOTaddr2picreg): New expands.
13955         (am33_loadPC): New insn.
13956         (mn10300_loadPC): New expand.
13957         (call_next_insn): New insn.
13958         (add_GOT_to_pic_reg): New expand.
13959         (symGOT2reg, symGOT2reg_i): New expands.
13960         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
13961         (sym2PIC, sym2PLT): New expands.
13962
13963 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
13964
13965         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
13966         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
13967         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
13968         to flag_unsafe_math_optimizations.
13969         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
13970         * config/mn10300/mn10300.c (expand_prologue): Mark
13971         FP-register-saving insns as frame-related.
13972         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
13973         * config/mn10300/mn10300.c
13974         (mn10300_get_live_callee_saved_regs): Don't search past
13975         LAST_EXTENDED_REGNUM.
13976         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
13977         * config/mn10300/mn10300.md: Remove excessive line breaks from
13978         `@' output patterns that were accounted as additional
13979         alternatives.
13980         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
13981         Re-introduce changes accidentally removed in Richard Sandiford's
13982         2000-12-05's patch.
13983         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
13984         Re-instate am33-2 lost in merge from net GCC.
13985         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
13986         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
13987         floating-point registers.
13988         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
13989         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
13990         pessimizations that had gone in on 2000-05-08.
13991         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
13992         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
13993         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
13994         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
13995         operand 0.
13996         * (movhi): Likewise.
13997         * (movsi): Likewise.
13998         * (movsf): Likewise.
13999         * (movdi): Likewise.
14000         * (movdf): Likewise.
14001         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
14002         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
14003         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
14004         (expand_prologue, expand_epilogue): Save and restore FP regs.
14005         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
14006         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
14007         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
14008         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
14009         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
14010         Do not clobber cc0.
14011         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
14012         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
14013         Discourage the two-argument, longer opcodes.
14014         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
14015         ones.
14016         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
14017         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
14018         * config/mn10300/mn10300.md (cmpsf): New pattern.
14019         (branch): Test mdep.fpCC and output fbCC.
14020         * config/mn10300/mn10300.c (print_operand): Output conditions.
14021         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
14022         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
14023         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
14024         mulsf3, divsf3): Use the `F' constraint for FP values.
14025         * config/mn10300/mn10300.c (const_1f_operand): New function.
14026         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
14027         * config/mn10300/mn10300.md (sqrtsf2): New expand.
14028         (rsqrtsf2): New insn.
14029         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
14030         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
14031         previous check-in.
14032         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
14033         * config/mn10300/mn10300.md (abssf2, negdf2): On
14034         TARGET_AM33_2, expand to...
14035         (abssf2_am33_2, negdf2_am33_2): New insns.
14036         (addsf3, subsf3, mulsf3, divsf3): Likewise.
14037         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
14038         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
14039         movdi, movdf): Added FP regs.
14040         * invoke.texi (-mam33-2, -mno-am33-2): Document.
14041         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
14042         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
14043         New macros.
14044         (REGNO_AM33_2_FP_P): Renamed to...
14045         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
14046         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
14047         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
14048         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
14049         regs from GENERAL_REGS.
14050         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
14051         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
14052         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
14053         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
14054         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
14055         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
14056         as FP_REGS.
14057         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
14058         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
14059         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
14060         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
14061         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
14062         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
14063         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
14064         AM33/2.0 floating-point registers.
14065         (CONDITIONAL_REGISTER_USAGE): Adjust.
14066         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
14067         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
14068         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
14069         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
14070         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
14071         (MULTILIB_DIRNAMES): Likewise.
14072         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
14073         `__AM33_2__' when `-mam33-2' is given.
14074         (TARGET_AM33_2): Define.
14075         (TARGET_SWITCHES): Adjust.
14076         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
14077         when appropriate.
14078
14079 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
14080
14081         * doc/install.texi: Add missing @.
14082
14083 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
14084
14085         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
14086
14087 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
14088
14089         PR/11144
14090         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
14091
14092 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
14093
14094         PR bootstrap/11043
14095         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
14096         "x-crtfini.o" with "crtinit.o", "crtfini.o".
14097
14098         * fixinc/inclhack.def (limits_ifndefs): Add select test.
14099         * fixinc/fixincl.x: Rebuild.
14100
14101         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
14102         * fixinc/fixincl.x: Rebuild.
14103
14104 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
14105
14106         * doc/install.texi (Configuration): Document the valgrind option
14107         to --enable-checking.
14108
14109 2003-07-09  Jan Hubicka  <jh@suse.cz>
14110
14111         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14112
14113 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14114
14115         * c-lex.c (cb_ident): Cast cstr.text to const char *.
14116
14117 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
14118
14119         * gcov-io.h: Update documentation.
14120         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
14121         GCOV_NOTE_MAGIC.
14122         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
14123         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
14124         (struct gcov_var): Change buffer's type. Add endian flag.
14125         (gcov_open): Remove mode in libgcov.
14126         (gcov_magic): Prototype.
14127         * gcov-io.c (from_file): New.
14128         (gcov_open): Clear endian flag.
14129         (gcov_magic): New.
14130         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
14131         pointers.
14132         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
14133         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
14134         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
14135         * gcov-iov.c (main): Correct cast.
14136         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
14137         conversion.
14138         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
14139         (coverage_init): Use GCOV_NOTE_SUFFIX.
14140         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
14141         Rename to gcov_version, and return flag.
14142         (gcov_exit): Use gcov_version.
14143         (__gcov_init): Use gcov_version.
14144         * Makefile.in (coverageexts): Update.
14145         * gcov.c (print_version): Remove endianness conversion.
14146         (create_file_names): Use GCOV_NOTE_SUFFIX.
14147         (read_graph_file): Use gcov_magic.
14148         (read_count_file): Likewise.
14149         * gcov-dump.c (dump_file): Remove endianness conversion, use
14150         gcov_magic.
14151
14152 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
14153
14154         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
14155         coverage is on.
14156         * configure: Regenerated.
14157         * Makefile.in (ALL_CFLAGS): Correct its comment.
14158
14159 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
14160
14161         * fold-const.c (make_range): Do not access operand 1 for a
14162         zero-operand operator.
14163
14164 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
14165
14166         * toplev.c (warn_dummy, W_options): Die.
14167         (display_help): Don't print W_options.
14168         * common.opt: Add W_options help from toplev.c.
14169
14170 2003-07-09  Andreas Jaeger  <aj@suse.de>
14171
14172         * opts.c (wrap_help): Only pass int arguments as arguments to
14173         printf's '*' modifier.  Change argument of function.
14174
14175 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
14176
14177         * doc/invoke.texi: Fix misspelling of "@item".
14178
14179 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
14180
14181         * config/i386/i386.md: Remove an old comment about
14182         NOTICE_UPDATE_CC.
14183
14184 2003-07-09  Jan Hubicka  <jh@suse.cz>
14185
14186         * cgraph.c (cgraph_node_name): New function.
14187         (dump_cgraph): Use it.
14188         * cgraph.h (cgraph_dump_file): Declare.
14189         (cgraph_node_name): Declare.
14190         * cgraphunit.c: Include timevar.h
14191         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
14192         (cgraph_optimize_function): Use TV_INTEGRATION.
14193         (cgraph_mark_local_functions): reorganize dumps.
14194         (cgraph_mark_functions_to_inline_once): Likewise.
14195         (cgraph_optimize): Likewise; use timevar.
14196         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
14197         * toplev.c (dump_file_index): Add DFI_cgraph.
14198         (dump_file_info): Likewise.
14199         (cgraph_dump_file): New global variable.
14200         (do_compile): Open and close cgraph dump.
14201         * invoke.texi (-d): Document new flag; renumber.
14202
14203 2003-07-08  Roger Sayle  <roger@eyesopen.com>
14204
14205         PR c/11370
14206         * calls.c (emit_call_1): Don't bother popping the arguments off of
14207         the stack after a noreturn function call;  The adjustment is dead.
14208         (expand_call): Likewise.
14209
14210 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
14211
14212         * expr.c (MOVE_MAX_PIECES): Move from here...
14213         * defaults.h (MOVE_MAX_PIECES): ... to here.
14214
14215 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
14216
14217         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
14218
14219 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14220
14221         * genattr.c (internal_dfa_insn_code): Don't prototype.
14222         * genattrtab.c (attr_desc): Add `static_p' field.
14223         (expand_units): Make blockage range and ready cost functions
14224         static.
14225         (write_attr_get): Don't add extern prototypes in C file.  Mark
14226         static functions as appropriate.
14227         (find_attr, make_internal_attr): Initialize static_p.
14228         * genattrtab.h (ATTR_STATIC): New macro.
14229         * genautomata.c (output_internal_reset_func): Mark output function
14230         as inline.
14231         (make_internal_dfa_insn_code_attr): Mark output function as static.
14232
14233 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14234
14235         * genattrtab.h: Add new macros for attr `special' flags.
14236         * genattrtab.c (attr_desc): Reorder/resize fields better.
14237         Use attr `special' macros in all calls to make_internal_attr.
14238         * genautomata.c: Likewise.
14239
14240 2003-07-09  Jan Hubicka  <jh@suse.cz>
14241
14242         * c-common.c (c_estimate_num_insns_1): New static function.
14243         (c_estimate_num_insns): New global function.
14244         * c-common.h (DECL_NUM_STMTS): Rename to...
14245         (DECL_ESTIMATED_INSNS): ... this.
14246         (c_estimate_num_insns): Declare.
14247         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
14248         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
14249         * c-semantics.c (add_stmt): Do not account statements.
14250         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
14251         New.
14252         * langhooks.h (lang_hooks_for_tree_inlining): Add
14253         estimate_num_insns
14254         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
14255         to 100.
14256         (max-inline-insns): set to 300.
14257         (min-inline-insns): set to 10.
14258         * tree-inline.c (struct inline_data): Rename inlined_stmts to
14259         inlined-insns.
14260         (INSNS_PER_STMT): Kill.
14261         (inlinable_function_p): Compute and store body size.
14262         (expand_call_inline): Likewise.
14263         (optimize_inline_calls): Likewise.
14264
14265 2003-07-08  James E Wilson  <wilson@tuliptree.org>
14266
14267         PR target/10021
14268         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
14269         loop over new variable t2 instead of t.
14270
14271 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
14272
14273         PR bootstrap/11455
14274         * config/i386/winnt.c: Replace use of error(), warning() with
14275         error_with_decl(), warning_with_decl(),  throughout.
14276
14277 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
14278
14279         * opts.c (wrap_help): Use unsigned int, not size_t.
14280
14281 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
14282
14283         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
14284         as .file/.loc directives are incompatible with linker relaxation.
14285
14286 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
14287
14288         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
14289         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
14290         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
14291         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
14292         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
14293         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
14294         Escape { and } characters which are not part of range expressions.
14295         * fixinc/fixincl.x: Regenerate.
14296         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
14297
14298 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
14299
14300         PR c/1687
14301         * tree-inline.c (find_alloca_call): Use
14302         walk_tree_without_duplicates, instead of walk_tree.
14303         (find_builtin_longjmp_call): Likewise.
14304         * c-objc-common.c (c_cannot_inline_fn): Likewise.
14305         * c-semantics.c (find_reachable_label): Likewise.
14306
14307 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
14308
14309         PR c/11420
14310         * config/i386/i386.c (ix86_check_movabs): New function.
14311         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
14312         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
14313         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
14314
14315 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
14316
14317         * Makefile.in (install-po): Cope with empty CATALOGS.
14318
14319 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
14320
14321         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14322         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
14323         (SECTION_FUNCTION_TEMPLATE): Delete.
14324         * config/mips/elf.h: As for elf64.h.
14325         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
14326         * config/mips/linux.h: As for elf.h
14327         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14328         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
14329         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
14330         of in_sdata from current_section_name and current_section_flags.
14331         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14332         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
14333         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
14334         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
14335         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
14336         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
14337         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
14338         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
14339         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
14340         (override_options): Remove setting of MASK_GPOPT.
14341         (mips_output_external): Use mips_in_small_data_p to check whether a
14342         symbol needs an .extern directive.  Don't emit such directives for
14343         TARGET_EXPLICIT_RELOCS.
14344         (mips_declare_object): Update accordingly.
14345         (mips_select_rtx_section): Call named_section rather than
14346         SMALL_DATA_SECTION.
14347         (mips_select_section): Use default_elf_section_section for everything
14348         except .text string constants.
14349         (mips_in_small_data_p): New function.
14350         (mips_encode_section_info): Remove small data handling.
14351         (mips_unique_section): Delete.
14352         (iris6_section_type_flags): New function.
14353         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
14354
14355 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14356
14357         PR Target/11453
14358         * pa.md: Disparage all mtsar constraints.
14359         (extzv, extv, insv): Don't fail on length of {32|64}.
14360
14361 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
14362
14363         * system.h: Poison MAP_CHARACTER.
14364         * config/i370/i370-protos.h (mvs_map_char): Delete.
14365         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
14366         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
14367         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
14368
14369 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
14370
14371         * toplev.c (randomize): Correct call to time().
14372
14373 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
14374
14375         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
14376         REG_EQUIV notes as well.
14377
14378 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
14379
14380         * doc/md.texi: Fix the description of addmodecc.
14381
14382 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
14383
14384         * Makefile.in (top_builddir): Set to "..", not ".".
14385         (INTLLIBS, INTLDEPS): Delete.
14386         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
14387         (LIBDEPS): Add $(LIBICONV_DEP).
14388         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
14389         (INCLUDES): Replace -I../intl with @INCINTL@.
14390         ($(top_builddir)/intl/libintl.a): Delete rule.
14391         (stage2-start, stage3-start, stage4-start, stageprofile-start,
14392         stagefeedback-start): Use $$ for variable to be evaluated by
14393         shell, not make.
14394         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
14395         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
14396         * aclocal.m4: sinclude ../config/progtest.m4.  Add
14397         contents of lcmessage.m4 from gettext distro.
14398         * configure.in: Check for wchar.h and setlocale.  Set
14399         LIBICONV_DEP to the empty string and substitute it.
14400         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
14401         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
14402         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
14403         in $LIBINTL, to avoid linking it twice.
14404         * configure, config.in: Regenerate.
14405
14406 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
14407
14408         * fixinc/mkfixinc.sh: Remove winnt support.
14409         * fixinc/fixinc.winnt: Delete with extreme prejudice.
14410
14411 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
14412
14413         * Makefile.in: Update.
14414         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
14415         * c.opt: Update documentation.
14416         * common.opt: Add some help text.
14417         * opts.c: Include intl.h.
14418         (wrap_help, print_help): New.
14419         (find_opt, handle_option, common_handle_option): opt_text now
14420         contains the '-'.  Use print_help to output help.
14421         * opts.h (struct cl_option): New member "help".
14422         * opts.sh: Update to handle help text output and to prepend
14423         options with '-'.
14424         * toplev.c (display_help): Remove some help text.
14425
14426 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
14427             Fariborz Jahanian  <fjahanian@apple.com>
14428
14429         * configure.in: Test for PowerPC mfcr field support in assembler.
14430         * config.in, configure: Regenderated.
14431
14432         * config/rs6000/power4.md: Add mfcrf reservation.
14433         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
14434         * config/rs6000/rs6000.c (mfcr_operation): Define.
14435         (print_operand): Add 'Q' case for mfcrf.
14436         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
14437         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
14438         (movcc_internal1): Emit optional field operand for mfcr and set
14439         "type" attribute appropriately.
14440         (mfcr SCC): Likewise.
14441         (movesi_from_cr_one): New.
14442
14443 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14444
14445         * config/i386/i386.md: Correct check-in of incorrect version.
14446
14447 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14448
14449         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
14450         adjacent stdio calls.
14451         * c-decl.c (c_print_identifier): Likewise.
14452         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
14453         * print-rtl.c (print_rtx): Likewise.
14454         * print-tree.c (print_node_brief, print_node): Likewise.
14455         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
14456
14457         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
14458         * config.in, configure: Regenerated.
14459
14460 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14461
14462         PR target/10979
14463         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
14464         Changed to define_expand patterns that copy operand[1] to prevent
14465         it from being clobbered before emitting an atan2?f3_1 insn.
14466         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
14467         patterns that actually specify the behaviour of x87's FPATAN.
14468
14469 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
14470
14471         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
14472         clearing of SYMBOL_FLAG_LOCAL bit.
14473         If vcall_offset fits into signed 16-bit immediate, use
14474         one instruction for both addition and load.
14475
14476 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
14477
14478         * opts.c (common_handle_option): Correct handling of the
14479         -falign- switches that do and don't take an argument.
14480
14481 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14482
14483         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
14484         today.
14485         (pushhi1_h8300hs): Likewise.
14486
14487 2003-07-07  Andreas Jaeger  <aj@suse.de>
14488
14489         * genextract.c: Convert remaining prototypes to ISO C90.
14490
14491         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
14492         * fold-const.c (fold_single_bit_test): Likewise.
14493         * diagnostic.c (default_diagnostic_finalizer): Likewise.
14494         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
14495
14496         * gengtype.c (write_array): Generate ISO C90 prototypes.
14497
14498         * genflags.c (gen_proto): Generate ISO C90 prototypes.
14499
14500 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14501
14502         PR optimization/11059
14503         * expr.c (can_store_by_pieces): Return true if length is zero.
14504         (store_by_pieces): If length is zero and endp is two, abort,
14505         othwerise, if length is zero and endp is not two, return "to".
14506         (clear_by_pieces): Do nothing if length is zero.
14507         (clear_storage): Do nothing if length is zero.
14508         (store_constructor): Simplify code when size is zero, or the
14509         target has already been cleared.  This avoids emitting a
14510         blockage instruction when initializing empty structures.
14511
14512 2003-07-07  Andreas Jaeger  <aj@suse.de>
14513
14514         * mips-tfile.c: Convert prototypes to ISO C90.
14515         * mips-tdump.c: Convert prototypes to ISO C90.
14516
14517 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
14518
14519         * rtl.h (emit_line_note): Take a location_t.
14520         (emit_line_note_force): Remove.
14521         (set_file_and_line_for_statement): Take a location_t.
14522         * tree.g (emit_line_note): Take a location_t.
14523         * emit-rtl.c (emit_line_note): Take a location_t.
14524         (emit_line_note_force): Remove.
14525         * function.c (init_function_start): Adjust emit_line_note call.
14526         (expand_function_end): Use force_next_line_note, not
14527         emit_line_note_force.
14528         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
14529         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
14530         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
14531         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
14532         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
14533         genrtl_continue_stmt, genrtl_switch_stmt,
14534         genrtl_asm_stmt): Likewise.
14535         * expr.c (expand_expr): Likewise.
14536         * integrate.c (expand_inline_function): Likewise.
14537         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
14538         (expand_decl_init): Adjust emit_line_note call.
14539
14540 2003-07-07  Dale Johannesen  <dalej@apple.com>
14541
14542         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
14543
14544 2003-07-07  Andreas Jaeger  <aj@suse.de>
14545
14546         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
14547         * config/i386/i386.c: Likewise.
14548
14549 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14550
14551         * config/h8300/h8300.md: Use gen_int_mode instead of
14552         GEN_INT (trunc_int_for_mode (...)).
14553
14554 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14555
14556         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
14557         2 bytes and then subtract 2 from the stack pointer.
14558         (pushhi1_h8300hs): Likewise.
14559
14560 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
14561
14562         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
14563         -frandom-seed.
14564         * configure: Regenerated.
14565         * Makefile.in: Remove extraneous comment.
14566         * toplev.c (randomize): Protect against potential multiple calls.
14567         * doc/invoke.texi (-frandom-seed): Document use for in coverage
14568         files.
14569
14570 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14571             Eric Botcazou  <ebotcazou@libertysurf.fr>
14572
14573         PR optimization/11198
14574         * alias.c (objects_must_conflict_p): Return 1 if the types have
14575         the same alias set, not if the alias sets only conflict.
14576
14577 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
14578
14579         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
14580         (convert_cset): Change inbuf to type ICONV_CONST char.
14581         * Makefile.in (LIBS): Add LIBICONV.
14582
14583         * doc/invoke.texi (-falign-functions): Document that
14584         when n is zero then a machine-dependent default is used.
14585         (-falign-labels): Document that when n is zero then a
14586         machine-dependent default is used and that -falign-labels =1
14587         is equivalent to -fno-align-labels.
14588         (-falign-loops): Likewise.
14589         (-falign-jumps): Likewise.
14590
14591 2003-07-06  Art Haas  <ahaas@airmail.net>
14592
14593         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
14594         initializer syntax.
14595
14596 2003-07-06  James E Wilson  <wilson@tuliptree.org>
14597
14598         PR optimization/9812
14599         * rtl.h (mem_for_const_double): Delete prototype.
14600         * varasm.c (mem_for_const_double): Delete function.
14601         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
14602         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
14603         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
14604         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
14605         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
14606         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
14607         comment about confused support for XFmode constants.
14608
14609 2003-07-07  Jan Hubicka  <jh@suse.cz>
14610
14611         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
14612
14613 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
14614
14615         * config/h8300/h8300.c: Fix comment typos.
14616         * config/h8300/h8300.md: Likewise.
14617         * config/i386/athlon.md: Likewise.
14618         * config/i386/i386.c: Likewise.
14619         * config/i386/pentium.md: Likewise.
14620         * config/ia64/ia64.c: Likewise.
14621         * config/ia64/itanium1.md: Likewise.
14622         * config/ia64/itanium2.md: Likewise.
14623         * config/m32r/m32r.md: Likewise.
14624         * config/m68hc11/m68hc11.c: Likewise.
14625         * config/mcore/mcore.c: Likewise.
14626         * config/mips/sr71k.md: Likewise.
14627         * config/mips/t-iris5-as: Likewise.
14628         * config/mmix/mmix.h: Likewise.
14629         * config/ns32k/ns32k.h: Likewise.
14630         * config/ns32k/NOTES: Fix a typo.
14631
14632 2003-07-06  Andreas Jaeger  <aj@suse.de>
14633
14634         * stmt.c: Convert remaining prototypes to ISO C90.
14635         * cfglayout.c: Likewise.
14636         * dbxout.c: Likewise.
14637         * gcc.c: Likewise.
14638         * genemit.c: Likewise.
14639
14640         * basic-block.h: Convert prototypes to ISO C90.
14641         * c-parse.in: Likewise.
14642         * c-pragma.h: Likewise.
14643         * c-typeck.c: Likewise.
14644         * cfghooks.h: Likewise.
14645         * cfgloopanal.c: Likewise.
14646         * dbxout.h: Likewise.
14647         * debug.h: Likewise.
14648         * dwarf2asm.h: Likewise.
14649         * gcov.c: Likewise.
14650         * gengtype-lex.l: Likewise.
14651         * sched-int.h: Likewise.
14652         * timevar.c: Likewise.
14653
14654 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
14655
14656         * c-common.h (c_comon_handle_filename,
14657         c_common_missing_arguement): New.
14658         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14659         LANG_HOOKS_MISSING_ARGUMENT): New.
14660         * c-opts.c (missing_arg): Rename c_common_missing_argument,
14661         update to be an appropriate langhook.
14662         (c_common_handle_option): Don't handle filenames.
14663         (c_common_handle_filename): New.
14664         * hooks.c (hook_void_constcharptr,
14665         hook_bool_constcharptr_size_t_false): New.
14666         * hooks.h (hook_void_constcharptr,
14667         hook_bool_constcharptr_size_t_false): New.
14668         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
14669         LANG_HOOKS_MISSING_ARGUMENT): New.
14670         (LANG_HOOKS_INITIALIZER): Update.
14671         * langhooks.h (struct lang_hooks): Add handle_filename and
14672         missing_argument.
14673         * opts.c (handle_option): Don't handle filenames here, but ...
14674         (handle_options): ... here.
14675         (common_handle_option): Don't handle missing arguments here.
14676         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14677         LANG_HOOKS_MISSING_ARGUMENT): New.
14678
14679 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
14680
14681         * Makfile.in: Remove traces of mbchar.
14682         * c-parse.in (MULTIBYTE_CHARS): Remove.
14683         * config.in (MULTIBYTE_CHARS): Remove.
14684         * configure: Remove --enable-mbchar.
14685         * configure.in: Remove --enable-mbchar.
14686         * mbchar.c, mbchar.h: Remove.
14687         * system.h: Poison MULTIBYTE_CHARS.
14688         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
14689         * config/linux.h (MULTIBYTE_CHARS): Remove.
14690         * config/svr4.h (MULTIBYTE_CHARS): Remove.
14691         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
14692
14693 2003-07-06  Andreas Jaeger  <aj@suse.de>
14694
14695         * varray.c (varray_check_failed): Fix typo.
14696
14697         * unroll.c: Convert prototypes to ISO C90.
14698         * varasm.c: Likewise.
14699         * varray.c: Likewise.
14700         * varray.h: Likewise.
14701         * vmsdbgout.c: Likewise.
14702         * xcoffout.c: Likewise.
14703         * xcoffout.h: Likewise.
14704
14705 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14706
14707         * gcov-io.h: Add a local time stamp.
14708         (struct gcov_info): Add stamp field.
14709         (gcov_truncate): New.
14710         * coverage.c (read_counts_file): Skip the stamp.
14711         (coverage_begin_output): Write the stamp.
14712         (build_gcov_info): Declare and init the stamp.
14713         (coverage_finish): Only unlink data file, if stamp is zero.
14714         * gcov-dump.c (dump_file): Dump the stamp.
14715         * gcov.c (bbg_stamp): New.
14716         (release_structures): Clear bbg_stamp.
14717         (read_graph_file): Read stamp.
14718         (read_count_file): Check stamp.
14719         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
14720
14721 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14722
14723         * tree.h (default_flag_random_seed): Remove.
14724         * toplev.h (local_tick): Declare.
14725         * tree.c (flag_random_seed, default_flag_random_seed): Move to
14726         toplev.c.
14727         (append_random_chars): Don't call default_flag_random_seed.
14728         * toplev.c (flag_random_seed): Define here. Set local_tick.
14729         (local_tick): Define.
14730         (randomize): New, moved from tree.c.
14731         (print_switch_values): Adjust.
14732         (toplev_main): Call randomize.
14733
14734 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14735
14736         * tree.h (crc32_string): Declare.
14737         * tree.c (append_random_chars): Remove.
14738         (crc32_string): New.
14739         (get_file_function_name_long): Use crc32_string here.
14740
14741 2003-07-06  Andreas Jaeger  <aj@suse.de>
14742
14743         * gcc.c: Convert prototypes to ISO C90.
14744         * gcc.h: Likewise.
14745         * gcov-dump.c: Likewise.
14746         * gcov-iov.c: Likewise.
14747         * gcse.c: Likewise.
14748         * genattrtab.h: Likewise.
14749         * ggc.h: Likewise.
14750         * global.c: Likewise.
14751         * graph.c: Likewise.
14752         * graph.h: Likewise.
14753         * hosthooks.h: Likewise.
14754         * hooks.h: Likewise.
14755         * hooks.c: Likewise.
14756         * hashtable.h: Likewise.
14757         * hashtable.c: Likewise.
14758         * haifa-sched.c: Likewise.
14759         * integrate.h: Likewise.
14760         * integrate.c: Likewise.
14761         * input.h: Likewise.
14762         * ifcvt.c: Likewise.
14763         * jump.c: Likewise.
14764         * langhooks-def.h: Likewise.  Add extern to prototypes.
14765         * langhooks.c: Likewise.
14766         * langhooks.h: Likewise.
14767         * lcm.c: Likewise.
14768         * local-alloc.c: Likewise.
14769         * loop-init.c: Likewise.
14770         * loop-unroll.c: Likewise.
14771         * loop-unswitch.c: Likewise.
14772         * loop.c: Likewise.
14773         * loop.h: Likewise. Add extern to prototypes.
14774         * machmode.h: Likewise.
14775         * main.c: Likewise.
14776         * mbchar.c: Likewise.
14777         * mbchar.h: Likewise.
14778         * mkdeps.c: Likewise.
14779         * mkdeps.h: Likewise.
14780         * optabs.c: Likewise.
14781         * optabs.h: Likewise.
14782         * output.h: Likewise.
14783         * gccspec.c: Likwise.
14784         * postreload.c: Likewise.
14785         * prefix.c: Likewise.
14786         * prefix.h: Likewise.
14787         * print-rtl.c: Likewise.
14788         * print-tree.c: Likewise.
14789         * profile.c: Likewise.
14790         * read-rtl.c: Likewise.
14791         * real.c: Likewise.
14792         * real.h: Likewise.
14793         * recog.c: Likewise.
14794         * recog.h: Likewise.
14795         * reg-stack.c: Likewise.
14796         * regclass.c: Likewise.
14797         * regmove.c: Likewise.
14798         * regrename.c: Likewise.
14799         * regs.h: Likewise.
14800         * reload.c: Likewise.
14801         * reload.h: Likewise.
14802         * reload1.c: Likewise.
14803         * reorg.c: Likewise.
14804         * resource.c: Likewise.
14805         * resource.h: Likewise.
14806         * rtl-error.c: Likewise.
14807         * rtl.c: Likewise.
14808         * rtl.h: Likewise.
14809         * rtlanal.c: Likewise.
14810         * sbitmap.c: Likewise.
14811         * sbitmap.h: Likewise.
14812         * scan-decls.c: Likewise.
14813         * scan.c: Likewise.
14814         * sched-deps.c: Likewise.
14815         * sched-ebb.c: Likewise.
14816         * sched-int.h: Likewise.
14817         * sched-rgn.c: Likewise.
14818         * sched-vis.c: Likewise.
14819         * sibcall.c: Likewise.
14820         * simplify-rtx.c: Likewise.
14821         * sreal.c: Likewise.
14822         * sreal.h: Likewise.
14823         * ssa-ccp.c: Likewise.
14824         * ssa-dce.c: Likewise.
14825         * ssa.c: Likewise.
14826         * ssa.h: Likewise.
14827         * stack.h: Likewise.
14828         * stmt.c: Likewise.
14829         * stor-layout.c: Likewise.
14830         * stringpool.c: Likewise.
14831         * target.h: Likewise.
14832         * timevar.c: Likewise.
14833         * timevar.h: Likewise.
14834         * tlink.c: Likewise.
14835         * tracer.c: Likewise.
14836         * tree-inline.c: Likewise.
14837         * tree-inline.h: Likewise.
14838         * tree.c: Likewise.
14839         * tree.h: Likewise.
14840
14841 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14842
14843         * combine.c (nonzero_bits1): Fix a warning.
14844
14845 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14846
14847         * config/h8300/h8300.c (compute_mov_length): Correct the
14848         length of loading CONST0_RTX (SFmode).
14849
14850 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14851
14852         * toplev.c (output_clean_symbol_name): Remove.
14853         * toplev.h (output_clean_symbol_name): Remove.
14854         * config/alpha/alpha.c (unicosmk_output_module_name): Use
14855         lbasename & clean_symbol_name.
14856
14857 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14858
14859         * ggc.h: Follow spelling conventions.
14860         * config/i386/i386.c: Likewise.
14861         * config/i386/winnt.c: Likewise.
14862         * config/rs6000/rs6000.c: Likewise.
14863
14864 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14865
14866         * bt-load.c: Fix comment typos.
14867         * c-incpath.c: Likewise.
14868         * cfg.c: Likewise.
14869         * cfgcleanup.c: Likewise.
14870         * cfgloop.h: Likewise.
14871         * cfgloopmanip.c: Likewise.
14872         * cfgrtl.c: Likewise.
14873         * diagnostic.h: Likewise.
14874         * dwarfout.c: Likewise.
14875         * emit-rtl.c: Likewise.
14876         * et-forest.c: Likewise.
14877         * et-forest.h: Likewise.
14878         * expr.c: Likewise.
14879         * gcse.c: Likewise.
14880         * genattr.c: Likewise.
14881         * jump.c: Likewise.
14882         * langhooks.h: Likewise.
14883         * local-alloc.c: Likewise.
14884         * loop-unroll.c: Likewise.
14885         * loop-unswitch.c: Likewise.
14886         * ra-build.c: Likewise.
14887         * regclass.c: Likewise.
14888         * regmove.c: Likewise.
14889         * rtl.def: Likewise.
14890         * rtlanal.c: Likewise.
14891         * sched-ebb.c: Likewise.
14892         * sched-rgn.c: Likewise.
14893         * simplify-rtx.c: Likewise.
14894         * ssa.c: Likewise.
14895         * tracer.c: Likewise.
14896         * tree.c: Likewise.
14897
14898 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
14899
14900         * cppcharset.c: Use the correct return type for the fallback iconv
14901         macro.
14902
14903 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14904
14905         Blame to Jan Hubicka  <jh@suse.cz>
14906         * cfglayout.c (record_effective_endpoints): Split insns before
14907         first basic block correctly.
14908
14909 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14910
14911         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
14912         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
14913         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
14914
14915 2003-07-05  Andreas Jaeger  <aj@suse.de>
14916
14917         * genattrtab.c (write_attr_get): Revert part of last patch to
14918         always write out a prototype.
14919
14920         * genemit.c (gen_split): Readd lost unused attributes in last
14921         patch.
14922
14923 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14924
14925         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
14926         different from header.
14927
14928 2003-07-05  Andreas Schwab  <schwab@suse.de>
14929
14930         * config/m68k/m68k.c: Remove code protected by CRDS.
14931         * config/m68k/m68k.md: Likewise.
14932
14933 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
14934
14935         PR driver/11417
14936         * c-opts.c (permit_fortran_options): New.
14937         (c_common_init_options): Accept fortran front end options if
14938         it looks like we might be preprocessing Fortran.
14939         (c_common_handle_option): Don't reject switch if permit_fotran_options.
14940
14941 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14942
14943         * genattr.c (internal_dfa_insn_code): Output prototype.
14944         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
14945         * genautomata.c: Likewise.
14946         * genconditions.c: Likewise.
14947         * genemit.c: Likewise.
14948         * genextract.c: Likewise.
14949         * gengenrtl.c: Likewise.
14950         * gengtype.c: Likewise.
14951         * genopinit.c: Likewise.
14952         * genoutput.c: Likewise.
14953         * genpeep.c: Likewise.
14954         * genrecog.c: Likewise.
14955
14956 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
14957
14958         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
14959         (struct cpp_options): Add narrow_charset, wide_charset,
14960         bytes_big_endian fields.  Remove EBCDIC field.
14961         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
14962
14963         * cpphash.h: Include <iconv.h> if we have it, otherwise
14964         provide a dummy definition of iconv_t.
14965         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
14966         (_cpp_valid_ucn): Update prototype.
14967         (_cpp_destroy_iconv): New prototype.
14968
14969         * doc/cpp.texi: Document character set handling.
14970         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
14971         * doc/extend.texi: Delete entire section on multiline strings.
14972         Rewrite section on __FUNCTION__ etc now that these are
14973         variables in C.
14974
14975         * cppucnid.tab, cppucnid.pl: New files.
14976         * cppucnid.h: New generated file.
14977         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
14978         (iconv_open, iconv, iconv_close): Provide dummy definitions
14979         if !HAVE_ICONV.
14980         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
14981         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
14982         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
14983         cpp_interpret_string, narrow_str_to_charconst,
14984         wide_str_to_charconst): New.
14985         (ucn_valid_in_identifier): Use a binary search through the
14986         ucnranges table defined in cppucnid.h, not a long chain of if
14987         statements.
14988         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
14989         character names are only valid in C++ and C99" to a warning.
14990         Issue the "meaning of \[uU] is different in traditional C"
14991         warning here.  Take care not to let iconv see an invalid UCS
14992         value if we get a malformed UCN.  Issue an error if we don't
14993         have iconv.
14994         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
14995         cpp_interpret_string to do the heavy lifting.
14996
14997         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
14998         narrow_charset, wide_charset fields of options structure.
14999         (cpp_destroy): Call _cpp_destroy_iconv.
15000         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
15001         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
15002         (cpp_interpret_charconst): Moved to cppcharset.c.
15003         * cpplib.c (dequote_string): Delete.
15004         (interpret_string_notranslate): New.
15005         (do_line, do_linemarker): Use interpret_string_notranslate.
15006
15007         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
15008
15009         * c-common.c (fname_string, combine_strings): Delete.
15010         * c-common.h (fname_string, combine_strings): Delete prototypes.
15011         * c-lex.c (ignore_escape_flag): Delete.
15012         (cb_ident): Use cpp_interpret_string, not lex_string.
15013         (get_nonpadding_token): New function.
15014         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
15015         Adjust calls to lex_string.  Don't write *value twice.
15016         (lex_string): Now handles string constant concatenation.
15017         Most of the work handed off to cpp_interpret_string.
15018         Call fix_string_type here.
15019         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
15020         FUNC_NAME, throughout.
15021         (OBJC_STRING): New token type.
15022         (primary:STRING): No need to call fix_string_type here.
15023         (primary:objc_string): Make that OBJC_STRING.
15024         (objc_string nonterminal): Delete.
15025         (yylexname): Delete code to handle fake string constants.
15026         (yylexstring): Delete entirely.
15027         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
15028         to handle CPP_ATSIGN.
15029
15030         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
15031         * c-opts.c (missing_arg, c_common_handle_option): Handle
15032         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
15033         (c_common_init): Set cpp_opts->bytes_big_endian, not
15034         cpp_opts->EBCDIC.  Call cpp_init_iconv.
15035         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
15036         (TARGET_EBCDIC): Delete default definition.
15037
15038         * objc/objc-act.c (build_objc_string_object): No need to
15039         handle string constant concatenation.
15040
15041 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
15042
15043         * doc/install.texi: Fix typos.
15044         * doc/invoke.texi: Likewise.
15045         * doc/tm.texi: Likewise.
15046
15047 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
15048
15049         * config/pa/fptr.c: Fix comment typos.
15050         * config/pa/pa-64.h: Likewise.
15051         * config/pa/pa.c: Likewise.
15052         * config/pa/pa.h: Likewise.
15053         * config/rs6000/603.md: Likewise.
15054         * config/rs6000/7xx.md: Likewise.
15055         * config/rs6000/darwin.h: Likewise.
15056         * config/rs6000/freebsd.h: Likewise.
15057         * config/rs6000/rs6000.c: Likewise.
15058         * config/rs6000/rs6000.md: Likewise.
15059         * config/rs6000/spe.h: Likewise.
15060
15061 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
15062
15063         * config/s390/2064.md: Change GNU CC to GCC.
15064         * config/s390/2084.md: Likewise.
15065         * config/s390/fixdfdi.h: Likewise.
15066         * config/s390/linux.h: Likewise.
15067         * config/s390/s390-modes.def: Likewise.
15068         * config/s390/s390-protos.h: Likewise.
15069         * config/s390/s390.c: Likewise.
15070         * config/s390/s390.h: Likewise.
15071         * config/s390/s390.md: Likewise.
15072         * config/s390/s390x.h: Likewise.
15073
15074 2003-07-04  Jeff Law  <law@redhat.com>
15075
15076         PR c/11428
15077         * expr.c (do_store_flag): Pass in the correct result type
15078         when calling fold_single_bit_test.
15079         * fold-const.c (fold_single_bit_test): Use result_type for the
15080         result when folding a sign bit test.
15081
15082 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
15083
15084         * opts.c (common_handle_options): Negate sense of -falign- switches.
15085
15086 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
15087
15088         * Makefile.in: Replace PWD with PWD_COMMAND.
15089
15090 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15091
15092         * cfgloopanal.c (count_strange_loop_iterations): New static function.
15093         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
15094         Handle strange loops.
15095
15096 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
15097
15098         * install.texi: Even the g77 manpage is derived from
15099         the full g77 manual.
15100
15101 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
15102
15103         * ABOUT-NLS: Delete.
15104         * intl: Delete entire directory.
15105         * aclocal.m4: Include ../config/gettext.m4.  Delete
15106         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
15107         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
15108         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
15109         Remove intl/Makefile from all_outputs.
15110         * configure, config.in: Regenerate.
15111         * Makefile.in: Expunge all references to intl subdirectory.
15112         Add -I../intl to INCLUDES.
15113         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
15114
15115 2003-07-04  Roger Sayle  <roger@eyesopen.com>
15116
15117         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
15118         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
15119
15120 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
15121
15122         PR c++/5287, PR c++/7910, PR c++/11021
15123         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
15124         dllimport attribute if function is defined at declaration, but
15125         report error instead. Likewise for dllimport'd variable
15126         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
15127         declared within functions, Report error if dllimport or dllexport
15128         symbol is not global.
15129         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
15130         if defined after declaration or if inlined. Don't allow definition
15131         of static data members of C++ classes. Don't dllimport virtual
15132         methods.
15133         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
15134         (i386_pe_mark_dllimport): Remove unnecessary checks.
15135         (i386_pe_encode_section_info): Warn if the dllimport attribute
15136         and symbol prefix have been instantiated and then overridden.
15137
15138         * doc/extend.texi: Document dllimport and dllexport attributes.
15139
15140         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
15141
15142 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
15143
15144         * config/kaos.h (CPP_PREDEFINES): Delete.
15145         (TARGET_OS_CPP_BUILTINS): New.
15146
15147 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15148
15149         * c-aux-info.c: Include toplev.h after c-tree.h.
15150         * c-common.c: Likewise.
15151         (GCC_DIAG_STYLE): Undef.
15152         * c-semantics.c (GCC_DIAG_STYLE): Define.
15153         * c-tree.h (GCC_DIAG_STYLE): Likewise.
15154         * diagnostic.h (inform): Move prototype to toplev.h.
15155         * jump.c: Include diagnostic.h before toplev.h.
15156         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
15157         (warning, error, fatal_error, pedwarn, sorry, inform,
15158         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
15159
15160 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15161
15162         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
15163         at all if edge is not specified.
15164         (can_copy_bbs_p, copy_bbs): New.
15165         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
15166         * cfgloop.c (get_loop_body): Comment more precisely.
15167         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
15168         (scale_bbs_frequencies): Fix comment typo.
15169         (can_duplicate_loop_p): Use can_copy_bbs_p.
15170         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
15171
15172 2003-07-03  Devang Patel <dpatel@apple.com>
15173
15174         * c-opts.c (c_common_parse_file): Remove extra
15175         debug_hooks->start_source_file call.
15176
15177 2003-07-03  Roger Sayle  <roger@eyesopen.com>
15178
15179         * real.c (real_trunc, real_floor, real_ceil): New functions
15180         to implement trunc, floor and ceil respectively.
15181         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
15182         * builtins.c (integer_valued_real_p): New function to test if
15183         a floating point expression has an integer valued result.
15184         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
15185         foo(x) where foo is an integer rounding function.  Similarly,
15186         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
15187         (double)(int)x when both foo and bar are integer rounding
15188         functions and we don't need to honor errno.
15189         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
15190         New functions to fold trunc, floor and ceil.
15191         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
15192         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
15193         to fold BUILT_IN_CEIL*.
15194         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
15195         the remaining integer rounding functions.
15196
15197 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
15198
15199         * config/sparc/sparc.c (function_arg_partial_nregs): Use
15200         SPARC_INT_ARG_MAX to determine where to split unnamed
15201         complex FP arguments.
15202
15203 2003-07-03  Jan Hubicka  <jh@suse.cz>
15204
15205         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
15206         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
15207         (merge_blocks_move_predecessor_nojumps,
15208          merge_blocks_move_successor_nojumps): Use merge_blocks.
15209         (try_optimize_cfg): Use merge_blocks_move.
15210         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
15211         (merge_blocks_nomove): Rename to rtl_merge_blocks.
15212         (cfg_layout_create_basic_block): New.
15213         (rtl_can_merge_blocks): New.
15214         (cfg_layout_split_block): Do not alloc aux by hand.
15215         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
15216         merge_blocks.
15217         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
15218         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
15219         * cfgloopmanip.c (loop_split_edge_with): Likewise.
15220         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
15221
15222         * basic-block.h (basic_block_def): Add field 'rbi'.
15223         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
15224         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
15225         * cfg.c (entry_exit_blocks): Add new field.
15226         * cfglayout.c: Include alloc-pool.h;
15227         (cfg_layout_pool): New.
15228         (record_effective_endpoints, fixup_reorder_chain,
15229         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
15230         of rbi.
15231         (cfg_layout_initialize_rbi): New function.
15232         (cfg_layout_initialize): Use it.
15233         (cfg_layout_finalize): Clear rbi fields.
15234         * cfglayout.h (RBI): Kill.
15235         (cfg_layout_initialize_rbi): Declare.
15236         * cfgloopmanip.c (copy_bbs): Use rbi.
15237         (record_exit_edges): Likewise.
15238         (duplicate_loop_to_header_edge): Likewise.
15239         * cfgrtl.c (cfg_layout_create_basic_block): Use
15240         cfg_layout_initialize_rbi.
15241         (cfg_layout_split_block): Use rbi.
15242         (cfg_layout_delete_block): Likewise.
15243         * loop-init.c (loop_optimizer_finalize): Likewise.
15244         * loop-unswitch.c (unswitch_loop): Likewise.
15245         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
15246
15247         * cfgrtl.c: Update comments.
15248         (try_redirect_by_replacing_jump): New argument.
15249         (redirect_branch_edge): Break out from ...
15250         (rtl_redirect_edge_and_branch): ... this one.
15251         (update_cfg_after_block_merging): Break out from ...
15252         (rtl_merge_blocks): ... this one.
15253         (cfg_layout_split_edge): New.
15254         (cfg_layout_merge_blocks): New.
15255         (cfg_layout_can_merge_blocks_p): New.
15256         (cfg_layout_redirect_edge_and_branch): Reorganize.
15257         (cfg_layout_rtl_cfg_hooks): Fill in.
15258         (cfg_layout_delete_block): Kill barriers.
15259         * cfganal.c (can_fallthru): Deal with exit blocks
15260         * cfglayout.c (cfg_layout_function_header): New function
15261         (record_effective_endpoints): Record function header.
15262         (fixup_reorder_chain): Fixup dead jumptables; place header
15263
15264         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
15265         * bb-reorder.c (cfg_layout_initialize): Update call.
15266         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
15267         edges in cfglayout mode.
15268         * cfglayout.c (cleanup_unconditional_jumps): Kill.
15269         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
15270         * cfglayout.h (cfg_layout_initialize): Update prototype.
15271         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
15272         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
15273         * flow.c (propagate_block): Do not crash when basic block ends
15274         by first insn in the chain.
15275         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
15276         do loop discovery.
15277         * tracer.c (tracer): Update call of cfg_layout_initialize.
15278
15279 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15280
15281         * Makefile.in: Use dependency variables in lieu of explicit
15282         files throughout.
15283
15284 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
15285
15286         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
15287         * tree.h: ...to here.
15288
15289 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
15290
15291         * config/s390/2064.md: Fix comment typos.
15292         * config/s390/2084.md: Likewise.
15293         * config/s390/s390.c: Likewise.
15294         * config/s390/s390.md: Likewise.
15295         * config/sh/sh.c: Likewise.
15296         * config/sh/sh.h: Likewise.
15297         * config/sh/sh.md: Likewise.
15298         * config/sparc/sparc.c: Likewise.
15299         * config/sparc/sparc.h: Likewise.
15300         * config/sparc/sparc.md: Likewise.
15301         * config/stormy16/stormy16.c: Likewise.
15302         * config/stormy16/stormy16.h: Likewise.
15303         * config/stormy16/stormy-abi: Fix a typo.
15304
15305 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
15306
15307         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
15308
15309 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15310
15311         * config/mips/mips.h (save_argv): Delete.
15312
15313 2003-07-03  Roger Sayle  <roger@eyesopen.com>
15314
15315         PR target/10700
15316         * fold-const.c (extract_muldiv_1): There's nothing that can be done
15317         if the expression is a SAVE_EXPR.
15318
15319 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
15320
15321         * config/m32r/m32r.c: Fix comment typos.
15322         * config/m68hc11/m68hc11.c: Likewise.
15323         * config/m68hc11/m68hc11.h: Likewise.
15324         * config/m68k/m68k.c: Likewise.
15325         * config/mcore/mcore.c: Likewise.
15326         * config/mcore/mcore.h: Likewise.
15327         * config/mcore/mcore.md: Likewise.
15328         * config/mips/mips.c: Likewise.
15329         * config/mips/mips.h: Likewise.
15330         * config/mips/mips.md: Likewise.
15331         * config/mips/netbsd.h: Likewise.
15332         * config/mn10300/mn10300.c: Likewise.
15333
15334 2003-07-03  Andreas Schwab  <schwab@suse.de>
15335
15336         * dbxout.c (pending_bincls): Move decl down inside
15337         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
15338
15339 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15340
15341         * rtl.h (NOTE_DATA): Refer to whole union.
15342         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
15343
15344 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
15345
15346         PR optimization/11381
15347         * simplify-rtx.c (simplify_relational_operation): Check that
15348         two equal operands have no side-effects before simplifying
15349         the comparison.
15350
15351 2003-07-02  Jeff Law  <law@redhat.com>
15352
15353         * expr.c (do_store_flag): Remove special case folding for
15354         single bit tests.  Instead call back into the commonized folder
15355         routine.
15356         * fold-const.c (fold_single_bit_test): New function, mostly
15357         extracted from do_store_flag, with an additional case extracted
15358         from fold.
15359         (fold): Call fold_single_bit_test appropriately.
15360         * tree.h (fold_single_bit_test): Prototype.
15361
15362 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
15363
15364         * system.h: Include filenames.h.
15365         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
15366         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
15367         define based on HAVE_DOS_BASED_FILE_SYSTEM.
15368         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
15369         * config/i386/xm-mingw32.h: Don't define
15370         HAVE_DOS_BASED_FILE_SYSTEM,
15371         DIR_SEPARATOR, or DIR_SEPARATOR_2.
15372         * doc/hostconfig.texi: Update to match.
15373
15374         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
15375         config/i386/cygwin.h:
15376         Use IS_ABSOLUTE_PATH throughout.
15377         * gcc.c (DIR_UP): Delete, unused.
15378         * protoize.c (IS_SAME_PATH): Define in terms of
15379         FILENAME_CMP.
15380         (is_abspath): Delete.
15381
15382 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
15383
15384         * config/i386/emmintrin.h: Fix comment typos.
15385         * config/i386/i386.c: Likewise.
15386         * config/i386/i386.h: Likewise.
15387         * config/i386/sco5.h: Likewise.
15388         * config/ia64/ia64.c: Likewise.
15389         * config/ia64/itanium2.md: Likewise.
15390
15391 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
15392
15393         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
15394         DBX_USE_BINCL.
15395         (emit_bincl_stab): Same.
15396         (emit_pending_bincls): Same.
15397
15398 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
15399
15400         * config/h8300/h8300.c (compute_mov_length): Fix the length of
15401         loading CONST0_RTX (SFmode).
15402         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
15403         'G' to CONST0_RTX (SFmode).
15404         * config/h8300/h8300.md (movsf_h8300): Change the first
15405         constraint to 'G'.
15406         (movsf_h8300h): Likewise.
15407
15408 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
15409
15410         * c-common.h (c_common_init_options): New prototype.
15411         * c-opts.c (deferred_size): Remove.
15412         (defer_opt): Array is now pre-allocated.
15413         (c_common_init_options): Pre-allocate deferred_opts.  Make
15414         lang_flags unsigned.
15415         (push_command_line_options): Free deferred_opts.
15416         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
15417         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
15418         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
15419         * langhooks.h (struct lang_hooks): New prototype for init_options.
15420         * main.c (main): Cast argv.
15421         * opts.c (handle_option, handle_options): Update prototypes.
15422         (decode_options): save_argc, save_argv are not global.  Constify.
15423         * opts.h (decode_options): New prototype.
15424         * toplev.c (general_init): New protoype.
15425         (save_argv): Make static.
15426         (save_argc): Remove.
15427         (print_switch_values, general_init): Constify.
15428         (toplev_main): Save argv.
15429         * toplev.h (toplev_main): Update prototype.
15430         (save_argc, save_argv): Remove.
15431
15432 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
15433
15434         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
15435         (emit_bincl_stab): Same.
15436         (emit_pending_bincls): Same.
15437
15438 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15439
15440         PR c++/11072
15441         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
15442
15443 2003-07-02  Andreas Schwab  <schwab@suse.de>
15444
15445         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
15446
15447 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
15448
15449         PR optimization/11210
15450         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
15451         about the behaviour with regard to bitfields.
15452         * fold-const (decode_field_reference): Record outermost type in
15453         case the expression is a NOP. Strip all NOPs. Set the signedness
15454         to that of the outermost type (if any) when the bitsize is equal
15455         to the size of the type.
15456
15457 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
15458
15459         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
15460         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
15461         (adddi3_internal_3, addsi3_internal_2): Likewise.
15462
15463 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
15464
15465         * config/mips/mips.c (machine_function): Add new fields:
15466         ignore_hazard_length_p and all_noreorder_p.
15467         (mips_flag_delayed_branch): New variable.
15468         (override_options): Treat '/' as an operand punctuation character.
15469         Set up mips_flag_delayed_branch.
15470         (print_operand): Handle '/'.
15471         (mips_output_function_prologue): Put the whole function in
15472         .set noreorder and .set nomacro if all_noreorder_p is true.
15473         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
15474         (mips16_optimize_gp): Remove "first insn" parameter.
15475         (mips16_lay_out_constants): New function, split out from mips_reorg.
15476         (mips_avoid_hazard, mips_avoid_hazards): New functions.
15477         (mips_reorg): For mips16 code, call mips16_lay_out_constant
15478         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
15479         do delayed-branch scheduling followed by hazard detection.
15480         (mips_adjust_insn_length): Only account for hazards if
15481         !ignore_hazard_length_p.
15482         (mips_output_load_label): Add a nop to the o32 sequence if
15483         the target suffers from load delays.
15484         (mips_output_conditional_branch): Add %/ to the end of branches.
15485         (mips_output_division): Fill the branch delay slot with %#.
15486         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
15487         instructions.  End all other %* branches with %/.
15488         (ffssi2, ffsdi2): Fix lengths.
15489         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
15490         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
15491         (fix_truncsfsi2_macro): Likewise.
15492         (mov_lwl): Set hazard to "none".
15493         (ashldi3_internal): Fill the branch delay slot with %#.
15494         (ashrdi3_internal, lshrdi3_internal): Likewise.
15495         (exception_receiver): Explicitly set $28.
15496         (hazard_nop): New pattern.
15497
15498 2003-07-02  Jan Hubicka  <jh@suse.cz>
15499
15500         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
15501         before calling tree_inlinable_function_p.
15502
15503 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15504
15505         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
15506         <internal/stdio_core.h> too.
15507         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
15508         <internal/wchar_core.h> too.
15509         Substitute va_list uses in inline definition.
15510         * fixinc/fixincl.x: Regenerate.
15511
15512 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15513
15514         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
15515         Undef before redefinition.
15516         (LABEL_AFTER_LOC): Likewise.
15517         (DEFAULT_SIGNED_CHAR): Likewise.
15518         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
15519         Fix IRIX spelling.
15520
15521         * config/mips/iris3.h: Remove, unused.
15522         * config/mips/iris4.h: Likewise.
15523
15524         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
15525
15526         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
15527         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
15528         target_cpu_default.
15529
15530         * config/mips/iris5.h: Move explicit includes ...
15531         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
15532
15533         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
15534         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15535         tm_defines.
15536
15537         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
15538         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15539         target_cpu_default.
15540
15541         * config/mips/iris6.h: Fix IRIX spelling.
15542         (MULTILIB_DEFAULTS): Undef before redefinition.
15543
15544         * config/mips/iris6.h: Move explicit includes ...
15545         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
15546
15547 2003-07-02  Jan Hubicka  <jh@suse.cz>
15548
15549         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
15550         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
15551         Use next_needed field instead of aux to maintain the queue.
15552         * cgraph.h (cgraph_node): Add next_needed.
15553         (cgraph_varpool_node): Add next_needed; remove aux.
15554         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
15555
15556 2003-07-02  Jan Hubicka  <jh@suse.cz>
15557
15558         * cgraphunit.c (cgraph_finalize_function): Set finalized.
15559         (cgraph_finalize_function): Do not examine inlinablility.
15560         (cgraph_finalize_compilation_unit): Do it here.
15561         * cgraph.h (cgraph_local_info): Add finalized field.
15562
15563 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15564
15565         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
15566         (gt_pch_restore): Likewise.
15567
15568 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15569
15570         * config/alpha/alpha.c: Fix comment typos.
15571         * config/alpha/elf.h: Likewise.
15572         * config/arm/arm.c: Likewise.
15573         * config/arm/arm.h: Likewise.
15574         * config/arm/arm.md: Likewise.
15575         * config/arm/t-arm-coff: Likewise.
15576         * config/arm/t-strongarm-pe: Likewise.
15577         * config/arm/xscale-elf.h: Likewise.
15578         * config/avr/avr.h: Likewise.
15579
15580 2003-07-01  Jeff Law  <law@redhat.com>
15581
15582         * stmt.c (any_pending_cleanups): Remove another redundant test.
15583
15584 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
15585             J"orn Rennecke <joern.rennecke@superh.com>
15586
15587         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
15588         for MEM case.
15589
15590 2003-07-01  Devang Patel  <dpatel@apple.com>
15591
15592         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
15593         (binclstatus): New.
15594         (struct dbx_file): New members - bincl_status, pending_bincl_name and
15595         prev.
15596         (pending_bincls): New.
15597         (dbxout_init): Initialize new dbx_file members.
15598         (dbxout_start_source_file): Same.
15599         (emit_bincl_stab): New function.
15600         (emit_pending_bincls): Same.
15601         (emit_pending_bincls_if_required): Same.
15602         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
15603         processed.
15604         (dbxout_begin_block): Emit pending BINCL stabs.
15605         (dbxout_end_block): Same.
15606         (dbxout_function_decl): Same.
15607         (dbxout_continue): Same.
15608         (dbxout_type): Same.
15609         (dbxout_class_name_qualifiers): Same.
15610         (dbxout_symbol): Same.
15611         (dbxout_symbol_location): Same.
15612         (dbxout_parms): Same.
15613
15614 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15615
15616         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
15617         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
15618
15619 2003-07-01  Andreas Jaeger  <aj@suse.de>
15620
15621         * fold-const.c: Convert prototypes to ISO C90.
15622         * function.c: Likewise.
15623         * function.h: Likewise.
15624
15625 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15626
15627         * doc/contrib.texi: Fix typos.
15628         * doc/invoke.texi: Likewise.
15629         * doc/passes.texi: Likewise.
15630         * doc/sourcebuild.texi: Likewise.
15631         * doc/tm.texi: Likewise.
15632
15633 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15634
15635         * basic-block.h: Fix comment typos.
15636         * bb-reorder.c: Likewise.
15637         * c-format.c: Likewise.
15638         * cfgcleanup.c: Likewise.
15639         * cfghooks.h: Likewise.
15640         * cfgloop.c: Likewise.
15641         * cfgloopmanip.c: Likewise.
15642         * cfgrtl.c: Likewise.
15643         * cgraph.h: Likewise.
15644         * cgraphunit.c: Likewise.
15645         * combine.c: Likewise.
15646         * convert.c: Likewise.
15647         * dbxout.c: Likewise.
15648         * df.c: Likewise.
15649         * df.h: Likewise.
15650         * diagnostic.c: Likewise.
15651         * dwarf2out.c: Likewise.
15652         * et-forest.h: Likewise.
15653         * flow.c: Likewise.
15654         * fold-const.c: Likewise.
15655         * function.h: Likewise.
15656         * gcov-io.h: Likewise.
15657         * gcov.c: Likewise.
15658         * gcse.c: Likewise.
15659         * genautomata.c: Likewise.
15660         * ggc-common.c: Likewise.
15661         * ggc-page.c: Likewise.
15662         * loop-unroll.c: Likewise.
15663         * loop-unswitch.c: Likewise.
15664         * loop.c: Likewise.
15665         * mips-tfile.c: Likewise.
15666         * optabs.c: Likewise.
15667         * ra-build.c: Likewise.
15668         * ra-colorize.c: Likewise.
15669         * ra-rewrite.c: Likewise.
15670         * ra.h: Likewise.
15671         * regmove.c: Likewise.
15672         * reload.c: Likewise.
15673         * rtlanal.c: Likewise.
15674         * sched-ebb.c: Likewise.
15675         * sched-int.h: Likewise.
15676         * sched-vis.c: Likewise.
15677         * sreal.c: Likewise.
15678         * ssa-ccp.c: Likewise.
15679         * ssa.c: Likewise.
15680         * toplev.c: Likewise.
15681         * tree-inline.c: Likewise.
15682         * value-prof.c: Likewise.
15683         * value-prof.h: Likewise.
15684
15685 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15686
15687         * rtl.h (emit_line_note_after): Remove.
15688         (emit_note_copy_after, emit_note_copy): New.
15689         * emit-rtl.c (reorder_insns_with_line_notes): Replace
15690         emit_line_note_after with emit_note_copy_after.
15691         (emit_insn_after_with_line_notes): Likewise.
15692         (emit_line_note_after): Kill.
15693         (emit_note_copy_after): New.
15694         (emit_note_copy): New.
15695         * function.c (emit_return_into_block): Use emit_note_copy_after.
15696         (thread_prologue_and_epilogue_insns): Likewise.
15697         * integrate.c (expand_inline_function): Use emit_note_copy.
15698         (copy_insn_list): Likewise.
15699         * unroll.c (copy_loop_body): Likewise.
15700         * cfglayout.c (duplicate_insn_chain): Likewise.
15701
15702 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15703
15704         * c-tree.h (define_label): Replace filename and lineno arguments
15705         with a location_t.
15706         * c-decl.c (poplevel): Adjust define_label call.
15707         (pop_label_level): Likewise.
15708         (define_label): Replace filename and lineno arguments with a
15709         location_t.
15710         (store_parm_decls): Use DECL_SOURCE_LOCATION.
15711         * c-parse.in (label): Adjust define_label call.
15712
15713 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
15714
15715         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
15716         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
15717         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
15718         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
15719         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
15720
15721 2003-07-01  Andreas Jaeger  <aj@suse.de>
15722
15723         * final.c: Convert prototypes to ISO C90.
15724         * flow.c: Likewise.
15725         * flags.h: Likewise.
15726         * gcov-io.c: Likewise.
15727         * gcov-io.h: Likewise.
15728
15729 See ChangeLog.9 for earlier changes.